From f1183afecbda122c90f1f3f02bdd15738b4c52db Mon Sep 17 00:00:00 2001 From: Virgile Bello Date: Wed, 22 May 2019 17:55:45 +0200 Subject: [PATCH] [AssemblyProcessor] Fix a case where ImportReference was not called for GetTypeFromHandle(). Bumped Cecil to NuGet 0.10.3 rather than custom one. --- deps/AssemblyProcessor/Mono.Cecil.Mdb.dll | 4 ++-- deps/AssemblyProcessor/Mono.Cecil.Pdb.dll | 4 ++-- deps/AssemblyProcessor/Mono.Cecil.Rocks.dll | 2 +- deps/AssemblyProcessor/Mono.Cecil.dll | 4 ++-- .../Xenko.Core.AssemblyProcessor.Packed.exe | 4 ++-- .../Xenko.Core.AssemblyProcessor.Packed.pdb | 4 ++-- .../Xenko.Core.AssemblyProcessor.exe | 2 +- .../Xenko.Core.AssemblyProcessor.pdb | 2 +- deps/Mono.Cecil/Mono.Cecil.Rocks.dll | 3 --- deps/Mono.Cecil/build.bat | 3 --- deps/Mono.Cecil/checkout.bat | 2 -- deps/OpenTK/iOS/link.bat | 2 +- deps/{Mono.Cecil => monolinker}/.gitignore | 0 deps/{Mono.Cecil => monolinker}/License.txt | 0 .../{Mono.Cecil => monolinker}/Mono.Cecil.Mdb.dll | 0 .../{Mono.Cecil => monolinker}/Mono.Cecil.Pdb.dll | 0 deps/{Mono.Cecil => monolinker}/Mono.Cecil.dll | 0 deps/{Mono.Cecil => monolinker}/monolinker.exe | 0 .../Xenko.Core.AssemblyProcessor.Tests.csproj | 3 --- .../SerializationProcessor.cs | 2 +- .../Xenko.Core.AssemblyProcessor.csproj | 15 ++------------- .../Xenko.GameStudio/Xenko.GameStudio.csproj | 5 +---- .../Xenko.PublicApiCheck.csproj | 4 +--- 23 files changed, 19 insertions(+), 46 deletions(-) delete mode 100644 deps/Mono.Cecil/Mono.Cecil.Rocks.dll delete mode 100644 deps/Mono.Cecil/build.bat delete mode 100644 deps/Mono.Cecil/checkout.bat rename deps/{Mono.Cecil => monolinker}/.gitignore (100%) rename deps/{Mono.Cecil => monolinker}/License.txt (100%) rename deps/{Mono.Cecil => monolinker}/Mono.Cecil.Mdb.dll (100%) rename deps/{Mono.Cecil => monolinker}/Mono.Cecil.Pdb.dll (100%) rename deps/{Mono.Cecil => monolinker}/Mono.Cecil.dll (100%) rename deps/{Mono.Cecil => monolinker}/monolinker.exe (100%) diff --git a/deps/AssemblyProcessor/Mono.Cecil.Mdb.dll b/deps/AssemblyProcessor/Mono.Cecil.Mdb.dll index 65b2b47d73..c7e71e5f2c 100644 --- a/deps/AssemblyProcessor/Mono.Cecil.Mdb.dll +++ b/deps/AssemblyProcessor/Mono.Cecil.Mdb.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8cb8c40bb34158c28fe278d78b67219532cc241ae0ca69831b931be0320e5d0 -size 43520 +oid sha256:66fb9c6f5d958369dad3cf2e9d366028625112c91eb00adec1ed985728fb9fa7 +size 43008 diff --git a/deps/AssemblyProcessor/Mono.Cecil.Pdb.dll b/deps/AssemblyProcessor/Mono.Cecil.Pdb.dll index 97d17e6c4a..0dfba07850 100644 --- a/deps/AssemblyProcessor/Mono.Cecil.Pdb.dll +++ b/deps/AssemblyProcessor/Mono.Cecil.Pdb.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58a6cd3764a15ba9715fa4cc53ea0e61fbf9a8a0d4206762af40aea9167abe63 -size 87040 +oid sha256:5bd7a0e224925912265ee32a8d7e4d97253db8ef6181e2725d03f26e3312821b +size 86528 diff --git a/deps/AssemblyProcessor/Mono.Cecil.Rocks.dll b/deps/AssemblyProcessor/Mono.Cecil.Rocks.dll index a45c8a9d66..948c255450 100644 --- a/deps/AssemblyProcessor/Mono.Cecil.Rocks.dll +++ b/deps/AssemblyProcessor/Mono.Cecil.Rocks.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ddd6eb7e03cf200af3c560fe5717cbcca4b3df8932ac8511f7a2ad3dc1382390 +oid sha256:02f3141e5ab9a806099be8227d68473b3b4d6f1ab5ee19476011ec3be5c66af8 size 27648 diff --git a/deps/AssemblyProcessor/Mono.Cecil.dll b/deps/AssemblyProcessor/Mono.Cecil.dll index 8b8e871696..990f7cf411 100644 --- a/deps/AssemblyProcessor/Mono.Cecil.dll +++ b/deps/AssemblyProcessor/Mono.Cecil.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2802ecd87ca6c9cf35e4a4c2c40130139178d2b432eb65ab97b6464e77ff2c3c -size 342528 +oid sha256:046435e644748c5c46545e4304727aabde76e59b12b7edc3ce04cc1366ef5dfc +size 339456 diff --git a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.exe b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.exe index dc9253c6c6..71b0606c35 100644 --- a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.exe +++ b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7085da0e718673522e2a68c1206e9818a74dd6c31f7feb45d51863134f4456d -size 751616 +oid sha256:da27b5d6ba6424edbc8ce2381d4ccca258d8dd6ac2aa3b51b22c5049f0c2c284 +size 748544 diff --git a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.pdb b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.pdb index be74f44731..eb4b7fdf3e 100644 --- a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.pdb +++ b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.Packed.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0643daf0d63f2ac313a3aec0fe676a7880cb500c281f305436e42744757aa0b8 -size 298496 +oid sha256:80d9ff4f0992a4e483223dee135c391b54c8d5d0c64423609a729f35467c631b +size 300544 diff --git a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.exe b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.exe index 29a15def47..b3274cf25d 100644 --- a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.exe +++ b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e94a4f8a21f93e2c57a16207961876749f8e71e405494e8c1b3e603bf572a92a +oid sha256:a815ea8e4baf8d017bd32ea2b8eb60ff73d25cf9fcb2ced247067bbd31940fc5 size 154624 diff --git a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.pdb b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.pdb index 4432a3d2e5..f573f637b1 100644 --- a/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.pdb +++ b/deps/AssemblyProcessor/Xenko.Core.AssemblyProcessor.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdae77669dce7a2a8ce8655dfbe9b0c917dc37b3a7c5f6ec10bc9d57d7007a78 +oid sha256:f350dc02632de70697cc8551799c4eaeb8829a94e0b623938a578f23c19a38fd size 409088 diff --git a/deps/Mono.Cecil/Mono.Cecil.Rocks.dll b/deps/Mono.Cecil/Mono.Cecil.Rocks.dll deleted file mode 100644 index a45c8a9d66..0000000000 --- a/deps/Mono.Cecil/Mono.Cecil.Rocks.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ddd6eb7e03cf200af3c560fe5717cbcca4b3df8932ac8511f7a2ad3dc1382390 -size 27648 diff --git a/deps/Mono.Cecil/build.bat b/deps/Mono.Cecil/build.bat deleted file mode 100644 index 4f542efaf9..0000000000 --- a/deps/Mono.Cecil/build.bat +++ /dev/null @@ -1,3 +0,0 @@ -call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\vc\vcvarsall.bat" x86 -msbuild ..\..\externals\il-repack\cecil\Mono.Cecil.sln /Property:Configuration=net_4_0_Release;Platform="Any CPU" -copy ..\..\externals\il-repack\cecil\bin\net_4_0_Release\*.* . diff --git a/deps/Mono.Cecil/checkout.bat b/deps/Mono.Cecil/checkout.bat deleted file mode 100644 index 1b8d8366f8..0000000000 --- a/deps/Mono.Cecil/checkout.bat +++ /dev/null @@ -1,2 +0,0 @@ -echo "Checking out ILRepack which contains Cecil" -..\ILRepack\checkout.bat diff --git a/deps/OpenTK/iOS/link.bat b/deps/OpenTK/iOS/link.bat index ee55e4a7da..687f486ae7 100644 --- a/deps/OpenTK/iOS/link.bat +++ b/deps/OpenTK/iOS/link.bat @@ -1,5 +1,5 @@ pushd ..\..\..\bin\iOS-OpenGLES -..\..\deps\Mono.Cecil\monolinker -a Xenko.Engine.dll -a Xenko.Games.dll -a Xenko.Input.dll -a Xenko.Graphics.dll -p link OpenTK-1.1 -u copy -b true -d "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Xamarin.iOS\v1.0" +..\..\deps\monolinker\monolinker -a Xenko.Engine.dll -a Xenko.Games.dll -a Xenko.Input.dll -a Xenko.Graphics.dll -p link OpenTK-1.1 -u copy -b true -d "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Xamarin.iOS\v1.0" popd copy ..\..\..\bin\iOS-OpenGLES\output\OpenTK-1.1.dll . \ No newline at end of file diff --git a/deps/Mono.Cecil/.gitignore b/deps/monolinker/.gitignore similarity index 100% rename from deps/Mono.Cecil/.gitignore rename to deps/monolinker/.gitignore diff --git a/deps/Mono.Cecil/License.txt b/deps/monolinker/License.txt similarity index 100% rename from deps/Mono.Cecil/License.txt rename to deps/monolinker/License.txt diff --git a/deps/Mono.Cecil/Mono.Cecil.Mdb.dll b/deps/monolinker/Mono.Cecil.Mdb.dll similarity index 100% rename from deps/Mono.Cecil/Mono.Cecil.Mdb.dll rename to deps/monolinker/Mono.Cecil.Mdb.dll diff --git a/deps/Mono.Cecil/Mono.Cecil.Pdb.dll b/deps/monolinker/Mono.Cecil.Pdb.dll similarity index 100% rename from deps/Mono.Cecil/Mono.Cecil.Pdb.dll rename to deps/monolinker/Mono.Cecil.Pdb.dll diff --git a/deps/Mono.Cecil/Mono.Cecil.dll b/deps/monolinker/Mono.Cecil.dll similarity index 100% rename from deps/Mono.Cecil/Mono.Cecil.dll rename to deps/monolinker/Mono.Cecil.dll diff --git a/deps/Mono.Cecil/monolinker.exe b/deps/monolinker/monolinker.exe similarity index 100% rename from deps/Mono.Cecil/monolinker.exe rename to deps/monolinker/monolinker.exe diff --git a/sources/core/Xenko.Core.AssemblyProcessor.Tests/Xenko.Core.AssemblyProcessor.Tests.csproj b/sources/core/Xenko.Core.AssemblyProcessor.Tests/Xenko.Core.AssemblyProcessor.Tests.csproj index febba8374c..275a73206b 100644 --- a/sources/core/Xenko.Core.AssemblyProcessor.Tests/Xenko.Core.AssemblyProcessor.Tests.csproj +++ b/sources/core/Xenko.Core.AssemblyProcessor.Tests/Xenko.Core.AssemblyProcessor.Tests.csproj @@ -20,9 +20,6 @@ true - - ..\..\..\deps\Mono.Cecil\Mono.Cecil.dll - ..\..\..\deps\NUnit\addins\nunit.core.interfaces.dll diff --git a/sources/core/Xenko.Core.AssemblyProcessor/SerializationProcessor.cs b/sources/core/Xenko.Core.AssemblyProcessor/SerializationProcessor.cs index dec6de8192..4b5eabb5e3 100644 --- a/sources/core/Xenko.Core.AssemblyProcessor/SerializationProcessor.cs +++ b/sources/core/Xenko.Core.AssemblyProcessor/SerializationProcessor.cs @@ -465,7 +465,7 @@ private static void GenerateSerializerCode(ComplexSerializerRegistry registry) { // Generating: System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(typeof(<#=type.Value.SerializerType.ConvertCSharp()#>).TypeHandle); initializeMethodIL.Append(Instruction.Create(OpCodes.Ldtoken, type.Value.SerializerType)); - initializeMethodIL.Append(Instruction.Create(OpCodes.Call, getTypeFromHandleMethod)); + initializeMethodIL.Append(Instruction.Create(OpCodes.Call, assembly.MainModule.ImportReference(getTypeFromHandleMethod))); initializeMethodIL.Append(Instruction.Create(OpCodes.Callvirt, getTypeHandleMethodRef)); initializeMethodIL.Append(Instruction.Create(OpCodes.Call, runClassConstructorMethod)); } diff --git a/sources/core/Xenko.Core.AssemblyProcessor/Xenko.Core.AssemblyProcessor.csproj b/sources/core/Xenko.Core.AssemblyProcessor/Xenko.Core.AssemblyProcessor.csproj index 8772ff8f55..2b92050cb3 100644 --- a/sources/core/Xenko.Core.AssemblyProcessor/Xenko.Core.AssemblyProcessor.csproj +++ b/sources/core/Xenko.Core.AssemblyProcessor/Xenko.Core.AssemblyProcessor.csproj @@ -24,19 +24,8 @@ + - - ..\..\..\deps\Mono.Cecil\Mono.Cecil.dll - - - ..\..\..\deps\Mono.Cecil\Mono.Cecil.Pdb.dll - - - ..\..\..\deps\Mono.Cecil\Mono.Cecil.Mdb.dll - - - ..\..\..\deps\Mono.Cecil\Mono.Cecil.Rocks.dll - @@ -84,7 +73,7 @@ - + diff --git a/sources/editor/Xenko.GameStudio/Xenko.GameStudio.csproj b/sources/editor/Xenko.GameStudio/Xenko.GameStudio.csproj index d9ee3e1ffb..45029f1fa4 100644 --- a/sources/editor/Xenko.GameStudio/Xenko.GameStudio.csproj +++ b/sources/editor/Xenko.GameStudio/Xenko.GameStudio.csproj @@ -43,10 +43,7 @@ - - False - $(XenkoCommonDependenciesDir)Mono.Cecil\Mono.Cecil.dll - + False diff --git a/sources/tools/Xenko.PublicApiCheck/Xenko.PublicApiCheck.csproj b/sources/tools/Xenko.PublicApiCheck/Xenko.PublicApiCheck.csproj index 15eabd3bf8..bc17ed71f5 100644 --- a/sources/tools/Xenko.PublicApiCheck/Xenko.PublicApiCheck.csproj +++ b/sources/tools/Xenko.PublicApiCheck/Xenko.PublicApiCheck.csproj @@ -18,9 +18,7 @@ TRACE - - $(XenkoCommonDependenciesDir)Mono.Cecil\Mono.Cecil.dll - +