# HG changeset patch
# User cin
# Date 2021-04-26 12:47:10
# Node ID 28af686e24f7946f34802aca38bbe415380e0c88
# Parent abef3ebaa230b48a972cb0099e5ec52558d43210
Fixed promise rejection when there is not specified error handler in the reaction.
FIXED SPELLING IN THE XML CONTAINER CONFIGURATION
signleton->singleton
Code cleanup
Update tests make them working on dotnet core
diff --git a/Implab.ServiceHost.Test/Implab.ServiceHost.Test.csproj b/Implab.ServiceHost.Test/Implab.ServiceHost.Test.csproj
--- a/Implab.ServiceHost.Test/Implab.ServiceHost.Test.csproj
+++ b/Implab.ServiceHost.Test/Implab.ServiceHost.Test.csproj
@@ -1,29 +1,28 @@
-
- netcoreapp2.0;net46
- /usr/lib/mono/4.5/
-
-
-
- netcoreapp2.0;net46
-
-
-
- false
-
+
+ net5.0
+
+ false
+
-
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
-
-
-
-
+
\ No newline at end of file
diff --git a/Implab.ServiceHost/Implab.ServiceHost.csproj b/Implab.ServiceHost/Implab.ServiceHost.csproj
--- a/Implab.ServiceHost/Implab.ServiceHost.csproj
+++ b/Implab.ServiceHost/Implab.ServiceHost.csproj
@@ -6,11 +6,11 @@
The configurable application host.
Provides simple and flexible Xml configuration for UnityContainer.
- 2012-2018 Sergey Smirnov
- 1.0.3
- https://bitbucket.org/wozard/implabnet/src/v3/Implab/license.txt
- https://bitbucket.org/wozard/implabnet
- https://bitbucket.org/wozard/implabnet
+ 2012-2021 Sergey Smirnov
+ 1.0.4
+ https://code.implab.org/implab/ImplabNet/files/default/Implab/license.txt
+ https://code.implab.org/implab/ImplabNet/
+ https://code.implab.org/implab/ImplabNet/
mercurial
Implab;Xml configuration;IoC;Unity container
diff --git a/Implab.ServiceHost/src/Unity/AbstractRegistration.cs b/Implab.ServiceHost/src/Unity/AbstractRegistration.cs
--- a/Implab.ServiceHost/src/Unity/AbstractRegistration.cs
+++ b/Implab.ServiceHost/src/Unity/AbstractRegistration.cs
@@ -1,7 +1,6 @@
using System;
using System.Xml.Serialization;
using Unity.Lifetime;
-using Unity.Registration;
namespace Implab.ServiceHost.Unity
{
@@ -18,7 +17,7 @@ namespace Implab.ServiceHost.Unity
get; set;
}
- [XmlElement("signleton", typeof(SingletonLifetimeElement))]
+ [XmlElement("singleton", typeof(SingletonLifetimeElement))]
[XmlElement("context", typeof(ContextLifetimeElement))]
[XmlElement("container", typeof(ContainerLifetimeElement))]
[XmlElement("hierarchy", typeof(HierarchicalLifetimeElement))]
diff --git a/Implab.ServiceHost/src/Unity/ContainerConfigurationSchema.cs b/Implab.ServiceHost/src/Unity/ContainerConfigurationSchema.cs
--- a/Implab.ServiceHost/src/Unity/ContainerConfigurationSchema.cs
+++ b/Implab.ServiceHost/src/Unity/ContainerConfigurationSchema.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Reflection;
using System.Xml;
using System.Xml.Serialization;
using Implab.Components;
diff --git a/Implab.ServiceHost/src/Unity/ProvidesElement.cs b/Implab.ServiceHost/src/Unity/ProvidesElement.cs
--- a/Implab.ServiceHost/src/Unity/ProvidesElement.cs
+++ b/Implab.ServiceHost/src/Unity/ProvidesElement.cs
@@ -8,7 +8,7 @@ namespace Implab.ServiceHost.Unity {
[XmlAttribute("name")]
public string RegistrationName { get; set; }
- [XmlElement("signleton", typeof(SingletonLifetimeElement))]
+ [XmlElement("singleton", typeof(SingletonLifetimeElement))]
[XmlElement("context", typeof(ContextLifetimeElement))]
[XmlElement("container", typeof(ContainerLifetimeElement))]
[XmlElement("hierarchy", typeof(HierarchicalLifetimeElement))]
diff --git a/Implab.ServiceHost/src/Unity/SingletonLifetimeElement.cs b/Implab.ServiceHost/src/Unity/SingletonLifetimeElement.cs
--- a/Implab.ServiceHost/src/Unity/SingletonLifetimeElement.cs
+++ b/Implab.ServiceHost/src/Unity/SingletonLifetimeElement.cs
@@ -1,7 +1,6 @@
using Unity.Lifetime;
-namespace Implab.ServiceHost.Unity
-{
+namespace Implab.ServiceHost.Unity {
public class SingletonLifetimeElement : LifetimeElement {
public override LifetimeManager GetLifetime(ContainerBuilder builder) {
return new SingletonLifetimeManager();
diff --git a/Implab.Test/Implab.Test.csproj b/Implab.Test/Implab.Test.csproj
--- a/Implab.Test/Implab.Test.csproj
+++ b/Implab.Test/Implab.Test.csproj
@@ -1,24 +1,24 @@
-
- netcoreapp2.0;net46
- /usr/lib/mono/4.5/
-
+
+ net5.0
-
- netcoreapp2.0;net46
-
+ false
+
-
- false
-
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
-
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/Implab/Implab.csproj b/Implab/Implab.csproj
--- a/Implab/Implab.csproj
+++ b/Implab/Implab.csproj
@@ -7,8 +7,8 @@
JSON pull-parser, ECMA-style promises, lightweight synchonization routines Signal
and SharedLock, Trace helpers on top of System.Diagnostics, ObjectPool etc.
- 2012-2018 Sergey Smirnov
- 3.0.14
+ 2012-2021 Sergey Smirnov
+ 3.0.16
https://bitbucket.org/wozard/implabnet/src/v3/Implab/license.txt
https://bitbucket.org/wozard/implabnet
https://bitbucket.org/wozard/implabnet
@@ -20,7 +20,7 @@
-
+
diff --git a/Implab/src/AbstractEvent.cs b/Implab/src/AbstractEvent.cs
--- a/Implab/src/AbstractEvent.cs
+++ b/Implab/src/AbstractEvent.cs
@@ -1,8 +1,6 @@
using System;
using Implab.Parallels;
using System.Threading;
-using System.Reflection;
-using System.Diagnostics;
namespace Implab {
///
diff --git a/Implab/src/Automaton/IAlphabet.cs b/Implab/src/Automaton/IAlphabet.cs
--- a/Implab/src/Automaton/IAlphabet.cs
+++ b/Implab/src/Automaton/IAlphabet.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.Collections.Generic;
namespace Implab.Automaton {
///
diff --git a/Implab/src/Automaton/IDFATableBuilder.cs b/Implab/src/Automaton/IDFATableBuilder.cs
--- a/Implab/src/Automaton/IDFATableBuilder.cs
+++ b/Implab/src/Automaton/IDFATableBuilder.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
namespace Implab.Automaton {
public interface IDFATableBuilder : IDFATable, ICollection {
diff --git a/Implab/src/Automaton/IndexedAlphabetBase.cs b/Implab/src/Automaton/IndexedAlphabetBase.cs
--- a/Implab/src/Automaton/IndexedAlphabetBase.cs
+++ b/Implab/src/Automaton/IndexedAlphabetBase.cs
@@ -1,8 +1,5 @@
-using Implab;
-using System;
+using System;
using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
namespace Implab.Automaton {
///
diff --git a/Implab/src/CustomEqualityComparer.cs b/Implab/src/CustomEqualityComparer.cs
--- a/Implab/src/CustomEqualityComparer.cs
+++ b/Implab/src/CustomEqualityComparer.cs
@@ -1,9 +1,5 @@
-using Implab;
-using System;
+using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace Implab {
///
diff --git a/Implab/src/Diagnostics/Trace.cs b/Implab/src/Diagnostics/Trace.cs
--- a/Implab/src/Diagnostics/Trace.cs
+++ b/Implab/src/Diagnostics/Trace.cs
@@ -2,12 +2,11 @@
#define TRACE
using System;
-using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
+
+#if NETFX_TRACE_BUG
+ using System.Threading;
+#endif
namespace Implab.Diagnostics {
///
diff --git a/Implab/src/Diagnostics/TraceRegistry.cs b/Implab/src/Diagnostics/TraceRegistry.cs
--- a/Implab/src/Diagnostics/TraceRegistry.cs
+++ b/Implab/src/Diagnostics/TraceRegistry.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using Implab.Parallels;
namespace Implab.Diagnostics {
diff --git a/Implab/src/Diagnostics/TraceSourceChannel`1.cs b/Implab/src/Diagnostics/TraceSourceChannel`1.cs
--- a/Implab/src/Diagnostics/TraceSourceChannel`1.cs
+++ b/Implab/src/Diagnostics/TraceSourceChannel`1.cs
@@ -1,6 +1,5 @@
using System;
using System.Threading;
-using TraceSource = System.Diagnostics.TraceSource;
namespace Implab.Diagnostics {
///
diff --git a/Implab/src/Formats/CharMap.cs b/Implab/src/Formats/CharMap.cs
--- a/Implab/src/Formats/CharMap.cs
+++ b/Implab/src/Formats/CharMap.cs
@@ -1,10 +1,7 @@
using Implab.Automaton;
-using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
namespace Implab.Formats {
public class CharMap : IAlphabet {
diff --git a/Implab/src/Formats/FastInpurScanner.cs b/Implab/src/Formats/FastInpurScanner.cs
--- a/Implab/src/Formats/FastInpurScanner.cs
+++ b/Implab/src/Formats/FastInpurScanner.cs
@@ -1,11 +1,6 @@
using Implab.Automaton;
-using System;
-using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
namespace Implab.Formats {
diff --git a/Implab/src/Formats/Grammar.cs b/Implab/src/Formats/Grammar.cs
--- a/Implab/src/Formats/Grammar.cs
+++ b/Implab/src/Formats/Grammar.cs
@@ -1,5 +1,4 @@
-using Implab;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using Implab.Automaton;
diff --git a/Implab/src/Formats/InputScanner.cs b/Implab/src/Formats/InputScanner.cs
--- a/Implab/src/Formats/InputScanner.cs
+++ b/Implab/src/Formats/InputScanner.cs
@@ -1,10 +1,5 @@
using Implab.Automaton;
-using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
namespace Implab.Formats {
public class InputScanner {
diff --git a/Implab/src/Formats/Json/JsonReader.cs b/Implab/src/Formats/Json/JsonReader.cs
--- a/Implab/src/Formats/Json/JsonReader.cs
+++ b/Implab/src/Formats/Json/JsonReader.cs
@@ -7,7 +7,6 @@ using System.Linq;
using Implab.Components;
using System.Collections.Generic;
using System.Text;
-using System.Globalization;
namespace Implab.Formats.Json {
///
diff --git a/Implab/src/Formats/Json/JsonScanner.cs b/Implab/src/Formats/Json/JsonScanner.cs
--- a/Implab/src/Formats/Json/JsonScanner.cs
+++ b/Implab/src/Formats/Json/JsonScanner.cs
@@ -1,9 +1,6 @@
-using System;
-using System.Globalization;
-using Implab.Automaton;
+using Implab.Automaton;
using System.Text;
using Implab.Components;
-using System.IO;
namespace Implab.Formats.Json {
///
diff --git a/Implab/src/Formats/Json/JsonStringScanner.cs b/Implab/src/Formats/Json/JsonStringScanner.cs
--- a/Implab/src/Formats/Json/JsonStringScanner.cs
+++ b/Implab/src/Formats/Json/JsonStringScanner.cs
@@ -1,8 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace Implab.Formats.Json {
public class JsonStringScanner : JsonScanner {
diff --git a/Implab/src/Formats/Json/JsonTextScanner.cs b/Implab/src/Formats/Json/JsonTextScanner.cs
--- a/Implab/src/Formats/Json/JsonTextScanner.cs
+++ b/Implab/src/Formats/Json/JsonTextScanner.cs
@@ -1,9 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
+using System.IO;
using System.Text;
-using System.Threading.Tasks;
namespace Implab.Formats.Json {
public class JsonTextScanner : JsonScanner {
diff --git a/Implab/src/Formats/Json/StringTranslator.cs b/Implab/src/Formats/Json/StringTranslator.cs
--- a/Implab/src/Formats/Json/StringTranslator.cs
+++ b/Implab/src/Formats/Json/StringTranslator.cs
@@ -1,11 +1,5 @@
-using Implab;
-using Implab.Formats;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
+using System.Diagnostics;
using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace Implab.Formats.Json {
///
diff --git a/Implab/src/IPromise.cs b/Implab/src/IPromise.cs
--- a/Implab/src/IPromise.cs
+++ b/Implab/src/IPromise.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
namespace Implab {
public interface IPromise {
diff --git a/Implab/src/IPromiseT.cs b/Implab/src/IPromiseT.cs
--- a/Implab/src/IPromiseT.cs
+++ b/Implab/src/IPromiseT.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Implab {
+namespace Implab {
public interface IPromise : IPromise {
void Then(IResolvable next);
diff --git a/Implab/src/Parallels/AsyncQueue.cs b/Implab/src/Parallels/AsyncQueue.cs
--- a/Implab/src/Parallels/AsyncQueue.cs
+++ b/Implab/src/Parallels/AsyncQueue.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System;
using System.Collections;
-using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace Implab.Parallels {
diff --git a/Implab/src/Parallels/SharedLock.cs b/Implab/src/Parallels/SharedLock.cs
--- a/Implab/src/Parallels/SharedLock.cs
+++ b/Implab/src/Parallels/SharedLock.cs
@@ -1,6 +1,5 @@
using System;
using System.Threading;
-using System.Diagnostics;
namespace Implab.Parallels {
///
diff --git a/Implab/src/Parallels/Signal.cs b/Implab/src/Parallels/Signal.cs
--- a/Implab/src/Parallels/Signal.cs
+++ b/Implab/src/Parallels/Signal.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Threading;
+using System.Threading;
namespace Implab.Parallels {
///
diff --git a/Implab/src/Parallels/SimpleAsyncQueue.cs b/Implab/src/Parallels/SimpleAsyncQueue.cs
--- a/Implab/src/Parallels/SimpleAsyncQueue.cs
+++ b/Implab/src/Parallels/SimpleAsyncQueue.cs
@@ -1,6 +1,5 @@
using System.Threading;
using System.Collections.Generic;
-using System;
using System.Collections;
namespace Implab.Parallels {
@@ -39,7 +38,7 @@ namespace Implab.Parallels {
public void Enqueue(T value) {
var next = new Node(value);
- // Interlocaked.CompareExchange implies Thread.MemoryBarrier();
+ // Interlocked.CompareExchange implies Thread.MemoryBarrier();
// to ensure that the next node is completely constructed
var last = Interlocked.Exchange(ref m_last, next);
diff --git a/Implab/src/Promise.cs b/Implab/src/Promise.cs
--- a/Implab/src/Promise.cs
+++ b/Implab/src/Promise.cs
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Threading;
-using System.Threading.Tasks;
using Implab.Parallels;
namespace Implab {
diff --git a/Implab/src/PromiseActionReaction.cs b/Implab/src/PromiseActionReaction.cs
--- a/Implab/src/PromiseActionReaction.cs
+++ b/Implab/src/PromiseActionReaction.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Implab {
class PromiseActionReaction : IResolvable {
@@ -39,7 +38,7 @@ namespace Implab {
}
public void Reject(Exception error) {
- if (m_fulfilled != null) {
+ if (m_rejected != null) {
if (m_dispatcher != null)
m_dispatcher.Enqueue(RejectImpl, error);
else
diff --git a/Implab/src/PromiseActionReaction`1.cs b/Implab/src/PromiseActionReaction`1.cs
--- a/Implab/src/PromiseActionReaction`1.cs
+++ b/Implab/src/PromiseActionReaction`1.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Implab {
class PromiseActionReaction : IResolvable {
@@ -38,7 +37,7 @@ namespace Implab {
}
public void Reject(Exception error) {
- if (m_fulfilled != null) {
+ if (m_rejected != null) {
if (m_dispatcher != null)
m_dispatcher.Enqueue(RejectImpl, error);
else
diff --git a/Implab/src/PromiseExtensions.cs b/Implab/src/PromiseExtensions.cs
--- a/Implab/src/PromiseExtensions.cs
+++ b/Implab/src/PromiseExtensions.cs
@@ -1,8 +1,4 @@
-using System.Threading;
-using System;
-using Implab.Diagnostics;
-using System.Collections.Generic;
-using System.Linq;
+using System;
namespace Implab {
public static class PromiseExtensions {
diff --git a/Implab/src/PromiseFuncReaction`1.cs b/Implab/src/PromiseFuncReaction`1.cs
--- a/Implab/src/PromiseFuncReaction`1.cs
+++ b/Implab/src/PromiseFuncReaction`1.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Implab {
class PromiseFuncReaction : IResolvable {
@@ -38,7 +37,7 @@ namespace Implab {
}
public void Reject(Exception error) {
- if (m_fulfilled != null) {
+ if (m_rejected != null) {
if (m_dispatcher != null)
m_dispatcher.Enqueue(RejectImpl, error);
else
diff --git a/Implab/src/PromiseFuncReaction`2.cs b/Implab/src/PromiseFuncReaction`2.cs
--- a/Implab/src/PromiseFuncReaction`2.cs
+++ b/Implab/src/PromiseFuncReaction`2.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
namespace Implab {
class PromiseFuncReaction : IResolvable {
@@ -43,7 +42,7 @@ namespace Implab {
}
public void Reject(Exception error) {
- if (m_fulfilled != null) {
+ if (m_rejected != null) {
if (m_dispatcher != null)
m_dispatcher.Enqueue(RejectImpl, error);
else
diff --git a/Implab/src/Promise`1.cs b/Implab/src/Promise`1.cs
--- a/Implab/src/Promise`1.cs
+++ b/Implab/src/Promise`1.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
using System.Reflection;
using Implab.Parallels;
diff --git a/Implab/src/Safe.cs b/Implab/src/Safe.cs
--- a/Implab/src/Safe.cs
+++ b/Implab/src/Safe.cs
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.Collections;
@@ -13,8 +11,7 @@ using System.Threading;
using System.Threading.Tasks;
#endif
-namespace Implab
-{
+namespace Implab {
public static class Safe
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
diff --git a/Implab/src/Xml/JsonXmlCaseTransform.cs b/Implab/src/Xml/JsonXmlCaseTransform.cs
--- a/Implab/src/Xml/JsonXmlCaseTransform.cs
+++ b/Implab/src/Xml/JsonXmlCaseTransform.cs
@@ -1,11 +1,7 @@
-using System;
-
-namespace Implab.Xml
-{
- public enum JsonXmlCaseTransform
- {
- None,
- UcFirst,
- LcFirst
- }
+namespace Implab.Xml {
+ public enum JsonXmlCaseTransform {
+ None,
+ UcFirst,
+ LcFirst
+ }
}
\ No newline at end of file
diff --git a/Implab/src/Xml/JsonXmlReader.cs b/Implab/src/Xml/JsonXmlReader.cs
--- a/Implab/src/Xml/JsonXmlReader.cs
+++ b/Implab/src/Xml/JsonXmlReader.cs
@@ -1,7 +1,6 @@
using Implab.Formats.Json;
using System;
using System.Collections.Generic;
-using System.Globalization;
using System.IO;
using System.Linq;
using System.Xml;
diff --git a/Implab/src/Xml/JsonXmlReaderPosition.cs b/Implab/src/Xml/JsonXmlReaderPosition.cs
--- a/Implab/src/Xml/JsonXmlReaderPosition.cs
+++ b/Implab/src/Xml/JsonXmlReaderPosition.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Implab.Xml {
+namespace Implab.Xml {
enum JsonXmlReaderPosition {
Initial,
Declaration,
diff --git a/Implab/src/Xml/SerializationHelpers.cs b/Implab/src/Xml/SerializationHelpers.cs
--- a/Implab/src/Xml/SerializationHelpers.cs
+++ b/Implab/src/Xml/SerializationHelpers.cs
@@ -1,10 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
+using System.IO;
using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
diff --git a/Implab/src/Xml/SerializersPool.cs b/Implab/src/Xml/SerializersPool.cs
--- a/Implab/src/Xml/SerializersPool.cs
+++ b/Implab/src/Xml/SerializersPool.cs
@@ -1,10 +1,6 @@
using Implab.Components;
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Xml;
using System.Xml.Serialization;
diff --git a/Implab/src/Xml/XmlNameContext.cs b/Implab/src/Xml/XmlNameContext.cs
--- a/Implab/src/Xml/XmlNameContext.cs
+++ b/Implab/src/Xml/XmlNameContext.cs
@@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Xml;
namespace Implab.Xml {
diff --git a/Implab/src/Xml/XmlSimpleAttribute.cs b/Implab/src/Xml/XmlSimpleAttribute.cs
--- a/Implab/src/Xml/XmlSimpleAttribute.cs
+++ b/Implab/src/Xml/XmlSimpleAttribute.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
+using System.Xml;
namespace Implab.Xml {
public class XmlSimpleAttribute {
diff --git a/Implab/src/Xml/XmlToJson.cs b/Implab/src/Xml/XmlToJson.cs
--- a/Implab/src/Xml/XmlToJson.cs
+++ b/Implab/src/Xml/XmlToJson.cs
@@ -1,10 +1,8 @@
-using System;
using System.IO;
using System.Reflection;
using System.Xml;
using System.Xml.Xsl;
using Implab.Components;
-using Implab.Formats.Json;
namespace Implab.Xml {
public class XmlToJson {