diff --git a/paket.dependencies b/paket.dependencies
index f7f692c6..5cd789bb 100644
--- a/paket.dependencies
+++ b/paket.dependencies
@@ -7,5 +7,5 @@ nuget FsCheck.Xunit
nuget xunit.runner.console
nuget xunit.assert
nuget FAKE
-nuget Mono.Cecil
-nuget GtkSharp
\ No newline at end of file
+nuget Mono.Cecil >= 0.10.0-beta1
+nuget GtkSharp
diff --git a/paket.lock b/paket.lock
index 0b74580d..cf9d232f 100644
--- a/paket.lock
+++ b/paket.lock
@@ -1,165 +1,603 @@
NUGET
remote: https://www.nuget.org/api/v2
- FAKE (4.28)
- FsCheck (2.4)
- FSharp.Core (>= 3.1.2.5)
- FsCheck.Xunit (2.4)
- FsCheck (>= 2.4)
- xunit.extensibility.execution (>= 2.1 < 3.0)
+ FAKE (4.61.2)
+ FsCheck (2.9)
+ FSharp.Core (>= 4.1) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.Core (>= 4.1.17) - framework: >= netstandard16
+ NETStandard.Library (>= 1.6.1) - framework: >= netstandard16
+ FsCheck.Xunit (2.9)
+ FsCheck (>= 2.9)
+ FSharp.Core (>= 4.1.17) - framework: >= netstandard16
+ NETStandard.Library (>= 1.6.1) - framework: >= netstandard16
+ xunit.abstractions (>= 2.0.1) - framework: >= netstandard16
+ xunit.core (>= 2.2) - framework: >= netstandard16
+ xunit.extensibility.execution (>= 2.2 < 3.0) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
FSharp.Compiler.Service (2.0.0.6)
- FSharp.Core (4.0.0.1)
+ FSharp.Core (4.1.17) - framework: >= net10, >= netstandard10
+ System.Collections (>= 4.0.11) - framework: >= netstandard16
+ System.Console (>= 4.0) - framework: >= netstandard16
+ System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16
+ System.Diagnostics.Tools (>= 4.0.1) - framework: >= netstandard16
+ System.Globalization (>= 4.0.11) - framework: >= netstandard16
+ System.IO (>= 4.1) - framework: >= netstandard16
+ System.Linq (>= 4.1) - framework: >= netstandard16
+ System.Linq.Expressions (>= 4.1) - framework: >= netstandard16
+ System.Linq.Queryable (>= 4.0.1) - framework: >= netstandard16
+ System.Net.Requests (>= 4.0.11) - framework: >= netstandard16
+ System.Reflection (>= 4.1) - framework: >= netstandard16
+ System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.0.1) - framework: >= netstandard16
+ System.Runtime (>= 4.1) - framework: >= netstandard16
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard16
+ System.Runtime.Numerics (>= 4.0.1) - framework: >= netstandard16
+ System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard16
+ System.Threading (>= 4.0.11) - framework: >= netstandard16
+ System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard16
+ System.Threading.Tasks.Parallel (>= 4.0.1) - framework: >= netstandard16
+ System.Threading.Thread (>= 4.0) - framework: >= netstandard16
+ System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16
+ System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16
FSharp.Formatting (2.14.4)
FSharp.Compiler.Service (2.0.0.6)
FSharpVSPowerTools.Core (>= 2.3 < 2.4)
FSharpVSPowerTools.Core (2.3)
FSharp.Compiler.Service (>= 2.0.0.3)
GtkSharp (3.1.3)
- Mono.Cecil (0.9.6.1)
- System.Collections (4.0.10) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Contracts (4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Globalization (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.IO (4.0.10) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Text.Encoding (>= 4.0) - framework: dnxcore50
- System.Text.Encoding (>= 4.0.10) - framework: dnxcore50
- System.Text.Encoding.Extensions (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- System.Linq (4.0) - framework: dnxcore50
- System.Collections (>= 4.0.10) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Linq.Expressions (4.0.10) - framework: dnxcore50
- System.Collections (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.ObjectModel (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Emit (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Reflection.TypeExtensions (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.ObjectModel (4.0.10) - framework: dnxcore50
- System.Collections (>= 4.0.10) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Threading (>= 4.0.10) - framework: dnxcore50
- System.Private.Uri (4.0) - framework: dnxcore50
- System.Reflection (4.0.10) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Reflection.Emit (4.0) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Emit.ILGeneration (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Reflection.Emit.ILGeneration (4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0.10) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Reflection.TypeExtensions (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Reflection.Primitives (4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Reflection.TypeExtensions (4.0) - framework: dnxcore50
- System.Diagnostics.Contracts (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0.10) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0.10) - framework: dnxcore50
- System.Reflection.Primitives (>= 4.0) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime (4.0.20) - framework: dnxcore50
- System.Private.Uri (>= 4.0) - framework: dnxcore50
- System.Runtime.Extensions (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Text.Encoding (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Text.Encoding.Extensions (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Text.Encoding (>= 4.0.10) - framework: dnxcore50
- System.Text.RegularExpressions (4.0.10) - framework: dnxcore50
- System.Collections (>= 4.0.10) - framework: dnxcore50
- System.Globalization (>= 4.0.10) - framework: dnxcore50
- System.Resources.ResourceManager (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0.20) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0.10) - framework: dnxcore50
- System.Threading (>= 4.0.10) - framework: dnxcore50
- System.Threading (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (4.0.10) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- xunit.abstractions (2.0) - framework: >= net45, dnx451, dnxcore50, monoandroid, monotouch, xamarinios, winv4.5, wpv8.0, wpav8.1
- xunit.assert (2.1)
- System.Collections (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.ObjectModel (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Text.RegularExpressions (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- xunit.extensibility.core (2.1) - framework: >= net45, dnx451, dnxcore50, monoandroid, monotouch, xamarinios, winv4.5, wpv8.0, wpav8.1
- xunit.abstractions (2.0)
- xunit.extensibility.execution (2.1)
- System.Collections (>= 4.0) - framework: dnxcore50
- System.Diagnostics.Debug (>= 4.0) - framework: dnxcore50
- System.Globalization (>= 4.0) - framework: dnxcore50
- System.IO (>= 4.0) - framework: dnxcore50
- System.Linq (>= 4.0) - framework: dnxcore50
- System.Linq.Expressions (>= 4.0) - framework: dnxcore50
- System.Reflection (>= 4.0) - framework: dnxcore50
- System.Reflection.Extensions (>= 4.0) - framework: dnxcore50
- System.Runtime (>= 4.0) - framework: dnxcore50
- System.Runtime.Extensions (>= 4.0) - framework: dnxcore50
- System.Text.Encoding (>= 4.0) - framework: dnxcore50
- System.Threading (>= 4.0) - framework: dnxcore50
- System.Threading.Tasks (>= 4.0) - framework: dnxcore50
- xunit.abstractions (>= 2.0) - framework: dnxcore50
- xunit.extensibility.core (2.1) - framework: >= net45, dnx451, dnxcore50, monoandroid, monotouch, xamarinios, winv4.5, wpv8.0, wpav8.1
- xunit.runner.console (2.1)
+ Microsoft.NETCore.Platforms (1.1) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Targets (1.1) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.Win32.Primitives (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ Mono.Cecil (0.10.0-beta6)
+ System.Collections (>= 4.0.11) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.0.1) - framework: >= netstandard13
+ System.Reflection (>= 4.1) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.2) - framework: >= netstandard13
+ System.Security.Cryptography.Csp (>= 4.0) - framework: >= netstandard13
+ System.Threading (>= 4.0.11) - framework: >= netstandard13
+ NETStandard.Library (1.6.1) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10
+ Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Collections.Concurrent (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Console (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Tools (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Globalization (>= 4.3) - framework: >= netstandard10
+ System.Globalization.Calendars (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard10
+ System.IO.Compression (>= 4.3) - framework: >= net45, >= netstandard11
+ System.IO.Compression.ZipFile (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard10
+ System.Linq.Expressions (>= 4.3) - framework: >= netstandard10
+ System.Net.Http (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Net.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Net.Sockets (>= 4.3) - framework: >= net46, >= netstandard13
+ System.ObjectModel (>= 4.3) - framework: >= netstandard10
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Handles (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.Numerics (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard10
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Text.RegularExpressions (>= 4.3) - framework: >= netstandard10
+ System.Threading (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
+ System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard10
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.native.System (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.IO.Compression (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.Net.Http (4.3) - framework: >= net10, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net10, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3)
+ runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.1)
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net10, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.1) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ System.AppContext (4.3) - framework: >= net46, >= netstandard13, netstandard14, netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Buffers (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: >= netstandard11
+ System.Collections (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Collections.Concurrent (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Console (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Diagnostics.DiagnosticSource (4.3.1) - framework: >= net10, netstandard13, >= netstandard16
+ System.Collections (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Diagnostics.Tools (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Diagnostics.Tracing (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ System.Globalization (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Globalization.Calendars (4.3) - framework: >= net46, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Globalization.Extensions (4.3) - framework: >= net10, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.IO (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.IO.Compression (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System (>= 4.3) - framework: >= netstandard13
+ runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Buffers (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.Compression.ZipFile (4.3) - framework: >= net46, >= netstandard13, netstandard14, netstandard15
+ System.Buffers (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.Compression (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Linq (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq.Expressions (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.ObjectModel (>= 4.3) - framework: >= netstandard16
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
+ System.Reflection.Emit (>= 4.3) - framework: >= netstandard16
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Emit.Lightweight (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq.Queryable (4.3) - framework: >= net10, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Net.Http (4.3.2) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16
+ Microsoft.Win32.Primitives (>= 4.3) - framework: netstandard13
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.DiagnosticSource (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Globalization.Extensions (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.IO.Compression (>= 4.3) - framework: netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard16
+ System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: netstandard13, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard13, >= netstandard16
+ System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, dnxcore50, netstandard13, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Net.Primitives (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Net.Requests (4.3) - framework: >= net10, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Net.Http (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Net.WebHeaderCollection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Net.Sockets (4.3) - framework: >= net46, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Net.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Net.WebHeaderCollection (4.3) - framework: >= net10, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.ObjectModel (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Reflection.Emit (4.3) - framework: >= net10, >= netstandard16
+ System.IO (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Emit.ILGeneration (4.3) - framework: >= net10, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Emit.Lightweight (4.3) - framework: >= net10, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Extensions (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection.Primitives (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection.TypeExtensions (4.3) - framework: >= net10, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15
+ System.Resources.ResourceManager (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
+ System.Runtime.Extensions (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime.Handles (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11
+ System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net45, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ runtime.native.System (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime.Numerics (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Security.Cryptography.Algorithms (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
+ runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, dnxcore50, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Cng (4.3) - framework: >= net46, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: netstandard14, >= netstandard16
+ System.IO (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Runtime (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Csp (4.3) - framework: >= net46, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Reflection (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Encoding (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Collections.Concurrent (>= 4.3) - framework: >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.OpenSsl (4.3) - framework: >= net10, >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.X509Certificates (4.3) - framework: >= net46, >= netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization.Calendars (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.Cng (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Csp (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Text.Encoding (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding.Extensions (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.RegularExpressions (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks.Extensions (4.3) - framework: >= net10, >= netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks.Parallel (4.3) - framework: >= net10, >= netstandard16
+ System.Collections.Concurrent (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Threading.Thread (4.3) - framework: >= net10, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading.ThreadPool (4.3) - framework: >= net10, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Threading.Timer (4.3) - framework: >= net10, >= netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12
+ System.Xml.ReaderWriter (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Xml.XDocument (4.3) - framework: >= net10, >= netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ xunit.abstractions (2.0.1) - framework: >= net452, >= netstandard11
+ NETStandard.Library (>= 1.6) - framework: >= netstandard10
+ xunit.assert (2.2)
+ NETStandard.Library (>= 1.6) - framework: >= netstandard11
+ xunit.core (2.2) - framework: >= netstandard16
+ xunit.extensibility.core (2.2)
+ xunit.extensibility.execution (2.2)
+ xunit.extensibility.core (2.2) - framework: >= net452, >= netstandard11
+ NETStandard.Library (>= 1.6) - framework: >= netstandard11
+ xunit.abstractions (>= 2.0.1) - framework: >= net452, >= netstandard11
+ xunit.extensibility.execution (2.2) - framework: >= net10, >= netstandard10
+ NETStandard.Library (>= 1.6) - framework: >= netstandard11
+ xunit.extensibility.core (2.2) - framework: >= net452, >= netstandard11
+ xunit.runner.console (2.2)
diff --git a/src/Generator.Rewrite/Generator.Rewrite.csproj b/src/Generator.Rewrite/Generator.Rewrite.csproj
index a6472b87..9b50b9fa 100644
--- a/src/Generator.Rewrite/Generator.Rewrite.csproj
+++ b/src/Generator.Rewrite/Generator.Rewrite.csproj
@@ -9,7 +9,7 @@
Properties
OpenTK.Rewrite
Rewrite
- v3.5
+ v4.0
512
12.0.0
2.0
@@ -84,27 +84,13 @@
-
-
-
- ..\..\packages\Mono.Cecil\lib\net20\Mono.Cecil.Mdb.dll
- True
- True
-
-
- ..\..\packages\Mono.Cecil\lib\net20\Mono.Cecil.Pdb.dll
- True
- True
-
-
- ..\..\packages\Mono.Cecil\lib\net20\Mono.Cecil.dll
- True
- True
-
-
-
+
+ ..\..\packages\Mono.Cecil\lib\net35\Mono.Cecil.dll
+ True
+ True
+
..\..\packages\Mono.Cecil\lib\net35\Mono.Cecil.Mdb.dll
True
@@ -120,15 +106,15 @@
True
True
+
+
+
+
- ..\..\packages\Mono.Cecil\lib\net35\Mono.Cecil.dll
+ ..\..\packages\Mono.Cecil\lib\net40\Mono.Cecil.dll
True
True
-
-
-
-
..\..\packages\Mono.Cecil\lib\net40\Mono.Cecil.Mdb.dll
True
@@ -144,50 +130,653 @@
True
True
+
+
+
+
- ..\..\packages\Mono.Cecil\lib\net40\Mono.Cecil.dll
+ ..\..\packages\Mono.Cecil\lib\netstandard1.3\Mono.Cecil.dll
True
True
-
-
-
-
- ..\..\packages\Mono.Cecil\lib\net45\Mono.Cecil.Mdb.dll
+ ..\..\packages\Mono.Cecil\lib\netstandard1.3\Mono.Cecil.Mdb.dll
True
True
- ..\..\packages\Mono.Cecil\lib\net45\Mono.Cecil.Pdb.dll
+ ..\..\packages\Mono.Cecil\lib\netstandard1.3\Mono.Cecil.Pdb.dll
True
True
- ..\..\packages\Mono.Cecil\lib\net45\Mono.Cecil.Rocks.dll
- True
- True
-
-
- ..\..\packages\Mono.Cecil\lib\net45\Mono.Cecil.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\Mono.Cecil\lib\sl5\Mono.Cecil.Rocks.dll
- True
- True
-
-
- ..\..\packages\Mono.Cecil\lib\sl5\Mono.Cecil.dll
+ ..\..\packages\Mono.Cecil\lib\netstandard1.3\Mono.Cecil.Rocks.dll
True
True
+
+
+
+
+ ..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+ ..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.1\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.2\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO\lib\net462\System.IO.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO\ref\netstandard1.0\System.IO.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Linq\lib\net463\System.Linq.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ True
+
+
+ ..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\lib\net46\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\lib\net461\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.3\System.Security.Cryptography.Algorithms.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.4\System.Security.Cryptography.Algorithms.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
+ False
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.dll
+ False
+ True
+
+
+
+
+
+
+ ..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
+ False
+ True
+
+
+
+
\ No newline at end of file
diff --git a/src/Generator.Rewrite/Program.cs b/src/Generator.Rewrite/Program.cs
index a1a7e7b4..12977590 100644
--- a/src/Generator.Rewrite/Program.cs
+++ b/src/Generator.Rewrite/Program.cs
@@ -82,6 +82,7 @@ namespace OpenTK.Rewrite
}
read_params.SymbolReaderProvider = provider;
read_params.ReadSymbols = true;
+ read_params.ReadWrite = true;
write_params.WriteSymbols = true;
if (!String.IsNullOrEmpty(keyfile) && File.Exists(keyfile))
@@ -98,57 +99,59 @@ namespace OpenTK.Rewrite
}
// Load assembly and process all modules
- var assembly = AssemblyDefinition.ReadAssembly(file, read_params);
- var rewritten = assembly.CustomAttributes.FirstOrDefault(a => a.AttributeType.Name == "RewrittenAttribute");
- if (rewritten == null)
+ using (AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(file, read_params))
{
- foreach (var module in assembly.Modules)
+ var rewritten = assembly.CustomAttributes.FirstOrDefault(a => a.AttributeType.Name == "RewrittenAttribute");
+ if (rewritten == null)
{
- foreach (var reference in module.AssemblyReferences)
+ foreach (var module in assembly.Modules)
{
- try
+ foreach (var reference in module.AssemblyReferences)
{
- var resolved = module.AssemblyResolver.Resolve(reference);
- if (reference.Name == "mscorlib")
+ try
{
- mscorlib = resolved;
+ var resolved = module.AssemblyResolver.Resolve(reference);
+ if (reference.Name == "mscorlib")
+ {
+ mscorlib = resolved;
+ }
+ }
+ catch (Exception e)
+ {
+ Console.Error.WriteLine(e.ToString());
}
}
- catch (Exception e)
+ }
+
+ if (mscorlib == null)
+ {
+ Console.Error.WriteLine("Failed to locate mscorlib");
+ return;
+ }
+ TypeMarshal = mscorlib.MainModule.GetType("System.Runtime.InteropServices.Marshal");
+ TypeStringBuilder = mscorlib.MainModule.GetType("System.Text.StringBuilder");
+ TypeVoid = mscorlib.MainModule.GetType("System.Void");
+ TypeIntPtr = mscorlib.MainModule.GetType("System.IntPtr");
+ TypeInt32 = mscorlib.MainModule.GetType("System.Int32");
+
+ TypeBindingsBase = assembly.Modules.Select(m => m.GetType("OpenTK.BindingsBase")).First();
+
+ foreach (var module in assembly.Modules)
+ {
+ foreach (var type in module.Types)
{
- Console.Error.WriteLine(e.ToString());
+ Rewrite(type, options);
}
}
}
-
- if (mscorlib == null)
+ else
{
- Console.Error.WriteLine("Failed to locate mscorlib");
- return;
+ Console.Error.WriteLine("Error: assembly has already been rewritten");
}
- TypeMarshal = mscorlib.MainModule.GetType("System.Runtime.InteropServices.Marshal");
- TypeStringBuilder = mscorlib.MainModule.GetType("System.Text.StringBuilder");
- TypeVoid = mscorlib.MainModule.GetType("System.Void");
- TypeIntPtr = mscorlib.MainModule.GetType("System.IntPtr");
- TypeInt32 = mscorlib.MainModule.GetType("System.Int32");
- TypeBindingsBase = assembly.Modules.Select(m => m.GetType("OpenTK.BindingsBase")).First();
-
- foreach (var module in assembly.Modules)
- {
- foreach (var type in module.Types)
- {
- Rewrite(type, options);
- }
- }
+ // Save rewritten assembly
+ assembly.Write(write_params);
}
- else
- {
- Console.Error.WriteLine("Error: assembly has already been rewritten");
- }
-
- // Save rewritten assembly
- assembly.Write(file, write_params);
}
void Rewrite(TypeDefinition type, IEnumerable options)
@@ -171,7 +174,7 @@ namespace OpenTK.Rewrite
var rewritten_constructor = type.GetConstructors().First();
var rewritten = new CustomAttribute(rewritten_constructor);
rewritten.ConstructorArguments.Add(new CustomAttributeArgument(
- type.Module.Import(mscorlib.MainModule.GetType("System.Boolean")), true));
+ type.Module.ImportReference(mscorlib.MainModule.GetType("System.Boolean")), true));
type.Module.Assembly.CustomAttributes.Add(rewritten);
}
}
@@ -272,9 +275,12 @@ namespace OpenTK.Rewrite
}
// Patch convenience wrappers
+ int stringBuilderPointerVarIndex = -1;
+ int stringPointerVarIndex = -1;
+ int stringArrayPointerVarIndex = -1;
if (wrapper.Parameters.Count == native.Parameters.Count)
{
- EmitParameters(wrapper, native, body, il);
+ EmitParameters(wrapper, native, body, il, out stringBuilderPointerVarIndex, out stringPointerVarIndex, out stringArrayPointerVarIndex);
}
else
{
@@ -301,7 +307,7 @@ namespace OpenTK.Rewrite
EmitReturnTypeWrapper(wrapper, native, body, il);
}
- EmitParameterEpilogues(wrapper, native, body, il);
+ EmitParameterEpilogues(wrapper, native, body, il, stringBuilderPointerVarIndex, stringPointerVarIndex, stringArrayPointerVarIndex);
if (options.Contains("-debug"))
{
@@ -479,7 +485,7 @@ namespace OpenTK.Rewrite
// String return-type wrapper
// return new string((sbyte*)((void*)GetString()));
- var intptr_to_voidpointer = wrapper.Module.Import(mscorlib.MainModule.GetType("System.IntPtr").GetMethods()
+ var intptr_to_voidpointer = wrapper.Module.ImportReference(mscorlib.MainModule.GetType("System.IntPtr").GetMethods()
.First(m =>
{
return
@@ -487,7 +493,7 @@ namespace OpenTK.Rewrite
m.ReturnType.Name == "Void*";
}));
- var string_constructor = wrapper.Module.Import(mscorlib.MainModule.GetType("System.String").GetConstructors()
+ var string_constructor = wrapper.Module.ImportReference(mscorlib.MainModule.GetType("System.String").GetConstructors()
.First(m =>
{
var p = m.Parameters;
@@ -521,28 +527,30 @@ namespace OpenTK.Rewrite
}
}
- static void EmitParameterEpilogues(MethodDefinition wrapper, MethodDefinition native, MethodBody body, ILProcessor il)
+ static void EmitParameterEpilogues(MethodDefinition wrapper, MethodDefinition native, MethodBody body, ILProcessor il,
+ int stringBuilderPointerVarIndex, int stringPointerVarIndex, int stringArrayPointerVarIndex)
{
- foreach (var p in wrapper.Parameters)
+ foreach (var p in wrapper.Parameters) // TODO: Should not need to check for >= 0 here, but StringBuilder
+ // TODO: requires it for some reason. Find out why
{
- if (p.ParameterType.Name == "StringBuilder")
+ if (p.ParameterType.Name == "StringBuilder" && stringBuilderPointerVarIndex >= 0)
{
- EmitStringBuilderEpilogue(wrapper, native, p, body, il);
+ EmitStringBuilderEpilogue(wrapper, native, p, body, il, stringBuilderPointerVarIndex);
}
- if (!p.ParameterType.IsArray && p.ParameterType.Name == "String")
+ if (!p.ParameterType.IsArray && p.ParameterType.Name == "String" && stringPointerVarIndex >= 0)
{
- EmitStringEpilogue(wrapper, p, body, il);
+ EmitStringEpilogue(wrapper, p, body, il, stringPointerVarIndex);
}
- if (p.ParameterType.IsArray && p.ParameterType.GetElementType().Name == "String")
+ if (p.ParameterType.IsArray && p.ParameterType.GetElementType().Name == "String" && stringArrayPointerVarIndex >= 0)
{
- EmitStringArrayEpilogue(wrapper, p, body, il);
+ EmitStringArrayEpilogue(wrapper, p, body, il, stringArrayPointerVarIndex);
}
}
}
- static void EmitStringBuilderParameter(MethodDefinition method, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ static void EmitStringBuilderParameter(MethodDefinition method, ParameterDefinition parameter, MethodBody body, ILProcessor il, out int stringBuilderPointerIndex)
{
var p = parameter.ParameterType;
@@ -557,25 +565,24 @@ namespace OpenTK.Rewrite
// Marshal.FreeHGlobal(sb_ptr);
// }
// Make sure we have imported StringBuilder::Capacity and Marshal::AllocHGlobal
- var sb_get_capacity = method.Module.Import(TypeStringBuilder.Methods.First(m => m.Name == "get_Capacity"));
- var alloc_hglobal = method.Module.Import(TypeMarshal.Methods.First(m => m.Name == "AllocHGlobal"));
+ var sb_get_capacity = method.Module.ImportReference(TypeStringBuilder.Methods.First(m => m.Name == "get_Capacity"));
+ var alloc_hglobal = method.Module.ImportReference(TypeMarshal.Methods.First(m => m.Name == "AllocHGlobal"));
// IntPtr ptr;
- var variable_name = parameter.Name + " _sb_ptr";
- body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
- int index = body.Variables.Count - 1;
+ body.Variables.Add(new VariableDefinition(TypeIntPtr));
+ stringBuilderPointerIndex = body.Variables.Count - 1;
// ptr = Marshal.AllocHGlobal(sb.Capacity + 1);
il.Emit(OpCodes.Callvirt, sb_get_capacity);
il.Emit(OpCodes.Call, alloc_hglobal);
- il.Emit(OpCodes.Stloc, index);
- il.Emit(OpCodes.Ldloc, index);
+ il.Emit(OpCodes.Stloc, stringBuilderPointerIndex);
+ il.Emit(OpCodes.Ldloc, stringBuilderPointerIndex);
// We'll emit the try-finally block in the epilogue implementation,
// because we haven't yet emitted all necessary instructions here.
}
- static void EmitStringBuilderEpilogue(MethodDefinition wrapper, MethodDefinition native, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ static void EmitStringBuilderEpilogue(MethodDefinition wrapper, MethodDefinition native, ParameterDefinition parameter, MethodBody body, ILProcessor il, int stringBuilderPointerIndex)
{
var p = parameter.ParameterType;
if (p.Name == "StringBuilder")
@@ -591,29 +598,27 @@ namespace OpenTK.Rewrite
// }
// Make sure we have imported BindingsBase::MasrhalPtrToStringBuilder and Marshal::FreeHGlobal
- var ptr_to_sb = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalPtrToStringBuilder"));
- var free_hglobal = wrapper.Module.Import(TypeMarshal.Methods.First(m => m.Name == "FreeHGlobal"));
+ var ptr_to_sb = wrapper.Module.ImportReference(TypeBindingsBase.Methods.First(m => m.Name == "MarshalPtrToStringBuilder"));
+ var free_hglobal = wrapper.Module.ImportReference(TypeMarshal.Methods.First(m => m.Name == "FreeHGlobal"));
var block = new ExceptionHandler(ExceptionHandlerType.Finally);
block.TryStart = body.Instructions[0];
- var variable_name = parameter.Name + " _sb_ptr";
- var v = body.Variables.First(m => m.Name == variable_name);
- il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Ldloc, stringBuilderPointerIndex);
il.Emit(OpCodes.Ldarg, parameter.Index);
il.Emit(OpCodes.Call, ptr_to_sb);
block.TryEnd = body.Instructions.Last();
block.HandlerStart = body.Instructions.Last();
- il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Ldloc, stringBuilderPointerIndex);
il.Emit(OpCodes.Call, free_hglobal);
block.HandlerEnd = body.Instructions.Last();
}
}
- static void EmitStringParameter(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ static void EmitStringParameter(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il, out int stringPointerIndex)
{
var p = parameter.ParameterType;
@@ -621,34 +626,31 @@ namespace OpenTK.Rewrite
// IntPtr ptr = MarshalStringToPtr(str);
// try { calli }
// finally { Marshal.FreeHGlobal(ptr); }
- var marshal_str_to_ptr = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalStringToPtr"));
+ var marshal_str_to_ptr = wrapper.Module.ImportReference(TypeBindingsBase.Methods.First(m => m.Name == "MarshalStringToPtr"));
// IntPtr ptr;
- var variable_name = parameter.Name + "_string_ptr";
- body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
- int index = body.Variables.Count - 1;
+ body.Variables.Add(new VariableDefinition(TypeIntPtr));
+ stringPointerIndex = body.Variables.Count - 1;
// ptr = Marshal.StringToHGlobalAnsi(str);
il.Emit(OpCodes.Call, marshal_str_to_ptr);
- il.Emit(OpCodes.Stloc, index);
- il.Emit(OpCodes.Ldloc, index);
+ il.Emit(OpCodes.Stloc, stringPointerIndex);
+ il.Emit(OpCodes.Ldloc, stringPointerIndex);
// The finally block will be emitted in the function epilogue
}
- static void EmitStringEpilogue(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ static void EmitStringEpilogue(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il, int stringPointerIndex)
{
var p = parameter.ParameterType;
- var free = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringPtr"));
+ var free = wrapper.Module.ImportReference(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringPtr"));
// FreeStringPtr(ptr)
- var variable_name = parameter.Name + "_string_ptr";
- var v = body.Variables.First(m => m.Name == variable_name);
- il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Ldloc, stringPointerIndex);
il.Emit(OpCodes.Call, free);
}
- static void EmitStringArrayParameter(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ static void EmitStringArrayParameter(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il, out int stringArrayPointerIndex)
{
var p = parameter.ParameterType;
@@ -656,34 +658,31 @@ namespace OpenTK.Rewrite
// IntPtr ptr = MarshalStringArrayToPtr(strings);
// try { calli }
// finally { FreeStringArrayPtr(ptr); }
- var marshal_str_array_to_ptr = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalStringArrayToPtr"));
+ var marshal_str_array_to_ptr = wrapper.Module.ImportReference(TypeBindingsBase.Methods.First(m => m.Name == "MarshalStringArrayToPtr"));
// IntPtr ptr;
- var variable_name = parameter.Name + "_string_array_ptr";
- body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
- int index = body.Variables.Count - 1;
+ body.Variables.Add(new VariableDefinition(TypeIntPtr));
+ stringArrayPointerIndex = body.Variables.Count - 1;
// ptr = MarshalStringArrayToPtr(strings);
il.Emit(OpCodes.Call, marshal_str_array_to_ptr);
- il.Emit(OpCodes.Stloc, index);
- il.Emit(OpCodes.Ldloc, index);
+ il.Emit(OpCodes.Stloc, stringArrayPointerIndex);
+ il.Emit(OpCodes.Ldloc, stringArrayPointerIndex);
// The finally block will be emitted in the function epilogue
}
- static void EmitStringArrayEpilogue(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ static void EmitStringArrayEpilogue(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il, int stringArrayPointerIndex)
{
// Note: only works for string vectors (1d arrays).
// We do not (and will probably never) support 2d or higher string arrays
var p = parameter.ParameterType;
- var free = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringArrayPtr"));
+ var free = wrapper.Module.ImportReference(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringArrayPtr"));
// FreeStringArrayPtr(string_array_ptr, string_array.Length)
- var variable_name = parameter.Name + "_string_array_ptr";
- var v = body.Variables.First(m => m.Name == variable_name);
// load string_array_ptr
- il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Ldloc, stringArrayPointerIndex);
// load string_array.Length
il.Emit(OpCodes.Ldarg, parameter.Index);
@@ -729,7 +728,12 @@ namespace OpenTK.Rewrite
// return result;
// }
body.Variables.Add(new VariableDefinition(wrapper.ReturnType));
- EmitParameters(wrapper, native, body, il);
+
+ int dummy1;
+ int dummy2;
+ int dummy3;
+
+ EmitParameters(wrapper, native, body, il, out dummy1, out dummy2, out dummy3);
il.Emit(OpCodes.Ldloca, body.Variables.Count - 1);
}
else
@@ -757,13 +761,19 @@ namespace OpenTK.Rewrite
}
}
- static int EmitParameters(MethodDefinition method, MethodDefinition native, MethodBody body, ILProcessor il)
+ static int EmitParameters(MethodDefinition method, MethodDefinition native, MethodBody body, ILProcessor il,
+ out int stringBuilderPointerVarIndex, out int stringPointerVarIndex, out int stringArrayPointerVarIndex)
{
+ // Default outs
+ stringBuilderPointerVarIndex = -1;
+ stringPointerVarIndex = -1;
+ stringArrayPointerVarIndex = -1;
+
int i;
for (i = 0; i < method.Parameters.Count; i++)
{
var parameter = method.Parameters[i];
- var p = method.Module.Import(method.Parameters[i].ParameterType);
+ var p = method.Module.ImportReference(method.Parameters[i].ParameterType);
il.Emit(OpCodes.Ldarg, i);
if (p.Name.Contains("Int32") && native.Parameters[i].ParameterType.Name.Contains("IntPtr"))
@@ -774,11 +784,11 @@ namespace OpenTK.Rewrite
}
else if (p.Name == "StringBuilder")
{
- EmitStringBuilderParameter(method, parameter, body, il);
+ EmitStringBuilderParameter(method, parameter, body, il, out stringBuilderPointerVarIndex);
}
else if (p.Name == "String" && !p.IsArray)
{
- EmitStringParameter(method, parameter, body, il);
+ EmitStringParameter(method, parameter, body, il, out stringPointerVarIndex);
}
else if (p.IsByReference)
{
@@ -790,7 +800,7 @@ namespace OpenTK.Rewrite
}
else if (p.IsArray)
{
- if (p.Name != method.Module.Import(typeof(string[])).Name)
+ if (p.Name != method.Module.ImportReference(typeof(string[])).Name)
{
// .Net treats 1d arrays differently than higher rank arrays.
// 1d arrays are directly supported by instructions such as ldlen and ldelema.
@@ -834,7 +844,7 @@ namespace OpenTK.Rewrite
}
else
{
- var get_length = method.Module.Import(
+ var get_length = method.Module.ImportReference(
mscorlib.MainModule.GetType("System.Array").Methods.First(m => m.Name == "get_Length"));
il.Emit(OpCodes.Callvirt, get_length);
}
@@ -880,7 +890,7 @@ namespace OpenTK.Rewrite
}
else
{
- EmitStringArrayParameter(method, parameter, body, il);
+ EmitStringArrayParameter(method, parameter, body, il, out stringArrayPointerVarIndex);
}
}
}