From 5d08952dbfed8ec13a70af34aa3c866f891a89e2 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 14 May 2022 17:23:01 +0900 Subject: [PATCH 001/144] Added System.Attribute. --- src/IL2C.Runtime/include/System/Attribute.h | 44 +++++++++++++++++++++ src/IL2C.Runtime/include/il2c.h | 1 + src/IL2C.Runtime/src/System/Attribute.c | 25 ++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 src/IL2C.Runtime/include/System/Attribute.h create mode 100644 src/IL2C.Runtime/src/System/Attribute.c diff --git a/src/IL2C.Runtime/include/System/Attribute.h b/src/IL2C.Runtime/include/System/Attribute.h new file mode 100644 index 00000000..6bf0fc29 --- /dev/null +++ b/src/IL2C.Runtime/include/System/Attribute.h @@ -0,0 +1,44 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_Attribute_H__ +#define System_Attribute_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.Attribute + +typedef struct System_Attribute System_Attribute; +typedef System_Object_VTABLE_DECL__ System_Attribute_VTABLE_DECL__; + +struct System_Attribute +{ + System_Attribute_VTABLE_DECL__* vptr0__; +}; + +#define System_Attribute_VTABLE__ System_Object_VTABLE__ + +IL2C_DECLARE_RUNTIME_TYPE(System_Attribute); + +static inline void System_Attribute__ctor(System_Attribute* this__) +{ +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/il2c.h b/src/IL2C.Runtime/include/il2c.h index 42893774..4b537764 100644 --- a/src/IL2C.Runtime/include/il2c.h +++ b/src/IL2C.Runtime/include/il2c.h @@ -380,6 +380,7 @@ typedef void* untyped_ptr; #include "System/Enum.h" #include "System/Delegate.h" #include "System/MulticastDelegate.h" +#include "System/Attribute.h" #include "System/RuntimeFieldHandle.h" #include "System/Runtime/CompilerServices/RuntimeHelpers.h" #include "System/Exception.h" diff --git a/src/IL2C.Runtime/src/System/Attribute.c b/src/IL2C.Runtime/src/System/Attribute.c new file mode 100644 index 00000000..c09ad457 --- /dev/null +++ b/src/IL2C.Runtime/src/System/Attribute.c @@ -0,0 +1,25 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" + +///////////////////////////////////////////////////////////// +// System.Attribute + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_BEGIN( + System_Attribute, + "System.Attribute", + IL2C_TYPE_REFERENCE, + sizeof(System_Attribute), + System_Object, + 0, 0) +IL2C_RUNTIME_TYPE_END(); From 4e9b4361ed6f2fb5716c3164f6bb946825888b80 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 15 May 2022 20:47:20 +0900 Subject: [PATCH 002/144] Switched ILCompose instead ILSupport script. --- src/IL2C.Build/build/IL2C.Build.targets | 2 +- tests/Directory.Build.props | 2 +- .../IL2C.Core.Test.BasicTypes.csproj | 8 +- .../ILSupport.Standard.targets | 192 ------------------ .../Box/Box_Enum.il | 16 +- .../Box/Box_Enum_Narrowing.il | 8 +- .../Box/Box_Enum_Widing.il | 8 +- .../Brfalse/Brfalse.cs | 3 + .../Brfalse_s/Brfalse_s.cs | 3 + .../Callvirt/Callvirt_Derived2.il | 6 +- .../Callvirt/Callvirt_Derived2_Newslot.il | 10 +- .../Callvirt_Derived2_Newslot_Virtual.il | 10 +- .../Callvirt/Callvirt_Derived3_Newslot.il | 14 +- .../Callvirt_Derived3_Newslot_Virtual.il | 14 +- .../IL2C.Core.Test.ILConverters.csproj | 9 +- .../Ldsfld/Ldsfld.il | 32 +-- .../Ldsflda/Ldsflda.il | 32 +-- .../Stsfld/Stsfld.il | 60 +++--- .../GarbageCollection/GarbageCollection.il | 42 ++-- .../IL2C.Core.Test.RuntimeSystems.csproj | 9 +- 20 files changed, 139 insertions(+), 341 deletions(-) delete mode 100644 tests/IL2C.Core.Test.Common/ILSupport.Standard.targets diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index 3957691d..d71d6196 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -48,7 +48,7 @@ - + diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 3d1a0e55..3f66969d 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -6,7 +6,7 @@ false portable - False + true diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index d8b82d48..d226fd7a 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -12,6 +12,7 @@ + @@ -19,11 +20,4 @@ - - - - - - - diff --git a/tests/IL2C.Core.Test.Common/ILSupport.Standard.targets b/tests/IL2C.Core.Test.Common/ILSupport.Standard.targets deleted file mode 100644 index 9cf5b11d..00000000 --- a/tests/IL2C.Core.Test.Common/ILSupport.Standard.targets +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - <_runtime>$(NETCoreSdkPortableRuntimeIdentifier) - <_runtime Condition="'$(_runtime)' == ''">$(NETCoreSdkRuntimeIdentifier) - $(_runtime) - - - 6.0.0-rc.2.21480.5 - 5.0.0 - - runtime.$(MicrosoftNetCoreIlasmPackageRuntimeId).microsoft.netcore.ilasm - runtime.$(MicrosoftNetCoreIlasmPackageRuntimeId).microsoft.netcore.ildasm - dotnet-ilverify - - - <_IlasmDir Condition="'$(ILAsmToolPath)' != ''">$([MSBuild]::NormalizeDirectory($(ILAsmToolPath))) - <_IldasmDir Condition="'$(ILAsmToolPath)' != ''">$([MSBuild]::NormalizeDirectory($(ILAsmToolPath))) - <_IlverifyDir Condition="'$(ILAsmToolPath)' != ''">$([MSBuild]::NormalizeDirectory($(ILAsmToolPath))) - $(CoreCompileDependsOn);ResolveIlAsmToolPaths - - - <_IlasmPackageReference Include="$(MicrosoftNetCoreIlasmPackageName)" Version="$(MicrosoftNETCoreToolingVersion)" /> - <_IldasmPackageReference Include="$(MicrosoftNetCoreIldasmPackageName)" Version="$(MicrosoftNETCoreToolingVersion)" /> - <_IlverifyPackageReference Include="$(MicrosoftNetCoreIlverifyPackageName)" Version="$(ILVerifyPackageVersion)" /> - - - - - - - - - <_IlasmPackageReference NativePath="$(NuGetPackageRoot)\%(Identity)\%(Version)\runtimes\$(MicrosoftNetCoreIlasmPackageRuntimeId)\native" /> - <_IlasmSourceFiles Include="%(_IlasmPackageReference.NativePath)\**\*" /> - <_IldasmPackageReference NativePath="$(NuGetPackageRoot)\%(Identity)\%(Version)\runtimes\$(MicrosoftNetCoreIlasmPackageRuntimeId)\native" /> - <_IldasmSourceFiles Include="%(_IldasmPackageReference.NativePath)\**\*" /> - <_IlverifyPackageReference AssemblyPath="$(NuGetPackageRoot)\%(Identity)\%(Version)\tools\netcoreapp3.1\any" /> - <_IlverifySourceFiles Include="%(_IlverifyPackageReference.AssemblyPath)\**\*" /> - - - - - - <_IlasmDir Condition="'$(_IlasmDir)' == '' and '%(_IlasmPackageReference.Identity)' == '$(MicrosoftNetCoreIlasmPackageName)'">%(_IlasmPackageReference.NativePath)/ - <_IldasmDir Condition="'$(_IldasmDir)' == '' and '%(_IldasmPackageReference.Identity)' == '$(MicrosoftNetCoreIldasmPackageName)'">%(_IldasmPackageReference.NativePath)/ - <_IlverifyDir Condition="'$(_IlverifyDir)' == '' and '%(_IlverifyPackageReference.Identity)' == '$(MicrosoftNetCoreIlverifyPackageName)'">%(_IlverifyPackageReference.AssemblyPath)/ - - - $([System.IO.Path]::Combine('$(_IlasmDir)','ilasm')) - $([System.IO.Path]::Combine('$(_IldasmDir)','ildasm')) - $([System.IO.Path]::Combine('$(_IlverifyDir)','ILVerify.dll')) - - - - - - - - - - - - - - @(IntermediateAssembly->'%(RootDir)%(Directory)%(Filename).il', ' ') - @(IntermediateAssembly->'%(RootDir)%(Directory)%(Filename).res', ' ') - - - - - - - "$(ILDasmPath)" -linenum -utf8 -output="$(ILFile)" @(IntermediateAssembly->'"%(FullPath)"', ' ') - - - - - - - - $([System.IO.File]::ReadAllText($(ILFile))) - - // method ${method} forwardref removed for IL import - \.method [^{}]+ cil managed forwardref[^}]+} // end of method (?<method>[^ \r\t\n]+) - $([System.Text.RegularExpressions.Regex]::Replace($(ILSource), $(Pattern), $(Replacement))) - \.method [^{}]+ cil managed[^\a]+"extern was not given a DllImport attribute"[^}]+} // end of method (?<method>[^ \r\t\n]+) - $([System.Text.RegularExpressions.Regex]::Replace($(ILSource), $(Pattern), $(Replacement))) - - - - - - - - - - - - "$(ILAsmPath)" -nologo -quite -output=@(IntermediateAssembly->'"%(FullPath)"', ' ') - $([System.IO.Path]::Combine('$(MSBuildProjectDirectory)','$(IntermediateOutputPath)','Merged.il')) - - - $(ILAsm) -alignment=$(FileAlignment) - - - $(ILAsm) -base=$(BaseAddress) - - - $(ILAsm) -dll - - - - $(ILAsm) -debug=opt -pdbfmt=portable - - - - $(ILAsm) -debug=impl -pdbfmt=portable - - - - $(ILAsm) -debug -pdbfmt=portable - - - - $(ILAsm) -debug -pdbfmt=portable - - - $(ILAsm) -optimize - - - $(ILAsm) -pe64 -itanium - - - $(ILAsm) -key:"$(AssemblyOriginatorKeyFile)" - - - - $(ILAsm) "$(ILFile)" - - - - - - - - - - - - - - - - - - - - - @(IntermediateAssembly->'"%(FullPath)"', ' ') - @(ReferencePath->'"%(FullPath)"', ' ') - - - - - - - - diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.il b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.il index d05d300c..05aa9dfd 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.il +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.il @@ -4,7 +4,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Byte_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Byte_Type ret } @@ -12,7 +12,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int16_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int16_Type ret } @@ -20,7 +20,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int32_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int32_Type ret } @@ -28,7 +28,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int64_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int64_Type ret } @@ -36,7 +36,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_SByte_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_SByte_Type ret } @@ -44,7 +44,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_UInt16_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_UInt16_Type ret } @@ -52,7 +52,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_UInt32_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_UInt32_Type ret } @@ -60,7 +60,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_UInt64_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_UInt64_Type ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.il b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.il index 932d24a0..2142eb34 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.il +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.il @@ -4,7 +4,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Byte_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Byte_Type ret } @@ -12,7 +12,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int16_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int16_Type ret } @@ -20,7 +20,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_SByte_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_SByte_Type ret } @@ -28,7 +28,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_UInt16_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_UInt16_Type ret } diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.il b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.il index 794a6a45..227de922 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.il +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.il @@ -4,7 +4,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int32_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int32_Type ret } @@ -12,7 +12,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int32_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int32_Type ret } @@ -20,7 +20,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int32_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int32_Type ret } @@ -28,7 +28,7 @@ { .maxstack 1 ldarg.0 - box IL2C.ILConverters.Box_Enum_Int32_Type + box [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Box_Enum_Int32_Type ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs index b410b96c..92659f98 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs @@ -32,5 +32,8 @@ public sealed class Brfalse [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtrValue(IntPtr v); + + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern string ObjectValue(object v); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs index 35db9937..5365c0cf 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs @@ -32,5 +32,8 @@ public sealed class Brfalse_s [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtrValue(IntPtr v); + + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern string ObjectValue(object v); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.il b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.il index a3d94395..19194d54 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.il +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.il @@ -3,7 +3,7 @@ .method public static string Derived2_ToString_System_Object() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2::.ctor() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2::.ctor() callvirt instance string object::ToString() ret } @@ -11,8 +11,8 @@ .method public static string Derived2_ToString_IL2C_ILConverters_Callvirt() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived2::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2::ToString() ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.il b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.il index 141a600c..c1d0236a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.il +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.il @@ -3,7 +3,7 @@ .method public static string Derived2_Newslot_ToString_System_Object() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2_Newslot::.ctor() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot::.ctor() callvirt instance string object::ToString() ret } @@ -11,16 +11,16 @@ .method public static string Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt_Base() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2_Newslot::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived2_Newslot_Base::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot_Base::ToString() ret } .method public static string Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2_Newslot::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived2_Newslot::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot::ToString() ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.il b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.il index ec3f4acb..bba0c8a2 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.il +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.il @@ -3,7 +3,7 @@ .method public static string Derived2_Newslot_Virtual_ToString_System_Object() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::.ctor() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::.ctor() callvirt instance string object::ToString() ret } @@ -11,16 +11,16 @@ .method public static string Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual_Base::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual_Base::ToString() ret } .method public static string Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual::ToString() ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.il b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.il index cfaa42bb..8f1b7bf7 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.il +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.il @@ -3,7 +3,7 @@ .method public static string Derived3_Newslot_ToString_System_Object() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() callvirt instance string object::ToString() ret } @@ -11,24 +11,24 @@ .method public static string Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base1() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived3_Newslot_Base1::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Base1::ToString() ret } .method public static string Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base2() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived3_Newslot_Base2::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Base2::ToString() ret } .method public static string Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived3_Newslot::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot::ToString() ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.il b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.il index 5a4915f9..55258a3c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.il +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.il @@ -3,7 +3,7 @@ .method public static string Derived3_Newslot_Virtual_ToString_System_Object() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() callvirt instance string object::ToString() ret } @@ -11,24 +11,24 @@ .method public static string Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base1() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual_Base1::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual_Base1::ToString() ret } .method public static string Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base2() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual_Base2::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual_Base2::ToString() ret } .method public static string Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt() cil managed { .maxstack 1 - newobj instance void class IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() - callvirt instance string IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::ToString() + newobj instance void class [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::.ctor() + callvirt instance string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Callvirt_Derived3_Newslot_Virtual::ToString() ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index c1a3b912..678b99a3 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -3,6 +3,7 @@ net48;netstandard2.0 Library + False enable IL2C.Core.Test.ILConverters @@ -11,6 +12,7 @@ + @@ -18,11 +20,4 @@ - - - - - - - diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il index 44ad3717..ec735661 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il @@ -3,112 +3,112 @@ .method public static bool True() cil managed { .maxstack 1 - ldsfld bool IL2C.ILConverters.Ldsfld_Field::TrueValue + ldsfld bool [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::TrueValue ret } .method public static bool False() cil managed { .maxstack 1 - ldsfld bool IL2C.ILConverters.Ldsfld_Field::FalseValue + ldsfld bool [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::FalseValue ret } .method public static uint8 Byte() cil managed { .maxstack 1 - ldsfld uint8 IL2C.ILConverters.Ldsfld_Field::ByteValue + ldsfld uint8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::ByteValue ret } .method public static int16 Int16() cil managed { .maxstack 1 - ldsfld int16 IL2C.ILConverters.Ldsfld_Field::Int16Value + ldsfld int16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::Int16Value ret } .method public static int32 Int32() cil managed { .maxstack 1 - ldsfld int32 IL2C.ILConverters.Ldsfld_Field::Int32Value + ldsfld int32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::Int32Value ret } .method public static int64 Int64() cil managed { .maxstack 1 - ldsfld int64 IL2C.ILConverters.Ldsfld_Field::Int64Value + ldsfld int64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::Int64Value ret } .method public static int8 SByte() cil managed { .maxstack 1 - ldsfld int8 IL2C.ILConverters.Ldsfld_Field::SByteValue + ldsfld int8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::SByteValue ret } .method public static uint16 UInt16() cil managed { .maxstack 1 - ldsfld uint16 IL2C.ILConverters.Ldsfld_Field::UInt16Value + ldsfld uint16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UInt16Value ret } .method public static uint32 UInt32() cil managed { .maxstack 1 - ldsfld uint32 IL2C.ILConverters.Ldsfld_Field::UInt32Value + ldsfld uint32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UInt32Value ret } .method public static uint64 UInt64() cil managed { .maxstack 1 - ldsfld uint64 IL2C.ILConverters.Ldsfld_Field::UInt64Value + ldsfld uint64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UInt64Value ret } .method public static native int IntPtr() cil managed { .maxstack 1 - ldsfld native int IL2C.ILConverters.Ldsfld_Field::IntPtrValue + ldsfld native int [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::IntPtrValue ret } .method public static native uint UIntPtr() cil managed { .maxstack 1 - ldsfld native uint IL2C.ILConverters.Ldsfld_Field::UIntPtrValue + ldsfld native uint [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UIntPtrValue ret } .method public static float32 Single() cil managed { .maxstack 1 - ldsfld float32 IL2C.ILConverters.Ldsfld_Field::SingleValue + ldsfld float32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::SingleValue ret } .method public static float64 Double() cil managed { .maxstack 1 - ldsfld float64 IL2C.ILConverters.Ldsfld_Field::DoubleValue + ldsfld float64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::DoubleValue ret } .method public static char Char() cil managed { .maxstack 1 - ldsfld char IL2C.ILConverters.Ldsfld_Field::CharValue + ldsfld char [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::CharValue ret } .method public static string String() cil managed { .maxstack 1 - ldsfld string IL2C.ILConverters.Ldsfld_Field::StringValue + ldsfld string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::StringValue ret } } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il index 173e8035..a2afbf44 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il @@ -3,7 +3,7 @@ .method public static bool True() cil managed { .maxstack 1 - ldsflda bool IL2C.ILConverters.Ldsfld_Field::TrueValue + ldsflda bool [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::TrueValue ldind.u1 ret } @@ -11,7 +11,7 @@ .method public static bool False() cil managed { .maxstack 1 - ldsflda bool IL2C.ILConverters.Ldsfld_Field::FalseValue + ldsflda bool [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::FalseValue ldind.u1 ret } @@ -19,7 +19,7 @@ .method public static uint8 Byte() cil managed { .maxstack 1 - ldsflda uint8 IL2C.ILConverters.Ldsfld_Field::ByteValue + ldsflda uint8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::ByteValue ldind.u1 ret } @@ -27,7 +27,7 @@ .method public static int16 Int16() cil managed { .maxstack 1 - ldsflda int16 IL2C.ILConverters.Ldsfld_Field::Int16Value + ldsflda int16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::Int16Value ldind.i2 ret } @@ -35,7 +35,7 @@ .method public static int32 Int32() cil managed { .maxstack 1 - ldsflda int32 IL2C.ILConverters.Ldsfld_Field::Int32Value + ldsflda int32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::Int32Value ldind.i4 ret } @@ -43,7 +43,7 @@ .method public static int64 Int64() cil managed { .maxstack 1 - ldsflda int64 IL2C.ILConverters.Ldsfld_Field::Int64Value + ldsflda int64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::Int64Value ldind.i8 ret } @@ -51,7 +51,7 @@ .method public static int8 SByte() cil managed { .maxstack 1 - ldsflda int8 IL2C.ILConverters.Ldsfld_Field::SByteValue + ldsflda int8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::SByteValue ldind.i1 ret } @@ -59,7 +59,7 @@ .method public static uint16 UInt16() cil managed { .maxstack 1 - ldsflda uint16 IL2C.ILConverters.Ldsfld_Field::UInt16Value + ldsflda uint16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UInt16Value ldind.u2 ret } @@ -67,7 +67,7 @@ .method public static uint32 UInt32() cil managed { .maxstack 1 - ldsflda uint32 IL2C.ILConverters.Ldsfld_Field::UInt32Value + ldsflda uint32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UInt32Value ldind.u4 ret } @@ -75,7 +75,7 @@ .method public static uint64 UInt64() cil managed { .maxstack 1 - ldsflda uint64 IL2C.ILConverters.Ldsfld_Field::UInt64Value + ldsflda uint64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UInt64Value ldind.i8 ret } @@ -83,7 +83,7 @@ .method public static native int IntPtr() cil managed { .maxstack 1 - ldsflda native int IL2C.ILConverters.Ldsfld_Field::IntPtrValue + ldsflda native int [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::IntPtrValue ldind.i ret } @@ -91,7 +91,7 @@ .method public static native uint UIntPtr() cil managed { .maxstack 1 - ldsflda native uint IL2C.ILConverters.Ldsfld_Field::UIntPtrValue + ldsflda native uint [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UIntPtrValue ldind.i ret } @@ -99,7 +99,7 @@ .method public static float32 Single() cil managed { .maxstack 1 - ldsflda float32 IL2C.ILConverters.Ldsfld_Field::SingleValue + ldsflda float32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::SingleValue ldind.r4 ret } @@ -107,7 +107,7 @@ .method public static float64 Double() cil managed { .maxstack 1 - ldsflda float64 IL2C.ILConverters.Ldsfld_Field::DoubleValue + ldsflda float64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::DoubleValue ldind.r8 ret } @@ -115,7 +115,7 @@ .method public static char Char() cil managed { .maxstack 1 - ldsflda char IL2C.ILConverters.Ldsfld_Field::CharValue + ldsflda char [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::CharValue ldind.u2 ret } @@ -123,7 +123,7 @@ .method public static string String() cil managed { .maxstack 1 - ldsflda string IL2C.ILConverters.Ldsfld_Field::StringValue + ldsflda string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::StringValue ldind.ref ret } diff --git a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il index 32dc0b78..0d96c25d 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il +++ b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il @@ -4,8 +4,8 @@ { .maxstack 1 ldarg.0 - stsfld bool IL2C.ILConverters.Stsfld_Field::BooleanValue - ldsfld bool IL2C.ILConverters.Stsfld_Field::BooleanValue + stsfld bool [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::BooleanValue + ldsfld bool [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::BooleanValue ret } @@ -13,8 +13,8 @@ { .maxstack 1 ldarg.0 - stsfld uint8 IL2C.ILConverters.Stsfld_Field::ByteValue - ldsfld uint8 IL2C.ILConverters.Stsfld_Field::ByteValue + stsfld uint8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::ByteValue + ldsfld uint8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::ByteValue ret } @@ -22,8 +22,8 @@ { .maxstack 1 ldarg.0 - stsfld int16 IL2C.ILConverters.Stsfld_Field::Int16Value - ldsfld int16 IL2C.ILConverters.Stsfld_Field::Int16Value + stsfld int16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::Int16Value + ldsfld int16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::Int16Value ret } @@ -31,8 +31,8 @@ { .maxstack 1 ldarg.0 - stsfld int32 IL2C.ILConverters.Stsfld_Field::Int32Value - ldsfld int32 IL2C.ILConverters.Stsfld_Field::Int32Value + stsfld int32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::Int32Value + ldsfld int32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::Int32Value ret } @@ -40,8 +40,8 @@ { .maxstack 1 ldarg.0 - stsfld int64 IL2C.ILConverters.Stsfld_Field::Int64Value - ldsfld int64 IL2C.ILConverters.Stsfld_Field::Int64Value + stsfld int64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::Int64Value + ldsfld int64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::Int64Value ret } @@ -49,8 +49,8 @@ { .maxstack 1 ldarg.0 - stsfld int8 IL2C.ILConverters.Stsfld_Field::SByteValue - ldsfld int8 IL2C.ILConverters.Stsfld_Field::SByteValue + stsfld int8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::SByteValue + ldsfld int8 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::SByteValue ret } @@ -58,8 +58,8 @@ { .maxstack 1 ldarg.0 - stsfld uint16 IL2C.ILConverters.Stsfld_Field::UInt16Value - ldsfld uint16 IL2C.ILConverters.Stsfld_Field::UInt16Value + stsfld uint16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UInt16Value + ldsfld uint16 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UInt16Value ret } @@ -67,8 +67,8 @@ { .maxstack 1 ldarg.0 - stsfld uint32 IL2C.ILConverters.Stsfld_Field::UInt32Value - ldsfld uint32 IL2C.ILConverters.Stsfld_Field::UInt32Value + stsfld uint32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UInt32Value + ldsfld uint32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UInt32Value ret } @@ -76,8 +76,8 @@ { .maxstack 1 ldarg.0 - stsfld uint64 IL2C.ILConverters.Stsfld_Field::UInt64Value - ldsfld uint64 IL2C.ILConverters.Stsfld_Field::UInt64Value + stsfld uint64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UInt64Value + ldsfld uint64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UInt64Value ret } @@ -85,8 +85,8 @@ { .maxstack 1 ldarg.0 - stsfld native int IL2C.ILConverters.Stsfld_Field::IntPtrValue - ldsfld native int IL2C.ILConverters.Stsfld_Field::IntPtrValue + stsfld native int [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::IntPtrValue + ldsfld native int [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::IntPtrValue ret } @@ -94,8 +94,8 @@ { .maxstack 1 ldarg.0 - stsfld native uint IL2C.ILConverters.Stsfld_Field::UIntPtrValue - ldsfld native uint IL2C.ILConverters.Stsfld_Field::UIntPtrValue + stsfld native uint [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UIntPtrValue + ldsfld native uint [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::UIntPtrValue ret } @@ -103,8 +103,8 @@ { .maxstack 1 ldarg.0 - stsfld float32 IL2C.ILConverters.Stsfld_Field::SingleValue - ldsfld float32 IL2C.ILConverters.Stsfld_Field::SingleValue + stsfld float32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::SingleValue + ldsfld float32 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::SingleValue ret } @@ -112,8 +112,8 @@ { .maxstack 1 ldarg.0 - stsfld float64 IL2C.ILConverters.Stsfld_Field::DoubleValue - ldsfld float64 IL2C.ILConverters.Stsfld_Field::DoubleValue + stsfld float64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::DoubleValue + ldsfld float64 [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::DoubleValue ret } @@ -121,8 +121,8 @@ { .maxstack 1 ldarg.0 - stsfld char IL2C.ILConverters.Stsfld_Field::CharValue - ldsfld char IL2C.ILConverters.Stsfld_Field::CharValue + stsfld char [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::CharValue + ldsfld char [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::CharValue ret } @@ -130,8 +130,8 @@ { .maxstack 1 ldarg.0 - stsfld string IL2C.ILConverters.Stsfld_Field::StringValue - ldsfld string IL2C.ILConverters.Stsfld_Field::StringValue + stsfld string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::StringValue + ldsfld string [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Stsfld_Field::StringValue ret } } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.il b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.il index 84d07130..5ec30527 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.il +++ b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.il @@ -4,13 +4,13 @@ { .maxstack 3 .locals init ( - [0] class IL2C.RuntimeSystems.ObjRefInsideObjRefType + [0] class [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType ) ldstr "ABC" ldstr "DEF" call string string::Concat(string, string) - newobj instance void IL2C.RuntimeSystems.ObjRefInsideObjRefType::.ctor(string) + newobj instance void [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType::.ctor(string) stloc.0 // Release concat string from the evaluation stack @@ -23,7 +23,7 @@ call void [netstandard]System.GC::WaitForPendingFinalizers() ldloc.0 - ldfld string IL2C.RuntimeSystems.ObjRefInsideObjRefType::Value + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType::Value ret } @@ -31,14 +31,14 @@ { .maxstack 3 .locals init ( - [0] valuetype IL2C.RuntimeSystems.ObjRefInsideValueTypeType + [0] valuetype [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType ) ldloca.s 0 ldstr "ABC" ldstr "DEF" call string string::Concat(string, string) - call instance void IL2C.RuntimeSystems.ObjRefInsideValueTypeType::.ctor(string) + call instance void [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType::.ctor(string) // Release concat string from the evaluation stack ldstr "dummy1" @@ -50,7 +50,7 @@ call void [netstandard]System.GC::WaitForPendingFinalizers() ldloc.0 - ldfld string IL2C.RuntimeSystems.ObjRefInsideValueTypeType::Value + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType::Value ret } @@ -58,13 +58,13 @@ { .maxstack 3 .locals init ( - [0] class IL2C.RuntimeSystems.ObjRefInsideValueTypeInsideObjRefType + [0] class [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeInsideObjRefType ) ldstr "ABC" ldstr "DEF" call string string::Concat(string, string) - newobj instance void IL2C.RuntimeSystems.ObjRefInsideValueTypeInsideObjRefType::.ctor(string) + newobj instance void [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeInsideObjRefType::.ctor(string) stloc.0 // Release concat string from the evaluation stack @@ -77,8 +77,8 @@ call void [netstandard]System.GC::WaitForPendingFinalizers() ldloc.0 - ldflda valuetype IL2C.RuntimeSystems.ObjRefInsideValueTypeType IL2C.RuntimeSystems.ObjRefInsideValueTypeInsideObjRefType::Value - ldfld string IL2C.RuntimeSystems.ObjRefInsideValueTypeType::Value + ldflda valuetype [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeInsideObjRefType::Value + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType::Value ret } @@ -86,14 +86,14 @@ { .maxstack 3 .locals init ( - [0] valuetype IL2C.RuntimeSystems.ObjRefInsideObjRefInsideValueTypeType + [0] valuetype [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefInsideValueTypeType ) ldloca.s 0 ldstr "ABC" ldstr "DEF" call string string::Concat(string, string) - call instance void IL2C.RuntimeSystems.ObjRefInsideObjRefInsideValueTypeType::.ctor(string) + call instance void [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefInsideValueTypeType::.ctor(string) // Release concat string from the evaluation stack ldstr "dummy1" @@ -105,8 +105,8 @@ call void [netstandard]System.GC::WaitForPendingFinalizers() ldloca.s 0 - ldfld class IL2C.RuntimeSystems.ObjRefInsideObjRefType IL2C.RuntimeSystems.ObjRefInsideObjRefInsideValueTypeType::Value - ldfld string IL2C.RuntimeSystems.ObjRefInsideObjRefType::Value + ldfld class [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefInsideValueTypeType::Value + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType::Value ret } @@ -114,7 +114,7 @@ { .maxstack 5 .locals init ( - [0] valuetype IL2C.RuntimeSystems.MultipleInsideValueTypeType + [0] valuetype [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.MultipleInsideValueTypeType ) ldloca.s 0 @@ -127,7 +127,7 @@ ldstr "ABC" ldstr "DEF3" call string string::Concat(string, string) - call instance void IL2C.RuntimeSystems.MultipleInsideValueTypeType::.ctor(string, string, string) + call instance void [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.MultipleInsideValueTypeType::.ctor(string, string, string) // Release concat string from the evaluation stack ldstr "dummy1" @@ -147,7 +147,7 @@ ceq brfalse.s L1 ldloca.s 0 - ldfld string IL2C.RuntimeSystems.MultipleInsideValueTypeType::Value1 + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.MultipleInsideValueTypeType::Value1 ret L1: ldarg.0 @@ -155,13 +155,13 @@ ceq brfalse.s L2 ldloca.s 0 - ldflda valuetype IL2C.RuntimeSystems.ObjRefInsideValueTypeType IL2C.RuntimeSystems.MultipleInsideValueTypeType::Value2 - ldfld string IL2C.RuntimeSystems.ObjRefInsideValueTypeType::Value + ldflda valuetype [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.MultipleInsideValueTypeType::Value2 + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideValueTypeType::Value ret L2: ldloca.s 0 - ldfld class IL2C.RuntimeSystems.ObjRefInsideObjRefType IL2C.RuntimeSystems.MultipleInsideValueTypeType::Value3 - ldfld string IL2C.RuntimeSystems.ObjRefInsideObjRefType::Value + ldfld class [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.MultipleInsideValueTypeType::Value3 + ldfld string [IL2C.Core.Test.RuntimeSystems]IL2C.RuntimeSystems.ObjRefInsideObjRefType::Value ret } } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index f029f455..9b1b8721 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -3,6 +3,7 @@ net48;netstandard2.0 Library + False enable IL2C.Core.Test.RuntimeSystems @@ -11,6 +12,7 @@ + @@ -18,11 +20,4 @@ - - - - - - - From 6decbbf3d84352c574a8ac2276e240b66be7c339 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 16 May 2022 23:24:30 +0900 Subject: [PATCH 003/144] Fixed duplicating symbol names around local variables. --- src/IL2C.Core/Internal/SymbolManipulator.cs | 24 +++++++++++++++++++++ src/IL2C.Core/Writers/FunctionWriter.cs | 23 ++++++++++++++------ 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/src/IL2C.Core/Internal/SymbolManipulator.cs b/src/IL2C.Core/Internal/SymbolManipulator.cs index d48a0238..a3a29d78 100644 --- a/src/IL2C.Core/Internal/SymbolManipulator.cs +++ b/src/IL2C.Core/Internal/SymbolManipulator.cs @@ -48,6 +48,30 @@ public static string GetCLanguageScopedPath(IEnumerable scopeNames) => public static string GetCLanguageScopedPath(params string[] scopeNames) => GetCLanguageScopedPath((IEnumerable)scopeNames); + public static IEnumerable SymbolRenaming(this IEnumerable names) + { + // symbol + // symbol2 + // symbol3 + // ... + + var nameIndex = new Dictionary(); + foreach (var name in names) + { + if (nameIndex.TryGetValue(name, out var index)) + { + index++; + nameIndex[name] = index; + yield return name + index; + } + else + { + nameIndex[name] = 1; + yield return name; + } + } + } + public static string GetCLanguageTypeName( Type type, string? symbolName = null, bool cArrayExpression = false) { diff --git a/src/IL2C.Core/Writers/FunctionWriter.cs b/src/IL2C.Core/Writers/FunctionWriter.cs index ed435bdc..aed7384f 100644 --- a/src/IL2C.Core/Writers/FunctionWriter.cs +++ b/src/IL2C.Core/Writers/FunctionWriter.cs @@ -44,21 +44,28 @@ private static void InternalConvertExecutionFrame( if (objRefEntries.Length >= 1) { tw.WriteLine("//-------------------- objref"); - foreach (var objRefEntry in objRefEntries) + var objrefNames = objRefEntries. + Select(oe => extractContext.GetSymbolName(oe)). + SymbolRenaming(); + foreach (var (objRefEntry, name) in + objRefEntries.Zip(objrefNames, (oe, on) => (oe, on))) { tw.WriteLine( "{0} {1};", objRefEntry.TargetType.CLanguageTypeName, - extractContext.GetSymbolName(objRefEntry)); + name); } } if (valueEntries.Length >= 1) { tw.WriteLine("//-------------------- value type"); - foreach (var valueEntry in valueEntries) + var valueNames = valueEntries. + Select(ve => extractContext.GetSymbolName(ve)). + SymbolRenaming(); + foreach (var (valueEntry, name) in + valueEntries.Zip(valueNames, (ve, vn) => (ve, vn))) { - var name = extractContext.GetSymbolName(valueEntry); tw.WriteLine( "const IL2C_RUNTIME_TYPE {0}_type__;", name); @@ -274,10 +281,12 @@ private static void InternalConvertFromFunction( tw.WriteLine("// [3-3] Local variables (!objref):"); tw.SplitLine(); - foreach (var local in localDefinitions) + var localNames = localDefinitions. + Select(local => extractContext.GetSymbolName(local)). + SymbolRenaming(); + foreach (var (local, name) in localDefinitions. + Zip(localNames, (local, name) => (local, name))) { - var name = extractContext.GetSymbolName(local); - // HACK: The local variables mark to "volatile." // Because the gcc misread these variables calculated statically (or maybe assigned to the registers) // at compile time with optimization. From a917cf27a9f9b09a8dc3684b8c4296874d2aec58 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 16 May 2022 23:26:24 +0900 Subject: [PATCH 004/144] Refactored. --- src/IL2C.Core/Internal/SymbolManipulator.cs | 2 +- src/IL2C.Core/Writers/FunctionWriter.cs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/IL2C.Core/Internal/SymbolManipulator.cs b/src/IL2C.Core/Internal/SymbolManipulator.cs index a3a29d78..aecb621b 100644 --- a/src/IL2C.Core/Internal/SymbolManipulator.cs +++ b/src/IL2C.Core/Internal/SymbolManipulator.cs @@ -48,7 +48,7 @@ public static string GetCLanguageScopedPath(IEnumerable scopeNames) => public static string GetCLanguageScopedPath(params string[] scopeNames) => GetCLanguageScopedPath((IEnumerable)scopeNames); - public static IEnumerable SymbolRenaming(this IEnumerable names) + public static IEnumerable RenameDuplicatingSymbols(this IEnumerable names) { // symbol // symbol2 diff --git a/src/IL2C.Core/Writers/FunctionWriter.cs b/src/IL2C.Core/Writers/FunctionWriter.cs index aed7384f..98c9c361 100644 --- a/src/IL2C.Core/Writers/FunctionWriter.cs +++ b/src/IL2C.Core/Writers/FunctionWriter.cs @@ -46,7 +46,7 @@ private static void InternalConvertExecutionFrame( tw.WriteLine("//-------------------- objref"); var objrefNames = objRefEntries. Select(oe => extractContext.GetSymbolName(oe)). - SymbolRenaming(); + RenameDuplicatingSymbols(); foreach (var (objRefEntry, name) in objRefEntries.Zip(objrefNames, (oe, on) => (oe, on))) { @@ -62,7 +62,7 @@ private static void InternalConvertExecutionFrame( tw.WriteLine("//-------------------- value type"); var valueNames = valueEntries. Select(ve => extractContext.GetSymbolName(ve)). - SymbolRenaming(); + RenameDuplicatingSymbols(); foreach (var (valueEntry, name) in valueEntries.Zip(valueNames, (ve, vn) => (ve, vn))) { @@ -283,7 +283,7 @@ private static void InternalConvertFromFunction( var localNames = localDefinitions. Select(local => extractContext.GetSymbolName(local)). - SymbolRenaming(); + RenameDuplicatingSymbols(); foreach (var (local, name) in localDefinitions. Zip(localNames, (local, name) => (local, name))) { From 49941807e4a4cd5a5b8af7d561832f2ab761b5c8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 18 May 2022 19:42:16 +0900 Subject: [PATCH 005/144] Updated package. --- src/Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 575e46b6..296e543c 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -36,7 +36,7 @@ - + From e4b8c504c9ad998c4c5a669edb7abceae075cbb8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 18 May 2022 19:55:00 +0900 Subject: [PATCH 006/144] Implemented NUnit attribute extension. --- .../IL2C.Core.Test.Common.csproj | 4 ++ .../TestCaseAttribute.cs | 38 ++++++++++++++----- tests/IL2C.Core.Test.Fixture/TestUtilities.cs | 2 +- 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj index 15b8eb78..04d96308 100644 --- a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj +++ b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj @@ -8,4 +8,8 @@ IL2C.Core.Test.Common + + + + diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index 31cc7051..6b2ef95c 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -10,6 +10,8 @@ using System; using System.Linq; +using NUnit.Framework.Interfaces; + namespace IL2C { public enum TestCaseAsserts @@ -20,15 +22,19 @@ public enum TestCaseAsserts } // It's test case attribute contains expected value, method name and argument values at overall. - [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] - public sealed class TestCaseAttribute : Attribute + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)] + public sealed class TestCaseAttribute : + NUnit.Framework.TestCaseAttribute, NUnit.Framework.ITestAction { - public TestCaseAttribute(object? expected, string methodName, params object?[] args) + public TestCaseAttribute( + object? expected, string methodName, params object?[] args) : + base(args ?? new object?[] { null }) // HACK { + base.ExpectedResult = expected; + this.MethodName = methodName; this.AdditionalMethodNames = new string[0]; - this.Expected = expected; - this.Arguments = args ?? new object?[] { null }; // HACK + this.Assert = TestCaseAsserts.PerfectMatch; this.IncludeBaseTypes = false; this.IncludeTypes = Type.EmptyTypes; @@ -36,12 +42,15 @@ public TestCaseAttribute(object? expected, string methodName, params object?[] a } // This overload contains additional methods, those are used from the test method (first methodName is target.) - public TestCaseAttribute(object? expected, string[] methodNames, params object?[] args) + public TestCaseAttribute( + object? expected, string[] methodNames, params object?[] args) : + base(args ?? new object?[] { null }) // HACK { + base.ExpectedResult = expected; + this.MethodName = methodNames[0]; // test method this.AdditionalMethodNames = methodNames.Skip(1).ToArray(); // additionals - this.Expected = expected; - this.Arguments = args ?? new object?[] { null }; // HACK + this.Assert = TestCaseAsserts.PerfectMatch; this.IncludeBaseTypes = false; this.IncludeTypes = Type.EmptyTypes; @@ -50,12 +59,21 @@ public TestCaseAttribute(object? expected, string[] methodNames, params object?[ public string MethodName { get; } public string[] AdditionalMethodNames { get; } - public object? Expected { get; } - public object?[] Arguments { get; } public TestCaseAsserts Assert { get; set; } public bool IncludeBaseTypes { get; set; } public Type[] IncludeTypes { get; set; } public string[] IgnoreILErrors { get; set; } + + public NUnit.Framework.ActionTargets Targets => throw new NotImplementedException(); + + public void BeforeTest(ITest test) + { + } + + public void AfterTest(ITest test) + { + // TODO: delegates to test native code. + } } } diff --git a/tests/IL2C.Core.Test.Fixture/TestUtilities.cs b/tests/IL2C.Core.Test.Fixture/TestUtilities.cs index 8390a27b..630d316c 100644 --- a/tests/IL2C.Core.Test.Fixture/TestUtilities.cs +++ b/tests/IL2C.Core.Test.Fixture/TestUtilities.cs @@ -93,7 +93,7 @@ public static TestCaseInformation CreateTestCaseInformation( name, uniqueName, description, - ConvertToArgumentType(caseAttribute.Expected, method.ReturnType), + ConvertToArgumentType(caseAttribute.ExpectedResult, method.ReturnType), caseAttribute.Assert, method, (caseAttribute.IncludeBaseTypes ? From a99fd5c8c233c01fbbe912a05a9111d71895c011 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 18 May 2022 20:40:54 +0900 Subject: [PATCH 007/144] Updated BasicTypes project. --- .../System_Boolean/System_Boolean.cs | 12 ++-- .../System_Byte/System_Byte.cs | 12 ++-- .../System_Char/System_Char.cs | 12 ++-- .../System_Delegate/System_Delegate.cs | 22 +++--- .../System_Double/System_Double.cs | 12 ++-- .../System_Int16/System_Int16.cs | 12 ++-- .../System_Int32/System_Int32.cs | 14 ++-- .../System_Int64/System_Int64.cs | 14 ++-- .../System_IntPtr/System_IntPtr.cs | 14 ++-- .../System_Object/System_Object.cs | 24 +++---- .../System_SByte/System_SByte.cs | 12 ++-- .../System_Single/System_Single.cs | 12 ++-- .../System_String/System_String.cs | 60 ++++++++-------- .../System_String/System_String_Format1.cs | 68 +++++++++---------- .../System_String/System_String_Format2.cs | 52 +++++++------- .../System_String/System_String_Format3.cs | 52 +++++++------- .../System_String_Format_Params.cs | 52 +++++++------- .../System_Type/System_Type.cs | 16 ++--- .../System_UInt16/System_UInt16.cs | 12 ++-- .../System_UInt32/System_UInt32.cs | 12 ++-- .../System_UInt64/System_UInt64.cs | 12 ++-- .../System_UIntPtr/System_UIntPtr.cs | 8 +-- .../TestCaseAttribute.cs | 2 + 23 files changed, 260 insertions(+), 258 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.cs b/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.cs index f44df82c..9490a5b1 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(1, "SizeOf")] - [TestCase("True", "ToString", true)] - [TestCase("False", "ToString", false)] - [TestCase(true, "TryParse", "True")] - [TestCase(false, "TryParse", "False")] public sealed class System_Boolean { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(1, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("True", "ToString", true)] + [TestCase("False", "ToString", false)] public static string ToString(bool value) { return value.ToString(); } + [TestCase(true, "TryParse", "True")] + [TestCase(false, "TryParse", "False")] public static bool TryParse(string str) { bool.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.cs b/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.cs index 17f0b542..d09998ce 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(1, "SizeOf")] - [TestCase("255", "ToString", byte.MaxValue)] - [TestCase("0", "ToString", byte.MinValue)] - [TestCase(byte.MaxValue, "TryParse", "255")] - [TestCase(byte.MinValue, "TryParse", "0")] public sealed class System_Byte { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(1, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("255", "ToString", byte.MaxValue)] + [TestCase("0", "ToString", byte.MinValue)] public static string ToString(byte value) { return value.ToString(); } + [TestCase(byte.MaxValue, "TryParse", "255")] + [TestCase(byte.MinValue, "TryParse", "0")] public static byte TryParse(string str) { byte.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.cs b/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.cs index cd237f29..f4360335 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.cs @@ -11,17 +11,13 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(2, "SizeOf")] - [TestCase("\u0000", "ToStringMin")] - [TestCase("\uffff", "ToStringMax")] - [TestCase(char.MinValue, "TryParseMin")] - [TestCase(char.MaxValue, "TryParseMax")] public sealed class System_Char { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(2, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); @@ -31,24 +27,28 @@ public sealed class System_Char // (ex: ToString("\u0000") and ToString("\uffff") if apply sets for test methods) // But cause failed conflicting both these test case names (maybe contains invalid char). + [TestCase("\u0000", "ToStringMin")] public static string ToStringMin() { char value = char.MinValue; return value.ToString(); } + [TestCase("\uffff", "ToStringMax")] public static string ToStringMax() { char value = char.MaxValue; return value.ToString(); } + [TestCase(char.MinValue, "TryParseMin")] public static char TryParseMin() { char.TryParse("\u0000", out var value); return value; } + [TestCase(char.MaxValue, "TryParseMax")] public static char TryParseMax() { char.TryParse("\uffff", out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs index 4df67e9c..ea1c009c 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs @@ -13,17 +13,6 @@ namespace IL2C.BasicTypes { public delegate void IntRefDelegate(ref int value); - [TestCase(10100, new[] { "Remove_DelegateInstance", "IntRefImpl1", "IntRefImpl2" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(10100, new[] { "Remove_DelegateTarget", "IntRefImpl1", "IntRefImpl2" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(5050, new[] { "Remove_DelegateMiddle", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(50000, new[] { "Remove_DelegateHead", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(50500, new[] { "Remove_NotContainsDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3", "IntRefImpl4" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(1000, new[] { "Remove_FromNullToDelegate", "IntRefImpl1" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(5000, new[] { "Remove_ToMulticastDelegate1", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(1010, new[] { "Remove_ToMulticastDelegate2", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(50500, new[] { "Remove_NotContainsMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(1000, new[] { "Remove_EntireMatchedMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] - [TestCase(1000, new[] { "Remove_FromNullToMulticastDelegate", "IntRefImpl1", "IntRefImpl2" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public sealed class System_Delegate { private static void IntRefImpl1(ref int value) @@ -46,6 +35,7 @@ private static void IntRefImpl4(ref int value) value *= 3; } + [TestCase(10100, new[] { "Remove_DelegateInstance", "IntRefImpl1", "IntRefImpl2" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_DelegateInstance(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -64,6 +54,7 @@ public static int Remove_DelegateInstance(int value) return v; } + [TestCase(10100, new[] { "Remove_DelegateTarget", "IntRefImpl1", "IntRefImpl2" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_DelegateTarget(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -83,6 +74,7 @@ public static int Remove_DelegateTarget(int value) return v; } + [TestCase(5050, new[] { "Remove_DelegateMiddle", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_DelegateMiddle(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -101,6 +93,7 @@ public static int Remove_DelegateMiddle(int value) return v; } + [TestCase(50000, new[] { "Remove_DelegateHead", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_DelegateHead(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -119,6 +112,7 @@ public static int Remove_DelegateHead(int value) return v; } + [TestCase(50500, new[] { "Remove_NotContainsDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3", "IntRefImpl4" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_NotContainsDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -138,6 +132,7 @@ public static int Remove_NotContainsDelegate(int value) return v; } + [TestCase(1000, new[] { "Remove_FromNullToDelegate", "IntRefImpl1" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_FromNullToDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -151,6 +146,7 @@ public static int Remove_FromNullToDelegate(int value) return v; } + [TestCase(5000, new[] { "Remove_ToMulticastDelegate1", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_ToMulticastDelegate1(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -171,6 +167,7 @@ public static int Remove_ToMulticastDelegate1(int value) return v; } + [TestCase(1010, new[] { "Remove_ToMulticastDelegate2", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_ToMulticastDelegate2(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -191,6 +188,7 @@ public static int Remove_ToMulticastDelegate2(int value) return v; } + [TestCase(50500, new[] { "Remove_NotContainsMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_NotContainsMulticastDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -211,6 +209,7 @@ public static int Remove_NotContainsMulticastDelegate(int value) return v; } + [TestCase(1000, new[] { "Remove_EntireMatchedMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_EntireMatchedMulticastDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); @@ -232,6 +231,7 @@ public static int Remove_EntireMatchedMulticastDelegate(int value) return v; } + [TestCase(1000, new[] { "Remove_FromNullToMulticastDelegate", "IntRefImpl1", "IntRefImpl2" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] public static int Remove_FromNullToMulticastDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs b/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs index 9664dda9..774e5eeb 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs @@ -12,25 +12,25 @@ namespace IL2C.BasicTypes { // Some tests are using the IgnoreInvokeResult flag, because float string format is bit different (but no problem.) - [TestCase(true, "IsValueType")] - [TestCase(8, "SizeOf")] - [TestCase("1.797693134862316e+308", "ToString", double.MaxValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is 1.7976931348623157E+308 - [TestCase("-1.797693134862316e+308", "ToString", double.MinValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is -1.7976931348623157E+308 - [TestCase(double.MaxValue, "TryParse", "1.7976931348623157E+308")] - [TestCase(double.MinValue, "TryParse", "-1.7976931348623157E+308")] public sealed class System_Double { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(8, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("1.797693134862316e+308", "ToString", double.MaxValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is 1.7976931348623157E+308 + [TestCase("-1.797693134862316e+308", "ToString", double.MinValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is -1.7976931348623157E+308 public static string ToString(double value) { return value.ToString(); } + [TestCase(double.MaxValue, "TryParse", "1.7976931348623157E+308")] + [TestCase(double.MinValue, "TryParse", "-1.7976931348623157E+308")] public static double TryParse(string str) { double.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.cs b/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.cs index f65dfbb4..364d7cde 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(2, "SizeOf")] - [TestCase("32767", "ToString", short.MaxValue)] - [TestCase("-32768", "ToString", short.MinValue)] - [TestCase(short.MaxValue, "TryParse", "32767")] - [TestCase(short.MinValue, "TryParse", "-32768")] public sealed class System_Int16 { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(2, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("32767", "ToString", short.MaxValue)] + [TestCase("-32768", "ToString", short.MinValue)] public static string ToString(short value) { return value.ToString(); } + [TestCase(short.MaxValue, "TryParse", "32767")] + [TestCase(short.MinValue, "TryParse", "-32768")] public static short TryParse(string str) { short.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.cs b/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.cs index 445e60e9..8519e1bb 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.cs @@ -11,26 +11,26 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(4, "SizeOf")] - [TestCase("2147483647", "ToString", int.MaxValue)] - [TestCase("-2147483647", "ToString", int.MinValue + 1)] - [TestCase("-2147483648", "ToString", int.MinValue)] // It's special case for internal - [TestCase(int.MaxValue, "TryParse", "2147483647")] - [TestCase(int.MinValue, "TryParse", "-2147483648")] public sealed class System_Int32 { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(4, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("2147483647", "ToString", int.MaxValue)] + [TestCase("-2147483647", "ToString", int.MinValue + 1)] + [TestCase("-2147483648", "ToString", int.MinValue)] // It's special case for internal public static string ToString(int value) { return value.ToString(); } + [TestCase(int.MaxValue, "TryParse", "2147483647")] + [TestCase(int.MinValue, "TryParse", "-2147483648")] public static int TryParse(string str) { int.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.cs b/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.cs index 35aa2595..f73595bb 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.cs @@ -11,26 +11,26 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(8, "SizeOf")] - [TestCase("9223372036854775807", "ToString", long.MaxValue)] - [TestCase("-9223372036854775807", "ToString", long.MinValue + 1)] - [TestCase("-9223372036854775808", "ToString", long.MinValue)] // It's special case for internal - [TestCase(long.MaxValue, "TryParse", "9223372036854775807")] - [TestCase(long.MinValue, "TryParse", "-9223372036854775808")] public sealed class System_Int64 { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(8, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("9223372036854775807", "ToString", long.MaxValue)] + [TestCase("-9223372036854775807", "ToString", long.MinValue + 1)] + [TestCase("-9223372036854775808", "ToString", long.MinValue)] // It's special case for internal public static string ToString(long value) { return value.ToString(); } + [TestCase(long.MaxValue, "TryParse", "9223372036854775807")] + [TestCase(long.MinValue, "TryParse", "-9223372036854775808")] public static long TryParse(string str) { long.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs index 55b93ad0..b76fcd3e 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs @@ -12,36 +12,36 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(4, "SizeOf", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Unit test environment is unknown, gcc is 32bit - [TestCase("2147483647", "ToString", int.MaxValue)] - [TestCase("-2147483648", "ToString", int.MinValue)] - [TestCase(true, "Zero", 0)] - [TestCase(true, "Equality", 0)] - [TestCase(false, "NonEquality", 0)] public sealed class System_IntPtr { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(4, "SizeOf", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Unit test environment is unknown, gcc is 32bit [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("2147483647", "ToString", int.MaxValue)] + [TestCase("-2147483648", "ToString", int.MinValue)] public static string ToString(IntPtr value) { return value.ToString(); } + [TestCase(true, "Zero", 0)] public static bool Zero(IntPtr v) { return v == IntPtr.Zero; } + [TestCase(true, "Equality", 0)] public static bool Equality(IntPtr v) { return v == IntPtr.Zero; } + [TestCase(false, "NonEquality", 0)] public static bool NonEquality(IntPtr v) { return v != IntPtr.Zero; diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.cs b/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.cs index 57f4a444..3bb13945 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.cs @@ -11,36 +11,36 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType", 123)] - [TestCase(false, "IsValueType", "ABC")] - [TestCase("System.Int32", "ToString", int.MaxValue, IgnoreILErrors = new[] { "ThisMismatch" })] - [TestCase("System.String", "ToString", "ABC", IgnoreILErrors = new[] { "ThisMismatch" })] - [TestCase("System.Int32", "GetType", int.MaxValue)] - [TestCase("System.String", "GetType", "ABC")] - [TestCase(true, "RefEquals_Same")] - [TestCase(false, "RefEquals_NotSame")] - [TestCase(false, "RefEquals", "ABC", "DEF")] - [TestCase(false, "RefEquals", 123, "ABC")] - [TestCase(false, "RefEquals", null, "ABC")] - [TestCase(true, "RefEquals", null, null)] public sealed class System_Object { + [TestCase(true, "IsValueType", 123)] + [TestCase(false, "IsValueType", "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(object value); // This is non virtual calling test. + [TestCase("System.Int32", "ToString", int.MaxValue, IgnoreILErrors = new[] { "ThisMismatch" })] + [TestCase("System.String", "ToString", "ABC", IgnoreILErrors = new[] { "ThisMismatch" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ToString(object value); + [TestCase("System.Int32", "GetType", int.MaxValue)] + [TestCase("System.String", "GetType", "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string GetType(object value); + [TestCase(true, "RefEquals_Same")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool RefEquals_Same(); + [TestCase(false, "RefEquals_NotSame")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool RefEquals_NotSame(); + [TestCase(false, "RefEquals", "ABC", "DEF")] + [TestCase(false, "RefEquals", 123, "ABC")] + [TestCase(false, "RefEquals", null, "ABC")] + [TestCase(true, "RefEquals", null, null)] public static bool RefEquals(object value1, object value2) { return object.ReferenceEquals(value1, value2); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.cs b/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.cs index 1da34d49..26f8ce7f 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(1, "SizeOf")] - [TestCase("127", "ToString", sbyte.MaxValue)] - [TestCase("-128", "ToString", sbyte.MinValue)] - [TestCase(sbyte.MaxValue, "TryParse", "127")] - [TestCase(sbyte.MinValue, "TryParse", "-128")] public sealed class System_SByte { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(1, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("127", "ToString", sbyte.MaxValue)] + [TestCase("-128", "ToString", sbyte.MinValue)] public static string ToString(sbyte value) { return value.ToString(); } + [TestCase(sbyte.MaxValue, "TryParse", "127")] + [TestCase(sbyte.MinValue, "TryParse", "-128")] public static sbyte TryParse(string str) { sbyte.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs b/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs index 095bde21..2f4c5f72 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs @@ -12,25 +12,25 @@ namespace IL2C.BasicTypes { // Some tests are using the IgnoreInvokeResult flag, because float string format is bit different (but no problem.) - [TestCase(true, "IsValueType")] - [TestCase(4, "SizeOf")] - [TestCase("3.4028235e+038", "ToString", float.MaxValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is 3.40282347E+38 - [TestCase("-3.4028235e+038", "ToString", float.MinValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is -3.40282347E+38 - [TestCase(float.MaxValue, "TryParse", "3.40282347E+38")] - [TestCase(float.MinValue, "TryParse", "-3.40282347E+38")] public sealed class System_Single { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(4, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("3.4028235e+038", "ToString", float.MaxValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is 3.40282347E+38 + [TestCase("-3.4028235e+038", "ToString", float.MinValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is -3.40282347E+38 public static string ToString(float value) { return value.ToString(); } + [TestCase(float.MaxValue, "TryParse", "3.40282347E+38")] + [TestCase(float.MinValue, "TryParse", "-3.40282347E+38")] public static float TryParse(string str) { float.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.cs index aa02d763..5a10967b 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.cs @@ -12,80 +12,68 @@ namespace IL2C.BasicTypes { - [TestCase(false, "IsValueType")] - [TestCase("ABC", "ToString", "ABC")] - [TestCase("ABCDEF", "Concat", "ABC", "DEF")] - [TestCase("CDEFGH", "Substring", "ABCDEFGH", 2)] - [TestCase("CDE", "Substring1", "ABCDEFGH", 2, 3)] - [TestCase('A', "Indexer", "ABCDEFGH", 0)] - [TestCase('H', "Indexer", "ABCDEFGH", 7)] - [TestCase(8, "Length", "ABCDEFGH")] - [TestCase(false, "IsNullOrWhiteSpace", "ABCDEFGH")] - [TestCase(true, "IsNullOrWhiteSpace", "")] - [TestCase(true, "IsNullOrWhiteSpace", null!)] - [TestCase(true, "Equals1", "ABC", "ABC")] - [TestCase(false, "Equals1", "ABC", "ABCDEF")] - [TestCase(false, "Equals1", "ABC", "DEF")] - [TestCase(false, "IndexOutOfRange", "ABC", 0)] - [TestCase(false, "IndexOutOfRange", "ABC", 2)] - [TestCase(true, "IndexOutOfRange", "ABC", -1)] - [TestCase(true, "IndexOutOfRange", "ABC", 3)] - [TestCase(true, "Equality", "ABC", "ABC")] - [TestCase(false, "Equality", "ABC", "ABCDEF")] - [TestCase(false, "Equality", "ABC", "DEF")] - [TestCase(false, "Equality", "ABC", null)] - [TestCase(false, "Equality", null, "DEF")] - [TestCase(true, "Equality", null, null)] - [TestCase(false, "Inequality", "ABC", "ABC")] - [TestCase(true, "Inequality", "ABC", "ABCDEF")] - [TestCase(true, "Inequality", "ABC", "DEF")] - [TestCase(true, "Inequality", "ABC", null)] - [TestCase(true, "Inequality", null, "DEF")] - [TestCase(false, "Inequality", null, null)] public sealed class System_String { // NOTE: ToString and Equals are written by IL. // Because they are compiled with callvirt opcode from Roslyn. + [TestCase(false, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase("ABC", "ToString", "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ToString(string value); + [TestCase("ABCDEF", "Concat", "ABC", "DEF")] public static string Concat(string value1, string value2) { return string.Concat(value1, value2); } + [TestCase("CDEFGH", "Substring", "ABCDEFGH", 2)] public static string Substring(string str, int index) { return str.Substring(index); } + [TestCase("CDE", "Substring1", "ABCDEFGH", 2, 3)] public static string Substring1(string str, int index, int count) { return str.Substring(index, count); } + [TestCase('A', "Indexer", "ABCDEFGH", 0)] + [TestCase('H', "Indexer", "ABCDEFGH", 7)] public static char Indexer(string str, int index) { return str[index]; } + [TestCase(8, "Length", "ABCDEFGH")] public static int Length(string str) { return str.Length; } + [TestCase(false, "IsNullOrWhiteSpace", "ABCDEFGH")] + [TestCase(true, "IsNullOrWhiteSpace", "")] + [TestCase(true, "IsNullOrWhiteSpace", null!)] public static bool IsNullOrWhiteSpace(string str) { return string.IsNullOrWhiteSpace(str); } + [TestCase(true, "Equals1", "ABC", "ABC")] + [TestCase(false, "Equals1", "ABC", "ABCDEF")] + [TestCase(false, "Equals1", "ABC", "DEF")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Equals1(string value1, string value2); + [TestCase(false, "IndexOutOfRange", "ABC", 0)] + [TestCase(false, "IndexOutOfRange", "ABC", 2)] + [TestCase(true, "IndexOutOfRange", "ABC", -1)] + [TestCase(true, "IndexOutOfRange", "ABC", 3)] public static bool IndexOutOfRange(string str, int index) { try @@ -99,11 +87,23 @@ public static bool IndexOutOfRange(string str, int index) return false; } + [TestCase(true, "Equality", "ABC", "ABC")] + [TestCase(false, "Equality", "ABC", "ABCDEF")] + [TestCase(false, "Equality", "ABC", "DEF")] + [TestCase(false, "Equality", "ABC", null)] + [TestCase(false, "Equality", null, "DEF")] + [TestCase(true, "Equality", null, null)] public static bool Equality(string value1, string value2) { return value1 == value2; } + [TestCase(false, "Inequality", "ABC", "ABC")] + [TestCase(true, "Inequality", "ABC", "ABCDEF")] + [TestCase(true, "Inequality", "ABC", "DEF")] + [TestCase(true, "Inequality", "ABC", null)] + [TestCase(true, "Inequality", null, "DEF")] + [TestCase(false, "Inequality", null, null)] public static bool Inequality(string value1, string value2) { return value1 != value2; diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs index d20c7ff7..7c357f21 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs @@ -32,59 +32,59 @@ public string ToString(string format, IFormatProvider formatProvider) } [TestId("System_String")] - [TestCase("ABC123DEF", "Format1", "ABC{0}DEF", (byte)123)] - [TestCase("ABC-123DEF", "Format1", "ABC{0}DEF", (sbyte)-123)] - [TestCase("ABC-12345DEF", "Format1", "ABC{0}DEF", (short)-12345)] - [TestCase("ABC12345DEF", "Format1", "ABC{0}DEF", (ushort)12345)] - [TestCase("ABC1234567DEF", "Format1", "ABC{0}DEF", 1234567)] - [TestCase("ABC-1234567DEF", "Format1", "ABC{0}DEF", -1234567)] - [TestCase("ABC1234567890123DEF", "Format1", "ABC{0}DEF", 1234567890123)] - [TestCase("ABC-1234567890123DEF", "Format1", "ABC{0}DEF", -1234567890123)] - [TestCase("ABC123.456DEF", "Format1", "ABC{0}DEF", 123.456f)] - [TestCase("ABC123.456789DEF", "Format1", "ABC{0}DEF", 123.456789)] - [TestCase("ABCTrueDEF", "Format1", "ABC{0}DEF", true)] - [TestCase("ABCFalseDEF", "Format1", "ABC{0}DEF", false)] - [TestCase("ABCXDEF", "Format1", "ABC{0}DEF", 'X')] - [TestCase("ABCXYZDEF", "Format1", "ABC{0}DEF", "XYZ")] - [TestCase("ABCXYZDEF", "Format11_Custom", "ABC{0}DEF", IncludeTypes = new[] { typeof(Format11_CustomProducer) })] - [TestCase("ABCXYZDEF", "Format11_Custom", "ABC{0:}DEF", IncludeTypes = new[] { typeof(Format11_CustomProducer) })] - [TestCase("ABCXYZDEF", "Format11_Custom", "ABC{0:N}DEF", IncludeTypes = new[] { typeof(Format11_CustomProducer) })] - [TestCase("ABC333DEF", "Format12_Custom", "ABC{0}DEF", IncludeTypes = new[] { typeof(Format12_CustomProducer) })] - [TestCase("ABC333DEF", "Format12_Custom", "ABC{0:}DEF", IncludeTypes = new[] { typeof(Format12_CustomProducer) })] - [TestCase("ABC111DEF", "Format12_Custom", "ABC{0:N}DEF", IncludeTypes = new[] { typeof(Format12_CustomProducer) })] - [TestCase("123ABCDEF", "Format1", "{0}ABCDEF", 123)] - [TestCase("ABCDEF123", "Format1", "ABCDEF{0}", 123)] - [TestCase("123ABC123DEF123", "Format1", "{0}ABC{0}DEF{0}", 123)] - [TestCase("ABCDEF", "Format1", "ABCDEF", 123)] - [TestCase("ABCDEF", "Format1", "ABC{0}DEF", "")] - [TestCase("ABCDEF", "Format1", "ABC{0}DEF", null)] - [TestCase(true, "Format1_Exception", "ABC{", 123)] - [TestCase(true, "Format1_Exception", "ABC{0", 123)] - [TestCase(true, "Format1_Exception", "ABC{0:", 123)] - [TestCase(true, "Format1_Exception", "ABC{}DEF", 123)] - [TestCase(true, "Format1_Exception", "ABC{A}DEF", 123)] - [TestCase(true, "Format1_Exception", "ABC{:}DEF", 123)] - [TestCase(true, "Format1_Exception", "ABC{12345678901234}DEF", 123)] - [TestCase(true, "Format1_Exception", "ABC{1}DEF", 123)] public sealed class System_String_Format1 { + [TestCase("ABC123DEF", "Format1", "ABC{0}DEF", (byte)123)] + [TestCase("ABC-123DEF", "Format1", "ABC{0}DEF", (sbyte)-123)] + [TestCase("ABC-12345DEF", "Format1", "ABC{0}DEF", (short)-12345)] + [TestCase("ABC12345DEF", "Format1", "ABC{0}DEF", (ushort)12345)] + [TestCase("ABC1234567DEF", "Format1", "ABC{0}DEF", 1234567)] + [TestCase("ABC-1234567DEF", "Format1", "ABC{0}DEF", -1234567)] + [TestCase("ABC1234567890123DEF", "Format1", "ABC{0}DEF", 1234567890123)] + [TestCase("ABC-1234567890123DEF", "Format1", "ABC{0}DEF", -1234567890123)] + [TestCase("ABC123.456DEF", "Format1", "ABC{0}DEF", 123.456f)] + [TestCase("ABC123.456789DEF", "Format1", "ABC{0}DEF", 123.456789)] + [TestCase("ABCTrueDEF", "Format1", "ABC{0}DEF", true)] + [TestCase("ABCFalseDEF", "Format1", "ABC{0}DEF", false)] + [TestCase("ABCXDEF", "Format1", "ABC{0}DEF", 'X')] + [TestCase("ABCXYZDEF", "Format1", "ABC{0}DEF", "XYZ")] + [TestCase("123ABCDEF", "Format1", "{0}ABCDEF", 123)] + [TestCase("ABCDEF123", "Format1", "ABCDEF{0}", 123)] + [TestCase("123ABC123DEF123", "Format1", "{0}ABC{0}DEF{0}", 123)] + [TestCase("ABCDEF", "Format1", "ABCDEF", 123)] + [TestCase("ABCDEF", "Format1", "ABC{0}DEF", "")] + [TestCase("ABCDEF", "Format1", "ABC{0}DEF", null)] public static string Format1(string format, object value0) { return string.Format(format, value0); } + [TestCase("ABCXYZDEF", "Format11_Custom", "ABC{0}DEF", IncludeTypes = new[] { typeof(Format11_CustomProducer) })] + [TestCase("ABCXYZDEF", "Format11_Custom", "ABC{0:}DEF", IncludeTypes = new[] { typeof(Format11_CustomProducer) })] + [TestCase("ABCXYZDEF", "Format11_Custom", "ABC{0:N}DEF", IncludeTypes = new[] { typeof(Format11_CustomProducer) })] public static string Format11_Custom(string format) { var cp = new Format11_CustomProducer(); return string.Format(format, cp); } + [TestCase("ABC333DEF", "Format12_Custom", "ABC{0}DEF", IncludeTypes = new[] { typeof(Format12_CustomProducer) })] + [TestCase("ABC333DEF", "Format12_Custom", "ABC{0:}DEF", IncludeTypes = new[] { typeof(Format12_CustomProducer) })] + [TestCase("ABC111DEF", "Format12_Custom", "ABC{0:N}DEF", IncludeTypes = new[] { typeof(Format12_CustomProducer) })] public static string Format12_Custom(string format) { var cp = new Format12_CustomProducer(); return string.Format(format, cp); } + [TestCase(true, "Format1_Exception", "ABC{", 123)] + [TestCase(true, "Format1_Exception", "ABC{0", 123)] + [TestCase(true, "Format1_Exception", "ABC{0:", 123)] + [TestCase(true, "Format1_Exception", "ABC{}DEF", 123)] + [TestCase(true, "Format1_Exception", "ABC{A}DEF", 123)] + [TestCase(true, "Format1_Exception", "ABC{:}DEF", 123)] + [TestCase(true, "Format1_Exception", "ABC{12345678901234}DEF", 123)] + [TestCase(true, "Format1_Exception", "ABC{1}DEF", 123)] public static bool Format1_Exception(string format, object value0) { try diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs index 7021c9ff..396d0f1a 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs @@ -32,39 +32,34 @@ public string ToString(string format, IFormatProvider formatProvider) } [TestId("System_String")] - [TestCase("AB123CD124EF", "Format2", "AB{0}CD{1}EF", (byte)123, (byte)124)] - [TestCase("AB-123CD-124EF", "Format2", "AB{0}CD{1}EF", (sbyte)-123, (sbyte)-124)] - [TestCase("AB-12345CD-12346EF", "Format2", "AB{0}CD{1}EF", (short)-12345, (short)-12346)] - [TestCase("AB12345CD12346EF", "Format2", "AB{0}CD{1}EF", (ushort)12345, (ushort)12346)] - [TestCase("AB1234567CD1234568EF", "Format2", "AB{0}CD{1}EF", 1234567, 1234568)] - [TestCase("AB-1234567CD-1234568EF", "Format2", "AB{0}CD{1}EF", -1234567, -1234568)] - [TestCase("AB1234567890123CD1234567890124EF", "Format2", "AB{0}CD{1}EF", 1234567890123, 1234567890124)] - [TestCase("AB-1234567890123CD-1234567890124EF", "Format2", "AB{0}CD{1}EF", -1234567890123, -1234567890124)] - [TestCase("AB123.456CD123.457EF", "Format2", "AB{0}CD{1}EF", 123.456f, 123.457f)] - [TestCase("AB123.456789CD123.456788EF", "Format2", "AB{0}CD{1}EF", 123.456789, 123.456788)] - [TestCase("ABTrueCDFalseEF", "Format2", "AB{0}CD{1}EF", true, false)] - [TestCase("ABXCDYEF", "Format2", "AB{0}CD{1}EF", 'X', 'Y')] - [TestCase("ABXYZCDPQREF", "Format2", "AB{0}CD{1}EF", "XYZ", "PQR")] - [TestCase("ABXYZCDPQREF", "Format21_Custom", "AB{0}CD{1}EF", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer) })] - [TestCase("ABXYZCDPQREF", "Format21_Custom", "AB{0:}CD{1:}EF", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer) })] - [TestCase("ABXYZCDPQREF", "Format21_Custom", "AB{0:N}CD{1:N}EF", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer) })] - [TestCase("AB333CD666EF", "Format22_Custom", "AB{0}CD{1}EF", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] - [TestCase("AB333CD666EF", "Format22_Custom", "AB{0:}CD{1:}EF", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] - [TestCase("AB111CD444EF", "Format22_Custom", "AB{0:N}CD{1:N}EF", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] - [TestCase("123ABCDEF124", "Format2", "{0}ABCDEF{1}", 123, 124)] - [TestCase("123ABC124DEF123", "Format2", "{0}ABC{1}DEF{0}", 123, 124)] - [TestCase("A333B111C666D444E", "Format22_Custom", "A{0}B{0:N}C{1}D{1:N}E", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] - [TestCase("ABCDEF", "Format2", "ABCDEF", 123, 124)] - [TestCase("ABCDEF", "Format2", "AB{0}CD{1}EF", "", "")] - [TestCase("ABCDEF", "Format2", "AB{0}CD{1}EF", null, null)] - [TestCase(true, "Format2_Exception", "ABC{2}DEF", 123, 124)] public sealed class System_String_Format2 { + [TestCase("AB123CD124EF", "Format2", "AB{0}CD{1}EF", (byte)123, (byte)124)] + [TestCase("AB-123CD-124EF", "Format2", "AB{0}CD{1}EF", (sbyte)-123, (sbyte)-124)] + [TestCase("AB-12345CD-12346EF", "Format2", "AB{0}CD{1}EF", (short)-12345, (short)-12346)] + [TestCase("AB12345CD12346EF", "Format2", "AB{0}CD{1}EF", (ushort)12345, (ushort)12346)] + [TestCase("AB1234567CD1234568EF", "Format2", "AB{0}CD{1}EF", 1234567, 1234568)] + [TestCase("AB-1234567CD-1234568EF", "Format2", "AB{0}CD{1}EF", -1234567, -1234568)] + [TestCase("AB1234567890123CD1234567890124EF", "Format2", "AB{0}CD{1}EF", 1234567890123, 1234567890124)] + [TestCase("AB-1234567890123CD-1234567890124EF", "Format2", "AB{0}CD{1}EF", -1234567890123, -1234567890124)] + [TestCase("AB123.456CD123.457EF", "Format2", "AB{0}CD{1}EF", 123.456f, 123.457f)] + [TestCase("AB123.456789CD123.456788EF", "Format2", "AB{0}CD{1}EF", 123.456789, 123.456788)] + [TestCase("ABTrueCDFalseEF", "Format2", "AB{0}CD{1}EF", true, false)] + [TestCase("ABXCDYEF", "Format2", "AB{0}CD{1}EF", 'X', 'Y')] + [TestCase("ABXYZCDPQREF", "Format2", "AB{0}CD{1}EF", "XYZ", "PQR")] + [TestCase("123ABCDEF124", "Format2", "{0}ABCDEF{1}", 123, 124)] + [TestCase("123ABC124DEF123", "Format2", "{0}ABC{1}DEF{0}", 123, 124)] + [TestCase("ABCDEF", "Format2", "ABCDEF", 123, 124)] + [TestCase("ABCDEF", "Format2", "AB{0}CD{1}EF", "", "")] + [TestCase("ABCDEF", "Format2", "AB{0}CD{1}EF", null, null)] public static string Format2(string format, object value0, object value1) { return string.Format(format, value0, value1); } + [TestCase("ABXYZCDPQREF", "Format21_Custom", "AB{0}CD{1}EF", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer) })] + [TestCase("ABXYZCDPQREF", "Format21_Custom", "AB{0:}CD{1:}EF", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer) })] + [TestCase("ABXYZCDPQREF", "Format21_Custom", "AB{0:N}CD{1:N}EF", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer) })] public static string Format21_Custom(string format) { var cp1 = new Format11_CustomProducer(); @@ -72,6 +67,10 @@ public static string Format21_Custom(string format) return string.Format(format, cp1, cp2); } + [TestCase("AB333CD666EF", "Format22_Custom", "AB{0}CD{1}EF", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] + [TestCase("AB333CD666EF", "Format22_Custom", "AB{0:}CD{1:}EF", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] + [TestCase("AB111CD444EF", "Format22_Custom", "AB{0:N}CD{1:N}EF", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] + [TestCase("A333B111C666D444E", "Format22_Custom", "A{0}B{0:N}C{1}D{1:N}E", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer) })] public static string Format22_Custom(string format) { var cp1 = new Format12_CustomProducer(); @@ -79,6 +78,7 @@ public static string Format22_Custom(string format) return string.Format(format, cp1, cp2); } + [TestCase(true, "Format2_Exception", "ABC{2}DEF", 123, 124)] public static bool Format2_Exception(string format, object value0, object value1) { try diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs index 53415fb8..56457a77 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs @@ -32,39 +32,34 @@ public string ToString(string format, IFormatProvider formatProvider) } [TestId("System_String")] - [TestCase("A123BC124DE125F", "Format3", "A{0}BC{1}DE{2}F", (byte)123, (byte)124, (byte)125)] - [TestCase("A-123BC-124DE-125F", "Format3", "A{0}BC{1}DE{2}F", (sbyte)-123, (sbyte)-124, (sbyte)-125)] - [TestCase("A-12345BC-12346DE-12347F", "Format3", "A{0}BC{1}DE{2}F", (short)-12345, (short)-12346, (short)-12347)] - [TestCase("A12345BC12346DE12347F", "Format3", "A{0}BC{1}DE{2}F", (ushort)12345, (ushort)12346, (ushort)12347)] - [TestCase("A1234567BC1234568DE1234569F", "Format3", "A{0}BC{1}DE{2}F", 1234567, 1234568, 1234569)] - [TestCase("A-1234567BC-1234568DE-1234569F", "Format3", "A{0}BC{1}DE{2}F", -1234567, -1234568, -1234569)] - [TestCase("A1234567890123BC1234567890124DE1234567890125F", "Format3", "A{0}BC{1}DE{2}F", 1234567890123, 1234567890124, 1234567890125)] - [TestCase("A-1234567890123BC-1234567890124DE-1234567890125F", "Format3", "A{0}BC{1}DE{2}F", -1234567890123, -1234567890124, -1234567890125)] - [TestCase("A123.456BC123.457DE123.458F", "Format3", "A{0}BC{1}DE{2}F", 123.456f, 123.457f, 123.458f)] - [TestCase("A123.456789BC123.456788DE123.456787F", "Format3", "A{0}BC{1}DE{2}F", 123.456789, 123.456788, 123.456787)] - [TestCase("ATrueBCFalseDETrueF", "Format3", "A{0}BC{1}DE{2}F", true, false, true)] - [TestCase("AXBCYDEZF", "Format3", "A{0}BC{1}DE{2}F", 'X', 'Y', 'Z')] - [TestCase("AXYZBCPQRDESTUF", "Format3", "A{0}BC{1}DE{2}F", "XYZ", "PQR", "STU")] - [TestCase("AXYZBCPQRDESTUF", "Format31_Custom", "A{0}BC{1}DE{2}F", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer) })] - [TestCase("AXYZBCPQRDESTUF", "Format31_Custom", "A{0:}BC{1:}DE{2:}F", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer) })] - [TestCase("AXYZBCPQRDESTUF", "Format31_Custom", "A{0:N}BC{1:N}DE{2:N}F", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer) })] - [TestCase("A333BC666DE999F", "Format32_Custom", "A{0}BC{1}DE{2}F", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] - [TestCase("A333BC666DE999F", "Format32_Custom", "A{0:}BC{1:}DE{2:}F", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] - [TestCase("A111BC444DE777F", "Format32_Custom", "A{0:N}BC{1:N}DE{2:N}F", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] - [TestCase("123A123B124C124D125E125", "Format3", "{0}A{0}B{1}C{1}D{2}E{2}", 123, 124, 125)] - [TestCase("A125BC124DE123F", "Format3", "A{2}BC{1}DE{0}F", 123, 124, 125)] - [TestCase("A333B111C666D444E999F777G", "Format32_Custom", "A{0}B{0:N}C{1}D{1:N}E{2}F{2:N}G", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] - [TestCase("ABCDEF", "Format3", "ABCDEF", 123, 124, 125)] - [TestCase("ABCDEF", "Format3", "A{0}BC{1}DE{2}F", "", "", "")] - [TestCase("ABCDEF", "Format3", "A{0}BC{1}DE{2}F", null, null, null)] - [TestCase(true, "Format3_Exception", "ABC{3}DEF", 123, 124, 125)] public sealed class System_String_Format3 { + [TestCase("A123BC124DE125F", "Format3", "A{0}BC{1}DE{2}F", (byte)123, (byte)124, (byte)125)] + [TestCase("A-123BC-124DE-125F", "Format3", "A{0}BC{1}DE{2}F", (sbyte)-123, (sbyte)-124, (sbyte)-125)] + [TestCase("A-12345BC-12346DE-12347F", "Format3", "A{0}BC{1}DE{2}F", (short)-12345, (short)-12346, (short)-12347)] + [TestCase("A12345BC12346DE12347F", "Format3", "A{0}BC{1}DE{2}F", (ushort)12345, (ushort)12346, (ushort)12347)] + [TestCase("A1234567BC1234568DE1234569F", "Format3", "A{0}BC{1}DE{2}F", 1234567, 1234568, 1234569)] + [TestCase("A-1234567BC-1234568DE-1234569F", "Format3", "A{0}BC{1}DE{2}F", -1234567, -1234568, -1234569)] + [TestCase("A1234567890123BC1234567890124DE1234567890125F", "Format3", "A{0}BC{1}DE{2}F", 1234567890123, 1234567890124, 1234567890125)] + [TestCase("A-1234567890123BC-1234567890124DE-1234567890125F", "Format3", "A{0}BC{1}DE{2}F", -1234567890123, -1234567890124, -1234567890125)] + [TestCase("A123.456BC123.457DE123.458F", "Format3", "A{0}BC{1}DE{2}F", 123.456f, 123.457f, 123.458f)] + [TestCase("A123.456789BC123.456788DE123.456787F", "Format3", "A{0}BC{1}DE{2}F", 123.456789, 123.456788, 123.456787)] + [TestCase("ATrueBCFalseDETrueF", "Format3", "A{0}BC{1}DE{2}F", true, false, true)] + [TestCase("AXBCYDEZF", "Format3", "A{0}BC{1}DE{2}F", 'X', 'Y', 'Z')] + [TestCase("AXYZBCPQRDESTUF", "Format3", "A{0}BC{1}DE{2}F", "XYZ", "PQR", "STU")] + [TestCase("123A123B124C124D125E125", "Format3", "{0}A{0}B{1}C{1}D{2}E{2}", 123, 124, 125)] + [TestCase("A125BC124DE123F", "Format3", "A{2}BC{1}DE{0}F", 123, 124, 125)] + [TestCase("ABCDEF", "Format3", "ABCDEF", 123, 124, 125)] + [TestCase("ABCDEF", "Format3", "A{0}BC{1}DE{2}F", "", "", "")] + [TestCase("ABCDEF", "Format3", "A{0}BC{1}DE{2}F", null, null, null)] public static string Format3(string format, object value0, object value1, object value2) { return string.Format(format, value0, value1, value2); } + [TestCase("AXYZBCPQRDESTUF", "Format31_Custom", "A{0}BC{1}DE{2}F", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer) })] + [TestCase("AXYZBCPQRDESTUF", "Format31_Custom", "A{0:}BC{1:}DE{2:}F", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer) })] + [TestCase("AXYZBCPQRDESTUF", "Format31_Custom", "A{0:N}BC{1:N}DE{2:N}F", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer) })] public static string Format31_Custom(string format) { var cp1 = new Format11_CustomProducer(); @@ -73,6 +68,10 @@ public static string Format31_Custom(string format) return string.Format(format, cp1, cp2, cp3); } + [TestCase("A333BC666DE999F", "Format32_Custom", "A{0}BC{1}DE{2}F", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] + [TestCase("A333BC666DE999F", "Format32_Custom", "A{0:}BC{1:}DE{2:}F", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] + [TestCase("A111BC444DE777F", "Format32_Custom", "A{0:N}BC{1:N}DE{2:N}F", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] + [TestCase("A333B111C666D444E999F777G", "Format32_Custom", "A{0}B{0:N}C{1}D{1:N}E{2}F{2:N}G", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer) })] public static string Format32_Custom(string format) { var cp1 = new Format12_CustomProducer(); @@ -81,6 +80,7 @@ public static string Format32_Custom(string format) return string.Format(format, cp1, cp2, cp3); } + [TestCase(true, "Format3_Exception", "ABC{3}DEF", 123, 124, 125)] public static bool Format3_Exception(string format, object value0, object value1, object value2) { try diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs index 2c77f749..29c374fd 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs @@ -32,39 +32,34 @@ public string ToString(string format, IFormatProvider formatProvider) } [TestId("System_String")] - [TestCase("A123BC124DE125FG126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (byte)123, (byte)124, (byte)125, (byte)126)] - [TestCase("A-123BC-124DE-125FG-126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (sbyte)-123, (sbyte)-124, (sbyte)-125, (sbyte)-126)] - [TestCase("A-12345BC-12346DE-12347FG-12348H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (short)-12345, (short)-12346, (short)-12347, (short)-12348)] - [TestCase("A12345BC12346DE12347FG12348H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (ushort)12345, (ushort)12346, (ushort)12347, (ushort)12348)] - [TestCase("A1234567BC1234568DE1234569FG1234570H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 1234567, 1234568, 1234569, 1234570)] - [TestCase("A-1234567BC-1234568DE-1234569FG-1234570H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", -1234567, -1234568, -1234569, -1234570)] - [TestCase("A1234567890123BC1234567890124DE1234567890125FG1234567890126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 1234567890123, 1234567890124, 1234567890125, 1234567890126)] - [TestCase("A-1234567890123BC-1234567890124DE-1234567890125FG-1234567890126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", -1234567890123, -1234567890124, -1234567890125, -1234567890126)] - [TestCase("A123.456BC123.457DE123.458FG123.459H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 123.456f, 123.457f, 123.458f, 123.459f)] - [TestCase("A123.456789BC123.456788DE123.456787FG123.456786H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 123.456789, 123.456788, 123.456787, 123.456786)] - [TestCase("ATrueBCFalseDETrueFGFalseH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", true, false, true, false)] - [TestCase("AXBCYDEZFGPH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 'X', 'Y', 'Z', 'P')] - [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", "XYZ", "PQR", "STU", "FGH")] - [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params_Custom1", "A{0}BC{1}DE{2}FG{3}H", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer), typeof(Format41_CustomProducer) })] - [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params_Custom1", "A{0:}BC{1:}DE{2:}FG{3:}H", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer), typeof(Format41_CustomProducer) })] - [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params_Custom1", "A{0:N}BC{1:N}DE{2:N}FG{3:N}H", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer), typeof(Format41_CustomProducer) })] - [TestCase("A333BC666DE999FGZZZH", "Format_Params_Custom2", "A{0}BC{1}DE{2}FG{3}H", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] - [TestCase("A333BC666DE999FGZZZH", "Format_Params_Custom2", "A{0:}BC{1:}DE{2:}FG{3:}H", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] - [TestCase("A111BC444DE777FGXXXH", "Format_Params_Custom2", "A{0:N}BC{1:N}DE{2:N}FG{3:N}H", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] - [TestCase("123A123B124C124D125E125F126", "Format_Params", "{0}A{0}B{1}C{1}D{2}E{2}F{3}", 123, 124, 125, 126)] - [TestCase("A126BC125DE124FG123H", "Format_Params", "A{3}BC{2}DE{1}FG{0}H", 123, 124, 125, 126)] - [TestCase("A333B111C666D444E999F777GZZZHXXXI", "Format_Params_Custom2", "A{0}B{0:N}C{1}D{1:N}E{2}F{2:N}G{3}H{3:N}I", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] - [TestCase("ABCDEF", "Format_Params", "ABCDEF", 123, 124, 125, 126)] - [TestCase("ABCDEFGH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", "", "", "", "")] - [TestCase("ABCDEFGH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", null, null, null, null)] - [TestCase(true, "Format_Params_Exception", "ABC{4}DEF", 123, 124, 125, 126)] public sealed class System_String_Format_Params { + [TestCase("A123BC124DE125FG126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (byte)123, (byte)124, (byte)125, (byte)126)] + [TestCase("A-123BC-124DE-125FG-126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (sbyte)-123, (sbyte)-124, (sbyte)-125, (sbyte)-126)] + [TestCase("A-12345BC-12346DE-12347FG-12348H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (short)-12345, (short)-12346, (short)-12347, (short)-12348)] + [TestCase("A12345BC12346DE12347FG12348H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", (ushort)12345, (ushort)12346, (ushort)12347, (ushort)12348)] + [TestCase("A1234567BC1234568DE1234569FG1234570H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 1234567, 1234568, 1234569, 1234570)] + [TestCase("A-1234567BC-1234568DE-1234569FG-1234570H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", -1234567, -1234568, -1234569, -1234570)] + [TestCase("A1234567890123BC1234567890124DE1234567890125FG1234567890126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 1234567890123, 1234567890124, 1234567890125, 1234567890126)] + [TestCase("A-1234567890123BC-1234567890124DE-1234567890125FG-1234567890126H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", -1234567890123, -1234567890124, -1234567890125, -1234567890126)] + [TestCase("A123.456BC123.457DE123.458FG123.459H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 123.456f, 123.457f, 123.458f, 123.459f)] + [TestCase("A123.456789BC123.456788DE123.456787FG123.456786H", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 123.456789, 123.456788, 123.456787, 123.456786)] + [TestCase("ATrueBCFalseDETrueFGFalseH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", true, false, true, false)] + [TestCase("AXBCYDEZFGPH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", 'X', 'Y', 'Z', 'P')] + [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", "XYZ", "PQR", "STU", "FGH")] + [TestCase("123A123B124C124D125E125F126", "Format_Params", "{0}A{0}B{1}C{1}D{2}E{2}F{3}", 123, 124, 125, 126)] + [TestCase("A126BC125DE124FG123H", "Format_Params", "A{3}BC{2}DE{1}FG{0}H", 123, 124, 125, 126)] + [TestCase("ABCDEF", "Format_Params", "ABCDEF", 123, 124, 125, 126)] + [TestCase("ABCDEFGH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", "", "", "", "")] + [TestCase("ABCDEFGH", "Format_Params", "A{0}BC{1}DE{2}FG{3}H", null, null, null, null)] public static string Format_Params(string format, object value0, object value1, object value2, object value3) { return string.Format(format, value0, value1, value2, value3); } + [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params_Custom1", "A{0}BC{1}DE{2}FG{3}H", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer), typeof(Format41_CustomProducer) })] + [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params_Custom1", "A{0:}BC{1:}DE{2:}FG{3:}H", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer), typeof(Format41_CustomProducer) })] + [TestCase("AXYZBCPQRDESTUFGFGHH", "Format_Params_Custom1", "A{0:N}BC{1:N}DE{2:N}FG{3:N}H", IncludeTypes = new[] { typeof(Format11_CustomProducer), typeof(Format21_CustomProducer), typeof(Format31_CustomProducer), typeof(Format41_CustomProducer) })] public static string Format_Params_Custom1(string format) { var cp1 = new Format11_CustomProducer(); @@ -74,6 +69,10 @@ public static string Format_Params_Custom1(string format) return string.Format(format, cp1, cp2, cp3, cp4); } + [TestCase("A333BC666DE999FGZZZH", "Format_Params_Custom2", "A{0}BC{1}DE{2}FG{3}H", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] + [TestCase("A333BC666DE999FGZZZH", "Format_Params_Custom2", "A{0:}BC{1:}DE{2:}FG{3:}H", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] + [TestCase("A111BC444DE777FGXXXH", "Format_Params_Custom2", "A{0:N}BC{1:N}DE{2:N}FG{3:N}H", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] + [TestCase("A333B111C666D444E999F777GZZZHXXXI", "Format_Params_Custom2", "A{0}B{0:N}C{1}D{1:N}E{2}F{2:N}G{3}H{3:N}I", IncludeTypes = new[] { typeof(Format12_CustomProducer), typeof(Format22_CustomProducer), typeof(Format32_CustomProducer), typeof(Format42_CustomProducer) })] public static string Format_Params_Custom2(string format) { var cp1 = new Format12_CustomProducer(); @@ -83,6 +82,7 @@ public static string Format_Params_Custom2(string format) return string.Format(format, cp1, cp2, cp3, cp4); } + [TestCase(true, "Format_Params_Exception", "ABC{4}DEF", 123, 124, 125, 126)] public static bool Format_Params_Exception(string format, object value0, object value1, object value2, object value3) { try diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs b/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs index a62a522d..8721563b 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs @@ -11,31 +11,31 @@ namespace IL2C.BasicTypes { - [TestCase("System.Int32", "FullName", 123)] - [TestCase("System.String", "FullName", "ABC")] - // System.Type.ToString() implementation has concatenation for "Type: " header, but the System.RuntimeType do not. - [TestCase("System.Int32", "ToString", 123)] - [TestCase("System.String", "ToString", "ABC")] - [TestCase("System.ValueType", "BaseType", 123)] - [TestCase("System.Object", "BaseType", "ABC")] - [TestCase(null, "Object_BaseType")] public sealed class System_Type { + // System.Type.ToString() implementation has concatenation for "Type: " header, but the System.RuntimeType do not. + [TestCase("System.Int32", "ToString", 123)] + [TestCase("System.String", "ToString", "ABC")] public static string ToString(object value) { return value.GetType().ToString(); } + [TestCase("System.Int32", "FullName", 123)] + [TestCase("System.String", "FullName", "ABC")] public static string FullName(object value) { return value.GetType().FullName; } + [TestCase("System.ValueType", "BaseType", 123)] + [TestCase("System.Object", "BaseType", "ABC")] public static string BaseType(object value) { return value.GetType().BaseType.FullName; } + [TestCase(null, "Object_BaseType")] public static Type Object_BaseType() { // TODO: We have to handle GetTypeFromHandle. diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.cs b/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.cs index c89cf51f..bbe35efb 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(2, "SizeOf")] - [TestCase("65535", "ToString", ushort.MaxValue)] - [TestCase("0", "ToString", ushort.MinValue)] - [TestCase(ushort.MaxValue, "TryParse", "65535")] - [TestCase(ushort.MinValue, "TryParse", "0")] public sealed class System_UInt16 { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(2, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("65535", "ToString", ushort.MaxValue)] + [TestCase("0", "ToString", ushort.MinValue)] public static string ToString(ushort value) { return value.ToString(); } + [TestCase(ushort.MaxValue, "TryParse", "65535")] + [TestCase(ushort.MinValue, "TryParse", "0")] public static ushort TryParse(string str) { ushort.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.cs b/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.cs index 93c7da37..1109c13a 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(4, "SizeOf")] - [TestCase("4294967295", "ToString", uint.MaxValue)] - [TestCase("0", "ToString", uint.MinValue)] - [TestCase(uint.MaxValue, "TryParse", "4294967295")] - [TestCase(uint.MinValue, "TryParse", "0")] public sealed class System_UInt32 { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(4, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("4294967295", "ToString", uint.MaxValue)] + [TestCase("0", "ToString", uint.MinValue)] public static string ToString(uint value) { return value.ToString(); } + [TestCase(uint.MaxValue, "TryParse", "4294967295")] + [TestCase(uint.MinValue, "TryParse", "0")] public static uint TryParse(string str) { uint.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.cs b/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.cs index 28dfd893..20289967 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.cs @@ -11,25 +11,25 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(8, "SizeOf")] - [TestCase("18446744073709551615", "ToString", ulong.MaxValue)] - [TestCase("0", "ToString", ulong.MinValue)] - [TestCase(ulong.MaxValue, "TryParse", "18446744073709551615")] - [TestCase(ulong.MinValue, "TryParse", "0")] public sealed class System_UInt64 { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(8, "SizeOf")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("18446744073709551615", "ToString", ulong.MaxValue)] + [TestCase("0", "ToString", ulong.MinValue)] public static string ToString(ulong value) { return value.ToString(); } + [TestCase(ulong.MaxValue, "TryParse", "18446744073709551615")] + [TestCase(ulong.MinValue, "TryParse", "0")] public static ulong TryParse(string str) { ulong.TryParse(str, out var value); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs index 11987779..f335bd0e 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs @@ -12,18 +12,18 @@ namespace IL2C.BasicTypes { - [TestCase(true, "IsValueType")] - [TestCase(4, "SizeOf", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Unit test environment is unknown, gcc is 32bit - [TestCase("4294967295", "ToString", uint.MaxValue)] - [TestCase("0", "ToString", uint.MinValue)] public sealed class System_UIntPtr { + [TestCase(true, "IsValueType")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); + [TestCase(4, "SizeOf", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Unit test environment is unknown, gcc is 32bit [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); + [TestCase("4294967295", "ToString", uint.MaxValue)] + [TestCase("0", "ToString", uint.MinValue)] public static string ToString(UIntPtr value) { return value.ToString(); diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index 6b2ef95c..c5d3df51 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -69,6 +69,8 @@ public TestCaseAttribute( public void BeforeTest(ITest test) { + // TRANSITIVE DEBUG CODE: Check whether method name is equal. + NUnit.Framework.Assert.AreEqual(test.Method?.Name, this.MethodName); } public void AfterTest(ITest test) From 7b80692c3878d6a901e2109be03e3acc7031bf20 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 18 May 2022 21:10:39 +0900 Subject: [PATCH 008/144] Updated ILConverter [a-c]. --- tests/IL2C.Core.Test.ILConverters/Add/Add.cs | 26 +++++----- tests/IL2C.Core.Test.ILConverters/And/And.cs | 10 ++-- tests/IL2C.Core.Test.ILConverters/Box/Box.cs | 34 ++++++------- .../Box/Box_Enum.cs | 48 +++++++++---------- .../Box/Box_Enum_Narrowing.cs | 24 +++++----- .../Box/Box_Enum_Widing.cs | 24 +++++----- .../Box/Box_Narrowing.cs | 12 ++--- .../Box/Box_Widing.cs | 14 +++--- tests/IL2C.Core.Test.ILConverters/Br/Br.cs | 2 +- .../IL2C.Core.Test.ILConverters/Br_s/Br_s.cs | 2 +- .../Break/Break.cs | 2 +- .../Brfalse/Brfalse.cs | 20 ++++---- .../Brfalse_s/Brfalse_s.cs | 20 ++++---- .../Brtrue/Brtrue.cs | 20 ++++---- .../Brtrue_s/Brtrue_s.cs | 20 ++++---- .../IL2C.Core.Test.ILConverters/Call/Call.cs | 10 ++-- .../Call/Call_Newslot.cs | 4 +- .../Call/Call_Newslot_Virtual.cs | 4 +- .../Call/Call_Overload.cs | 4 +- .../Call/Call_Overload_Newslot_Virtual.cs | 6 +-- .../Call/Call_Overload_Virtual.cs | 6 +-- .../Call/Call_Virtual.cs | 4 +- .../Callvirt/Callvirt.cs | 2 +- .../Callvirt/Callvirt_Derived1.cs | 4 +- .../Callvirt/Callvirt_Derived1_Newslot.cs | 4 +- .../Callvirt_Derived1_Newslot_Virtual.cs | 4 +- .../Callvirt/Callvirt_Derived2.cs | 4 +- .../Callvirt/Callvirt_Derived2_Newslot.cs | 6 +-- .../Callvirt_Derived2_Newslot_Virtual.cs | 6 +-- .../Callvirt/Callvirt_Derived3_Newslot.cs | 8 ++-- .../Callvirt_Derived3_Newslot_Virtual.cs | 8 ++-- .../Conv_i/Conv_i.cs | 24 +++++----- .../Conv_i1/Conv_i1.cs | 46 +++++++++--------- .../Conv_i2/Conv_i2.cs | 44 ++++++++--------- .../Conv_i4/Conv_i4.cs | 42 ++++++++-------- .../Conv_i8/Conv_i8.cs | 42 ++++++++-------- .../Conv_r4/Conv_r4.cs | 40 ++++++++-------- .../Conv_r8/Conv_r8.cs | 40 ++++++++-------- .../Conv_u/Conv_u.cs | 24 +++++----- .../Conv_u1/Conv_u1.cs | 44 ++++++++--------- .../Conv_u2/Conv_u2.cs | 42 ++++++++-------- .../Conv_u4/Conv_u4.cs | 38 +++++++-------- .../Conv_u8/Conv_u8.cs | 38 +++++++-------- 43 files changed, 413 insertions(+), 413 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Add/Add.cs b/tests/IL2C.Core.Test.ILConverters/Add/Add.cs index 27bf027a..2d582cbe 100644 --- a/tests/IL2C.Core.Test.ILConverters/Add/Add.cs +++ b/tests/IL2C.Core.Test.ILConverters/Add/Add.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(36, "Int32_Int32", 12, 24)] - [TestCase(36, "Int32_IntPtr", 12, 24)] - [TestCase(123, new[] { "Int32_IntRef", "Add_Int32_IntRef" }, 123)] - [TestCase(36L, "Int64_Int64", 12L, 24L)] - [TestCase(36, "IntPtr_Int32", 12, 24)] - [TestCase(36, "IntPtr_IntPtr", 12, 24)] - [TestCase(123, new[] { "IntPtr_IntRef", "Add_IntPtr_IntRef" }, 123)] - [TestCase(0.45f + 123.0f, "Single_Single", 0.45f, 123.0f)] - [TestCase(0.45f + 123.0, "Single_Double", 0.45f, 123.0)] - [TestCase(0.45 + 123.0f, "Double_Single", 0.45, 123.0f)] - [TestCase(0.45 + 123.0, "Double_Double", 0.45, 123.0)] - [TestCase(123, new[] { "IntRef_Int32", "Add_IntRef_Int32" }, 123)] - [TestCase(123, new[] { "IntRef_IntPtr", "Add_IntRef_IntPtr" }, 123)] public sealed class Add { + [TestCase(36, "Int32_Int32", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(36, "Int32_IntPtr", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Add_Int32_IntRef(int lhs, ref int rhs); + [TestCase(123, new[] { "Int32_IntRef", "Add_Int32_IntRef" }, 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_IntRef(int value); + [TestCase(36L, "Int64_Int64", 12L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(36, "IntPtr_Int32", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(36, "IntPtr_IntPtr", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Add_IntPtr_IntRef(IntPtr lhs, ref int rhs); + [TestCase(123, new[] { "IntPtr_IntRef", "Add_IntPtr_IntRef" }, 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int IntPtr_IntRef(int value); + [TestCase(0.45f + 123.0f, "Single_Single", 0.45f, 123.0f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); + [TestCase(0.45f + 123.0, "Single_Double", 0.45f, 123.0)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Single_Double(float lhs, double rhs); + [TestCase(0.45 + 123.0f, "Double_Single", 0.45, 123.0f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Single(double lhs, float rhs); + [TestCase(0.45 + 123.0, "Double_Double", 0.45, 123.0)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Double(double lhs, double rhs); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Add_IntRef_Int32(ref int lhs, int rhs); + [TestCase(123, new[] { "IntRef_Int32", "Add_IntRef_Int32" }, 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int IntRef_Int32(int value); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Add_IntRef_IntPtr(ref int lhs, IntPtr rhs); + [TestCase(123, new[] { "IntRef_IntPtr", "Add_IntRef_IntPtr" }, 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int IntRef_IntPtr(int value); } diff --git a/tests/IL2C.Core.Test.ILConverters/And/And.cs b/tests/IL2C.Core.Test.ILConverters/And/And.cs index b67b76e3..6513b4bf 100644 --- a/tests/IL2C.Core.Test.ILConverters/And/And.cs +++ b/tests/IL2C.Core.Test.ILConverters/And/And.cs @@ -12,25 +12,25 @@ namespace IL2C.ILConverters { - [TestCase(0x12345678 & 0x55555555, "Int32_Int32", 0x12345678, 0x55555555)] - [TestCase(0x12345678 & 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] - [TestCase(0x123456789abcdef & 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] - [TestCase(0x12345678 & 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] - [TestCase(0x12345678 & 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] public sealed class And { + [TestCase(0x12345678 & 0x55555555, "Int32_Int32", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(0x12345678 & 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(0x123456789abcdef & 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(0x12345678 & 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(0x12345678 & 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); } diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box.cs index 9f85c060..37d72b3e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box.cs @@ -23,28 +23,12 @@ public override string ToString() } } - [TestCase("124", new[] { "Byte", "Box_Byte" }, 123)] - [TestCase("12346", new[] { "Int16", "Box_Int16" }, 12345)] - [TestCase("1234568", new[] { "Int32", "Box_Int32" }, 1234567)] - [TestCase("12345678901235", new[] { "Int64", "Box_Int64" }, 12345678901234)] - [TestCase("124", new[] { "SByte", "Box_SByte" }, 123)] - [TestCase("12346", new[] { "UInt16", "Box_UInt16" }, 12345)] - [TestCase("1234568", new[] { "UInt32", "Box_UInt32" }, 1234567)] - [TestCase("12345678901235", new[] { "UInt64", "Box_UInt64" }, 12345678901234)] - [TestCase("1234567", new[] { "IntPtr", "Box_IntPtr" }, 1234567)] - [TestCase("1234567", new[] { "UIntPtr", "Box_UIntPtr" }, 1234567U)] - [TestCase("123.456", new[] { "Single", "Box_Single" }, 123.456f)] - [TestCase("123.45678901234", new[] { "Double", "Box_Double" }, 123.45678901234)] - [TestCase("True", new[] { "Boolean", "Box_Boolean" }, true)] - [TestCase("False", new[] { "Boolean", "Box_Boolean" }, false)] - [TestCase("A", new[] { "Char", "Box_Char" }, 'A')] - [TestCase("12345679901234", new[] { "UInt64ToInt64", "Box_UInt64ToInt64" }, 12345678901234)] - [TestCase("123ABC", new[] { "ValueType", "ToString" }, 123, "ABC", IncludeTypes = new[] { typeof(Box_Target_ValueType) })] public sealed class Box { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Byte(byte value); + [TestCase("124", new[] { "Byte", "Box_Byte" }, 123)] public static string Byte(byte value) { return Box_Byte((byte)(value + 1)).ToString(); @@ -53,6 +37,7 @@ public static string Byte(byte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int16(short value); + [TestCase("12346", new[] { "Int16", "Box_Int16" }, 12345)] public static string Int16(short value) { return Box_Int16((short)(value + 1)).ToString(); @@ -61,6 +46,7 @@ public static string Int16(short value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int32(int value); + [TestCase("1234568", new[] { "Int32", "Box_Int32" }, 1234567)] public static string Int32(int value) { return Box_Int32(value + 1).ToString(); @@ -69,6 +55,7 @@ public static string Int32(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int64(long value); + [TestCase("12345678901235", new[] { "Int64", "Box_Int64" }, 12345678901234)] public static string Int64(long value) { return Box_Int64(value + 1).ToString(); @@ -77,6 +64,7 @@ public static string Int64(long value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_SByte(sbyte value); + [TestCase("124", new[] { "SByte", "Box_SByte" }, 123)] public static string SByte(sbyte value) { return Box_SByte((sbyte)(value + 1)).ToString(); @@ -85,6 +73,7 @@ public static string SByte(sbyte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt16(ushort value); + [TestCase("12346", new[] { "UInt16", "Box_UInt16" }, 12345)] public static string UInt16(ushort value) { return Box_UInt16((ushort)(value + 1)).ToString(); @@ -93,6 +82,7 @@ public static string UInt16(ushort value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt32(uint value); + [TestCase("1234568", new[] { "UInt32", "Box_UInt32" }, 1234567)] public static string UInt32(uint value) { return Box_UInt32(value + 1).ToString(); @@ -101,6 +91,7 @@ public static string UInt32(uint value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt64(ulong value); + [TestCase("12345678901235", new[] { "UInt64", "Box_UInt64" }, 12345678901234)] public static string UInt64(ulong value) { return Box_UInt64(value + 1).ToString(); @@ -109,6 +100,7 @@ public static string UInt64(ulong value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_IntPtr(IntPtr value); + [TestCase("1234567", new[] { "IntPtr", "Box_IntPtr" }, 1234567)] public static string IntPtr(IntPtr value) { return Box_IntPtr(value).ToString(); @@ -117,6 +109,7 @@ public static string IntPtr(IntPtr value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UIntPtr(UIntPtr value); + [TestCase("1234567", new[] { "UIntPtr", "Box_UIntPtr" }, 1234567U)] public static string UIntPtr(UIntPtr value) { return Box_UIntPtr(value).ToString(); @@ -125,6 +118,7 @@ public static string UIntPtr(UIntPtr value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Single(float value); + [TestCase("123.456", new[] { "Single", "Box_Single" }, 123.456f)] public static string Single(float value) { return Box_Single(value).ToString(); @@ -133,6 +127,7 @@ public static string Single(float value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Double(double value); + [TestCase("123.45678901234", new[] { "Double", "Box_Double" }, 123.45678901234)] public static string Double(double value) { return Box_Double(value).ToString(); @@ -141,6 +136,8 @@ public static string Double(double value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Boolean(bool value); + [TestCase("True", new[] { "Boolean", "Box_Boolean" }, true)] + [TestCase("False", new[] { "Boolean", "Box_Boolean" }, false)] public static string Boolean(bool value) { return Box_Boolean(value).ToString(); @@ -149,6 +146,7 @@ public static string Boolean(bool value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Char(char value); + [TestCase("A", new[] { "Char", "Box_Char" }, 'A')] public static string Char(char value) { return Box_Char(value).ToString(); @@ -157,11 +155,13 @@ public static string Char(char value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt64ToInt64(ulong value); + [TestCase("12345679901234", new[] { "UInt64ToInt64", "Box_UInt64ToInt64" }, 12345678901234)] public static long UInt64ToInt64(ulong value) { return (long)Box_UInt64ToInt64(value) + 1000000; } + [TestCase("123ABC", new[] { "ValueType", "ToString" }, 123, "ABC", IncludeTypes = new[] { typeof(Box_Target_ValueType) })] public static string ValueType(int value1, string value2) { var v = new Box_Target_ValueType(); diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs index 56359c9d..6e893585 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs @@ -69,35 +69,14 @@ public enum Box_Enum_UInt64_Type : ulong } [TestId("Box")] - [TestCase(Box_Enum_Byte_Type.Min, new[] { "Enum_Byte", "Box_Enum_Byte" }, byte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] - [TestCase(Box_Enum_Byte_Type.One, new[] { "Enum_Byte", "Box_Enum_Byte" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] - [TestCase(Box_Enum_Byte_Type.Max, new[] { "Enum_Byte", "Box_Enum_Byte" }, byte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] - [TestCase(Box_Enum_Int16_Type.Min, new[] { "Enum_Int16", "Box_Enum_Int16" }, short.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] - [TestCase(Box_Enum_Int16_Type.Zero, new[] { "Enum_Int16", "Box_Enum_Int16" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] - [TestCase(Box_Enum_Int16_Type.Max, new[] { "Enum_Int16", "Box_Enum_Int16" }, short.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] - [TestCase(Box_Enum_Int32_Type.Min, new[] { "Enum_Int32", "Box_Enum_Int32" }, int.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase(Box_Enum_Int32_Type.Zero, new[] { "Enum_Int32", "Box_Enum_Int32" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase(Box_Enum_Int32_Type.Max, new[] { "Enum_Int32", "Box_Enum_Int32" }, int.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase(Box_Enum_Int64_Type.Min, new[] { "Enum_Int64", "Box_Enum_Int64" }, long.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int64_Type) })] - [TestCase(Box_Enum_Int64_Type.Zero, new[] { "Enum_Int64", "Box_Enum_Int64" }, 0L, IncludeTypes = new[] { typeof(Box_Enum_Int64_Type) })] - [TestCase(Box_Enum_Int64_Type.Max, new[] { "Enum_Int64", "Box_Enum_Int64" }, long.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int64_Type) })] - [TestCase(Box_Enum_SByte_Type.Min, new[] { "Enum_SByte", "Box_Enum_SByte" }, sbyte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] - [TestCase(Box_Enum_SByte_Type.Zero, new[] { "Enum_SByte", "Box_Enum_SByte" }, 0, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] - [TestCase(Box_Enum_SByte_Type.Max, new[] { "Enum_SByte", "Box_Enum_SByte" }, sbyte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] - [TestCase(Box_Enum_UInt16_Type.Min, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - [TestCase(Box_Enum_UInt16_Type.One, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - [TestCase(Box_Enum_UInt16_Type.Max, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - [TestCase(Box_Enum_UInt32_Type.Min, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, uint.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] - [TestCase(Box_Enum_UInt32_Type.One, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] - [TestCase(Box_Enum_UInt32_Type.Max, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, uint.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] - [TestCase(Box_Enum_UInt64_Type.Min, new[] { "Enum_UInt64", "Box_Enum_UInt64" }, ulong.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt64_Type) })] - [TestCase(Box_Enum_UInt64_Type.One, new[] { "Enum_UInt64", "Box_Enum_UInt64" }, 1UL, IncludeTypes = new[] { typeof(Box_Enum_UInt64_Type) })] - [TestCase(Box_Enum_UInt64_Type.Max, new[] { "Enum_UInt64", "Box_Enum_UInt64" }, ulong.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt64_Type) })] public sealed class Box_Enum { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Byte(byte value); + [TestCase(Box_Enum_Byte_Type.Min, new[] { "Enum_Byte", "Box_Enum_Byte" }, byte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] + [TestCase(Box_Enum_Byte_Type.One, new[] { "Enum_Byte", "Box_Enum_Byte" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] + [TestCase(Box_Enum_Byte_Type.Max, new[] { "Enum_Byte", "Box_Enum_Byte" }, byte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] public static Box_Enum_Byte_Type Enum_Byte(byte value) { return (Box_Enum_Byte_Type)Box_Enum_Byte(value); @@ -106,6 +85,9 @@ public static Box_Enum_Byte_Type Enum_Byte(byte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int16(short value); + [TestCase(Box_Enum_Int16_Type.Min, new[] { "Enum_Int16", "Box_Enum_Int16" }, short.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] + [TestCase(Box_Enum_Int16_Type.Zero, new[] { "Enum_Int16", "Box_Enum_Int16" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] + [TestCase(Box_Enum_Int16_Type.Max, new[] { "Enum_Int16", "Box_Enum_Int16" }, short.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] public static Box_Enum_Int16_Type Enum_Int16(short value) { return (Box_Enum_Int16_Type)Box_Enum_Int16(value); @@ -114,6 +96,9 @@ public static Box_Enum_Int16_Type Enum_Int16(short value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int32(int value); + [TestCase(Box_Enum_Int32_Type.Min, new[] { "Enum_Int32", "Box_Enum_Int32" }, int.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase(Box_Enum_Int32_Type.Zero, new[] { "Enum_Int32", "Box_Enum_Int32" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase(Box_Enum_Int32_Type.Max, new[] { "Enum_Int32", "Box_Enum_Int32" }, int.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] public static Box_Enum_Int32_Type Enum_Int32(int value) { return (Box_Enum_Int32_Type)Box_Enum_Int32(value); @@ -122,6 +107,9 @@ public static Box_Enum_Int32_Type Enum_Int32(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int64(long value); + [TestCase(Box_Enum_Int64_Type.Min, new[] { "Enum_Int64", "Box_Enum_Int64" }, long.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int64_Type) })] + [TestCase(Box_Enum_Int64_Type.Zero, new[] { "Enum_Int64", "Box_Enum_Int64" }, 0L, IncludeTypes = new[] { typeof(Box_Enum_Int64_Type) })] + [TestCase(Box_Enum_Int64_Type.Max, new[] { "Enum_Int64", "Box_Enum_Int64" }, long.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int64_Type) })] public static Box_Enum_Int64_Type Enum_Int64(long value) { return (Box_Enum_Int64_Type)Box_Enum_Int64(value); @@ -130,6 +118,9 @@ public static Box_Enum_Int64_Type Enum_Int64(long value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_SByte(sbyte value); + [TestCase(Box_Enum_SByte_Type.Min, new[] { "Enum_SByte", "Box_Enum_SByte" }, sbyte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] + [TestCase(Box_Enum_SByte_Type.Zero, new[] { "Enum_SByte", "Box_Enum_SByte" }, 0, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] + [TestCase(Box_Enum_SByte_Type.Max, new[] { "Enum_SByte", "Box_Enum_SByte" }, sbyte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] public static Box_Enum_SByte_Type Enum_SByte(sbyte value) { return (Box_Enum_SByte_Type)Box_Enum_SByte(value); @@ -138,6 +129,9 @@ public static Box_Enum_SByte_Type Enum_SByte(sbyte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_UInt16(ushort value); + [TestCase(Box_Enum_UInt16_Type.Min, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] + [TestCase(Box_Enum_UInt16_Type.One, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] + [TestCase(Box_Enum_UInt16_Type.Max, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] public static Box_Enum_UInt16_Type Enum_UInt16(ushort value) { return (Box_Enum_UInt16_Type)Box_Enum_UInt16(value); @@ -146,6 +140,9 @@ public static Box_Enum_UInt16_Type Enum_UInt16(ushort value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_UInt32(uint value); + [TestCase(Box_Enum_UInt32_Type.Min, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, uint.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] + [TestCase(Box_Enum_UInt32_Type.One, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] + [TestCase(Box_Enum_UInt32_Type.Max, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, uint.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] public static Box_Enum_UInt32_Type Enum_UInt32(uint value) { return (Box_Enum_UInt32_Type)Box_Enum_UInt32(value); @@ -154,6 +151,9 @@ public static Box_Enum_UInt32_Type Enum_UInt32(uint value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_UInt64(ulong value); + [TestCase(Box_Enum_UInt64_Type.Min, new[] { "Enum_UInt64", "Box_Enum_UInt64" }, ulong.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt64_Type) })] + [TestCase(Box_Enum_UInt64_Type.One, new[] { "Enum_UInt64", "Box_Enum_UInt64" }, 1UL, IncludeTypes = new[] { typeof(Box_Enum_UInt64_Type) })] + [TestCase(Box_Enum_UInt64_Type.Max, new[] { "Enum_UInt64", "Box_Enum_UInt64" }, ulong.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt64_Type) })] public static Box_Enum_UInt64_Type Enum_UInt64(ulong value) { return (Box_Enum_UInt64_Type)Box_Enum_UInt64(value); diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.cs index c154f529..385e64e6 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Narrowing.cs @@ -13,23 +13,14 @@ namespace IL2C.ILConverters { [TestId("Box")] - [TestCase((Box_Enum_Byte_Type)byte.MinValue, new[] { "Enum_Byte_From_Int32", "Box_Enum_Byte_From_Int32" }, byte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] - [TestCase((Box_Enum_Byte_Type)1, new[] { "Enum_Byte_From_Int32", "Box_Enum_Byte_From_Int32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] - [TestCase((Box_Enum_Byte_Type)byte.MaxValue, new[] { "Enum_Byte_From_Int32", "Box_Enum_Byte_From_Int32" }, byte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] - [TestCase((Box_Enum_Int16_Type)short.MinValue, new[] { "Enum_Int16_From_Int32", "Box_Enum_Int16_From_Int32" }, short.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] - [TestCase((Box_Enum_Int16_Type)0, new[] { "Enum_Int16_From_Int32", "Box_Enum_Int16_From_Int32" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] - [TestCase((Box_Enum_Int16_Type)short.MaxValue, new[] { "Enum_Int16_From_Int32", "Box_Enum_Int16_From_Int32" }, short.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] - [TestCase((Box_Enum_SByte_Type)sbyte.MinValue, new[] { "Enum_SByte_From_Int32", "Box_Enum_SByte_From_Int32" }, sbyte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] - [TestCase((Box_Enum_SByte_Type)0, new[] { "Enum_SByte_From_Int32", "Box_Enum_SByte_From_Int32" }, 0, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] - [TestCase((Box_Enum_SByte_Type)sbyte.MaxValue, new[] { "Enum_SByte_From_Int32", "Box_Enum_SByte_From_Int32" }, sbyte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] - [TestCase((Box_Enum_UInt16_Type)ushort.MinValue, new[] { "Enum_UInt16_From_Int32", "Box_Enum_UInt16_From_Int32" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - [TestCase((Box_Enum_UInt16_Type)1, new[] { "Enum_UInt16_From_Int32", "Box_Enum_UInt16_From_Int32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - [TestCase((Box_Enum_UInt16_Type)ushort.MaxValue, new[] { "Enum_UInt16_From_Int32", "Box_Enum_UInt16_From_Int32" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] public sealed class Box_Enum_Narrowing { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Byte_From_Int32(int value); + [TestCase((Box_Enum_Byte_Type)byte.MinValue, new[] { "Enum_Byte_From_Int32", "Box_Enum_Byte_From_Int32" }, byte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] + [TestCase((Box_Enum_Byte_Type)1, new[] { "Enum_Byte_From_Int32", "Box_Enum_Byte_From_Int32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] + [TestCase((Box_Enum_Byte_Type)byte.MaxValue, new[] { "Enum_Byte_From_Int32", "Box_Enum_Byte_From_Int32" }, byte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Byte_Type) })] public static Box_Enum_Byte_Type Enum_Byte_From_Int32(int value) { return (Box_Enum_Byte_Type)Box_Enum_Byte_From_Int32(value); @@ -38,6 +29,9 @@ public static Box_Enum_Byte_Type Enum_Byte_From_Int32(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int16_From_Int32(int value); + [TestCase((Box_Enum_Int16_Type)short.MinValue, new[] { "Enum_Int16_From_Int32", "Box_Enum_Int16_From_Int32" }, short.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] + [TestCase((Box_Enum_Int16_Type)0, new[] { "Enum_Int16_From_Int32", "Box_Enum_Int16_From_Int32" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] + [TestCase((Box_Enum_Int16_Type)short.MaxValue, new[] { "Enum_Int16_From_Int32", "Box_Enum_Int16_From_Int32" }, short.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int16_Type) })] public static Box_Enum_Int16_Type Enum_Int16_From_Int32(int value) { return (Box_Enum_Int16_Type)Box_Enum_Int16_From_Int32(value); @@ -46,6 +40,9 @@ public static Box_Enum_Int16_Type Enum_Int16_From_Int32(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_SByte_From_Int32(int value); + [TestCase((Box_Enum_SByte_Type)sbyte.MinValue, new[] { "Enum_SByte_From_Int32", "Box_Enum_SByte_From_Int32" }, sbyte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] + [TestCase((Box_Enum_SByte_Type)0, new[] { "Enum_SByte_From_Int32", "Box_Enum_SByte_From_Int32" }, 0, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] + [TestCase((Box_Enum_SByte_Type)sbyte.MaxValue, new[] { "Enum_SByte_From_Int32", "Box_Enum_SByte_From_Int32" }, sbyte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_SByte_Type) })] public static Box_Enum_SByte_Type Enum_SByte_From_Int32(int value) { return (Box_Enum_SByte_Type)Box_Enum_SByte_From_Int32(value); @@ -54,6 +51,9 @@ public static Box_Enum_SByte_Type Enum_SByte_From_Int32(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_UInt16_From_Int32(int value); + [TestCase((Box_Enum_UInt16_Type)ushort.MinValue, new[] { "Enum_UInt16_From_Int32", "Box_Enum_UInt16_From_Int32" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] + [TestCase((Box_Enum_UInt16_Type)1, new[] { "Enum_UInt16_From_Int32", "Box_Enum_UInt16_From_Int32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] + [TestCase((Box_Enum_UInt16_Type)ushort.MaxValue, new[] { "Enum_UInt16_From_Int32", "Box_Enum_UInt16_From_Int32" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] public static Box_Enum_UInt16_Type Enum_UInt16_From_Int32(int value) { return (Box_Enum_UInt16_Type)Box_Enum_UInt16_From_Int32(value); diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs index 1905b4b7..65bec9e5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs @@ -13,23 +13,14 @@ namespace IL2C.ILConverters { [TestId("Box")] - [TestCase((Box_Enum_Int32_Type)byte.MinValue, new[] { "Enum_Int32_From_Byte", "Box_Enum_Int32_From_Byte" }, byte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)1, new[] { "Enum_Int32_From_Byte", "Box_Enum_Int32_From_Byte" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)byte.MaxValue, new[] { "Enum_Int32_From_Byte", "Box_Enum_Int32_From_Byte" }, byte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)short.MinValue, new[] { "Enum_Int32_From_Int16", "Box_Enum_Int32_From_Int16" }, short.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)0, new[] { "Enum_Int32_From_Int16", "Box_Enum_Int32_From_Int16" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)short.MaxValue, new[] { "Enum_Int32_From_Int16", "Box_Enum_Int32_From_Int16" }, short.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)sbyte.MinValue, new[] { "Enum_Int32_From_SByte", "Box_Enum_Int32_From_SByte" }, sbyte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)0, new[] { "Enum_Int32_From_SByte", "Box_Enum_Int32_From_SByte" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)sbyte.MaxValue, new[] { "Enum_Int32_From_SByte", "Box_Enum_Int32_From_SByte" }, sbyte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)ushort.MinValue, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)1, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)ushort.MaxValue, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] public sealed class Box_Enum_Widing { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int32_From_Byte(byte value); + [TestCase((Box_Enum_Int32_Type)byte.MinValue, new[] { "Enum_Int32_From_Byte", "Box_Enum_Int32_From_Byte" }, byte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)1, new[] { "Enum_Int32_From_Byte", "Box_Enum_Int32_From_Byte" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)byte.MaxValue, new[] { "Enum_Int32_From_Byte", "Box_Enum_Int32_From_Byte" }, byte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] public static Box_Enum_Int32_Type Enum_Int32_From_Byte(byte value) { return (Box_Enum_Int32_Type)Box_Enum_Int32_From_Byte(value); @@ -38,6 +29,9 @@ public static Box_Enum_Int32_Type Enum_Int32_From_Byte(byte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int32_From_Int16(short value); + [TestCase((Box_Enum_Int32_Type)short.MinValue, new[] { "Enum_Int32_From_Int16", "Box_Enum_Int32_From_Int16" }, short.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)0, new[] { "Enum_Int32_From_Int16", "Box_Enum_Int32_From_Int16" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)short.MaxValue, new[] { "Enum_Int32_From_Int16", "Box_Enum_Int32_From_Int16" }, short.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] public static Box_Enum_Int32_Type Enum_Int32_From_Int16(short value) { return (Box_Enum_Int32_Type)Box_Enum_Int32_From_Int16(value); @@ -46,6 +40,9 @@ public static Box_Enum_Int32_Type Enum_Int32_From_Int16(short value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int32_From_SByte(sbyte value); + [TestCase((Box_Enum_Int32_Type)sbyte.MinValue, new[] { "Enum_Int32_From_SByte", "Box_Enum_Int32_From_SByte" }, sbyte.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)0, new[] { "Enum_Int32_From_SByte", "Box_Enum_Int32_From_SByte" }, 0, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)sbyte.MaxValue, new[] { "Enum_Int32_From_SByte", "Box_Enum_Int32_From_SByte" }, sbyte.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] public static Box_Enum_Int32_Type Enum_Int32_From_SByte(sbyte value) { return (Box_Enum_Int32_Type)Box_Enum_Int32_From_SByte(value); @@ -54,6 +51,9 @@ public static Box_Enum_Int32_Type Enum_Int32_From_SByte(sbyte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_Int32_From_UInt16(ushort value); + [TestCase((Box_Enum_Int32_Type)ushort.MinValue, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)1, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)ushort.MaxValue, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] public static Box_Enum_Int32_Type Enum_Int32_From_UInt16(ushort value) { return (Box_Enum_Int32_Type)Box_Enum_Int32_From_UInt16(value); diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs index 80df4b4f..136da2d9 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs @@ -13,17 +13,12 @@ namespace IL2C.ILConverters { [TestId("Box")] - [TestCase(124, new[] { "Int32ToByte", "Box_Int32ToByte" }, 123)] - [TestCase(12346, new[] { "Int32ToInt16", "Box_Int32ToInt16" }, 12345)] - [TestCase(true, new[] { "Int32ToBool", "Box_Int32ToBool" }, 1)] - [TestCase(false, new[] { "Int32ToBool", "Box_Int32ToBool" }, 0)] - [TestCase('A', new[] { "Int32ToChar", "Box_Int32ToChar" }, 0x41)] - [TestCase(12345678U, new[] { "Int64ToUInt32", "Box_Int64ToUInt32" }, 12345678L)] public sealed class Box_Narrowing { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int32ToByte(int value); + [TestCase(124, new[] { "Int32ToByte", "Box_Int32ToByte" }, 123)] public static byte Int32ToByte(int value) { return (byte)((byte)Box_Int32ToByte(value) + 1); @@ -32,6 +27,7 @@ public static byte Int32ToByte(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int32ToInt16(int value); + [TestCase(12346, new[] { "Int32ToInt16", "Box_Int32ToInt16" }, 12345)] public static short Int32ToInt16(int value) { return (short)((short)Box_Int32ToInt16(value) + 1); @@ -40,6 +36,8 @@ public static short Int32ToInt16(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int32ToBool(int value); + [TestCase(true, new[] { "Int32ToBool", "Box_Int32ToBool" }, 1)] + [TestCase(false, new[] { "Int32ToBool", "Box_Int32ToBool" }, 0)] public static bool Int32ToBool(int value) { return (bool)Box_Int32ToBool(value); @@ -48,6 +46,7 @@ public static bool Int32ToBool(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int32ToChar(int value); + [TestCase('A', new[] { "Int32ToChar", "Box_Int32ToChar" }, 0x41)] public static char Int32ToChar(int value) { return (char)Box_Int32ToChar(value); @@ -56,6 +55,7 @@ public static char Int32ToChar(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int64ToUInt32(long value); + [TestCase(12345678U, new[] { "Int64ToUInt32", "Box_Int64ToUInt32" }, 12345678L)] public static uint Int64ToUInt32(long value) { return (uint)Box_Int64ToUInt32(value); diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs index 4f9cbc31..6fd2054c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs @@ -13,18 +13,12 @@ namespace IL2C.ILConverters { [TestId("Box")] - [TestCase(1000123, new[] { "ByteToInt32", "Box_ByteToInt32" }, 123)] - [TestCase(1012345, new[] { "Int16ToInt32", "Box_Int16ToInt32" }, 12345)] - [TestCase(1000123, new[] { "SByteToInt32", "Box_SByteToInt32" }, 123)] - [TestCase(1012345, new[] { "UInt16ToInt32", "Box_UInt16ToInt32" }, 12345)] - [TestCase(1, new[] { "BoolToInt32", "Box_BoolToInt32" }, true)] - [TestCase(0, new[] { "BoolToInt32", "Box_BoolToInt32" }, false)] - [TestCase(0x41, new[] { "CharToInt32", "Box_CharToInt32" }, 'A')] public sealed class Box_Widing { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_ByteToInt32(byte value); + [TestCase(1000123, new[] { "ByteToInt32", "Box_ByteToInt32" }, 123)] public static int ByteToInt32(byte value) { return (int)Box_ByteToInt32(value) + 1000000; @@ -33,6 +27,7 @@ public static int ByteToInt32(byte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int16ToInt32(short value); + [TestCase(1012345, new[] { "Int16ToInt32", "Box_Int16ToInt32" }, 12345)] public static int Int16ToInt32(short value) { return (int)Box_Int16ToInt32(value) + 1000000; @@ -41,6 +36,7 @@ public static int Int16ToInt32(short value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_SByteToInt32(sbyte value); + [TestCase(1000123, new[] { "SByteToInt32", "Box_SByteToInt32" }, 123)] public static int SByteToInt32(sbyte value) { return (int)Box_SByteToInt32(value) + 1000000; @@ -49,6 +45,7 @@ public static int SByteToInt32(sbyte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt16ToInt32(ushort value); + [TestCase(1012345, new[] { "UInt16ToInt32", "Box_UInt16ToInt32" }, 12345)] public static int UInt16ToInt32(ushort value) { return (int)Box_UInt16ToInt32(value) + 1000000; @@ -57,6 +54,8 @@ public static int UInt16ToInt32(ushort value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_BoolToInt32(bool value); + [TestCase(1, new[] { "BoolToInt32", "Box_BoolToInt32" }, true)] + [TestCase(0, new[] { "BoolToInt32", "Box_BoolToInt32" }, false)] public static int BoolToInt32(bool value) { return (int)Box_BoolToInt32(value); @@ -65,6 +64,7 @@ public static int BoolToInt32(bool value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_CharToInt32(char value); + [TestCase(0x41, new[] { "CharToInt32", "Box_CharToInt32" }, 'A')] public static int CharToInt32(char value) { return (int)Box_CharToInt32(value); diff --git a/tests/IL2C.Core.Test.ILConverters/Br/Br.cs b/tests/IL2C.Core.Test.ILConverters/Br/Br.cs index d70173a7..de4b786d 100644 --- a/tests/IL2C.Core.Test.ILConverters/Br/Br.cs +++ b/tests/IL2C.Core.Test.ILConverters/Br/Br.cs @@ -12,9 +12,9 @@ namespace IL2C.ILConverters { - [TestCase(5, "Rem2", 12345, 47, 26)] public sealed class Br { + [TestCase(5, "Rem2", 12345, 47, 26)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Rem2(int v, int d1, int d2); } diff --git a/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs b/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs index 8f97107a..63377fbb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs @@ -12,9 +12,9 @@ namespace IL2C.ILConverters { - [TestCase(5, "Rem2", 12345, 47, 26)] public sealed class Br_s { + [TestCase(5, "Rem2", 12345, 47, 26)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Rem2(int v, int d1, int d2); } diff --git a/tests/IL2C.Core.Test.ILConverters/Break/Break.cs b/tests/IL2C.Core.Test.ILConverters/Break/Break.cs index 42dfbc63..3a31b46c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Break/Break.cs +++ b/tests/IL2C.Core.Test.ILConverters/Break/Break.cs @@ -12,9 +12,9 @@ namespace IL2C.ILConverters { - [TestCase(0, "CauseBreak", 100, 23, Assert = TestCaseAsserts.CauseBreak)] public sealed class Break { + [TestCase(0, "CauseBreak", 100, 23, Assert = TestCaseAsserts.CauseBreak)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int CauseBreak(int v1, int v2); } diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs index 92659f98..e60c1210 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs @@ -12,27 +12,27 @@ namespace IL2C.ILConverters { - [TestCase("ABC", "FlagValue", true)] - [TestCase("DEF", "FlagValue", false)] - [TestCase("ABC", "Int32Value", 100)] - [TestCase("DEF", "Int32Value", 0)] - [TestCase("ABC", "Int32Value", -100)] - [TestCase("ABC", "IntPtrValue", 100)] - [TestCase("DEF", "IntPtrValue", 0)] - [TestCase("ABC", "IntPtrValue", -100)] - [TestCase("ABC", "ObjectValue", "")] - [TestCase("DEF", "ObjectValue", null!)] public sealed class Brfalse { + [TestCase("ABC", "FlagValue", true)] + [TestCase("DEF", "FlagValue", false)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string FlagValue(bool v); + [TestCase("ABC", "Int32Value", 100)] + [TestCase("DEF", "Int32Value", 0)] + [TestCase("ABC", "Int32Value", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [TestCase("ABC", "IntPtrValue", 100)] + [TestCase("DEF", "IntPtrValue", 0)] + [TestCase("ABC", "IntPtrValue", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtrValue(IntPtr v); + [TestCase("ABC", "ObjectValue", "")] + [TestCase("DEF", "ObjectValue", null!)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjectValue(object v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs index 5365c0cf..3b1b965a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs @@ -12,27 +12,27 @@ namespace IL2C.ILConverters { - [TestCase("ABC", "FlagValue", true)] - [TestCase("DEF", "FlagValue", false)] - [TestCase("ABC", "Int32Value", 100)] - [TestCase("DEF", "Int32Value", 0)] - [TestCase("ABC", "Int32Value", -100)] - [TestCase("ABC", "IntPtrValue", 100)] - [TestCase("DEF", "IntPtrValue", 0)] - [TestCase("ABC", "IntPtrValue", -100)] - [TestCase("ABC", "ObjectValue", "")] - [TestCase("DEF", "ObjectValue", null!)] public sealed class Brfalse_s { + [TestCase("ABC", "FlagValue", true)] + [TestCase("DEF", "FlagValue", false)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string FlagValue(bool v); + [TestCase("ABC", "Int32Value", 100)] + [TestCase("DEF", "Int32Value", 0)] + [TestCase("ABC", "Int32Value", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [TestCase("ABC", "IntPtrValue", 100)] + [TestCase("DEF", "IntPtrValue", 0)] + [TestCase("ABC", "IntPtrValue", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtrValue(IntPtr v); + [TestCase("ABC", "ObjectValue", "")] + [TestCase("DEF", "ObjectValue", null!)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjectValue(object v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs b/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs index 1bb52911..3eaa787c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs @@ -12,27 +12,27 @@ namespace IL2C.ILConverters { - [TestCase("ABC", "FlagValue", true)] - [TestCase("DEF", "FlagValue", false)] - [TestCase("ABC", "Int32Value", 100)] - [TestCase("DEF", "Int32Value", 0)] - [TestCase("ABC", "Int32Value", -100)] - [TestCase("ABC", "IntPtrValue", 100)] - [TestCase("DEF", "IntPtrValue", 0)] - [TestCase("ABC", "IntPtrValue", -100)] - [TestCase("ABC", "ObjectValue", "")] - [TestCase("DEF", "ObjectValue", null!)] public sealed class Brtrue { + [TestCase("ABC", "FlagValue", true)] + [TestCase("DEF", "FlagValue", false)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string FlagValue(bool v); + [TestCase("ABC", "Int32Value", 100)] + [TestCase("DEF", "Int32Value", 0)] + [TestCase("ABC", "Int32Value", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [TestCase("ABC", "IntPtrValue", 100)] + [TestCase("DEF", "IntPtrValue", 0)] + [TestCase("ABC", "IntPtrValue", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtrValue(IntPtr v); + [TestCase("ABC", "ObjectValue", "")] + [TestCase("DEF", "ObjectValue", null!)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjectValue(object v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs b/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs index fae5abcb..42280321 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs @@ -12,27 +12,27 @@ namespace IL2C.ILConverters { - [TestCase("ABC", "FlagValue", true)] - [TestCase("DEF", "FlagValue", false)] - [TestCase("ABC", "Int32Value", 100)] - [TestCase("DEF", "Int32Value", 0)] - [TestCase("ABC", "Int32Value", -100)] - [TestCase("ABC", "IntPtrValue", 100)] - [TestCase("DEF", "IntPtrValue", 0)] - [TestCase("ABC", "IntPtrValue", -100)] - [TestCase("ABC", "ObjectValue", "")] - [TestCase("DEF", "ObjectValue", null!)] public sealed class Brtrue_s { + [TestCase("ABC", "FlagValue", true)] + [TestCase("DEF", "FlagValue", false)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string FlagValue(bool v); + [TestCase("ABC", "Int32Value", 100)] + [TestCase("DEF", "Int32Value", 0)] + [TestCase("ABC", "Int32Value", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [TestCase("ABC", "IntPtrValue", 100)] + [TestCase("DEF", "IntPtrValue", 0)] + [TestCase("ABC", "IntPtrValue", -100)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtrValue(IntPtr v); + [TestCase("ABC", "ObjectValue", "")] + [TestCase("DEF", "ObjectValue", null!)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjectValue(object v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call.cs index dd051215..bfcb89c8 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call.cs @@ -12,11 +12,6 @@ namespace IL2C.ILConverters { - [TestCase(123, new[] { "Static_Int32_Int32", "Add_Static_Int32_Int32" }, 100, 23)] - [TestCase("ABCDEF", new[] { "Static_String_String", "Concat_Static_String_String" }, "ABC", "DEF")] - [TestCase(123, new[] { "Static_RefInt_RefInt", "Store_Static_RefInt_RefInt" })] - [TestCase(679, new[] { "Instance_Int32_ThisInt32", "Add_Instance_Int32_ThisInt32" }, 123, 456)] - [TestCase("ABCGHIDEFGHI", new[] { "Instance_String_ThisString", "Concat_Instance_String_ThisString" }, "ABC", "DEF")] public sealed class Call { #region Static @@ -25,6 +20,7 @@ private static int Add_Static_Int32_Int32(int lhs, int rhs) return lhs + rhs; } + [TestCase(123, new[] { "Static_Int32_Int32", "Add_Static_Int32_Int32" }, 100, 23)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Static_Int32_Int32(int lhs, int rhs); @@ -33,6 +29,7 @@ private static string Concat_Static_String_String(string lhs, string rhs) return lhs + rhs; } + [TestCase("ABCDEF", new[] { "Static_String_String", "Concat_Static_String_String" }, "ABC", "DEF")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Static_String_String(string lhs, string rhs); @@ -42,6 +39,7 @@ private static void Store_Static_RefInt_RefInt(ref int lhs, ref int rhs) rhs = 23; } + [TestCase(123, new[] { "Static_RefInt_RefInt", "Store_Static_RefInt_RefInt" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Static_RefInt_RefInt(); #endregion @@ -54,6 +52,7 @@ private int Add_Instance_Int32_ThisInt32(int v1, int v2) return v0 + v1 + v2; } + [TestCase(679, new[] { "Instance_Int32_ThisInt32", "Add_Instance_Int32_ThisInt32" }, 123, 456)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Instance_Int32_ThisInt32(int v1, int v2); @@ -64,6 +63,7 @@ private string Concat_Instance_String_ThisString(string v) return v + v3; } + [TestCase("ABCGHIDEFGHI", new[] { "Instance_String_ThisString", "Concat_Instance_String_ThisString" }, "ABC", "DEF")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_String_ThisString(string v1, string v2); #endregion diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot.cs index 43d8e9d4..734b50eb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Call")] - [TestCase("IL2C.ILConverters.Call_Newslot", new[] { "Instance_Newslot_ToString_System_Object", "ToString" })] - [TestCase("CallTest", new[] { "Instance_Newslot_ToString_IL2C_ILConverters_Call", "ToString" })] public sealed class Call_Newslot { public new string ToString() @@ -22,9 +20,11 @@ public sealed class Call_Newslot return "CallTest"; } + [TestCase("IL2C.ILConverters.Call_Newslot", new[] { "Instance_Newslot_ToString_System_Object", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Newslot_ToString_System_Object(); + [TestCase("CallTest", new[] { "Instance_Newslot_ToString_IL2C_ILConverters_Call", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Newslot_ToString_IL2C_ILConverters_Call(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot_Virtual.cs index e26ef9f4..73d69792 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call_Newslot_Virtual.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Call")] - [TestCase("IL2C.ILConverters.Call_Newslot_Virtual", new[] { "Instance_Newslot_Virtual_ToString_System_Object", "ToString" })] - [TestCase("CallTest", new[] { "Instance_Newslot_Virtual_ToString_IL2C_ILConverters_Call", "ToString" })] public class Call_Newslot_Virtual { public new virtual string ToString() @@ -22,9 +20,11 @@ public class Call_Newslot_Virtual return "CallTest"; } + [TestCase("IL2C.ILConverters.Call_Newslot_Virtual", new[] { "Instance_Newslot_Virtual_ToString_System_Object", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Newslot_Virtual_ToString_System_Object(); + [TestCase("CallTest", new[] { "Instance_Newslot_Virtual_ToString_IL2C_ILConverters_Call", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Newslot_Virtual_ToString_IL2C_ILConverters_Call(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload.cs index a20ae98f..f0a63714 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Call")] - [TestCase("IL2C.ILConverters.Call_Overload", new[] { "Instance_Overload_ToString_System_Object", "ToString" })] - [TestCase("CallTestABC", new[] { "Instance_Overload_ToString_IL2C_ILConverters_Call", "ToString" }, "ABC")] public class Call_Overload { public string ToString(string value) @@ -22,9 +20,11 @@ public string ToString(string value) return "CallTest" + value; } + [TestCase("IL2C.ILConverters.Call_Overload", new[] { "Instance_Overload_ToString_System_Object", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_ToString_System_Object(); + [TestCase("CallTestABC", new[] { "Instance_Overload_ToString_IL2C_ILConverters_Call", "ToString" }, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_ToString_IL2C_ILConverters_Call(string value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Newslot_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Newslot_Virtual.cs index 1e544617..381fbc34 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Newslot_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Newslot_Virtual.cs @@ -13,9 +13,6 @@ namespace IL2C.ILConverters { [TestId("Call")] - [TestCase("IL2C.ILConverters.Call_Overload_Newslot_Virtual", new[] { "Instance_Overload_Newslot_Virtual_ToString_System_Object", "ToString" }, IgnoreILErrors = new[] { "ThisMismatch" })] - [TestCase("CallTest", new[] { "Instance_Overload_Newslot_Virtual_ToString_NoArgument_IL2C_ILConverters_Call", "ToString" })] - [TestCase("CallTestABC", new[] { "Instance_Overload_Newslot_Virtual_ToString_IL2C_ILConverters_Call", "ToString" }, "ABC")] public class Call_Overload_Newslot_Virtual { public new virtual string ToString() @@ -28,12 +25,15 @@ public string ToString(string value) return "CallTest" + value; } + [TestCase("IL2C.ILConverters.Call_Overload_Newslot_Virtual", new[] { "Instance_Overload_Newslot_Virtual_ToString_System_Object", "ToString" }, IgnoreILErrors = new[] { "ThisMismatch" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_Newslot_Virtual_ToString_System_Object(); + [TestCase("CallTest", new[] { "Instance_Overload_Newslot_Virtual_ToString_NoArgument_IL2C_ILConverters_Call", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_Newslot_Virtual_ToString_NoArgument_IL2C_ILConverters_Call(); + [TestCase("CallTestABC", new[] { "Instance_Overload_Newslot_Virtual_ToString_IL2C_ILConverters_Call", "ToString" }, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_Newslot_Virtual_ToString_IL2C_ILConverters_Call(string value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Virtual.cs index 3e48ed46..26aca947 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call_Overload_Virtual.cs @@ -13,9 +13,6 @@ namespace IL2C.ILConverters { [TestId("Call")] - [TestCase("IL2C.ILConverters.Call_Overload_Virtual", new[] { "Instance_Overload_Virtual_ToString_System_Object", "ToString" }, IgnoreILErrors = new[] { "ThisMismatch" })] - [TestCase("CallTest", new[] { "Instance_Overload_Virtual_ToString_NoArgument_IL2C_ILConverters_Call", "ToString" })] - [TestCase("CallTestABC", new[] { "Instance_Overload_Virtual_ToString_IL2C_ILConverters_Call", "ToString" }, "ABC")] public class Call_Overload_Virtual { public override string ToString() @@ -28,12 +25,15 @@ public string ToString(string value) return "CallTest" + value; } + [TestCase("IL2C.ILConverters.Call_Overload_Virtual", new[] { "Instance_Overload_Virtual_ToString_System_Object", "ToString" }, IgnoreILErrors = new[] { "ThisMismatch" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_Virtual_ToString_System_Object(); + [TestCase("CallTest", new[] { "Instance_Overload_Virtual_ToString_NoArgument_IL2C_ILConverters_Call", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_Virtual_ToString_NoArgument_IL2C_ILConverters_Call(); + [TestCase("CallTestABC", new[] { "Instance_Overload_Virtual_ToString_IL2C_ILConverters_Call", "ToString" }, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_Overload_Virtual_ToString_IL2C_ILConverters_Call(string value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Call/Call_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Call/Call_Virtual.cs index a4562b5d..68641a39 100644 --- a/tests/IL2C.Core.Test.ILConverters/Call/Call_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Call/Call_Virtual.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Call")] - [TestCase("IL2C.ILConverters.Call_Virtual", new[] { "Instance_ToString_System_Object", "ToString" }, IgnoreILErrors = new[] { "ThisMismatch" })] - [TestCase("CallTest", new[] { "Instance_ToString_IL2C_ILConverters_Call", "ToString" })] public sealed class Call_Virtual { // NOTE: Splitted these tests from Call class because it contains virtual method, cause undefined ToString function in this case. @@ -26,9 +24,11 @@ public override string ToString() return "CallTest"; } + [TestCase("IL2C.ILConverters.Call_Virtual", new[] { "Instance_ToString_System_Object", "ToString" }, IgnoreILErrors = new[] { "ThisMismatch" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_ToString_System_Object(); + [TestCase("CallTest", new[] { "Instance_ToString_IL2C_ILConverters_Call", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Instance_ToString_IL2C_ILConverters_Call(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt.cs index 47f914c0..abef7b05 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt.cs @@ -12,7 +12,6 @@ namespace IL2C.ILConverters { - [TestCase("123ABC", new[] { "NonVirtual_Callvirt", "NonVirtual" }, 123, "ABC")] public sealed class Callvirt { private string NonVirtual(int value1, string value2) @@ -20,6 +19,7 @@ private string NonVirtual(int value1, string value2) return value1 + value2; } + [TestCase("123ABC", new[] { "NonVirtual_Callvirt", "NonVirtual" }, 123, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string NonVirtual_Callvirt(int value1, string value2); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1.cs index 875c53f6..b2ac1f12 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Callvirt")] - [TestCase("CallvirtTest", new[] { "Derived1_ToString_System_Object", "ToString" })] - [TestCase("CallvirtTest", new[] { "Derived1_ToString_IL2C_ILConverters_Callvirt", "ToString" })] public sealed class Callvirt_Derived1 { public override string ToString() @@ -22,9 +20,11 @@ public override string ToString() return "CallvirtTest"; } + [TestCase("CallvirtTest", new[] { "Derived1_ToString_System_Object", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived1_ToString_System_Object(); + [TestCase("CallvirtTest", new[] { "Derived1_ToString_IL2C_ILConverters_Callvirt", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived1_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot.cs index dda21d02..1ff39831 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Callvirt")] - [TestCase("IL2C.ILConverters.Callvirt_Derived1_Newslot", new[] { "Derived1_Newslot_ToString_System_Object", "ToString" })] - [TestCase("CallvirtTest", new[] { "Derived1_Newslot_ToString_IL2C_ILConverters_Callvirt", "ToString" })] public sealed class Callvirt_Derived1_Newslot { public new string ToString() @@ -22,9 +20,11 @@ public sealed class Callvirt_Derived1_Newslot return "CallvirtTest"; } + [TestCase("IL2C.ILConverters.Callvirt_Derived1_Newslot", new[] { "Derived1_Newslot_ToString_System_Object", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived1_Newslot_ToString_System_Object(); + [TestCase("CallvirtTest", new[] { "Derived1_Newslot_ToString_IL2C_ILConverters_Callvirt", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived1_Newslot_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot_Virtual.cs index 84a5b226..ab597646 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived1_Newslot_Virtual.cs @@ -13,8 +13,6 @@ namespace IL2C.ILConverters { [TestId("Callvirt")] - [TestCase("IL2C.ILConverters.Callvirt_Derived1_Newslot_Virtual", new[] { "Derived1_Newslot_Virtual_ToString_System_Object", "ToString" })] - [TestCase("CallvirtTest", new[] { "Derived1_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt", "ToString" })] public class Callvirt_Derived1_Newslot_Virtual { public new virtual string ToString() @@ -22,9 +20,11 @@ public class Callvirt_Derived1_Newslot_Virtual return "CallvirtTest"; } + [TestCase("IL2C.ILConverters.Callvirt_Derived1_Newslot_Virtual", new[] { "Derived1_Newslot_Virtual_ToString_System_Object", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived1_Newslot_Virtual_ToString_System_Object(); + [TestCase("CallvirtTest", new[] { "Derived1_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt", "ToString" })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived1_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.cs index fe6e37e6..3706dc83 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2.cs @@ -25,8 +25,6 @@ public override string ToString() } [TestId("Callvirt")] - [TestCase("CallvirtTest", new[] { "Derived2_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived2_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] public sealed class Callvirt_Derived2 : Callvirt_Derived2_Base { public override string ToString() @@ -34,9 +32,11 @@ public override string ToString() return "CallvirtTest"; } + [TestCase("CallvirtTest", new[] { "Derived2_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_ToString_System_Object(); + [TestCase("CallvirtTest", new[] { "Derived2_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.cs index b2e1479f..b65e0bc1 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot.cs @@ -25,9 +25,6 @@ protected Callvirt_Derived2_Newslot_Base() } [TestId("Callvirt")] - [TestCase("IL2C.ILConverters.Callvirt_Derived2_Newslot", new[] { "Derived2_Newslot_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] - [TestCase("Callvirt_Derived_Base", new[] { "Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt_Base", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] public sealed class Callvirt_Derived2_Newslot : Callvirt_Derived2_Newslot_Base { public new string ToString() @@ -35,12 +32,15 @@ public sealed class Callvirt_Derived2_Newslot : Callvirt_Derived2_Newslot_Base return "CallvirtTest"; } + [TestCase("IL2C.ILConverters.Callvirt_Derived2_Newslot", new[] { "Derived2_Newslot_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_Newslot_ToString_System_Object(); + [TestCase("Callvirt_Derived_Base", new[] { "Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt_Base", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt_Base(); + [TestCase("CallvirtTest", new[] { "Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_Newslot_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.cs index 3fac0485..512c0c28 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived2_Newslot_Virtual.cs @@ -25,9 +25,6 @@ protected Callvirt_Derived2_Newslot_Virtual_Base() } [TestId("Callvirt")] - [TestCase("IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual", new[] { "Derived2_Newslot_Virtual_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] public class Callvirt_Derived2_Newslot_Virtual : Callvirt_Derived2_Newslot_Virtual_Base { public override string ToString() @@ -35,12 +32,15 @@ public override string ToString() return "CallvirtTest"; } + [TestCase("IL2C.ILConverters.Callvirt_Derived2_Newslot_Virtual", new[] { "Derived2_Newslot_Virtual_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_Newslot_Virtual_ToString_System_Object(); + [TestCase("CallvirtTest", new[] { "Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base(); + [TestCase("CallvirtTest", new[] { "Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived2_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.cs index 0a3ab7d9..5bfd65fb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot.cs @@ -37,10 +37,6 @@ protected Callvirt_Derived3_Newslot_Base2() } [TestId("Callvirt")] - [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] - [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base1", "ToString" }, IncludeBaseTypes = true)] - [TestCase("Callvirt_Derived_Base2", new[] { "Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base2", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] public sealed class Callvirt_Derived3_Newslot : Callvirt_Derived3_Newslot_Base2 { public new string ToString() @@ -48,15 +44,19 @@ public sealed class Callvirt_Derived3_Newslot : Callvirt_Derived3_Newslot_Base2 return "CallvirtTest"; } + [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_ToString_System_Object(); + [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base1", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base1(); + [TestCase("Callvirt_Derived_Base2", new[] { "Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base2", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt_Base2(); + [TestCase("CallvirtTest", new[] { "Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.cs b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.cs index eaca689e..cdbf5e0c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.cs +++ b/tests/IL2C.Core.Test.ILConverters/Callvirt/Callvirt_Derived3_Newslot_Virtual.cs @@ -37,10 +37,6 @@ protected Callvirt_Derived3_Newslot_Virtual_Base2() } [TestId("Callvirt")] - [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_Virtual_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] - [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base1", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base2", "ToString" }, IncludeBaseTypes = true)] - [TestCase("CallvirtTest", new[] { "Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] public sealed class Callvirt_Derived3_Newslot_Virtual : Callvirt_Derived3_Newslot_Virtual_Base2 { public override string ToString() @@ -48,15 +44,19 @@ public override string ToString() return "CallvirtTest"; } + [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_Virtual_ToString_System_Object", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_Virtual_ToString_System_Object(); + [TestCase("Callvirt_Derived_Base1", new[] { "Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base1", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base1(); + [TestCase("CallvirtTest", new[] { "Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base2", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt_Base2(); + [TestCase("CallvirtTest", new[] { "Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt", "ToString" }, IncludeBaseTypes = true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Derived3_Newslot_Virtual_ToString_IL2C_ILConverters_Callvirt(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs index 132835fd..da972f36 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs @@ -12,53 +12,53 @@ namespace IL2C.ILConverters { - [TestCase(123, "SByte", (sbyte)123)] - [TestCase(12345, "Int16", (short)12345)] - [TestCase(12345, "Int32", 12345)] - [TestCase(12345, "Int64", 12345L)] - [TestCase(12345, "IntPtr", 12345)] - [TestCase(123, "Byte", (byte)123)] - [TestCase(12345, "UInt16", (ushort)12345)] - [TestCase(12345, "UInt32", (uint)12345)] - [TestCase(12345, "UInt64", 12345UL)] - [TestCase(12345, "UIntPtr", (uint)12345)] - [TestCase(12345, "Single", 12345.67f)] - [TestCase(12345, "Double", 12345.67)] public sealed class Conv_i { + [TestCase(123, "SByte", (sbyte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr SByte(sbyte value); + [TestCase(12345, "Int16", (short)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int16(short value); + [TestCase(12345, "Int32", 12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32(int value); + [TestCase(12345, "Int64", 12345L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int64(long value); + [TestCase(12345, "IntPtr", 12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(IntPtr value); + [TestCase(123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Byte(byte value); + [TestCase(12345, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr UInt16(ushort value); + [TestCase(12345, "UInt32", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr UInt32(uint value); + [TestCase(12345, "UInt64", 12345UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr UInt64(ulong value); + [TestCase(12345, "UIntPtr", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr UIntPtr(UIntPtr value); + [TestCase(12345, "Single", 12345.67f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Single(float value); + [TestCase(12345, "Double", 12345.67)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs index 54a21a7a..546a05bd 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs @@ -12,64 +12,64 @@ namespace IL2C.ILConverters { - [TestCase((sbyte)123, "SByte", (sbyte)123)] - [TestCase((sbyte)-123, "SByte", (sbyte)-123)] - [TestCase((sbyte)123, "Int16", (short)123)] - [TestCase(unchecked((sbyte)12345), "Int16", (short)12345)] - [TestCase((sbyte)123, "Int32", 123)] - [TestCase(unchecked ((sbyte)456), "Int32", 456)] - [TestCase((sbyte)123, "Int64", 123L)] - [TestCase(unchecked((sbyte)456), "Int64", 456L)] - [TestCase((sbyte)123, "IntPtr", 123)] - [TestCase(unchecked((sbyte)456), "IntPtr", 456)] - [TestCase((sbyte)123, "Byte", (byte)123)] - [TestCase(unchecked((sbyte)0x80), "Byte", (byte)0x80)] - [TestCase(unchecked((sbyte)12345), "UInt16", (ushort)12345)] - [TestCase(unchecked((sbyte)0x8000), "UInt16", (ushort)0x8000)] - [TestCase(unchecked((sbyte)456789012), "UInt32", (uint)456789012)] - [TestCase(unchecked((sbyte)0x80000000), "UInt32", (uint)0x80000000)] - [TestCase(unchecked((sbyte)456789012), "UInt64", 456789012UL)] - [TestCase(unchecked((sbyte)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] - [TestCase(unchecked((sbyte)456789012), "UIntPtr", (uint)456789012)] - [TestCase((sbyte)123, "Single", 123.45f)] - [TestCase(unchecked((sbyte)456), "Single", 456.78f)] - [TestCase((sbyte)123, "Double", 123.45)] - [TestCase(unchecked((sbyte)456), "Double", 456.78)] public sealed class Conv_i1 { + [TestCase((sbyte)123, "SByte", (sbyte)123)] + [TestCase((sbyte)-123, "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(sbyte value); + [TestCase((sbyte)123, "Int16", (short)123)] + [TestCase(unchecked((sbyte)12345), "Int16", (short)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Int16(short value); + [TestCase((sbyte)123, "Int32", 123)] + [TestCase(unchecked((sbyte)456), "Int32", 456)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Int32(int value); + [TestCase((sbyte)123, "Int64", 123L)] + [TestCase(unchecked((sbyte)456), "Int64", 456L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Int64(long value); + [TestCase((sbyte)123, "IntPtr", 123)] + [TestCase(unchecked((sbyte)456), "IntPtr", 456)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte IntPtr(IntPtr value); + [TestCase((sbyte)123, "Byte", (byte)123)] + [TestCase(unchecked((sbyte)0x80), "Byte", (byte)0x80)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Byte(byte value); + [TestCase(unchecked((sbyte)12345), "UInt16", (ushort)12345)] + [TestCase(unchecked((sbyte)0x8000), "UInt16", (ushort)0x8000)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte UInt16(ushort value); + [TestCase(unchecked((sbyte)456789012), "UInt32", (uint)456789012)] + [TestCase(unchecked((sbyte)0x80000000), "UInt32", (uint)0x80000000)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte UInt32(uint value); + [TestCase(unchecked((sbyte)456789012), "UInt64", 456789012UL)] + [TestCase(unchecked((sbyte)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte UInt64(ulong value); + [TestCase(unchecked((sbyte)456789012), "UIntPtr", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte UIntPtr(UIntPtr value); + [TestCase((sbyte)123, "Single", 123.45f)] + [TestCase(unchecked((sbyte)456), "Single", 456.78f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Single(float value); + [TestCase((sbyte)123, "Double", 123.45)] + [TestCase(unchecked((sbyte)456), "Double", 456.78)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs index afd855bf..43dd3af4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs @@ -12,63 +12,63 @@ namespace IL2C.ILConverters { - [TestCase((short)123, "SByte", (sbyte)123)] - [TestCase((short)-123, "SByte", (sbyte)-123)] - [TestCase((short)12345, "Int16", (short)12345)] - [TestCase((short)-12345, "Int16", (short)-12345)] - [TestCase((short)12345, "Int32", 12345)] - [TestCase(unchecked ((short)45678), "Int32", 45678)] - [TestCase((short)12345, "Int64", 12345L)] - [TestCase(unchecked((short)45678), "Int64", 45678L)] - [TestCase((short)12345, "IntPtr", 12345)] - [TestCase(unchecked((short)45678), "IntPtr", 45678)] - [TestCase((short)123, "Byte", (byte)123)] - [TestCase((short)12345, "UInt16", (ushort)12345)] - [TestCase(unchecked((short)0x8000), "UInt16", (ushort)0x8000)] - [TestCase(unchecked((short)456789012), "UInt32", (uint)456789012)] - [TestCase(unchecked((short)0x80000000), "UInt32", (uint)0x80000000)] - [TestCase(unchecked((short)456789012), "UInt64", 456789012UL)] - [TestCase(unchecked((short)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] - [TestCase(unchecked((short)456789012), "UIntPtr", (uint)456789012)] - [TestCase((short)12345, "Single", 12345.67f)] - [TestCase(unchecked((short)45678), "Single", 45678.91f)] - [TestCase((short)12345, "Double", 12345.67)] - [TestCase(unchecked((short)45678), "Double", 45678.91)] public sealed class Conv_i2 { + [TestCase((short)123, "SByte", (sbyte)123)] + [TestCase((short)-123, "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short SByte(sbyte value); + [TestCase((short)12345, "Int16", (short)12345)] + [TestCase((short)-12345, "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(short value); + [TestCase((short)12345, "Int32", 12345)] + [TestCase(unchecked((short)45678), "Int32", 45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int32(int value); + [TestCase((short)12345, "Int64", 12345L)] + [TestCase(unchecked((short)45678), "Int64", 45678L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int64(long value); + [TestCase((short)12345, "IntPtr", 12345)] + [TestCase(unchecked((short)45678), "IntPtr", 45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short IntPtr(IntPtr value); + [TestCase((short)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Byte(byte value); + [TestCase((short)12345, "UInt16", (ushort)12345)] + [TestCase(unchecked((short)0x8000), "UInt16", (ushort)0x8000)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short UInt16(ushort value); + [TestCase(unchecked((short)456789012), "UInt32", (uint)456789012)] + [TestCase(unchecked((short)0x80000000), "UInt32", (uint)0x80000000)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short UInt32(uint value); + [TestCase(unchecked((short)456789012), "UInt64", 456789012UL)] + [TestCase(unchecked((short)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short UInt64(ulong value); + [TestCase(unchecked((short)456789012), "UIntPtr", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short UIntPtr(UIntPtr value); + [TestCase((short)12345, "Single", 12345.67f)] + [TestCase(unchecked((short)45678), "Single", 45678.91f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Single(float value); + [TestCase((short)12345, "Double", 12345.67)] + [TestCase(unchecked((short)45678), "Double", 45678.91)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs index e9ba333e..5208376c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs @@ -12,62 +12,62 @@ namespace IL2C.ILConverters { - [TestCase(123, "SByte", (sbyte)123)] - [TestCase(-123, "SByte", (sbyte)-123)] - [TestCase(12345, "Int16", (short)12345)] - [TestCase(-12345, "Int16", (short)-12345)] - [TestCase(456789012, "Int32", 456789012)] - [TestCase(-456789012, "Int32", -456789012)] - [TestCase(456789012, "Int64", 456789012L)] - [TestCase(unchecked((int)4567890123L), "Int64", 4567890123L)] - [TestCase(456789012, "IntPtr", 456789012)] - //[TestCase(unchecked((int)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) - [TestCase(123, "Byte", (byte)123)] - [TestCase(12345, "UInt16", (ushort)12345)] - [TestCase(456789012, "UInt32", (uint)456789012)] - [TestCase(unchecked((int)0x80000000), "UInt32", (uint)0x80000000)] - [TestCase(456789012, "UInt64", 456789012UL)] - [TestCase(unchecked((int)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] - [TestCase(456789012, "UIntPtr", (uint)456789012)] - [TestCase(456789, "Single", 456789.012f)] - [TestCase(unchecked((int)456789.012f), "Single", 456789.012f)] - [TestCase(456789, "Double", 456789.012)] - [TestCase(unchecked((int)456789.012), "Double", 456789.012)] public sealed class Conv_i4 { + [TestCase(123, "SByte", (sbyte)123)] + [TestCase(-123, "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SByte(sbyte value); + [TestCase(12345, "Int16", (short)12345)] + [TestCase(-12345, "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int16(short value); + [TestCase(456789012, "Int32", 456789012)] + [TestCase(-456789012, "Int32", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(int value); + [TestCase(456789012, "Int64", 456789012L)] + [TestCase(unchecked((int)4567890123L), "Int64", 4567890123L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int64(long value); + [TestCase(456789012, "IntPtr", 456789012)] + //[TestCase(unchecked((int)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int IntPtr(IntPtr value); + [TestCase(123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Byte(byte value); + [TestCase(12345, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int UInt16(ushort value); + [TestCase(456789012, "UInt32", (uint)456789012)] + [TestCase(unchecked((int)0x80000000), "UInt32", (uint)0x80000000)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int UInt32(uint value); + [TestCase(456789012, "UInt64", 456789012UL)] + [TestCase(unchecked((int)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int UInt64(ulong value); + [TestCase(456789012, "UIntPtr", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int UIntPtr(UIntPtr value); + [TestCase(456789, "Single", 456789.012f)] + [TestCase(unchecked((int)456789.012f), "Single", 456789.012f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Single(float value); + [TestCase(456789, "Double", 456789.012)] + [TestCase(unchecked((int)456789.012), "Double", 456789.012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs index f6174598..a265c416 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs @@ -12,62 +12,62 @@ namespace IL2C.ILConverters { - [TestCase(123L, "SByte", (sbyte)123)] - [TestCase(-123L, "SByte", (sbyte)-123)] - [TestCase(12345L, "Int16", (short)12345)] - [TestCase(-12345L, "Int16", (short)-12345)] - [TestCase(456789012L, "Int32", 456789012)] - [TestCase(-456789012L, "Int32", -456789012)] - [TestCase(45678901234L, "Int64", 45678901234L)] - [TestCase(-45678901234L, "Int64", -45678901234L)] - [TestCase(456789012L, "IntPtr", 456789012)] - //[TestCase(unchecked((int)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) - [TestCase(-456789012L, "IntPtr", -456789012)] - [TestCase(123L, "Byte", (byte)123)] - [TestCase(12345L, "UInt16", (ushort)12345)] - [TestCase(456789012L, "UInt32", (uint)456789012)] - [TestCase(45678901234L, "UInt64", 45678901234UL)] - [TestCase(unchecked((long)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] - [TestCase(456789012L, "UIntPtr", (uint)456789012)] - [TestCase((long)45678900000.56f, "Single", 45678900000.56f)] - [TestCase((long)-45678900000.56f, "Single", -45678900000.56f)] - [TestCase(45678901234L, "Double", 45678901234.56)] - [TestCase(-45678901234L, "Double", -45678901234.56)] public sealed class Conv_i8 { + [TestCase(123L, "SByte", (sbyte)123)] + [TestCase(-123L, "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long SByte(sbyte value); + [TestCase(12345L, "Int16", (short)12345)] + [TestCase(-12345L, "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int16(short value); + [TestCase(456789012L, "Int32", 456789012)] + [TestCase(-456789012L, "Int32", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int32(int value); + [TestCase(45678901234L, "Int64", 45678901234L)] + [TestCase(-45678901234L, "Int64", -45678901234L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(long value); + [TestCase(456789012L, "IntPtr", 456789012)] + //[TestCase(unchecked((int)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) + [TestCase(-456789012L, "IntPtr", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long IntPtr(IntPtr value); + [TestCase(123L, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Byte(byte value); + [TestCase(12345L, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long UInt16(ushort value); + [TestCase(456789012L, "UInt32", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long UInt32(uint value); + [TestCase(45678901234L, "UInt64", 45678901234UL)] + [TestCase(unchecked((long)0x8000000000000000UL), "UInt64", 0x8000000000000000UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long UInt64(ulong value); + [TestCase(456789012L, "UIntPtr", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long UIntPtr(UIntPtr value); + [TestCase((long)45678900000.56f, "Single", 45678900000.56f)] + [TestCase((long)-45678900000.56f, "Single", -45678900000.56f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Single(float value); + [TestCase(45678901234L, "Double", 45678901234.56)] + [TestCase(-45678901234L, "Double", -45678901234.56)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs b/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs index ced3024d..df899484 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs @@ -12,61 +12,61 @@ namespace IL2C.ILConverters { - [TestCase(123f, "SByte", (sbyte)123)] - [TestCase(-123f, "SByte", (sbyte)-123)] - [TestCase(12345f, "Int16", (short)12345)] - [TestCase(-12345f, "Int16", (short)-12345)] - [TestCase((float)456789012, "Int32", 456789012)] - [TestCase((float)-456789012, "Int32", -456789012)] - [TestCase((float)45678901234L, "Int64", 45678901234L)] - [TestCase((float)-45678901234L, "Int64", -45678901234L)] - [TestCase((float)456789012, "IntPtr", 456789012)] - //[TestCase(unchecked((float)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) - [TestCase((float)-456789012, "IntPtr", -456789012)] - [TestCase(123f, "Byte", (byte)123)] - [TestCase(12345f, "UInt16", (ushort)12345)] - [TestCase((float)456789012, "UInt32", (uint)456789012)] - [TestCase((float)45678901234UL, "UInt64", 45678901234UL)] - [TestCase((float)456789012, "UIntPtr", (uint)456789012)] - [TestCase(456789.012f, "Single", 456789.012f)] - [TestCase(-456789.012f, "Single", -456789.012f)] - [TestCase(456789.012f, "Double", 456789.012)] - [TestCase(-456789.012f, "Double", -456789.012)] public sealed class Conv_r4 { + [TestCase(123f, "SByte", (sbyte)123)] + [TestCase(-123f, "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float SByte(sbyte value); + [TestCase(12345f, "Int16", (short)12345)] + [TestCase(-12345f, "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Int16(short value); + [TestCase((float)456789012, "Int32", 456789012)] + [TestCase((float)-456789012, "Int32", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Int32(int value); + [TestCase((float)45678901234L, "Int64", 45678901234L)] + [TestCase((float)-45678901234L, "Int64", -45678901234L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Int64(long value); + [TestCase((float)456789012, "IntPtr", 456789012)] + //[TestCase(unchecked((float)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) + [TestCase((float)-456789012, "IntPtr", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float IntPtr(IntPtr value); + [TestCase(123f, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Byte(byte value); + [TestCase(12345f, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float UInt16(ushort value); + [TestCase((float)456789012, "UInt32", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float UInt32(uint value); + [TestCase((float)45678901234UL, "UInt64", 45678901234UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float UInt64(ulong value); + [TestCase((float)456789012, "UIntPtr", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float UIntPtr(UIntPtr value); + [TestCase(456789.012f, "Single", 456789.012f)] + [TestCase(-456789.012f, "Single", -456789.012f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(float value); + [TestCase(456789.012f, "Double", 456789.012)] + [TestCase(-456789.012f, "Double", -456789.012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs b/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs index 83e2981c..ad278073 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs @@ -12,61 +12,61 @@ namespace IL2C.ILConverters { - [TestCase(123.0, "SByte", (sbyte)123)] - [TestCase(-123.0, "SByte", (sbyte)-123)] - [TestCase(12345.0, "Int16", (short)12345)] - [TestCase(-12345.0, "Int16", (short)-12345)] - [TestCase(456789012.0, "Int32", 456789012)] - [TestCase(-456789012.0, "Int32", -456789012)] - [TestCase(45678901234.0, "Int64", 45678901234L)] - [TestCase(-45678901234.0, "Int64", -45678901234L)] - [TestCase(456789012.0, "IntPtr", 456789012)] - //[TestCase(unchecked(4567890123.0), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) - [TestCase(-456789012.0, "IntPtr", -456789012)] - [TestCase(123.0, "Byte", (byte)123)] - [TestCase(12345.0, "UInt16", (ushort)12345)] - [TestCase(456789012.0, "UInt32", (uint)456789012)] - [TestCase(45678901234.0, "UInt64", 45678901234UL)] - [TestCase(456789012.0, "UIntPtr", (uint)456789012)] - [TestCase((double)456789.012f, "Single", 456789.012f)] - [TestCase((double)-456789.012f, "Single", -456789.012f)] - [TestCase(456789.01234, "Double", 456789.01234)] - [TestCase(-456789.01234, "Double", -456789.01234)] public sealed class Conv_r8 { + [TestCase(123.0, "SByte", (sbyte)123)] + [TestCase(-123.0, "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double SByte(sbyte value); + [TestCase(12345.0, "Int16", (short)12345)] + [TestCase(-12345.0, "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Int16(short value); + [TestCase(456789012.0, "Int32", 456789012)] + [TestCase(-456789012.0, "Int32", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Int32(int value); + [TestCase(45678901234.0, "Int64", 45678901234L)] + [TestCase(-45678901234.0, "Int64", -45678901234L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Int64(long value); + [TestCase(456789012.0, "IntPtr", 456789012)] + //[TestCase(unchecked(4567890123.0), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) + [TestCase(-456789012.0, "IntPtr", -456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double IntPtr(IntPtr value); + [TestCase(123.0, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Byte(byte value); + [TestCase(12345.0, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double UInt16(ushort value); + [TestCase(456789012.0, "UInt32", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double UInt32(uint value); + [TestCase(45678901234.0, "UInt64", 45678901234UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double UInt64(ulong value); + [TestCase(456789012.0, "UIntPtr", (uint)456789012)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double UIntPtr(UIntPtr value); + [TestCase((double)456789.012f, "Single", 456789.012f)] + [TestCase((double)-456789.012f, "Single", -456789.012f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Single(float value); + [TestCase(456789.01234, "Double", 456789.01234)] + [TestCase(-456789.01234, "Double", -456789.01234)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs index a7ff850c..e5ec13a0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs @@ -12,53 +12,53 @@ namespace IL2C.ILConverters { - [TestCase((uint)123, "SByte", (sbyte)123)] - [TestCase((uint)12345, "Int16", (short)12345)] - [TestCase((uint)12345, "Int32", 12345)] - [TestCase((uint)12345, "Int64", 12345L)] - [TestCase((uint)12345, "IntPtr", 12345)] - [TestCase((uint)123, "Byte", (byte)123)] - [TestCase((uint)12345, "UInt16", (ushort)12345)] - [TestCase((uint)12345, "UInt32", (uint)12345)] - [TestCase((uint)12345, "UInt64", 12345UL)] - [TestCase((uint)12345, "UIntPtr", (uint)12345)] - [TestCase((uint)12345, "Single", 12345.67f)] - [TestCase((uint)12345, "Double", 12345.67)] public sealed class Conv_u { + [TestCase((uint)123, "SByte", (sbyte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr SByte(sbyte value); + [TestCase((uint)12345, "Int16", (short)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr Int16(short value); + [TestCase((uint)12345, "Int32", 12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr Int32(int value); + [TestCase((uint)12345, "Int64", 12345L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr Int64(long value); + [TestCase((uint)12345, "IntPtr", 12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr IntPtr(IntPtr value); + [TestCase((uint)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr Byte(byte value); + [TestCase((uint)12345, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UInt16(ushort value); + [TestCase((uint)12345, "UInt32", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UInt32(uint value); + [TestCase((uint)12345, "UInt64", 12345UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UInt64(ulong value); + [TestCase((uint)12345, "UIntPtr", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(UIntPtr value); + [TestCase((uint)12345, "Single", 12345.67f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr Single(float value); + [TestCase((uint)12345, "Double", 12345.67)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs index 49a21edd..4bde0b38 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs @@ -12,63 +12,63 @@ namespace IL2C.ILConverters { - [TestCase((byte)123, "Byte", (byte)123)] - [TestCase((byte)123, "Int16", (short)123)] - [TestCase(unchecked((byte)456), "Int16", (short)456)] - [TestCase(unchecked((byte)-456), "Int16", (short)-456)] - [TestCase((byte)123, "Int32", 123)] - [TestCase(unchecked((byte)456), "Int32", 456)] - [TestCase(unchecked((byte)-456), "Int32", -456)] - [TestCase((byte)123L, "Int64", 123L)] - [TestCase(unchecked((byte)456L), "Int64", 456L)] - [TestCase(unchecked((byte)-456L), "Int64", -456L)] - [TestCase((byte)123, "IntPtr", 123)] - [TestCase(unchecked((byte)456), "IntPtr", 456)] - [TestCase((byte)123, "SByte", (sbyte)123)] - [TestCase(unchecked((byte)-123), "SByte", (sbyte)-123)] - [TestCase((byte)123, "UInt16", (ushort)123)] - [TestCase((byte)123, "UInt32", (uint)123)] - [TestCase((byte)123, "UInt64", (ulong)123)] - [TestCase((byte)123, "UIntPtr", (uint)123)] - [TestCase((byte)123, "Single", 123.45f)] - [TestCase(unchecked((byte)456), "Single", 456.78f)] - [TestCase((byte)123, "Double", 123.45)] - [TestCase(unchecked((byte)456), "Double", 456.78)] public sealed class Conv_u1 { + [TestCase((byte)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(byte value); + [TestCase((byte)123, "Int16", (short)123)] + [TestCase(unchecked((byte)456), "Int16", (short)456)] + [TestCase(unchecked((byte)-456), "Int16", (short)-456)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Int16(short value); + [TestCase((byte)123, "Int32", 123)] + [TestCase(unchecked((byte)456), "Int32", 456)] + [TestCase(unchecked((byte)-456), "Int32", -456)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Int32(int value); + [TestCase((byte)123L, "Int64", 123L)] + [TestCase(unchecked((byte)456L), "Int64", 456L)] + [TestCase(unchecked((byte)-456L), "Int64", -456L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Int64(long value); + [TestCase((byte)123, "IntPtr", 123)] + [TestCase(unchecked((byte)456), "IntPtr", 456)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte IntPtr(IntPtr value); + [TestCase((byte)123, "SByte", (sbyte)123)] + [TestCase(unchecked((byte)-123), "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte SByte(sbyte value); + [TestCase((byte)123, "UInt16", (ushort)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte UInt16(ushort value); + [TestCase((byte)123, "UInt32", (uint)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte UInt32(uint value); + [TestCase((byte)123, "UInt64", (ulong)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte UInt64(ulong value); + [TestCase((byte)123, "UIntPtr", (uint)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte UIntPtr(UIntPtr value); + [TestCase((byte)123, "Single", 123.45f)] + [TestCase(unchecked((byte)456), "Single", 456.78f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Single(float value); + [TestCase((byte)123, "Double", 123.45)] + [TestCase(unchecked((byte)456), "Double", 456.78)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs index 0543372c..7217475e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs @@ -12,62 +12,62 @@ namespace IL2C.ILConverters { - [TestCase((ushort)123, "Byte", (byte)123)] - [TestCase((ushort)12345, "Int16", (short)12345)] - [TestCase(unchecked((ushort)-12345), "Int16", (short)-12345)] - [TestCase((ushort)12345, "Int32", 12345)] - [TestCase(unchecked((ushort)45678), "Int32", 45678)] - [TestCase(unchecked((ushort)-45678), "Int32", -45678)] - [TestCase((ushort)12345L, "Int64", 12345L)] - [TestCase(unchecked((ushort)45678L), "Int64", 45678L)] - [TestCase(unchecked((ushort)-45678L), "Int64", -45678L)] - [TestCase((ushort)12345, "IntPtr", 12345)] - [TestCase(unchecked((ushort)45678), "IntPtr", 45678)] - [TestCase((ushort)123, "SByte", (sbyte)123)] - [TestCase(unchecked((ushort)-123), "SByte", (sbyte)-123)] - [TestCase((ushort)12345, "UInt16", (ushort)12345)] - [TestCase((ushort)12345, "UInt32", (uint)12345)] - [TestCase((ushort)12345, "UInt64", (ulong)12345)] - [TestCase((ushort)12345, "UIntPtr", (uint)12345)] - [TestCase((ushort)12345, "Single", 12345.67f)] - [TestCase(unchecked((ushort)45678), "Single", 45678.91f)] - [TestCase((ushort)12345, "Double", 12345.67)] - [TestCase(unchecked((ushort)45678), "Double", 45678.91)] public sealed class Conv_u2 { + [TestCase((ushort)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Byte(byte value); + [TestCase((ushort)12345, "Int16", (short)12345)] + [TestCase(unchecked((ushort)-12345), "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Int16(short value); + [TestCase((ushort)12345, "Int32", 12345)] + [TestCase(unchecked((ushort)45678), "Int32", 45678)] + [TestCase(unchecked((ushort)-45678), "Int32", -45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Int32(int value); + [TestCase((ushort)12345L, "Int64", 12345L)] + [TestCase(unchecked((ushort)45678L), "Int64", 45678L)] + [TestCase(unchecked((ushort)-45678L), "Int64", -45678L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Int64(long value); + [TestCase((ushort)12345, "IntPtr", 12345)] + [TestCase(unchecked((ushort)45678), "IntPtr", 45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort IntPtr(IntPtr value); + [TestCase((ushort)123, "SByte", (sbyte)123)] + [TestCase(unchecked((ushort)-123), "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort SByte(sbyte value); + [TestCase((ushort)12345, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(ushort value); + [TestCase((ushort)12345, "UInt32", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt32(uint value); + [TestCase((ushort)12345, "UInt64", (ulong)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt64(ulong value); + [TestCase((ushort)12345, "UIntPtr", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UIntPtr(UIntPtr value); + [TestCase((ushort)12345, "Single", 12345.67f)] + [TestCase(unchecked((ushort)45678), "Single", 45678.91f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Single(float value); + [TestCase((ushort)12345, "Double", 12345.67)] + [TestCase(unchecked((ushort)45678), "Double", 45678.91)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs index cece4147..52d24056 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs @@ -12,60 +12,60 @@ namespace IL2C.ILConverters { - [TestCase((uint)123, "Byte", (byte)123)] - [TestCase((uint)12345, "Int16", (short)12345)] - [TestCase(unchecked((uint)-12345), "Int16", (short)-12345)] - [TestCase((uint)12345, "Int32", 12345)] - [TestCase(unchecked ((uint)-45678), "Int32", -45678)] - [TestCase((uint)12345, "Int64", 12345L)] - [TestCase(unchecked((uint)-45678L), "Int64", -45678L)] - [TestCase((uint)12345, "IntPtr", 12345)] - [TestCase(unchecked((uint)-45678), "IntPtr", -45678)] - [TestCase((uint)123, "SByte", (sbyte)123)] - [TestCase(unchecked((uint)-123), "SByte", (sbyte)-123)] - [TestCase((uint)12345, "UInt16", (ushort)12345)] - [TestCase((uint)12345, "UInt32", (uint)12345)] - [TestCase((uint)12345, "UInt64", (ulong)12345)] - [TestCase((uint)12345, "UIntPtr", (uint)12345)] - [TestCase((uint)12345.67f, "Single", 12345.67f)] - [TestCase(unchecked((uint)(int)-45678.91f), "Single", -45678.91f)] - [TestCase((uint)12345.6789, "Double", 12345.6789)] - [TestCase(unchecked((uint)45678.90123), "Double", 45678.90123)] public sealed class Conv_u4 { + [TestCase((uint)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Byte(byte value); + [TestCase((uint)12345, "Int16", (short)12345)] + [TestCase(unchecked((uint)-12345), "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Int16(short value); + [TestCase((uint)12345, "Int32", 12345)] + [TestCase(unchecked((uint)-45678), "Int32", -45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Int32(int value); + [TestCase((uint)12345, "Int64", 12345L)] + [TestCase(unchecked((uint)-45678L), "Int64", -45678L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Int64(long value); + [TestCase((uint)12345, "IntPtr", 12345)] + [TestCase(unchecked((uint)-45678), "IntPtr", -45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint IntPtr(IntPtr value); + [TestCase((uint)123, "SByte", (sbyte)123)] + [TestCase(unchecked((uint)-123), "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint SByte(sbyte value); + [TestCase((uint)12345, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt16(ushort value); + [TestCase((uint)12345, "UInt32", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(uint value); + [TestCase((uint)12345, "UInt64", (ulong)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt64(ulong value); + [TestCase((uint)12345, "UIntPtr", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UIntPtr(UIntPtr value); + [TestCase((uint)12345.67f, "Single", 12345.67f)] + [TestCase(unchecked((uint)(int)-45678.91f), "Single", -45678.91f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Single(float value); + [TestCase((uint)12345.6789, "Double", 12345.6789)] + [TestCase(unchecked((uint)45678.90123), "Double", 45678.90123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Double(double value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs index 010d3a88..e2e97485 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs @@ -12,60 +12,60 @@ namespace IL2C.ILConverters { - [TestCase((ulong)123, "Byte", (byte)123)] - [TestCase((ulong)12345, "Int16", (short)12345)] - [TestCase(unchecked((ulong)(uint)-12345), "Int16", (short)-12345)] - [TestCase((ulong)12345, "Int32", 12345)] - [TestCase(unchecked((ulong)(uint)-45678), "Int32", -45678)] - [TestCase((ulong)12345, "Int64", 12345L)] - [TestCase(unchecked((ulong)-45678L), "Int64", -45678L)] - [TestCase((ulong)12345, "IntPtr", 12345)] - //[TestCase(unchecked((ulong)(uint)-45678), "IntPtr", -45678)] // Different result on both 32/64bit test environment - [TestCase((ulong)123, "SByte", (sbyte)123)] - [TestCase(unchecked((ulong)(uint)-123), "SByte", (sbyte)-123)] - [TestCase((ulong)12345, "UInt16", (ushort)12345)] - [TestCase((ulong)12345, "UInt32", (uint)12345)] - [TestCase((ulong)12345, "UInt64", 12345UL)] - [TestCase((ulong)12345, "UIntPtr", (uint)12345)] - [TestCase((ulong)12345.67f, "Single", 12345.67f)] - [TestCase(unchecked((ulong)(long)-45678.91f), "Single", -45678.91f)] - [TestCase((ulong)12345.6789, "Double", 12345.6789)] - [TestCase(unchecked((ulong)45678.90123), "Double", 45678.90123)] public sealed class Conv_u8 { + [TestCase((ulong)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Byte(byte value); + [TestCase((ulong)12345, "Int16", (short)12345)] + [TestCase(unchecked((ulong)(uint)-12345), "Int16", (short)-12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Int16(short value); + [TestCase((ulong)12345, "Int32", 12345)] + [TestCase(unchecked((ulong)(uint)-45678), "Int32", -45678)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Int32(int value); + [TestCase((ulong)12345, "Int64", 12345L)] + [TestCase(unchecked((ulong)-45678L), "Int64", -45678L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Int64(long value); + [TestCase((ulong)12345, "IntPtr", 12345)] + //[TestCase(unchecked((ulong)(uint)-45678), "IntPtr", -45678)] // Different result on both 32/64bit test environment [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong IntPtr(IntPtr value); + [TestCase((ulong)123, "SByte", (sbyte)123)] + [TestCase(unchecked((ulong)(uint)-123), "SByte", (sbyte)-123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong SByte(sbyte value); + [TestCase((ulong)12345, "UInt16", (ushort)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt16(ushort value); + [TestCase((ulong)12345, "UInt32", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt32(uint value); + [TestCase((ulong)12345, "UInt64", 12345UL)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(ulong value); + [TestCase((ulong)12345, "UIntPtr", (uint)12345)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UIntPtr(UIntPtr value); + [TestCase((ulong)12345.67f, "Single", 12345.67f)] + [TestCase(unchecked((ulong)(long)-45678.91f), "Single", -45678.91f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Single(float value); + [TestCase((ulong)12345.6789, "Double", 12345.6789)] + [TestCase(unchecked((ulong)45678.90123), "Double", 45678.90123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Double(double value); } From d271f1b8742a8c14663fc6503a6350d8482207d4 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 19 May 2022 21:15:25 +0900 Subject: [PATCH 009/144] Changed building with restore option in first il2c.sln. --- .github/workflows/build-linux.yaml | 4 ++-- .github/workflows/build-windows.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 8d056f90..125a5989 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -31,7 +31,7 @@ jobs: # https://stackoverflow.com/questions/61463578/github-actions-actions-checkoutv2-lfs-true-flag-not-converting-pointers-to-act - name: Checkout LFS objects run: git lfs checkout - - name: Setup .NET Core 2.1 + - name: Setup .NET Core 2.2 uses: actions/setup-dotnet@v1 with: dotnet-version: 2.1.818 @@ -58,7 +58,7 @@ jobs: - name: Build runtime library run: bash build-runtime.sh ${{env.buildConfiguration}} - name: Build il2c - run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" il2c.sln + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" il2c.sln # - name: Build GettingStartedIL2C-x86 # run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln # - name: Build GettingStartedIL2C-x64 diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 9fb5a011..3298c588 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -31,7 +31,7 @@ jobs: # https://stackoverflow.com/questions/61463578/github-actions-actions-checkoutv2-lfs-true-flag-not-converting-pointers-to-act - name: Checkout LFS objects run: git lfs checkout - - name: Setup .NET Core 2.1 + - name: Setup .NET Core 2.2 uses: actions/setup-dotnet@v1 with: dotnet-version: 2.1.818 @@ -61,7 +61,7 @@ jobs: run: build-runtime.bat ${{env.buildConfiguration}} shell: cmd - name: Build il2c - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" -maxCpuCount il2c.sln + run: msbuild -p:Configuration=${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" -maxCpuCount il2c.sln - name: Build GettingStartedIL2C-x86 run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - name: Build GettingStartedIL2C-x64 From e0594101b332f242c000a56b1bc6faad32a7e445 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 19 May 2022 21:24:41 +0900 Subject: [PATCH 010/144] Changed building with restore option in first il2c.sln. --- .github/workflows/build-linux.yaml | 2 +- .github/workflows/build-windows.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 125a5989..3cd73060 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -58,7 +58,7 @@ jobs: - name: Build runtime library run: bash build-runtime.sh ${{env.buildConfiguration}} - name: Build il2c - run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" il2c.sln + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER il2c.sln # - name: Build GettingStartedIL2C-x86 # run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln # - name: Build GettingStartedIL2C-x64 diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 3298c588..93076943 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -61,7 +61,7 @@ jobs: run: build-runtime.bat ${{env.buildConfiguration}} shell: cmd - name: Build il2c - run: msbuild -p:Configuration=${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" -maxCpuCount il2c.sln + run: msbuild -p:Configuration=${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -maxCpuCount il2c.sln - name: Build GettingStartedIL2C-x86 run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - name: Build GettingStartedIL2C-x64 From 2782904600240b9b36e5c9da0781cb9ac459afb2 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 19 May 2022 21:36:35 +0900 Subject: [PATCH 011/144] Updated ILConverter [d-l]. --- .../IL2C.Core.Test.BasicTypes.csproj | 2 +- tests/IL2C.Core.Test.ILConverters/Div/Div.cs | 18 ++--- tests/IL2C.Core.Test.ILConverters/Dup/Dup.cs | 4 +- .../IL2C.Core.Test.ILConverters.csproj | 2 +- .../Isinst/Isinst.cs | 8 +-- .../Ldarg/Ldarg.cs | 68 +++++++++---------- .../Ldarg_0/Ldarg_0.cs | 32 ++++----- .../Ldarg_1/Ldarg_1.cs | 32 ++++----- .../Ldarg_2/Ldarg_2.cs | 32 ++++----- .../Ldarg_3/Ldarg_3.cs | 32 ++++----- .../Ldarg_s/Ldarg_s.cs | 68 +++++++++---------- .../Ldarga_s/Ldarga_s.cs | 68 +++++++++---------- .../Ldc_i4/Ldc_i4.cs | 4 +- .../Ldc_i4_0/Ldc_i4_0.cs | 4 +- .../Ldc_i4_1/Ldc_i4_1.cs | 4 +- .../Ldc_i4_2/Ldc_i4_2.cs | 4 +- .../Ldc_i4_3/Ldc_i4_3.cs | 4 +- .../Ldc_i4_4/Ldc_i4_4.cs | 4 +- .../Ldc_i4_5/Ldc_i4_5.cs | 4 +- .../Ldc_i4_6/Ldc_i4_6.cs | 4 +- .../Ldc_i4_7/Ldc_i4_7.cs | 4 +- .../Ldc_i4_8/Ldc_i4_8.cs | 4 +- .../Ldc_i4_m1/Ldc_i4_m1.cs | 4 +- .../Ldc_i4_s/Ldc_i4_s.cs | 4 +- .../Ldc_i8/Ldc_i8.cs | 4 +- .../Ldc_r4/Ldc_r4.cs | 4 +- .../Ldc_r8/Ldc_r8.cs | 4 +- .../Ldloc_0/Ldloc_0.cs | 32 ++++----- .../Ldloc_1/Ldloc_1.cs | 32 ++++----- .../Ldloc_2/Ldloc_2.cs | 32 ++++----- .../Ldloc_3/Ldloc_3.cs | 32 ++++----- .../Ldloc_s/Ldloc_s.cs | 34 +++++----- .../Ldloca_s/Ldloca_s.cs | 50 +++++++------- .../Ldnull/Ldnull.cs | 6 +- .../Ldsfld/Ldsfld.cs | 32 ++++----- .../Ldsflda/Ldsflda.cs | 32 ++++----- .../Ldstr/Ldstr.cs | 2 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 2 +- 38 files changed, 358 insertions(+), 354 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index d226fd7a..46d801a2 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -12,7 +12,7 @@ - + diff --git a/tests/IL2C.Core.Test.ILConverters/Div/Div.cs b/tests/IL2C.Core.Test.ILConverters/Div/Div.cs index 10e823f0..dfbfdbfb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Div/Div.cs +++ b/tests/IL2C.Core.Test.ILConverters/Div/Div.cs @@ -12,41 +12,41 @@ namespace IL2C.ILConverters { - [TestCase(12, "Int32_Int32", 288, 24)] - [TestCase(12, "Int32_IntPtr", 288, 24)] - [TestCase(12L, "Int64_Int64", 288L, 24L)] - [TestCase(12, "IntPtr_Int32", 288, 24)] - [TestCase(12, "IntPtr_IntPtr", 288, 24)] - [TestCase(123.0f / 0.45f, "Single_Single", 123.0f, 0.45f)] - [TestCase(123.0f / 0.45, "Single_Double", 123.0f, 0.45)] - [TestCase(123.0 / 0.45f, "Double_Single", 123.0, 0.45f)] - [TestCase(123.0 / 0.45, "Double_Double", 123.0, 0.45)] public sealed class Div { + [TestCase(12, "Int32_Int32", 288, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(12, "Int32_IntPtr", 288, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(12L, "Int64_Int64", 288L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(12, "IntPtr_Int32", 288, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(12, "IntPtr_IntPtr", 288, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + [TestCase(123.0f / 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); + [TestCase(123.0f / 0.45, "Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Single_Double(float lhs, double rhs); + [TestCase(123.0 / 0.45f, "Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Single(double lhs, float rhs); + [TestCase(123.0 / 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Double(double lhs, double rhs); } diff --git a/tests/IL2C.Core.Test.ILConverters/Dup/Dup.cs b/tests/IL2C.Core.Test.ILConverters/Dup/Dup.cs index ee592de9..a10b7189 100644 --- a/tests/IL2C.Core.Test.ILConverters/Dup/Dup.cs +++ b/tests/IL2C.Core.Test.ILConverters/Dup/Dup.cs @@ -12,13 +12,13 @@ namespace IL2C.ILConverters { - [TestCase(246, "Mul2Int32", 123)] - [TestCase("ABCABC", "Mul2String", "ABC")] public sealed class Dup { + [TestCase(246, "Mul2Int32", 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Mul2Int32(int value); + [TestCase("ABCABC", "Mul2String", "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Mul2String(string value); } diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 678b99a3..3c49da9d 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -12,7 +12,7 @@ - + diff --git a/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs b/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs index 89890501..cd9c7553 100644 --- a/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs +++ b/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs @@ -12,15 +12,15 @@ namespace IL2C.ILConverters { - [TestCase("ABCDEF", "ConcatIfString", "ABC")] - [TestCase(null, "ConcatIfString", 123)] - [TestCase(null, "ToStringIfInt32", "ABC")] - [TestCase("123", "ToStringIfInt32", 123)] public sealed class Isinst { + [TestCase("ABCDEF", "ConcatIfString", "ABC")] + [TestCase(null, "ConcatIfString", 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ConcatIfString(object value); + [TestCase(null, "ToStringIfInt32", "ABC")] + [TestCase("123", "ToStringIfInt32", 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ToStringIfInt32(object value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs index 53b24c77..709b3ba6 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs @@ -12,102 +12,102 @@ namespace IL2C.ILConverters { - [TestCase(true, "Boolean_4", 0, 1, 2, 3, false)] - [TestCase(false, "Boolean_4", 0, 1, 2, 3, true)] - [TestCase((byte)(byte.MaxValue - 1), "Byte_4", 0, 1, 2, 3, byte.MaxValue)] - [TestCase((short)(short.MaxValue - 1), "Int16_4", 0, 1, 2, 3, short.MaxValue)] - [TestCase(int.MaxValue - 1, "Int32_4", 0, 1, 2, 3, int.MaxValue)] - [TestCase(long.MaxValue - 1, "Int64_4", 0, 1, 2, 3, long.MaxValue)] - [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte_4", 0, 1, 2, 3, sbyte.MaxValue)] - [TestCase((ushort)(ushort.MaxValue - 1), "UInt16_4", 0, 1, 2, 3, ushort.MaxValue)] - [TestCase(uint.MaxValue - 1, "UInt32_4", 0, 1, 2, 3, uint.MaxValue)] - [TestCase(ulong.MaxValue - 1, "UInt64_4", 0, 1, 2, 3, ulong.MaxValue)] - [TestCase(int.MaxValue - 1, "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] - [TestCase(uint.MaxValue - 1, "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] - [TestCase((float)((double)123.45f + (double)3.14159274f), "Single_4", 0, 1, 2, 3, 123.45f)] - [TestCase(123.45 + 3.1415926535897931, "Double_4", 0, 1, 2, 3, 123.45)] - [TestCase("ABCD", "String_4", 0, 1, 2, 3, "ABC")] - [TestCase('B', "Char_4", 0, 1, 2, 3, 'A')] - [TestCase("ABCD", "Argument_256", - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - "ABC")] public sealed class Ldarg { + [TestCase(true, "Boolean_4", 0, 1, 2, 3, false)] + [TestCase(false, "Boolean_4", 0, 1, 2, 3, true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean_4( int arg0, int arg1, int arg2, int arg3, bool value); + [TestCase((byte)(byte.MaxValue - 1), "Byte_4", 0, 1, 2, 3, byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte_4( int arg0, int arg1, int arg2, int arg3, byte num); + [TestCase((short)(short.MaxValue - 1), "Int16_4", 0, 1, 2, 3, short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16_4( int arg0, int arg1, int arg2, int arg3, short num); + [TestCase(int.MaxValue - 1, "Int32_4", 0, 1, 2, 3, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_4( int arg0, int arg1, int arg2, int arg3, int num); + [TestCase(long.MaxValue - 1, "Int64_4", 0, 1, 2, 3, long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_4( int arg0, int arg1, int arg2, int arg3, long num); + [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte_4", 0, 1, 2, 3, sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte_4( int arg0, int arg1, int arg2, int arg3, sbyte num); + [TestCase((ushort)(ushort.MaxValue - 1), "UInt16_4", 0, 1, 2, 3, ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16_4( int arg0, int arg1, int arg2, int arg3, ushort num); + [TestCase(uint.MaxValue - 1, "UInt32_4", 0, 1, 2, 3, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32_4( int arg0, int arg1, int arg2, int arg3, uint num); + [TestCase(ulong.MaxValue - 1, "UInt64_4", 0, 1, 2, 3, ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64_4( int arg0, int arg1, int arg2, int arg3, ulong num); + [TestCase(int.MaxValue - 1, "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_4( int arg0, int arg1, int arg2, int arg3, IntPtr num); + [TestCase(uint.MaxValue - 1, "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr_4( int arg0, int arg1, int arg2, int arg3, UIntPtr num); + [TestCase((float)((double)123.45f + (double)3.14159274f), "Single_4", 0, 1, 2, 3, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_4( int arg0, int arg1, int arg2, int arg3, float num); + [TestCase(123.45 + 3.1415926535897931, "Double_4", 0, 1, 2, 3, 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_4( int arg0, int arg1, int arg2, int arg3, double num); + [TestCase('B', "Char_4", 0, 1, 2, 3, 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char_4( int arg0, int arg1, int arg2, int arg3, char ch); + [TestCase("ABCD", "String_4", 0, 1, 2, 3, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String_4( int arg0, int arg1, int arg2, int arg3, string v); + [TestCase("ABCD", "Argument_256", + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Argument_256( int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs index 81c0e553..41e9d7e4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs @@ -12,66 +12,66 @@ namespace IL2C.ILConverters { - [TestCase(true, "Boolean", false)] - [TestCase(false, "Boolean", true)] - [TestCase((byte)(byte.MaxValue - 1), "Byte", byte.MaxValue)] - [TestCase((short)(short.MaxValue - 1), "Int16", short.MaxValue)] - [TestCase(int.MaxValue - 1, "Int32", int.MaxValue)] - [TestCase(long.MaxValue - 1, "Int64", long.MaxValue)] - [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", sbyte.MaxValue)] - [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", ushort.MaxValue)] - [TestCase(uint.MaxValue - 1, "UInt32", uint.MaxValue)] - [TestCase(ulong.MaxValue - 1, "UInt64", ulong.MaxValue)] - [TestCase(int.MaxValue - 1, "IntPtr", int.MaxValue)] - [TestCase(uint.MaxValue - 1, "UIntPtr", uint.MaxValue)] - [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123.45f)] - [TestCase(123.45 + 3.1415926535897931, "Double", 123.45)] - [TestCase('B', "Char", 'A')] - [TestCase("ABCD", "String", "ABC")] public sealed class Ldarg_0 { + [TestCase(true, "Boolean", false)] + [TestCase(false, "Boolean", true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean(bool value); + [TestCase((byte)(byte.MaxValue - 1), "Byte", byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(byte num); + [TestCase((short)(short.MaxValue - 1), "Int16", short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(short num); + [TestCase(int.MaxValue - 1, "Int32", int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(int num); + [TestCase(long.MaxValue - 1, "Int64", long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(long num); + [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(sbyte num); + [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(ushort num); + [TestCase(uint.MaxValue - 1, "UInt32", uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(uint num); + [TestCase(ulong.MaxValue - 1, "UInt64", ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(ulong num); + [TestCase(int.MaxValue - 1, "IntPtr", int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(IntPtr num); + [TestCase(uint.MaxValue - 1, "UIntPtr", uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(UIntPtr num); + [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(float num); + [TestCase(123.45 + 3.1415926535897931, "Double", 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(double num); + [TestCase('B', "Char", 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(char ch); + [TestCase("ABCD", "String", "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(string v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs index cdf986aa..5993b5c8 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs @@ -12,66 +12,66 @@ namespace IL2C.ILConverters { - [TestCase(true, "Boolean", 123, false)] - [TestCase(false, "Boolean", 123, true)] - [TestCase((byte)(byte.MaxValue - 1), "Byte", 123, byte.MaxValue)] - [TestCase((short)(short.MaxValue - 1), "Int16", 123, short.MaxValue)] - [TestCase(int.MaxValue - 1, "Int32", 123, int.MaxValue)] - [TestCase(long.MaxValue - 1, "Int64", 123, long.MaxValue)] - [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", 123, sbyte.MaxValue)] - [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", 123, ushort.MaxValue)] - [TestCase(uint.MaxValue - 1, "UInt32", 123, uint.MaxValue)] - [TestCase(ulong.MaxValue - 1, "UInt64", 123, ulong.MaxValue)] - [TestCase(int.MaxValue - 1, "IntPtr", 123, int.MaxValue)] - [TestCase(uint.MaxValue - 1, "UIntPtr", 123, uint.MaxValue)] - [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 123.45f)] - [TestCase(123.45 + 3.1415926535897931, "Double", 123, 123.45)] - [TestCase('B', "Char", 123, 'A')] - [TestCase("ABCD", "String", 123, "ABC")] public sealed class Ldarg_1 { + [TestCase(true, "Boolean", 123, false)] + [TestCase(false, "Boolean", 123, true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean(int arg0, bool value); + [TestCase((byte)(byte.MaxValue - 1), "Byte", 123, byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(int arg0, byte num); + [TestCase((short)(short.MaxValue - 1), "Int16", 123, short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(int arg0, short num); + [TestCase(int.MaxValue - 1, "Int32", 123, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(int arg0, int num); + [TestCase(long.MaxValue - 1, "Int64", 123, long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(int arg0, long num); + [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", 123, sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(int arg0, sbyte num); + [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", 123, ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(int arg0, ushort num); + [TestCase(uint.MaxValue - 1, "UInt32", 123, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(int arg0, uint num); + [TestCase(ulong.MaxValue - 1, "UInt64", 123, ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(int arg0, ulong num); + [TestCase(int.MaxValue - 1, "IntPtr", 123, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(int arg0, IntPtr num); + [TestCase(uint.MaxValue - 1, "UIntPtr", 123, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(int arg0, UIntPtr num); + [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(int arg0, float num); + [TestCase(123.45 + 3.1415926535897931, "Double", 123, 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(int arg0, double num); + [TestCase('B', "Char", 123, 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(int arg0, char ch); + [TestCase("ABCD", "String", 123, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(int arg0, string v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs index 9fe6df2f..2d7a76f7 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs @@ -12,66 +12,66 @@ namespace IL2C.ILConverters { - [TestCase(true, "Boolean", 123, 45, false)] - [TestCase(false, "Boolean", 123, 45, true)] - [TestCase((byte)(byte.MaxValue - 1), "Byte", 123, 45, byte.MaxValue)] - [TestCase((short)(short.MaxValue - 1), "Int16", 123, 45, short.MaxValue)] - [TestCase(int.MaxValue - 1, "Int32", 123, 45, int.MaxValue)] - [TestCase(long.MaxValue - 1, "Int64", 123, 45, long.MaxValue)] - [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", 123, 45, sbyte.MaxValue)] - [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", 123, 45, ushort.MaxValue)] - [TestCase(uint.MaxValue - 1, "UInt32", 123, 45, uint.MaxValue)] - [TestCase(ulong.MaxValue - 1, "UInt64", 123, 45, ulong.MaxValue)] - [TestCase(int.MaxValue - 1, "IntPtr", 123, 45, int.MaxValue)] - [TestCase(uint.MaxValue - 1, "UIntPtr", 123, 45, uint.MaxValue)] - [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 45, 123.45f)] - [TestCase(123.45 + 3.1415926535897931, "Double", 123, 45, 123.45)] - [TestCase('B', "Char", 123, 45, 'A')] - [TestCase("ABCD", "String", 123, 45, "ABC")] public sealed class Ldarg_2 { + [TestCase(true, "Boolean", 123, 45, false)] + [TestCase(false, "Boolean", 123, 45, true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean(int arg0, int arg1, bool value); + [TestCase((byte)(byte.MaxValue - 1), "Byte", 123, 45, byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(int arg0, int arg1, byte num); + [TestCase((short)(short.MaxValue - 1), "Int16", 123, 45, short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(int arg0, int arg1, short num); + [TestCase(int.MaxValue - 1, "Int32", 123, 45, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(int arg0, int arg1, int num); + [TestCase(long.MaxValue - 1, "Int64", 123, 45, long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(int arg0, int arg1, long num); + [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", 123, 45, sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(int arg0, int arg1, sbyte num); + [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", 123, 45, ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(int arg0, int arg1, ushort num); + [TestCase(uint.MaxValue - 1, "UInt32", 123, 45, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(int arg0, int arg1, uint num); + [TestCase(ulong.MaxValue - 1, "UInt64", 123, 45, ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(int arg0, int arg1, ulong num); + [TestCase(int.MaxValue - 1, "IntPtr", 123, 45, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(int arg0, int arg1, IntPtr num); + [TestCase(uint.MaxValue - 1, "UIntPtr", 123, 45, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(int arg0, int arg1, UIntPtr num); + [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 45, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(int arg0, int arg1, float num); + [TestCase(123.45 + 3.1415926535897931, "Double", 123, 45, 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(int arg0, int arg1, double num); + [TestCase('B', "Char", 123, 45, 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(int arg0, int arg1, char ch); + [TestCase("ABCD", "String", 123, 45, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(int arg0, int arg1, string v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs index c04c372b..8b73090d 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs @@ -12,66 +12,66 @@ namespace IL2C.ILConverters { - [TestCase(true, "Boolean", 123, 45, 6, false)] - [TestCase(false, "Boolean", 123, 45, 6, true)] - [TestCase((byte)(byte.MaxValue - 1), "Byte", 123, 45, 6, byte.MaxValue)] - [TestCase((short)(short.MaxValue - 1), "Int16", 123, 45, 6, short.MaxValue)] - [TestCase(int.MaxValue - 1, "Int32", 123, 45, 6, int.MaxValue)] - [TestCase(long.MaxValue - 1, "Int64", 123, 45, 6, long.MaxValue)] - [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", 123, 45, 6, sbyte.MaxValue)] - [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", 123, 45, 6, ushort.MaxValue)] - [TestCase(uint.MaxValue - 1, "UInt32", 123, 45, 6, uint.MaxValue)] - [TestCase(ulong.MaxValue - 1, "UInt64", 123, 45, 6, ulong.MaxValue)] - [TestCase(int.MaxValue - 1, "IntPtr", 123, 45, 6, int.MaxValue)] - [TestCase(uint.MaxValue - 1, "UIntPtr", 123, 45, 6, uint.MaxValue)] - [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 45, 6, 123.45f)] - [TestCase(123.45 + 3.1415926535897931, "Double", 123, 45, 6, 123.45)] - [TestCase('B', "Char", 123, 45, 6, 'A')] - [TestCase("ABCD", "String", 123, 45, 6, "ABC")] public sealed class Ldarg_3 { + [TestCase(true, "Boolean", 123, 45, 6, false)] + [TestCase(false, "Boolean", 123, 45, 6, true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean(int arg0, int arg1, int arg2, bool value); + [TestCase((byte)(byte.MaxValue - 1), "Byte", 123, 45, 6, byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(int arg0, int arg1, int arg2, byte num); + [TestCase((short)(short.MaxValue - 1), "Int16", 123, 45, 6, short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(int arg0, int arg1, int arg2, short num); + [TestCase(int.MaxValue - 1, "Int32", 123, 45, 6, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(int arg0, int arg1, int arg2, int num); + [TestCase(long.MaxValue - 1, "Int64", 123, 45, 6, long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(int arg0, int arg1, int arg2, long num); + [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte", 123, 45, 6, sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(int arg0, int arg1, int arg2, sbyte num); + [TestCase((ushort)(ushort.MaxValue - 1), "UInt16", 123, 45, 6, ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(int arg0, int arg1, int arg2, ushort num); + [TestCase(uint.MaxValue - 1, "UInt32", 123, 45, 6, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(int arg0, int arg1, int arg2, uint num); + [TestCase(ulong.MaxValue - 1, "UInt64", 123, 45, 6, ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(int arg0, int arg1, int arg2, ulong num); + [TestCase(int.MaxValue - 1, "IntPtr", 123, 45, 6, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(int arg0, int arg1, int arg2, IntPtr num); + [TestCase(uint.MaxValue - 1, "UIntPtr", 123, 45, 6, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(int arg0, int arg1, int arg2, UIntPtr num); + [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 45, 6, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(int arg0, int arg1, int arg2, float num); + [TestCase(123.45 + 3.1415926535897931, "Double", 123, 45, 6, 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(int arg0, int arg1, int arg2, double num); + [TestCase('B', "Char", 123, 45, 6, 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(int arg0, int arg1, int arg2, char ch); + [TestCase("ABCD", "String", 123, 45, 6, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(int arg0, int arg1, int arg2, string v); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs index a0b8c62a..f106dadb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs @@ -12,102 +12,102 @@ namespace IL2C.ILConverters { - [TestCase(true, "Boolean_4", 0, 1, 2, 3, false)] - [TestCase(false, "Boolean_4", 0, 1, 2, 3, true)] - [TestCase((byte)(byte.MaxValue - 1), "Byte_4", 0, 1, 2, 3, byte.MaxValue)] - [TestCase((short)(short.MaxValue - 1), "Int16_4", 0, 1, 2, 3, short.MaxValue)] - [TestCase(int.MaxValue - 1, "Int32_4", 0, 1, 2, 3, int.MaxValue)] - [TestCase(long.MaxValue - 1, "Int64_4", 0, 1, 2, 3, long.MaxValue)] - [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte_4", 0, 1, 2, 3, sbyte.MaxValue)] - [TestCase((ushort)(ushort.MaxValue - 1), "UInt16_4", 0, 1, 2, 3, ushort.MaxValue)] - [TestCase(uint.MaxValue - 1, "UInt32_4", 0, 1, 2, 3, uint.MaxValue)] - [TestCase(ulong.MaxValue - 1, "UInt64_4", 0, 1, 2, 3, ulong.MaxValue)] - [TestCase(int.MaxValue - 1, "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] - [TestCase(uint.MaxValue - 1, "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] - [TestCase((float)((double)123.45f + (double)3.14159274f), "Single_4", 0, 1, 2, 3, 123.45f)] - [TestCase(123.45 + 3.1415926535897931, "Double_4", 0, 1, 2, 3, 123.45)] - [TestCase('B', "Char_4", 0, 1, 2, 3, 'A')] - [TestCase("ABCD", "String_4", 0, 1, 2, 3, "ABC")] - [TestCase("ABCD", "Argument_255", - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - "ABC")] public sealed class Ldarg_s { + [TestCase(true, "Boolean_4", 0, 1, 2, 3, false)] + [TestCase(false, "Boolean_4", 0, 1, 2, 3, true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean_4( int arg0, int arg1, int arg2, int arg3, bool value); + [TestCase((byte)(byte.MaxValue - 1), "Byte_4", 0, 1, 2, 3, byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte_4( int arg0, int arg1, int arg2, int arg3, byte num); + [TestCase((short)(short.MaxValue - 1), "Int16_4", 0, 1, 2, 3, short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16_4( int arg0, int arg1, int arg2, int arg3, short num); + [TestCase(int.MaxValue - 1, "Int32_4", 0, 1, 2, 3, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_4( int arg0, int arg1, int arg2, int arg3, int num); + [TestCase(long.MaxValue - 1, "Int64_4", 0, 1, 2, 3, long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_4( int arg0, int arg1, int arg2, int arg3, long num); + [TestCase((sbyte)(sbyte.MaxValue - 1), "SByte_4", 0, 1, 2, 3, sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte_4( int arg0, int arg1, int arg2, int arg3, sbyte num); + [TestCase((ushort)(ushort.MaxValue - 1), "UInt16_4", 0, 1, 2, 3, ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16_4( int arg0, int arg1, int arg2, int arg3, ushort num); + [TestCase(uint.MaxValue - 1, "UInt32_4", 0, 1, 2, 3, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32_4( int arg0, int arg1, int arg2, int arg3, uint num); + [TestCase(ulong.MaxValue - 1, "UInt64_4", 0, 1, 2, 3, ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64_4( int arg0, int arg1, int arg2, int arg3, ulong num); + [TestCase(int.MaxValue - 1, "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_4( int arg0, int arg1, int arg2, int arg3, IntPtr num); + [TestCase(uint.MaxValue - 1, "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr_4( int arg0, int arg1, int arg2, int arg3, UIntPtr num); + [TestCase((float)((double)123.45f + (double)3.14159274f), "Single_4", 0, 1, 2, 3, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_4( int arg0, int arg1, int arg2, int arg3, float num); + [TestCase(123.45 + 3.1415926535897931, "Double_4", 0, 1, 2, 3, 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_4( int arg0, int arg1, int arg2, int arg3, double num); + [TestCase('B', "Char_4", 0, 1, 2, 3, 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char_4( int arg0, int arg1, int arg2, int arg3, char ch); + [TestCase("ABCD", "String_4", 0, 1, 2, 3, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String_4( int arg0, int arg1, int arg2, int arg3, string v); + [TestCase("ABCD", "Argument_255", + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Argument_255( int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs index 60d59aef..55a7cc15 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs @@ -12,104 +12,104 @@ namespace IL2C.ILConverters { - [TestCase("False", "Boolean_4", 0, 1, 2, 3, false)] - [TestCase("True", "Boolean_4", 0, 1, 2, 3, true)] - [TestCase("255", "Byte_4", 0, 1, 2, 3, byte.MaxValue)] - [TestCase("32767", "Int16_4", 0, 1, 2, 3, short.MaxValue)] - [TestCase("2147483647", "Int32_4", 0, 1, 2, 3, int.MaxValue)] - [TestCase("9223372036854775807", "Int64_4", 0, 1, 2, 3, long.MaxValue)] - [TestCase("127", "SByte_4", 0, 1, 2, 3, sbyte.MaxValue)] - [TestCase("65535", "UInt16_4", 0, 1, 2, 3, ushort.MaxValue)] - [TestCase("4294967295", "UInt32_4", 0, 1, 2, 3, uint.MaxValue)] - [TestCase("18446744073709551615", "UInt64_4", 0, 1, 2, 3, ulong.MaxValue)] - [TestCase("2147483647", "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] - [TestCase("4294967295", "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] - [TestCase("123.45", "Single_4", 0, 1, 2, 3, 123.45f)] - [TestCase("123.45", "Double_4", 0, 1, 2, 3, 123.45)] - [TestCase("A", "Char_4", 0, 1, 2, 3, 'A')] - [TestCase("ABC", new[] { "String_4", "GetUnrefString" }, 0, 1, 2, 3, "ABC")] - [TestCase("ABC", new[] { "Argument_255", "GetUnrefString" }, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - "ABC")] public sealed class Ldarga_s { + [TestCase("False", "Boolean_4", 0, 1, 2, 3, false)] + [TestCase("True", "Boolean_4", 0, 1, 2, 3, true)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Boolean_4( int arg0, int arg1, int arg2, int arg3, bool value); + [TestCase("255", "Byte_4", 0, 1, 2, 3, byte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Byte_4( int arg0, int arg1, int arg2, int arg3, byte num); + [TestCase("32767", "Int16_4", 0, 1, 2, 3, short.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int16_4( int arg0, int arg1, int arg2, int arg3, short num); + [TestCase("2147483647", "Int32_4", 0, 1, 2, 3, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32_4( int arg0, int arg1, int arg2, int arg3, int num); + [TestCase("9223372036854775807", "Int64_4", 0, 1, 2, 3, long.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int64_4( int arg0, int arg1, int arg2, int arg3, long num); + [TestCase("127", "SByte_4", 0, 1, 2, 3, sbyte.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string SByte_4( int arg0, int arg1, int arg2, int arg3, sbyte num); + [TestCase("65535", "UInt16_4", 0, 1, 2, 3, ushort.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UInt16_4( int arg0, int arg1, int arg2, int arg3, ushort num); + [TestCase("4294967295", "UInt32_4", 0, 1, 2, 3, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UInt32_4( int arg0, int arg1, int arg2, int arg3, uint num); + [TestCase("18446744073709551615", "UInt64_4", 0, 1, 2, 3, ulong.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UInt64_4( int arg0, int arg1, int arg2, int arg3, ulong num); + [TestCase("2147483647", "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtr_4( int arg0, int arg1, int arg2, int arg3, IntPtr num); + [TestCase("4294967295", "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UIntPtr_4( int arg0, int arg1, int arg2, int arg3, UIntPtr num); + [TestCase("123.45", "Single_4", 0, 1, 2, 3, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Single_4( int arg0, int arg1, int arg2, int arg3, float num); + [TestCase("123.45", "Double_4", 0, 1, 2, 3, 123.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Double_4( int arg0, int arg1, int arg2, int arg3, double num); + [TestCase("A", "Char_4", 0, 1, 2, 3, 'A')] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Char_4( int arg0, int arg1, int arg2, int arg3, char ch); private static string GetUnrefString(ref string value) => value; + [TestCase("ABC", new[] { "String_4", "GetUnrefString" }, 0, 1, 2, 3, "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String_4( int arg0, int arg1, int arg2, int arg3, string v); + [TestCase("ABC", new[] { "Argument_255", "GetUnrefString" }, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + "ABC")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Argument_255( int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4/Ldc_i4.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4/Ldc_i4.cs index 42553819..10bf5790 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4/Ldc_i4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4/Ldc_i4.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(int.MaxValue, "MaxValue")] - [TestCase(int.MinValue, "MinValue")] public sealed class Ldc_i4 { + [TestCase(int.MaxValue, "MaxValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int MaxValue(); + [TestCase(int.MinValue, "MinValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int MinValue(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_0/Ldc_i4_0.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_0/Ldc_i4_0.cs index ae5aff94..33c318a3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_0/Ldc_i4_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_0/Ldc_i4_0.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(0, "RawValue")] - [TestCase(4, "Add", 4)] public sealed class Ldc_i4_0 { + [TestCase(0, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(4, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_1/Ldc_i4_1.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_1/Ldc_i4_1.cs index 042b27da..ec3d0703 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_1/Ldc_i4_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_1/Ldc_i4_1.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(1, "RawValue")] - [TestCase(5, "Add", 4)] public sealed class Ldc_i4_1 { + [TestCase(1, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(5, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_2/Ldc_i4_2.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_2/Ldc_i4_2.cs index d386e7fd..13ef654e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_2/Ldc_i4_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_2/Ldc_i4_2.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(2, "RawValue")] - [TestCase(6, "Add", 4)] public sealed class Ldc_i4_2 { + [TestCase(2, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(6, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_3/Ldc_i4_3.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_3/Ldc_i4_3.cs index 14b625be..6b28744f 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_3/Ldc_i4_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_3/Ldc_i4_3.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(3, "RawValue")] - [TestCase(7, "Add", 4)] public sealed class Ldc_i4_3 { + [TestCase(3, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(7, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_4/Ldc_i4_4.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_4/Ldc_i4_4.cs index f3702641..0cb98bd5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_4/Ldc_i4_4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_4/Ldc_i4_4.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(4, "RawValue")] - [TestCase(8, "Add", 4)] public sealed class Ldc_i4_4 { + [TestCase(4, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(8, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_5/Ldc_i4_5.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_5/Ldc_i4_5.cs index 0cafec22..01df8f5a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_5/Ldc_i4_5.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_5/Ldc_i4_5.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(5, "RawValue")] - [TestCase(9, "Add", 4)] public sealed class Ldc_i4_5 { + [TestCase(5, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(9, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_6/Ldc_i4_6.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_6/Ldc_i4_6.cs index 8f4a3f10..c1b4a09d 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_6/Ldc_i4_6.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_6/Ldc_i4_6.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(6, "RawValue")] - [TestCase(10, "Add", 4)] public sealed class Ldc_i4_6 { + [TestCase(6, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(10, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_7/Ldc_i4_7.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_7/Ldc_i4_7.cs index 84683ab1..91817ec0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_7/Ldc_i4_7.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_7/Ldc_i4_7.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(7, "RawValue")] - [TestCase(11, "Add", 4)] public sealed class Ldc_i4_7 { + [TestCase(7, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(11, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_8/Ldc_i4_8.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_8/Ldc_i4_8.cs index 8c0f38b0..cc8116a4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_8/Ldc_i4_8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_8/Ldc_i4_8.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(8, "RawValue")] - [TestCase(12, "Add", 4)] public sealed class Ldc_i4_8 { + [TestCase(8, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(12, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_m1/Ldc_i4_m1.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_m1/Ldc_i4_m1.cs index 9560df46..c4493fb3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_m1/Ldc_i4_m1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_m1/Ldc_i4_m1.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(-1, "RawValue")] - [TestCase(3, "Add", 4)] public sealed class Ldc_i4_m1 { + [TestCase(-1, "RawValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RawValue(); + [TestCase(3, "Add", 4)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Add(int num); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_s/Ldc_i4_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_s/Ldc_i4_s.cs index b530c59d..a1eada2d 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i4_s/Ldc_i4_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i4_s/Ldc_i4_s.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(127, "Plus127Value")] - [TestCase(-128, "Minus128Value")] public sealed class Ldc_i4_s { + [TestCase(127, "Plus127Value")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Plus127Value(); + [TestCase(-128, "Minus128Value")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Minus128Value(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_i8/Ldc_i8.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_i8/Ldc_i8.cs index ec405eef..0563b4f0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_i8/Ldc_i8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_i8/Ldc_i8.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(long.MaxValue, "MaxValue")] - [TestCase(long.MinValue, "MinValue")] public sealed class Ldc_i8 { + [TestCase(long.MaxValue, "MaxValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long MaxValue(); + [TestCase(long.MinValue, "MinValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long MinValue(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_r4/Ldc_r4.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_r4/Ldc_r4.cs index 280421b6..7af93a3f 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_r4/Ldc_r4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_r4/Ldc_r4.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(float.MaxValue, "MaxValue")] - [TestCase(float.MinValue, "MinValue")] public sealed class Ldc_r4 { + [TestCase(float.MaxValue, "MaxValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float MaxValue(); + [TestCase(float.MinValue, "MinValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float MinValue(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldc_r8/Ldc_r8.cs b/tests/IL2C.Core.Test.ILConverters/Ldc_r8/Ldc_r8.cs index ba82ea63..679bf5c0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldc_r8/Ldc_r8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldc_r8/Ldc_r8.cs @@ -11,13 +11,13 @@ namespace IL2C.ILConverters { - [TestCase(double.MaxValue, "MaxValue")] - [TestCase(double.MinValue, "MinValue")] public sealed class Ldc_r8 { + [TestCase(double.MaxValue, "MaxValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double MaxValue(); + [TestCase(double.MinValue, "MinValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double MinValue(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs index af5918e1..df15083a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Ldloc_0 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs index 3e8a7336..6146fd38 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Ldloc_1 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs index f1afacb8..e650eba3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Ldloc_2 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs index 6e0913e3..dd4c9703 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Ldloc_3 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs index 358ac42f..e5a1cb8e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs @@ -12,73 +12,73 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] - [TestCase("ABC", "LocalVariable_255")] public sealed class Ldloc_s { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); + [TestCase("ABC", "LocalVariable_255")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string LocalVariable_255(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs index c360c117..a9d86ac9 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs @@ -12,73 +12,75 @@ namespace IL2C.ILConverters { - [TestCase("True", "True")] - [TestCase("False", "False")] - [TestCase("255", "Byte")] - [TestCase("32767", "Int16")] - [TestCase("2147483647", "Int32")] - [TestCase("9223372036854775807", "Int64")] - [TestCase("127", "SByte")] - [TestCase("65535", "UInt16")] - [TestCase("4294967295", "UInt32")] - [TestCase("18446744073709551615", "UInt64")] - [TestCase("2147483647", "IntPtr")] - [TestCase("4294967295", "UIntPtr")] -#if NET50 - [TestCase("3.1415927", "Single")] // Lost last 1 digits via ToString conversion. - [TestCase("3.141592653589793", "Double")] // Lost last 1 digits via ToString conversion. -#else - // Ignore validation because .NET Framework CLR precision is poor. - [TestCase("3.1415927", "Single", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Lost last 1 digits via ToString conversion. - [TestCase("3.141592653589793", "Double", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Lost last 1 digits via ToString conversion. -#endif - [TestCase("A", "Char")] - [TestCase("ABC", new[] { "String", "UpdateString" })] // Translation will include UpdateString method - [TestCase("ABC", new[] { "LocalVariable_255", "UpdateString" })] // Translation will include UpdateString method public sealed class Ldloca_s { + [TestCase("True", "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string True(); + [TestCase("False", "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string False(); + [TestCase("255", "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Byte(); + [TestCase("32767", "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int16(); + [TestCase("2147483647", "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32(); + [TestCase("9223372036854775807", "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int64(); + [TestCase("127", "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string SByte(); + [TestCase("65535", "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UInt16(); + [TestCase("4294967295", "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UInt32(); + [TestCase("18446744073709551615", "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UInt64(); + [TestCase("2147483647", "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string IntPtr(); + [TestCase("4294967295", "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UIntPtr(); +#if NET50 || NET60 + [TestCase("3.1415927", "Single")] // Lost last 1 digits via ToString conversion. +#else + // Ignore validation because .NET Framework CLR precision is poor. + [TestCase("3.1415927", "Single", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Lost last 1 digits via ToString conversion. +#endif [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Single(); +#if NET50 || NET60 + [TestCase("3.141592653589793", "Double")] // Lost last 1 digits via ToString conversion. +#else + // Ignore validation because .NET Framework CLR precision is poor. + [TestCase("3.141592653589793", "Double", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Lost last 1 digits via ToString conversion. +#endif [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Double(); + [TestCase("A", "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Char(); @@ -87,9 +89,11 @@ public static void UpdateString(ref string value) value = "ABC"; } + [TestCase("ABC", new[] { "String", "UpdateString" })] // Translation will include UpdateString method [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); + [TestCase("ABC", new[] { "LocalVariable_255", "UpdateString" })] // Translation will include UpdateString method [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string LocalVariable_255(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs index 2c93fc72..b6128d8f 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs @@ -12,17 +12,17 @@ namespace IL2C.ILConverters { - [TestCase(0, "IntPtrZero")] - [TestCase((uint)0, "UIntPtrZero")] - [TestCase(null, "NullReference")] public sealed class Ldnull { + [TestCase(0, "IntPtrZero")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtrZero(); + [TestCase((uint)0, "UIntPtrZero")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtrZero(); + [TestCase(null, "NullReference")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern object NullReference(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs index d37dc4a3..a2ff1468 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs @@ -32,69 +32,69 @@ public static class Ldsfld_Field public static readonly string StringValue = "ABC"; } - [TestCase(true, "True", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(false, "False", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(byte.MaxValue, "Byte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(short.MaxValue, "Int16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(int.MaxValue, "Int32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(long.MaxValue, "Int64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(sbyte.MaxValue, "SByte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(ushort.MaxValue, "UInt16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(uint.MaxValue, "UInt32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(ulong.MaxValue, "UInt64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(int.MaxValue, "IntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(uint.MaxValue, "UIntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(3.14159274f, "Single", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(3.1415926535897931, "Double", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase('A', "Char", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase("ABC", "String", IncludeTypes = new[] { typeof(Ldsfld_Field) })] public sealed class Ldsfld { + [TestCase(true, "True", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs index 9b6065de..ada1fd06 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(false, "False", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(byte.MaxValue, "Byte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(short.MaxValue, "Int16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(int.MaxValue, "Int32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(long.MaxValue, "Int64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(sbyte.MaxValue, "SByte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(ushort.MaxValue, "UInt16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(uint.MaxValue, "UInt32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(ulong.MaxValue, "UInt64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(int.MaxValue, "IntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(uint.MaxValue, "UIntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(3.14159274f, "Single", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase(3.1415926535897931, "Double", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase('A', "Char", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [TestCase("ABC", "String", IncludeTypes = new[] { typeof(Ldsfld_Field) })] public sealed class Ldsflda { + [TestCase(true, "True", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldstr/Ldstr.cs b/tests/IL2C.Core.Test.ILConverters/Ldstr/Ldstr.cs index 28e602a7..641229b5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldstr/Ldstr.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldstr/Ldstr.cs @@ -12,9 +12,9 @@ namespace IL2C.ILConverters { - [TestCase("ABC", "Value")] public sealed class Ldstr { + [TestCase("ABC", "Value")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Value(); } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index 9b1b8721..a4f5c1f0 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -12,7 +12,7 @@ - + From 34a69579506e8e1a95a2c8d57b4af077d8093657 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 21 May 2022 18:35:47 +0900 Subject: [PATCH 012/144] Updated ILConverter [m-z]. --- il2c.sln | 10 --- .../IL2C.Core.Test.BasicTypes.csproj | 10 ++- .../System_Delegate/System_Delegate.cs | 22 ++--- .../System_String/System_String_Format1.cs | 2 +- .../System_String/System_String_Format2.cs | 2 +- .../System_String/System_String_Format3.cs | 2 +- .../System_String_Format_Params.cs | 2 +- .../System_Type/System_Type.cs | 8 +- .../IL2C.Core.Test.Common.csproj | 4 +- .../TestCaseAttribute.cs | 58 ++++++++++++- .../IL2C.Core.Test.Fixture.csproj | 18 +++- tests/IL2C.Core.Test.Fixture/TestUtilities.cs | 13 +-- tests/IL2C.Core.Test.ILConverters/Box/Box.cs | 30 +++---- .../IL2C.Core.Test.ILConverters.csproj | 10 ++- tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs | 18 ++-- tests/IL2C.Core.Test.ILConverters/Nop/Nop.cs | 2 +- tests/IL2C.Core.Test.ILConverters/Or/Or.cs | 10 +-- tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs | 18 ++-- tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs | 12 +-- .../Stelem/Stelem.cs | 84 +++++++++---------- .../Stelem_i1/Stelem_i1.cs | 12 +-- .../Stelem_i2/Stelem_i2.cs | 12 +-- .../Stelem_i4/Stelem_i4.cs | 12 +-- .../Stelem_i8/Stelem_i8.cs | 12 +-- .../Stelem_r4/Stelem_r4.cs | 12 +-- .../Stelem_r8/Stelem_r8.cs | 12 +-- .../Stelem_ref/Stelem_ref.cs | 12 +-- .../Stloc_0/Stloc_0.cs | 32 +++---- .../Stloc_1/Stloc_1.cs | 32 +++---- .../Stloc_2/Stloc_2.cs | 32 +++---- .../Stloc_3/Stloc_3.cs | 32 +++---- .../Stloc_s/Stloc_s.cs | 34 ++++---- .../Stsfld/Stsfld.cs | 32 +++---- tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs | 27 +++--- .../Unbox_any/Unbox_any.cs | 4 +- tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs | 10 +-- .../GarbageCollection/GarbageCollection.cs | 2 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 10 ++- .../Interoperability/Interoperability.cs | 2 +- .../Threading/Threading.cs | 4 +- .../ValueTypes/ValueTypes.cs | 4 +- 41 files changed, 378 insertions(+), 298 deletions(-) diff --git a/il2c.sln b/il2c.sln index 5d5bebed..3fad1d64 100644 --- a/il2c.sln +++ b/il2c.sln @@ -31,11 +31,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{5710A57F EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IL2C.Runtime", "src\IL2C.Runtime\IL2C.Runtime.vcxproj", "{182A62A4-47AC-4290-8EA5-250AE8131613}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.Fixture", "tests\IL2C.Core.Test.Fixture\IL2C.Core.Test.Fixture.csproj", "{B0F1010D-8B73-46F7-AF8E-E3C58F68525F}" - ProjectSection(ProjectDependencies) = postProject - {182A62A4-47AC-4290-8EA5-250AE8131613} = {182A62A4-47AC-4290-8EA5-250AE8131613} - EndProjectSection -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Interop", "src\IL2C.Interop\IL2C.Interop.csproj", "{854E1ABE-0873-4BDC-8ABF-7F9506DD66DB}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{3EBFA913-CF51-4A28-9E4D-73CB5AE27D2F}" @@ -128,10 +123,6 @@ Global {678EFB0E-BC0A-4749-AD48-079F98D9468D}.Release|Any CPU.Build.0 = Release|Any CPU {182A62A4-47AC-4290-8EA5-250AE8131613}.Debug|Any CPU.ActiveCfg = Debug|x64 {182A62A4-47AC-4290-8EA5-250AE8131613}.Release|Any CPU.ActiveCfg = Release|x64 - {B0F1010D-8B73-46F7-AF8E-E3C58F68525F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0F1010D-8B73-46F7-AF8E-E3C58F68525F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0F1010D-8B73-46F7-AF8E-E3C58F68525F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0F1010D-8B73-46F7-AF8E-E3C58F68525F}.Release|Any CPU.Build.0 = Release|Any CPU {854E1ABE-0873-4BDC-8ABF-7F9506DD66DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {854E1ABE-0873-4BDC-8ABF-7F9506DD66DB}.Debug|Any CPU.Build.0 = Debug|Any CPU {854E1ABE-0873-4BDC-8ABF-7F9506DD66DB}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -185,7 +176,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {B0F1010D-8B73-46F7-AF8E-E3C58F68525F} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} {A6072CD1-A526-45F2-BB88-D1040AC3A7E8} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} {6811E378-50B3-4206-BB48-1E56A2F2D90E} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} {DC306000-300C-4E65-826C-2E41C6445CA9} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 46d801a2..575750a4 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -1,7 +1,7 @@  - net48;netstandard2.0 + net48;net6.0 Library False enable @@ -13,11 +13,17 @@ + + + - + + + + diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs index ea1c009c..a634ad27 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs @@ -46,7 +46,7 @@ public static int Remove_DelegateInstance(int value) // Remove only a tail delegate. // (dlg1 + dlg2 + dlg1) - dlg1 = (dlg1 + dlg2) - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlg1); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlg1); var v = value; dlg?.Invoke(ref v); @@ -66,7 +66,7 @@ public static int Remove_DelegateTarget(int value) // Remove only a tail delegate. // (dlg1 + dlg2 + dlg3[=dlg1]) - dlg1 = (dlg1 + dlg2) - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlg1); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlg1); var v = value; dlg?.Invoke(ref v); @@ -85,7 +85,7 @@ public static int Remove_DelegateMiddle(int value) dlgA += dlg3; // (dlg1 + dlg2 + dlg3) - dlg2 = (dlg1 + dlg3) - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlg2); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlg2); var v = value; dlg?.Invoke(ref v); @@ -104,7 +104,7 @@ public static int Remove_DelegateHead(int value) dlgA += dlg3; // (dlg1 + dlg2 + dlg3) - dlg1 = (dlg2 + dlg3) - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlg1); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlg1); var v = value; dlg?.Invoke(ref v); @@ -124,7 +124,7 @@ public static int Remove_NotContainsDelegate(int value) dlgA += dlg3; // (dlg1 + dlg2 + dlg3) - dlg4 = (dlg1 + dlg2 + dlg3) - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlg4); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlg4); var v = value; dlg?.Invoke(ref v); @@ -138,7 +138,7 @@ public static int Remove_FromNullToDelegate(int value) var dlg1 = new IntRefDelegate(IntRefImpl1); // null - dlg1 = null - var dlg = (IntRefDelegate)Delegate.Remove(null, dlg1); + var dlg = (IntRefDelegate?)Delegate.Remove(null, dlg1); var v = value; dlg?.Invoke(ref v); @@ -159,7 +159,7 @@ public static int Remove_ToMulticastDelegate1(int value) var dlgB = dlg1 + dlg2; // (dlg1 + dlg2 + dlg3) - (dlg1 + dlg2) = dlg3 - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlgB); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlgB); var v = value; dlg?.Invoke(ref v); @@ -180,7 +180,7 @@ public static int Remove_ToMulticastDelegate2(int value) var dlgB = dlg2 + dlg3; // (dlg1 + dlg2 + dlg3) - (dlg2 + dlg3) = dlg1 - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlgB); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlgB); var v = value; dlg?.Invoke(ref v); @@ -201,7 +201,7 @@ public static int Remove_NotContainsMulticastDelegate(int value) var dlgB = dlg2 + dlg1; // (dlg1 + dlg2 + dlg3) - (dlg2 + dlg1) = (dlg1 + dlg2 + dlg3) - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlgB); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlgB); var v = value; dlg?.Invoke(ref v); @@ -223,7 +223,7 @@ public static int Remove_EntireMatchedMulticastDelegate(int value) dlgB += dlg3; // (dlg1 + dlg2 + dlg3) - (dlg1 + dlg2 + dlg3) = null - var dlg = (IntRefDelegate)Delegate.Remove(dlgA, dlgB); + var dlg = (IntRefDelegate?)Delegate.Remove(dlgA, dlgB); var v = value; dlg?.Invoke(ref v); @@ -240,7 +240,7 @@ public static int Remove_FromNullToMulticastDelegate(int value) var dlgA = dlg1 + dlg2; // null - (dlg1 + dlg2) = null - var dlg = (IntRefDelegate)Delegate.Remove(null, dlgA); + var dlg = (IntRefDelegate?)Delegate.Remove(null, dlgA); var v = value; dlg?.Invoke(ref v); diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs index 7c357f21..24d09ec7 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format1.cs @@ -19,7 +19,7 @@ public sealed class Format11_CustomProducer public sealed class Format12_CustomProducer : IFormattable { - public string ToString(string format, IFormatProvider formatProvider) + public string ToString(string? format, IFormatProvider? formatProvider) { switch (format) { diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs index 396d0f1a..1b1388b0 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format2.cs @@ -19,7 +19,7 @@ public sealed class Format21_CustomProducer public sealed class Format22_CustomProducer : IFormattable { - public string ToString(string format, IFormatProvider formatProvider) + public string ToString(string? format, IFormatProvider? formatProvider) { switch (format) { diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs index 56457a77..8bd3af36 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format3.cs @@ -19,7 +19,7 @@ public sealed class Format31_CustomProducer public sealed class Format32_CustomProducer : IFormattable { - public string ToString(string format, IFormatProvider formatProvider) + public string ToString(string? format, IFormatProvider? formatProvider) { switch (format) { diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs index 29c374fd..625780da 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String_Format_Params.cs @@ -19,7 +19,7 @@ public sealed class Format41_CustomProducer public sealed class Format42_CustomProducer : IFormattable { - public string ToString(string format, IFormatProvider formatProvider) + public string ToString(string? format, IFormatProvider? formatProvider) { switch (format) { diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs b/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs index 8721563b..f68fe7e1 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs @@ -25,22 +25,22 @@ public static string ToString(object value) [TestCase("System.String", "FullName", "ABC")] public static string FullName(object value) { - return value.GetType().FullName; + return value.GetType().FullName!; } [TestCase("System.ValueType", "BaseType", 123)] [TestCase("System.Object", "BaseType", "ABC")] public static string BaseType(object value) { - return value.GetType().BaseType.FullName; + return value.GetType().BaseType!.FullName!; } [TestCase(null, "Object_BaseType")] - public static Type Object_BaseType() + public static Type? Object_BaseType() { // TODO: We have to handle GetTypeFromHandle. //return typeof(object).BaseType; - return 123.GetType().BaseType.BaseType.BaseType; + return 123.GetType().BaseType!.BaseType!.BaseType; } } } diff --git a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj index 04d96308..2d40c76b 100644 --- a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj +++ b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj @@ -1,7 +1,7 @@  - net48;netstandard2.0 + net48;net6.0 Library enable @@ -9,7 +9,7 @@ - + diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index c5d3df51..bee760d1 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -7,6 +7,8 @@ // //////////////////////////////////////////////////////////////////////////// +#nullable enable + using System; using System.Linq; @@ -21,7 +23,6 @@ public enum TestCaseAsserts CauseBreak } - // It's test case attribute contains expected value, method name and argument values at overall. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)] public sealed class TestCaseAttribute : NUnit.Framework.TestCaseAttribute, NUnit.Framework.ITestAction @@ -65,7 +66,8 @@ public TestCaseAttribute( public Type[] IncludeTypes { get; set; } public string[] IgnoreILErrors { get; set; } - public NUnit.Framework.ActionTargets Targets => throw new NotImplementedException(); + public NUnit.Framework.ActionTargets Targets => + NUnit.Framework.ActionTargets.Default; public void BeforeTest(ITest test) { @@ -77,5 +79,57 @@ public void AfterTest(ITest test) { // TODO: delegates to test native code. } +#if false + private static object?[] ConvertToArgumentsType(object?[] args, Type[] argumentTypes) => + args.Zip(argumentTypes, ConvertToArgumentType).ToArray(); + + private static object? ConvertToArgumentType(object? value, Type argumentType) + { + // This is helper function that convert between raw value type and argument type. + // Because .NET attribute can't have complex type arguments. + if (value == null) + { + return null; + } + else if (value.GetType() == argumentType) + { + return value; + } + else if (argumentType == typeof(IntPtr)) + { + if (value is int) + { + return new IntPtr((int)value); + } + else if (value is long) + { + return new IntPtr((long)value); + } + else + { + throw new InvalidCastException(); + } + } + else if (argumentType == typeof(UIntPtr)) + { + if (value is uint) + { + return new UIntPtr((uint)value); + } + else if (value is ulong) + { + return new UIntPtr((ulong)value); + } + else + { + throw new InvalidCastException(); + } + } + else + { + return Convert.ChangeType(value, argumentType); + } + } +#endif } } diff --git a/tests/IL2C.Core.Test.Fixture/IL2C.Core.Test.Fixture.csproj b/tests/IL2C.Core.Test.Fixture/IL2C.Core.Test.Fixture.csproj index 3385005f..b2fad96b 100644 --- a/tests/IL2C.Core.Test.Fixture/IL2C.Core.Test.Fixture.csproj +++ b/tests/IL2C.Core.Test.Fixture/IL2C.Core.Test.Fixture.csproj @@ -11,9 +11,11 @@ - - - + + @@ -24,9 +26,11 @@ + @@ -45,4 +49,12 @@ + + + + + + + + diff --git a/tests/IL2C.Core.Test.Fixture/TestUtilities.cs b/tests/IL2C.Core.Test.Fixture/TestUtilities.cs index 630d316c..673b74de 100644 --- a/tests/IL2C.Core.Test.Fixture/TestUtilities.cs +++ b/tests/IL2C.Core.Test.Fixture/TestUtilities.cs @@ -75,6 +75,8 @@ private static object ConvertToArgumentType(object value, Type argumentType) } public static IReadOnlyDictionary> ExtractTestCasesFromCoreTestTarget() => + new Dictionary>(); +#if false typeof(BasicTypes.System_Boolean).Assembly.GetTypes(). // BasicTypes Concat(typeof(ILConverters.Add).Assembly.GetTypes()). // ILConverters Concat(typeof(RuntimeSystems.ArrayTypes).Assembly.GetTypes()). // RuntimeSystems @@ -83,10 +85,11 @@ public static IReadOnlyDictionary g.Key, g => (IReadOnlyDictionary)g.ToDictionary(type => type, TestUtilities.GetTestCaseInformations)); +#endif public static TestCaseInformation CreateTestCaseInformation( string categoryName, string id, string name, string uniqueName, string description, - MethodInfo method, MethodBase[] additionalMethods, TestCaseAttribute caseAttribute) => + MethodInfo method, MethodBase[] additionalMethods, TestCaseAttributeBase caseAttribute) => new TestCaseInformation( categoryName, id, @@ -120,7 +123,7 @@ public static TestCaseInformation[] GetTestCaseInformations(Type targetType) targetType.Name; var caseInfos = - (from testCase in targetType.GetCustomAttributes(true) + (from testCase in targetType.GetCustomAttributes(true) let method = targetType.GetMethod( testCase.MethodName, BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly) // Static method only for test entry @@ -154,9 +157,9 @@ public static TestCaseInformation[] GetTestCaseInformations(Type targetType) ToArray(); return caseInfos; } - #endregion +#endregion - #region IO related +#region IO related public static readonly bool IsWindows = Environment.OSVersion.Platform == PlatformID.Win32NT; @@ -402,6 +405,6 @@ public static Task CopyResourceToTextFileAsync( return (exitCode, sb.ToString()); } } - #endregion +#endregion } } diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box.cs index 37d72b3e..7191b8ca 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box.cs @@ -31,7 +31,7 @@ public sealed class Box [TestCase("124", new[] { "Byte", "Box_Byte" }, 123)] public static string Byte(byte value) { - return Box_Byte((byte)(value + 1)).ToString(); + return Box_Byte((byte)(value + 1)).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -40,7 +40,7 @@ public static string Byte(byte value) [TestCase("12346", new[] { "Int16", "Box_Int16" }, 12345)] public static string Int16(short value) { - return Box_Int16((short)(value + 1)).ToString(); + return Box_Int16((short)(value + 1)).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -49,7 +49,7 @@ public static string Int16(short value) [TestCase("1234568", new[] { "Int32", "Box_Int32" }, 1234567)] public static string Int32(int value) { - return Box_Int32(value + 1).ToString(); + return Box_Int32(value + 1).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -58,7 +58,7 @@ public static string Int32(int value) [TestCase("12345678901235", new[] { "Int64", "Box_Int64" }, 12345678901234)] public static string Int64(long value) { - return Box_Int64(value + 1).ToString(); + return Box_Int64(value + 1).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -67,7 +67,7 @@ public static string Int64(long value) [TestCase("124", new[] { "SByte", "Box_SByte" }, 123)] public static string SByte(sbyte value) { - return Box_SByte((sbyte)(value + 1)).ToString(); + return Box_SByte((sbyte)(value + 1)).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -76,7 +76,7 @@ public static string SByte(sbyte value) [TestCase("12346", new[] { "UInt16", "Box_UInt16" }, 12345)] public static string UInt16(ushort value) { - return Box_UInt16((ushort)(value + 1)).ToString(); + return Box_UInt16((ushort)(value + 1)).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -85,7 +85,7 @@ public static string UInt16(ushort value) [TestCase("1234568", new[] { "UInt32", "Box_UInt32" }, 1234567)] public static string UInt32(uint value) { - return Box_UInt32(value + 1).ToString(); + return Box_UInt32(value + 1).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -94,7 +94,7 @@ public static string UInt32(uint value) [TestCase("12345678901235", new[] { "UInt64", "Box_UInt64" }, 12345678901234)] public static string UInt64(ulong value) { - return Box_UInt64(value + 1).ToString(); + return Box_UInt64(value + 1).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -103,7 +103,7 @@ public static string UInt64(ulong value) [TestCase("1234567", new[] { "IntPtr", "Box_IntPtr" }, 1234567)] public static string IntPtr(IntPtr value) { - return Box_IntPtr(value).ToString(); + return Box_IntPtr(value).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -112,7 +112,7 @@ public static string IntPtr(IntPtr value) [TestCase("1234567", new[] { "UIntPtr", "Box_UIntPtr" }, 1234567U)] public static string UIntPtr(UIntPtr value) { - return Box_UIntPtr(value).ToString(); + return Box_UIntPtr(value).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -121,7 +121,7 @@ public static string UIntPtr(UIntPtr value) [TestCase("123.456", new[] { "Single", "Box_Single" }, 123.456f)] public static string Single(float value) { - return Box_Single(value).ToString(); + return Box_Single(value).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -130,7 +130,7 @@ public static string Single(float value) [TestCase("123.45678901234", new[] { "Double", "Box_Double" }, 123.45678901234)] public static string Double(double value) { - return Box_Double(value).ToString(); + return Box_Double(value).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -140,7 +140,7 @@ public static string Double(double value) [TestCase("False", new[] { "Boolean", "Box_Boolean" }, false)] public static string Boolean(bool value) { - return Box_Boolean(value).ToString(); + return Box_Boolean(value).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -149,7 +149,7 @@ public static string Boolean(bool value) [TestCase("A", new[] { "Char", "Box_Char" }, 'A')] public static string Char(char value) { - return Box_Char(value).ToString(); + return Box_Char(value).ToString()!; } [MethodImpl(MethodImplOptions.ForwardRef)] @@ -168,7 +168,7 @@ public static string ValueType(int value1, string value2) v.Int32Value = value1; v.StringValue = value2; object ov = v; - return ov.ToString(); + return ov.ToString()!; } } } diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 3c49da9d..72f44484 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -1,7 +1,7 @@  - net48;netstandard2.0 + net48;net6.0 Library False enable @@ -13,11 +13,17 @@ + + + - + + + + diff --git a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs index ed981032..55df66bc 100644 --- a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs +++ b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs @@ -12,41 +12,41 @@ namespace IL2C.ILConverters { - [TestCase(288, "Int32_Int32", 12, 24)] - [TestCase(288, "Int32_IntPtr", 12, 24)] - [TestCase(288L, "Int64_Int64", 12L, 24L)] - [TestCase(288, "IntPtr_Int32", 12, 24)] - [TestCase(288, "IntPtr_IntPtr", 12, 24)] - [TestCase(123.0f * 0.45f, "Single_Single", 123.0f, 0.45f)] - [TestCase(123.0f * 0.45, "Single_Double", 123.0f, 0.45)] - [TestCase(123.0 * 0.45f, "Double_Single", 123.0, 0.45f)] - [TestCase(123.0 * 0.45, "Double_Double", 123.0, 0.45)] public sealed class Mul { + [TestCase(288, "Int32_Int32", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(288, "Int32_IntPtr", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(288L, "Int64_Int64", 12L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(288, "IntPtr_Int32", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(288, "IntPtr_IntPtr", 12, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + [TestCase(123.0f * 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); + [TestCase(123.0f * 0.45, "Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Single_Double(float lhs, double rhs); + [TestCase(123.0 * 0.45f, "Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Single(double lhs, float rhs); + [TestCase(123.0 * 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Double(double lhs, double rhs); } diff --git a/tests/IL2C.Core.Test.ILConverters/Nop/Nop.cs b/tests/IL2C.Core.Test.ILConverters/Nop/Nop.cs index 6c307bdb..04f38113 100644 --- a/tests/IL2C.Core.Test.ILConverters/Nop/Nop.cs +++ b/tests/IL2C.Core.Test.ILConverters/Nop/Nop.cs @@ -12,9 +12,9 @@ namespace IL2C.ILConverters { - [TestCase(123, "Nothing")] public sealed class Nop { + [TestCase(123, "Nothing")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Nothing(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Or/Or.cs b/tests/IL2C.Core.Test.ILConverters/Or/Or.cs index 7dd6d284..13730c08 100644 --- a/tests/IL2C.Core.Test.ILConverters/Or/Or.cs +++ b/tests/IL2C.Core.Test.ILConverters/Or/Or.cs @@ -12,25 +12,25 @@ namespace IL2C.ILConverters { - [TestCase(0x12345678 | 0x55555555, "Int32_Int32", 0x12345678, 0x55555555)] - [TestCase(0x12345678 | 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] - [TestCase(0x123456789abcdef | 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] - [TestCase(0x12345678 | 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] - [TestCase(0x12345678 | 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] public sealed class Or { + [TestCase(0x12345678 | 0x55555555, "Int32_Int32", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(0x12345678 | 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(0x123456789abcdef | 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(0x12345678 | 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(0x12345678 | 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); } diff --git a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs index 63e0e733..1a89a67a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs +++ b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs @@ -12,41 +12,41 @@ namespace IL2C.ILConverters { - [TestCase(12, "Int32_Int32", 288, 23)] - [TestCase(12, "Int32_IntPtr", 288, 23)] - [TestCase(12L, "Int64_Int64", 288L, 23L)] - [TestCase(12, "IntPtr_Int32", 288, 23)] - [TestCase(12, "IntPtr_IntPtr", 288, 23)] - [TestCase(123.0f % 0.45f, "Single_Single", 123.0f, 0.45f)] - [TestCase(123.0f % 0.45, "Single_Double", 123.0f, 0.45)] - [TestCase(123.0 % 0.45f, "Double_Single", 123.0, 0.45f)] - [TestCase(123.0 % 0.45, "Double_Double", 123.0, 0.45)] public sealed class Rem { + [TestCase(12, "Int32_Int32", 288, 23)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(12, "Int32_IntPtr", 288, 23)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(12L, "Int64_Int64", 288L, 23L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(12, "IntPtr_Int32", 288, 23)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(12, "IntPtr_IntPtr", 288, 23)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + [TestCase(123.0f % 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); + [TestCase(123.0f % 0.45, "Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Single_Double(float lhs, double rhs); + [TestCase(123.0 % 0.45f, "Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Single(double lhs, float rhs); + [TestCase(123.0 % 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Double(double lhs, double rhs); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs b/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs index 80308640..a6be1ec5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs @@ -12,29 +12,29 @@ namespace IL2C.ILConverters { - [TestCase(123, "Int32Value")] - [TestCase("ABC", "StringValue")] - [TestCase(null, "NullValue")] - [TestCase(123, new[] { "RefIntValue", "Return_RefInt" }, true)] - [TestCase(456, new[] { "RefIntValue", "Return_RefInt" }, false)] - [TestCase(null, "Void")] public sealed class Ret { + [TestCase(123, "Int32Value")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32Value(); + [TestCase("ABC", "StringValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string StringValue(); + [TestCase(null, "NullValue")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern object NullValue(); + [TestCase(123, new[] { "RefIntValue", "Return_RefInt" }, true)] [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Return_RefInt(ref int a, ref int b, bool select); + [TestCase(456, new[] { "RefIntValue", "Return_RefInt" }, false)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RefIntValue(bool select); + [TestCase(null, "Void")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Void(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem/Stelem.cs b/tests/IL2C.Core.Test.ILConverters/Stelem/Stelem.cs index df29fc7e..5b494a48 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem/Stelem.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem/Stelem.cs @@ -12,50 +12,11 @@ namespace IL2C.ILConverters { - [TestCase((byte)123, new[] { "Byte", "ByteInner" }, 0, (byte)123)] - [TestCase((byte)125, new[] { "Byte", "ByteInner" }, 1, (byte)125)] - [TestCase((byte)127, new[] { "Byte", "ByteInner" }, 2, (byte)127)] - [TestCase((byte)123, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 0, (byte)123)] - [TestCase((byte)125, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 1, (byte)125)] - [TestCase((byte)127, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 2, (byte)127)] - [TestCase((short)123, new[] { "Int16", "Int16Inner" }, 0, (short)123)] - [TestCase((short)456, new[] { "Int16", "Int16Inner" }, 1, (short)456)] - [TestCase((short)789, new[] { "Int16", "Int16Inner" }, 2, (short)789)] - [TestCase((short)123, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 0, (short)123)] - [TestCase((short)456, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 1, (short)456)] - [TestCase((short)789, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 2, (short)789)] - [TestCase(123, new[] { "Int32", "Int32Inner" }, 0, 123)] - [TestCase(456, new[] { "Int32", "Int32Inner" }, 1, 456)] - [TestCase(789, new[] { "Int32", "Int32Inner" }, 2, 789)] - [TestCase(123, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 0, 123)] - [TestCase(456, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 1, 456)] - [TestCase(789, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 2, 789)] - [TestCase(123L, new[] { "Int64", "Int64Inner" }, 0, 123L)] - [TestCase(456L, new[] { "Int64", "Int64Inner" }, 1, 456L)] - [TestCase(789L, new[] { "Int64", "Int64Inner" }, 2, 789L)] - [TestCase(123L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 0, 123L)] - [TestCase(456L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 1, 456L)] - [TestCase(789L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 2, 789L)] - [TestCase(123f, new[] { "Single", "SingleInner" }, 0, 123f)] - [TestCase(456f, new[] { "Single", "SingleInner" }, 1, 456f)] - [TestCase(789f, new[] { "Single", "SingleInner" }, 2, 789f)] - [TestCase(123f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 0, 123f)] - [TestCase(456f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 1, 456f)] - [TestCase(789f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 2, 789f)] - [TestCase(123.111, new[] { "Double", "DoubleInner" }, 0, 123.111)] - [TestCase(456.222, new[] { "Double", "DoubleInner" }, 1, 456.222)] - [TestCase(789.333, new[] { "Double", "DoubleInner" }, 2, 789.333)] - [TestCase(123.111, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 0, 123.111)] - [TestCase(456.222, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 1, 456.222)] - [TestCase(789.333, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 2, 789.333)] - [TestCase("123", new[] { "Object", "ObjectInner" }, 0, "123")] - [TestCase("456", new[] { "Object", "ObjectInner" }, 1, "456")] - [TestCase("789", new[] { "Object", "ObjectInner" }, 2, "789")] - [TestCase("123", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 0, "123")] - [TestCase("456", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 1, "456")] - [TestCase("789", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 2, "789")] public sealed class Stelem { + [TestCase((byte)123, new[] { "Byte", "ByteInner" }, 0, (byte)123)] + [TestCase((byte)125, new[] { "Byte", "ByteInner" }, 1, (byte)125)] + [TestCase((byte)127, new[] { "Byte", "ByteInner" }, 2, (byte)127)] public static byte Byte(int index, byte value) { var values = new byte[] { 1, 2, 3 }; @@ -66,6 +27,9 @@ public static byte Byte(int index, byte value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void ByteInner(byte[] values, int index, byte value); + [TestCase((byte)123, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 0, (byte)123)] + [TestCase((byte)125, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 1, (byte)125)] + [TestCase((byte)127, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 2, (byte)127)] public static byte ByteIntPtrIndex(int index, byte value) { var values = new byte[] { 1, 2, 3 }; @@ -78,6 +42,9 @@ public static byte ByteIntPtrIndex(int index, byte value) ////////////////////////////////////////////////////////////////////// + [TestCase((short)123, new[] { "Int16", "Int16Inner" }, 0, (short)123)] + [TestCase((short)456, new[] { "Int16", "Int16Inner" }, 1, (short)456)] + [TestCase((short)789, new[] { "Int16", "Int16Inner" }, 2, (short)789)] public static short Int16(int index, short value) { var values = new short[] { 1, 2, 3 }; @@ -88,6 +55,9 @@ public static short Int16(int index, short value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Int16Inner(short[] values, int index, short value); + [TestCase((short)123, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 0, (short)123)] + [TestCase((short)456, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 1, (short)456)] + [TestCase((short)789, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 2, (short)789)] public static short Int16IntPtrIndex(int index, short value) { var values = new short[] { 1, 2, 3 }; @@ -100,6 +70,9 @@ public static short Int16IntPtrIndex(int index, short value) ////////////////////////////////////////////////////////////////////// + [TestCase(123, new[] { "Int32", "Int32Inner" }, 0, 123)] + [TestCase(456, new[] { "Int32", "Int32Inner" }, 1, 456)] + [TestCase(789, new[] { "Int32", "Int32Inner" }, 2, 789)] public static int Int32(int index, int value) { var values = new[] { 1, 2, 3 }; @@ -110,6 +83,9 @@ public static int Int32(int index, int value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Int32Inner(int[] values, int index, int value); + [TestCase(123, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 0, 123)] + [TestCase(456, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 1, 456)] + [TestCase(789, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 2, 789)] public static int Int32IntPtrIndex(int index, int value) { var values = new[] { 1, 2, 3 }; @@ -122,6 +98,9 @@ public static int Int32IntPtrIndex(int index, int value) ////////////////////////////////////////////////////////////////////// + [TestCase(123L, new[] { "Int64", "Int64Inner" }, 0, 123L)] + [TestCase(456L, new[] { "Int64", "Int64Inner" }, 1, 456L)] + [TestCase(789L, new[] { "Int64", "Int64Inner" }, 2, 789L)] public static long Int64(int index, long value) { var values = new long[] { 1, 2, 3 }; @@ -132,6 +111,9 @@ public static long Int64(int index, long value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Int64Inner(long[] values, int index, long value); + [TestCase(123L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 0, 123L)] + [TestCase(456L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 1, 456L)] + [TestCase(789L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 2, 789L)] public static long Int64IntPtrIndex(int index, long value) { var values = new long[] { 1, 2, 3 }; @@ -144,6 +126,9 @@ public static long Int64IntPtrIndex(int index, long value) ////////////////////////////////////////////////////////////////////// + [TestCase(123f, new[] { "Single", "SingleInner" }, 0, 123f)] + [TestCase(456f, new[] { "Single", "SingleInner" }, 1, 456f)] + [TestCase(789f, new[] { "Single", "SingleInner" }, 2, 789f)] public static float Single(int index, float value) { var values = new[] { 1f, 2f, 3f }; @@ -154,6 +139,9 @@ public static float Single(int index, float value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void SingleInner(float[] values, int index, float value); + [TestCase(123f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 0, 123f)] + [TestCase(456f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 1, 456f)] + [TestCase(789f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 2, 789f)] public static float SingleIntPtrIndex(int index, float value) { var values = new[] { 1f, 2f, 3f }; @@ -166,6 +154,9 @@ public static float SingleIntPtrIndex(int index, float value) ////////////////////////////////////////////////////////////////////// + [TestCase(123.111, new[] { "Double", "DoubleInner" }, 0, 123.111)] + [TestCase(456.222, new[] { "Double", "DoubleInner" }, 1, 456.222)] + [TestCase(789.333, new[] { "Double", "DoubleInner" }, 2, 789.333)] public static double Double(int index, double value) { var values = new double[] { 1, 2, 3 }; @@ -176,6 +167,9 @@ public static double Double(int index, double value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void DoubleInner(double[] values, int index, double value); + [TestCase(123.111, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 0, 123.111)] + [TestCase(456.222, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 1, 456.222)] + [TestCase(789.333, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 2, 789.333)] public static double DoubleIntPtrIndex(int index, double value) { var values = new double[] { 1, 2, 3 }; @@ -188,6 +182,9 @@ public static double DoubleIntPtrIndex(int index, double value) ////////////////////////////////////////////////////////////////////// + [TestCase("123", new[] { "Object", "ObjectInner" }, 0, "123")] + [TestCase("456", new[] { "Object", "ObjectInner" }, 1, "456")] + [TestCase("789", new[] { "Object", "ObjectInner" }, 2, "789")] public static string Object(int index, string value) { var values = new[] { "1", "2", "3" }; @@ -198,6 +195,9 @@ public static string Object(int index, string value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void ObjectInner(string[] values, int index, string value); + [TestCase("123", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 0, "123")] + [TestCase("456", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 1, "456")] + [TestCase("789", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 2, "789")] public static string ObjectIntPtrIndex(int index, string value) { var values = new[] { "1", "2", "3" }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_i1/Stelem_i1.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_i1/Stelem_i1.cs index a4728600..f8324eb4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_i1/Stelem_i1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_i1/Stelem_i1.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase((byte)123, new[] { "Byte", "ByteInner" }, 0, (byte)123)] - [TestCase((byte)125, new[] { "Byte", "ByteInner" }, 1, (byte)125)] - [TestCase((byte)127, new[] { "Byte", "ByteInner" }, 2, (byte)127)] - [TestCase((byte)123, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 0, (byte)123)] - [TestCase((byte)125, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 1, (byte)125)] - [TestCase((byte)127, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 2, (byte)127)] public sealed class Stelem_i1 { + [TestCase((byte)123, new[] { "Byte", "ByteInner" }, 0, (byte)123)] + [TestCase((byte)125, new[] { "Byte", "ByteInner" }, 1, (byte)125)] + [TestCase((byte)127, new[] { "Byte", "ByteInner" }, 2, (byte)127)] public static byte Byte(int index, byte value) { var values = new byte[] { 1, 2, 3 }; @@ -30,6 +27,9 @@ public static byte Byte(int index, byte value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void ByteInner(byte[] values, int index, byte value); + [TestCase((byte)123, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 0, (byte)123)] + [TestCase((byte)125, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 1, (byte)125)] + [TestCase((byte)127, new[] { "ByteIntPtrIndex", "ByteIntPtrIndexInner" }, 2, (byte)127)] public static byte ByteIntPtrIndex(int index, byte value) { var values = new byte[] { 1, 2, 3 }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_i2/Stelem_i2.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_i2/Stelem_i2.cs index 42013e94..87d610ec 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_i2/Stelem_i2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_i2/Stelem_i2.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase((short)123, new[] { "Int16", "Int16Inner" }, 0, (short)123)] - [TestCase((short)456, new[] { "Int16", "Int16Inner" }, 1, (short)456)] - [TestCase((short)789, new[] { "Int16", "Int16Inner" }, 2, (short)789)] - [TestCase((short)123, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 0, (short)123)] - [TestCase((short)456, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 1, (short)456)] - [TestCase((short)789, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 2, (short)789)] public sealed class Stelem_i2 { + [TestCase((short)123, new[] { "Int16", "Int16Inner" }, 0, (short)123)] + [TestCase((short)456, new[] { "Int16", "Int16Inner" }, 1, (short)456)] + [TestCase((short)789, new[] { "Int16", "Int16Inner" }, 2, (short)789)] public static short Int16(int index, short value) { var values = new short[] { 1, 2, 3 }; @@ -30,6 +27,9 @@ public static short Int16(int index, short value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Int16Inner(short[] values, int index, short value); + [TestCase((short)123, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 0, (short)123)] + [TestCase((short)456, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 1, (short)456)] + [TestCase((short)789, new[] { "Int16IntPtrIndex", "Int16IntPtrIndexInner" }, 2, (short)789)] public static short Int16IntPtrIndex(int index, short value) { var values = new short[] { 1, 2, 3 }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_i4/Stelem_i4.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_i4/Stelem_i4.cs index b8f00935..b7846173 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_i4/Stelem_i4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_i4/Stelem_i4.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase(123, new[] { "Int32", "Int32Inner" }, 0, 123)] - [TestCase(456, new[] { "Int32", "Int32Inner" }, 1, 456)] - [TestCase(789, new[] { "Int32", "Int32Inner" }, 2, 789)] - [TestCase(123, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 0, 123)] - [TestCase(456, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 1, 456)] - [TestCase(789, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 2, 789)] public sealed class Stelem_i4 { + [TestCase(123, new[] { "Int32", "Int32Inner" }, 0, 123)] + [TestCase(456, new[] { "Int32", "Int32Inner" }, 1, 456)] + [TestCase(789, new[] { "Int32", "Int32Inner" }, 2, 789)] public static int Int32(int index, int value) { var values = new[] { 1, 2, 3 }; @@ -30,6 +27,9 @@ public static int Int32(int index, int value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Int32Inner(int[] values, int index, int value); + [TestCase(123, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 0, 123)] + [TestCase(456, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 1, 456)] + [TestCase(789, new[] { "Int32IntPtrIndex", "Int32IntPtrIndexInner" }, 2, 789)] public static int Int32IntPtrIndex(int index, int value) { var values = new[] { 1, 2, 3 }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_i8/Stelem_i8.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_i8/Stelem_i8.cs index 77262e13..b9415ddb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_i8/Stelem_i8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_i8/Stelem_i8.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase(123L, new[] { "Int64", "Int64Inner" }, 0, 123L)] - [TestCase(456L, new[] { "Int64", "Int64Inner" }, 1, 456L)] - [TestCase(789L, new[] { "Int64", "Int64Inner" }, 2, 789L)] - [TestCase(123L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 0, 123L)] - [TestCase(456L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 1, 456L)] - [TestCase(789L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 2, 789L)] public sealed class Stelem_i8 { + [TestCase(123L, new[] { "Int64", "Int64Inner" }, 0, 123L)] + [TestCase(456L, new[] { "Int64", "Int64Inner" }, 1, 456L)] + [TestCase(789L, new[] { "Int64", "Int64Inner" }, 2, 789L)] public static long Int64(int index, long value) { var values = new long[] { 1, 2, 3 }; @@ -30,6 +27,9 @@ public static long Int64(int index, long value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void Int64Inner(long[] values, int index, long value); + [TestCase(123L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 0, 123L)] + [TestCase(456L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 1, 456L)] + [TestCase(789L, new[] { "Int64IntPtrIndex", "Int64IntPtrIndexInner" }, 2, 789L)] public static long Int64IntPtrIndex(int index, long value) { var values = new long[] { 1, 2, 3 }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_r4/Stelem_r4.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_r4/Stelem_r4.cs index 18ac6947..4538b387 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_r4/Stelem_r4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_r4/Stelem_r4.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase(123f, new[] { "Single", "SingleInner" }, 0, 123f)] - [TestCase(456f, new[] { "Single", "SingleInner" }, 1, 456f)] - [TestCase(789f, new[] { "Single", "SingleInner" }, 2, 789f)] - [TestCase(123f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 0, 123f)] - [TestCase(456f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 1, 456f)] - [TestCase(789f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 2, 789f)] public sealed class Stelem_r4 { + [TestCase(123f, new[] { "Single", "SingleInner" }, 0, 123f)] + [TestCase(456f, new[] { "Single", "SingleInner" }, 1, 456f)] + [TestCase(789f, new[] { "Single", "SingleInner" }, 2, 789f)] public static float Single(int index, float value) { var values = new[] { 1f, 2f, 3f }; @@ -30,6 +27,9 @@ public static float Single(int index, float value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void SingleInner(float[] values, int index, float value); + [TestCase(123f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 0, 123f)] + [TestCase(456f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 1, 456f)] + [TestCase(789f, new[] { "SingleIntPtrIndex", "SingleIntPtrIndexInner" }, 2, 789f)] public static float SingleIntPtrIndex(int index, float value) { var values = new[] { 1f, 2f, 3f }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_r8/Stelem_r8.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_r8/Stelem_r8.cs index 6b769b8d..955ed7dc 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_r8/Stelem_r8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_r8/Stelem_r8.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase(123.111, new[] { "Double", "DoubleInner" }, 0, 123.111)] - [TestCase(456.222, new[] { "Double", "DoubleInner" }, 1, 456.222)] - [TestCase(789.333, new[] { "Double", "DoubleInner" }, 2, 789.333)] - [TestCase(123.111, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 0, 123.111)] - [TestCase(456.222, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 1, 456.222)] - [TestCase(789.333, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 2, 789.333)] public sealed class Stelem_r8 { + [TestCase(123.111, new[] { "Double", "DoubleInner" }, 0, 123.111)] + [TestCase(456.222, new[] { "Double", "DoubleInner" }, 1, 456.222)] + [TestCase(789.333, new[] { "Double", "DoubleInner" }, 2, 789.333)] public static double Double(int index, double value) { var values = new double[] { 1, 2, 3 }; @@ -30,6 +27,9 @@ public static double Double(int index, double value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void DoubleInner(double[] values, int index, double value); + [TestCase(123.111, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 0, 123.111)] + [TestCase(456.222, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 1, 456.222)] + [TestCase(789.333, new[] { "DoubleIntPtrIndex", "DoubleIntPtrIndexInner" }, 2, 789.333)] public static double DoubleIntPtrIndex(int index, double value) { var values = new double[] { 1, 2, 3 }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stelem_ref/Stelem_ref.cs b/tests/IL2C.Core.Test.ILConverters/Stelem_ref/Stelem_ref.cs index a8c85c9e..4da3f66c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stelem_ref/Stelem_ref.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stelem_ref/Stelem_ref.cs @@ -12,14 +12,11 @@ namespace IL2C.ILConverters { - [TestCase("123", new[] { "Object", "ObjectInner" }, 0, "123")] - [TestCase("456", new[] { "Object", "ObjectInner" }, 1, "456")] - [TestCase("789", new[] { "Object", "ObjectInner" }, 2, "789")] - [TestCase("123", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 0, "123")] - [TestCase("456", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 1, "456")] - [TestCase("789", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 2, "789")] public sealed class Stelem_ref { + [TestCase("123", new[] { "Object", "ObjectInner" }, 0, "123")] + [TestCase("456", new[] { "Object", "ObjectInner" }, 1, "456")] + [TestCase("789", new[] { "Object", "ObjectInner" }, 2, "789")] public static string Object(int index, string value) { var values = new[] { "1", "2", "3" }; @@ -30,6 +27,9 @@ public static string Object(int index, string value) [MethodImpl(MethodImplOptions.ForwardRef)] public static extern void ObjectInner(string[] values, int index, string value); + [TestCase("123", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 0, "123")] + [TestCase("456", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 1, "456")] + [TestCase("789", new[] { "ObjectIntPtrIndex", "ObjectIntPtrIndexInner" }, 2, "789")] public static string ObjectIntPtrIndex(int index, string value) { var values = new[] { "1", "2", "3" }; diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs index 66631641..7ded4f83 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Stloc_0 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs index 9d1585f9..a6b81b69 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Stloc_1 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs index e43373b6..f88ebfab 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Stloc_2 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs index 2e29578c..9cdaf0a7 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs @@ -12,69 +12,69 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] public sealed class Stloc_3 { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs index 7ce9e9c1..b9617b9f 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs @@ -12,73 +12,73 @@ namespace IL2C.ILConverters { - [TestCase(true, "True")] - [TestCase(false, "False")] - [TestCase(byte.MaxValue, "Byte")] - [TestCase(short.MaxValue, "Int16")] - [TestCase(int.MaxValue, "Int32")] - [TestCase(long.MaxValue, "Int64")] - [TestCase(sbyte.MaxValue, "SByte")] - [TestCase(ushort.MaxValue, "UInt16")] - [TestCase(uint.MaxValue, "UInt32")] - [TestCase(ulong.MaxValue, "UInt64")] - [TestCase(int.MaxValue, "IntPtr")] - [TestCase(uint.MaxValue, "UIntPtr")] - [TestCase(3.14159274f, "Single")] - [TestCase(3.1415926535897931, "Double")] - [TestCase('A', "Char")] - [TestCase("ABC", "String")] - [TestCase("ABC", "LocalVariable_255")] public sealed class Stloc_s { + [TestCase(true, "True")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool True(); + [TestCase(false, "False")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool False(); + [TestCase(byte.MaxValue, "Byte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(); + [TestCase(short.MaxValue, "Int16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(); + [TestCase(int.MaxValue, "Int32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(); + [TestCase(long.MaxValue, "Int64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(); + [TestCase(sbyte.MaxValue, "SByte")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(); + [TestCase(ushort.MaxValue, "UInt16")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(); + [TestCase(uint.MaxValue, "UInt32")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(); + [TestCase(ulong.MaxValue, "UInt64")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [TestCase(int.MaxValue, "IntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(); + [TestCase(uint.MaxValue, "UIntPtr")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(); + [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(); + [TestCase(3.1415926535897931, "Double")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(); + [TestCase('A', "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(); + [TestCase("ABC", "String")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(); + [TestCase("ABC", "LocalVariable_255")] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string LocalVariable_255(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs index cd698a3e..7e59dd01 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs @@ -31,66 +31,66 @@ public static class Stsfld_Field public static string? StringValue; } - [TestCase(true, "Boolean", true, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(false, "Boolean", false, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(byte.MaxValue, "Byte", byte.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(short.MaxValue, "Int16", short.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(int.MaxValue, "Int32", int.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(long.MaxValue, "Int64", long.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(sbyte.MaxValue, "SByte", sbyte.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(ushort.MaxValue, "UInt16", ushort.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(uint.MaxValue, "UInt32", uint.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(ulong.MaxValue, "UInt64", ulong.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(int.MaxValue, "IntPtr", int.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(uint.MaxValue, "UIntPtr", uint.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(3.14159274f, "Single", 3.14159274f, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase(3.1415926535897931, "Double", 3.1415926535897931, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase('A', "Char", 'A', IncludeTypes = new[] { typeof(Stsfld_Field) })] - [TestCase("ABC", "String", "ABC", IncludeTypes = new[] { typeof(Stsfld_Field) })] public sealed class Stsfld { + [TestCase(true, "Boolean", true, IncludeTypes = new[] { typeof(Stsfld_Field) })] + [TestCase(false, "Boolean", false, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool Boolean(bool value); + [TestCase(byte.MaxValue, "Byte", byte.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Byte(byte value); + [TestCase(short.MaxValue, "Int16", short.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int16(short value); + [TestCase(int.MaxValue, "Int32", int.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32(int value); + [TestCase(long.MaxValue, "Int64", long.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(long value); + [TestCase(sbyte.MaxValue, "SByte", sbyte.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte SByte(sbyte value); + [TestCase(ushort.MaxValue, "UInt16", ushort.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt16(ushort value); + [TestCase(uint.MaxValue, "UInt32", uint.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt32(uint value); + [TestCase(ulong.MaxValue, "UInt64", ulong.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(ulong value); + [TestCase(int.MaxValue, "IntPtr", int.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr(IntPtr value); + [TestCase(uint.MaxValue, "UIntPtr", uint.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtr(UIntPtr value); + [TestCase(3.14159274f, "Single", 3.14159274f, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single(float value); + [TestCase(3.1415926535897931, "Double", 3.1415926535897931, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double(double value); + [TestCase('A', "Char", 'A', IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern char Char(char value); + [TestCase("ABC", "String", "ABC", IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string String(string value); } diff --git a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs index 88203dd0..84effa2e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs +++ b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs @@ -12,57 +12,60 @@ namespace IL2C.ILConverters { - [TestCase(12, "Int32_Int32", 36, 24)] - [TestCase(12, "Int32_IntPtr", 36, 24)] - [TestCase(12L, "Int64_Int64", 36L, 24L)] - [TestCase(12, "IntPtr_Int32", 36, 24)] - [TestCase(12, "IntPtr_IntPtr", 36, 24)] - [TestCase(123.0f - 0.45f, "Single_Single", 123.0f, 0.45f)] - [TestCase(123.0f - 0.45, "Single_Double", 123.0f, 0.45)] - [TestCase(123.0 - 0.45f, "Double_Single", 123.0, 0.45f)] - [TestCase(123.0 - 0.45, "Double_Double", 123.0, 0.45)] - [TestCase(123, new[] { "IntRef_Int32", "Sub_IntRef_Int32" }, 123)] - [TestCase(123, new[] { "IntRef_IntPtr", "Sub_IntRef_IntPtr" }, 123)] - //[Case(123, new[] { "IntRef_IntRef", "Add_IntRef_IntRef" }, 123)] // TODO: will implement become from Ldelema. public sealed class Sub { + [TestCase(12, "Int32_Int32", 36, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(12, "Int32_IntPtr", 36, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(12L, "Int64_Int64", 36L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(12, "IntPtr_Int32", 36, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(12, "IntPtr_IntPtr", 36, 24)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + [TestCase(123.0f - 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); + [TestCase(123.0f - 0.45, "Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Single_Double(float lhs, double rhs); + [TestCase(123.0 - 0.45f, "Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Single(double lhs, float rhs); + [TestCase(123.0 - 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Double_Double(double lhs, double rhs); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Sub_IntRef_Int32(ref int lhs, int rhs); + [TestCase(123, new[] { "IntRef_Int32", "Sub_IntRef_Int32" }, 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int IntRef_Int32(int value); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Sub_IntRef_IntPtr(ref int lhs, IntPtr rhs); + [TestCase(123, new[] { "IntRef_IntPtr", "Sub_IntRef_IntPtr" }, 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int IntRef_IntPtr(int value); + + //[Case(123, new[] { "IntRef_IntRef", "Sub_IntRef_IntRef" }, 123)] // TODO: will implement become from Ldelema. + //[MethodImpl(MethodImplOptions.ForwardRef)] + //public static extern int IntRef_IntRef(int value); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Unbox_any/Unbox_any.cs b/tests/IL2C.Core.Test.ILConverters/Unbox_any/Unbox_any.cs index 2f42bda9..970af387 100644 --- a/tests/IL2C.Core.Test.ILConverters/Unbox_any/Unbox_any.cs +++ b/tests/IL2C.Core.Test.ILConverters/Unbox_any/Unbox_any.cs @@ -12,13 +12,12 @@ namespace IL2C.ILConverters { - [TestCase(true, new[] { "Int32", "Unbox_Int32" }, 123)] - [TestCase(124, "FromValueType", 123)] public sealed class Unbox_any { [MethodImpl(MethodImplOptions.ForwardRef)] private static extern int Unbox_Int32(object value); + [TestCase(true, new[] { "Int32", "Unbox_Int32" }, 123)] public static bool Int32(object value) { var ub = Unbox_Int32(value); @@ -26,6 +25,7 @@ public static bool Int32(object value) } // https://github.com/kekyo/IL2C/issues/37 + [TestCase(124, "FromValueType", 123)] public static int FromValueType(int value) { ValueType v = value + 1; // boxed diff --git a/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs b/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs index 1595b1d6..c3d9c19d 100644 --- a/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs +++ b/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs @@ -12,25 +12,25 @@ namespace IL2C.ILConverters { - [TestCase(0x12345678 ^ 0x55555555, "Int32_Int32", 0x12345678, 0x55555555)] - [TestCase(0x12345678 ^ 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] - [TestCase(0x123456789abcdef ^ 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] - [TestCase(0x12345678 ^ 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] - [TestCase(0x12345678 ^ 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] public sealed class Xor { + [TestCase(0x12345678 ^ 0x55555555, "Int32_Int32", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [TestCase(0x12345678 ^ 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + [TestCase(0x123456789abcdef ^ 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [TestCase(0x12345678 ^ 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + [TestCase(0x12345678 ^ 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs index e3f27e0e..4f0b6810 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs @@ -94,7 +94,7 @@ public FinalzerImplementedWithPinned(FinalizerCalleeHolder holder) ~FinalzerImplementedWithPinned() { - var holder = (FinalizerCalleeHolder)(handle.Target); + var holder = (FinalizerCalleeHolder)(handle.Target!); holder.Called = 1; } } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index a4f5c1f0..5a28af17 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -1,7 +1,7 @@  - net48;netstandard2.0 + net48;net6.0 Library False enable @@ -13,11 +13,17 @@ + + + - + + + + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 47418dcf..f1dfeb1c 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -72,7 +72,7 @@ public static string BypassObjRefWithObjRefHandle(string a, string b) { var objRefHandle = ConcatAndToObjRefHandle(a, b); var handle = GCHandle.FromIntPtr(objRefHandle); - var result = (string)handle.Target; + var result = (string)handle.Target!; handle.Free(); return result; } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs b/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs index 64f674ad..44cc397c 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs @@ -42,10 +42,10 @@ public RunAndFinishClosureWithParameter(int a) this.a = a; } - public void Run(object parameter) + public void Run(object? parameter) { Thread.Sleep(100); - var b = (int)parameter; + var b = (int)parameter!; this.Result = this.a + b; } } diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs b/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs index 2280fa74..e114043b 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs @@ -250,7 +250,7 @@ public static string CallOverrideMethodBoxed(int value) { // implicitly boxed object v = new ValueTypeWithOverridedVirtual2(value); - return v.ToString(); + return v.ToString()!; } public static string CallOverrideMethodBoxedInterface(int value) @@ -263,7 +263,7 @@ public static string CallOverrideMethodBoxedInterface(int value) public static string CallInheritedMethod() { var v = new ValueTypeInheritedMethod(); - return v.ToString(); + return v.ToString()!; } public static int ValueTypeUpdate1(int before, int update) From 31a363b6ff545967d0149eb0fcfd2970578f2e48 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 21 May 2022 21:35:29 +0900 Subject: [PATCH 013/144] Updated RuntimeSystems [a-e]. --- .../ArrayTypes/ArrayTypes.cs | 86 +++++++++---------- .../DelegateTypes/CSharpEvent.cs | 4 +- .../DelegateTypes/DelegateTypes.cs | 11 ++- .../DelegateTypes/DelegateTypesWIthVirtual.cs | 6 +- .../DelegateTypes/MulticastDelegateTypes.cs | 10 +-- .../EnumTypes/EnumTypes.cs | 36 ++++---- .../ExceptionHandling/ExceptionHandling.cs | 62 ++++++------- .../ArrayIndexOutOfRangeExceptions.cs | 16 ++-- .../InvalidCastExceptions.cs | 38 ++++---- .../NullReferenceExceptions.cs | 12 +-- 10 files changed, 140 insertions(+), 141 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ArrayTypes/ArrayTypes.cs b/tests/IL2C.Core.Test.RuntimeSystems/ArrayTypes/ArrayTypes.cs index e4fb96df..b3480372 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ArrayTypes/ArrayTypes.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ArrayTypes/ArrayTypes.cs @@ -14,51 +14,11 @@ namespace IL2C.RuntimeSystems { [Description("Array type generates on the runtime. Example: System.Int32[] isn't declared anything assembly. These tests are verified the IL2C can handle runtime array types and initialize array items from resources.")] - [TestCase(1111111, "FromInt32", 0)] - [TestCase(2222222, "FromInt32", 1)] - [TestCase(3333333, "FromInt32", 2)] - [TestCase(11, "FromByteResource", 0)] - [TestCase(22, "FromByteResource", 1)] - [TestCase(33, "FromByteResource", 2)] - [TestCase(1111, "FromInt16Resource", 0)] - [TestCase(-2222, "FromInt16Resource", 1)] - [TestCase(3333, "FromInt16Resource", 2)] - [TestCase(1111111, "FromInt32Resource", 0)] - [TestCase(-2222222, "FromInt32Resource", 1)] - [TestCase(3333333, "FromInt32Resource", 2)] - [TestCase(11111111111111, "FromInt64Resource", 0)] - [TestCase(-22222222222222, "FromInt64Resource", 1)] - [TestCase(33333333333333, "FromInt64Resource", 2)] - [TestCase(11, "FromSByteResource", 0)] - [TestCase(-22, "FromSByteResource", 1)] - [TestCase(33, "FromSByteResource", 2)] - [TestCase(11111, "FromUInt16Resource", 0)] - [TestCase(22222, "FromUInt16Resource", 1)] - [TestCase(33333, "FromUInt16Resource", 2)] - [TestCase(1111111, "FromUInt32Resource", 0)] - [TestCase(2222222, "FromUInt32Resource", 1)] - [TestCase(3333333, "FromUInt32Resource", 2)] - [TestCase(11111111111111, "FromUInt64Resource", 0)] - [TestCase(22222222222222, "FromUInt64Resource", 1)] - [TestCase(33333333333333, "FromUInt64Resource", 2)] - [TestCase(111.2222f, "FromSingleResource", 0)] - [TestCase(-333.4444f, "FromSingleResource", 1)] - [TestCase(555.6666f, "FromSingleResource", 2)] - [TestCase(111.2222, "FromDoubleResource", 0)] - [TestCase(-333.4444, "FromDoubleResource", 1)] - [TestCase(555.6666, "FromDoubleResource", 2)] - [TestCase('A', "FromCharResource", 0)] - [TestCase('B', "FromCharResource", 1)] - [TestCase('C', "FromCharResource", 2)] - [TestCase(1, "FromString", 0)] - [TestCase(22, "FromString", 1)] - [TestCase(333, "FromString", 2)] - [TestCase(0, "Length", 0)] - [TestCase(1, "Length", 1)] - [TestCase(1000, "Length", 1000)] - [TestCase(55, "Enumerator")] public sealed class ArrayTypes { + [TestCase(1111111, "FromInt32", 0)] + [TestCase(2222222, "FromInt32", 1)] + [TestCase(3333333, "FromInt32", 2)] public static int FromInt32(int index) { var arr = new int[3]; @@ -69,6 +29,9 @@ public static int FromInt32(int index) return arr[index]; } + [TestCase(11, "FromByteResource", 0)] + [TestCase(22, "FromByteResource", 1)] + [TestCase(33, "FromByteResource", 2)] public static byte FromByteResource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -77,6 +40,9 @@ public static byte FromByteResource(int index) return arr[index]; } + [TestCase(1111, "FromInt16Resource", 0)] + [TestCase(-2222, "FromInt16Resource", 1)] + [TestCase(3333, "FromInt16Resource", 2)] public static short FromInt16Resource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -85,6 +51,9 @@ public static short FromInt16Resource(int index) return arr[index]; } + [TestCase(1111111, "FromInt32Resource", 0)] + [TestCase(-2222222, "FromInt32Resource", 1)] + [TestCase(3333333, "FromInt32Resource", 2)] public static int FromInt32Resource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -93,6 +62,9 @@ public static int FromInt32Resource(int index) return arr[index]; } + [TestCase(11111111111111, "FromInt64Resource", 0)] + [TestCase(-22222222222222, "FromInt64Resource", 1)] + [TestCase(33333333333333, "FromInt64Resource", 2)] public static long FromInt64Resource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -101,6 +73,9 @@ public static long FromInt64Resource(int index) return arr[index]; } + [TestCase(11, "FromSByteResource", 0)] + [TestCase(-22, "FromSByteResource", 1)] + [TestCase(33, "FromSByteResource", 2)] public static sbyte FromSByteResource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -109,6 +84,9 @@ public static sbyte FromSByteResource(int index) return arr[index]; } + [TestCase(11111, "FromUInt16Resource", 0)] + [TestCase(22222, "FromUInt16Resource", 1)] + [TestCase(33333, "FromUInt16Resource", 2)] public static ushort FromUInt16Resource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -117,6 +95,9 @@ public static ushort FromUInt16Resource(int index) return arr[index]; } + [TestCase(1111111, "FromUInt32Resource", 0)] + [TestCase(2222222, "FromUInt32Resource", 1)] + [TestCase(3333333, "FromUInt32Resource", 2)] public static uint FromUInt32Resource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -125,6 +106,9 @@ public static uint FromUInt32Resource(int index) return arr[index]; } + [TestCase(11111111111111, "FromUInt64Resource", 0)] + [TestCase(22222222222222, "FromUInt64Resource", 1)] + [TestCase(33333333333333, "FromUInt64Resource", 2)] public static ulong FromUInt64Resource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -133,6 +117,9 @@ public static ulong FromUInt64Resource(int index) return arr[index]; } + [TestCase(111.2222f, "FromSingleResource", 0)] + [TestCase(-333.4444f, "FromSingleResource", 1)] + [TestCase(555.6666f, "FromSingleResource", 2)] public static float FromSingleResource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -141,6 +128,9 @@ public static float FromSingleResource(int index) return arr[index]; } + [TestCase(111.2222, "FromDoubleResource", 0)] + [TestCase(-333.4444, "FromDoubleResource", 1)] + [TestCase(555.6666, "FromDoubleResource", 2)] public static double FromDoubleResource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -149,6 +139,9 @@ public static double FromDoubleResource(int index) return arr[index]; } + [TestCase('A', "FromCharResource", 0)] + [TestCase('B', "FromCharResource", 1)] + [TestCase('C', "FromCharResource", 2)] public static char FromCharResource(int index) { // This expression invokes to System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(). @@ -157,6 +150,9 @@ public static char FromCharResource(int index) return arr[index]; } + [TestCase(1, "FromString", 0)] + [TestCase(22, "FromString", 1)] + [TestCase(333, "FromString", 2)] public static int FromString(int index) { // Not use InitializeArray() @@ -165,6 +161,9 @@ public static int FromString(int index) return r; } + [TestCase(0, "Length", 0)] + [TestCase(1, "Length", 1)] + [TestCase(1000, "Length", 1000)] public static int Length(int length) { var arr = new int[length]; @@ -172,6 +171,7 @@ public static int Length(int length) return arr.Length; } + [TestCase(55, "Enumerator")] public static int Enumerator() { var arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; diff --git a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/CSharpEvent.cs b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/CSharpEvent.cs index 402a96f6..41d90158 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/CSharpEvent.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/CSharpEvent.cs @@ -47,10 +47,9 @@ public void DoEvent(int value) // So it handles the case with hacky code at IL2C.ILConverters.CallConverterUtilities. // This test case validates it. [TestId("DelegateTypes")] - [TestCase(6123, "AddCSharpEvent", 1000, IncludeTypes = new[] { typeof(CSharpEventImpl), typeof(CSharpEventDelegate), typeof(CSharpEventReceiver) })] - [TestCase(4123, "RemoveCSharpEvent", 1000, IncludeTypes = new[] { typeof(CSharpEventImpl), typeof(CSharpEventDelegate), typeof(CSharpEventReceiver) })] public sealed class CSharpEvent { + [TestCase(6123, "AddCSharpEvent", 1000, IncludeTypes = new[] { typeof(CSharpEventImpl), typeof(CSharpEventDelegate), typeof(CSharpEventReceiver) })] public static int AddCSharpEvent(int value) { var receiver = new CSharpEventReceiver(); @@ -66,6 +65,7 @@ public static int AddCSharpEvent(int value) return receiver.Value; } + [TestCase(4123, "RemoveCSharpEvent", 1000, IncludeTypes = new[] { typeof(CSharpEventImpl), typeof(CSharpEventDelegate), typeof(CSharpEventReceiver) })] public static int RemoveCSharpEvent(int value) { var receiver = new CSharpEventReceiver(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypes.cs b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypes.cs index d01aae3a..a6a2557b 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypes.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypes.cs @@ -25,12 +25,6 @@ public string AnotherInstance_Int32ToStringImpl(int value) } [Description("The delegate types contain special member fields, the objref instance reference and the raw method pointer. These tests are verified the IL2C can invoke delegate types combination features between static, instance, virtual method and multicasting at the runtime.")] - [TestCase("12345678ABC", new[] { "Static_Int32ToString", "Static_Int32ToStringImpl" }, 12345678, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] - [TestCase(1111, new[] { "Static_Void_RefInt", "Static_Void_RefIntImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntDelegate) })] - [TestCase("87654321ABC123", new[] { "Instance_Int32ToString", "Instance_Int32ToStringImpl" }, 87654321, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] - [TestCase(1123, new[] { "Instance_Void_RefInt", "Instance_Void_RefIntImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntDelegate) })] - [TestCase("11223344DEF456", new[] { "AnotherInstance_Int32ToString", "AnotherInstance_Int32ToStringImpl" }, 11223344, IncludeTypes = new[] { typeof(Int32ToStringDelegate), typeof(AnotherDelegateTypes) })] - [TestCase("87654321ABC123", new[] { "Virtual_Int32ToString", "Virtual_Int32ToStringImpl" }, 87654321, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public sealed class DelegateTypes { #region Static @@ -39,6 +33,7 @@ private static string Static_Int32ToStringImpl(int value) return value.ToString() + "ABC"; } + [TestCase("12345678ABC", new[] { "Static_Int32ToString", "Static_Int32ToStringImpl" }, 12345678, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public static string Static_Int32ToString(int value) { var dlg = new Int32ToStringDelegate(Static_Int32ToStringImpl); @@ -50,6 +45,7 @@ private static void Static_Void_RefIntImpl(ref int value) value += 111; } + [TestCase(1111, new[] { "Static_Void_RefInt", "Static_Void_RefIntImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntDelegate) })] public static int Static_Void_RefInt(int value) { var dlg = new RefIntDelegate(Static_Void_RefIntImpl); @@ -67,6 +63,7 @@ private string Instance_Int32ToStringImpl(int value) return value.ToString() + "ABC" + v1.ToString(); } + [TestCase("87654321ABC123", new[] { "Instance_Int32ToString", "Instance_Int32ToStringImpl" }, 87654321, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public static string Instance_Int32ToString(int value) { var inst = new DelegateTypes(); @@ -79,6 +76,7 @@ private void Instance_Void_RefIntImpl(ref int value) value += v1; } + [TestCase(1123, new[] { "Instance_Void_RefInt", "Instance_Void_RefIntImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntDelegate) })] public static int Instance_Void_RefInt(int value) { var inst = new DelegateTypes(); @@ -88,6 +86,7 @@ public static int Instance_Void_RefInt(int value) return v; } + [TestCase("11223344DEF456", new[] { "AnotherInstance_Int32ToString", "AnotherInstance_Int32ToStringImpl" }, 11223344, IncludeTypes = new[] { typeof(Int32ToStringDelegate), typeof(AnotherDelegateTypes) })] public static string AnotherInstance_Int32ToString(int value) { var inst = new AnotherDelegateTypes(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypesWIthVirtual.cs b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypesWIthVirtual.cs index ef4b10d3..4be74ad9 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypesWIthVirtual.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/DelegateTypesWIthVirtual.cs @@ -10,7 +10,6 @@ namespace IL2C.RuntimeSystems { [TestId("DelegateTypes")] - [TestCase("87654321ABC123", new[] { "Virtual_Int32ToString", "Virtual_Int32ToStringImpl" }, 87654321, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public class DelegateTypesWithVirtual1 { private int v1 = 123; @@ -20,6 +19,7 @@ public virtual string Virtual_Int32ToStringImpl(int value) return value.ToString() + "ABC" + v1.ToString(); } + [TestCase("87654321ABC123", new[] { "Virtual_Int32ToString", "Virtual_Int32ToStringImpl" }, 87654321, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public static string Virtual_Int32ToString(int value) { var inst = new DelegateTypesWithVirtual1(); @@ -39,8 +39,6 @@ public virtual string Override_Int32ToStringImpl(int value) } [TestId("DelegateTypes")] - [TestCase("87654321ABC123", new[] { "Override_Int32ToString", "Override_Int32ToStringImpl" }, 87654321, IncludeBaseTypes = true, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] - [TestCase("87654321ABC123", new[] { "Base_Int32ToString", "Override_Int32ToStringImpl" }, 87654321, IncludeBaseTypes = true, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public class DelegateTypesWithVirtual2 : DelegateTypesWithVirtual_Base { private int v1 = 123; @@ -50,6 +48,7 @@ public override string Override_Int32ToStringImpl(int value) return value.ToString() + "ABC" + v1.ToString(); } + [TestCase("87654321ABC123", new[] { "Override_Int32ToString", "Override_Int32ToStringImpl" }, 87654321, IncludeBaseTypes = true, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public static string Override_Int32ToString(int value) { var inst = new DelegateTypesWithVirtual2(); @@ -57,6 +56,7 @@ public static string Override_Int32ToString(int value) return dlg(value); } + [TestCase("87654321ABC123", new[] { "Base_Int32ToString", "Override_Int32ToStringImpl" }, 87654321, IncludeBaseTypes = true, IncludeTypes = new[] { typeof(Int32ToStringDelegate) })] public static string Base_Int32ToString(int value) { DelegateTypesWithVirtual_Base inst = new DelegateTypesWithVirtual2(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/MulticastDelegateTypes.cs b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/MulticastDelegateTypes.cs index df2c3882..ce026de2 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/MulticastDelegateTypes.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/DelegateTypes/MulticastDelegateTypes.cs @@ -12,11 +12,6 @@ namespace IL2C.RuntimeSystems public delegate string RefIntToStringDelegate(ref int value); [TestId("DelegateTypes")] - [TestCase(1333, new[] { "Static_Void_RefInt_Multicast", "Static_Void_RefIntImpl1", "Static_Void_RefIntImpl2" }, 1000, IncludeTypes = new[] { typeof(RefIntDelegate) })] - [TestCase("1222", new[] { "Static_RefIntToString_Multicast", "Static_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] - [TestCase("1234ABC", new[] { "Combination_RefIntToString_Multicast1", "Static_RefIntToStringImpl", "Instance_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] - [TestCase("1234", new[] { "Combination_RefIntToString_Multicast2", "Static_RefIntToStringImpl", "Instance_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] - [TestCase("1357ABC", new[] { "Combination_RefIntToString_Multicast3", "Static_RefIntToStringImpl", "Instance_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] public sealed class MulticastDelegateTypes { private static void Static_Void_RefIntImpl1(ref int value) @@ -29,6 +24,7 @@ private static void Static_Void_RefIntImpl2(ref int value) value += 222; } + [TestCase(1333, new[] { "Static_Void_RefInt_Multicast", "Static_Void_RefIntImpl1", "Static_Void_RefIntImpl2" }, 1000, IncludeTypes = new[] { typeof(RefIntDelegate) })] public static int Static_Void_RefInt_Multicast(int value) { var dlg1 = new RefIntDelegate(Static_Void_RefIntImpl1); @@ -47,6 +43,7 @@ private static string Static_RefIntToStringImpl(ref int value) return value.ToString(); } + [TestCase("1222", new[] { "Static_RefIntToString_Multicast", "Static_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] public static string Static_RefIntToString_Multicast(int value) { var dlg1 = new RefIntToStringDelegate(Static_RefIntToStringImpl); @@ -65,6 +62,7 @@ private string Instance_RefIntToStringImpl(ref int value) return value.ToString() + "ABC"; } + [TestCase("1234ABC", new[] { "Combination_RefIntToString_Multicast1", "Static_RefIntToStringImpl", "Instance_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] public static string Combination_RefIntToString_Multicast1(int value) { var inst = new MulticastDelegateTypes(); @@ -76,6 +74,7 @@ public static string Combination_RefIntToString_Multicast1(int value) return dlg1(ref v); } + [TestCase("1234", new[] { "Combination_RefIntToString_Multicast2", "Static_RefIntToStringImpl", "Instance_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] public static string Combination_RefIntToString_Multicast2(int value) { var inst = new MulticastDelegateTypes(); @@ -87,6 +86,7 @@ public static string Combination_RefIntToString_Multicast2(int value) return dlg1(ref v); } + [TestCase("1357ABC", new[] { "Combination_RefIntToString_Multicast3", "Static_RefIntToStringImpl", "Instance_RefIntToStringImpl" }, 1000, IncludeTypes = new[] { typeof(RefIntToStringDelegate) })] public static string Combination_RefIntToString_Multicast3(int value) { var inst = new MulticastDelegateTypes(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/EnumTypes/EnumTypes.cs b/tests/IL2C.Core.Test.RuntimeSystems/EnumTypes/EnumTypes.cs index 7613b370..75a50be2 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/EnumTypes/EnumTypes.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/EnumTypes/EnumTypes.cs @@ -30,43 +30,43 @@ public enum Int64EnumType : long } [Description("The enum types have the underlying primitive integer types. These tests are verified the IL2C can manage enum underlying types at the boxing-unboxing conversion with narrowing-widing combinations.")] - [TestCase(Int32EnumType.Min, "Int32", int.MinValue, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int32EnumType.MinusOne, "Int32", -1, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int32EnumType.Zero, "Int32", 0, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int32EnumType.One, "Int32", 1, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int32EnumType.Max, "Int32", int.MaxValue, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int32EnumType.Zero, "ByteToInt32", 0, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int32EnumType.One, "ByteToInt32", 1, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase((Int32EnumType)255, "ByteToInt32", 255, IncludeTypes = new[] { typeof(Int32EnumType) })] - [TestCase(Int64EnumType.Min, "Int64", long.MinValue, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.MinusOne, "Int64", -1L, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.Zero, "Int64", 0L, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.One, "Int64", 1L, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.Max, "Int64", long.MaxValue, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase((Int64EnumType)int.MinValue, "Int32ToInt64", int.MinValue, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.MinusOne, "Int32ToInt64", -1, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.Zero, "Int32ToInt64", 0, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase(Int64EnumType.One, "Int32ToInt64", 1, IncludeTypes = new[] { typeof(Int64EnumType) })] - [TestCase((Int64EnumType)int.MaxValue, "Int32ToInt64", int.MaxValue, IncludeTypes = new[] { typeof(Int64EnumType) })] public sealed class EnumTypes { + [TestCase(Int32EnumType.Min, "Int32", int.MinValue, IncludeTypes = new[] { typeof(Int32EnumType) })] + [TestCase(Int32EnumType.MinusOne, "Int32", -1, IncludeTypes = new[] { typeof(Int32EnumType) })] + [TestCase(Int32EnumType.Zero, "Int32", 0, IncludeTypes = new[] { typeof(Int32EnumType) })] + [TestCase(Int32EnumType.One, "Int32", 1, IncludeTypes = new[] { typeof(Int32EnumType) })] + [TestCase(Int32EnumType.Max, "Int32", int.MaxValue, IncludeTypes = new[] { typeof(Int32EnumType) })] public static Int32EnumType Int32(int value) { return (Int32EnumType)value; } // Expanding + [TestCase(Int32EnumType.Zero, "ByteToInt32", 0, IncludeTypes = new[] { typeof(Int32EnumType) })] + [TestCase(Int32EnumType.One, "ByteToInt32", 1, IncludeTypes = new[] { typeof(Int32EnumType) })] + [TestCase((Int32EnumType)255, "ByteToInt32", 255, IncludeTypes = new[] { typeof(Int32EnumType) })] public static Int32EnumType ByteToInt32(byte value) { return (Int32EnumType)value; } + [TestCase(Int64EnumType.Min, "Int64", long.MinValue, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.MinusOne, "Int64", -1L, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.Zero, "Int64", 0L, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.One, "Int64", 1L, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.Max, "Int64", long.MaxValue, IncludeTypes = new[] { typeof(Int64EnumType) })] public static Int64EnumType Int64(long value) { return (Int64EnumType)value; } // Expanding + [TestCase((Int64EnumType)int.MinValue, "Int32ToInt64", int.MinValue, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.MinusOne, "Int32ToInt64", -1, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.Zero, "Int32ToInt64", 0, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase(Int64EnumType.One, "Int32ToInt64", 1, IncludeTypes = new[] { typeof(Int64EnumType) })] + [TestCase((Int64EnumType)int.MaxValue, "Int32ToInt64", int.MaxValue, IncludeTypes = new[] { typeof(Int64EnumType) })] public static Int64EnumType Int32ToInt64(int value) { return (Int64EnumType)value; diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs index 002f34e6..d514b0ca 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs @@ -15,39 +15,10 @@ namespace IL2C.RuntimeSystems { [Description("These tests are verified the IL2C translates with simple and/or complext exception handling.")] - [TestCase(123, "RaiseAndCaughtLocal", false)] - [TestCase(456, "RaiseAndCaughtLocal", true)] - [TestCase("ABC", "RaiseCaughtAndAccessLocal", "ABC")] - [TestCase(null, "RaiseCaughtAndAccessLocal", null!)] - [TestCase("ABC", "RaiseCaughtNarrowingLocal", "ABC")] - [TestCase(null, "RaiseCaughtNarrowingLocal", null!)] - [TestCase("ABC", "RaiseCaughtWildcardLocal", "ABC")] - [TestCase(null, "RaiseCaughtWildcardLocal", null!)] - [TestCase(123, "RaiseAndCaughtMultipleHandlerLocal", 0)] - [TestCase(456, "RaiseAndCaughtMultipleHandlerLocal", 1)] - [TestCase(789, "RaiseAndCaughtMultipleHandlerLocal", 2)] - [TestCase(29, "FinallyWithNonThrowingLocal", 123)] - [TestCase(129, "FinallyWithThrowingAndNestedLocal", 123)] - [TestCase(129, "FinallyAndCaughtWithThrowingAndNestedLocal", 123, true)] - [TestCase(29, "FinallyAndCaughtWithThrowingAndNestedLocal", 123, false)] - [TestCase(30, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, false, false)] - [TestCase(30, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, false, true)] - [TestCase(12, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, true, false)] - [TestCase(112, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, true, true)] - [TestCase(123, "RaiseAndNestedCaughtLocal", 123)] - [TestCase(123, "RaiseAndNestedCaughtOuterLocal", 123)] - [TestCase(223, "RaiseCaughtAndRethrowLocal", 123)] - [TestCase(223, "RaiseCaughtAndThrowNewExceptionLocal", 123)] - [TestCase(223, "FinallyThrowNewExceptionLocal", 123)] - [TestCase(123, new[] { "RaiseAndCaughtGlobal", "RaiseException" }, false)] - [TestCase(456, new[] { "RaiseAndCaughtGlobal", "RaiseException" }, true)] - [TestCase(true, "RaiseCaughtAndNestedBlockLocal")] - [TestCase(true, "RaiseCaughtAndRethrowOnNestedBlockLocal")] - [TestCase(true, "RaiseCaughtAndRethrowOnMultipleNestedBlockLocal")] - [TestCase(true, "RaiseCaughtAndRethrowInsideLocal")] - [TestCase(true, "RaiseCaughtAndRethrowOutsideLocal")] public sealed class ExceptionHandling { + [TestCase(123, "RaiseAndCaughtLocal", false)] + [TestCase(456, "RaiseAndCaughtLocal", true)] public static int RaiseAndCaughtLocal(bool sw) { try @@ -61,6 +32,8 @@ public static int RaiseAndCaughtLocal(bool sw) return 123; } + [TestCase("ABC", "RaiseCaughtAndAccessLocal", "ABC")] + [TestCase(null, "RaiseCaughtAndAccessLocal", null!)] public static string? RaiseCaughtAndAccessLocal(string value) { try @@ -74,6 +47,8 @@ public static int RaiseAndCaughtLocal(bool sw) return null; } + [TestCase("ABC", "RaiseCaughtNarrowingLocal", "ABC")] + [TestCase(null, "RaiseCaughtNarrowingLocal", null!)] public static string? RaiseCaughtNarrowingLocal(string value) { try @@ -87,6 +62,8 @@ public static int RaiseAndCaughtLocal(bool sw) return null; } + [TestCase("ABC", "RaiseCaughtWildcardLocal", "ABC")] + [TestCase(null, "RaiseCaughtWildcardLocal", null!)] public static string? RaiseCaughtWildcardLocal(string value) { try @@ -100,6 +77,9 @@ public static int RaiseAndCaughtLocal(bool sw) return null; } + [TestCase(123, "RaiseAndCaughtMultipleHandlerLocal", 0)] + [TestCase(456, "RaiseAndCaughtMultipleHandlerLocal", 1)] + [TestCase(789, "RaiseAndCaughtMultipleHandlerLocal", 2)] public static int RaiseAndCaughtMultipleHandlerLocal(int sw) { try @@ -118,6 +98,7 @@ public static int RaiseAndCaughtMultipleHandlerLocal(int sw) return 123; } + [TestCase(29, "FinallyWithNonThrowingLocal", 123)] public static int FinallyWithNonThrowingLocal(int value) { int r = 0; @@ -133,6 +114,7 @@ public static int FinallyWithNonThrowingLocal(int value) return r; } + [TestCase(129, "FinallyWithThrowingAndNestedLocal", 123)] public static int FinallyWithThrowingAndNestedLocal(int value) { int r = value; @@ -155,6 +137,8 @@ public static int FinallyWithThrowingAndNestedLocal(int value) return r; } + [TestCase(129, "FinallyAndCaughtWithThrowingAndNestedLocal", 123, true)] + [TestCase(29, "FinallyAndCaughtWithThrowingAndNestedLocal", 123, false)] public static int FinallyAndCaughtWithThrowingAndNestedLocal(int value, bool rethrow) { int r = 0; @@ -187,6 +171,10 @@ private static void RaiseException(bool sw) if (sw) throw new Exception(); } + [TestCase(30, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, false, false)] + [TestCase(30, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, false, true)] + [TestCase(12, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, true, false)] + [TestCase(112, new[] { "FinallyAndCaughtWithThrowingAndNestedGlobal", "RaiseException" }, 123, true, true)] public static int FinallyAndCaughtWithThrowingAndNestedGlobal(int value, bool sw, bool rethrow) { int r = 500; @@ -214,6 +202,7 @@ public static int FinallyAndCaughtWithThrowingAndNestedGlobal(int value, bool sw return r; } + [TestCase(123, "RaiseAndNestedCaughtLocal", 123)] public static int RaiseAndNestedCaughtLocal(int value) { int r = 0; @@ -236,6 +225,7 @@ public static int RaiseAndNestedCaughtLocal(int value) return r; } + [TestCase(123, "RaiseAndNestedCaughtOuterLocal", 123)] public static int RaiseAndNestedCaughtOuterLocal(int value) { int r = 0; @@ -258,6 +248,7 @@ public static int RaiseAndNestedCaughtOuterLocal(int value) return r; } + [TestCase(223, "RaiseCaughtAndRethrowLocal", 123)] public static int RaiseCaughtAndRethrowLocal(int value) { int r = 0; @@ -281,6 +272,7 @@ public static int RaiseCaughtAndRethrowLocal(int value) return r; } + [TestCase(223, "RaiseCaughtAndThrowNewExceptionLocal", 123)] public static int RaiseCaughtAndThrowNewExceptionLocal(int value) { int r = 0; @@ -304,6 +296,7 @@ public static int RaiseCaughtAndThrowNewExceptionLocal(int value) return r; } + [TestCase(223, "FinallyThrowNewExceptionLocal", 123)] public static int FinallyThrowNewExceptionLocal(int value) { int r = 0; @@ -327,6 +320,8 @@ public static int FinallyThrowNewExceptionLocal(int value) return r; } + [TestCase(123, new[] { "RaiseAndCaughtGlobal", "RaiseException" }, false)] + [TestCase(456, new[] { "RaiseAndCaughtGlobal", "RaiseException" }, true)] public static int RaiseAndCaughtGlobal(bool sw) { try @@ -340,6 +335,7 @@ public static int RaiseAndCaughtGlobal(bool sw) return 123; } + [TestCase(true, "RaiseCaughtAndNestedBlockLocal")] public static bool RaiseCaughtAndNestedBlockLocal() { var ex1 = new Exception(); @@ -361,6 +357,7 @@ public static bool RaiseCaughtAndNestedBlockLocal() } } + [TestCase(true, "RaiseCaughtAndRethrowOnNestedBlockLocal")] public static bool RaiseCaughtAndRethrowOnNestedBlockLocal() { var ex1 = new Exception(); @@ -381,6 +378,7 @@ public static bool RaiseCaughtAndRethrowOnNestedBlockLocal() } } + [TestCase(true, "RaiseCaughtAndRethrowOnMultipleNestedBlockLocal")] public static bool RaiseCaughtAndRethrowOnMultipleNestedBlockLocal() { var ex1 = new Exception(); @@ -410,6 +408,7 @@ public static bool RaiseCaughtAndRethrowOnMultipleNestedBlockLocal() } } + [TestCase(true, "RaiseCaughtAndRethrowInsideLocal")] public static bool RaiseCaughtAndRethrowInsideLocal() { var ex1 = new Exception(); @@ -448,6 +447,7 @@ public static bool RaiseCaughtAndRethrowInsideLocal() } } + [TestCase(true, "RaiseCaughtAndRethrowOutsideLocal")] public static bool RaiseCaughtAndRethrowOutsideLocal() { var ex1 = new Exception(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/ArrayIndexOutOfRangeExceptions.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/ArrayIndexOutOfRangeExceptions.cs index 4307414f..50881bc0 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/ArrayIndexOutOfRangeExceptions.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/ArrayIndexOutOfRangeExceptions.cs @@ -15,16 +15,12 @@ namespace IL2C.RuntimeSystems { [TestId("ExceptionThrownByCLI")] - [TestCase(false, "ArrayIndexOutOfRangeByLoad", 0)] - [TestCase(false, "ArrayIndexOutOfRangeByLoad", 6)] - [TestCase(true, "ArrayIndexOutOfRangeByLoad", -1)] - [TestCase(true, "ArrayIndexOutOfRangeByLoad", 7)] - [TestCase(false, "ArrayIndexOutOfRangeByStore", 0)] - [TestCase(false, "ArrayIndexOutOfRangeByStore", 6)] - [TestCase(true, "ArrayIndexOutOfRangeByStore", -1)] - [TestCase(true, "ArrayIndexOutOfRangeByStore", 7)] public sealed class ArrayIndexOutOfRangeExceptions { + [TestCase(false, "ArrayIndexOutOfRangeByLoad", 0)] + [TestCase(false, "ArrayIndexOutOfRangeByLoad", 6)] + [TestCase(true, "ArrayIndexOutOfRangeByLoad", -1)] + [TestCase(true, "ArrayIndexOutOfRangeByLoad", 7)] public static bool ArrayIndexOutOfRangeByLoad(int index) { try @@ -39,6 +35,10 @@ public static bool ArrayIndexOutOfRangeByLoad(int index) return false; } + [TestCase(false, "ArrayIndexOutOfRangeByStore", 0)] + [TestCase(false, "ArrayIndexOutOfRangeByStore", 6)] + [TestCase(true, "ArrayIndexOutOfRangeByStore", -1)] + [TestCase(true, "ArrayIndexOutOfRangeByStore", 7)] public static bool ArrayIndexOutOfRangeByStore(int index) { try diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs index 611d6f7d..7ba6d8a3 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs @@ -22,29 +22,11 @@ namespace IL2C.RuntimeSystems [Description("These tests are verified the IL2C throw some exceptions from the internal runtimes by ECMA-335 I.12.4.2.1.")] [TestId("ExceptionThrownByCLI")] - [TestCase(true, "InvalidCastExceptionFromStringToString", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt32ToString", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, new[] { "InvalidCastExceptionFromDelegateToString", "TestTarget" }, IncludeTypes = new[] { typeof(ObjectModelInstructionsTestDelegate) }, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromByteToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromByteToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromByteToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromByteToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt16ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt16ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt16ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt16ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt32ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt32ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt32ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt32ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt64ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt64ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt64ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(true, "InvalidCastExceptionFromInt64ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public sealed class InvalidCastExceptions { // These cases become from ECMA-335 I.12.4.2.1 - Exceptions thrown by the CLI - Object Model Instructions + [TestCase(true, "InvalidCastExceptionFromStringToString", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromStringToString() { object value = "ABC"; @@ -59,6 +41,7 @@ public static bool InvalidCastExceptionFromStringToString() return true; } + [TestCase(true, "InvalidCastExceptionFromInt32ToString", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt32ToString() { object value = 123; @@ -82,6 +65,7 @@ public static string TestTarget(string from) return from; } + [TestCase(true, new[] { "InvalidCastExceptionFromDelegateToString", "TestTarget" }, IncludeTypes = new[] { typeof(ObjectModelInstructionsTestDelegate) }, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromDelegateToString() { try @@ -100,6 +84,7 @@ public static bool InvalidCastExceptionFromDelegateToString() return false; } + [TestCase(true, "InvalidCastExceptionFromByteToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromByteToByte() { object value = (byte)123; @@ -114,6 +99,7 @@ public static bool InvalidCastExceptionFromByteToByte() return true; } + [TestCase(true, "InvalidCastExceptionFromByteToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromByteToInt16() { object value = (byte)123; @@ -132,6 +118,7 @@ public static bool InvalidCastExceptionFromByteToInt16() return false; } + [TestCase(true, "InvalidCastExceptionFromByteToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromByteToInt32() { object value = (byte)123; @@ -150,6 +137,7 @@ public static bool InvalidCastExceptionFromByteToInt32() return false; } + [TestCase(true, "InvalidCastExceptionFromByteToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromByteToInt64() { object value = (byte)123; @@ -168,6 +156,7 @@ public static bool InvalidCastExceptionFromByteToInt64() return false; } + [TestCase(true, "InvalidCastExceptionFromInt16ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt16ToByte() { object value = (short)123; @@ -186,6 +175,7 @@ public static bool InvalidCastExceptionFromInt16ToByte() return false; } + [TestCase(true, "InvalidCastExceptionFromInt16ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt16ToInt16() { object value = (short)123; @@ -200,6 +190,7 @@ public static bool InvalidCastExceptionFromInt16ToInt16() return true; } + [TestCase(true, "InvalidCastExceptionFromInt16ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt16ToInt32() { object value = (short)123; @@ -218,6 +209,7 @@ public static bool InvalidCastExceptionFromInt16ToInt32() return false; } + [TestCase(true, "InvalidCastExceptionFromInt16ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt16ToInt64() { object value = (short)123; @@ -236,6 +228,7 @@ public static bool InvalidCastExceptionFromInt16ToInt64() return false; } + [TestCase(true, "InvalidCastExceptionFromInt32ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt32ToByte() { object value = 123; @@ -254,6 +247,7 @@ public static bool InvalidCastExceptionFromInt32ToByte() return false; } + [TestCase(true, "InvalidCastExceptionFromInt32ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt32ToInt16() { object value = 123; @@ -272,6 +266,7 @@ public static bool InvalidCastExceptionFromInt32ToInt16() return false; } + [TestCase(true, "InvalidCastExceptionFromInt32ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt32ToInt32() { object value = 123; @@ -286,6 +281,7 @@ public static bool InvalidCastExceptionFromInt32ToInt32() return true; } + [TestCase(true, "InvalidCastExceptionFromInt32ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt32ToInt64() { object value = 123; @@ -304,6 +300,7 @@ public static bool InvalidCastExceptionFromInt32ToInt64() return false; } + [TestCase(true, "InvalidCastExceptionFromInt64ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt64ToByte() { object value = (long)123; @@ -322,6 +319,7 @@ public static bool InvalidCastExceptionFromInt64ToByte() return false; } + [TestCase(true, "InvalidCastExceptionFromInt64ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt64ToInt16() { object value = (long)123; @@ -340,6 +338,7 @@ public static bool InvalidCastExceptionFromInt64ToInt16() return false; } + [TestCase(true, "InvalidCastExceptionFromInt64ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt64ToInt64() { object value = (long)123; @@ -358,6 +357,7 @@ public static bool InvalidCastExceptionFromInt64ToInt64() return false; } + [TestCase(true, "InvalidCastExceptionFromInt64ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static bool InvalidCastExceptionFromInt64ToInt32() { object value = (long)123; diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs index 1d90e95c..5e93ab64 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs @@ -15,14 +15,10 @@ namespace IL2C.RuntimeSystems { [TestId("ExceptionThrownByCLI")] - [TestCase(false, "NullReference", "ABC")] - [TestCase(true, "NullReference", null!)] - [TestCase(false, "NullReferenceTwoTimes", "ABC")] // Test for re-register signal handler - [TestCase(true, "NullReferenceTwoTimes", null!)] - [TestCase(false, "NullReferenceAtTheUnbox", (object)123)] - [TestCase(true, "NullReferenceAtTheUnbox", null!)] public sealed class NullReferenceExceptions { + [TestCase(false, "NullReference", "ABC")] + [TestCase(true, "NullReference", null!)] public static bool NullReference(object v) { try @@ -36,6 +32,8 @@ public static bool NullReference(object v) return false; } + [TestCase(false, "NullReferenceTwoTimes", "ABC")] // Test for re-register signal handler + [TestCase(true, "NullReferenceTwoTimes", null!)] public static bool NullReferenceTwoTimes(object v) { try @@ -62,6 +60,8 @@ public static bool NullReferenceTwoTimes(object v) return false; } + [TestCase(false, "NullReferenceAtTheUnbox", (object)123)] + [TestCase(true, "NullReferenceAtTheUnbox", null!)] public static bool NullReferenceAtTheUnbox(object value) { try From 01fa5bfcf4c458577dfd44dcb96a9bf9647c2f86 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 22 May 2022 15:08:25 +0900 Subject: [PATCH 014/144] Updated RuntimeSystems [f-z]. --- .../GarbageCollection/GarbageCollection.cs | 44 +++++----- .../Interoperability/Interoperability.cs | 10 +-- .../Threading/Threading.cs | 22 ++--- .../TypeInitializer/TypeInitializer.cs | 36 ++++----- .../TypeInitializerAtomicity.cs | 6 +- .../TypeRelations/TypeImplements.cs | 62 +++++++------- .../TypeRelations/TypeInheritance.cs | 52 ++++++------ .../TypeInheritanceAndImplements.cs | 80 +++++++++---------- .../ValueTypes/ValueTypes.cs | 36 ++++----- 9 files changed, 174 insertions(+), 174 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs index 4f0b6810..81cf3a44 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs @@ -185,42 +185,27 @@ public ConcurrentCollectValueHolder(int value) => } [Description("These tests are verified the IL2C manages tracing the object references and collect garbages from the heap memory.")] - [TestCase("ABCDEF", "ObjRefInsideObjRef", IncludeTypes = new[] { typeof(ObjRefInsideObjRefType) })] - [TestCase("ABCDEF", "ObjRefInsideValueType", IncludeTypes = new[] { typeof(ObjRefInsideValueTypeType) })] - [TestCase("ABCDEF", "ObjRefInsideValueTypeInsideObjRef", IncludeTypes = new[] { typeof(ObjRefInsideValueTypeInsideObjRefType), typeof(ObjRefInsideValueTypeType) })] - [TestCase("ABCDEF", "ObjRefInsideObjRefInsideValueType", IncludeTypes = new[] { typeof(ObjRefInsideObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] - [TestCase("ABCDEF1", "MultipleInsideValueType", 0, IncludeTypes = new[] { typeof(MultipleInsideValueTypeType), typeof(ObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] - [TestCase("ABCDEF2", "MultipleInsideValueType", 1, IncludeTypes = new[] { typeof(MultipleInsideValueTypeType), typeof(ObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] - [TestCase("ABCDEF3", "MultipleInsideValueType", 2, IncludeTypes = new[] { typeof(MultipleInsideValueTypeType), typeof(ObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] - [TestCase("ABCDEFABCGHI", new[] { "ArrayForObjRefInsideObjRefTypeTracking", "MakeArrayForObjRefInsideObjRefType" }, "ABC", "DEF", "GHI", IncludeTypes = new[] { typeof(ObjRefInsideObjRefType) })] - [TestCase("ABCDEFABCGHI", new[] { "ArrayForObjRefInsideValueTypeTypeTracking", "MakeArrayForObjRefInsideValueTypeType" }, "ABC", "DEF", "GHI", IncludeTypes = new[] { typeof(ObjRefInsideValueTypeType) })] - [TestCase("ABCDEFGHI", new[] { "DelegateMarkHandlerTracking", "MakeDelegateMarkHandlerForObjRefTestDelegate" }, "ABC", "DEF", IncludeTypes = new[] { typeof(DelegateMarkHandlerForObjRef), typeof(DelegateMarkHandlerForObjRefTestDelegate) })] - [TestCase("ABCGHIJKL", new[] { "MulticastDelegateMarkHandlerTracking", "MakeMulticastDelegateMarkHandlerForObjRefTestDelegate" }, "ABC", "DEF", "GHI", IncludeTypes = new[] { typeof(DelegateMarkHandlerForObjRef), typeof(DelegateMarkHandlerForObjRefTestDelegate) })] - [TestCase(12345, new[] { "TraceStaticField", "RunTraceStaticField" }, 12345, IncludeTypes = new[] { typeof(StaticFieldTracible), typeof(StaticFieldInstanceType) })] - [TestCase(1, new[] { "CallFinalizerByCollect", "RunCallFinalizer" }, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] - [TestCase(1, new[] { "CallFinalizerByCollectWithGeneration", "RunCallFinalizer" }, 0, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] - [TestCase(1, new[] { "CallFinalizerByCollectWithGeneration", "RunCallFinalizer" }, 1, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] - [TestCase(1, new[] { "CallFinalizerByCollectWithGeneration", "RunCallFinalizer" }, 2, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] - [TestCase(0, new[] { "DontCallFinalizerByCollectWithPinned", "RunDontCallFinalizerWithPinned" }, IncludeTypes = new[] { typeof(FinalzerImplementedWithPinned), typeof(FinalizerCalleeHolder) })] - [TestCase(123, new[] { "DontCollectWithResurrect", "RunDontCollectWithResurrect" }, 123, IncludeTypes = new[] { typeof(FinalzerImplementedWithResurrect) })] - [TestCase(2, new[] { "CallFinalizerByCollectWithReRegister", "RunCallFinalizerWithReRegister" }, IncludeTypes = new[] { typeof(FinalzerImplementedWithReRegister), typeof(FinalizerCalleeHolder) })] - [TestCase(0, new[] { "SuppressFinalize", "RunCallFinalizerWithSuppressed" }, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] - [TestCase(1, new[] { "ReRegisterForFinalize", "RunCallFinalizerWithSuppressedAndReRegistered" }, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] - [TestCase(200000, "ConcurrentCollect", 10, 100000, IncludeTypes = new[] { typeof(ConcurrentCollectClosure), typeof(ConcurrentCollectValueHolder) })] public sealed class GarbageCollection { + [TestCase("ABCDEF", "ObjRefInsideObjRef", IncludeTypes = new[] { typeof(ObjRefInsideObjRefType) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjRefInsideObjRef(); + [TestCase("ABCDEF", "ObjRefInsideValueType", IncludeTypes = new[] { typeof(ObjRefInsideValueTypeType) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjRefInsideValueType(); + [TestCase("ABCDEF", "ObjRefInsideValueTypeInsideObjRef", IncludeTypes = new[] { typeof(ObjRefInsideValueTypeInsideObjRefType), typeof(ObjRefInsideValueTypeType) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjRefInsideValueTypeInsideObjRef(); + [TestCase("ABCDEF", "ObjRefInsideObjRefInsideValueType", IncludeTypes = new[] { typeof(ObjRefInsideObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ObjRefInsideObjRefInsideValueType(); + [TestCase("ABCDEF1", "MultipleInsideValueType", 0, IncludeTypes = new[] { typeof(MultipleInsideValueTypeType), typeof(ObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] + [TestCase("ABCDEF2", "MultipleInsideValueType", 1, IncludeTypes = new[] { typeof(MultipleInsideValueTypeType), typeof(ObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] + [TestCase("ABCDEF3", "MultipleInsideValueType", 2, IncludeTypes = new[] { typeof(MultipleInsideValueTypeType), typeof(ObjRefInsideValueTypeType), typeof(ObjRefInsideObjRefType) })] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string MultipleInsideValueType(int index); @@ -235,6 +220,7 @@ private static void RunTraceStaticField(int value) private static ObjRefInsideObjRefType[] MakeArrayForObjRefInsideObjRefType(string a, string b, string c) => new[] { new ObjRefInsideObjRefType(a + b), new ObjRefInsideObjRefType(a + c) }; + [TestCase("ABCDEFABCGHI", new[] { "ArrayForObjRefInsideObjRefTypeTracking", "MakeArrayForObjRefInsideObjRefType" }, "ABC", "DEF", "GHI", IncludeTypes = new[] { typeof(ObjRefInsideObjRefType) })] public static string ArrayForObjRefInsideObjRefTypeTracking(string a, string b, string c) { // Test for Array_MarkHandler. @@ -249,6 +235,7 @@ public static string ArrayForObjRefInsideObjRefTypeTracking(string a, string b, private static ObjRefInsideValueTypeType[] MakeArrayForObjRefInsideValueTypeType(string a, string b, string c) => new[] { new ObjRefInsideValueTypeType(a + b), new ObjRefInsideValueTypeType(a + c) }; + [TestCase("ABCDEFABCGHI", new[] { "ArrayForObjRefInsideValueTypeTypeTracking", "MakeArrayForObjRefInsideValueTypeType" }, "ABC", "DEF", "GHI", IncludeTypes = new[] { typeof(ObjRefInsideValueTypeType) })] public static string ArrayForObjRefInsideValueTypeTypeTracking(string a, string b, string c) { // Test for Array_MarkHandler. @@ -266,6 +253,7 @@ private static DelegateMarkHandlerForObjRefTestDelegate MakeDelegateMarkHandlerF return new DelegateMarkHandlerForObjRefTestDelegate(target.CombineForStrings); } + [TestCase("ABCDEFGHI", new[] { "DelegateMarkHandlerTracking", "MakeDelegateMarkHandlerForObjRefTestDelegate" }, "ABC", "DEF", IncludeTypes = new[] { typeof(DelegateMarkHandlerForObjRef), typeof(DelegateMarkHandlerForObjRefTestDelegate) })] public static string DelegateMarkHandlerTracking(string a, string b) { // Test for Delegate_MarkHandler. @@ -286,6 +274,7 @@ private static DelegateMarkHandlerForObjRefTestDelegate MakeMulticastDelegateMar new DelegateMarkHandlerForObjRefTestDelegate(target2.CombineForStrings); } + [TestCase("ABCGHIJKL", new[] { "MulticastDelegateMarkHandlerTracking", "MakeMulticastDelegateMarkHandlerForObjRefTestDelegate" }, "ABC", "DEF", "GHI", IncludeTypes = new[] { typeof(DelegateMarkHandlerForObjRef), typeof(DelegateMarkHandlerForObjRefTestDelegate) })] public static string MulticastDelegateMarkHandlerTracking(string a, string b, string c) { // Test for Delegate_MarkHandler (tracks each delegate target) @@ -297,6 +286,7 @@ public static string MulticastDelegateMarkHandlerTracking(string a, string b, st return d("JKL"); } + [TestCase(12345, new[] { "TraceStaticField", "RunTraceStaticField" }, 12345, IncludeTypes = new[] { typeof(StaticFieldTracible), typeof(StaticFieldInstanceType) })] public static int TraceStaticField(int value) { RunTraceStaticField(value); @@ -312,6 +302,7 @@ private static void RunCallFinalizer(FinalizerCalleeHolder holder) var implemented = new FinalzerImplemented(holder); } + [TestCase(1, new[] { "CallFinalizerByCollect", "RunCallFinalizer" }, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] public static int CallFinalizerByCollect() { var holder = new FinalizerCalleeHolder(); @@ -323,6 +314,9 @@ public static int CallFinalizerByCollect() return holder.Called; } + [TestCase(1, new[] { "CallFinalizerByCollectWithGeneration", "RunCallFinalizer" }, 0, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] + [TestCase(1, new[] { "CallFinalizerByCollectWithGeneration", "RunCallFinalizer" }, 1, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] + [TestCase(1, new[] { "CallFinalizerByCollectWithGeneration", "RunCallFinalizer" }, 2, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] public static int CallFinalizerByCollectWithGeneration(int generation) { var holder = new FinalizerCalleeHolder(); @@ -340,6 +334,7 @@ private static void RunDontCallFinalizerWithPinned(FinalizerCalleeHolder holder) var handle = GCHandle.Alloc(implemented, GCHandleType.Pinned); } + [TestCase(0, new[] { "DontCallFinalizerByCollectWithPinned", "RunDontCallFinalizerWithPinned" }, IncludeTypes = new[] { typeof(FinalzerImplementedWithPinned), typeof(FinalizerCalleeHolder) })] public static int DontCallFinalizerByCollectWithPinned() { var holder = new FinalizerCalleeHolder(); @@ -356,6 +351,7 @@ private static void RunDontCollectWithResurrect(int value) var implemented = new FinalzerImplementedWithResurrect(value); } + [TestCase(123, new[] { "DontCollectWithResurrect", "RunDontCollectWithResurrect" }, 123, IncludeTypes = new[] { typeof(FinalzerImplementedWithResurrect) })] public static int DontCollectWithResurrect(int value) { RunDontCollectWithResurrect(value); @@ -371,6 +367,7 @@ private static void RunCallFinalizerWithReRegister(FinalizerCalleeHolder holder) var implemented = new FinalzerImplementedWithReRegister(holder); } + [TestCase(2, new[] { "CallFinalizerByCollectWithReRegister", "RunCallFinalizerWithReRegister" }, IncludeTypes = new[] { typeof(FinalzerImplementedWithReRegister), typeof(FinalizerCalleeHolder) })] public static int CallFinalizerByCollectWithReRegister() { var holder = new FinalizerCalleeHolder(); @@ -396,6 +393,7 @@ private static void RunCallFinalizerWithSuppressed(FinalizerCalleeHolder holder) GC.SuppressFinalize(implemented); } + [TestCase(0, new[] { "SuppressFinalize", "RunCallFinalizerWithSuppressed" }, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] public static int SuppressFinalize() { var holder = new FinalizerCalleeHolder(); @@ -414,6 +412,7 @@ private static void RunCallFinalizerWithSuppressedAndReRegistered(FinalizerCalle GC.ReRegisterForFinalize(implemented); } + [TestCase(1, new[] { "ReRegisterForFinalize", "RunCallFinalizerWithSuppressedAndReRegistered" }, IncludeTypes = new[] { typeof(FinalzerImplemented), typeof(FinalizerCalleeHolder) })] public static int ReRegisterForFinalize() { var holder = new FinalizerCalleeHolder(); @@ -425,6 +424,7 @@ public static int ReRegisterForFinalize() return holder.Called; } + [TestCase(200000, "ConcurrentCollect", 10, 100000, IncludeTypes = new[] { typeof(ConcurrentCollectClosure), typeof(ConcurrentCollectValueHolder) })] public static int ConcurrentCollect(int count, int increments) { var target = new ConcurrentCollectClosure(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index f1dfeb1c..539deaec 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -22,17 +22,13 @@ public struct NativePointerInside } [Description("These tests are verified the IL2C manages interoperability with the P/Invoke adn IL2C/Invoke method and internalcall method.")] - [TestCase(null, new[] { "InternalCallWithUnicodeStringArgument", "OutputDebugString1" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(null, new[] { "DllImportWithUnicodeStringArgument", "OutputDebugString2" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - [TestCase(12345678, "TransparencyForNativePointer", 12345678)] - [TestCase(12345678, "TransparencyForNativePointerInsideNativeType", 12345678, IncludeTypes = new[] { typeof(NativePointerInside) })] - [TestCase("ABCDEF", new[] { "BypassObjRefWithObjRefHandle", "ConcatAndToObjRefHandle" }, "ABC", "DEF")] public sealed class Interoperability { [NativeMethod("windows.h", SymbolName = "OutputDebugStringW", CharSet = NativeCharSet.Unicode)] [MethodImpl(MethodImplOptions.InternalCall)] private static extern void OutputDebugString1(string message); + [TestCase(null, new[] { "InternalCallWithUnicodeStringArgument", "OutputDebugString1" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static void InternalCallWithUnicodeStringArgument(string message) { OutputDebugString1(message); @@ -41,11 +37,13 @@ public static void InternalCallWithUnicodeStringArgument(string message) [DllImport("kernel32", EntryPoint = "OutputDebugStringW")] private static extern void OutputDebugString2(string message); + [TestCase(null, new[] { "DllImportWithUnicodeStringArgument", "OutputDebugString2" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] public static void DllImportWithUnicodeStringArgument(string message) { OutputDebugString2(message); } + [TestCase(12345678, "TransparencyForNativePointer", 12345678)] public static IntPtr TransparencyForNativePointer(IntPtr value) { NativePointer np = value; @@ -53,6 +51,7 @@ public static IntPtr TransparencyForNativePointer(IntPtr value) return ip; } + [TestCase(12345678, "TransparencyForNativePointerInsideNativeType", 12345678, IncludeTypes = new[] { typeof(NativePointerInside) })] public static IntPtr TransparencyForNativePointerInsideNativeType(IntPtr value) { NativePointerInside npi; @@ -68,6 +67,7 @@ private static IntPtr ConcatAndToObjRefHandle(string a, string b) return GCHandle.ToIntPtr(handle); } + [TestCase("ABCDEF", new[] { "BypassObjRefWithObjRefHandle", "ConcatAndToObjRefHandle" }, "ABC", "DEF")] public static string BypassObjRefWithObjRefHandle(string a, string b) { var objRefHandle = ConcatAndToObjRefHandle(a, b); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs b/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs index 44cc397c..eba0ce12 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Threading/Threading.cs @@ -151,19 +151,9 @@ public void Run() } [Description("These tests are verified the IL2C can handle threading features.")] - [TestCase(333, "RunAndFinishInstanceMethod", 111, 222, IncludeTypes = new[] { typeof(RunAndFinishClosure) })] - [TestCase(333, "RunAndFinishInstanceWithParameterMethod", 111, 222, IncludeTypes = new[] { typeof(RunAndFinishClosureWithParameter) })] - [TestCase(true, "MultipleRunAndFinishInstanceMethod", 100, 10, IncludeTypes = new[] { typeof(RunAndFinishClosure) })] - [TestCase(true, "MultipleRunAndFinishInstanceMethod", 100, 100, IncludeTypes = new[] { typeof(RunAndFinishClosure) })] - [TestCase(true, "WillGetDifferentThreadId", IncludeTypes = new[] { typeof(WillGetDifferentThreadIdClosure) })] - [TestCase(100, "RaceFreeWithObjectMonitorLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLockClosure) })] - [TestCase(100, "RaceFreeWithConstStringMonitorLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLockClosure) })] - [TestCase(100, "RaceFreeWithObjectMonitorLock2", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLock2Closure) })] - [TestCase(100, "RaceFreeWithConstStringMonitorLock2", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLock2Closure) })] - [TestCase(100, "RaceFreeWithObjectMonitorTryLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorTryLockClosure) })] - [TestCase(100, "RaceFreeWithConstStringMonitorTryLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorTryLockClosure) })] public sealed class Threading { + [TestCase(333, "RunAndFinishInstanceMethod", 111, 222, IncludeTypes = new[] { typeof(RunAndFinishClosure) })] public static int RunAndFinishInstanceMethod(int a, int b) { var target = new RunAndFinishClosure(a, b); @@ -174,6 +164,7 @@ public static int RunAndFinishInstanceMethod(int a, int b) return target.Result; } + [TestCase(333, "RunAndFinishInstanceWithParameterMethod", 111, 222, IncludeTypes = new[] { typeof(RunAndFinishClosureWithParameter) })] public static int RunAndFinishInstanceWithParameterMethod(int a, int b) { var target = new RunAndFinishClosureWithParameter(a); @@ -184,6 +175,8 @@ public static int RunAndFinishInstanceWithParameterMethod(int a, int b) return target.Result; } + [TestCase(true, "MultipleRunAndFinishInstanceMethod", 100, 10, IncludeTypes = new[] { typeof(RunAndFinishClosure) })] + [TestCase(true, "MultipleRunAndFinishInstanceMethod", 100, 100, IncludeTypes = new[] { typeof(RunAndFinishClosure) })] public static bool MultipleRunAndFinishInstanceMethod(int a, int count) { var targets = new RunAndFinishClosure[count]; @@ -215,6 +208,7 @@ public static bool MultipleRunAndFinishInstanceMethod(int a, int count) return true; } + [TestCase(true, "WillGetDifferentThreadId", IncludeTypes = new[] { typeof(WillGetDifferentThreadIdClosure) })] public static bool WillGetDifferentThreadId() { var target = new WillGetDifferentThreadIdClosure(); @@ -225,6 +219,7 @@ public static bool WillGetDifferentThreadId() return target.TestThreadId != target.RunThreadId; } + [TestCase(100, "RaceFreeWithObjectMonitorLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLockClosure) })] public static int RaceFreeWithObjectMonitorLock(int count) { var target = new RaceFreeMonitorLockClosure(new object()); @@ -246,6 +241,7 @@ public static int RaceFreeWithObjectMonitorLock(int count) return target.Value; } + [TestCase(100, "RaceFreeWithConstStringMonitorLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLockClosure) })] public static int RaceFreeWithConstStringMonitorLock(int count) { var target = new RaceFreeMonitorLockClosure("LOCK TARGET"); @@ -267,6 +263,7 @@ public static int RaceFreeWithConstStringMonitorLock(int count) return target.Value; } + [TestCase(100, "RaceFreeWithObjectMonitorLock2", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLock2Closure) })] public static int RaceFreeWithObjectMonitorLock2(int count) { var target = new RaceFreeMonitorLock2Closure(new object()); @@ -288,6 +285,7 @@ public static int RaceFreeWithObjectMonitorLock2(int count) return target.Value; } + [TestCase(100, "RaceFreeWithConstStringMonitorLock2", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorLock2Closure) })] public static int RaceFreeWithConstStringMonitorLock2(int count) { var target = new RaceFreeMonitorLock2Closure("LOCK TARGET"); @@ -309,6 +307,7 @@ public static int RaceFreeWithConstStringMonitorLock2(int count) return target.Value; } + [TestCase(100, "RaceFreeWithObjectMonitorTryLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorTryLockClosure) })] public static int RaceFreeWithObjectMonitorTryLock(int count) { var target = new RaceFreeMonitorTryLockClosure(new object()); @@ -330,6 +329,7 @@ public static int RaceFreeWithObjectMonitorTryLock(int count) return target.Value; } + [TestCase(100, "RaceFreeWithConstStringMonitorTryLock", 10, IncludeTypes = new[] { typeof(RaceFreeMonitorTryLockClosure) })] public static int RaceFreeWithConstStringMonitorTryLock(int count) { var target = new RaceFreeMonitorTryLockClosure("LOCK TARGET"); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs index fd6f0bef..8d581278 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs @@ -83,112 +83,112 @@ public static class TypeInitializer_NonTrackingGCs [TestId("TypeInitializer")] [Description("These tests are verified the IL2C can handle the type initializer special translation cases.")] - [TestCase(true, "Bool", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((byte)1, "Byte", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((short)1, "Int16", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((int)3, "Int32", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((long)1, "Int64", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((sbyte)1, "SByte", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((ushort)1, "UInt16", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((uint)1, "UInt32", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((ulong)1, "UInt64", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((int)1, "IntPtr", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((uint)1, "UIntPtr", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((float)1, "Single", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((double)1, "Double", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase((char)1, "Char", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase("ABC", "String", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - [TestCase(0, "Int32_None", IncludeTypes = new[] { typeof(TypeInitializer_None) })] - [TestCase(null, "String_None", IncludeTypes = new[] { typeof(TypeInitializer_None) })] - [TestCase(0, "NonTracked", IncludeTypes = new[] { typeof(TypeInitializer_NonTrackingGCs) })] public sealed partial class TypeInitializer { + [TestCase(true, "Bool", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static bool Bool() { return TypeInitializer_Field.BooleanValue; } + [TestCase((byte)1, "Byte", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static byte Byte() { return TypeInitializer_Field.ByteValue; } + [TestCase((short)1, "Int16", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static short Int16() { return TypeInitializer_Field.Int16Value; } + [TestCase((int)3, "Int32", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static int Int32() { return TypeInitializer_Field.Int32Value; } + [TestCase((long)1, "Int64", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static long Int64() { return TypeInitializer_Field.Int64Value; } + [TestCase((sbyte)1, "SByte", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static sbyte SByte() { return TypeInitializer_Field.SByteValue; } + [TestCase((ushort)1, "UInt16", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static ushort UInt16() { return TypeInitializer_Field.UInt16Value; } + [TestCase((uint)1, "UInt32", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static uint UInt32() { return TypeInitializer_Field.UInt32Value; } + [TestCase((ulong)1, "UInt64", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static ulong UInt64() { return TypeInitializer_Field.UInt64Value; } + [TestCase((int)1, "IntPtr", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static IntPtr IntPtr() { return TypeInitializer_Field.IntPtrValue; } + [TestCase((uint)1, "UIntPtr", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static UIntPtr UIntPtr() { return TypeInitializer_Field.UIntPtrValue; } + [TestCase((float)1, "Single", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static float Single() { return TypeInitializer_Field.SingleValue; } + [TestCase((double)1, "Double", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static double Double() { return TypeInitializer_Field.DoubleValue; } + [TestCase((char)1, "Char", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static char Char() { return TypeInitializer_Field.CharValue; } + [TestCase("ABC", "String", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] public static string String() { return TypeInitializer_Field.StringValue; } + [TestCase(0, "Int32_None", IncludeTypes = new[] { typeof(TypeInitializer_None) })] public static int Int32_None() { return TypeInitializer_None.Int32Value; } + [TestCase(null, "String_None", IncludeTypes = new[] { typeof(TypeInitializer_None) })] public static string? String_None() { return TypeInitializer_None.StringValue; } // Only manual revewing generated C source code. + [TestCase(0, "NonTracked", IncludeTypes = new[] { typeof(TypeInitializer_NonTrackingGCs) })] public static int NonTracked() { return TypeInitializer_NonTrackingGCs.Int32Value; diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializerAtomicity.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializerAtomicity.cs index 3accd1c7..b2f86179 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializerAtomicity.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializerAtomicity.cs @@ -48,11 +48,9 @@ public void Run() } } - [TestCase(1230, "MultipleExecution", 10, IncludeTypes = new[] { typeof(MultipleExecutionClosure), typeof(TypeInitializer_Atomicity) })] - [TestCase(0, "MultipleExecutionWithNoTypeInitializer", 40, IncludeTypes = new[] { typeof(MultipleExecutionClosure_NoTypeInitializer), typeof(TypeInitializer_Atomicity_NoTypeInitializer) })] - [TestCase(246, "AfterInitialized", IncludeTypes = new[] { typeof(TypeInitializer_Atomicity) })] partial class TypeInitializer { + [TestCase(1230, "MultipleExecution", 10, IncludeTypes = new[] { typeof(MultipleExecutionClosure), typeof(TypeInitializer_Atomicity) })] public static int MultipleExecution(int count) { var targets = new MultipleExecutionClosure[count]; @@ -84,6 +82,7 @@ public static int MultipleExecution(int count) return sum; } + [TestCase(0, "MultipleExecutionWithNoTypeInitializer", 40, IncludeTypes = new[] { typeof(MultipleExecutionClosure_NoTypeInitializer), typeof(TypeInitializer_Atomicity_NoTypeInitializer) })] public static int MultipleExecutionWithNoTypeInitializer(int count) { var targets = new MultipleExecutionClosure_NoTypeInitializer[count]; @@ -113,6 +112,7 @@ public static int MultipleExecutionWithNoTypeInitializer(int count) return sum; } + [TestCase(246, "AfterInitialized", IncludeTypes = new[] { typeof(TypeInitializer_Atomicity) })] public static int AfterInitialized() { var value0 = TypeInitializer_Atomicity.Int32Value; diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs index 39621b39..28533565 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs @@ -238,219 +238,219 @@ public class InstanceMultipleImplement3DepthType : InstanceMultipleImplement2Dep } [TestId("TypeRelations")] - [TestCase("223", "InstanceImplement", 123, IncludeTypes = new[] { typeof(InstanceImplementType), typeof(IInterfaceType1) })] - [TestCase("223", "InstanceImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceImplementType), typeof(IInterfaceType1) })] - [TestCase("223", "InstanceMultipleImplement1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] - [TestCase("223", "InstanceMultipleImplementFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] - [TestCase("323", "InstanceMultipleImplement2", 123L, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] - [TestCase("323", "InstanceMultipleImplementFromInterface2", 123L, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] - [TestCase("223", "InstanceMultipleImplementUnified1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementUnifiedType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("223", "InstanceMultipleImplementUnifiedFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementUnifiedType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("223", "InstanceMultipleImplementUnifiedFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementUnifiedType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("223", "InstanceMultipleImplementCombination", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementCombinationType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("223", "InstanceMultipleImplementCombinationFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementCombinationType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("323", "InstanceMultipleImplementCombinationFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementCombinationType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("223", "InstanceMultipleImplementExplicitlyFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementExplicitlyType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("323", "InstanceMultipleImplementExplicitlyFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementExplicitlyType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("223", "InstanceMultipleCombinedImplement", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementType), typeof(IInterfaceType4) })] - [TestCase("223", "InstanceMultipleCombined1ImplementFromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementType), typeof(IInterfaceType4) })] - [TestCase("323", "InstanceMultipleCombined2ImplementFromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementType), typeof(IInterfaceType4) })] - [TestCase("223", "InstanceMultipleCombinedAndParallelImplement", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedAndParallelImplementType), typeof(IInterfaceType4) })] - [TestCase("323", "InstanceMultipleCombinedAndParallel1ImplementFromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedAndParallelImplementType), typeof(IInterfaceType4) })] - [TestCase("423", "InstanceMultipleCombinedAndParallel2ImplementFromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedAndParallelImplementType), typeof(IInterfaceType4) })] - [TestCase("223", "InstanceMultipleCombinedImplementCombination1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("223", "InstanceMultipleCombined2ImplementCombination1FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("323", "InstanceMultipleCombined1ImplementCombination1FromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("423", "InstanceMultipleCombined2ImplementCombination1FromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("223", "InstanceMultipleCombinedImplementCombination2", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("323", "InstanceMultipleCombined2ImplementCombination2FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("223", "InstanceMultipleCombined1ImplementCombination2FromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("423", "InstanceMultipleCombined2ImplementCombination2FromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] - [TestCase("523", "InstanceMultipleImplementDepth", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplement3DepthType), typeof(InstanceMultipleImplement2DepthType), typeof(InstanceMultipleImplement1DepthType), typeof(InstanceMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("323", "InstanceMultipleImplementDepthFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplement3DepthType), typeof(InstanceMultipleImplement2DepthType), typeof(InstanceMultipleImplement1DepthType), typeof(InstanceMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("423", "InstanceMultipleImplementDepthFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplement3DepthType), typeof(InstanceMultipleImplement2DepthType), typeof(InstanceMultipleImplement1DepthType), typeof(InstanceMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public sealed class TypeImplements { + [TestCase("223", "InstanceImplement", 123, IncludeTypes = new[] { typeof(InstanceImplementType), typeof(IInterfaceType1) })] public static string InstanceImplement(int value) { var inst = new InstanceImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceImplementType), typeof(IInterfaceType1) })] public static string InstanceImplementFromInterface(int value) { IInterfaceType1 inst = new InstanceImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplement1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] public static string InstanceMultipleImplement1(int value) { var inst = new InstanceMultipleImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplementFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] public static string InstanceMultipleImplementFromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleImplement2", 123L, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] public static string InstanceMultipleImplement2(long value) { var inst = new InstanceMultipleImplementType(); return inst.GetStringFromInt64(value); } + [TestCase("323", "InstanceMultipleImplementFromInterface2", 123L, IncludeTypes = new[] { typeof(InstanceMultipleImplementType), typeof(IInterfaceType1), typeof(IInterfaceType2) })] public static string InstanceMultipleImplementFromInterface2(long value) { IInterfaceType2 inst = new InstanceMultipleImplementType(); return inst.GetStringFromInt64(value); } + [TestCase("223", "InstanceMultipleImplementUnified1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementUnifiedType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementUnified1(int value) { var inst = new InstanceMultipleImplementUnifiedType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplementUnifiedFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementUnifiedType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementUnifiedFromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleImplementUnifiedType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplementUnifiedFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementUnifiedType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementUnifiedFromInterface3(int value) { IInterfaceType3 inst = new InstanceMultipleImplementUnifiedType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplementCombination", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementCombinationType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementCombination(int value) { var inst = new InstanceMultipleImplementCombinationType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplementCombinationFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementCombinationType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementCombinationFromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleImplementCombinationType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleImplementCombinationFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementCombinationType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementCombinationFromInterface3(int value) { IInterfaceType3 inst = new InstanceMultipleImplementCombinationType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleImplementExplicitlyFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementExplicitlyType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementExplicitlyFromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleImplementExplicitlyType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleImplementExplicitlyFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplementExplicitlyType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementExplicitlyFromInterface3(int value) { IInterfaceType3 inst = new InstanceMultipleImplementExplicitlyType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleCombinedImplement", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementType), typeof(IInterfaceType4) })] public static string InstanceMultipleCombinedImplement(int value) { var inst = new InstanceMultipleCombinedImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleCombined1ImplementFromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementType), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementFromInterface4(int value) { IInterfaceType4 inst = new InstanceMultipleCombinedImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleCombined2ImplementFromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementType), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined2ImplementFromInterface4(long value) { IInterfaceType4 inst = new InstanceMultipleCombinedImplementType(); return inst.GetStringFromInt64(value); } + [TestCase("223", "InstanceMultipleCombinedAndParallelImplement", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedAndParallelImplementType), typeof(IInterfaceType4) })] public static string InstanceMultipleCombinedAndParallelImplement(int value) { var inst = new InstanceMultipleCombinedAndParallelImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleCombinedAndParallel1ImplementFromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedAndParallelImplementType), typeof(IInterfaceType4) })] public static string InstanceMultipleCombinedAndParallel1ImplementFromInterface4(int value) { IInterfaceType4 inst = new InstanceMultipleCombinedAndParallelImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceMultipleCombinedAndParallel2ImplementFromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedAndParallelImplementType), typeof(IInterfaceType4) })] public static string InstanceMultipleCombinedAndParallel2ImplementFromInterface4(long value) { IInterfaceType4 inst = new InstanceMultipleCombinedAndParallelImplementType(); return inst.GetStringFromInt64(value); } + [TestCase("223", "InstanceMultipleCombinedImplementCombination1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombinedImplementCombination1(int value) { var inst = new InstanceMultipleCombinedImplementCombinationType1(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleCombined2ImplementCombination1FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementCombination1FromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleCombinedImplementCombinationType1(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleCombined1ImplementCombination1FromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementCombination1FromInterface4(int value) { IInterfaceType4 inst = new InstanceMultipleCombinedImplementCombinationType1(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceMultipleCombined2ImplementCombination1FromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined2ImplementCombination1FromInterface4(long value) { IInterfaceType4 inst = new InstanceMultipleCombinedImplementCombinationType1(); return inst.GetStringFromInt64(value); } + [TestCase("223", "InstanceMultipleCombinedImplementCombination2", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombinedImplementCombination2(int value) { var inst = new InstanceMultipleCombinedImplementCombinationType2(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleCombined2ImplementCombination2FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementCombination2FromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleCombinedImplementCombinationType2(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceMultipleCombined1ImplementCombination2FromInterface4", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementCombination2FromInterface4(int value) { IInterfaceType4 inst = new InstanceMultipleCombinedImplementCombinationType2(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceMultipleCombined2ImplementCombination2FromInterface4", 123L, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined2ImplementCombination2FromInterface4(long value) { IInterfaceType4 inst = new InstanceMultipleCombinedImplementCombinationType2(); return inst.GetStringFromInt64(value); } + [TestCase("523", "InstanceMultipleImplementDepth", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplement3DepthType), typeof(InstanceMultipleImplement2DepthType), typeof(InstanceMultipleImplement1DepthType), typeof(InstanceMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementDepth(int value) { var inst = new InstanceMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceMultipleImplementDepthFromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplement3DepthType), typeof(InstanceMultipleImplement2DepthType), typeof(InstanceMultipleImplement1DepthType), typeof(InstanceMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementDepthFromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceMultipleImplementDepthFromInterface3", 123, IncludeTypes = new[] { typeof(InstanceMultipleImplement3DepthType), typeof(InstanceMultipleImplement2DepthType), typeof(InstanceMultipleImplement1DepthType), typeof(InstanceMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string InstanceMultipleImplementDepthFromInterface3(int value) { IInterfaceType3 inst = new InstanceMultipleImplement3DepthType(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritance.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritance.cs index 92061e8c..95ee85f9 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritance.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritance.cs @@ -202,184 +202,184 @@ public override string GetStringFromInt32(int value) [TestId("TypeRelations")] [Description("CLR type system contains single-inheritance class types and multiple-implementation interface types. These tests are verified the IL2C can handle the member methods both simple instance methods and complex overriden virtual methods.")] - [TestCase("223", "InstanceBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType) })] - [TestCase("323", "InstanceNew", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewType) })] - [TestCase("223", "InstanceNewFromBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewType) })] - [TestCase("323", "InstanceNewVirtual", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType) })] - [TestCase("223", "InstanceNewVirtualFromBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType) })] - [TestCase("423", "InstanceNewVirtualOverride", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideType) })] - [TestCase("223", "InstanceNewVirtualOverrideFromBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideType) })] - [TestCase("423", "InstanceNewVirtualOverrideFromNewVirtual", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideType) })] - [TestCase("223ABC", "InstanceNewCallBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewCallBaseType) })] - [TestCase("223ABC", "InstanceNewVirtualCallBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualCallBaseType) })] - [TestCase("323ABC", "InstanceNewVirtualOverrideCallBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideCallBaseType) })] - [TestCase("223", "VirtualBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType) })] - [TestCase("323", "VirtualOverride", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideType) })] - [TestCase("323", "VirtualOverrideFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideType) })] - [TestCase("323", "VirtualNew", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewType) })] - [TestCase("223", "VirtualNewFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewType) })] - [TestCase("323", "VirtualNewVirtual", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType) })] - [TestCase("223", "VirtualNewVirtualFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType) })] - [TestCase("423", "VirtualNewVirtualOverride", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideType) })] - [TestCase("223", "VirtualNewVirtualOverrideFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideType) })] - [TestCase("423", "VirtualNewVirtualOverrideFromNewVirtual", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideType) })] - [TestCase("223ABC", "VirtualOverrideCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideCallBaseType) })] - [TestCase("223ABC", "VirtualNewCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewCallBaseType) })] - [TestCase("223ABC", "VirtualNewVirtualCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualCallBaseType) })] - [TestCase("323ABC", "VirtualOverrideOverrideCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideType), typeof(VirtualOverrideOverrideCallBaseType) })] - [TestCase("323ABC", "VirtualNewVirtualOverrideCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideCallBaseType) })] public sealed class TypeInheritance { + [TestCase("223", "InstanceBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType) })] public static string InstanceBase(int value) { var inst = new InstanceBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNew", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewType) })] public static string InstanceNew(int value) { var inst = new InstanceNewType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceNewFromBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewType) })] public static string InstanceNewFromBase(int value) { InstanceBaseType inst = new InstanceNewType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNewVirtual", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType) })] public static string InstanceNewVirtual(int value) { var inst = new InstanceNewVirtualType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceNewVirtualFromBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType) })] public static string InstanceNewVirtualFromBase(int value) { InstanceBaseType inst = new InstanceNewVirtualType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceNewVirtualOverride", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideType) })] public static string InstanceNewVirtualOverride(int value) { var inst = new InstanceNewVirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceNewVirtualOverrideFromBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideType) })] public static string InstanceNewVirtualOverrideFromBase(int value) { InstanceBaseType inst = new InstanceNewVirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceNewVirtualOverrideFromNewVirtual", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideType) })] public static string InstanceNewVirtualOverrideFromNewVirtual(int value) { InstanceNewVirtualType inst = new InstanceNewVirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("223ABC", "InstanceNewCallBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewCallBaseType) })] public static string InstanceNewCallBase(int value) { var inst = new InstanceNewCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("223ABC", "InstanceNewVirtualCallBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualCallBaseType) })] public static string InstanceNewVirtualCallBase(int value) { var inst = new InstanceNewVirtualCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("323ABC", "InstanceNewVirtualOverrideCallBase", 123, IncludeTypes = new[] { typeof(InstanceBaseType), typeof(InstanceNewVirtualType), typeof(InstanceNewVirtualOverrideCallBaseType) })] public static string InstanceNewVirtualOverrideCallBase(int value) { var inst = new InstanceNewVirtualOverrideCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType) })] public static string VirtualBase(int value) { var inst = new VirtualBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverride", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideType) })] public static string VirtualOverride(int value) { var inst = new VirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideType) })] public static string VirtualOverrideFromBase(int value) { VirtualBaseType inst = new VirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualNew", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewType) })] public static string VirtualNew(int value) { var inst = new VirtualNewType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualNewFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewType) })] public static string VirtualNewFromBase(int value) { VirtualBaseType inst = new VirtualNewType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualNewVirtual", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType) })] public static string VirtualNewVirtual(int value) { var inst = new VirtualNewVirtualType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualNewVirtualFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType) })] public static string VirtualNewVirtualFromBase(int value) { VirtualBaseType inst = new VirtualNewVirtualType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualNewVirtualOverride", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideType) })] public static string VirtualNewVirtualOverride(int value) { var inst = new VirtualNewVirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualNewVirtualOverrideFromBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideType) })] public static string VirtualNewVirtualOverrideFromBase(int value) { VirtualBaseType inst = new VirtualNewVirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualNewVirtualOverrideFromNewVirtual", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideType) })] public static string VirtualNewVirtualOverrideFromNewVirtual(int value) { VirtualNewVirtualType inst = new VirtualNewVirtualOverrideType(); return inst.GetStringFromInt32(value); } + [TestCase("223ABC", "VirtualOverrideCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideCallBaseType) })] public static string VirtualOverrideCallBase(int value) { var inst = new VirtualOverrideCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("223ABC", "VirtualNewCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewCallBaseType) })] public static string VirtualNewCallBase(int value) { var inst = new VirtualNewCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("223ABC", "VirtualNewVirtualCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualCallBaseType) })] public static string VirtualNewVirtualCallBase(int value) { var inst = new VirtualNewVirtualCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("323ABC", "VirtualOverrideOverrideCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualOverrideType), typeof(VirtualOverrideOverrideCallBaseType) })] public static string VirtualOverrideOverrideCallBase(int value) { var inst = new VirtualOverrideOverrideCallBaseType(); return inst.GetStringFromInt32(value); } + [TestCase("323ABC", "VirtualNewVirtualOverrideCallBase", 123, IncludeTypes = new[] { typeof(VirtualBaseType), typeof(VirtualNewVirtualType), typeof(VirtualNewVirtualOverrideCallBaseType) })] public static string VirtualNewVirtualOverrideCallBase(int value) { var inst = new VirtualNewVirtualOverrideCallBaseType(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs index 8219c879..0ef7d2d8 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs @@ -285,282 +285,282 @@ public class VirtualNewVirtualMultipleImplement3DepthType : VirtualNewVirtualMul } [TestId("TypeRelations")] - [TestCase("223", "InstanceImplicitlyImplement", 123, IncludeTypes = new[] { typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("223", "InstanceImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "InstanceNewAndImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "InstanceNewAndImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "InstanceNewAndImplicitlyImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("223", "InstanceNewAndImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "InstanceNewAndNewImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndNewImplementType), typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "InstanceNewAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndNewImplementType), typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "InstanceNewAndImplicitlyAndNewImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyAndNewImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "InstanceNewAndImplicitlyAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyAndNewImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] - [TestCase("223", "VirtualImplicitlyImplement", 123, IncludeTypes = new[] { typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("223", "VirtualImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualNewAndImplement", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualNewAndImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualNewAndImplicitlyImplement", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("223", "VirtualNewAndImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "VirtualNewAndNewImplement", 123, IncludeTypes = new[] { typeof(VirtualNewAndNewImplementType), typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "VirtualNewAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewAndNewImplementType), typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndImplicitlyImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "VirtualOverrideAndNewImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "VirtualOverrideAndImplicitlyAndNewImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyAndNewImplementType), typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndImplicitlyAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyAndNewImplementType), typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("423", "VirtualOverrideAndNewVirtualImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndNewVirtualImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("323", "VirtualOverrideAndNewVirtualAndOverrideImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideReImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideReImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideReImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideReImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("223AAABBBCCCDDD", "VirtualNewVirtualStacked", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualStacked4Type), typeof(VirtualNewVirtualStacked3Type), typeof(VirtualNewVirtualStacked2Type), typeof(VirtualNewVirtualStacked1Type), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("223AAABBBCCC", "VirtualNewVirtualStackedFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualStacked4Type), typeof(VirtualNewVirtualStacked3Type), typeof(VirtualNewVirtualStacked2Type), typeof(VirtualNewVirtualStacked1Type), typeof(VirtualBaseType), typeof(IInterfaceType1) })] - [TestCase("523", "VirtualOverrideMultipleImplementDepth", 123, IncludeTypes = new[] { typeof(VirtualOverrideMultipleImplement3DepthType), typeof(VirtualOverrideMultipleImplement2DepthType), typeof(VirtualOverrideMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("523", "VirtualOverrideMultipleImplementDepthFromInterface1", 123, IncludeTypes = new[] { typeof(VirtualOverrideMultipleImplement3DepthType), typeof(VirtualOverrideMultipleImplement2DepthType), typeof(VirtualOverrideMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("523", "VirtualOverrideMultipleImplementDepthFromInterface3", 123, IncludeTypes = new[] { typeof(VirtualOverrideMultipleImplement3DepthType), typeof(VirtualOverrideMultipleImplement2DepthType), typeof(VirtualOverrideMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("523", "VirtualNewVirtualMultipleImplementDepth", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualMultipleImplement3DepthType), typeof(VirtualNewVirtualMultipleImplement2DepthType), typeof(VirtualNewVirtualMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("323", "VirtualNewVirtualMultipleImplementDepthFromInterface1", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualMultipleImplement3DepthType), typeof(VirtualNewVirtualMultipleImplement2DepthType), typeof(VirtualNewVirtualMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] - [TestCase("423", "VirtualNewVirtualMultipleImplementDepthFromInterface3", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualMultipleImplement3DepthType), typeof(VirtualNewVirtualMultipleImplement2DepthType), typeof(VirtualNewVirtualMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public sealed class TypeInheritanceAndImplements { + [TestCase("223", "InstanceImplicitlyImplement", 123, IncludeTypes = new[] { typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceImplicitlyImplement(int value) { var inst = new InstanceImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceImplicitlyImplementFromInterface(int value) { IInterfaceType1 inst = new InstanceImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNewAndImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndImplement(int value) { var inst = new InstanceNewAndImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNewAndImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndImplementFromInterface(int value) { IInterfaceType1 inst = new InstanceNewAndImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNewAndImplicitlyImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndImplicitlyImplement(int value) { var inst = new InstanceNewAndImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "InstanceNewAndImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndImplicitlyImplementFromInterface(int value) { IInterfaceType1 inst = new InstanceNewAndImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceNewAndNewImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndNewImplementType), typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndNewImplement(int value) { var inst = new InstanceNewAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "InstanceNewAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndNewImplementType), typeof(InstanceNewAndImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndNewImplementFromInterface(int value) { IInterfaceType1 inst = new InstanceNewAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNewAndImplicitlyAndNewImplement", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyAndNewImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndImplicitlyAndNewImplement(int value) { var inst = new InstanceNewAndImplicitlyAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "InstanceNewAndImplicitlyAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(InstanceNewAndImplicitlyAndNewImplementType), typeof(InstanceImplicitlyImplementType), typeof(InstanceBaseType), typeof(IInterfaceType1) })] public static string InstanceNewAndImplicitlyAndNewImplementFromInterface(int value) { IInterfaceType1 inst = new InstanceNewAndImplicitlyAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualImplicitlyImplement", 123, IncludeTypes = new[] { typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualImplicitlyImplement(int value) { var inst = new VirtualImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualImplicitlyImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualNewAndImplement", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewAndImplement(int value) { var inst = new VirtualNewAndImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualNewAndImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewAndImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualNewAndImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualNewAndImplicitlyImplement", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewAndImplicitlyImplement(int value) { var inst = new VirtualNewAndImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223", "VirtualNewAndImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewAndImplicitlyImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualNewAndImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualNewAndNewImplement", 123, IncludeTypes = new[] { typeof(VirtualNewAndNewImplementType), typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewAndNewImplement(int value) { var inst = new VirtualNewAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualNewAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewAndNewImplementType), typeof(VirtualNewAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewAndNewImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualNewAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndImplement(int value) { var inst = new VirtualOverrideAndImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndImplicitlyImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndImplicitlyImplement(int value) { var inst = new VirtualOverrideAndImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndImplicitlyImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndImplicitlyImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndImplicitlyImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualOverrideAndNewImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewImplement(int value) { var inst = new VirtualOverrideAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualOverrideAndImplicitlyAndNewImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyAndNewImplementType), typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndImplicitlyAndNewImplement(int value) { var inst = new VirtualOverrideAndImplicitlyAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndImplicitlyAndNewImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndImplicitlyAndNewImplementType), typeof(VirtualOverrideAndImplicitlyImplementType), typeof(VirtualImplicitlyImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndImplicitlyAndNewImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndImplicitlyAndNewImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualOverrideAndNewVirtualImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewVirtualImplement(int value) { var inst = new VirtualOverrideAndNewVirtualImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndNewVirtualImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewVirtualImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndNewVirtualImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewVirtualAndOverrideImplement(int value) { var inst = new VirtualOverrideAndNewVirtualAndOverrideImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualOverrideAndNewVirtualAndOverrideImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewVirtualAndOverrideImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndNewVirtualAndOverrideImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideReImplement", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideReImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewVirtualAndOverrideReImplement(int value) { var inst = new VirtualOverrideAndNewVirtualAndOverrideReImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideReImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideReImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualOverrideAndNewVirtualAndOverrideReImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndNewVirtualAndOverrideReImplementType(); return inst.GetStringFromInt32(value); } + [TestCase("223AAABBBCCCDDD", "VirtualNewVirtualStacked", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualStacked4Type), typeof(VirtualNewVirtualStacked3Type), typeof(VirtualNewVirtualStacked2Type), typeof(VirtualNewVirtualStacked1Type), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewVirtualStacked(int value) { var inst = new VirtualNewVirtualStacked4Type(); return inst.GetStringFromInt32(value); } + [TestCase("223AAABBBCCC", "VirtualNewVirtualStackedFromInterface", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualStacked4Type), typeof(VirtualNewVirtualStacked3Type), typeof(VirtualNewVirtualStacked2Type), typeof(VirtualNewVirtualStacked1Type), typeof(VirtualBaseType), typeof(IInterfaceType1) })] public static string VirtualNewVirtualStackedFromInterface(int value) { IInterfaceType1 inst = new VirtualNewVirtualStacked4Type(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualOverrideMultipleImplementDepth", 123, IncludeTypes = new[] { typeof(VirtualOverrideMultipleImplement3DepthType), typeof(VirtualOverrideMultipleImplement2DepthType), typeof(VirtualOverrideMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string VirtualOverrideMultipleImplementDepth(int value) { var inst = new VirtualOverrideMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualOverrideMultipleImplementDepthFromInterface1", 123, IncludeTypes = new[] { typeof(VirtualOverrideMultipleImplement3DepthType), typeof(VirtualOverrideMultipleImplement2DepthType), typeof(VirtualOverrideMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string VirtualOverrideMultipleImplementDepthFromInterface1(int value) { IInterfaceType1 inst = new VirtualOverrideMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualOverrideMultipleImplementDepthFromInterface3", 123, IncludeTypes = new[] { typeof(VirtualOverrideMultipleImplement3DepthType), typeof(VirtualOverrideMultipleImplement2DepthType), typeof(VirtualOverrideMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string VirtualOverrideMultipleImplementDepthFromInterface3(int value) { IInterfaceType3 inst = new VirtualOverrideMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("523", "VirtualNewVirtualMultipleImplementDepth", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualMultipleImplement3DepthType), typeof(VirtualNewVirtualMultipleImplement2DepthType), typeof(VirtualNewVirtualMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string VirtualNewVirtualMultipleImplementDepth(int value) { var inst = new VirtualNewVirtualMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("323", "VirtualNewVirtualMultipleImplementDepthFromInterface1", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualMultipleImplement3DepthType), typeof(VirtualNewVirtualMultipleImplement2DepthType), typeof(VirtualNewVirtualMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string VirtualNewVirtualMultipleImplementDepthFromInterface1(int value) { IInterfaceType1 inst = new VirtualNewVirtualMultipleImplement3DepthType(); return inst.GetStringFromInt32(value); } + [TestCase("423", "VirtualNewVirtualMultipleImplementDepthFromInterface3", 123, IncludeTypes = new[] { typeof(VirtualNewVirtualMultipleImplement3DepthType), typeof(VirtualNewVirtualMultipleImplement2DepthType), typeof(VirtualNewVirtualMultipleImplement1DepthType), typeof(VirtualMultipleImplementDepthBaseType), typeof(IInterfaceType1), typeof(IInterfaceType3) })] public static string VirtualNewVirtualMultipleImplementDepthFromInterface3(int value) { IInterfaceType3 inst = new VirtualNewVirtualMultipleImplement3DepthType(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs b/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs index e114043b..dbd86188 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ValueTypes/ValueTypes.cs @@ -155,38 +155,23 @@ public override string ToString() } [Description("Value types are specialized types at the .NET type system. Because the type inherited from the System.ValueType (objref type), all method has the managed pointer at the arg0 and these instances will box and apply the pseudo vptrs. These tests are verified the IL2C can handle value types.")] - [TestCase("123", "CallInstanceMethod", 123, IncludeTypes = new[] { typeof(ValueType1) })] - [TestCase("123", "CallInstanceMethodDirectly", 123, IncludeTypes = new[] { typeof(ValueType2), typeof(IValueTypeAccessor1) })] - [TestCase("123", "CallInstanceMethodBoxedInterface", 123, IncludeTypes = new[] { typeof(ValueType2), typeof(IValueTypeAccessor1) })] - [TestCase("123", "CallCombinedInstanceMethodDirectly", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] - [TestCase("123", "CallCombinedInstanceMethodBoxedInterface1", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] - [TestCase("123", "CallCombinedInstanceMethodBoxedInterface2", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] - [TestCase("123", "CallCombinedInstanceMethodExplicitlyDirectly", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedExplicitlyInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] - [TestCase("223", "CallCombinedInstanceMethodExplicitlyBoxedInterface1", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedExplicitlyInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] - [TestCase("323", "CallCombinedInstanceMethodExplicitlyBoxedInterface2", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedExplicitlyInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] - [TestCase("123", "CallOverrideMethod", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual1) })] - [TestCase("123", "CallOverrideMethodDirectly", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual2), typeof(IValueTypeOverrideAccessor) })] - [TestCase("123", "CallOverrideMethodBoxed", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual2), typeof(IValueTypeOverrideAccessor) })] - [TestCase("123", "CallOverrideMethodBoxedInterface", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual2), typeof(IValueTypeOverrideAccessor) })] - [TestCase("IL2C.RuntimeSystems.ValueTypeInheritedMethod", "CallInheritedMethod", IncludeTypes = new[] { typeof(ValueTypeInheritedMethod) })] - [TestCase(456, "ValueTypeUpdate1", 123, 456, IncludeTypes = new[] { typeof(ValueTypeUpdateType1) })] - [TestCase(123, "ValueTypeUpdate2", 123, 456, IncludeTypes = new[] { typeof(ValueTypeUpdateType2), typeof(IValueTypeUpdateType2) })] - [TestCase(123, "ValueTypeUpdate2ExplicitlyBoxed", 123, 456, IncludeTypes = new[] { typeof(ValueTypeUpdateType2), typeof(IValueTypeUpdateType2) })] - [TestCase(456, "ValueTypeUpdate3", 123, IncludeTypes = new[] { typeof(ValueTypeUpdateType3) })] public sealed class ValueTypes { + [TestCase("123", "CallInstanceMethod", 123, IncludeTypes = new[] { typeof(ValueType1) })] public static string CallInstanceMethod(int value) { var v = new ValueType1(value); return v.GetStringValue(); } + [TestCase("123", "CallInstanceMethodDirectly", 123, IncludeTypes = new[] { typeof(ValueType2), typeof(IValueTypeAccessor1) })] public static string CallInstanceMethodDirectly(int value) { var v = new ValueType2(value); return v.GetStringValue(); } + [TestCase("123", "CallInstanceMethodBoxedInterface", 123, IncludeTypes = new[] { typeof(ValueType2), typeof(IValueTypeAccessor1) })] public static string CallInstanceMethodBoxedInterface(int value) { // implicitly boxed @@ -194,12 +179,14 @@ public static string CallInstanceMethodBoxedInterface(int value) return v.GetStringValue(); } + [TestCase("123", "CallCombinedInstanceMethodDirectly", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] public static string CallCombinedInstanceMethodDirectly(int value) { var v = new ValueTypeCombinedInterfaces(value); return v.GetStringValue(); } + [TestCase("123", "CallCombinedInstanceMethodBoxedInterface1", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] public static string CallCombinedInstanceMethodBoxedInterface1(int value) { // implicitly boxed @@ -207,6 +194,7 @@ public static string CallCombinedInstanceMethodBoxedInterface1(int value) return v.GetStringValue(); } + [TestCase("123", "CallCombinedInstanceMethodBoxedInterface2", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] public static string CallCombinedInstanceMethodBoxedInterface2(int value) { // implicitly boxed @@ -214,12 +202,14 @@ public static string CallCombinedInstanceMethodBoxedInterface2(int value) return v.GetStringValue(); } + [TestCase("123", "CallCombinedInstanceMethodExplicitlyDirectly", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedExplicitlyInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] public static string CallCombinedInstanceMethodExplicitlyDirectly(int value) { var v = new ValueTypeCombinedExplicitlyInterfaces(value); return v.GetStringValue(); } + [TestCase("223", "CallCombinedInstanceMethodExplicitlyBoxedInterface1", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedExplicitlyInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] public static string CallCombinedInstanceMethodExplicitlyBoxedInterface1(int value) { // implicitly boxed @@ -227,6 +217,7 @@ public static string CallCombinedInstanceMethodExplicitlyBoxedInterface1(int val return v.GetStringValue(); } + [TestCase("323", "CallCombinedInstanceMethodExplicitlyBoxedInterface2", 123, IncludeTypes = new[] { typeof(ValueTypeCombinedExplicitlyInterfaces), typeof(IValueTypeAccessor1), typeof(IValueTypeAccessor2) })] public static string CallCombinedInstanceMethodExplicitlyBoxedInterface2(int value) { // implicitly boxed @@ -234,18 +225,21 @@ public static string CallCombinedInstanceMethodExplicitlyBoxedInterface2(int val return v.GetStringValue(); } + [TestCase("123", "CallOverrideMethod", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual1) })] public static string CallOverrideMethod(int value) { var v = new ValueTypeWithOverridedVirtual1(value); return v.ToString(); } + [TestCase("123", "CallOverrideMethodDirectly", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual2), typeof(IValueTypeOverrideAccessor) })] public static string CallOverrideMethodDirectly(int value) { var v = new ValueTypeWithOverridedVirtual2(value); return v.ToString(); } + [TestCase("123", "CallOverrideMethodBoxed", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual2), typeof(IValueTypeOverrideAccessor) })] public static string CallOverrideMethodBoxed(int value) { // implicitly boxed @@ -253,6 +247,7 @@ public static string CallOverrideMethodBoxed(int value) return v.ToString()!; } + [TestCase("123", "CallOverrideMethodBoxedInterface", 123, IncludeTypes = new[] { typeof(ValueTypeWithOverridedVirtual2), typeof(IValueTypeOverrideAccessor) })] public static string CallOverrideMethodBoxedInterface(int value) { // implicitly boxed @@ -260,12 +255,14 @@ public static string CallOverrideMethodBoxedInterface(int value) return v.ToString(); } + [TestCase("IL2C.RuntimeSystems.ValueTypeInheritedMethod", "CallInheritedMethod", IncludeTypes = new[] { typeof(ValueTypeInheritedMethod) })] public static string CallInheritedMethod() { var v = new ValueTypeInheritedMethod(); return v.ToString()!; } + [TestCase(456, "ValueTypeUpdate1", 123, 456, IncludeTypes = new[] { typeof(ValueTypeUpdateType1) })] public static int ValueTypeUpdate1(int before, int update) { var v = new ValueTypeUpdateType1(before); @@ -273,6 +270,7 @@ public static int ValueTypeUpdate1(int before, int update) return v.Value; } + [TestCase(123, "ValueTypeUpdate2", 123, 456, IncludeTypes = new[] { typeof(ValueTypeUpdateType2), typeof(IValueTypeUpdateType2) })] public static int ValueTypeUpdate2(int before, int update) { var v = new ValueTypeUpdateType2(before); @@ -280,6 +278,7 @@ public static int ValueTypeUpdate2(int before, int update) return v.Value; } + [TestCase(123, "ValueTypeUpdate2ExplicitlyBoxed", 123, 456, IncludeTypes = new[] { typeof(ValueTypeUpdateType2), typeof(IValueTypeUpdateType2) })] public static int ValueTypeUpdate2ExplicitlyBoxed(int before, int update) { var v = new ValueTypeUpdateType2(before); @@ -288,6 +287,7 @@ public static int ValueTypeUpdate2ExplicitlyBoxed(int before, int update) return v.Value; } + [TestCase(456, "ValueTypeUpdate3", 123, IncludeTypes = new[] { typeof(ValueTypeUpdateType3) })] public static int ValueTypeUpdate3(int before) { var v = new ValueTypeUpdateType3(before); From be482a078187544db67017f94897976041bbb95f Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 25 May 2022 20:15:06 +0900 Subject: [PATCH 015/144] Added netstandard and _Attribute interface runtime impls. --- .../Runtime/InteropServices/_Attribute.h | 42 +++++++++++++++++++ src/IL2C.Runtime/include/netstandard.h | 17 ++++++++ .../Runtime/InteropServices/_Attribute.c | 20 +++++++++ 3 files changed, 79 insertions(+) create mode 100644 src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h create mode 100644 src/IL2C.Runtime/include/netstandard.h create mode 100644 src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c diff --git a/src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h b/src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h new file mode 100644 index 00000000..6ada2930 --- /dev/null +++ b/src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h @@ -0,0 +1,42 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_Runtime_InteropServices__Attribute_H__ +#define System_Runtime_InteropServices__Attribute_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.Runtime.InteropServices._Attribute + +typedef struct System_Runtime_InteropServices__Attribute System_Runtime_InteropServices__Attribute; + +typedef const struct +{ + intptr_t offset__; // Adjustor offset +} System_Runtime_InteropServices__Attribute_VTABLE_DECL__; + +struct System_Runtime_InteropServices__Attribute +{ + System_Runtime_InteropServices__Attribute_VTABLE_DECL__* vptr0__; +}; + +IL2C_DECLARE_RUNTIME_TYPE(System_Runtime_InteropServices__Attribute); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/netstandard.h b/src/IL2C.Runtime/include/netstandard.h new file mode 100644 index 00000000..82dcdfd7 --- /dev/null +++ b/src/IL2C.Runtime/include/netstandard.h @@ -0,0 +1,17 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef netstandard_dll_H__ +#define netstandard_dll_H__ + +#pragma once + +#include + +#endif diff --git a/src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c b/src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c new file mode 100644 index 00000000..6e646dd0 --- /dev/null +++ b/src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c @@ -0,0 +1,20 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" +#include + +///////////////////////////////////////////////////////////// +// System.Runtime.InteropServices._Attribute + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_INTERFACE_BEGIN(System_Runtime_InteropServices__Attribute, "System.Runtime.InteropServices._Attribute", 0) +IL2C_RUNTIME_TYPE_END(); From 98ea27a4f9e61581ba7070d8025f4b7aa447514d Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 25 May 2022 20:16:04 +0900 Subject: [PATCH 016/144] Added supporting reference base paths. --- src/IL2C.Build/Program.cs | 2 +- src/IL2C.Core/Drivers/SimpleTranslator.cs | 5 +- .../Metadata/BasePathAssemblyResolver.cs | 28 ----- .../Metadata/IL2CAssemblyResolver.cs | 112 ++++++++++++++++++ src/IL2C.Core/Metadata/MetadataContext.cs | 16 ++- src/IL2C.Core/TranslateContext.cs | 7 +- 6 files changed, 129 insertions(+), 41 deletions(-) delete mode 100644 src/IL2C.Core/Metadata/BasePathAssemblyResolver.cs create mode 100644 src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs diff --git a/src/IL2C.Build/Program.cs b/src/IL2C.Build/Program.cs index eea28463..1084586a 100644 --- a/src/IL2C.Build/Program.cs +++ b/src/IL2C.Build/Program.cs @@ -115,7 +115,7 @@ public static async Task Main(string[] args) if ((drivingMode & DrivingModes.Translation) == DrivingModes.Translation) { var translationOptions = new TranslationOptions( - true, enableBundler, targetPlatform, debugInformationOptions); + true, refDirs, enableBundler, targetPlatform, debugInformationOptions); #if DEBUG var results = new List(); foreach (var assemblyPath in inputPaths) diff --git a/src/IL2C.Core/Drivers/SimpleTranslator.cs b/src/IL2C.Core/Drivers/SimpleTranslator.cs index 321f8ce0..c4190081 100644 --- a/src/IL2C.Core/Drivers/SimpleTranslator.cs +++ b/src/IL2C.Core/Drivers/SimpleTranslator.cs @@ -20,17 +20,20 @@ namespace IL2C.Drivers public sealed class TranslationOptions { public readonly bool ReadSymbols; + public readonly string[] ReferenceBasePaths; public readonly bool EnableBundler; public readonly TargetPlatforms TargetPlatform; public readonly DebugInformationOptions DebugInformationOption; public TranslationOptions( bool readSymbols, + string[] referenceBasePaths, bool enableBundler, TargetPlatforms targetPlatform, DebugInformationOptions debugInformationOption) { this.ReadSymbols = readSymbols; + this.ReferenceBasePaths = referenceBasePaths; this.EnableBundler = enableBundler; this.TargetPlatform = targetPlatform; this.DebugInformationOption = debugInformationOption; @@ -52,7 +55,7 @@ await IOAccessor.SafeCreateDirectoryAsync( ConfigureAwait(false); var translateContext = new TranslateContext( - assemblyPath, options.ReadSymbols, options.TargetPlatform); + assemblyPath, options.ReferenceBasePaths, options.ReadSymbols, options.TargetPlatform); var preparedFunctions = AssemblyPreparer.Prepare( translateContext); diff --git a/src/IL2C.Core/Metadata/BasePathAssemblyResolver.cs b/src/IL2C.Core/Metadata/BasePathAssemblyResolver.cs deleted file mode 100644 index 868a9b45..00000000 --- a/src/IL2C.Core/Metadata/BasePathAssemblyResolver.cs +++ /dev/null @@ -1,28 +0,0 @@ -//////////////////////////////////////////////////////////////////////////// -// -// IL2C - A translator for ECMA-335 CIL/MSIL to C language. -// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) -// -// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 -// -//////////////////////////////////////////////////////////////////////////// - -using Mono.Cecil; - -namespace IL2C.Metadata -{ - internal sealed class BasePathAssemblyResolver : DefaultAssemblyResolver - { - public BasePathAssemblyResolver(string basePath) - { - this.AddSearchDirectory(basePath); - } - - public override AssemblyDefinition Resolve(AssemblyNameReference name) - { - var definition = base.Resolve(name); - this.RegisterAssembly(definition); - return definition; - } - } -} diff --git a/src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs b/src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs new file mode 100644 index 00000000..8380277f --- /dev/null +++ b/src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs @@ -0,0 +1,112 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#nullable enable + +using System.IO; +using System.Linq; +using Mono.Cecil; +using Mono.Cecil.Cil; +using Mono.Cecil.Pdb; + +namespace IL2C.Metadata +{ + internal sealed class IL2CAssemblyResolver : DefaultAssemblyResolver + { + private sealed class IL2CSymbolReaderProvider : ISymbolReaderProvider + { + // HACK: cecil will lock symbol file when uses defaulted reading method. + // Makes safer around entire building process. + + private static readonly PdbReaderProvider parent = new(); + + public ISymbolReader? GetSymbolReader(ModuleDefinition module, string fileName) + { + if (module.HasDebugHeader) + { + var header = module.GetDebugHeader(); + if (header.Entries. + FirstOrDefault(e => e.Directory.Type == ImageDebugType.EmbeddedPortablePdb) is { } entry) + { + return new EmbeddedPortablePdbReaderProvider(). + GetSymbolReader(module, fileName); + } + + var fullPath = Path.GetFullPath(fileName); + var debuggingPath = Path.Combine( + fullPath, + Path.GetFileNameWithoutExtension(fullPath) + ".pdb"); + + if (File.Exists(debuggingPath)) + { + var ms = new MemoryStream(); + using (var pdbStream = new FileStream( + debuggingPath, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + pdbStream.CopyTo(ms); + } + ms.Position = 0; + + return parent.GetSymbolReader(module, ms); + } + } + + return null; + } + + public ISymbolReader? GetSymbolReader(ModuleDefinition module, Stream symbolStream) + { + var ms = new MemoryStream(); + symbolStream.CopyTo(ms); + ms.Position = 0; + + symbolStream.Dispose(); + + return parent.GetSymbolReader(module, ms); + } + } + + public IL2CAssemblyResolver( + string assemblyPath, string[] referenceBasePaths, bool readSymbols) + { + base.AddSearchDirectory(Path.GetDirectoryName(Path.GetFullPath(assemblyPath))); + + foreach (var referenceBasePath in referenceBasePaths) + { + base.AddSearchDirectory(Path.GetFullPath(referenceBasePath)); + } + } + + public override AssemblyDefinition Resolve(AssemblyNameReference name) + { + var parameters = new ReaderParameters() + { + ReadWrite = false, + InMemory = true, + AssemblyResolver = this, + SymbolReaderProvider = new IL2CSymbolReaderProvider(), + ReadSymbols = true, + }; + return base.Resolve(name, parameters); + } + + public AssemblyDefinition ReadFrom(string assemblyPath) + { + var parameters = new ReaderParameters() + { + ReadWrite = false, + InMemory = true, + AssemblyResolver = this, + SymbolReaderProvider = new IL2CSymbolReaderProvider(), + ReadSymbols = true, + }; + return AssemblyDefinition.ReadAssembly(assemblyPath, parameters); + } + } +} diff --git a/src/IL2C.Core/Metadata/MetadataContext.cs b/src/IL2C.Core/Metadata/MetadataContext.cs index 94c3c9de..526d577c 100644 --- a/src/IL2C.Core/Metadata/MetadataContext.cs +++ b/src/IL2C.Core/Metadata/MetadataContext.cs @@ -13,6 +13,7 @@ using System.Linq; using Mono.Cecil; +using Mono.Cecil.Pdb; using IL2C.Metadata.Specialized; @@ -81,18 +82,15 @@ internal sealed class MetadataContext new Dictionary(ModuleReferenceComparer.Instance); private readonly Dictionary members = new Dictionary(MemberReferenceComparer.Instance); - private readonly BasePathAssemblyResolver resolver; + private readonly IL2CAssemblyResolver resolver; - internal MetadataContext(string assemblyPath, bool readSymbols) + internal MetadataContext( + string assemblyPath, string[] referenceBasePaths, bool readSymbols) { - resolver = new BasePathAssemblyResolver(Path.GetDirectoryName(assemblyPath)); - var assemblyReaderParameter = new ReaderParameters - { - AssemblyResolver = resolver, - ReadSymbols = readSymbols - }; + resolver = new IL2CAssemblyResolver( + assemblyPath, referenceBasePaths, readSymbols); - var mainAssembly = AssemblyDefinition.ReadAssembly(assemblyPath, assemblyReaderParameter); + var mainAssembly = resolver.ReadFrom(assemblyPath); var mainAssemblyInformation = new AssemblyInformation(mainAssembly, this); resolvedCoreModule = mainAssembly.MainModule.TypeSystem.Object.Resolve().Module; diff --git a/src/IL2C.Core/TranslateContext.cs b/src/IL2C.Core/TranslateContext.cs index e369cc98..b9f90a6f 100644 --- a/src/IL2C.Core/TranslateContext.cs +++ b/src/IL2C.Core/TranslateContext.cs @@ -44,9 +44,12 @@ public sealed class TranslateContext private string currentExceptionNestedFrameIndexName; #endregion - public TranslateContext(string assemblyPath, bool readSymbols, TargetPlatforms targetPlatform) + public TranslateContext( + string assemblyPath, string[] referenceBasePath, bool readSymbols, + TargetPlatforms targetPlatform) { - var context = new MetadataContext(assemblyPath, readSymbols); + var context = new MetadataContext( + assemblyPath, referenceBasePath, readSymbols); this.MetadataContext = context; this.Assembly = context.MainAssembly; this.TargetPlatform = targetPlatform; From b06816dec50d3a4052d98e4ad05c4c475ed34193 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 25 May 2022 20:16:26 +0900 Subject: [PATCH 017/144] WIP --- il2c.sln | 15 +++++++++++++ src/IL2C.Runtime/include/il2c.h | 1 + .../IL2C.Core.Test.BasicTypes.csproj | 21 +++++++++++++++++++ .../TestCaseAttribute.cs | 20 +++++++++++++----- 4 files changed, 52 insertions(+), 5 deletions(-) diff --git a/il2c.sln b/il2c.sln index 3fad1d64..66ce49cf 100644 --- a/il2c.sln +++ b/il2c.sln @@ -44,12 +44,27 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{3EBFA913-C EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.BasicTypes", "tests\IL2C.Core.Test.BasicTypes\IL2C.Core.Test.BasicTypes.csproj", "{A6072CD1-A526-45F2-BB88-D1040AC3A7E8}" + ProjectSection(ProjectDependencies) = postProject + {BB7FA204-433A-416B-B9D0-9A79DF874284} = {BB7FA204-433A-416B-B9D0-9A79DF874284} + {182A62A4-47AC-4290-8EA5-250AE8131613} = {182A62A4-47AC-4290-8EA5-250AE8131613} + {2CBC90EC-5581-452F-8231-086E4553D20E} = {2CBC90EC-5581-452F-8231-086E4553D20E} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.Common", "tests\IL2C.Core.Test.Common\IL2C.Core.Test.Common.csproj", "{6811E378-50B3-4206-BB48-1E56A2F2D90E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.ILConverters", "tests\IL2C.Core.Test.ILConverters\IL2C.Core.Test.ILConverters.csproj", "{DC306000-300C-4E65-826C-2E41C6445CA9}" + ProjectSection(ProjectDependencies) = postProject + {BB7FA204-433A-416B-B9D0-9A79DF874284} = {BB7FA204-433A-416B-B9D0-9A79DF874284} + {182A62A4-47AC-4290-8EA5-250AE8131613} = {182A62A4-47AC-4290-8EA5-250AE8131613} + {2CBC90EC-5581-452F-8231-086E4553D20E} = {2CBC90EC-5581-452F-8231-086E4553D20E} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.RuntimeSystems", "tests\IL2C.Core.Test.RuntimeSystems\IL2C.Core.Test.RuntimeSystems.csproj", "{E397A251-4373-4A8E-AA13-3891282DEDC7}" + ProjectSection(ProjectDependencies) = postProject + {BB7FA204-433A-416B-B9D0-9A79DF874284} = {BB7FA204-433A-416B-B9D0-9A79DF874284} + {182A62A4-47AC-4290-8EA5-250AE8131613} = {182A62A4-47AC-4290-8EA5-250AE8131613} + {2CBC90EC-5581-452F-8231-086E4553D20E} = {2CBC90EC-5581-452F-8231-086E4553D20E} + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{C26C4683-9840-4307-8774-F1F952E3591B}" EndProject diff --git a/src/IL2C.Runtime/include/il2c.h b/src/IL2C.Runtime/include/il2c.h index 4b537764..bf8e6bda 100644 --- a/src/IL2C.Runtime/include/il2c.h +++ b/src/IL2C.Runtime/include/il2c.h @@ -391,6 +391,7 @@ typedef void* untyped_ptr; #include "System/IFormattable.h" #include "System/FormatException.h" #include "System/GC.h" +#include "System/Runtime/InteropServices/_Attribute.h" #include "System/Runtime/InteropServices/GCHandleType.h" #include "System/Runtime/InteropServices/GCHandle.h" #include "System/Runtime/InteropServices/NativePointer.h" diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 575750a4..42978336 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -1,13 +1,25 @@  + + + + + + + + net48 Library False enable IL2C.Core.Test.BasicTypes IL2C.BasicTypes + + Debug + true @@ -26,4 +38,13 @@ + + + + + + + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\..\..\src\IL2C.Build\bin\$(Configuration)\$(_IL2C_PlatformName)')) + + diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index bee760d1..d5d67349 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -10,7 +10,6 @@ #nullable enable using System; -using System.Linq; using NUnit.Framework.Interfaces; @@ -23,7 +22,7 @@ public enum TestCaseAsserts CauseBreak } - [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)] + [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] public sealed class TestCaseAttribute : NUnit.Framework.TestCaseAttribute, NUnit.Framework.ITestAction { @@ -39,7 +38,7 @@ public TestCaseAttribute( this.Assert = TestCaseAsserts.PerfectMatch; this.IncludeBaseTypes = false; this.IncludeTypes = Type.EmptyTypes; - this.IgnoreILErrors = Array.Empty(); + this.IgnoreILErrors = new string[0]; } // This overload contains additional methods, those are used from the test method (first methodName is target.) @@ -50,12 +49,22 @@ public TestCaseAttribute( base.ExpectedResult = expected; this.MethodName = methodNames[0]; // test method - this.AdditionalMethodNames = methodNames.Skip(1).ToArray(); // additionals + this.AdditionalMethodNames = GetAdditionalMethodNames(methodNames); // additionals this.Assert = TestCaseAsserts.PerfectMatch; this.IncludeBaseTypes = false; this.IncludeTypes = Type.EmptyTypes; - this.IgnoreILErrors = Array.Empty(); + this.IgnoreILErrors = new string[0]; + } + + private static string[] GetAdditionalMethodNames(string[] methodNames) + { + var amns = new string[methodNames.Length - 1]; + for (var index = 0; index < (methodNames.Length - 1); index++) + { + amns[index] = methodNames[index + 1]; + } + return amns; } public string MethodName { get; } @@ -79,6 +88,7 @@ public void AfterTest(ITest test) { // TODO: delegates to test native code. } + #if false private static object?[] ConvertToArgumentsType(object?[] args, Type[] argumentTypes) => args.Zip(argumentTypes, ConvertToArgumentType).ToArray(); From 40c25716de061bf79a040b1f426cce8e2f697a89 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 25 May 2022 23:48:16 +0900 Subject: [PATCH 018/144] WIP --- .../ArtifactCollector.csproj | 2 +- .../IL2C.Toolchain.gcc4.mingw32.csproj | 2 +- src/IL2C.Build/Program.cs | 2 +- src/IL2C.Build/build/IL2C.Build.props | 2 + src/IL2C.Build/build/IL2C.Build.targets | 13 ++- src/IL2C.Core/AssemblyPreparer.cs | 8 +- src/IL2C.Core/CodeTextStorage.cs | 2 +- src/IL2C.Core/Drivers/NativeBinaryBuilder.cs | 16 ++-- src/IL2C.Core/Drivers/SimpleTranslator.cs | 11 +-- src/IL2C.Core/Internal/IOAccessor.cs | 18 +++- ...ssemblyResolver.cs => AssemblyResolver.cs} | 74 ++++++++++++---- src/IL2C.Core/Metadata/MetadataContext.cs | 86 ++++++++++--------- .../Specialized/BoxedValueTypeInformation.cs | 1 + .../UntypedReferenceTypeInformation.cs | 1 + src/IL2C.Core/Metadata/TypeInformation.cs | 8 ++ src/IL2C.Core/TranslateContext.cs | 11 ++- .../IgnoreTranslationAttribute.cs | 19 ++++ .../IL2C.Core.Test.BasicTypes.csproj | 2 +- .../IL2C.Core.Test.Common.csproj | 4 + .../TestCaseAttribute.cs | 4 +- .../IL2C.Core.Test.Common/TestIdAttribute.cs | 2 + .../IL2C.Core.Test.ILConverters.csproj | 2 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 2 +- 23 files changed, 200 insertions(+), 92 deletions(-) rename src/IL2C.Core/Metadata/{IL2CAssemblyResolver.cs => AssemblyResolver.cs} (55%) create mode 100644 src/IL2C.Interop/IgnoreTranslationAttribute.cs diff --git a/misc/ArtifactCollector/ArtifactCollector.csproj b/misc/ArtifactCollector/ArtifactCollector.csproj index f3b969b6..16e9be9a 100644 --- a/misc/ArtifactCollector/ArtifactCollector.csproj +++ b/misc/ArtifactCollector/ArtifactCollector.csproj @@ -10,7 +10,7 @@ - + diff --git a/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj b/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj index 4df2000e..d9409c47 100644 --- a/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj +++ b/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/IL2C.Build/Program.cs b/src/IL2C.Build/Program.cs index 1084586a..bdecf166 100644 --- a/src/IL2C.Build/Program.cs +++ b/src/IL2C.Build/Program.cs @@ -115,7 +115,7 @@ public static async Task Main(string[] args) if ((drivingMode & DrivingModes.Translation) == DrivingModes.Translation) { var translationOptions = new TranslationOptions( - true, refDirs, enableBundler, targetPlatform, debugInformationOptions); + refDirs, enableBundler, targetPlatform, debugInformationOptions); #if DEBUG var results = new List(); foreach (var assemblyPath in inputPaths) diff --git a/src/IL2C.Build/build/IL2C.Build.props b/src/IL2C.Build/build/IL2C.Build.props index 11adcbe2..2c4d9fe5 100644 --- a/src/IL2C.Build/build/IL2C.Build.props +++ b/src/IL2C.Build/build/IL2C.Build.props @@ -41,6 +41,8 @@ $(Configuration) $(IL2CConfiguration) il2c + true + true diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index d71d6196..e42c6f3d 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -14,8 +14,6 @@ - true - true Full false false @@ -48,8 +46,15 @@ - - + + + + <_IL2C_BuildAfterTargets Condition="'$(ILComposeDependsOnTargets)' != ''">ILComposeBuildTarget + <_IL2C_BuildAfterTargets Condition="'$(ILComposeDependsOnTargets)' == ''">Compile + + + diff --git a/src/IL2C.Core/AssemblyPreparer.cs b/src/IL2C.Core/AssemblyPreparer.cs index 236ba0e4..1900991a 100644 --- a/src/IL2C.Core/AssemblyPreparer.cs +++ b/src/IL2C.Core/AssemblyPreparer.cs @@ -67,8 +67,6 @@ private static IEnumerable DecodeAndEnumerateILBodies( } } - private static readonly SequencePoint[] empty = new SequencePoint[0]; - private static PreparedMethodInformation PrepareMethodBody( IPrepareContext prepareContext, IMethodInformation method) @@ -132,8 +130,8 @@ from ilBody in DecodeAndEnumerateILBodies(dc) dc.UniqueCodeBlockIndex, ilBody.Code, dc.DecodingPathNumber)). - OrderBy(ilb => ilb.UniqueCodeBlockIndex). - ThenBy(ilb => ilb.Label.Offset). + OrderBy(ilb => ilb.UniqueCodeBlockIndex). // TODO: Pointless? + ThenBy(ilb => ilb.Label.Offset). // TODO: Pointless? ToDictionary(ilb => ilb.Label.Offset, ilb => ilb.Emitter); ////////////////////////////////////////////////////////////////////////////// @@ -310,7 +308,7 @@ public static PreparedInformations Prepare(TranslateContext translateContext) return Prepare( translateContext, // All types - type => true, + type => !type.IsIgnoreTranslation, // The methods except type initializer. method => !(method.IsConstructor && method.IsStatic)); } diff --git a/src/IL2C.Core/CodeTextStorage.cs b/src/IL2C.Core/CodeTextStorage.cs index 43b214e3..ff638814 100644 --- a/src/IL2C.Core/CodeTextStorage.cs +++ b/src/IL2C.Core/CodeTextStorage.cs @@ -57,7 +57,7 @@ public CodeTextWriter CreateHeaderWriter(string fileName) protected virtual TextWriter OnCreateTextWriter(string path) { - var directoryPath = IOAccessor.SafeGetDirectoryName(path); + var directoryPath = IOAccessor.GetDirectoryPath(path); try { if (!Directory.Exists(directoryPath)) diff --git a/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs b/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs index 1eeea88e..5447701b 100644 --- a/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs +++ b/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs @@ -100,7 +100,7 @@ private static async Task ExecuteCompilerAsync( var sourceCodeFileName = Path.GetFileNameWithoutExtension(sourceCodePath); var outputBasePath = Path.Combine( outputStagingDirPath, - IOAccessor.SafeGetDirectoryName(sourceCodePath.Substring(sourceDir.Length + 1))); + IOAccessor.GetDirectoryPath(sourceCodePath.Substring(sourceDir.Length + 1))); var outputPath = Path.Combine( outputBasePath, outputFileName); @@ -144,7 +144,7 @@ private static ValueTask ExecuteArchiverAsync( string[] nativeCompilerBasePaths, string nativeArchiver) { - var outputBasePath = IOAccessor.SafeGetDirectoryName(outputPath); + var outputBasePath = IOAccessor.GetDirectoryPath(outputPath); var buildScriptPath = Path.Combine( outputBasePath, $"build_{Path.GetFileNameWithoutExtension(outputPath)}"); @@ -177,14 +177,14 @@ public static async ValueTask CompileToNativeAsync( Path.Combine( outputDirFullPath, artifactPathOptions.OutputNativeArchiveFileName)); - var nativeToolchainBasePath = IOAccessor.SafeGetDirectoryName( + var nativeToolchainBasePath = IOAccessor.GetDirectoryPath( toolchainOptions.NativeCompiler); var nativeToolchainBasePaths = string.IsNullOrWhiteSpace(nativeToolchainBasePath) ? new string[0] : new[] { Path.GetFullPath(nativeToolchainBasePath) }; - logger.Information($"Preparing for compilation native binary: \"{sourceCodeDirFullPath}\" ..."); + logger.Information($"Preparing for compilation native binary: {sourceCodeDirFullPath}"); await IOAccessor.SafeCreateDirectoryAsync( outputDirFullPath, outputDirFullPath != sourceCodeDirFullPath). @@ -209,7 +209,7 @@ await IOAccessor.SafeCreateDirectoryAsync( ///////////////////////////////////////////////////////////// // Compiling step: - logger.Information($"Compiling native binary into \"{outputNativeArchiveFullPath}\" ..."); + logger.Information($"Compiling native binary into: {outputNativeArchiveFullPath}"); // Compile in small pieces: // Because LTO (LTCG) is not always enable, it is better to subdivide object files @@ -218,7 +218,7 @@ await IOAccessor.SafeCreateDirectoryAsync( var crs = new List(); foreach (var sourceCodePath in sourceCodePaths) { - logger.Trace($"Compiling source code: \"{sourceCodePath}\" ..."); + logger.Trace($"Compiling source code: {sourceCodePath}"); var r = await ExecuteCompilerAsync( sourceCodePath, outputStagingBaseDirPath, @@ -287,7 +287,7 @@ mainEntryPoint is { } && outputDirFullPath, artifactPathOptions.OutputNativeExecutableFileName)); - logger.Information($"Linking native binary \"{outputNativeExecutableFullPath}\""); + logger.Information($"Linking native binary: {outputNativeExecutableFullPath}"); var mainSourceCodePath = Path.Combine( outputDirFullPath, @@ -324,7 +324,7 @@ mainEntryPoint is { } && throw new Exception($"{Path.GetFileName(toolchainOptions.NativeCompiler)}: {crf}"); } - logger.Information($"Built native binary: \"{outputNativeExecutableFullPath}\" ..."); + logger.Information($"Built native binary: {outputNativeExecutableFullPath}"); } } } diff --git a/src/IL2C.Core/Drivers/SimpleTranslator.cs b/src/IL2C.Core/Drivers/SimpleTranslator.cs index c4190081..e706da14 100644 --- a/src/IL2C.Core/Drivers/SimpleTranslator.cs +++ b/src/IL2C.Core/Drivers/SimpleTranslator.cs @@ -19,20 +19,17 @@ namespace IL2C.Drivers { public sealed class TranslationOptions { - public readonly bool ReadSymbols; public readonly string[] ReferenceBasePaths; public readonly bool EnableBundler; public readonly TargetPlatforms TargetPlatform; public readonly DebugInformationOptions DebugInformationOption; public TranslationOptions( - bool readSymbols, string[] referenceBasePaths, bool enableBundler, TargetPlatforms targetPlatform, DebugInformationOptions debugInformationOption) { - this.ReadSymbols = readSymbols; this.ReferenceBasePaths = referenceBasePaths; this.EnableBundler = enableBundler; this.TargetPlatform = targetPlatform; @@ -48,18 +45,18 @@ public static async ValueTask TranslateAsync( TranslationOptions options, string assemblyPath) { - logger.Information($"Preparing assembly: \"{Path.GetFullPath(assemblyPath)}\" ..."); + logger.Information($"Preparing assembly: {Path.GetFullPath(assemblyPath)}"); await IOAccessor.SafeCreateDirectoryAsync( storage.BasePath, true). ConfigureAwait(false); var translateContext = new TranslateContext( - assemblyPath, options.ReferenceBasePaths, options.ReadSymbols, options.TargetPlatform); + logger, assemblyPath, options.ReferenceBasePaths, options.TargetPlatform); var preparedFunctions = AssemblyPreparer.Prepare( translateContext); - logger.Information($"Translating assembly: \"{Path.GetFullPath(assemblyPath)}\" ..."); + logger.Information($"Translating assembly: {Path.GetFullPath(assemblyPath)}"); // TODO: Makes asynchronously operation. @@ -81,7 +78,7 @@ await IOAccessor.SafeCreateDirectoryAsync( options.DebugInformationOption); } - logger.Information($"Translated assembly: Stored into \"{Path.GetFullPath(storage.BasePath)}\""); + logger.Information($"Translated assembly: Stored into {Path.GetFullPath(storage.BasePath)}"); return translateContext.MetadataContext.EntryPoint; } diff --git a/src/IL2C.Core/Internal/IOAccessor.cs b/src/IL2C.Core/Internal/IOAccessor.cs index d1f3fd77..e4bdeb9c 100644 --- a/src/IL2C.Core/Internal/IOAccessor.cs +++ b/src/IL2C.Core/Internal/IOAccessor.cs @@ -43,8 +43,22 @@ public static string ToRelativePath(string baseDirPath, string path) return candidate.Length >= 1 ? candidate : "."; } - public static string SafeGetDirectoryName(string path) => - Path.GetDirectoryName(path) ?? "."; + public static string GetDirectoryPath(string path) + { + var d = Path.GetDirectoryName(path); + if (d == null) + { + return Path.DirectorySeparatorChar.ToString(); + } + else if (string.IsNullOrWhiteSpace(d)) + { + return Path.GetFullPath("."); + } + else + { + return Path.GetFullPath(d); + } + } public static ValueTask SafeCreateDirectoryAsync(string path, bool clean) => new ValueTask(Task.Run(() => diff --git a/src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs b/src/IL2C.Core/Metadata/AssemblyResolver.cs similarity index 55% rename from src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs rename to src/IL2C.Core/Metadata/AssemblyResolver.cs index 8380277f..0c788fcd 100644 --- a/src/IL2C.Core/Metadata/IL2CAssemblyResolver.cs +++ b/src/IL2C.Core/Metadata/AssemblyResolver.cs @@ -11,36 +11,47 @@ using System.IO; using System.Linq; + using Mono.Cecil; using Mono.Cecil.Cil; using Mono.Cecil.Pdb; +using IL2C.Internal; + namespace IL2C.Metadata { - internal sealed class IL2CAssemblyResolver : DefaultAssemblyResolver + internal sealed class AssemblyResolver : DefaultAssemblyResolver { - private sealed class IL2CSymbolReaderProvider : ISymbolReaderProvider + private sealed class SymbolReaderProvider : ISymbolReaderProvider { // HACK: cecil will lock symbol file when uses defaulted reading method. // Makes safer around entire building process. private static readonly PdbReaderProvider parent = new(); + private readonly ILogger logger; + + public SymbolReaderProvider(ILogger logger) => + this.logger = logger; + public ISymbolReader? GetSymbolReader(ModuleDefinition module, string fileName) { if (module.HasDebugHeader) { + var fullPath = Path.GetFullPath(fileName); + var header = module.GetDebugHeader(); if (header.Entries. FirstOrDefault(e => e.Directory.Type == ImageDebugType.EmbeddedPortablePdb) is { } entry) { - return new EmbeddedPortablePdbReaderProvider(). + var sr = new EmbeddedPortablePdbReaderProvider(). GetSymbolReader(module, fileName); + this.logger.Trace($"Symbol loaded from: {fullPath}"); + return sr; } - var fullPath = Path.GetFullPath(fileName); var debuggingPath = Path.Combine( - fullPath, + IOAccessor.GetDirectoryPath(fullPath), Path.GetFileNameWithoutExtension(fullPath) + ".pdb"); if (File.Exists(debuggingPath)) @@ -53,10 +64,13 @@ private sealed class IL2CSymbolReaderProvider : ISymbolReaderProvider } ms.Position = 0; - return parent.GetSymbolReader(module, ms); + var sr = parent.GetSymbolReader(module, ms); + this.logger.Trace($"Symbol loaded from: {debuggingPath}"); + return sr; } } + this.logger.Trace($"Symbol not found: {fileName}"); return null; } @@ -72,14 +86,25 @@ private sealed class IL2CSymbolReaderProvider : ISymbolReaderProvider } } - public IL2CAssemblyResolver( - string assemblyPath, string[] referenceBasePaths, bool readSymbols) + private readonly ILogger logger; + + public AssemblyResolver( + ILogger logger, string targetBasePath, string[] referenceBasePaths) { - base.AddSearchDirectory(Path.GetDirectoryName(Path.GetFullPath(assemblyPath))); + this.logger = logger; + + void Add(string path) + { + var fullPath = Path.GetFullPath(path); + base.AddSearchDirectory(fullPath); + this.logger.Trace($"Reference base path: {fullPath}"); + } + + Add(targetBasePath); foreach (var referenceBasePath in referenceBasePaths) { - base.AddSearchDirectory(Path.GetFullPath(referenceBasePath)); + Add(referenceBasePath); } } @@ -90,23 +115,42 @@ public override AssemblyDefinition Resolve(AssemblyNameReference name) ReadWrite = false, InMemory = true, AssemblyResolver = this, - SymbolReaderProvider = new IL2CSymbolReaderProvider(), + SymbolReaderProvider = new SymbolReaderProvider(this.logger), + ReadSymbols = true, + }; + var ad = base.Resolve(name, parameters); + this.logger.Trace($"Assembly loaded: {ad.MainModule.FileName}"); + return ad; + } + + public AssemblyDefinition ReadAssemblyFrom(string assemblyPath) + { + var parameters = new ReaderParameters() + { + ReadWrite = false, + InMemory = true, + AssemblyResolver = this, + SymbolReaderProvider = new SymbolReaderProvider(this.logger), ReadSymbols = true, }; - return base.Resolve(name, parameters); + var ad = AssemblyDefinition.ReadAssembly(assemblyPath, parameters); + this.logger.Trace($"Assembly loaded: {ad.MainModule.FileName}"); + return ad; } - public AssemblyDefinition ReadFrom(string assemblyPath) + public ModuleDefinition ReadModuleFrom(string modulePath) { var parameters = new ReaderParameters() { ReadWrite = false, InMemory = true, AssemblyResolver = this, - SymbolReaderProvider = new IL2CSymbolReaderProvider(), + SymbolReaderProvider = new SymbolReaderProvider(this.logger), ReadSymbols = true, }; - return AssemblyDefinition.ReadAssembly(assemblyPath, parameters); + var md = ModuleDefinition.ReadModule(modulePath, parameters); + this.logger.Trace($"Module loaded: {md.FileName}"); + return md; } } } diff --git a/src/IL2C.Core/Metadata/MetadataContext.cs b/src/IL2C.Core/Metadata/MetadataContext.cs index 526d577c..dc3531d9 100644 --- a/src/IL2C.Core/Metadata/MetadataContext.cs +++ b/src/IL2C.Core/Metadata/MetadataContext.cs @@ -71,6 +71,8 @@ internal sealed class MetadataContext private static readonly HashSet derivedFromMulticastDelegateValidTargetMethods = new HashSet { ".ctor", "Invoke" }; + private readonly ILogger logger; + private readonly AssemblyDefinition resolvedCoreAssembly; private readonly ModuleDefinition resolvedCoreModule; @@ -82,63 +84,65 @@ internal sealed class MetadataContext new Dictionary(ModuleReferenceComparer.Instance); private readonly Dictionary members = new Dictionary(MemberReferenceComparer.Instance); - private readonly IL2CAssemblyResolver resolver; + private readonly AssemblyResolver resolver; internal MetadataContext( - string assemblyPath, string[] referenceBasePaths, bool readSymbols) + ILogger logger, string assemblyPath, string[] referenceBasePaths) { - resolver = new IL2CAssemblyResolver( - assemblyPath, referenceBasePaths, readSymbols); + this.logger = logger; + + this.resolver = new AssemblyResolver( + this.logger, assemblyPath, referenceBasePaths); - var mainAssembly = resolver.ReadFrom(assemblyPath); + var mainAssembly = this.resolver.ReadAssemblyFrom(assemblyPath); var mainAssemblyInformation = new AssemblyInformation(mainAssembly, this); - resolvedCoreModule = mainAssembly.MainModule.TypeSystem.Object.Resolve().Module; - resolvedCoreAssembly = resolvedCoreModule.Assembly; + this.resolvedCoreModule = mainAssembly.MainModule.TypeSystem.Object.Resolve().Module; + this.resolvedCoreAssembly = this.resolvedCoreModule.Assembly; var resolvedCoreAssemblyInformation = new AssemblyInformation( - resolvedCoreAssembly, this); + this.resolvedCoreAssembly, this); var resolvedCoreModuleInformation = new ModuleInformation( - resolvedCoreModule, resolvedCoreAssemblyInformation); + this.resolvedCoreModule, resolvedCoreAssemblyInformation); this.MainAssembly = mainAssemblyInformation; - assemblies.Add(mainAssembly, mainAssemblyInformation); - assemblies.Add(resolvedCoreAssembly, resolvedCoreAssemblyInformation); - modules.Add(resolvedCoreModule, resolvedCoreModuleInformation); - assemblyByModule.Add(resolvedCoreModule, resolvedCoreAssembly); - - this.VoidType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Void); - this.ObjectType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Object); - this.ValueTypeType = this.GetOrAddType(resolvedCoreModule.GetType("System.ValueType")); - this.EnumType = this.GetOrAddType(resolvedCoreModule.GetType("System.Enum")); - this.DelegateType = this.GetOrAddType(resolvedCoreModule.GetType("System.Delegate")); - this.MulticastDelegateType = this.GetOrAddType(resolvedCoreModule.GetType("System.MulticastDelegate")); - this.ArrayType = this.GetOrAddType(resolvedCoreModule.GetType("System.Array")); - this.ExceptionType = this.GetOrAddType(resolvedCoreModule.GetType("System.Exception")); - - this.ByteType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Byte); - this.SByteType = this.GetOrAddType(resolvedCoreModule.TypeSystem.SByte); - this.Int16Type = this.GetOrAddType(resolvedCoreModule.TypeSystem.Int16); - this.UInt16Type = this.GetOrAddType(resolvedCoreModule.TypeSystem.UInt16); - this.Int32Type = this.GetOrAddType(resolvedCoreModule.TypeSystem.Int32); - this.UInt32Type = this.GetOrAddType(resolvedCoreModule.TypeSystem.UInt32); - this.Int64Type = this.GetOrAddType(resolvedCoreModule.TypeSystem.Int64); - this.UInt64Type = this.GetOrAddType(resolvedCoreModule.TypeSystem.UInt64); - this.SingleType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Single); - this.DoubleType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Double); - this.IntPtrType = this.GetOrAddType(resolvedCoreModule.TypeSystem.IntPtr); - this.UIntPtrType = this.GetOrAddType(resolvedCoreModule.TypeSystem.UIntPtr); - this.CharType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Char); - this.StringType = this.GetOrAddType(resolvedCoreModule.TypeSystem.String); - this.BooleanType = this.GetOrAddType(resolvedCoreModule.TypeSystem.Boolean); - - this.RuntimeFieldHandle = this.GetOrAddType(resolvedCoreModule.GetType("System.RuntimeFieldHandle")); + this.assemblies.Add(mainAssembly, mainAssemblyInformation); + this.assemblies.Add(this.resolvedCoreAssembly, resolvedCoreAssemblyInformation); + this.modules.Add(this.resolvedCoreModule, resolvedCoreModuleInformation); + this.assemblyByModule.Add(this.resolvedCoreModule, resolvedCoreAssembly); + + this.VoidType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Void); + this.ObjectType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Object); + this.ValueTypeType = this.GetOrAddType(this.resolvedCoreModule.GetType("System.ValueType")); + this.EnumType = this.GetOrAddType(this.resolvedCoreModule.GetType("System.Enum")); + this.DelegateType = this.GetOrAddType(this.resolvedCoreModule.GetType("System.Delegate")); + this.MulticastDelegateType = this.GetOrAddType(this.resolvedCoreModule.GetType("System.MulticastDelegate")); + this.ArrayType = this.GetOrAddType(this.resolvedCoreModule.GetType("System.Array")); + this.ExceptionType = this.GetOrAddType(this.resolvedCoreModule.GetType("System.Exception")); + + this.ByteType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Byte); + this.SByteType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.SByte); + this.Int16Type = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Int16); + this.UInt16Type = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.UInt16); + this.Int32Type = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Int32); + this.UInt32Type = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.UInt32); + this.Int64Type = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Int64); + this.UInt64Type = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.UInt64); + this.SingleType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Single); + this.DoubleType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Double); + this.IntPtrType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.IntPtr); + this.UIntPtrType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.UIntPtr); + this.CharType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Char); + this.StringType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.String); + this.BooleanType = this.GetOrAddType(this.resolvedCoreModule.TypeSystem.Boolean); + + this.RuntimeFieldHandle = this.GetOrAddType(this.resolvedCoreModule.GetType("System.RuntimeFieldHandle")); this.EntryPoint = mainAssembly.EntryPoint is { } entryPoint ? this.GetOrAddMethod(entryPoint) : null; } public IAssemblyInformation MainAssembly { get; } - public IEnumerable Assemblies => assemblies.Values; + public IEnumerable Assemblies => this.assemblies.Values; public IMethodInformation EntryPoint { get; } diff --git a/src/IL2C.Core/Metadata/Specialized/BoxedValueTypeInformation.cs b/src/IL2C.Core/Metadata/Specialized/BoxedValueTypeInformation.cs index 39115b9d..aafd3b51 100644 --- a/src/IL2C.Core/Metadata/Specialized/BoxedValueTypeInformation.cs +++ b/src/IL2C.Core/Metadata/Specialized/BoxedValueTypeInformation.cs @@ -31,6 +31,7 @@ public BoxedValueTypeInformation(ITypeInformation boxedType) public string ScopeName => string.Empty; public bool IsValidDefinition => false; + public bool IsIgnoreTranslation => false; public bool IsPublic => false; public bool IsNotPublic => false; diff --git a/src/IL2C.Core/Metadata/Specialized/UntypedReferenceTypeInformation.cs b/src/IL2C.Core/Metadata/Specialized/UntypedReferenceTypeInformation.cs index 3e4be701..b7def1b6 100644 --- a/src/IL2C.Core/Metadata/Specialized/UntypedReferenceTypeInformation.cs +++ b/src/IL2C.Core/Metadata/Specialized/UntypedReferenceTypeInformation.cs @@ -31,6 +31,7 @@ private UntypedReferenceTypeInformation() public string ScopeName => string.Empty; public bool IsValidDefinition => false; + public bool IsIgnoreTranslation => false; public bool IsPublic => false; public bool IsNotPublic => false; diff --git a/src/IL2C.Core/Metadata/TypeInformation.cs b/src/IL2C.Core/Metadata/TypeInformation.cs index 42cef416..689100f2 100644 --- a/src/IL2C.Core/Metadata/TypeInformation.cs +++ b/src/IL2C.Core/Metadata/TypeInformation.cs @@ -24,6 +24,8 @@ public interface ITypeInformation : IMemberInformation { string ScopeName { get; } + bool IsIgnoreTranslation { get; } + bool IsPublic { get; } bool IsNotPublic { get; } bool IsNestedPublic { get; } @@ -219,6 +221,11 @@ public override string AttributeDescription } } + public bool IsIgnoreTranslation => + this.Definition is TypeDefinition definition && + definition.CustomAttributes. + Any(ca => ca.AttributeType.FullName == "System.Runtime.InteropServices.IgnoreTranslationAttribute"); + public bool IsPublic => (this.Definition as TypeDefinition)?.IsPublic ?? false; public bool IsNotPublic => (this.Definition as TypeDefinition)?.IsNotPublic ?? false; public bool IsNestedPublic => (this.Definition as TypeDefinition)?.IsNestedPublic ?? false; @@ -412,6 +419,7 @@ public ITypeInformation ElementType null; } } + public ITypeInformation[] InterfaceTypes { get diff --git a/src/IL2C.Core/TranslateContext.cs b/src/IL2C.Core/TranslateContext.cs index b9f90a6f..23e95265 100644 --- a/src/IL2C.Core/TranslateContext.cs +++ b/src/IL2C.Core/TranslateContext.cs @@ -29,6 +29,8 @@ public sealed class TranslateContext : IPrepareContext, IExtractContextHost { #region Fields + private readonly ILogger logger; + private readonly Dictionary> registeredTypes = new Dictionary>(); private readonly Dictionary> registeredTypesByDeclaringType = @@ -45,11 +47,16 @@ public sealed class TranslateContext #endregion public TranslateContext( - string assemblyPath, string[] referenceBasePath, bool readSymbols, + ILogger logger, + string assemblyPath, + string[] referenceBasePath, TargetPlatforms targetPlatform) { + this.logger = logger; + var context = new MetadataContext( - assemblyPath, referenceBasePath, readSymbols); + this.logger, assemblyPath, referenceBasePath); + this.MetadataContext = context; this.Assembly = context.MainAssembly; this.TargetPlatform = targetPlatform; diff --git a/src/IL2C.Interop/IgnoreTranslationAttribute.cs b/src/IL2C.Interop/IgnoreTranslationAttribute.cs new file mode 100644 index 00000000..00684568 --- /dev/null +++ b/src/IL2C.Interop/IgnoreTranslationAttribute.cs @@ -0,0 +1,19 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +namespace System.Runtime.InteropServices +{ + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface | AttributeTargets.Enum | AttributeTargets.Delegate, AllowMultiple=false, Inherited=false)] + public sealed class IgnoreTranslationAttribute : Attribute + { + public IgnoreTranslationAttribute() + { + } + } +} diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 42978336..35343a5c 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -24,7 +24,7 @@ - + diff --git a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj index 2d40c76b..b9b2cc9d 100644 --- a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj +++ b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj @@ -12,4 +12,8 @@ + + + + diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index d5d67349..449aad90 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -10,11 +10,12 @@ #nullable enable using System; - +using System.Runtime.InteropServices; using NUnit.Framework.Interfaces; namespace IL2C { + [IgnoreTranslation] public enum TestCaseAsserts { PerfectMatch, @@ -22,6 +23,7 @@ public enum TestCaseAsserts CauseBreak } + [IgnoreTranslation] [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] public sealed class TestCaseAttribute : NUnit.Framework.TestCaseAttribute, NUnit.Framework.ITestAction diff --git a/tests/IL2C.Core.Test.Common/TestIdAttribute.cs b/tests/IL2C.Core.Test.Common/TestIdAttribute.cs index 548d52e2..64b81350 100644 --- a/tests/IL2C.Core.Test.Common/TestIdAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestIdAttribute.cs @@ -8,9 +8,11 @@ //////////////////////////////////////////////////////////////////////////// using System; +using System.Runtime.InteropServices; namespace IL2C { + [IgnoreTranslation] [AttributeUsage(AttributeTargets.Class)] public sealed class TestIdAttribute : Attribute { diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 72f44484..85bbb78a 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -12,7 +12,7 @@ - + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index 5a28af17..9a0ce773 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -12,7 +12,7 @@ - + From b749463e4c8d8c98f5bbf8ef15e2a708b2fd99f7 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 27 May 2022 00:30:01 +0900 Subject: [PATCH 019/144] WIP --- src/IL2C.Core/Metadata/MetadataContext.cs | 47 +++++++++++++++++------ 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/src/IL2C.Core/Metadata/MetadataContext.cs b/src/IL2C.Core/Metadata/MetadataContext.cs index dc3531d9..baf0daf9 100644 --- a/src/IL2C.Core/Metadata/MetadataContext.cs +++ b/src/IL2C.Core/Metadata/MetadataContext.cs @@ -274,16 +274,46 @@ internal TypeInformation GetOrAddType( } var module = this.GetOrAddModule(typeReference); - if (typeReference.Module.Equals(resolvedCoreModule) && - validTargetMembers.TryGetValue(typeReference.FullName, out var filterList)) + if (typeReference.Module.Equals(resolvedCoreModule)) { - return new TypeInformation(typeReference, module, filterList); + if (validTargetMembers.TryGetValue(typeReference.FullName, out var filterList)) + { + return new TypeInformation(typeReference, module, filterList); + } + } + + // Excepts Corlib's COM interface (Such as _AppDomain, _Assembly, _Attribute ...) + var typeDefinition = typeReference.Resolve(); + if (typeDefinition.Interfaces. + Where(itr => + itr.InterfaceType.Resolve() is { } itd && + itd.Module.Equals(resolvedCoreModule) && + itd.Name.StartsWith("_") && + itd.CustomAttributes.Any(ca => + ca.AttributeType.FullName == "System.Runtime.InteropServices.ComVisibleAttribute" && + ca.ConstructorArguments.Count == 1 && + ca.ConstructorArguments[0].Value.Equals(true))). + Select(it => it.InterfaceType). + ToArray() is { } itfts && + itfts.Length >= 1) + { + return new TypeInformation(typeReference, module, m => + { + if (m is TypeReference tr && + itfts.Any(itft => itft.FullName == tr.FullName)) + { + return false; + } + else + { + return true; + } + }); } // Special filter for the enum type. if (typeReference.IsValueType && !typeReference.IsPrimitive && !typeReference.IsPointer) { - var typeDefinition = typeReference.Resolve(); if (typeDefinition.IsEnum) { return new TypeInformation(typeReference, module, m => @@ -306,17 +336,12 @@ internal TypeInformation GetOrAddType( if (!typeReference.IsValueType && !typeReference.IsArray && !typeReference.IsByReference && !typeReference.IsPointer) { - var typeDefinition = typeReference.Resolve(); - // TODO: try to resolve typeDefinition from mscorelib - if (typeDefinition == null) - { - throw new InvalidProgramSequenceException($"cannot resolve type {typeReference.FullName}"); - } if (typeDefinition.IsClass && !typeDefinition.IsAbstract && MemberReferenceComparer.Instance.Equals( typeDefinition.BaseType, ((TypeInformation)MulticastDelegateType).Member)) { - return new TypeInformation(typeReference, module, derivedFromMulticastDelegateValidTargetMethods); + return new TypeInformation( + typeReference, module, derivedFromMulticastDelegateValidTargetMethods); } } From c6ddec973f57c48df975668262a7c187e5364cc5 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 27 May 2022 23:01:51 +0900 Subject: [PATCH 020/144] Fixed causing undefined symbol for older COM interfaces. --- src/IL2C.Core/Metadata/MetadataContext.cs | 13 +++--- .../Runtime/InteropServices/_Attribute.h | 42 ------------------- src/IL2C.Runtime/include/il2c.h | 1 - .../Runtime/InteropServices/_Attribute.c | 20 --------- 4 files changed, 8 insertions(+), 68 deletions(-) delete mode 100644 src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h delete mode 100644 src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c diff --git a/src/IL2C.Core/Metadata/MetadataContext.cs b/src/IL2C.Core/Metadata/MetadataContext.cs index baf0daf9..d71a02b4 100644 --- a/src/IL2C.Core/Metadata/MetadataContext.cs +++ b/src/IL2C.Core/Metadata/MetadataContext.cs @@ -16,6 +16,7 @@ using Mono.Cecil.Pdb; using IL2C.Metadata.Specialized; +using System.Diagnostics; namespace IL2C.Metadata { @@ -274,7 +275,7 @@ internal TypeInformation GetOrAddType( } var module = this.GetOrAddModule(typeReference); - if (typeReference.Module.Equals(resolvedCoreModule)) + if (typeReference.Module.Assembly.FullName.Equals(resolvedCoreModule.Assembly.FullName)) { if (validTargetMembers.TryGetValue(typeReference.FullName, out var filterList)) { @@ -282,13 +283,15 @@ internal TypeInformation GetOrAddType( } } + Debug.Assert(typeReference.FullName != "System.Attribute"); + // Excepts Corlib's COM interface (Such as _AppDomain, _Assembly, _Attribute ...) var typeDefinition = typeReference.Resolve(); if (typeDefinition.Interfaces. - Where(itr => - itr.InterfaceType.Resolve() is { } itd && - itd.Module.Equals(resolvedCoreModule) && - itd.Name.StartsWith("_") && + Where(ii => + ii.InterfaceType.Module.Assembly.FullName.Equals(resolvedCoreModule.Assembly.FullName) && + ii.InterfaceType.Name.StartsWith("_") && + ii.InterfaceType.Resolve() is { } itd && itd.CustomAttributes.Any(ca => ca.AttributeType.FullName == "System.Runtime.InteropServices.ComVisibleAttribute" && ca.ConstructorArguments.Count == 1 && diff --git a/src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h b/src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h deleted file mode 100644 index 6ada2930..00000000 --- a/src/IL2C.Runtime/include/System/Runtime/InteropServices/_Attribute.h +++ /dev/null @@ -1,42 +0,0 @@ -//////////////////////////////////////////////////////////////////////////// -// -// IL2C - A translator for ECMA-335 CIL/MSIL to C language. -// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) -// -// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 -// -//////////////////////////////////////////////////////////////////////////// - -#ifndef System_Runtime_InteropServices__Attribute_H__ -#define System_Runtime_InteropServices__Attribute_H__ - -#pragma once - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -///////////////////////////////////////////////////////////// -// System.Runtime.InteropServices._Attribute - -typedef struct System_Runtime_InteropServices__Attribute System_Runtime_InteropServices__Attribute; - -typedef const struct -{ - intptr_t offset__; // Adjustor offset -} System_Runtime_InteropServices__Attribute_VTABLE_DECL__; - -struct System_Runtime_InteropServices__Attribute -{ - System_Runtime_InteropServices__Attribute_VTABLE_DECL__* vptr0__; -}; - -IL2C_DECLARE_RUNTIME_TYPE(System_Runtime_InteropServices__Attribute); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/IL2C.Runtime/include/il2c.h b/src/IL2C.Runtime/include/il2c.h index bf8e6bda..4b537764 100644 --- a/src/IL2C.Runtime/include/il2c.h +++ b/src/IL2C.Runtime/include/il2c.h @@ -391,7 +391,6 @@ typedef void* untyped_ptr; #include "System/IFormattable.h" #include "System/FormatException.h" #include "System/GC.h" -#include "System/Runtime/InteropServices/_Attribute.h" #include "System/Runtime/InteropServices/GCHandleType.h" #include "System/Runtime/InteropServices/GCHandle.h" #include "System/Runtime/InteropServices/NativePointer.h" diff --git a/src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c b/src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c deleted file mode 100644 index 6e646dd0..00000000 --- a/src/IL2C.Runtime/src/System/Runtime/InteropServices/_Attribute.c +++ /dev/null @@ -1,20 +0,0 @@ -//////////////////////////////////////////////////////////////////////////// -// -// IL2C - A translator for ECMA-335 CIL/MSIL to C language. -// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) -// -// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 -// -//////////////////////////////////////////////////////////////////////////// - -#include "il2c_private.h" -#include - -///////////////////////////////////////////////////////////// -// System.Runtime.InteropServices._Attribute - -///////////////////////////////////////////////// -// VTable and runtime type info declarations - -IL2C_RUNTIME_TYPE_INTERFACE_BEGIN(System_Runtime_InteropServices__Attribute, "System.Runtime.InteropServices._Attribute", 0) -IL2C_RUNTIME_TYPE_END(); From 08236a38c0a5b502a880941f0479ca8f31451fb4 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 27 May 2022 23:23:19 +0900 Subject: [PATCH 021/144] Fixed causing unnamed argument with produced empty string name. --- src/IL2C.Core/Metadata/MetadataContext.cs | 2 -- src/IL2C.Core/Metadata/MethodInformation.cs | 40 ++++++++++++++------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/IL2C.Core/Metadata/MetadataContext.cs b/src/IL2C.Core/Metadata/MetadataContext.cs index d71a02b4..01662ba4 100644 --- a/src/IL2C.Core/Metadata/MetadataContext.cs +++ b/src/IL2C.Core/Metadata/MetadataContext.cs @@ -283,8 +283,6 @@ internal TypeInformation GetOrAddType( } } - Debug.Assert(typeReference.FullName != "System.Attribute"); - // Excepts Corlib's COM interface (Such as _AppDomain, _Assembly, _Attribute ...) var typeDefinition = typeReference.Resolve(); if (typeDefinition.Interfaces. diff --git a/src/IL2C.Core/Metadata/MethodInformation.cs b/src/IL2C.Core/Metadata/MethodInformation.cs index f1c03701..654ebd6a 100644 --- a/src/IL2C.Core/Metadata/MethodInformation.cs +++ b/src/IL2C.Core/Metadata/MethodInformation.cs @@ -129,13 +129,18 @@ private IParameterInformation CreateThisParameterInformation(ITypeInformation th thisType.IsValueType ? thisType.MakeByReference() : thisType, emptyCustomAttribute); - private IParameterInformation ToParameterInformation(ParameterReference parameter) => - new ParameterInformation( + private IParameterInformation ToParameterInformation(ParameterReference parameter) + { + var index = this.HasThis ? + (parameter.Index + 1) : + parameter.Index; + return new ParameterInformation( this, - this.HasThis ? (parameter.Index + 1) : parameter.Index, - parameter.Name, + index, + string.IsNullOrWhiteSpace(parameter.Name) ? $"arg{index}__" : parameter.Name, this.MetadataContext.GetOrAddType(parameter.ParameterType), parameter.Resolve().CustomAttributes.ToArray()); + } public override string MetadataTypeName => "Method"; @@ -196,7 +201,7 @@ private IParameterInformation ToParameterInformation(ParameterReference paramete Concat(this.Member.Parameters.Select(this.ToParameterInformation)). ToArray() : this.Member.Parameters. - Select(ToParameterInformation). + Select(this.ToParameterInformation). ToArray(); public ILocalVariableInformation[] LocalVariables => this.Definition.Body.Variables. @@ -437,10 +442,12 @@ public string CLanguageFunctionPrototype var parametersString = (this.Parameters.Length >= 1) ? string.Join( ", ", - this.Parameters.Select(parameter => string.Format( + this.Parameters.Select((parameter, index) => string.Format( "{0} {1}", parameter.TargetType.CLanguageTypeName, - parameter.ParameterName))) : + string.IsNullOrWhiteSpace(parameter.ParameterName) ? + $"arg{(this.HasThis ? (index + 1) : index)}__" : + parameter.ParameterName))) : "void"; var returnTypeName = @@ -462,10 +469,12 @@ public string CLanguagePInvokePrototype var parametersString = (this.Parameters.Length >= 1) ? string.Join( ", ", - this.Parameters.Select(parameter => string.Format( + this.Parameters.Select((parameter, index) => string.Format( "{0} {1}", - parameter.TargetType.CLanguageInteropTypeName, - parameter.ParameterName))) : + parameter.TargetType.CLanguageTypeName, + string.IsNullOrWhiteSpace(parameter.ParameterName) ? + $"arg{(this.HasThis ? (index + 1) : index)}__" : + parameter.ParameterName))) : "void"; var returnTypeName = @@ -493,7 +502,7 @@ private enum CLanguageFunctionTypeFormats private string GetCLanguageFunctionType(CLanguageFunctionTypeFormats format) { - // The first argument (arg0) is switched type name by virtual attribute between strict type and "void*." + // The first argument (arg0) is switched type name by virtual attribute between strict type and "void*". // non virtual : int32_t (*DoThat)(System_String* this__) // virtual : int32_t (*DoThat)(void* this__) @@ -501,8 +510,13 @@ private string GetCLanguageFunctionType(CLanguageFunctionTypeFormats format) string.Join( ", ", this.Parameters.Select((parameter, index) => - ((this.IsVirtual && (index == 0)) ? "void*" : parameter.TargetType.CLanguageTypeName) + - ((format == CLanguageFunctionTypeFormats.Type) ? string.Empty : (" " + parameter.ParameterName)))) : + ((this.IsVirtual && (index == 0)) ? + "void*" : parameter.TargetType.CLanguageTypeName) + + ((format == CLanguageFunctionTypeFormats.Type) ? + string.Empty : + string.IsNullOrWhiteSpace(parameter.ParameterName) ? + $" arg{(this.HasThis ? (index + 1) : index)}__" : + $" {parameter.ParameterName}"))) : "void"; var returnTypeName = this.ReturnType.CLanguageTypeName; From 3400c23ddaf1124e0f831cc366265e7efa2dd8f8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 27 May 2022 23:49:29 +0900 Subject: [PATCH 022/144] Added on-the-fly building script at ILConverter test. --- .../IL2C.Core.Test.BasicTypes.csproj | 2 +- .../IL2C.Core.Test.ILConverters.csproj | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 35343a5c..63c6c1e8 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -19,7 +19,7 @@ IL2C.BasicTypes Debug - true + false diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 85bbb78a..f486b229 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -1,13 +1,25 @@  + + + + + + + + net48 Library False enable IL2C.Core.Test.ILConverters IL2C.ILConverters + + Debug + false @@ -26,4 +38,13 @@ + + + + + + + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\..\..\src\IL2C.Build\bin\$(Configuration)\$(_IL2C_PlatformName)')) + + From 412536c5b22f6dc26b648be80e837a1e889457b4 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 17:27:52 +0900 Subject: [PATCH 023/144] Fixed that generated native executables even though not specified. --- src/IL2C.Build/build/IL2C.Build.targets | 10 +++++++--- .../IL2C.Core.Test.BasicTypes.csproj | 3 --- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index e42c6f3d..31ffc0e3 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -20,6 +20,10 @@ Generic Information false + + + Library + $(OutputType) @@ -119,8 +123,8 @@ <_IL2C_OutputNativeArchiveFileName>$(IL2COutputNativeName).a - <_IL2C_OutputNativeExecutableFileName Condition="('$(OutputType)' != 'Library') AND ('$(OS)' == 'Windows_NT')">$(IL2COutputNativeName).exe - <_IL2C_OutputNativeExecutableFileName Condition="('$(OutputType)' != 'Library') AND ('$(OS)' != 'Windows_NT')">$(IL2COutputNativeName) + <_IL2C_OutputNativeExecutableFileName Condition="('$(IL2COutputType)' != 'Library') AND ('$(OS)' == 'Windows_NT')">$(IL2COutputNativeName).exe + <_IL2C_OutputNativeExecutableFileName Condition="('$(IL2COutputType)' != 'Library') AND ('$(OS)' != 'Windows_NT')">$(IL2COutputNativeName) @@ -134,7 +138,7 @@ <_IL2C_NativeLibPathOption>--libs="$(IL2CNativeLibPath)" <_IL2C_OutputNativeArchiveFileNameOption>--outputNativeArchive="$(_IL2C_OutputNativeArchiveFileName)" <_IL2C_OutputNativeExecutableFileNameOption Condition="'$(_IL2C_OutputNativeExecutableFileName)' != ''">--outputNativeExecutable="$(_IL2C_OutputNativeExecutableFileName)" - <_IL2C_NativeMainTemplatePathOption Condition="'$(OutputType)' != 'Library'">--mainTemplate="$(IL2CNativeMainTemplatePath)" + <_IL2C_NativeMainTemplatePathOption Condition="'$(IL2COutputType)' != 'Library'">--mainTemplate="$(IL2CNativeMainTemplatePath)" <_IL2C_LaunchDebuggerOption Condition="$(IL2CBuildLaunchDebugger)">--launchDebugger <_IL2C_NativeOptions>$(_IL2C_NativeCompilerOption) $(_IL2C_NativeCompilerFlagsOption) $(_IL2C_NativeLinkingFlagsOption) $(_IL2C_NativeArchiverOption) $(_IL2C_NativeIncludeDirOption) $(_IL2C_NativeLibPathOption) $(_IL2C_OutputNativeArchiveFileNameOption) $(_IL2C_OutputNativeExecutableFileNameOption) $(_IL2C_NativeMainTemplatePathOption) $(_IL2C_LaunchDebuggerOption) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 63c6c1e8..b8c0ff1c 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -7,10 +7,7 @@ - - net48 Library False enable From 2cbb6f1da780acb289fb9f98d7b4adda99fd06c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20Vir=C3=A1gh?= Date: Wed, 13 Oct 2021 11:56:26 +0200 Subject: [PATCH 024/144] Fix for #105, stop endless loop, fix static constructor handling #97, #98 Cherry picked from 9091c5b323d8bc034156c8cbd2e325ce0a704714 --- src/IL2C.Core/AssemblyPreparer.cs | 2 +- src/IL2C.Core/Metadata/TypeInformation.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Core/AssemblyPreparer.cs b/src/IL2C.Core/AssemblyPreparer.cs index 1900991a..8a636f96 100644 --- a/src/IL2C.Core/AssemblyPreparer.cs +++ b/src/IL2C.Core/AssemblyPreparer.cs @@ -310,7 +310,7 @@ public static PreparedInformations Prepare(TranslateContext translateContext) // All types type => !type.IsIgnoreTranslation, // The methods except type initializer. - method => !(method.IsConstructor && method.IsStatic)); + method => true); } } } diff --git a/src/IL2C.Core/Metadata/TypeInformation.cs b/src/IL2C.Core/Metadata/TypeInformation.cs index 689100f2..e6b94d59 100644 --- a/src/IL2C.Core/Metadata/TypeInformation.cs +++ b/src/IL2C.Core/Metadata/TypeInformation.cs @@ -360,7 +360,7 @@ public bool IsReferenceType public bool IsRequiredTraverse => (this.Member.IsValueType && !this.Member.IsPrimitive && !this.Member.IsPointer && !this.IsByReference && !this.IsEnum && - this.Fields.Any(f => f.FieldType.IsRequiredTraverse)) || + this.Fields.Where(f => f.FieldType.FriendlyName != this.Member.FullName).Any(f => f.FieldType.IsRequiredTraverse)) || this.IsReferenceType; private static int InternalGetStaticSizeOfValue(ITypeInformation type) => From 27bda5c220bd05f600ad97a950cc9531c12f2ded Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 18:15:12 +0900 Subject: [PATCH 025/144] Refactored. --- src/IL2C.Core/AssemblyPreparer.cs | 20 ++++---------------- src/IL2C.Core/Metadata/TypeInformation.cs | 5 ++++- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/IL2C.Core/AssemblyPreparer.cs b/src/IL2C.Core/AssemblyPreparer.cs index 8a636f96..4e49c312 100644 --- a/src/IL2C.Core/AssemblyPreparer.cs +++ b/src/IL2C.Core/AssemblyPreparer.cs @@ -246,16 +246,15 @@ private static PreparedMethodInformation PrepareMethod( method); } - internal static PreparedInformations Prepare( - TranslateContext translateContext, - Func predictType, - Func predictMethod) + public static PreparedInformations Prepare( + TranslateContext translateContext) { IPrepareContext prepareContext = translateContext; var allTypes = translateContext.Assembly.Modules. SelectMany(module => module.Types.Concat(module.Types.SelectMany(type => type.NestedTypes))). - Where(predictType). + // NOT marked IgnoreTranslation attribute + Where(type => !type.IsIgnoreTranslation). Distinct(). ToArray(); @@ -294,7 +293,6 @@ internal static PreparedInformations Prepare( allTypes, (from type in allTypes from method in type.DeclaredMethods - where predictMethod(method) let preparedMethod = PrepareMethod(prepareContext, method) where preparedMethod != null select preparedMethod). @@ -302,15 +300,5 @@ where predictMethod(method) preparedMethod => preparedMethod.Method, preparedMethod => preparedMethod)); } - - public static PreparedInformations Prepare(TranslateContext translateContext) - { - return Prepare( - translateContext, - // All types - type => !type.IsIgnoreTranslation, - // The methods except type initializer. - method => true); - } } } diff --git a/src/IL2C.Core/Metadata/TypeInformation.cs b/src/IL2C.Core/Metadata/TypeInformation.cs index e6b94d59..22e85d1d 100644 --- a/src/IL2C.Core/Metadata/TypeInformation.cs +++ b/src/IL2C.Core/Metadata/TypeInformation.cs @@ -360,7 +360,10 @@ public bool IsReferenceType public bool IsRequiredTraverse => (this.Member.IsValueType && !this.Member.IsPrimitive && !this.Member.IsPointer && !this.IsByReference && !this.IsEnum && - this.Fields.Where(f => f.FieldType.FriendlyName != this.Member.FullName).Any(f => f.FieldType.IsRequiredTraverse)) || + this.Fields. + // Recursive check stopping condition: #105 + Where(f => f.FieldType.FriendlyName != this.FriendlyName). + Any(f => f.FieldType.IsRequiredTraverse)) || this.IsReferenceType; private static int InternalGetStaticSizeOfValue(ITypeInformation type) => From c0d728f0937099eb0685379cc8209ef013708bd1 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 18:26:35 +0900 Subject: [PATCH 026/144] Added comment headers around type initializer fragments. --- src/IL2C.Core/Writers/SourceCodeWriter.cs | 14 +++++++++++++- .../IL2C.Core.Test.ILConverters.csproj | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Core/Writers/SourceCodeWriter.cs b/src/IL2C.Core/Writers/SourceCodeWriter.cs index 4e8dbda9..b8f01ae8 100644 --- a/src/IL2C.Core/Writers/SourceCodeWriter.cs +++ b/src/IL2C.Core/Writers/SourceCodeWriter.cs @@ -252,6 +252,10 @@ private static void InternalWriteSourceCode( twSource.SplitLine(); } + twSource.WriteLine("//////////////////////////////////////////////////////////////////////////////////"); + twSource.WriteLine("// [9-4] Static fields:"); + twSource.SplitLine(); + // Generate static fileds foreach (var field in otherStaticFields) { @@ -274,6 +278,10 @@ private static void InternalWriteSourceCode( } twSource.SplitLine(); + twSource.WriteLine("//////////////////////////////////////////////////////////////////////////////////"); + twSource.WriteLine("// [9-5] Type initializer handler:"); + twSource.SplitLine(); + // Generate type initializer function var typeInitializerBodyName = type.MangledUniqueName + "__TryIntialize__"; @@ -294,6 +302,10 @@ private static void InternalWriteSourceCode( twSource.WriteLine("}"); twSource.SplitLine(); + twSource.WriteLine("//////////////////////////////////////////////////////////////////////////////////"); + twSource.WriteLine("// [9-6] Static field access handlers:"); + twSource.SplitLine(); + // Generate filed access handlers foreach (var field in staticFields) { @@ -339,7 +351,7 @@ private static void InternalWriteSourceCode( } twSource.WriteLine("//////////////////////////////////////////////////////////////////////////////////"); - twSource.WriteLine("// [9-4] Type: {0}", type.FriendlyName); + twSource.WriteLine("// [9-7] Type: {0}", type.FriendlyName); twSource.SplitLine(); // All methods and constructor exclude type initializer diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index f486b229..3a29c8fb 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -19,7 +19,7 @@ IL2C.ILConverters Debug - false + true From b91ec09a25bbd4cbc645948ca17223602012c732 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 18:53:42 +0900 Subject: [PATCH 027/144] Implemented enable parallelism option. --- src/IL2C.Build/Program.cs | 54 +++++++------ src/IL2C.Build/build/IL2C.Build.targets | 4 +- src/IL2C.Core/Drivers/NativeBinaryBuilder.cs | 76 +++++++++++-------- .../IL2C.Core.Test.BasicTypes.csproj | 1 + .../IL2C.Core.Test.ILConverters.csproj | 6 +- 5 files changed, 83 insertions(+), 58 deletions(-) diff --git a/src/IL2C.Build/Program.cs b/src/IL2C.Build/Program.cs index bdecf166..0e2d5e86 100644 --- a/src/IL2C.Build/Program.cs +++ b/src/IL2C.Build/Program.cs @@ -55,6 +55,7 @@ public static async Task Main(string[] args) var additionalIncludeDirs = new string[0]; var libraryPaths = new string[0]; var mainTemplatePath = default(string); + var enableParallelism = false; var logLevel = LogLevels.Information; var logtfm = default(string); var launchDebugger = false; @@ -64,8 +65,8 @@ public static async Task Main(string[] args) { { "mode=", "Driving mode [both|translation|compilation]", v => drivingMode = Enum.TryParse(v, true, out var dm) ? dm : DrivingModes.Both }, { "debug=", "Emit debug informations [none|commentonly|full]", v => debugInformationOptions = Enum.TryParse(v, true, out var t) ? t : DebugInformationOptions.None }, - { "produceCpp=", "Produce C++ extension files (apply extension *.cpp instead *.c, body will not change)", v => produceCpp = bool.TryParse(v, out var pc) ? pc : false }, - { "bundler=", "Produce bundler source file", v => enableBundler = bool.TryParse(v, out var eb) ? eb : false }, + { "produceCpp=", "Produce C++ extension files (apply extension *.cpp instead *.c, body will not change)", v => produceCpp = bool.TryParse(v, out var pc) && pc }, + { "bundler=", "Produce bundler source file", v => enableBundler = bool.TryParse(v, out var eb) && eb }, { "target=", "Target platform [generic|ue4]", v => targetPlatform = Enum.TryParse(v, true, out var tp) ? tp : TargetPlatforms.Generic }, { "refDirs=", "Reference assembly paths (semi-colon separated)", v => refDirs = v.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries) }, { "compiler=", "Native compiler driver file", v => nativeCompiler = v }, @@ -78,6 +79,7 @@ public static async Task Main(string[] args) { "outputNativeExecutable=", "Output native executable file name", v => outputNativeExecutableFileName = v }, { "outputNativeDir=", "Output native binary directory path", v => outputNativeDirPath = v }, { "mainTemplate=", "Native main template path", v => mainTemplatePath = v }, + { "enableParallel", "Enable parallelism", _ => enableParallelism = true }, { "logLevel=", "Log level [debug|trace|information|warning|error|silent]", v => logLevel = Enum.TryParse(v, true, out var ll) ? ll : LogLevels.Information }, { "logtfm=", "Log header tfm", v => logtfm = v }, { "launchDebugger", "Launch debugger", _ => launchDebugger = true }, @@ -115,31 +117,38 @@ public static async Task Main(string[] args) if ((drivingMode & DrivingModes.Translation) == DrivingModes.Translation) { var translationOptions = new TranslationOptions( - refDirs, enableBundler, targetPlatform, debugInformationOptions); -#if DEBUG - var results = new List(); - foreach (var assemblyPath in inputPaths) + refDirs, enableBundler, + targetPlatform, debugInformationOptions); + + IList entryPoints; + if (enableParallelism) { - var r = await SimpleTranslator.TranslateAsync( - logger, - outputBaseDirPath, - produceCpp, - translationOptions, - assemblyPath); - results.Add(r); + entryPoints = await Task.WhenAll( + inputPaths.Select(assemblyPath => + SimpleTranslator.TranslateAsync( + logger, + outputBaseDirPath, + produceCpp, + translationOptions, + assemblyPath).AsTask())). + ConfigureAwait(false); } -#else - var results = await Task.WhenAll( - inputPaths.Select(assemblyPath => - SimpleTranslator.TranslateAsync( + else + { + entryPoints = new List(); + foreach (var assemblyPath in inputPaths) + { + var r = await SimpleTranslator.TranslateAsync( logger, outputBaseDirPath, produceCpp, translationOptions, - assemblyPath).AsTask())). - ConfigureAwait(false); -#endif - mainEntryPoint = results.FirstOrDefault(); + assemblyPath); + entryPoints.Add(r); + } + } + + mainEntryPoint = entryPoints.FirstOrDefault(); inputCompilationDirPath = outputBaseDirPath; } else @@ -154,7 +163,8 @@ public static async Task Main(string[] args) { var toolchainOptions = new ToolchainOptions( nativeCompiler!, nativeCompilerFlags, nativeLinkingFlags, nativeArchiver!, - additionalIncludeDirs, libraryPaths, mainTemplatePath); + additionalIncludeDirs, libraryPaths, mainTemplatePath, + enableParallelism); var artifactPathOptions = new ArtifactPathOptions( outputNativeArchiveFileName!, outputNativeExecutableFileName); diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index 31ffc0e3..c347a8aa 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -18,6 +18,7 @@ false false Generic + true Information false @@ -139,8 +140,9 @@ <_IL2C_OutputNativeArchiveFileNameOption>--outputNativeArchive="$(_IL2C_OutputNativeArchiveFileName)" <_IL2C_OutputNativeExecutableFileNameOption Condition="'$(_IL2C_OutputNativeExecutableFileName)' != ''">--outputNativeExecutable="$(_IL2C_OutputNativeExecutableFileName)" <_IL2C_NativeMainTemplatePathOption Condition="'$(IL2COutputType)' != 'Library'">--mainTemplate="$(IL2CNativeMainTemplatePath)" + <_IL2C_EnableParallelismOption Condition="$(IL2CEnableParallelism)">--enableParallel <_IL2C_LaunchDebuggerOption Condition="$(IL2CBuildLaunchDebugger)">--launchDebugger - <_IL2C_NativeOptions>$(_IL2C_NativeCompilerOption) $(_IL2C_NativeCompilerFlagsOption) $(_IL2C_NativeLinkingFlagsOption) $(_IL2C_NativeArchiverOption) $(_IL2C_NativeIncludeDirOption) $(_IL2C_NativeLibPathOption) $(_IL2C_OutputNativeArchiveFileNameOption) $(_IL2C_OutputNativeExecutableFileNameOption) $(_IL2C_NativeMainTemplatePathOption) $(_IL2C_LaunchDebuggerOption) + <_IL2C_NativeOptions>$(_IL2C_NativeCompilerOption) $(_IL2C_NativeCompilerFlagsOption) $(_IL2C_NativeLinkingFlagsOption) $(_IL2C_NativeArchiverOption) $(_IL2C_NativeIncludeDirOption) $(_IL2C_NativeLibPathOption) $(_IL2C_OutputNativeArchiveFileNameOption) $(_IL2C_OutputNativeExecutableFileNameOption) $(_IL2C_NativeMainTemplatePathOption) $(_IL2C_EnableParallelismOption) $(_IL2C_LaunchDebuggerOption) <_IL2C_DrivingMode>translation diff --git a/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs b/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs index 5447701b..4dc5fcfb 100644 --- a/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs +++ b/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs @@ -30,6 +30,7 @@ public sealed class ToolchainOptions public readonly string[] AdditionalIncludeDirs; public readonly string[] LibraryPaths; public readonly string? MainTemplatePath; + public readonly bool EnableParallelism; public ToolchainOptions( string nativeCompiler, @@ -38,7 +39,8 @@ public ToolchainOptions( string nativeArchiver, string[] additionalIncludeDirs, string[] libraryPaths, - string? mainTemplatePath) + string? mainTemplatePath, + bool enableParallelism) { this.NativeCompiler = nativeCompiler; this.NativeCompilerFlags = nativeCompilerFlags; @@ -47,6 +49,7 @@ public ToolchainOptions( this.AdditionalIncludeDirs = additionalIncludeDirs; this.LibraryPaths = libraryPaths; this.MainTemplatePath = mainTemplatePath; + this.EnableParallelism = enableParallelism; } } @@ -209,39 +212,44 @@ await IOAccessor.SafeCreateDirectoryAsync( ///////////////////////////////////////////////////////////// // Compiling step: - logger.Information($"Compiling native binary into: {outputNativeArchiveFullPath}"); - // Compile in small pieces: // Because LTO (LTCG) is not always enable, it is better to subdivide object files // to reduce the amount of code when linking. -#if DEBUG - var crs = new List(); - foreach (var sourceCodePath in sourceCodePaths) + IList crs; + if (toolchainOptions.EnableParallelism) { - logger.Trace($"Compiling source code: {sourceCodePath}"); - var r = await ExecuteCompilerAsync( - sourceCodePath, - outputStagingBaseDirPath, - Path.GetFileNameWithoutExtension(sourceCodePath) + ".o", - nativeToolchainBasePaths, - toolchainOptions.NativeCompiler, - toolchainOptions.NativeCompilerFlags, - includeDir, - sourceDir, - true, - null, - toolchainOptions.AdditionalIncludeDirs, - new string[0]). + logger.Information($"Building native library (In parallelism): {outputNativeArchiveFullPath}"); + + crs = await Task.WhenAll( + sourceCodePaths. + Select(sourceCodePath => + { + logger.Trace($"Compiling source code: \"{sourceCodePath}\" ..."); + return ExecuteCompilerAsync( + sourceCodePath, + outputStagingBaseDirPath, + Path.GetFileNameWithoutExtension(sourceCodePath) + ".o", + nativeToolchainBasePaths, + toolchainOptions.NativeCompiler, + toolchainOptions.NativeCompilerFlags, + includeDir, + sourceDir, + true, + null, + toolchainOptions.AdditionalIncludeDirs, + new string[0]); + })). ConfigureAwait(false); - crs.Add(r); } -#else - var crs = await Task.WhenAll( - sourceCodePaths. - Select(sourceCodePath => + else + { + logger.Information($"Building native library: {outputNativeArchiveFullPath}"); + + crs = new List(); + foreach (var sourceCodePath in sourceCodePaths) { - logger.Trace($"Compiling source code: \"{sourceCodePath}\" ..."); - return ExecuteCompilerAsync( + logger.Trace($"Compiling source code: {sourceCodePath}"); + var r = await ExecuteCompilerAsync( sourceCodePath, outputStagingBaseDirPath, Path.GetFileNameWithoutExtension(sourceCodePath) + ".o", @@ -253,10 +261,12 @@ await IOAccessor.SafeCreateDirectoryAsync( true, null, toolchainOptions.AdditionalIncludeDirs, - new string[0]); - })). - ConfigureAwait(false); -#endif + new string[0]). + ConfigureAwait(false); + crs.Add(r); + } + } + var cr = crs.FirstOrDefault(r => r.ExitCode != 0); if (cr.ExitCode != 0) { @@ -326,6 +336,10 @@ mainEntryPoint is { } && logger.Information($"Built native binary: {outputNativeExecutableFullPath}"); } + else + { + logger.Information($"Built native library: {outputNativeArchiveFullPath}"); + } } } } diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index b8c0ff1c..6ef2a864 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -15,6 +15,7 @@ IL2C.Core.Test.BasicTypes IL2C.BasicTypes + false Debug false diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 3a29c8fb..1da07405 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -7,10 +7,7 @@ - - net48 Library False enable @@ -18,8 +15,9 @@ IL2C.Core.Test.ILConverters IL2C.ILConverters + false Debug - true + false From 789a2f65da4ec819a317f065c5e999e95a099e53 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 22:08:36 +0900 Subject: [PATCH 028/144] WIP --- src/IL2C.Core/Writers/FunctionWriter.cs | 29 +++++------ src/IL2C.Core/Writers/TypeWriter.cs | 8 --- src/IL2C.Runtime/include/System/IntPtr.h | 3 ++ src/IL2C.Runtime/include/System/UIntPtr.h | 3 ++ .../IL2C.Core.Test.BasicTypes.csproj | 3 +- .../System_IntPtr/System_IntPtr.cs | 14 ++++++ .../System_UIntPtr/System_UIntPtr.cs | 14 ++++++ .../IL2C.Core.Test.ILConverters.csproj | 3 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 23 +++++++++ .../Interoperability/Interoperability.cs | 49 ++++++++++++++----- 10 files changed, 110 insertions(+), 39 deletions(-) diff --git a/src/IL2C.Core/Writers/FunctionWriter.cs b/src/IL2C.Core/Writers/FunctionWriter.cs index 98c9c361..f729a692 100644 --- a/src/IL2C.Core/Writers/FunctionWriter.cs +++ b/src/IL2C.Core/Writers/FunctionWriter.cs @@ -652,29 +652,22 @@ private static void InternalConvertFromInternalCallFunction( method.FriendlyName); tw.SplitLine(); - // P/Invoke linkage doesn't verify the C header declarations. - // It will lookp up by the library symbol name. - if (method.PInvokeInformation != null) - { - tw.WriteLine( - "extern {0};", - method.CLanguagePInvokePrototype); - tw.SplitLine(); - } - - if (method.IsPrivate) - { - tw.WriteLine("static inline {0}", method.CLanguageFunctionPrototype); - } - else - { - tw.WriteLine(method.CLanguageFunctionPrototype); - } + tw.WriteLine(method.CLanguageFunctionPrototype); tw.WriteLine("{"); using (var _ = tw.Shift()) { + // P/Invoke linkage doesn't verify the C header declarations. + // It will lookp up by the library symbol name. + if (method.PInvokeInformation != null) + { + tw.WriteLine( + "extern {0};", + method.CLanguagePInvokePrototype); + tw.SplitLine(); + } + var arguments = string.Join( ", ", method.Parameters.Select(GetMarshaledInExpression)); diff --git a/src/IL2C.Core/Writers/TypeWriter.cs b/src/IL2C.Core/Writers/TypeWriter.cs index 4d200d94..ec1d2a31 100644 --- a/src/IL2C.Core/Writers/TypeWriter.cs +++ b/src/IL2C.Core/Writers/TypeWriter.cs @@ -358,14 +358,6 @@ public static void WriteMemberDefinitions( "static {0};", method.CLanguageFunctionPrototype); } - // Make inlining private interop methods - else if (method.IsExtern && method.IsPrivate) - { - tw.WriteLine( - "static inline /* {0} */ {1};", - method.AttributeDescription, - method.CLanguageFunctionPrototype); - } else { tw.WriteLine( diff --git a/src/IL2C.Runtime/include/System/IntPtr.h b/src/IL2C.Runtime/include/System/IntPtr.h index c6b12ac5..bea750cc 100644 --- a/src/IL2C.Runtime/include/System/IntPtr.h +++ b/src/IL2C.Runtime/include/System/IntPtr.h @@ -38,6 +38,9 @@ extern const intptr_t System_IntPtr_Zero; extern intptr_t* System_IntPtr_Zero_REF__; +#define System_IntPtr_ToInt32(this__) ((int32_t)*(this__)) +#define System_IntPtr_ToInt64(this__) ((int64_t)*(this__)) + #define System_IntPtr_op_Explicit__System_Int32(value) ((intptr_t)(value)) #define System_IntPtr_op_Explicit__System_Int64(value) ((intptr_t)(value)) #define System_IntPtr_op_Addition__System_IntPtr_System_Int32(lhs, rhs) (((intptr_t)(lhs)) + ((intptr_t)(rhs))) diff --git a/src/IL2C.Runtime/include/System/UIntPtr.h b/src/IL2C.Runtime/include/System/UIntPtr.h index 7e01a3a8..e5bd693b 100644 --- a/src/IL2C.Runtime/include/System/UIntPtr.h +++ b/src/IL2C.Runtime/include/System/UIntPtr.h @@ -34,6 +34,9 @@ extern /* virtual */ int32_t System_UIntPtr_GetHashCode(uintptr_t* this__); extern bool System_UIntPtr_Equals__System_UIntPtr(uintptr_t* this__, uintptr_t obj); extern /* virtual */ bool System_UIntPtr_Equals__System_Object(uintptr_t* this__, System_Object* obj); +#define System_UIntPtr_ToUInt32(this__) ((uint32_t)*(this__)) +#define System_UIntPtr_ToUInt64(this__) ((uint64_t)*(this__)) + #define System_UIntPtr_op_Explicit__System_UInt32(value) ((uintptr_t)(value)) #define System_UIntPtr_op_Explicit__System_UInt64(value) ((uintptr_t)(value)) #define System_UIntPtr_op_Addition__System_UIntPtr_System_Int32(lhs, rhs) (((uintptr_t)(lhs)) + ((uintptr_t)(rhs))) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 6ef2a864..d07b2d8a 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -15,7 +15,8 @@ IL2C.Core.Test.BasicTypes IL2C.BasicTypes - false + CommentOnly + true Debug false diff --git a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs index b76fcd3e..6e296aa6 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs @@ -46,5 +46,19 @@ public static bool NonEquality(IntPtr v) { return v != IntPtr.Zero; } + + [TestCase(123, "ToInt32", 123)] + public static int ToInt32(int v) + { + var ip = (IntPtr)v; + return ip.ToInt32(); + } + + [TestCase(123L, "ToInt64", 123L)] + public static long ToInt64(long v) + { + var ip = (IntPtr)v; + return ip.ToInt64(); + } } } diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs index f335bd0e..5694ca88 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs @@ -28,5 +28,19 @@ public static string ToString(UIntPtr value) { return value.ToString(); } + + [TestCase(123, "ToUInt32", 123)] + public static int ToUInt32(int v) + { + var ip = (IntPtr)v; + return ip.ToInt32(); + } + + [TestCase(123UL, "ToUInt64", 123UL)] + public static ulong ToUInt64(ulong v) + { + var ip = (UIntPtr)v; + return ip.ToUInt64(); + } } } diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 1da07405..f26fc2de 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -15,7 +15,8 @@ IL2C.Core.Test.ILConverters IL2C.ILConverters - false + CommentOnly + true Debug false diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index 9a0ce773..b2535a17 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -1,13 +1,27 @@  + + + + + + + + net48 Library False enable IL2C.Core.Test.RuntimeSystems IL2C.RuntimeSystems + + CommentOnly + false + Debug + false @@ -26,4 +40,13 @@ + + + + + + + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\..\..\src\IL2C.Build\bin\$(Configuration)\$(_IL2C_PlatformName)')) + + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 539deaec..2b450b47 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -21,26 +21,53 @@ public struct NativePointerInside public NativePointer Pointer; } - [Description("These tests are verified the IL2C manages interoperability with the P/Invoke adn IL2C/Invoke method and internalcall method.")] + [Description("These tests are verified the IL2C manages interoperability with the P/Invoke and IL2C/Invoke method and internalcall method.")] public sealed class Interoperability { - [NativeMethod("windows.h", SymbolName = "OutputDebugStringW", CharSet = NativeCharSet.Unicode)] + [NativeType("time.h", SymbolName = "struct tm")] + internal struct tm + { + public int tm_sec; + public int tm_min; + public int tm_hour; + public int tm_mday; + public int tm_mon; + public int tm_year; + public int tm_wday; + public int tm_yday; + public int tm_isdst; + } + + [NativeMethod("time.h")] [MethodImpl(MethodImplOptions.InternalCall)] - private static extern void OutputDebugString1(string message); + private static extern long mktime(in tm tmValue); - [TestCase(null, new[] { "InternalCallWithUnicodeStringArgument", "OutputDebugString1" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - public static void InternalCallWithUnicodeStringArgument(string message) + [TestCase(1666496096L, new[] { "IL2CInvokeMkTime", "mktime" })] + public static long IL2CInvokeMkTime() { - OutputDebugString1(message); + // 2022/10/23 12:34:56 + var tmValue = new tm + { + tm_year = 2022 - 1900, + tm_mon = 10 - 1, + tm_mday = 23, + tm_hour = 12, + tm_min = 34, + tm_sec = 56, + tm_wday = 0, + tm_yday = 0, + tm_isdst = 0, + }; + return mktime(tmValue); } - [DllImport("kernel32", EntryPoint = "OutputDebugStringW")] - private static extern void OutputDebugString2(string message); + [DllImport("libc", EntryPoint = "wcslen")] + private static extern IntPtr wcslen(string message); - [TestCase(null, new[] { "DllImportWithUnicodeStringArgument", "OutputDebugString2" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - public static void DllImportWithUnicodeStringArgument(string message) + [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + public static int PInvokeWcsLen(string message) { - OutputDebugString2(message); + return wcslen(message).ToInt32(); } [TestCase(12345678, "TransparencyForNativePointer", 12345678)] From e01d8bfd07d3a76255b401fdefa1a2a4cd1cfec8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 22:17:30 +0900 Subject: [PATCH 029/144] Fixed for using OutputType property on mingw toolchain. --- .../build/IL2C.Toolchain.gcc4.mingw32.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/IL2C.Toolchain.gcc4.mingw32/build/IL2C.Toolchain.gcc4.mingw32.targets b/misc/IL2C.Toolchain.gcc4.mingw32/build/IL2C.Toolchain.gcc4.mingw32.targets index 717c86f5..0a4a1093 100644 --- a/misc/IL2C.Toolchain.gcc4.mingw32/build/IL2C.Toolchain.gcc4.mingw32.targets +++ b/misc/IL2C.Toolchain.gcc4.mingw32/build/IL2C.Toolchain.gcc4.mingw32.targets @@ -19,8 +19,8 @@ $(_IL2C_GCC_ReleaseFlags) $(_IL2C_GCC_DisableOptimizingFlags) $(_IL2C_GCC_EnableOptimizingFlags) - $(_IL2C_WinExeMainTemplatePath) - $(IL2CNativeCompilerRequiredFlags) -mwindows + $(_IL2C_WinExeMainTemplatePath) + $(IL2CNativeCompilerRequiredFlags) -mwindows From de1618e081a60fba83100ff9f7052c14f561b26f Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 16:56:28 +0900 Subject: [PATCH 030/144] Implemented P/Invoke with dynamic loader. --- src/IL2C.Core/Metadata/MethodInformation.cs | 82 +++++++------- src/IL2C.Core/Writers/FunctionWriter.cs | 69 +++++++----- src/IL2C.Core/Writers/TypeWriter.cs | 1 + .../include/System/IO/FileNotFoundException.h | 46 ++++++++ .../include/System/IO/IOException.h | 46 ++++++++ .../include/System/NotImplementedException.h | 46 ++++++++ .../include/System/SystemException.h | 46 ++++++++ src/IL2C.Runtime/include/il2c.h | 38 ++++--- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 101 ++++++++++++++++++ src/IL2C.Runtime/src/Platform/linux.h | 2 + .../src/System/IO/FileNotFoundException.c | 19 ++++ src/IL2C.Runtime/src/System/IO/IOException.c | 19 ++++ .../src/System/NotImplementedException.c | 19 ++++ src/IL2C.Runtime/src/System/SystemException.c | 19 ++++ .../IL2C.Core.Test.RuntimeSystems.csproj | 1 + .../Interoperability/Interoperability.cs | 15 ++- 16 files changed, 482 insertions(+), 87 deletions(-) create mode 100644 src/IL2C.Runtime/include/System/IO/FileNotFoundException.h create mode 100644 src/IL2C.Runtime/include/System/IO/IOException.h create mode 100644 src/IL2C.Runtime/include/System/NotImplementedException.h create mode 100644 src/IL2C.Runtime/include/System/SystemException.h create mode 100644 src/IL2C.Runtime/src/Core/il2c_pinvoke.c create mode 100644 src/IL2C.Runtime/src/System/IO/FileNotFoundException.c create mode 100644 src/IL2C.Runtime/src/System/IO/IOException.c create mode 100644 src/IL2C.Runtime/src/System/NotImplementedException.c create mode 100644 src/IL2C.Runtime/src/System/SystemException.c diff --git a/src/IL2C.Core/Metadata/MethodInformation.cs b/src/IL2C.Core/Metadata/MethodInformation.cs index 654ebd6a..590ee3f3 100644 --- a/src/IL2C.Core/Metadata/MethodInformation.cs +++ b/src/IL2C.Core/Metadata/MethodInformation.cs @@ -59,10 +59,11 @@ public interface IMethodInformation : IMemberInformation string CLanguageFunctionName { get; } string CLanguageInteropName { get; } string CLanguageFunctionPrototype { get; } - string CLanguagePInvokePrototype { get; } string CLanguageFunctionType { get; } string CLanguageFunctionNamedType { get; } string CLanguageFunctionFullNamedType { get; } + + string GetCLanguageFunctionTypeWithVariableName(string name, bool isInterop); } internal sealed class MethodInformation @@ -461,38 +462,6 @@ public string CLanguageFunctionPrototype } } - public string CLanguagePInvokePrototype - { - // System.Int32 Foo.Bar.Baz.MooMethod(System.String name) --> int32_t MooMethod(const wchar_t* name) - get - { - var parametersString = (this.Parameters.Length >= 1) ? - string.Join( - ", ", - this.Parameters.Select((parameter, index) => string.Format( - "{0} {1}", - parameter.TargetType.CLanguageTypeName, - string.IsNullOrWhiteSpace(parameter.ParameterName) ? - $"arg{(this.HasThis ? (index + 1) : index)}__" : - parameter.ParameterName))) : - "void"; - - var returnTypeName = - this.ReturnType.CLanguageInteropTypeName; - - var stdcallPostfix = - (this.PInvokeInformation is PInvokeInfo pi && (pi.IsCallConvStdCall || pi.IsCallConvWinapi)) ? - "IL2C_DLLIMPORT_STDCALL " : " "; - - return string.Format( - "IL2C_DLLIMPORT_PREFIX {0} {1}{2}({3})", - returnTypeName, - stdcallPostfix, - this.Definition.PInvokeInfo.EntryPoint, - parametersString); - } - } - private enum CLanguageFunctionTypeFormats { Type, @@ -500,18 +469,24 @@ private enum CLanguageFunctionTypeFormats FullNamedType } - private string GetCLanguageFunctionType(CLanguageFunctionTypeFormats format) + private string GetCLanguageFunctionType( + CLanguageFunctionTypeFormats format, + bool isInterop, + string name = default) { // The first argument (arg0) is switched type name by virtual attribute between strict type and "void*". // non virtual : int32_t (*DoThat)(System_String* this__) // virtual : int32_t (*DoThat)(void* this__) + string GetCLanguageTypeName(ITypeInformation type) => + isInterop ? type.CLanguageInteropTypeName : type.CLanguageTypeName; + var parametersString = (this.Parameters.Length >= 1) ? string.Join( ", ", this.Parameters.Select((parameter, index) => ((this.IsVirtual && (index == 0)) ? - "void*" : parameter.TargetType.CLanguageTypeName) + + "void*" : GetCLanguageTypeName(parameter.TargetType)) + ((format == CLanguageFunctionTypeFormats.Type) ? string.Empty : string.IsNullOrWhiteSpace(parameter.ParameterName) ? @@ -519,32 +494,49 @@ private string GetCLanguageFunctionType(CLanguageFunctionTypeFormats format) $" {parameter.ParameterName}"))) : "void"; - var returnTypeName = this.ReturnType.CLanguageTypeName; + var returnTypeName = GetCLanguageTypeName(this.ReturnType); - var name = (format == CLanguageFunctionTypeFormats.FullNamedType) ? - this.CLanguageFunctionFullName : - (format == CLanguageFunctionTypeFormats.NamedType) ? - this.CLanguageFunctionName : + var exactName = (name != null) ? name : + format switch + { + CLanguageFunctionTypeFormats.FullNamedType => this.CLanguageFunctionFullName, + CLanguageFunctionTypeFormats.NamedType => this.CLanguageFunctionName, + _ => string.Empty, + }; + + var callingConvension = this.PInvokeInformation is PInvokeInfo pi ? + (pi.IsCallConvStdCall || pi.IsCallConvWinapi, pi.IsCallConvCdecl) switch + { + (true, _) => "IL2C_DLLIMPORT_STDCALL ", + (_, true) => "IL2C_DLLIMPORT_CDECL ", + _ => string.Empty, + } : string.Empty; return string.Format( - "{0} (*{1})({2})", + "{0} ({1}*{2})({3})", returnTypeName, - name, + callingConvension, + exactName, parametersString); } + public string GetCLanguageFunctionTypeWithVariableName(string name, bool isInterop) => + // !isInterop : System.Int32 Foo.Bar.Baz.MooMethod(System.String) --> int32_t (*name)(System_String*) + // isInterop : System.Int32 Foo.Bar.Baz.MooMethod(System.String) --> int32_t (*name)(const wchar_t*) + this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.Type, isInterop, name); + public string CLanguageFunctionType => // System.Int32 Foo.Bar.Baz.MooMethod(System.String) --> int32_t (*)(System_String*) - this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.Type); + this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.Type, false); public string CLanguageFunctionNamedType => // System.Int32 Foo.Bar.Baz.MooMethod(System.String) --> int32_t (*MooMethod__System_String)(System_String* this__) - this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.NamedType); + this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.NamedType, false); public string CLanguageFunctionFullNamedType => // System.Int32 Foo.Bar.Baz.MooMethod(System.String) --> int32_t (*Foo_Bar_Baz_MooMethod__System_String)(System_String* this__) - this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.FullNamedType); + this.GetCLanguageFunctionType(CLanguageFunctionTypeFormats.FullNamedType, false); protected override MethodDefinition OnResolve(MethodReference member) => member.Resolve(); diff --git a/src/IL2C.Core/Writers/FunctionWriter.cs b/src/IL2C.Core/Writers/FunctionWriter.cs index f729a692..55cbe108 100644 --- a/src/IL2C.Core/Writers/FunctionWriter.cs +++ b/src/IL2C.Core/Writers/FunctionWriter.cs @@ -626,19 +626,6 @@ private static void InternalConvertFromAbstractFunction( tw.SplitLine(); } - private static string GetMarshaledInExpression(IParameterInformation parameter) - { - // TODO: UTF8 conversion - // TODO: Apply MarshalAsAttribute - - if (parameter.TargetType.IsStringType) - { - return string.Format("{0}->string_body__", parameter.ParameterName); - } - - return parameter.ParameterName; - } - private static void InternalConvertFromInternalCallFunction( CodeTextWriter tw, IMethodInformation method) @@ -658,33 +645,59 @@ private static void InternalConvertFromInternalCallFunction( using (var _ = tw.Shift()) { - // P/Invoke linkage doesn't verify the C header declarations. - // It will lookp up by the library symbol name. - if (method.PInvokeInformation != null) + static string GetMarshaledInExpression(IParameterInformation parameter) { - tw.WriteLine( - "extern {0};", - method.CLanguagePInvokePrototype); - tw.SplitLine(); + // TODO: UTF8 conversion + // TODO: Apply MarshalAsAttribute + + if (parameter.TargetType.IsStringType) + { + return string.Format("{0}->string_body__", parameter.ParameterName); + } + return parameter.ParameterName; } var arguments = string.Join( ", ", method.Parameters.Select(GetMarshaledInExpression)); - if (method.ReturnType.IsVoidType) + if (method.PInvokeInformation != null) { + // TODO: caching tw.WriteLine( - "{0}({1});", - method.CLanguageInteropName, - arguments); + "{0} = il2c_pinvoke_get_function__(L\"{1}\", \"{2}\");", + method.GetCLanguageFunctionTypeWithVariableName("pFunc__", true), + method.PInvokeInformation.Module.Name, + method.CLanguageInteropName); + if (method.ReturnType.IsVoidType) + { + tw.WriteLine( + "(*pFunc__)({0});", + arguments); + } + else + { + tw.WriteLine( + "return (*pFunc__)({0});", + arguments); + } } else { - tw.WriteLine( - "return {0}({1});", - method.CLanguageInteropName, - arguments); + if (method.ReturnType.IsVoidType) + { + tw.WriteLine( + "{0}({1});", + method.CLanguageInteropName, + arguments); + } + else + { + tw.WriteLine( + "return {0}({1});", + method.CLanguageInteropName, + arguments); + } } } diff --git a/src/IL2C.Core/Writers/TypeWriter.cs b/src/IL2C.Core/Writers/TypeWriter.cs index ec1d2a31..b8cc2498 100644 --- a/src/IL2C.Core/Writers/TypeWriter.cs +++ b/src/IL2C.Core/Writers/TypeWriter.cs @@ -11,6 +11,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; + using IL2C.Internal; using IL2C.Metadata; diff --git a/src/IL2C.Runtime/include/System/IO/FileNotFoundException.h b/src/IL2C.Runtime/include/System/IO/FileNotFoundException.h new file mode 100644 index 00000000..61366245 --- /dev/null +++ b/src/IL2C.Runtime/include/System/IO/FileNotFoundException.h @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_IO_FileNotFoundException_H__ +#define System_IO_FileNotFoundException_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.IO.IOException + +typedef System_IO_IOException System_IO_FileNotFoundException; + +typedef System_IO_IOException_VTABLE_DECL__ System_IO_FileNotFoundException_VTABLE_DECL__; + +#define System_IO_FileNotFoundException_VTABLE__ System_IO_IOException_VTABLE__ + +IL2C_DECLARE_RUNTIME_TYPE(System_IO_FileNotFoundException); + +static inline void System_IO_FileNotFoundException__ctor(System_IO_FileNotFoundException* this__) +{ + System_IO_IOException__ctor((System_IO_IOException*)this__); +} + +static inline void System_IO_FileNotFoundException__ctor__System_String(System_IO_FileNotFoundException* this__, System_String* message) +{ + System_IO_IOException__ctor__System_String((System_IO_IOException*)this__, message); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/System/IO/IOException.h b/src/IL2C.Runtime/include/System/IO/IOException.h new file mode 100644 index 00000000..0451c58e --- /dev/null +++ b/src/IL2C.Runtime/include/System/IO/IOException.h @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_IO_IOException_H__ +#define System_IO_IOException_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.IO.IOException + +typedef System_SystemException System_IO_IOException; + +typedef System_SystemException_VTABLE_DECL__ System_IO_IOException_VTABLE_DECL__; + +#define System_IO_IOException_VTABLE__ System_SystemException_VTABLE__ + +IL2C_DECLARE_RUNTIME_TYPE(System_IO_IOException); + +static inline void System_IO_IOException__ctor(System_IO_IOException* this__) +{ + System_SystemException__ctor((System_SystemException*)this__); +} + +static inline void System_IO_IOException__ctor__System_String(System_IO_IOException* this__, System_String* message) +{ + System_SystemException__ctor__System_String((System_SystemException*)this__, message); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/System/NotImplementedException.h b/src/IL2C.Runtime/include/System/NotImplementedException.h new file mode 100644 index 00000000..b8ac2169 --- /dev/null +++ b/src/IL2C.Runtime/include/System/NotImplementedException.h @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_NotImplementedException_H__ +#define System_NotImplementedException_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.NotImplementedException + +typedef System_SystemException System_NotImplementedException; + +typedef System_SystemException_VTABLE_DECL__ System_NotImplementedException_VTABLE_DECL__; + +#define System_NotImplementedException_VTABLE__ System_SystemException_VTABLE__ + +IL2C_DECLARE_RUNTIME_TYPE(System_NotImplementedException); + +static inline void System_NotImplementedException__ctor(System_NotImplementedException* this__) +{ + System_SystemException__ctor((System_SystemException*)this__); +} + +static inline void System_NotImplementedException__ctor__System_String(System_NotImplementedException* this__, System_String* message) +{ + System_SystemException__ctor__System_String((System_SystemException*)this__, message); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/System/SystemException.h b/src/IL2C.Runtime/include/System/SystemException.h new file mode 100644 index 00000000..0c474627 --- /dev/null +++ b/src/IL2C.Runtime/include/System/SystemException.h @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_SystemException_H__ +#define System_SystemException_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.SystemException + +typedef System_Exception System_SystemException; + +typedef System_Exception_VTABLE_DECL__ System_SystemException_VTABLE_DECL__; + +#define System_SystemException_VTABLE__ System_Exception_VTABLE__ + +IL2C_DECLARE_RUNTIME_TYPE(System_SystemException); + +static inline void System_SystemException__ctor(System_SystemException* this__) +{ + System_Exception__ctor((System_Exception*)this__); +} + +static inline void System_SystemException__ctor__System_String(System_SystemException* this__, System_String* message) +{ + System_Exception__ctor__System_String((System_Exception*)this__, message); +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/il2c.h b/src/IL2C.Runtime/include/il2c.h index 4b537764..9c291e1a 100644 --- a/src/IL2C.Runtime/include/il2c.h +++ b/src/IL2C.Runtime/include/il2c.h @@ -22,15 +22,20 @@ extern "C" { #if defined(_MSC_VER) +#if defined(_WIN32) +#define IL2C_DLLIMPORT_STDCALL __stdcall +#define IL2C_DLLIMPORT_CDECL __cdecl +#else +#define IL2C_DLLIMPORT_STDCALL +#define IL2C_DLLIMPORT_CDECL +#endif + #if defined(_WDM) || defined(UEFI) #undef _WIN32 #endif #include -#define IL2C_DLLIMPORT_PREFIX __declspec(dllimport) -#define IL2C_DLLIMPORT_STDCALL __stdcall - #define il2c_assume__(expr) __assume(expr) #define il2c_likely__(expr) (expr) #define il2c_unlikely__(expr) (expr) @@ -38,6 +43,14 @@ extern "C" { #elif defined(__GNUC__) +#if defined(_WIN32) +#define IL2C_DLLIMPORT_STDCALL __stdcall +#define IL2C_DLLIMPORT_CDECL __cdecl +#else +#define IL2C_DLLIMPORT_STDCALL +#define IL2C_DLLIMPORT_CDECL +#endif + #if defined(__x86_64__) || defined(__i386__) #include #elif defined(__ARM_NEON__) @@ -46,14 +59,6 @@ extern "C" { #include #endif -#define IL2C_DLLIMPORT_PREFIX - -#if defined(_WIN32) -#define IL2C_DLLIMPORT_STDCALL __stdcall -#else -#define IL2C_DLLIMPORT_STDCALL -#endif - #define il2c_assume__(expr) do { if (!(expr)) __builtin_unreachable(); } while (0) #define il2c_likely__(expr) __builtin_expect(!!(expr), 1) #define il2c_unlikely__(expr) __builtin_expect(!!(expr), 0) @@ -61,8 +66,8 @@ extern "C" { #else -#define IL2C_DLLIMPORT_PREFIX #define IL2C_DLLIMPORT_STDCALL +#define IL2C_DLLIMPORT_CDECL #define il2c_assume__(expr) ((void)0) #define il2c_likely__(expr) (expr) @@ -404,6 +409,10 @@ typedef void* untyped_ptr; #include "System/UnhandledExceptionEventArgs.h" #include "System/UnhandledExceptionEventHandler.h" #include "System/AppDomain.h" +#include "System/SystemException.h" +#include "System/NotImplementedException.h" +#include "System/IO/IOException.h" +#include "System/IO/FileNotFoundException.h" // Independent types for IL2C core. #include "System/Console.h" @@ -572,6 +581,11 @@ const uintptr_t typeName##_RUNTIME_TYPE__[] = { \ 0 \ } +/////////////////////////////////////////////////////// +// P/Invoke runtime + +extern void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName); + #ifdef __cplusplus } #endif diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c new file mode 100644 index 00000000..c565a501 --- /dev/null +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -0,0 +1,101 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include + +///////////////////////////////////////////////////////////// +// P/Invoke runtime + +#if defined(_WIN32) +IL2C_CONST_STRING(il2c_dll_not_found_message, L"Dll not found."); + +void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName) +{ + il2c_assert(pDllName != NULL); + il2c_assert(pEntryPointName != NULL); + + HMODULE handle = LoadLibraryW(pDllName); + if (handle != NULL) + { + void* pFunc = GetProcAddress(handle, pEntryPointName); + if (pFunc != NULL) + { + return pFunc; + } + } + +#if 1 // TODO: Improves with error message (FormatMessage API) + System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); + System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); + il2c_throw(ex); + il2c_assert(false); + return NULL; +#else + // https://github.com/dotnet/runtime/blob/6d0bcc4cc7cf98e661c91d4f2abace2c5bd282a5/src/coreclr/vm/nativelibrary.cpp + switch (GetLastError()) + { + case ERROR_FILE_NOT_FOUND: + case ERROR_PATH_NOT_FOUND: + case ERROR_MOD_NOT_FOUND: + case ERROR_DLL_NOT_FOUND: + case ERROR_ACCESS_DENIED: + System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); + System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); + il2c_throw(ex); + il2c_assert(false); + return NULL; + default: + System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); + System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); + il2c_throw(ex); + il2c_assert(false); + return NULL; + } +#endif +} +#elif defined(__linux__) +IL2C_CONST_STRING(il2c_dll_not_found_message, L"Dll not found."); + +void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName) +{ + il2c_assert(pDllName != NULL); + il2c_assert(pEntryPointName != NULL); + + void* handle = dlopen(pDllName, RTLD_LAZY); + if (handle != NULL) + { + void* pFunc = dlsym(handle, pEntryPointName); + if (pFunc != NULL) + { + return pFunc; + } + } + + // TODO: Improves with error message (dlerror API) + System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); + System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); + il2c_throw(ex); + il2c_assert(false); + return NULL; +} +#else +IL2C_CONST_STRING(il2c_not_implemented_message, L"Not implemented."); + +il2c_noreturn__ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName) +{ + il2c_assert(pDllName != NULL); + il2c_assert(pEntryPointName != NULL); + + System_NotImplementedException* ex = il2c_get_uninitialized_object(System_NotImplementedException); + System_NotImplementedException__ctor__System_String(ex, il2c_not_implemented_message); + il2c_throw(ex); + il2c_assert(false); + return NULL; +} +#endif diff --git a/src/IL2C.Runtime/src/Platform/linux.h b/src/IL2C.Runtime/src/Platform/linux.h index 228589bd..6caaa82b 100644 --- a/src/IL2C.Runtime/src/Platform/linux.h +++ b/src/IL2C.Runtime/src/Platform/linux.h @@ -41,6 +41,8 @@ extern "C" { #include #include +#include + #include "gcc.h" #include "strings.h" #include "pthread.h" diff --git a/src/IL2C.Runtime/src/System/IO/FileNotFoundException.c b/src/IL2C.Runtime/src/System/IO/FileNotFoundException.c new file mode 100644 index 00000000..19c1af15 --- /dev/null +++ b/src/IL2C.Runtime/src/System/IO/FileNotFoundException.c @@ -0,0 +1,19 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" + +///////////////////////////////////////////////////////////// +// System.IO.FileNotFoundException + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_BEGIN(System_IO_FileNotFoundException, "System.IO.FileNotFoundException", IL2C_TYPE_REFERENCE, sizeof(System_IO_FileNotFoundException), System_IO_IOException, 0, 0) +IL2C_RUNTIME_TYPE_END(); diff --git a/src/IL2C.Runtime/src/System/IO/IOException.c b/src/IL2C.Runtime/src/System/IO/IOException.c new file mode 100644 index 00000000..392e1302 --- /dev/null +++ b/src/IL2C.Runtime/src/System/IO/IOException.c @@ -0,0 +1,19 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" + +///////////////////////////////////////////////////////////// +// System.IO.IOException + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_BEGIN(System_IO_IOException, "System.IO.IOException", IL2C_TYPE_REFERENCE, sizeof(System_IO_IOException), System_SystemException, 0, 0) +IL2C_RUNTIME_TYPE_END(); diff --git a/src/IL2C.Runtime/src/System/NotImplementedException.c b/src/IL2C.Runtime/src/System/NotImplementedException.c new file mode 100644 index 00000000..55dc7534 --- /dev/null +++ b/src/IL2C.Runtime/src/System/NotImplementedException.c @@ -0,0 +1,19 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" + +///////////////////////////////////////////////////////////// +// System.NotImplementedException + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_BEGIN(System_NotImplementedException, "System.NotImplementedException", IL2C_TYPE_REFERENCE, sizeof(System_NotImplementedException), System_SystemException, 0, 0) +IL2C_RUNTIME_TYPE_END(); diff --git a/src/IL2C.Runtime/src/System/SystemException.c b/src/IL2C.Runtime/src/System/SystemException.c new file mode 100644 index 00000000..996229e9 --- /dev/null +++ b/src/IL2C.Runtime/src/System/SystemException.c @@ -0,0 +1,19 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" + +///////////////////////////////////////////////////////////// +// System.SystemException + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_BEGIN(System_SystemException, "System.SystemException", IL2C_TYPE_REFERENCE, sizeof(System_SystemException), System_Exception, 0, 0) +IL2C_RUNTIME_TYPE_END(); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index b2535a17..54ecd9b5 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -14,6 +14,7 @@ Library False enable + $(DefineConstants);$(OS) IL2C.Core.Test.RuntimeSystems IL2C.RuntimeSystems diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 2b450b47..447d18ea 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -61,14 +61,25 @@ public static long IL2CInvokeMkTime() return mktime(tmValue); } - [DllImport("libc", EntryPoint = "wcslen")] +#if Windows_NT + [DllImport("kernel32", EntryPoint = "lstrlenW", CallingConvention = CallingConvention.Winapi)] + private static extern int lstrlenW(string message); + + [TestCase(3, new[] { "PInvokeLStrLenW", "lstrlenW" }, "ABC")] + public static int PInvokeLStrLenW(string message) + { + return lstrlenW(message); + } +#else + [DllImport("libc", EntryPoint = "wcslen", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr wcslen(string message); - [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC")] public static int PInvokeWcsLen(string message) { return wcslen(message).ToInt32(); } +#endif [TestCase(12345678, "TransparencyForNativePointer", 12345678)] public static IntPtr TransparencyForNativePointer(IntPtr value) From 2b9d49fc0e9d129955745ec6fda2ad63e03d19bb Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 17:41:24 +0900 Subject: [PATCH 031/144] Added more standard assembly referencing headers. --- .../include/System.Threading.Thread.h | 17 +++++++++++++++++ src/IL2C.Runtime/include/System.Threading.h | 17 +++++++++++++++++ .../IL2C.Core.Test.RuntimeSystems.csproj | 5 +---- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 src/IL2C.Runtime/include/System.Threading.Thread.h create mode 100644 src/IL2C.Runtime/include/System.Threading.h diff --git a/src/IL2C.Runtime/include/System.Threading.Thread.h b/src/IL2C.Runtime/include/System.Threading.Thread.h new file mode 100644 index 00000000..41bd7124 --- /dev/null +++ b/src/IL2C.Runtime/include/System.Threading.Thread.h @@ -0,0 +1,17 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_Threading_dll_H__ +#define System_Threading_dll_H__ + +#pragma once + +#include + +#endif diff --git a/src/IL2C.Runtime/include/System.Threading.h b/src/IL2C.Runtime/include/System.Threading.h new file mode 100644 index 00000000..41bd7124 --- /dev/null +++ b/src/IL2C.Runtime/include/System.Threading.h @@ -0,0 +1,17 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_Threading_dll_H__ +#define System_Threading_dll_H__ + +#pragma once + +#include + +#endif diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index 54ecd9b5..f34eee90 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -7,10 +7,7 @@ - - net48 Library False enable @@ -20,7 +17,7 @@ IL2C.RuntimeSystems CommentOnly - false + true Debug false From 4091d885ff33cb800c3f1e639771b80337215b0a Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 17:42:35 +0900 Subject: [PATCH 032/144] Fixed once macro name. --- src/IL2C.Runtime/include/System.Threading.Thread.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Runtime/include/System.Threading.Thread.h b/src/IL2C.Runtime/include/System.Threading.Thread.h index 41bd7124..894d95ad 100644 --- a/src/IL2C.Runtime/include/System.Threading.Thread.h +++ b/src/IL2C.Runtime/include/System.Threading.Thread.h @@ -7,8 +7,8 @@ // //////////////////////////////////////////////////////////////////////////// -#ifndef System_Threading_dll_H__ -#define System_Threading_dll_H__ +#ifndef System_Threading_Thread_dll_H__ +#define System_Threading_Thread_dll_H__ #pragma once From 0d86b0e4187b4c3271c0785cbcb44703b0a300ec Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 18:48:50 +0900 Subject: [PATCH 033/144] Adjusted tfms and configurations. --- .github/workflows/build-linux.yaml | 8 ++++---- .github/workflows/build-windows.yaml | 8 ++++---- src/IL2C.Build/IL2C.Build.csproj | 2 +- src/IL2C.Build/build/IL2C.Build.targets | 2 +- src/IL2C.Core/IL2C.Core.csproj | 2 +- .../Calculator.Core/Calculator.Core.csproj | 13 +++++++------ src/PlayGround/Calculator/Calculator.csproj | 12 +++++------- src/PlayGround/HelloWorld/HelloWorld.csproj | 12 +++++++++--- .../ShowMessageBoxOnWindows.csproj | 12 +++++++++--- .../TakeAdvantageWithIL2CInvoke.csproj | 16 ++++++++++------ 10 files changed, 51 insertions(+), 36 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 3cd73060..706add21 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -34,19 +34,19 @@ jobs: - name: Setup .NET Core 2.2 uses: actions/setup-dotnet@v1 with: - dotnet-version: 2.1.818 + dotnet-version: 2.2.* - name: Setup .NET Core 3.1 uses: actions/setup-dotnet@v1 with: - dotnet-version: 3.1.414 + dotnet-version: 3.1.* - name: Setup .NET 5 uses: actions/setup-dotnet@v1 with: - dotnet-version: 5.0.402 + dotnet-version: 5.0.* - name: Setup .NET 6 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.100 + dotnet-version: 6.0.* #- name: Initialize tools # run: bash .github/workflows/init-tools-on-ga.sh - name: Install dependencies diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 93076943..4de5617b 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -34,19 +34,19 @@ jobs: - name: Setup .NET Core 2.2 uses: actions/setup-dotnet@v1 with: - dotnet-version: 2.1.818 + dotnet-version: 2.2.* - name: Setup .NET Core 3.1 uses: actions/setup-dotnet@v1 with: - dotnet-version: 3.1.414 + dotnet-version: 3.1.* - name: Setup .NET 5 uses: actions/setup-dotnet@v1 with: - dotnet-version: 5.0.402 + dotnet-version: 5.0.* - name: Setup .NET 6 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.100 + dotnet-version: 6.0.* - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.3 - name: Initialize tools diff --git a/src/IL2C.Build/IL2C.Build.csproj b/src/IL2C.Build/IL2C.Build.csproj index 28981309..ebc8e9a7 100644 --- a/src/IL2C.Build/IL2C.Build.csproj +++ b/src/IL2C.Build/IL2C.Build.csproj @@ -1,7 +1,7 @@  - net462;netcoreapp2.1;netcoreapp2.2;netcoreapp3.1;net5.0;net6.0 + net462;netcoreapp2.2;netcoreapp3.1;net5.0;net6.0 Exe enable diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index c347a8aa..d8559999 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -38,7 +38,7 @@ <_IL2C_PlatformName Condition="$(BundledNETCoreAppTargetFrameworkVersion) < 5.0">netcoreapp$(BundledNETCoreAppTargetFrameworkVersion) - <_IL2C_PlatformName>netcoreapp2.0 + <_IL2C_PlatformName>netcoreapp2.2 <_IL2C_PlatformName>net462 diff --git a/src/IL2C.Core/IL2C.Core.csproj b/src/IL2C.Core/IL2C.Core.csproj index 539be241..d9b2ad1f 100644 --- a/src/IL2C.Core/IL2C.Core.csproj +++ b/src/IL2C.Core/IL2C.Core.csproj @@ -1,7 +1,7 @@  - net462;net48;netstandard2.0;netstandard2.1;netcoreapp2.2;netcoreapp3.1;net5.0;net6.0 + net462;net48;netstandard2.0;netstandard2.1;netcoreapp2.0;netcoreapp2.1;netcoreapp2.2;netcoreapp3.0;netcoreapp3.1;net5.0;net6.0 Library IL2C.Core diff --git a/src/PlayGround/Calculator.Core/Calculator.Core.csproj b/src/PlayGround/Calculator.Core/Calculator.Core.csproj index 94afc79d..54811b85 100644 --- a/src/PlayGround/Calculator.Core/Calculator.Core.csproj +++ b/src/PlayGround/Calculator.Core/Calculator.Core.csproj @@ -7,18 +7,19 @@ - netstandard2.0 + net48;netstandard2.0 Calculator.Core Calculator - - - - + CommentOnly + true + Information + false - + + diff --git a/src/PlayGround/Calculator/Calculator.csproj b/src/PlayGround/Calculator/Calculator.csproj index acacac29..d893a3d8 100644 --- a/src/PlayGround/Calculator/Calculator.csproj +++ b/src/PlayGround/Calculator/Calculator.csproj @@ -13,15 +13,13 @@ Calculator Calculator - -Os - - - - - + CommentOnly + true + Information + false - + diff --git a/src/PlayGround/HelloWorld/HelloWorld.csproj b/src/PlayGround/HelloWorld/HelloWorld.csproj index 84c73899..f4bbabb3 100644 --- a/src/PlayGround/HelloWorld/HelloWorld.csproj +++ b/src/PlayGround/HelloWorld/HelloWorld.csproj @@ -8,10 +8,16 @@ Exe - net6.0 + net48;net6.0 - - -s + CommentOnly + true + Information + false + + + + diff --git a/src/PlayGround/ShowMessageBoxOnWindows/ShowMessageBoxOnWindows.csproj b/src/PlayGround/ShowMessageBoxOnWindows/ShowMessageBoxOnWindows.csproj index eadb7893..60972da7 100644 --- a/src/PlayGround/ShowMessageBoxOnWindows/ShowMessageBoxOnWindows.csproj +++ b/src/PlayGround/ShowMessageBoxOnWindows/ShowMessageBoxOnWindows.csproj @@ -10,14 +10,20 @@ WinExe - net6.0 + net48;net6.0 false - - -s + CommentOnly + true + Information + false + + + + diff --git a/src/PlayGround/TakeAdvantageWithIL2CInvoke/TakeAdvantageWithIL2CInvoke.csproj b/src/PlayGround/TakeAdvantageWithIL2CInvoke/TakeAdvantageWithIL2CInvoke.csproj index 6c1f7960..05af0668 100644 --- a/src/PlayGround/TakeAdvantageWithIL2CInvoke/TakeAdvantageWithIL2CInvoke.csproj +++ b/src/PlayGround/TakeAdvantageWithIL2CInvoke/TakeAdvantageWithIL2CInvoke.csproj @@ -8,12 +8,16 @@ Exe - net6.0 - - - -s - - + net48;net6.0 + + CommentOnly + true + Information + false + + + + From 108e863eb372f35140b682338fcf7e09def410a2 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 20:37:28 +0900 Subject: [PATCH 034/144] Avoid building on background translation by VS intellisense engine. --- src/IL2C.Build/build/IL2C.Build.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index d8559999..722eefd0 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -1,4 +1,4 @@ - + + + <_IL2C_NativeOptions>$(_IL2C_NativeCompilerOption) $(_IL2C_NativeCompilerFlagsOption) $(_IL2C_NativeLinkingFlagsOption) $(_IL2C_NativeArchiverOption) $(_IL2C_NativeIncludeDirOption) $(_IL2C_NativeLibPathOption) $(_IL2C_OutputNativeArchiveFileNameOption) $(_IL2C_OutputNativeExecutableFileNameOption) $(_IL2C_OutputNativeDirOption) $(_IL2C_NativeMainTemplatePathOption) $(_IL2C_EnableParallelismOption) $(_IL2C_LaunchDebuggerOption) + diff --git a/src/IL2C.Core/CodeTextStorage.cs b/src/IL2C.Core/CodeTextStorage.cs index ff638814..958eb710 100644 --- a/src/IL2C.Core/CodeTextStorage.cs +++ b/src/IL2C.Core/CodeTextStorage.cs @@ -57,7 +57,7 @@ public CodeTextWriter CreateHeaderWriter(string fileName) protected virtual TextWriter OnCreateTextWriter(string path) { - var directoryPath = IOAccessor.GetDirectoryPath(path); + var directoryPath = Path.GetFullPath(IOAccessor.GetDirectoryPath(path)); try { if (!Directory.Exists(directoryPath)) diff --git a/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs b/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs index 4dc5fcfb..106b4d1d 100644 --- a/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs +++ b/src/IL2C.Core/Drivers/NativeBinaryBuilder.cs @@ -101,9 +101,9 @@ private static async Task ExecuteCompilerAsync( string[] additionalLibraryPaths) { var sourceCodeFileName = Path.GetFileNameWithoutExtension(sourceCodePath); - var outputBasePath = Path.Combine( + var outputBasePath = Path.GetFullPath(Path.Combine( outputStagingDirPath, - IOAccessor.GetDirectoryPath(sourceCodePath.Substring(sourceDir.Length + 1))); + IOAccessor.GetDirectoryPath(sourceCodePath.Substring(sourceDir.Length + 1)))); var outputPath = Path.Combine( outputBasePath, outputFileName); @@ -147,7 +147,7 @@ private static ValueTask ExecuteArchiverAsync( string[] nativeCompilerBasePaths, string nativeArchiver) { - var outputBasePath = IOAccessor.GetDirectoryPath(outputPath); + var outputBasePath = Path.GetFullPath(IOAccessor.GetDirectoryPath(outputPath)); var buildScriptPath = Path.Combine( outputBasePath, $"build_{Path.GetFileNameWithoutExtension(outputPath)}"); diff --git a/src/IL2C.Core/Internal/IOAccessor.cs b/src/IL2C.Core/Internal/IOAccessor.cs index e4bdeb9c..ad2635be 100644 --- a/src/IL2C.Core/Internal/IOAccessor.cs +++ b/src/IL2C.Core/Internal/IOAccessor.cs @@ -43,59 +43,72 @@ public static string ToRelativePath(string baseDirPath, string path) return candidate.Length >= 1 ? candidate : "."; } - public static string GetDirectoryPath(string path) - { - var d = Path.GetDirectoryName(path); - if (d == null) - { - return Path.DirectorySeparatorChar.ToString(); - } - else if (string.IsNullOrWhiteSpace(d)) + public static string GetDirectoryPath(string path) => + Path.GetDirectoryName(path) switch { - return Path.GetFullPath("."); - } - else - { - return Path.GetFullPath(d); - } - } + null => Path.DirectorySeparatorChar.ToString(), + { Length: 0 } => ".", + { } d => d, + }; - public static ValueTask SafeCreateDirectoryAsync(string path, bool clean) => - new ValueTask(Task.Run(() => + public static ValueTask SafeCreateDirectoryAsync(string path, bool clean) + { + if (clean) { - if (clean) + return new ValueTask(Task.Run(() => { try { Directory.Delete(path, true); + Directory.CreateDirectory(path); } catch { } - } + })); + } + else + { if (!Directory.Exists(path)) { - try + return new ValueTask(Task.Run(() => { - Directory.CreateDirectory(path); - } - catch - { - } + try + { + Directory.CreateDirectory(path); + } + catch + { + } + })); + } + else + { + return default; } - })); + } + } -#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER - public static ValueTask ReadAllTextAsync(string path, Encoding encoding) => - new ValueTask(File.ReadAllTextAsync(path, encoding)); - public static ValueTask WriteAllTextAsync(string path, string contents, Encoding encoding) => - new ValueTask(File.WriteAllTextAsync(path, contents, encoding)); -#else - public static ValueTask ReadAllTextAsync(string path, Encoding encoding) => - new ValueTask(Task.Run(() => File.ReadAllText(path, encoding))); - public static ValueTask WriteAllTextAsync(string path, string contents, Encoding encoding) => - new ValueTask(Task.Run(() => File.WriteAllText(path, contents, encoding))); -#endif + public static async ValueTask ReadAllTextAsync( + string path, Encoding encoding) + { + using var fs = new FileStream( + path, FileMode.Open, FileAccess.Read, FileShare.Read, 65536, true); + var tr = new StreamReader(fs, encoding); + + return await tr.ReadToEndAsync().ConfigureAwait(false); + } + + public static async ValueTask WriteAllTextAsync( + string path, string contents, Encoding encoding) + { + using var fs = new FileStream( + path, FileMode.Create, FileAccess.ReadWrite, FileShare.None, 65536, true); + var tw = new StreamWriter(fs, encoding); + + await tw.WriteAsync(contents).ConfigureAwait(false); + await tw.FlushAsync().ConfigureAwait(false); + } public static async ValueTask ExecuteAsync( string workingPath, string scriptName, string[] searchPaths, From 0e3657aad0f5c3062d63334c78affa41310ca66e Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 28 May 2022 21:19:46 +0900 Subject: [PATCH 036/144] Improving TestsCase attribute (WIP) --- .../TestCaseAttribute.cs | 59 +++++++++++++++++-- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index 449aad90..03b4051d 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -28,16 +28,35 @@ public enum TestCaseAsserts public sealed class TestCaseAttribute : NUnit.Framework.TestCaseAttribute, NUnit.Framework.ITestAction { + // HACK: Modified the tests that were realized using non-public knowledge of NUnit to be tested in an official way. + // In doing so, to minimize the amount of refactoring, a condition that is difficult to understand was required: + // * If a valid value is specified for `expected`, store the value in `ExpectedResult` and let NUnit check it. + // * If `expected` is null, we don't know if we want to compare with null or ignore the result. + // * If we had access to `MethodInfo` at construction time, we could distinguish by looking at `ReturnType`, but we don't. + // * The value of `TestCaseAsserts` is called separately at constructor completion, so it cannot be determined in the constructor. + // * If you do not collate the result values, do not set any value to `ExpectedResult`. + private TestCaseAsserts assert; + private readonly bool isExpectedNull; + private bool isSetAssert; + public TestCaseAttribute( object? expected, string methodName, params object?[] args) : base(args ?? new object?[] { null }) // HACK { - base.ExpectedResult = expected; + if (expected != null) + { + base.ExpectedResult = expected; + this.assert = TestCaseAsserts.PerfectMatch; + } + else + { + this.isExpectedNull = true; + this.assert = TestCaseAsserts.IgnoreValidateInvokeResult; + } this.MethodName = methodName; this.AdditionalMethodNames = new string[0]; - this.Assert = TestCaseAsserts.PerfectMatch; this.IncludeBaseTypes = false; this.IncludeTypes = Type.EmptyTypes; this.IgnoreILErrors = new string[0]; @@ -48,12 +67,20 @@ public TestCaseAttribute( object? expected, string[] methodNames, params object?[] args) : base(args ?? new object?[] { null }) // HACK { - base.ExpectedResult = expected; + if (expected != null) + { + base.ExpectedResult = expected; + this.assert = TestCaseAsserts.PerfectMatch; + } + else + { + this.isExpectedNull = true; + this.assert = TestCaseAsserts.IgnoreValidateInvokeResult; + } this.MethodName = methodNames[0]; // test method this.AdditionalMethodNames = GetAdditionalMethodNames(methodNames); // additionals - this.Assert = TestCaseAsserts.PerfectMatch; this.IncludeBaseTypes = false; this.IncludeTypes = Type.EmptyTypes; this.IgnoreILErrors = new string[0]; @@ -72,7 +99,29 @@ private static string[] GetAdditionalMethodNames(string[] methodNames) public string MethodName { get; } public string[] AdditionalMethodNames { get; } - public TestCaseAsserts Assert { get; set; } + public TestCaseAsserts Assert + { + get => this.assert; + set + { + if (!this.isSetAssert) + { + this.isSetAssert = true; + this.Assert = value; + + if (this.isExpectedNull && + value == TestCaseAsserts.PerfectMatch) + { + this.ExpectedResult = null; + } + } + else + { + throw new InvalidOperationException(); + } + } + } + public bool IncludeBaseTypes { get; set; } public Type[] IncludeTypes { get; set; } public string[] IgnoreILErrors { get; set; } From 1134f1fb843253254b50e52e848d00d2628cc38b Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 22:39:53 +0900 Subject: [PATCH 037/144] Updated package. --- src/IL2C.Build/build/IL2C.Build.targets | 9 ++++----- .../IL2C.Core.Test.BasicTypes.csproj | 2 +- .../IL2C.Core.Test.ILConverters.csproj | 2 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/IL2C.Build/build/IL2C.Build.targets b/src/IL2C.Build/build/IL2C.Build.targets index 5f48cdd3..5390e965 100644 --- a/src/IL2C.Build/build/IL2C.Build.targets +++ b/src/IL2C.Build/build/IL2C.Build.targets @@ -51,15 +51,14 @@ - - - <_IL2C_BuildAfterTargets Condition="'$(ILComposeDependsOnTargets)' != ''">ILComposeBuildTarget - <_IL2C_BuildAfterTargets Condition="'$(ILComposeDependsOnTargets)' == ''">Compile + + <_IL2C_BuildDependsOnTargets Condition="'$(_ILCompose_ScriptBaseDir)' != ''">ILComposeBuildTarget + <_IL2C_BuildDependsOnTargets Condition="'$(_ILCompose_ScriptBaseDir)' == ''">Compile - diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index d07b2d8a..c2304e69 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index f26fc2de..92a2e50f 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index f34eee90..323ef0ff 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -24,7 +24,7 @@ - + From f05737a6e22f3ccc3db09c37d84446fd52f50b92 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 23:36:47 +0900 Subject: [PATCH 038/144] Improved execution stability for GC test. --- .../GarbageCollection/GarbageCollection.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs index 81cf3a44..0c1f1214 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs @@ -172,6 +172,7 @@ public void Run() while (!abort) { GC.Collect(); + Thread.Sleep(1); } } } @@ -424,7 +425,7 @@ public static int ReRegisterForFinalize() return holder.Called; } - [TestCase(200000, "ConcurrentCollect", 10, 100000, IncludeTypes = new[] { typeof(ConcurrentCollectClosure), typeof(ConcurrentCollectValueHolder) })] + [TestCase(80000000, "ConcurrentCollect", 10, 40000000, IncludeTypes = new[] { typeof(ConcurrentCollectClosure), typeof(ConcurrentCollectValueHolder) })] public static int ConcurrentCollect(int count, int increments) { var target = new ConcurrentCollectClosure(); From 32f7e0a721db9fbd99a83ea9b68b4951154c180c Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 29 May 2022 23:37:38 +0900 Subject: [PATCH 039/144] Fixed SOE on TestCastAttribute property. --- tests/IL2C.Core.Test.Common/TestCaseAttribute.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index 03b4051d..48b61c3c 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -107,7 +107,7 @@ public TestCaseAsserts Assert if (!this.isSetAssert) { this.isSetAssert = true; - this.Assert = value; + this.assert = value; if (this.isExpectedNull && value == TestCaseAsserts.PerfectMatch) @@ -115,7 +115,7 @@ public TestCaseAsserts Assert this.ExpectedResult = null; } } - else + else if (value != this.assert) { throw new InvalidOperationException(); } From 8c86027b20e1d2213e8f2dedf495e7e1c1bfc2a8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 1 Jun 2022 22:57:07 +0900 Subject: [PATCH 040/144] Updated package. --- misc/ArtifactCollector/ArtifactCollector.csproj | 2 +- .../IL2C.Toolchain.gcc4.mingw32.csproj | 2 +- src/Directory.Build.props | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/misc/ArtifactCollector/ArtifactCollector.csproj b/misc/ArtifactCollector/ArtifactCollector.csproj index 16e9be9a..13e35cfc 100644 --- a/misc/ArtifactCollector/ArtifactCollector.csproj +++ b/misc/ArtifactCollector/ArtifactCollector.csproj @@ -10,7 +10,7 @@ - + diff --git a/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj b/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj index d9409c47..2a0eb69d 100644 --- a/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj +++ b/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 296e543c..6bb46de0 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -36,7 +36,7 @@ - + From e462568a3454bc65cf7a8393ab9a3b0d9ec0bb2b Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:01:33 +0900 Subject: [PATCH 041/144] Updated package. --- misc/ArtifactCollector/ArtifactCollector.csproj | 2 +- .../IL2C.Toolchain.gcc4.mingw32.csproj | 2 +- src/Directory.Build.props | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/misc/ArtifactCollector/ArtifactCollector.csproj b/misc/ArtifactCollector/ArtifactCollector.csproj index 13e35cfc..e3cb9d93 100644 --- a/misc/ArtifactCollector/ArtifactCollector.csproj +++ b/misc/ArtifactCollector/ArtifactCollector.csproj @@ -10,7 +10,7 @@ - + diff --git a/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj b/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj index 2a0eb69d..eb9e2708 100644 --- a/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj +++ b/misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 6bb46de0..858e21c4 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -36,7 +36,7 @@ - + From cdd68cac944df082261e6966f38b86e9637fd27f Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:14:39 +0900 Subject: [PATCH 042/144] Fixed float64 string precision format. --- .../System_Double/System_Double.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs b/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs index 774e5eeb..ec088e95 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.cs @@ -22,8 +22,13 @@ public sealed class System_Double [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); - [TestCase("1.797693134862316e+308", "ToString", double.MaxValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is 1.7976931348623157E+308 - [TestCase("-1.797693134862316e+308", "ToString", double.MinValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is -1.7976931348623157E+308 +#if NET6_0_OR_GREATER + [TestCase("1.7976931348623157E+308", "ToString", double.MaxValue)] + [TestCase("-1.7976931348623157E+308", "ToString", double.MinValue)] +#else + [TestCase("1.79769313486232E+308", "ToString", double.MaxValue)] + [TestCase("-1.79769313486232E+308", "ToString", double.MinValue)] +#endif public static string ToString(double value) { return value.ToString(); From 3ef1472ab5459c1e82c2215dc4c68a3c0bf83c49 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:23:32 +0900 Subject: [PATCH 043/144] Fixed using on arguments int32 instead IntPtr. --- src/IL2C.Runtime/include/System/IntPtr.h | 2 ++ .../System_IntPtr/System_IntPtr.cs | 25 +++++++++++-------- .../System_IntPtr/System_IntPtr.il | 2 +- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/IL2C.Runtime/include/System/IntPtr.h b/src/IL2C.Runtime/include/System/IntPtr.h index bea750cc..4cd8da8e 100644 --- a/src/IL2C.Runtime/include/System/IntPtr.h +++ b/src/IL2C.Runtime/include/System/IntPtr.h @@ -41,6 +41,8 @@ extern intptr_t* System_IntPtr_Zero_REF__; #define System_IntPtr_ToInt32(this__) ((int32_t)*(this__)) #define System_IntPtr_ToInt64(this__) ((int64_t)*(this__)) +#define System_IntPtr_get_Size() (sizeof(intptr_t)) + #define System_IntPtr_op_Explicit__System_Int32(value) ((intptr_t)(value)) #define System_IntPtr_op_Explicit__System_Int64(value) ((intptr_t)(value)) #define System_IntPtr_op_Addition__System_IntPtr_System_Int32(lhs, rhs) (((intptr_t)(lhs)) + ((intptr_t)(rhs))) diff --git a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs index 6e296aa6..edd42bc5 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.cs @@ -18,33 +18,36 @@ public sealed class System_IntPtr [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); - [TestCase(4, "SizeOf", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Unit test environment is unknown, gcc is 32bit - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern int SizeOf(); + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern int SizeOfImpl(); + + [TestCase(true, "SizeOf")] + public static bool SizeOf() => + IntPtr.Size == SizeOfImpl(); [TestCase("2147483647", "ToString", int.MaxValue)] [TestCase("-2147483648", "ToString", int.MinValue)] - public static string ToString(IntPtr value) + public static string ToString(int value) { - return value.ToString(); + return ((IntPtr)value).ToString(); } [TestCase(true, "Zero", 0)] - public static bool Zero(IntPtr v) + public static bool Zero(int v) { - return v == IntPtr.Zero; + return ((IntPtr)v) == IntPtr.Zero; } [TestCase(true, "Equality", 0)] - public static bool Equality(IntPtr v) + public static bool Equality(int v) { - return v == IntPtr.Zero; + return ((IntPtr)v) == IntPtr.Zero; } [TestCase(false, "NonEquality", 0)] - public static bool NonEquality(IntPtr v) + public static bool NonEquality(int v) { - return v != IntPtr.Zero; + return ((IntPtr)v) != IntPtr.Zero; } [TestCase(123, "ToInt32", 123)] diff --git a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il index c48ba3d4..bb867103 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il @@ -15,7 +15,7 @@ ret } - .method public static int32 SizeOf() cil managed + .method public static int32 SizeOfImpl() cil managed { .maxstack 1 sizeof native int From 6c1676e46b9c8cfc21eb327d3bddca6b6e99de95 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:28:14 +0900 Subject: [PATCH 044/144] Fixed float32 string precision format. --- .../System_Single/System_Single.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs b/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs index 2f4c5f72..ab4df822 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.cs @@ -22,8 +22,13 @@ public sealed class System_Single [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int SizeOf(); - [TestCase("3.4028235e+038", "ToString", float.MaxValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is 3.40282347E+38 - [TestCase("-3.4028235e+038", "ToString", float.MinValue, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Real value is -3.40282347E+38 +#if NET6_0_OR_GREATER + [TestCase("3.4028235E+38", "ToString", float.MaxValue)] + [TestCase("-3.4028235E+38", "ToString", float.MinValue)] +#else + [TestCase("3.402823E+38", "ToString", float.MaxValue)] + [TestCase("-3.402823E+38", "ToString", float.MinValue)] +#endif public static string ToString(float value) { return value.ToString(); From 279947178f053cadfd0c3eab8bdb6c9e628fb602 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:32:44 +0900 Subject: [PATCH 045/144] Fixed using on arguments uint32 instead UIntPtr. --- src/IL2C.Runtime/include/System/UIntPtr.h | 2 ++ .../System_UIntPtr/System_UIntPtr.cs | 21 +++++++++++-------- .../System_UIntPtr/System_UIntPtr.il | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/IL2C.Runtime/include/System/UIntPtr.h b/src/IL2C.Runtime/include/System/UIntPtr.h index e5bd693b..4335152b 100644 --- a/src/IL2C.Runtime/include/System/UIntPtr.h +++ b/src/IL2C.Runtime/include/System/UIntPtr.h @@ -37,6 +37,8 @@ extern /* virtual */ bool System_UIntPtr_Equals__System_Object(uintptr_t* this__ #define System_UIntPtr_ToUInt32(this__) ((uint32_t)*(this__)) #define System_UIntPtr_ToUInt64(this__) ((uint64_t)*(this__)) +#define System_UIntPtr_get_Size() (sizeof(uintptr_t)) + #define System_UIntPtr_op_Explicit__System_UInt32(value) ((uintptr_t)(value)) #define System_UIntPtr_op_Explicit__System_UInt64(value) ((uintptr_t)(value)) #define System_UIntPtr_op_Addition__System_UIntPtr_System_Int32(lhs, rhs) (((uintptr_t)(lhs)) + ((uintptr_t)(rhs))) diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs index 5694ca88..d45076ab 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.cs @@ -18,22 +18,25 @@ public sealed class System_UIntPtr [MethodImpl(MethodImplOptions.ForwardRef)] public static extern bool IsValueType(); - [TestCase(4, "SizeOf", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Unit test environment is unknown, gcc is 32bit - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern int SizeOf(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern int SizeOfImpl(); + + [TestCase(true, "SizeOf")] + public static bool SizeOf() => + UIntPtr.Size == SizeOfImpl(); [TestCase("4294967295", "ToString", uint.MaxValue)] [TestCase("0", "ToString", uint.MinValue)] - public static string ToString(UIntPtr value) + public static string ToString(uint value) { - return value.ToString(); + return ((UIntPtr)value).ToString(); } - [TestCase(123, "ToUInt32", 123)] - public static int ToUInt32(int v) + [TestCase(123U, "ToUInt32", 123U)] + public static uint ToUInt32(uint v) { - var ip = (IntPtr)v; - return ip.ToInt32(); + var ip = (UIntPtr)v; + return ip.ToUInt32(); } [TestCase(123UL, "ToUInt64", 123UL)] diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il index d3232cd3..8046edd2 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il @@ -15,7 +15,7 @@ ret } - .method public static int32 SizeOf() cil managed + .method public static int32 SizeOfImpl() cil managed { .maxstack 1 sizeof native uint From b1a2d7a809889f3f9e954034eef95f63cbe0a982 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:35:17 +0900 Subject: [PATCH 046/144] Fixed perfect match instead ignore rule. --- tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs b/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs index f68fe7e1..51a6a7e6 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Type/System_Type.cs @@ -35,7 +35,7 @@ public static string BaseType(object value) return value.GetType().BaseType!.FullName!; } - [TestCase(null, "Object_BaseType")] + [TestCase(null, "Object_BaseType", Assert = TestCaseAsserts.PerfectMatch)] public static Type? Object_BaseType() { // TODO: We have to handle GetTypeFromHandle. From b19bc58381ee8c47e0f93a496e4e2522fb4555bb Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:40:00 +0900 Subject: [PATCH 047/144] Fixed perfect match instead ignore rule. --- .../ExceptionHandling/ExceptionHandling.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs index d514b0ca..dc7063f6 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionHandling/ExceptionHandling.cs @@ -33,8 +33,8 @@ public static int RaiseAndCaughtLocal(bool sw) } [TestCase("ABC", "RaiseCaughtAndAccessLocal", "ABC")] - [TestCase(null, "RaiseCaughtAndAccessLocal", null!)] - public static string? RaiseCaughtAndAccessLocal(string value) + [TestCase(null, "RaiseCaughtAndAccessLocal", null!, Assert = TestCaseAsserts.PerfectMatch)] + public static string? RaiseCaughtAndAccessLocal(string? value) { try { @@ -48,8 +48,8 @@ public static int RaiseAndCaughtLocal(bool sw) } [TestCase("ABC", "RaiseCaughtNarrowingLocal", "ABC")] - [TestCase(null, "RaiseCaughtNarrowingLocal", null!)] - public static string? RaiseCaughtNarrowingLocal(string value) + [TestCase(null, "RaiseCaughtNarrowingLocal", null!, Assert = TestCaseAsserts.PerfectMatch)] + public static string? RaiseCaughtNarrowingLocal(string? value) { try { @@ -63,8 +63,8 @@ public static int RaiseAndCaughtLocal(bool sw) } [TestCase("ABC", "RaiseCaughtWildcardLocal", "ABC")] - [TestCase(null, "RaiseCaughtWildcardLocal", null!)] - public static string? RaiseCaughtWildcardLocal(string value) + [TestCase(null, "RaiseCaughtWildcardLocal", null!, Assert = TestCaseAsserts.PerfectMatch)] + public static string? RaiseCaughtWildcardLocal(string? value) { try { From 2fe58dfbbe5d37cfbd287d5750575fa721bf30a4 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:42:43 +0900 Subject: [PATCH 048/144] Fixed using on arguments int32 instead IntPtr. --- .../Interoperability/Interoperability.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 447d18ea..2e80a8a6 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -82,20 +82,20 @@ public static int PInvokeWcsLen(string message) #endif [TestCase(12345678, "TransparencyForNativePointer", 12345678)] - public static IntPtr TransparencyForNativePointer(IntPtr value) + public static int TransparencyForNativePointer(int value) { - NativePointer np = value; + NativePointer np = (IntPtr)value; IntPtr ip = np; - return ip; + return ip.ToInt32(); } [TestCase(12345678, "TransparencyForNativePointerInsideNativeType", 12345678, IncludeTypes = new[] { typeof(NativePointerInside) })] - public static IntPtr TransparencyForNativePointerInsideNativeType(IntPtr value) + public static int TransparencyForNativePointerInsideNativeType(int value) { NativePointerInside npi; - npi.Pointer = value; + npi.Pointer = (IntPtr)value; IntPtr ip = npi.Pointer; - return ip; + return ip.ToInt32(); } private static IntPtr ConcatAndToObjRefHandle(string a, string b) From 3b2fbb5b65b037988cfd55f057d02c41a10f9616 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:53:42 +0900 Subject: [PATCH 049/144] Ignored asserting exception message. --- .../InvalidCastExceptions.cs | 144 ++++++------------ 1 file changed, 44 insertions(+), 100 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs index 7ba6d8a3..52c4f9f1 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/InvalidCastExceptions.cs @@ -26,7 +26,7 @@ public sealed class InvalidCastExceptions { // These cases become from ECMA-335 I.12.4.2.1 - Exceptions thrown by the CLI - Object Model Instructions - [TestCase(true, "InvalidCastExceptionFromStringToString", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromStringToString")] public static bool InvalidCastExceptionFromStringToString() { object value = "ABC"; @@ -36,12 +36,12 @@ public static bool InvalidCastExceptionFromStringToString() } catch (InvalidCastException) { - return false; + return true; } return true; } - [TestCase(true, "InvalidCastExceptionFromInt32ToString", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt32ToString")] public static bool InvalidCastExceptionFromInt32ToString() { object value = 123; @@ -49,12 +49,8 @@ public static bool InvalidCastExceptionFromInt32ToString() { var foo = (string)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; @@ -65,7 +61,7 @@ public static string TestTarget(string from) return from; } - [TestCase(true, new[] { "InvalidCastExceptionFromDelegateToString", "TestTarget" }, IncludeTypes = new[] { typeof(ObjectModelInstructionsTestDelegate) }, Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, new[] { "InvalidCastExceptionFromDelegateToString", "TestTarget" }, IncludeTypes = new[] { typeof(ObjectModelInstructionsTestDelegate) })] public static bool InvalidCastExceptionFromDelegateToString() { try @@ -73,18 +69,14 @@ public static bool InvalidCastExceptionFromDelegateToString() object dlg = new ObjectModelInstructionsTestDelegate(TestTarget); var foo = (string)dlg; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromByteToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(false, "InvalidCastExceptionFromByteToByte")] public static bool InvalidCastExceptionFromByteToByte() { object value = (byte)123; @@ -94,12 +86,12 @@ public static bool InvalidCastExceptionFromByteToByte() } catch (InvalidCastException) { - return false; + return true; } - return true; + return false; } - [TestCase(true, "InvalidCastExceptionFromByteToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromByteToInt16")] public static bool InvalidCastExceptionFromByteToInt16() { object value = (byte)123; @@ -107,18 +99,14 @@ public static bool InvalidCastExceptionFromByteToInt16() { var foo = (short)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromByteToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromByteToInt32")] public static bool InvalidCastExceptionFromByteToInt32() { object value = (byte)123; @@ -126,18 +114,14 @@ public static bool InvalidCastExceptionFromByteToInt32() { var foo = (int)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromByteToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromByteToInt64")] public static bool InvalidCastExceptionFromByteToInt64() { object value = (byte)123; @@ -145,18 +129,14 @@ public static bool InvalidCastExceptionFromByteToInt64() { var foo = (long)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt16ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt16ToByte")] public static bool InvalidCastExceptionFromInt16ToByte() { object value = (short)123; @@ -164,18 +144,14 @@ public static bool InvalidCastExceptionFromInt16ToByte() { var foo = (byte)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt16ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(false, "InvalidCastExceptionFromInt16ToInt16")] public static bool InvalidCastExceptionFromInt16ToInt16() { object value = (short)123; @@ -185,12 +161,12 @@ public static bool InvalidCastExceptionFromInt16ToInt16() } catch (InvalidCastException) { - return false; + return true; } - return true; + return false; } - [TestCase(true, "InvalidCastExceptionFromInt16ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt16ToInt32")] public static bool InvalidCastExceptionFromInt16ToInt32() { object value = (short)123; @@ -198,18 +174,14 @@ public static bool InvalidCastExceptionFromInt16ToInt32() { var foo = (int)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt16ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt16ToInt64")] public static bool InvalidCastExceptionFromInt16ToInt64() { object value = (short)123; @@ -217,18 +189,14 @@ public static bool InvalidCastExceptionFromInt16ToInt64() { var foo = (long)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt32ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt32ToByte")] public static bool InvalidCastExceptionFromInt32ToByte() { object value = 123; @@ -236,18 +204,14 @@ public static bool InvalidCastExceptionFromInt32ToByte() { var foo = (byte)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt32ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt32ToInt16")] public static bool InvalidCastExceptionFromInt32ToInt16() { object value = 123; @@ -255,18 +219,14 @@ public static bool InvalidCastExceptionFromInt32ToInt16() { var foo = (short)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt32ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(false, "InvalidCastExceptionFromInt32ToInt32")] public static bool InvalidCastExceptionFromInt32ToInt32() { object value = 123; @@ -276,12 +236,12 @@ public static bool InvalidCastExceptionFromInt32ToInt32() } catch (InvalidCastException) { - return false; + return true; } - return true; + return false; } - [TestCase(true, "InvalidCastExceptionFromInt32ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt32ToInt64")] public static bool InvalidCastExceptionFromInt32ToInt64() { object value = 123; @@ -289,18 +249,14 @@ public static bool InvalidCastExceptionFromInt32ToInt64() { var foo = (long)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt64ToByte", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt64ToByte")] public static bool InvalidCastExceptionFromInt64ToByte() { object value = (long)123; @@ -308,18 +264,14 @@ public static bool InvalidCastExceptionFromInt64ToByte() { var foo = (byte)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt64ToInt16", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] + [TestCase(true, "InvalidCastExceptionFromInt64ToInt16")] public static bool InvalidCastExceptionFromInt64ToInt16() { object value = (long)123; @@ -327,38 +279,30 @@ public static bool InvalidCastExceptionFromInt64ToInt16() { var foo = (short)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt64ToInt32", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - public static bool InvalidCastExceptionFromInt64ToInt64() + [TestCase(true, "InvalidCastExceptionFromInt64ToInt32")] + public static bool InvalidCastExceptionFromInt64ToInt32() { object value = (long)123; try { var foo = (int)value; } - catch (InvalidCastException ex) + catch (InvalidCastException) { - if (ex.Message != "Specified cast is not valid.") - { - throw; - } return true; } return false; } - [TestCase(true, "InvalidCastExceptionFromInt64ToInt64", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] - public static bool InvalidCastExceptionFromInt64ToInt32() + [TestCase(false, "InvalidCastExceptionFromInt64ToInt64")] + public static bool InvalidCastExceptionFromInt64ToInt64() { object value = (long)123; try @@ -367,9 +311,9 @@ public static bool InvalidCastExceptionFromInt64ToInt32() } catch (InvalidCastException) { - return false; + return true; } - return true; + return false; } } } From 398384f35dc80cd6293548746150c604e6c46784 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:55:34 +0900 Subject: [PATCH 050/144] Fixed method naming typo. --- .../TypeRelations/TypeImplements.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs index 28533565..64cbd086 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeImplements.cs @@ -387,7 +387,7 @@ public static string InstanceMultipleCombinedImplementCombination1(int value) return inst.GetStringFromInt32(value); } - [TestCase("223", "InstanceMultipleCombined2ImplementCombination1FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] + [TestCase("223", "InstanceMultipleCombined1ImplementCombination1FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType1), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementCombination1FromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleCombinedImplementCombinationType1(); @@ -415,7 +415,7 @@ public static string InstanceMultipleCombinedImplementCombination2(int value) return inst.GetStringFromInt32(value); } - [TestCase("323", "InstanceMultipleCombined2ImplementCombination2FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] + [TestCase("323", "InstanceMultipleCombined1ImplementCombination2FromInterface1", 123, IncludeTypes = new[] { typeof(InstanceMultipleCombinedImplementCombinationType2), typeof(IInterfaceType1), typeof(IInterfaceType4) })] public static string InstanceMultipleCombined1ImplementCombination2FromInterface1(int value) { IInterfaceType1 inst = new InstanceMultipleCombinedImplementCombinationType2(); From 72d9eb2f46a431def1402afcf1140560eddbbe4b Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 22:57:22 +0900 Subject: [PATCH 051/144] Fixed using int32 instead native ints. --- .../TypeInitializer/TypeInitializer.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs index 8d581278..aad91a80 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs @@ -140,15 +140,15 @@ public static ulong UInt64() } [TestCase((int)1, "IntPtr", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - public static IntPtr IntPtr() + public static int IntPtr() { - return TypeInitializer_Field.IntPtrValue; + return TypeInitializer_Field.IntPtrValue.ToInt32(); } [TestCase((uint)1, "UIntPtr", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] - public static UIntPtr UIntPtr() + public static uint UIntPtr() { - return TypeInitializer_Field.UIntPtrValue; + return TypeInitializer_Field.UIntPtrValue.ToUInt32(); } [TestCase((float)1, "Single", IncludeTypes = new[] { typeof(TypeInitializer_Field) })] From 95c79b071b5913bf0718d24d33ae9ee546aeade6 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 23:01:01 +0900 Subject: [PATCH 052/144] Fixed perfect match instead ignore rule. --- .../TypeInitializer/TypeInitializer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs index aad91a80..9aa7b017 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeInitializer/TypeInitializer.cs @@ -181,7 +181,7 @@ public static int Int32_None() return TypeInitializer_None.Int32Value; } - [TestCase(null, "String_None", IncludeTypes = new[] { typeof(TypeInitializer_None) })] + [TestCase(null, "String_None", IncludeTypes = new[] { typeof(TypeInitializer_None) }, Assert = TestCaseAsserts.PerfectMatch)] public static string? String_None() { return TypeInitializer_None.StringValue; From e99528fb182cd57048a726e483c91ad64345f7d1 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 2 Jun 2022 23:01:37 +0900 Subject: [PATCH 053/144] Applied unicode flag. --- .../Interoperability/Interoperability.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 2e80a8a6..3da99909 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -62,7 +62,7 @@ public static long IL2CInvokeMkTime() } #if Windows_NT - [DllImport("kernel32", EntryPoint = "lstrlenW", CallingConvention = CallingConvention.Winapi)] + [DllImport("kernel32", EntryPoint = "lstrlenW", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Unicode)] private static extern int lstrlenW(string message); [TestCase(3, new[] { "PInvokeLStrLenW", "lstrlenW" }, "ABC")] From cb32c2818dda8e7cd4057d99477c68b48d1a56ed Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 20:53:42 +0900 Subject: [PATCH 054/144] Updated nuget --- .nuget/nuget.exe | Bin 7042968 -> 132 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.nuget/nuget.exe b/.nuget/nuget.exe index 3bd8edb90f2b5840382580e0c07703472195e6df..473878659efa740f24f816f78a2c269aa7b04ada 100644 GIT binary patch literal 132 zcmWN?K@!3s3;@7;U%>|~6i5U84TK=fsB{eW;OliSd+}TPc&Rq$DTmhgK5vgI>;Lx2 zD~+d?lSyCOGI~+cl7;=C5CcMq4l~wNt4n08Cr8Z0DKX`OVJDB-IWn;nzu9OJk~aX+ O=SBLL6`BwL?D7L}3@D!f literal 7042968 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

15KAu*PZsnSF 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

N{DEJ*IZs5VjNGF5+ZzKyHqt=*rwD)f|#@8 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≷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�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

-)0 z${_hpDFaKh)ycf2IY=1{fk(=K>JsaNZ+VwKcwrcQ@E`oX<)6|A%2=Wgbce%+#I3cu zcqt(2;!diI!R36o%CYvo<$7~P;#(f>*`@JJ+6w04*&de0TDOPgPN9o$Mh~wh5TY+5 zB-ub8alCo1t(VNPkZIC$0fd-aj#cJ&Ku3gO%B}Kq#{ZK*A*7k>JY~&yyOx z1pt=|+Vgszp>S}?B2QPW=~4WRiEp`BxjZfLO?8>9w8L8yWZYV2?>F-tZ6k&VrFPvW zr*s`p)vh~LW?PBqKmcl&oYY1P#iDi%-iYBcHjqDGRXo{s;XQ#ZW{z;k&~^LjSHcoT zO3H*^9x6sGsI6;eStqq_V!_qoDsBAP%hg8fiwQ!d2zcB+o>`V z6%5dZkH{_E&2v0vukTZp(c~o;r{N{D*K!Bi&S}d`%C<%EK=z2R)@GY)!-s_+(9{1J z>Df-5=zD*Cv&|c9iL^woDM@p6TnM~X$)#K4t{Y#Mx^`4`+!0(CKC1K_!F5^hei1Aq zr(CrLfOXlD+|-}2wMj_`UUi`<20Rl9u{cZbSc4O_{pIB4itQ}Q%PQa zJ3w8*Y4t=rVy1^0KP-Q=@;(ZGRG$`%KbEq#4B1Yl%0*GZq9)mb^=JUa{EI$PWFCB8 zmdjiln;W})a@5@Df5XVIZ#e>0vb)b%icRN^egVBZxB$v~5Z-iYUz)c@EuTF+QUX&f zqD9!kl5l${j63Z>=5|!t;Lh06>U5t;4Uxo0A&NVg9O5MLRU^yluUK3qiTZHAcx zs+I2LzXb58&!D=L*yPb!$Ug#G*!1(`fan`&pE>v5@lkN+OZK2nbNd}0+W(4mxq}OMEpDTTBYpJ|UK!|C}e=Dc-1W&c)52&asM;;CF9Sda=oP!tD+-dHjSC< zee;%ld?u`*ws1!AYQ_6~Iv#tYUZHCC-u;>)>tukPRg+)JzUv=}677fllVZ~af zK*v%WT-Z8)+7jAL-gOQEvvsyLW zO5|b9Z16I`oOdocb6eW9|E}yu`NeZ28+aSQWIEq}C5F4?2U)pGvhpfE2~PIaod>pQ z>tKh0^MG~`-v6UcID*UhX+ND{Bf8UacI?$CitTp0^O0`PUU?7hyCfaS-20-!opW1~ zGMZxi6MQ5anNLCca5gd*&0LJU{-_*38+-s7qkylMua~SL}DfYI|NGLwVW!A+- zX`{lA30r8QNA@8v{?FirZHjHF>V$!^nYAkQ$Bfq3dFKFa$+v3nl%h4~$Jh9afyC^q z+45f*#6gtFfY>`#?eH9}@UdVhg#Hv_^!<~!SpBQ42J(-P_2K~&rTzsh zJ_GgMnw+1to2bK2@YB{(Wvz2R349Yc5bf?T0O=5;domvmO$(^LZjIT_^23u9Hh8GLh6tNnJ&qH2iU$d>mR;CnZ0j z9=v~~cgaRlC!ZlyQh&5wF%?=p(#lO<&W?K9NmuVVjIyCSKXqt6!|^UqO+$03ZH&&R zYJB`J!IJX@4Ve$XH_d4O90+aT?s#O2&ysHVB|h1}J^#adsL0vizxMosr$0dx?>a`K zmalT=LFj1tzLHb=H&3;E53A)1ltLf?EuWm!z)!J2rI`np@<9HNkWwDGHrn2I>p@rw zt&U1dq0SBZCJ8?sh#~OWXs{QzkJsFs;p$R53nc=FjPI_`dFNC3u^9>D_a(k8NpLie z2u^nCl~31Mz815cHQjjmEl_xQfbsIr;^jh|Xy-_hJqLh>LJ;ku%9`*0*$^WY-&ubNFK;P9~VMLQ>Z|7c6ftrMuCV&bDa*O+^M-`uT9(d ztnJcngXqAV3te$k!}7zaC$LbPjT4qFj%rkl;71Hs?Fu!Xs6Cx6#pt%eh@4^mujxsp=aZ%(M%}k=%(m!at+FGG!3=5}ZESz434Y%C);F~maLPq?WX*y{dq(*a4T8Z0`itr47ZeIi7COUtG zw8h5}mQ8$bFZ-5e;2UpDQoQI4z;e9O8P=vEZr9?2+sb(Qm#T|%B~ub=AFk3oht}Ke zs%DXcBIB3@iflShDY8eU$WAk=1VE9=8E88-p5;(1P+bkG#>!E!QjMBzy}F5MREj=o zyH)+$o90Uc)cT(@TAk3N1B@>7+{H#9N3!=TxINN#exsS~{L3r2BbqMeVNO8$LKylWTw2fVncA-fSx$uhoJp`1LksgEo9 z?G2{@noX6PT6nSKt8L*WvQwW|`)IkbT%c?#Zdflvq8rxBYbbk=(82uw!hi5QeI8kB z;-8wQSHY&%P}(zl0$;)8@yCGbxwmhIk-idN6zsKRzpIfj*&6>oY0p<-O~`3(+RF18 z@P*yH5=2SU-F{keIjSLeAW(5Hg`edDIdRknTl{(Y`v4r_#sE>n36fRilvd=a^QKRT zwRf603cz_&IjMqGEY6$SK;1}+Z_ZPqku>TxkwzoNk;-8TAZdaNvviu9{3yTvD-c_J zxSc$&#;0J$$Y-H#c&wUN>AnFjq=6%9UP|TXY@u& zIPI@}1CJ~GAph0ydmO(Ek>l`u*%(5$QZ==ol6^^0BKvV$vjJtdy7GAel0LAIjbmpN zzgAna2HvSQ$!t$1-`oQ-8@RWdjYhCH&zTdxCob$Q&Nxf`&vBWbLfeW~x7GnfCv|li@+Y7}d$Y7zkBv17>HvrK=eKeS? zOL^DB#0tv`l|$WhN3_BwnUg15t+eb|KA6U_3CI>@14%1GqItF0{=%yS&|Ht!Dph0k zlRQ1ee?9(VD2H_4Q*#4azg&ucNl1P zeWw>_&*;z%w6B=WEM&Jmfl&S88O1S*yKOoy>F>I<^*g;idYe*Ceh2kN<`t&mmU~}9fPm~Or?fp!3CM3GAa|L72!Mdd z8E9K29!4q_sFng1Gq1bwWv!GqKtZc+iUR*WQk~G#1e)fmI=_y}-B}xb)bqhuu>r># zc1D6L0Ah22sz`HXWsM6dVq>g_^Fw$>I}z5VzK_aO*dqj}Z@TceBnw&CHg4#@Y!VRm3F zT~TPFlFc0Z$|>#6Q=2)SR-tJYhyBxdv6(~8KwD>AXo>}@>7Y^>DLsFUGGU^Ty1Ioq z{%jnr${P81%a1itZ*zO`??8at{X2R3bu5B0**Isi=0e1Xg7>DPDtzACOs_TbnK)0% zw$hR#E0mO=<)_v0!Schh{W6f57}XdWpvGI40Mwg!ysxtzYEO2=jdd}fb|=f8`1SHv zA0mYDXRbPJAIRTlgwmhGTCN>$qZy@1_%QvWMRp$JBo-XJHx&WOAq$~ z0-YNIDx2)$0?59oD5!`a`;P33$WBB+WD`XJl`TB)&#CUdeQ%PH@9+6O&-2fdS8iAJ zIj2sYI(6#Q($&>jzsvE6`{eETI+3)Z(qw}*LAnL+7~fT#q4s$ZG>LzR+cw{_6Uu4B9M4Q1%ppc=fNPEf+{Ul9;pL-E&S&d zk_|qU!M(+P<_(>-CsRSCyM=El-J_trbT0w#Luqkfh3K~p1GyHZ?2ry<%L4f|0+lg(3C0~ zpxI8zj$0?v5@#lZXqS6%0Qnv=xLFHcdB>$2*=YMk5uRB^7>SuI(x}HNFVblKXkylv z9w6UHOnRILB<7|jrV#Wv3Q~(SCT7+aY3OlSFZrF)hq|&h#?}edQotL5j1#ssr3qzU zICE6d3XMtrtR$~ZNiJHyhI(}>ct-fJjGu0`n(tZN7+bCVo}ApN`JrljdY>__nt)W! zN>z)|tW?pUALG%U3Rk;{E%2HTL~(JbW?q;&Ot_}zLN-i#pCKqC`; z05V%AtTaI#y)eEB-a%9K!vAi9`R;ZJ7n$9&WL0_yIb-F!xHZ^|wOqM2HP~D?tPinQscW)zp8t@lpxXoyf^p4&!jaaVc=%;iQ0IS6T-gk!+<3RQ8T)0g zkyCG3Nlh_G&MVT*{bTD!Z-I@ko6D^_K7(%9YL;4QdIae*x!HYsavJMLut=0-rK!q9 zXUDRPZK9gD{Lf8P`9@7p(WD9L=6}#wTg>|mZ%T=nXRL1plYRHhO`@rm+J`qmRuKgD zMO16ow&BFzWC2f?-R4t!Q`xlNQqiTDUGOfTts__l40Fe$OXjVM&L&UtJ&oT(=xQf! z;`JrL@8ohMp+1O^hVOnQ6~0*#{#~+I@Kv0;p5qfz5chw zX%ZRHA$-M>K0(q{0-uHchF~|5?Zcy6d6>#QS`wOR)l&)v9_OlQ)x&DoIOdLLroSSRf>DwfD`SW-FNwIhi!|b;Kar_fvu)P=WaO}w;ZLkflf#GP! zed^ejQF#Bvm^iJL08E`zLBfnh0BP5e6}Og;sdZcKY%XmDWv7uyte{NQ*2OO+^R3YY zwf=e#P|=!i>F*eRL;ODF*URsV8l&dgAxjz?@mgX}|i+T?uB zuFu%@S*`)ERB5ea?aU)|Fkd#CdLB4#@nwREx#^o+3UjZx1%uJjOP0=EnQYdS98(AQ zqX3Sx1H34JGU148t|oz-)UT47)Ei349BRrM@r0^vl2_z=PYtD4#G?2R>M#9SQ7`1Z^rKMMiVU0T?sm{;d!jX*Rwxp_yeQ4f)j6D3uxdiKTYkQ|RAmaLH4U?Q``O+J3ibP}Y^zS9wv6S5l zh0xw<^2uCwN6`@5-af6#UR-%uS(acz)+~S*B-9`OK+~9e(F1nYdU$g zElCr%U``bd&?CVhPQqF-&)K<6JisLy0+>BjrM7Q5PVXj%%#5anA}g<2FpYX{@bja`3RcqrFndJ_+5ZC9nZbaib}&*rYRi<;Fl9J6NI>d-+92khF^^PbkS?!bZ=k`ZY}&@tMG?oyfcM|R`FSmc3aW@Jx$Ag z&ZEG0JV5|z{Ox*nd*D3(ex`L{-V!M>dQ90 zU3RZe%?vieFW#dm-XpmK$R_%HijeN}Debn#b+Y?#N>FTMm2?B`s&pS!aexs|3sHRM z<8AF=vy4;?Em)8s{#(2*QT~?6cJ5my(TBd;7Wnqf9rp8A!1(}}OO||tq=7tmE~9UX z#3cSaleWMZU}fPgKmaQm)xxvD7^lET(VftlWDjlKwas7VQ)+ z*H?MtP{=!9POuGi6}UIH)LhR-pR&k!k70`&#)&z@p;6@BFR|$spn!rWQInU2Pv>r>^qKhyP-f5O2<$({X-#z);jaT;Ba+wd;)TB}SzDZM5kXzliynJYFbhB#%pHjQPSs zB3tk!8E(Y1lIB>gb&is0!$hV^YH^(7_Z4&ovXx;B^s0T^CTRD%#VX8F8>{kzix3)*K6dqV>pKoDLa*4h&qZK2-TLbRd zv>dkyQsH(szD9JuQ`7yZ3GxOkBqinwm0~7iM4rXTRMI}c?&Ehx_DgI%@d0WP6+Xah zEA|0rP(=9vwTqH2#6PdNY&-D>--il+aE{tyH;BX^-0Rx)U=P4pcOn?cohRL$-Jt=6 zkp9fZ%xdin=GZTvwKlJzKVz;zzKvO9pGxFbV=(P&w@;DkKK45svpo?mS^por*5e+f zXMk-eSTK{F0}+h($u=_BuX)`F24x@74>8xsZRd_;ZbTjaC9=}k2Fh|LJtvr!M6 zrH$PQ%oP}ia1)T$<~xIBSk0tBZKScTw;!^4*NuIisQa2&-v1V@yZp`Z4qo`n_}8sU zi(dpETD+KAi&w;b$B;S}GF``ZAJ_4LiL6N-t3(xbY_i66d`VQtDpyGt>UdMdRhFcV zf1)}r>uYmxk-oMhioW8p*+G`S@a3^td&Su7Dp-v*HfzjiKi|RS^la^e4Z7Bx6J4K5 zK(A>VhFVJ|0>fxXf~9(nVxN2X61VEHh3(#3styH;zvspdjRyD89{WIFb4_8p6ZI8E zb4{ulT;3G=9S7-MNeuG!{>k#fTZnbLaZbG{W@5NJY-n&gXFO6sI(g-rbn-t_q0`@K zd;D?NwX0t*^N9L&6S+U`*OhU)zU@A)?`4U;lKNJSRMfZekL&wNBvG4|ZcDllU#z$^ znbh~MprTD*OE9z*h@?$d_wk34f7W!i{JuJFt4C!0&CzCbI>1+8o%Oc>pe8Cu)>XVw zd2TaSo-vO--Fs60UOXW2!fhdqz9dO?m2LEEz#|*oPTa~iS}>gnKc0==fed5Y=!fJ{ zET`v4OW2fc^h(fF`cni{tcl=-+e4DF(Ve)JjSAa+tSCc)(l$Eyef-``XO_Du$D0vI zCtpOytCE*g@Dy_$n{o?e?%lN~ScGifFgD=t$$-Bu`gY3}171fNM^Z!r$bfqT`!b0X zfDKEo#D;H^Qqng3kAIYH*otc9h-}!3)F0ch@=n{Z-N!b3M552chE-z~Hf;Q38@?4u zWW&;ZNf+WfC@xJWHhd3M*zkP>Lpy^=*>Lq3aaYiht?VYs*#9@$zU*(9e4@es?@3Vh z{}-Y~^Z&*n+#O`ajvwm`_@J1^5WN~xwk@a&di56Lm-rG~uSN+DIk<}@Z3i%aP|}X% z?nm%wfFYy}FgUjQ9O}{*OZ@ruI#j1;9%=AWZj^AYYI+Ie)U;%>?n4n8m)4Q!KZH%! zh26(>adcAFq%Ne9in_3}#&z*PR2R}qNf+v355=X6q%IzFb@7DiVlNO$T^!=?!b(Q! zqmYGr`8v3Jse5hradQ7M%0!j0=HliT>2I!<+xz~ojp}fza)|42V&)3chE^`oP=^N- zl0cdrC#d`(y12edDFz*V8jmJ*n&^U8tvn6jynZdita4DfYAM z`9B0?^8LuNt^>f4t`8-O%yIvJjL9YZc)s;jvKZU9YR~#mIlUJi2Ai^P)l>{;^gaQ; z)kN^Z0wgKldN{Z8YQlD3B+5`A=Ua<^B5UVGHBT+6a7{Hxtxn=<~f zO}&g*^24g9k}kxHimO%{{ z@r-KX=H(F2tR|ke9O7Bk#FLgoJiD5>aXG{*R1<69JD%!RtRzn6BGPNxp6p)sq{sK) zPU-|TwJ>?!`P^gk-?<|tL6r7eZZwd`|_w|s;j&*%ILR%7{`Ntp+c z^MrDGFC2tT+2;&`rWO8}0H0$bc;NsfDW7u;xAHl{c7I)zp+M$yti$5tgg>MKnr%jN z4LuI2_gk2^^u%MdYvm}87O!?=m6~K&zK*FJ#TplQzDk6bP)3QDcu%FoOX$1-y86tW zcb3OzWfqZNFcJG>zo2~6^=S98UpOhzPg0Mnfr@%G{;^+p7eV9~q|1^n#7l}xbBSO0 z5UP}47y=j7?{P${{KCm5gJ}Mze!=*T=NFDurtKxsm|t+j~2-V0BLP1$E$OVguG4in%rOaw1H5fbwmgWn<+uZBtdkz9_Pq9baA z^!H-S;g&PL!>wG4m_*AN0!35B!Y}y}y&H@4Y(Z}IgX=SGG#75)hD*9XH$6_4Gj5Ql zIbN*WjdRM=n6#ngVV;KN4Cw(+BUs{T>ZBVRkHo&_KmRHFnlh8f*BHOV*C^+-ZPVye44mRyH$pEy5wm$aZ+PnE20z3#=hIz*jM_))+BFYYc100sIl)tG^Jm9 z>|5p;*`1ZUKknlsNZRh~KDN8>CUuk8ooc_r?u>tIcg=_;yHh=ubRmA0;;Oa8?q))T z-K{_{^gR%X-RT+GCa7C~gLhBWO7#iaC&BiWOxE8F#o42hY;Zf!!c9-qEc5w1P=lS3 z8Ub|%ivhK8ra9vyZZE?BC?We7ltZc?J_j))`#(<-m+k*-(~RWu8Jy!N0z244XuMf&6uU`l$4_+-r zc`^7RL1_tM*S(ckhXPqk&`XC(#cRIb#z5?0cgKCuY`C%rIoZs=Pu6>`c(fafl$&${ z8Z&c~S9rdPj_C@PnC?8Oqt5i9@z`5$m3?HHLu9MQtUtC@Wt+BDyN_-4oJ5a_t*WLf zY}NS3wmKI%WUJD7Nf+YhD=vj4w(3KLeTEkURCq}gUaGK=?8^|E_qT-Q{VhXMwyxru zBpgoF~u3u2Dt?Ek7q41xwNYdJOt&t6^Qm%~bcl0iNVFdMtK5=*X|! zAj+~|IoIr2`0@P8V)&2cSEglFqz^c+oStKkVN>=ikDxP}qgL(lD<%R*)I#F=)$54G zW+m}Qa+}L6+;M?Irux-exRo~%lWxrmIb4}&+^?p_VtatB_vw1=uJW__lo#%6MKfhI`?UrY%^R#lf+^zGpoix6bga?vPi3i$Jic{yA z{Qh$Np#wq>?{UU6php zev{&=nZzG`87lhDZ3u>L1(C9?>h=5EK}WWArzp#7zqg_B3r#-JuuW5IN<2)wgus@K zENOTb$WePZ3~DR*wthc&8$_|SNT8A2SCK7Rq8GBf2Vi2}M&x;W(m(jz>`YC+oo37% z9u5AX)NJ0i2H5))9sh}+`|6w0cff}lmsmC|XUiO=T`g%9+%Iv{6wH zR@``AwQW=ncSBW@3KHG#DBaTs+@t&m?~TIWDb)MnhmoKDT(^+Trgw|YS+h^uO{;*r z*lUo5huGv$c;!)Eb6_>E;pk}d+ng?ko%uVk7aq$t8pHAuyCk5ykpOfzmcRVm%)$F4 z3jN2#%ooV)Qp%nUc1G+PyUz5x7%r8!z z-^kkd{Rohqf9r^-+4n#81}EFSoiAemoy|ApFPjfm1S@ z(Uz|$r}x6gVN>>j_fs4k!d$5EfhGbkRYBr>;Df|stCsj9x&6o~@_|C8eBkf7l@An? z?#toJpi3}wf~6;f9o&XFXz34%ww0a~-EN`_4H61qeW*@SCSGp~WNv=yzFo==KOy|L zD@}#QGxC+Dg8tZ7O6YVOwfopt{v@fVq>aiFD%z;=kA3C-h$UaCIxXo! z{4vEn6{_BC^xx z#jV^||J39cempxpQhFR?4$x$0VP08I?}dMaP1#PLMHFhob9QPXc;O3>I6HlsSZt>% z;s{%kvC|wLwR1>FJ0f)OnNehiiOhBBLZ;05MQ&xz%By=%viCxP;x4^BGwz)SvcB+$ zugxO%?8nWWUrzwZGVVLF+vmi%-T0Y zv>lfDMRsVy_s4c9A<}ke_pu%RJgJAo4pq|?c4+)#J3JhzWQVG=k}kxD6;}-T~5z2+OQdAueHuzl||m)SaM#^fX_t( zPE2hGHs<37{vu6n4ryU(qfLEdqWwRxX`|7r4-V&O(bC&6lyQo2_u*!o0tH8a)I-d| z>+Nh_v~yo?WyaK8Yr_nkh+`Y3*fwaBtqa&^z?=He|BDCfWqQLl<%-)Nap_Iv)oxj( zhMA_-&@wgO8Jh2uzA#yV6O;XpbU4a)GQiE~m$un5&&XztePXi`ByF>HACGT-ozz8Q zv#RY1n>GHi&7O={vRTzzNteV<&jf>=o=q_HH{}`k*@bK{0|ocGH%)fYcEeU0R6NDX zEJjKp`g`1@t>=GpkMNw#`tEtF$}#Z!(Pg8db|k?m|jZ{4LG5b4W=4 zgBsF#b*`z_Du0@)#O>CU(+dT%rrKCPI1nqA)hkyPokCV`6*>5yQCVG7&Pqtjs#|AG z)eoxTQqr40(dUpn74j+844P~GFHnPO@EnXa_`xXV7mNAUEHrcu3F$wH%PGEy1(ZJK z79XH8v`ScrOY`(QK2cGYAeD*nSEI1vzU(8XkSy|%P2y1Yk$0QD3O}BYyoG$n@{z0KgEN_X%IUpu8f?nrk2cWs zz#9|bDwRb(ych=&?A<|!wc%{R!)Cz2Eoif`McULhoa*YVcBJh#UT1Yi%}I>0 z!2XPmh-#WxnhHl8x5}Ivyy-S7y*ciGj_~T4FJr@TODW0V?IszZ%{TT&VFg9|$T8u*l%R{wY*s zaUQF0M^CPq*sWQ;6M7Oaw>NgLp!<4ztJDjXS-(u9eo}X%0x0So_1e$Xxk$eri8|6= zwo$3Hb(3p$42~t6<{GwZdZC1*o4A&WuothqP~!K>jtbsuB}6pbrbWEh_e_KRqC~?_@wM$W#lN^ z(l~a|n><@vMdZ|Xqn&m36uQnHelBxeYbS;0&~fo4KHzXPFU&$2yiQ??PjhLAK1n9! z@@0A;gP(&S8~jnx&lBbRJJF4eY>AQ2K;xbz&-bz|{<9Q;%Ga|hy|<^o>YQC>${}k^ z0>>g+KMj2lls{ZG3KvA-YEig)6s{44T~WAZ6fTUywW4tCC|pOO-r+njax}3DO()Y& zJ%{d#7vtyMms>XY0DWTdUP{JUB!w+2A)lSHcoQ5-Dvy`7OlHKHoKne>OdhI&OfUQ` zh78^(X?`bZ5(bm+uaykx1>aNEgJ^uG|Uy_DZ;8pgM^dB85_QT`k zvr`oU+V59^Tt;ekQAUZ){2t2UJu=uaKrWeDX?3!dA3+TdCQUC%TLpIv)V!-1Y$pcg zwwo{*sDwKP@(a}(y0VgxLjM)Wm=!Va(Tcnv-4jTf)MaCC$9!8en~%0}E-_<$$dDXv z;r(^^29msCK~Lw0)>Z5~1KDLm>nZl<>%n#_Hg|o#q|~F>_sM98w?=9T?=B?PM=b7} zyNYkA4_RNJc&wngC(o5Wqnp2cZ-m|yL+p^c%U&^hx31%ELjW`mW#LZ@~Q7cbn3bkP?d#Vapf zTc>&Pj&MS*{NVi`Qfdx2VH+3j_+`S;bpF#S!6^Djmc_hbMm~;9@K>oj8NcbfqNkJB zGwQDkH?0xv_UL8dFq17@xqq}Hr1x{&M`v*C2rtgB=h|uGr}>^Yl53$f#j|wGN<&Gg zoc|1>&R@WbZbrUqC3$O#T&PO&;NoVAX|{TF*1dW>jr@7l57O{`8YU~9yc<2=eIHB@ zY@fBUwaaT~sQhclp4X);1*^w3*K6 z*`R~=tweM|u4ALRbvEg{GfCHXoda+G?p=FC371^o_@zGOmg^9-Pp^QHaQE{!*r)Gd zOQ^h!0&v*<_Zy#=|CD_FwAKi=fkKFv87WDCz|SzbGadetfc+=xeTfN2h( z53o6az7zvRyEaEz5j0}IJa}<=G@%?GV6L5kZWR@o0O_%SoKsHEz$ge-XD3xBY9fg+Ii0+%wB^+Yhe6RMYeR%D`%3 zB^3g6oKADyqqzU0`Jw}q{M; zRJ{D(B0__s$pr`V^pC=cS9z`Q5K-HDMQIsP@bSBof3`9UKi*p5O1S*7)(Y!0@`kUb z(#OwJ27t3fZ+kUbOP0469!eH=ibm;h2@@7|{{oVy8=IbP*qI7Ph=xTqCGJ)q=7j>e zr{w5EJnD-V@${h-h_u}(d4{l1v{Aw+jjd$e=J_fJ>rmp8JV2PM!s!7*{7%6QH)L$t zNM|INR&RMs^>s8NHt9C0R3)<}22WjDP&hpaV&?W^@=-B`Jq^ zL2)TASuaWyAR=>$kp$vOMiSSkIaTwCcl&;;L9Fz1-kpt~JVFu1r0;fECEl`#cgcocyx z;m=vqP8gjtwREg7ZKco!B^P{KK}+d)7krB#%J486qd0_lTH^51XRy1AOJ~78E-u9d2fDbl7wqTaQekkg;?siz2%2ki zp(>+CD_>2~O|T~zFFYDJYfXGY3;R}kU^nrErtK$8Py1M{%iMs4yo1fPG`LaK#C*rO zyZT?-SPnklG3SljSF=G$zT=@8+fVE}JAwAuU?bnL<%zqm-FJt9H3aMXokhi>?z2qxdL-_biB-nZDmbxZdDX_QObVX>{398C{LBH?ODKNp02AusvBmuk@Z@?ikEa~qqXh7R1N`zw*=RWOh69wx7SYgZ zk0cj;#|Ob)WxnP{FuU65!wc2Q%x0sg+0LEVnY9ag>4d<45@>^$^UtQrO0uN|c*6ue zD!uGt{PeQOiuC^7%2Wn2ej=G*MWR%uo;3*nQE^ezsNf=p)H8&Z(h{3jGCxuQm4h+2 zQUR@O>*ERGo95ICDky9iVm<|TAFUO-y_P!P{kK%bKdb%diSVfKqXI;J)S}Lho+Pr! zk0wca4uE5EO&kthy>uodypR_s$B!oI5`0Kde8=&$SfQK?T%Wiq%P)w$cMvW^{^;0~HQ9Z+I@oLHjy5g?MwT^OY(ZDiW z*dW1w-tNn-XFcxaZZ9Q68`hUDQ`Qxb%SS=37zO#UAn>Zxabu>h7JaUZ4QvwG!0#YT zh94_?hn~3ccS)A-7#cZ${b(ez!6|n%N27>OmYp=Y?*%+^zC+MHZJ=bF@!f%*d3~=L z__Q;cI{UOf;8^s{XOII$>7{25iFlmR|JsIqQ;kBL_8n+Z zvFMW@gQ9t(ju$qbXN5iPCcwY6=={P%&-EQ=#3JakF;2e27Jv>iiqF5c@jv=BO38O* z4?ERJ zfCm%6#SU;lvUGZv100&@<8BA|cOu7#1AOpeoQn=#rYsL86utwT6#Ic*KC5T#;-{Fa z7hcKLwObpb{DfOI5g~o8B$a-af{Y^nc?#*suQG_G_rlw_Nv-TIirrb~q>@l|@yc$L z-($+}7b%vb^7~~9>GJzk8ltt7(lw(Xza9m-b`<0{qafFff?RJ9ryFI(i6-)1y;@wX zZ)c;{1Dw3sGoL%Q?G!&?e?#fFqnO+v2m_}(2pM4Asi38F7lG3PZhzBQPfkBxE)+T! zT9QyHinE#6m2M;!SJo(1-DJq9B5vm6ELFR@js??~@)!N$eM|>ncaHv!FO)%LbC(8Q|5AK9)skfo28|(DqNT&? zzH$qEP915JXC9AkIQMw#fN~w`#H<6#bu@2r*;MOO9JFsgvgBFAgB{^MHapLC3?G-@ zFM4_)7JW96&UM`NuhU+Sc-(Q(7yfLsa|exi%>L@)clu6K5jrk9}on0T`>fa~Frx?{)M!L1-Je4yBxZZ)q z#GWwl$lx;AyY%@WJ1W&Z&RVM3*N!5z741*mYI~X5F)nvC!Njo>e&P})aWrO zA1?mwst;t0$I|j4`q17awNYLLw48DP<`>Up1->KzT%IB@!*I*}zh~1s%~;4>u-oXi zTbubBEGC<7uZ7=LJ3^n5Fo>pzmVuihS~`2yWb?!--|BSMV&(rMIb{9ooz7n5CKv2AmdBYoczW5OuD!mNI3;!fGBe|VoLyfxi@Fl@R(FA*sl}9eK zj67zLN4D@%JfQ87tL4j3q%y{QN{VQzJ?tE3LwgV^ZV%bQ3UQy;;~t|q=@L%P)xD40 zrk`e>xnD_MGgZc2qB6cAhApL6UGNtdyyk+}2~vVl;$34=;u2d~wTq%Sl>rP3%cHiF&Y}*%HS1uMd zfrR4K>n2=flh9npKbC&@t%%2Kg}u&i{#PT{8LNfZun-2lr3DcZwz?U0m}Oi{^S4`Cp`Y?09zzoIj_%($El~q zJaiNVfHRXMnnwWmBmu1907*;eUB?05O(?Y01K0H?HQwk z@1`&vr1bLcY3SP^BO1pm_%f+@e=uQnow}Yl2jv!QR!NcU9&kb!$ySvl{!RalNqf8n zA;o0tDkir$CK4?zkAItkmo?!W#5N?aP>=&}Tn$baR`cTEOQLW#-BsKNhc~pZyk6Y* zvKQ?c+c%XwE3db2n^WtY=d%fkgIn;eUiglbbudmOJ~1KYxi9W!=pSGcp4#Ka{;Zwl zOD^G}HZ>lM{aRwGeOqT}{6u(76n;UP;J!7wkHc!ZIDI93Ql7euR-g5k4X%b2Z`-X; zQ68mK?wIE=%e@&>^r@|1LgkE0YlOUR20j}I8kN1>j=Hb#6JO2-i%=FX_d)DVi%Ilx zwJRGh6$)nuPS`jk8=P(O@Y@QtAMt3L9cypb|6;8Fv)qrkZ; zu$?0jb^9qxFxld?72q&9mjju`rEE)4Mu{U@m)iP=tbdG?$%WCr&IlGbTTE=Q#@3@( zv_3>bm4@P9SPEcadKGlb8gwUtecUUgMOqJC#Vdqg zkj6_U{kn=*3b#fYM;)l5RbLi%6|WY}!YUel|HkU~f2Tf2*~9;{{3HE;m5+!}E?U4B z32K5JRdDR3tN4)0yj8l)>$>yolTE7VC*Iqt_APxKCYMIIo!v)yEE)VKhXC?53uWZ| zW~07R!+Rvk<7??WNGr#hwC^R^;9vMaFWe3)msZ}XjF0xwN)SF6AtJr-k~;HmM_|#O zq@9&hc~8<@Y>xe>0Ly!lrdNE=<&VfW)}Exs%zNl)UMl@&>;=u_`Drodr~KIZqh)!v z_m}|TE@b1r5XFX4;xze5@Wyg_dySEl)C{R!j zk`K@BPQ0hhz>3zHuI#Hp?js6y)|SBf4qn3 zdF0R@rrn?_Ntwj=P+TP^zN_L=c(R}AWm1e|GkZZ7`}Ef!8`>K{LThb1w&Mz0+c%Z& zuS&OHI$dnXypDVy_G%~6Z5;Lc7hai92oFI)ym*6+sv-O50C zr~sBI_*h+xUbI`xjynUJcm_`G2P}e$+TP(rQ*E!)>RkA8+pGMR(#Pm@thU#X(a?Q< zIX!!zU{ii~n66Ck4xd0k>oXD9p$ADYS?%a3VzPN5x_dN$$^xLhEay{(FIF(&GljH|vlGQ-3&5I{9I>PL#H* zIA6H)(m3+4{+ss$&v)?f0)^YTcF6m%0`oqsL3#JMt);j?TrLze|v{Vd?-sY z_KWLfNo)tVt74>H|FQHqD1M*F)$JW3Qkxj%*JCl7Wqgl9#Pg%&;g-n9ke+waEPPk#x{3!Xk0+|~i2c$O z(RLLB(L7Z}6Z?wTNA#m7@wfI*_}}pH7rXu$K`vFnBt5{OrucY%i8%I~e+yxE}oX4dBqjgY?XWKHrVyS0U z>l0pwp0gp>!2G=85JHsxX8hgtP2we&p#!`nfbyoBKT>JJzb51(xnoIRyoC&le?T%X zRGN|8ae^LXvI}6Md*RzegJ)SV3F=pK$E`FF_UdV-*T&MX1oQHxzbhDcgX^>jp8p*5 z!~eE?g_!6KC>Uuyxg|5pYmHK|EomaGCJk>7;o)DT#YLZ|YU`d0q_O^R-cs{=wV$m1 za5iyFXc@`kExOT3rmbxxJJK}Yx6?^){(4*pQ@R~dT3_tlk)76c#ef2Jwgk(h;~iJx zav8@ZrB6xzJFk@ar!Y(?F4~qY&Nah&%ZbCb=Zv_rwKz>%**IhSP#6u%_l!+Y;};;n zC1e)qp#@W(+YhG=um#jQVLktsW9so9h2Bke8^1h9ceiH2iI`! z^d!0p(Ze>+>j{sc=9N+NiTXdFOnh%Xl`vRgCr)iw?%7~pbfgm%|9}2v#g3()uHxxx z_y0usY2UY}#yeMJ2j2r8AD<$ck=$8oONUX3okK$U&uhie`br%EANxm3e`9v=Kcmur zznor3OYgs6OytYNgD}qjqfzP4DW@0mzvTbvsPyNT(+fFP{<9W#Wj^@O*Fi5`nP*&Ji zN4eWb@;i~F?Q@5cv(^7abDq9j3)%w-K8pqYFPZa<7pEPSHvS^LMaC;_ zYGJmtiG{7DMHUV?wErqXPRrPxzYodWUa6Sh!W6$PB7R?p_-z^S+uZSUXrCu6;-|Y5 zzpmnMRgTtlIVj_aQo*c+Yi6#be_qS_@ODU;V?0M;_};*iav#NONn7dw!D&)2| z%}8E{e)vxFh(a(UQ83avBktgp3Rc&_YEqqjSiygTG>yYL3(hNk2PsM`K~q=wkOKjN z$7VCYc(G1hM)wBTFE3gCiMzu%c))9}ZK^H&n&LUC22JYLVQESy9T#pJ1J3iXIk0ZZ z(ds_ffhpTtQ~|WgXZ&*(|a&7C&op8#c<|&~2LBHV2>c2%Y z|F24WDruW1PMheTMx=KUq@D&*EeJU2 zY%X8iVj}0ujc%1%RT$MOr)&{5A8V*~Ao-|9>V+yTE#(^8g>8_i)6vBK1}f}%h%i60 z*EKF$j6Z!Fj{ zLkg4k&j+KvYtfgS4Lm`7DL;9k*al=97xBA`-(J8aK>R1$I1<<~{M2Kg89>r5x1}*g)YCXGhNHJOW*tOTLeRf^nt{ZUm*H;By zNC{+(7ZH}NQQ2aRixdp3%T?C+j;yg2(Y#OytWm*8>tJk+N(HM+U{$=7%lzVcWHG6( zJ@}lmx(rZb_s;0CKDeAXZ{^=ciRAvhPz5SUX~i|6)l2wS(Jcmkbn|oFXdWLdh#I+nzuab@s)gfH#mDn(MpeM4IY@ z&+D$CxUz}dVC&hziqXy1Dolq&pGezTg9xX>UV&OjXV21Zt7t9t&b7xafh64|sY5bT zjg~fowSh$K=v;LT#x3mOXNck?7K zCQ!2JGuk>b9Sps%(dO?jLV~-)sc7)04Z&WxIk4bo$QArtmya04t7&~qSZ-R9il()d zf`LuBs%ia0O>1Q&=KwT7G%W=qttZ9{z)A(HPhh2QNPUT0<-3jLt2?%?a5VwFa0{Zr zMJpl$??*N?PRsg*LwV2jWuL)PCH zmc!bhfQxopEtG%s@K(`i^wDBcdf}GBc9@_Nv2AHva1QN)A%ieZ?%=?tYNn!%m@1ku z)lF2HR&B>K)amIo_Ey6NoW{ynFAtk3OBr|`xq4x$hV6Ts6OBqxSL3M!V%_WZWGBXx zW_UkK;qE>KozXt4Y$m}{49B%K9=DG;#kV-yYblv1rhg8`K8zX~o-1LNL+2k36?4d_ zFMApCA%1#OR5hYMj3}dFiN-nCr{Kb=FJlW_=5&5)uTeXb6=wY-jJ2J6zZF1)FwY=AJJ&7P=XC1e+5CMX2WIoHu)VxKY&Bo#$L- zy8QqilCQH(M%WDVSmnVy_Gcd)*54aG(A?6 z?!Efb9tsAw<2ntG_MSW%r`1zDA@FDlQXWmIaE|h5-9@CU7Kj5Jq42LohH*UU`1!s| zWBUyGI(^tzZ~4@jRb9K)nOA&Nwz4Y%u$RlO(sSu+DS*JC08WP|p~K)e2wU0)7(LdG z?VDUqv8ETV1E>$;DnaoBR9yNhF%5x?g>HiDp>g*urELL3xH9{bVc*_A&-7GgB+`VD zZc>aw$q^hzdnw%h``j{)51G(FCJ|>t>N##{Psk9rZxB<=&FEtT6{?f{M(G)8~i+%U<8|YPg}1Zmwc3hPfN9d15ROA z)&!p?+6_#1tSlqB$29o7VJtN$X%lp2ukT~`!A+|2`f2t4%|v<^sn)dqZ3f#^U)l?K zqn1+d`TtT&S%j9oPzcsZ1{9989v6@8t*O-ew}@+l*VN$Li&c^hd3uJEN~;o`ph+ zvl#|(tgCV{;)qIC+G)ds`O_LlT0fkSnbp+TjUUhWBeacT7rlzJzo4F8t@sVj;vJQN z++?p-U0e%pAMv`;K&GA7?yMD83v>$f{WFceO4J{Mv9xW)Nz7oHCpS%wa#Oo(8OhDo zROePSU!0@Z?igJ2lt@4uZYF&)jbLT6h#SFFzA$0^@>FO0Q^&CVCzfmbYJ@Pkjm$?i zgsaT5MPX_>ymD@>r%8Rirms>|l!5#0Rxs5b9iTbPIj{q=09Mc8Z=7V&t zmg_L3wm>!6wscz4Nb5nW-zMs%O7G*`i-S6k4e<<)_0?PjfHyN`xoCyG1F>pc0=c zIf=7wh1&?vfy8*+WY&Mg(*-YNqpVsxXzuC*Iky)_4o6nTXHY;;htgrBK_=Lab z!h7#_HNYQ;26vlq<@THJ=HOLgTF>|k zVR=nO(lYvgO~JtHTs8XtNW+Ppk(^zHfEfKN7-_vQ7wu6|Dp?OjPIkTGE^U$;^)0nk2~jZ##V12HbPcot%CD4Q%P}Tx8$xSePyS z!@}0mKP?<^X#Znp-@5bP;}Y9+_D;VDdwzY-W!8l81FIdj!biOwZL)?e8X%v#uz`8j@L zchgNLKuR~C0NtENdR8g#AYj*+K})NE(v448S~a>^pqtgAo7Hu*Ms(9f*lGRLeE$#z z32rJVZ&q3pRGuY+31}i%iyLWfZNjqVBo3NeN5R17xJq-LH1{zwd7%(!PQgg)kK(zG zQo(9n0-KnZ)+45ZY-NeMx${E70_*yE6zk>ET+27``iQvcmR4F#fTr5g`amNIYUz9> z!O_M{2;9zq!c^s%2(|tO!sdpV3YJ$}m2tE%YBKbrl^2-rGKR6-teiX<-w?W_YEzh; zzY&-P@iS2kxQ^ks3w0Q;A#zJA%VZciXS6(&dhR79X8nF~D7UwzS=%7nVvnd7u=)0U zh5-H{%)ay;%}JT(;kBpP#|0oz-o*si$AQ3$uQ7a3+qno>NeP*{UqV0^@Ve%^i^z+k z4h3<1YgFIb%b@zM+{+;L)c0iy1}@~P`mU9>T}L1U^{pVamqDpurM(OlEycJQ8(PXk z?7dFZnZj_y5EwVEk=D-pY0^$4K-Pc6(CA@7W(i}qy-g37gQ8SFCSa|QA)@Vj?nKvH z^2_@_rVq3wC#{K<7w@&yrKCIpxJJRi62e#B<#mlQXpI)lx)a)_@xT)zJ$@riA?KeLgz}faALyLmwqi`r*=#$FSUP% z9K28nOiMv(*~HYIb;~9-?3!g-8NC7|V+Mv@#owTVzaGe@n+h-*(YAKK3u2My&t6VoP=eob5{!dhCUqEVA+G0XiX|f>8u)g$LI7AszY4ys`d0!!@GzBBA zm&E?xGR*p4gq7Rjsv@SJrshK{>D4ST%zq&@a0|TmDW4(zihopO_lhh^7Ygt@06b#Z zf=uY@bjLerT>an5kmY?;Pi60;dXjw9(|rmCZsV$YnxuNVKthH>P)`a{-bblmrA6CD zx<$!X`Q%oaN5U(btfc5BA3jPMdK(ebm6EDl$Em5 z;#-`ZTalaU-CCI1&u1a8aZ6&EMSDX}8a-pveCZv2@mN#vU!cJ`gpUwv6PNx3*RyKD ze@qy|g_Cc5A6S<5E8(O5OYI_AY3fuJ zKNLbuL}99ln5yC?(p2ZB5{<)~CCXrP)g$EFRM%)5K%=dJQO&td*qN_MU^!!{jcd|z zs7IBhmNE7IWDxA3V2p%$Sl_!f3Y6_t_rH1z<7IxS{#OQ&^`{sM`jDBK--AEYZ0rx9 zsM)6ourUo&sQ5hz1|Rw_CZ?2_*b52MBsh zSA?InaOKQd6!>tn@4tY=zTY62$hJD01WfO{hXT{FzoqnE__`QqbQGvxE&Wx{P`GH6 zp=dlr`cSRnaxAU%w#eE_e<#4fY5kp+qb(>gM;kZ2mLdRUgN5kHBGj9i{uW4pk*mYjhmDzHExp7mE$I59+gN@H^e{-PADs+jgNjn8TvFB zaY~?TUWsh;;eX5_Xn;|H%o*|nkd^Si!G-~hlxr`(^O`wPUQ)NK>A;f?-ee1xEkeCT zq&#*pC9nwfPmwz9BKV#yy?)?Q0xCy%qrwuf;_`}Qmo3?&=&!r zx$+Lx-%K!F4^x})KgAe&)Z?d$-lNu#4^>*;RPTmm{F*xF%*Yh1U3;OTY}d`V_g}6A z|7U8@41PIk_$8dZ@H41ko)M~GsiJct0DzE-2dmzX@pj^XF5YQ3t1IMuY!0dmew{ujDkt zj}#2N$5qX+MFyykZ+M{)G(!cc4o<0}4$d2RpPOjx^e>|MFmWGl?3AY*?Ty3wfGp$P zj}VCcR0`b9;QK^vk3n1G@CdZb(UMlkLlRg9moNq^eJJKUDX~0K6dwTaLX#q^wziu_ z^y(dVub3xTN$DLw7P%`by<@A2`Xl8U3ZdRn;YjO`<9ULWwZ`8=Txp3(Y3V3cGKBsD zfh)C>j@?vO;5;d_9>vC8pVdS(CbG%231ouMgW5Za@tCNLVY=?#O^n7w>a)&3k(ctT z?!SHlOrPUT^hAoB)BxY3Glo78=gNJ1f4;ZcwpizpSW zY*tn?tg*008VoA3(6M%t8fiE;)Kp_%scq@j=v!lANm)2&Qth(fVyuQWdg;Th!kb7Y z3#;&ZQK8B5MGBMi_Xb1bn_v&`n=A4oU(Q}?4S^N3;zcfmvp;6W;7|3x|qimPzY{z^k1dUQbs!=Lc)F_8%lE1w} zV62QsedW4W84<60=^44ob;v+wX5@F2cWOz*Xg)uJY=6sTT@Cc@?C_0!kH)1z09mhBmbEccDwe z-H?*j%nZZ0x0FQSxU=GA?tGS*k3~=)&5p5wNGCtMBC}GY6UmqO;;v%j;hEgfRA9-N zZCewzBt|3N7M`eGcm6a8qqrBg3DQ1(6-YFyV3vY`X0ECNK2pBg z@cEK26oM*Hkg5WuN)5*(YvpiEf93K7|Xm4RNt z%vAnMW;&XnHnG$Ay@NfWJ&E62{4}c5pN1A|p;Y;#=LxI(jfoJ<;HMT7*|-cKvGHWC z;)N@y=!Z~;{!Gfx%go#_STYWL*1{=v4(Tyw`*R@0_U95{``;q3d{~D)7bZQyCZ}ID z^Zb2#PBrQ*tjs;H??T6`t6c3wU;k7xwX=^VBV4#Dmx}jMz4fo(t2)ZE!BdsUI18k*&)rYXEc<^Z4j17HJJFB-z50b*v z_|w58dm^sAGwCOkf7YKNtmcgFyPLf{mR$wJtbmash_2!c`4k^e;!`;5TQ6QS?`yKN zmX0-@awM2^x&{F{)gas}wvo29HW1!)v@74%t|^Isr0+9Kzg+-q%V%2k*BWX~P)_Nm zj8^(Wki0ml)XP!21VicTC>U6ctCT)lN_XRVAyB%4l+u+dQo4UP@9?=2usMSw6`8d+ z_|)oZh8kQI+W2KcX=)@lQ&juX1$Pb!>90U`n%1Ee#t*a~6RO4O#)P5@mohR=p4*Kk zsPPYkfVxVb4WU(KjjdDdMMcc|2RYifUgNzk-=wa1r)57xEA4OZu6U)T7G_HaSlC+H z&%yzR_E$u7_RZ`Quo~i)O|=Piz}c3J+EI6Sm|?I@?oA9 z#>=L}y|9;S@d-Ldp5L!1Wi5rZ1J{Kj59W|>a3D}Mqk{;`%}Ci%qkRenIGWCCv_m!O znvoFHsDhE!pT%QmrGnMLu&QWA#?9DNH=`6LYDP&P{IeU9b|e9kcBHjFUir)%Z+clD zRD*kPuMYNRertlH&*=xl>#TO&h-7rkbyU|<8TdKYl6ihGKf zg+k~xTY{0+tK#A+6|4@0ReQf48&+gDPueYj(?g_UlAWH0T6T4%O-LVQNAJ6mvRlEp z2tn_wV5IfxitIf9Fj(m!(#A@iF5k+^@Nlr!Wgej%7oiS&+rV<9%iOe_C0%BxvQ$6e zg+i#yR5;T5i;6sJ{BMYBEzg9!P}v5XSa%@Z23w%j;#_r)rtp?XF5R%2z^lDPihF9O ze9kpa+aP1|M0I2eXM}zvnIw&KG(pZk3WD;vEt-vKztgYzrP`)yFY6y|q>RTVXS67P zqS?x3plAVG63~Vws@wxxaAUJsMpGKq=EHhxLtg;SJBoJwqFqH9d_z4?2y<2H0Aabw zh&w~7trQGw&Q(LI`O@%@Ov6G@sR~9~e-$fOsbDn-tH%2Oi?;KCldG!Y|1i5dGrK9U z+1cHMgd`vdk02qSKsI1V=+Z%YRRk0S26pIg-V#8NuF`u4r3uocBOnT*Qlts2AYcQL zCMZgV|Mz$9D|dEw7yh6B=Rcp%-1FW&x14*IL3m)(=I#Hc#83K3sCTMYe34=t#}!Zr`zDqz3b*~Ypz08 zjucOiC2{feIAF$8r4CQG7pQHCE1s?(o<0M;T*HnRJQb*S-;(fDu}JE8lB&*xUE?Yz z@W_QH%MgjxoA2qZt=&$ZZ%0_;aAi3{f~3vqSoy_3#F#4HVI+5H{S$LR2a1xm8OzBS`b`JkP^7r?rPv`w*{-5xl!QaWt%_Vgqxn=oF zoN?byTx$tVwxrWO$R_TN1FonCYaiH9KV%lI#G)PX@%kajT?otMO7t1OZ!+JRAj8|- z-NA77$=uy=N3*#~1)IBvKy4RX+1x;~)i+8x7=RZxSHQEmij~^jsTR=7ZWNnq*_EPi z5I@ciRa#Nmt!AkRfhq}jHrKMtZ0^?;+b`c}HrH~*=I)tgiOrp*EFVBVoX`Own=9zq zT+7qh+{zoY-`u88fY|1$ux4}Z0^8~#vJK8K3sYTz_sFDBjvTRiF+;3}WRT6-*+EM4oBp}Z>7E;45VR$|1L?7>pP$rNv^k%60Lokw|K5n=^wfi7qjxQ zKh5-%f(5i(eKHB9cuJ{Y-s|994t~bHR&FYM9HAHkX?S`upuLZ7GR?$T%x{4BKldgYmki2?Wsip@vwnTP)6aw2V;Ms1)N^N&w0ln--vE7zkDLRz+adz15 zm6hGvmWmMAZUN7BTXvc4K18wo@{MM@Ek|nSVOf^c&e_V+t*r~8+9~MSZp*X5b}QT1 zcB`<%+wLKl*|Op$k802jbv&MB--;&hN;?&mPRr&3_R7s03#ZE_|5y*@G9pi$45`&~&c! zxAL=cu4CW;M#{--!2Uef3y;(oh1>~l#v&nuk6XEHwbB&qmkM?YeW4kPgbY?epaTar z1$$J%PPJe{2Fz@&G;nZJu*VeaGz%tVu&RRfHwF8(f}L)`gbY?ASnwsBj>0_ZWv)D{ zQ29RSG2G)1=wD-bzSp;+E>yao6^*gwaV0wkU#fhqgT8FBaxcCE)uwD7S2m6XLOK?( z>N|u}zfrIUj8j4epTa3Ffcgr3KQ4O;Hlh1leS935&y!ESJy-|md9TfD{Qb+0Tqkn5 z7`arRCe@BYOLP=T77C$2uz--}5laobK7^LvW+V&gNItA7*zXkVhsHo5gD=B7zMlDe zd7puIu(}w3cvHM56yQvYCuG3Qfhz?oQ(nG9Y$Ghk$|IU0KAF)aq@(M|reIGgm}8}o z#>!a%{UF=dsyUplIR&%hmq~Z0&91ymucD*SGhdql3;D{?Fx#DoE%feK`65$ZOXc!v ztdjYkyLrCC>~@XnL7!;=z&K028>Xg@<}DvC!VT6`Gkz9j)gbC@U^a+SR0dJU2-G56 z4WibB7lXT#Og>nTw0emEIKDHchcLsFG5Bgt`YVa=9UEJaHSjcHiQ%rMDPW;&k} zo|KL!MTECbIX0(qUTNh#78K?DE+8xC@x0~36L3c>r=n8M?+Mh7!&N!wX5|!uate6m zRIH?&YYZu;rD#bFEoX)qt(+nvEoU-MxKBPjQU3YxBtSkq88?`V_z=9-65oOsR~au( z0Rt~i1HcQL^VJb8rCw^iup!Z^=Sr04$&sFD z&aY8VlpXU*KM<&$imO@NKJm}Z`3b?CpMb|d#Ud%`NyD6LAuFj=|+`_uL18V}JbHUShx0)Vy z!iao$7GC9E4p^SeLq0qQw{pB{&c)=TnsW&-t2xRDjXF=Db_T9AYMwZ9ht(V*&?td= z_ajNoQ7n?Wl%#_B5HcK+J46*E2i!z}vPp4z7;Ry`NhmS?^RaQ@+oxZU!Zb z&c`pE6NtZ;Vt4sZo->`BgmSqbn_Mm;7;?E3fLu-&A=S&^LUc7g)yu`=e0T}Zm9;4U zxVcQVa0G!aoMtTBI(3J6KD-P(=hDo*!rUv(y$ZMThWhANkPtUpR;~obSM=TG9|~!> zsxn`yTqP2&A$mN;H+KwW&U1DMui$DSf2160a)WDluk6c*W4a3L`QDF*Y{;haX;amY zE%?Q_6AJlYE$PF2B^e6A>|0H+-aVr`KHsc(B(}d&W&f0YYn~3;guIT)kFgT!%APyZbte0~Zh?>GDV%^}^;zrn>h`^<{({;AUU0l7yIGA>SRetEb8Q<9#T$6P0az?gBuAjD_PTAm29`>e=PrGAF#SfSMpy8Hfw*dC`^7D1HF%* z21;JPRe84rKT*oEtDU*k3G)-v(`!MYr#Ar5(=m!#yPlV1&T=n&is1ya7&qdd4}W6r zP3GQg?oZ8CtjZBGAj8jJDklucEdsUcaAiQgB89n5xrRbuKm@$`OU1%~X#R5GLY^Dt zzJ=s|2y2Qn76}>5m&n(_VV63IcD1@)J#LCvhh~zi;Oy;kTQ2cl`bt z{`v4ubMG=&AxE2cSL*QiZh_iuxZ?2w@%R|yu@LZBz?*khEO@MWcg9u2u}+kX$U4i^ za)WgZJ)jH|_Y9J`^^>p5`1arvXzQEKBAs)>oEp&RGb}TL^md7M5qjyoIuj z=Pgv&;pZ)csm{axMJ9!Ed#gDj(3}@ zum=>MxrZkbKYK90WL_eH;gbq8dCm&CuqBtf-SqD%yr_%M0LBz1uBQzxtT8{&E8qnI zj@1A%K1F|!uU(QAy=Vby0>xl`_!ZoQ;fY?-d)R9YjfJi$rOM6V`X(!fP$4)FBHvxG z`@wSDCEK?tEgk!fUdA`)mcF$GxCMKw6Mw~Uq9ypOBK?Ow3d0=g)=5T{i26S$P^_=j5mUUnli+8h;TJuX{?P zJzL=F_H~T9Uj@P09CKg84X0RjdEGqTz>U8>r~PcYYyM|e|Njhv`u|q|ZSf7{ldtY6 z*8J1rIak<7X>t(3+`q}grR+TZE)Qi=jI({y!o6kgKg@mGTm=uan4#i~*3%Sy)aG{t zYJb61ZQfWKdB124g`hSIcs)(UqBg6i=}2~;GIK0)6pN_pL@h8mmKkC0QB+r^+5(t- z>xFMh2alp_Y9H7NzDoA~&RnCB6B&ecG}2ADjjRXF)-iZ!3eXG)Lekq z*H?MDHpGI`*YD0v0e`2-?Ojlm?R@}pb3IKb@DD^r_%CxmH1{Li(R!Ln3m*Slp!OcF zc)W>te3S852zV^u^)wX=9=jbLc2Bu6xr+$_yGMUBHu@QZb^m^QWnWqc?oc<%S*aMxl{LlX|CE+bzmqt%oTDcZpNUUgwwJO#5FdQ%i7n!bi8y z>R#jHe?Sf2|M~V_fyWHWdfmJ}V*Ue+hW~FU3mxUv8h3 zmtERQsEga!N?3NK=u_gy*&(pal%3mWB?JN!@LCDWj!)*n2JN$|E4E+0w8LlntQuPe z%aQ&UUsg)8qz|yUvUDRpA=Lj8^jZeXle@>slXim(z{r#-4!6%rg|&V~^{eV?8NfK)OP26Y2EGbYFB~N6;s(A#4*zY(rR=Wt`%Py%2u0l= z2cYghL^<-+{baMd@ZpXybI0OFj#}rT;E@PVLX4M(Bj1HsQXVQvF)rIuY3R7zo#rti z^Uk7&idd;3$PwlYL^W2XEKnPRD=V{wH0V{8AQS?n74R&%Vx^W`WI9VOVGI;;8d-Uu zSb2oaAqeTd`PSYPtfF8?S}-Bwug@vwPj|bguq4#cs5G0hS(@C zyHRYEWmk%(5I@ciac`B`C?OEHfM=sDyUa#SR&2j~quD6S5gWBkmL)c7>&!+8AsZ#= z*(l4?vr)=4wNWapvr${fMj6A)k)um5W~21bY@>{xvWsF2A8MnT1AI;!CF!L$YVw?! zxmD;RK4`i!6%@8%Iv~FHYcp!sQs|ocn8k3q8LeeOb2tIFvME!~cCJ^=j2-JuXHt|F zHJ0t_Fl`#HYV0=Rr~7c55QtE~JJhRKB&9>WYGzj8m93wg4d9_q7Y=bALXUKRd0bwh z+v?qWcXEevTXhn>t{FYmK7APa3wq|`V1%$<0~;ORAo?(6*kt%JXh1b`8R|yLXO@8h zjS<;d*rRVHNbc>e&V#zoqEt8O_Vj$Npi6!po_Kul`2$b14e9gqM8mw1dGe;o5sJb2xot&r;v&z3N$%+#0UkFk^)? zZRLuN`@p7MMGsR7?g!J@|9*%1v6#QQ2k}@-I^PmJU_t4BFUytTx!faG&sGFAyiH!& zh+E0rFXE17la&fKdA2}p7Orga*HptEFr^Rzn=IhjWW`EtvfC--WjBgVw(LsL9OB2> zQK7e0c3W9?LQtUvJezFUWj1*g#SXm;N3+S6BQ|-}EK6+icFI!o!5qN>A)74d*<{Nz zvB{lneOp>!Wo;82sd*L|+0>NVHp-^D7+?J|Hk&iE`jBJdwT;ZU$*3H;qUgoUxE`Dt zFS(T;Qz$D!*+nrKp;rxC`kMok;vs&+9;8=b@n86R<2y+_wd2V;`W7wr9WPD|ft?(D zn=1tQ_Gyi7$)YdellCdM;k&6nM>PQt0;>Pe$K7C4lFsh#yX5(Bbz<3&EZD`Jy_#a@ zOdc~mUIQfU1#83VOX^q?TP@d-HdF`5GWrULeCS*jHd`a5#!(zxx2tvA?Dy!0KhZZ5!ID@`UJuFZ3B9AWJX;WjBo-wcwVLNj`zk(Ok>Ky6K2 zE#Pl29hz-wD+H5b0^S$G6^r?`!%52SHab`t4Di;wc6`r6MyRM7hNg4}zs;4|7XF1I zN)3w<#a!7sWD`@xT-gqyN;@O-p%9uY6ZAT?Mpj!qH6aS>g`?Hwd>9!9I}$zE35U_| z8l=L$eUY7bNp;*2aLc{yq+=|hZ}AIKNS7m<0~CTs2+(Nru7-a@&Y6h6Ex|7>XsSz3 zbKV7ilX!~_<@?;U+Cup*30Y3rDjM|bOKH8cdZdf9tH(=k*CkY{w~U2sjeWV6$_8xL znyGNRx3u)H#^%**dsy{XqTq~{%A-KLWXwIa_xw9$rZ%p?$fh=@?D*(FxICSKz$4cqHh7Sii%-sw(QsEPi&E=tT z^BFT-yLHgM7!X{t9h)6K>d75cn0uhP6ec8%<0P5WVZu~pjKBg{S0+@s75af8*ll-tgRXgq00L(+C!=`x>^dW#@&muh8T59gG<{pO|98PT+;ryghqtqt|)CO=> z>TjsjbrZf2lv==>T~{nh?Pk~Qa;%B&EJ^F24p|gKClHa-Uimt?+ox*TV2VdRJl8SF^&d%zcMml51l^-6US0HC4F1%H5IktNy4(%6c8+e3u^1*`v^A4ho=Zz z*_D>RvQK}l_=zQML7zN0OdI`P@h2x4P4#57vJb!5J8Rnj; z0NS(3Xs8@rz}wu7;RHQE?cp@BUBW}QYfsd3ayhzCuyz{m1jP1DiEUMesrgU{iA~Vk z#;JIGMnKy*b^fSNXEBSNbbrqR!QN5a;AqhS?J7NAE`FM@45ES)@HWzHLg#FdJ?psR zPYPK1y@G}EUi&mt9F@Y|${g9d_>&LiYfQ3FpSoRL|Dx;UFm_i{mAiTibfCmFyVaJf zwnk#7i}sm3tr>%NQUCy3BM{f6g9X@i!^-3|{`nb;91q}9rz1H6`#prD9 zTZM?7tpn>rXk&Njd+IJd14m{o5^}mONUJ={`^+T4j5}j2cau3H&y}kOiT~~HEB3bi z(1cxfiplO+5=2RiolaMr0r}-d_&jn#hpuH@qCDsENx4Z zdbUPByvY1N;7lj=FS##*0gUd8D5)0JI7XmvqeKQVZ@luiUwjRv@?$?Pu3bYpBm0O_|N4v!s?Wh@`#Dsi!4Q}72=nh|e(4*Fo-D6L%F;!_STZDDL zXwqyb3zM3QTB_cK>}FK%!}U1$ytLPOX3R5BKIcFR^}=OR@^w1l_QOh`xALHX!-gWh z@&F!5=*t!Q1rm(|INFUCm8Op;*@Pjgv`A`UY zPy(K*Q!J7)Q`b6}CuDLV@txZxWEmTn92&rCH(WR1^QvCBLbTt(U|iS z+@PXv;_x3ZR}>~iZxX28fU8N-{UmE0r{QxNcrhs|;C;GNv6vKHOgC|CsmfvD4%Bh2 z=?1>#-qv<+Tv{m{ob3qq#2MG#6MPd$|9X8gU{}#tK*MhP*so;YV=K80<20?9SR>Y` zq#tffPC7dtCgv_oqnFA;KkgtFQ@%e6+GqX?CQ0s*rJ>9 zOXpEmYYDj5w@~>x4s1{7IySMd$o8L(x#I@6O;GDuxupmC>8#Ak#kgC1Tw=$sV<$7| z^N|d5?=<%=bMH3y9^BwOS|;78aEs`<7oU`#WL{_ToG;k@Tz@wC-%k+aZ@q-t&y~W# zusS~4{Y&1lOedOH^%7jqS@-G%d=9m;qV2zV5Kk`8$E~J^~1>`286^%C%=?G%fow4J_-- z2JXW@Y52vCdf`?X12<11q|K8g7j>u|qetg1>d;va+bMG;DOoox_5kb!o2!Rmxo7BZ znny^ddeXKCJHo50(9ZW)*CP^1QLK)YZy5Djk7DEJoy4p7q`DqsWw!e~j5Wp+HnqJX zi;*a^hbacHT18LJHE8)tJF7K*l9=_wJmj>C=Ue!l!hfnfJ%9YLHtXIiekC6{~C^y}9Ip*{HxK>Jr$C-Gu%HQeJae*E0* z+%$Y$KeGd~(|`QQ%rw3Yz*3mSt*G@1#=<_Lr^{BiIC0W4({oF4Yt}8x5a8)Jz}5;7Dmb4Hz@46(E)S(zxs0v0BYbRp zWWq0mC!d4xVsMeMUU^o&*F{}f5`_(>;`Cx()h)r4x*>zY#CmAK7f`~NQ>p^()L0H))J_dRG$(c zUMwR%C2)Xbq%{z>>w;heR1@?Tw@pYzcVqQ(Y0low4vv(@tC~gJ;B-P$x`_a%Ov$%P zbsR2mJ63y=DITkhMx*Huwb9OEB(>4QaCyGntef4<&<&F>Ax+KeC-qMC@n8JKw5L3O zUUR$hKNG)q_;>QGwqD_7tM=mICjQfTPJZeGJci%%{HO4&@Z9YzJ@?KyjLUrl?jKf1 zp8-W1usI&uRL&cld(C|wceM3U#l%+sL7?_5u59&zlG24rEEED;E#R$>DptHcI&Jy_ z+l1*d^i~RQLQi8-M3Alj>A}|j#ttq^@^%yFoAFAKVW`YR5NZcRcT5q-uY!^K9_D&-o?ocE8O|unAg;SKbC`O=aap zEgX_w5{@Tc#S|wTdgA13y-Uo771B- zoyW*gE7!C_52h9VmS3Z??1CDVOhVeCaH1DY0os!_;bboI+1Jy%cvZ|)FLcIC_pJZZ z`1vNNtnU1iH*V!O_ifyakP14{TIYT+t6d>kUQjhL`B;}V%)4;C} zA@g11*SnxHe*H_ih3}jD0q$u0QcU>up+N0DT=DB*@#_NPmk{tvz~h%<#r&F@ut@oN zEc&%rCVU(!kS z9Yx}P5V7XZu!au|$h!(_Du3Z!#`Lei%$SM_jA==rmdBMbJw!Ua6NKeMAuy%__3meq zgZ_#|Qhy^Uf5pWTvs9?Mc4=_3;*w$7{X2t;xkt0}pvpbH>on8H_MFa~d}ustCrGT1 z9XxXFy18Rpc;9LIC4T%S_*#F{(h`hyr_D!E9=Sh=`&ok*VMzLEwT6A9%scOYk> zd}V!60XJZrHDi&G!PD)i+@WwUz9(ipzV7F%QU`4(_qY?m>EFC%2;&FXiaip305(gw zdr`*Z#-cy}HeM`6eC*iO#H|iOhxBIxevz2ObC;gQC7#QA7O!~j*0VUqbB~_IF`j$% zETW1vVG~{Yql)-<(Rb|z7xrJE-u+@yKE)!bcSwp0_%v~p zFIAtC#dmqjHH)u@rbf~7EW4nV=g>y6DL~qdNNxU=*QM>Es7`IZ?2-0H{LlC@4OGUL zFYv}TN^_UP9gQ!F315~Ms7=QeUyc%A&N99T0bc|>z9?44mkGufmt*w>amP_0*SMpH zChl0yWf#vUe%@s2Tj7M{~-ktJErAYZSyZUzw#G;k(OWRG|lajQNS=%?=?o0X9_&J;4n7~y5 zi~+3nxcgGp#3#8gWe(4y-IuZ&c)p)*?w8G7-P|>B{~zv4nM-u0c6OxL$$csEa`&b5 zDTkWeQSVDp`E*~(JPW=GuI@{zN$l>v6d`n9ilBGLfZ~mQUy2wM6EMPkDPJT+(&|Yp z^}?Gn;qJZ^A&0pyWk{-x_ob+`$$crti4pEg5w7vR6!VGiOHmdL_oWz*%8|=jEE;-W zN^^k!Kli05@ASTuq~9@lPJ8YqRG@85?k@}1B1m|G^@G>uk?pGH&d0TW$H2-wH8TAz zG2L|ygtV>!dn7Gf+C_d>fu0yk|Dhuist_#T2Ad#4QS4%qF@q~Z!&v`b6PJHVP~{q| zfX(5T+yy7aTu6}2#%;h`K3vb- z^>IhDaf*qJ+fbmkF0O3cfRx>}i$Y-I1Uwt3SecC*3mvqJugj*nyycor(?gR@vpmZ# zsO34-rZoj+cxm-PVeK&ujzT7Qt4+^(QzDvg--x|Fqzz6aK#UtaF+Hq5K7ux3A9C92$1%c2HT>ofl7OOc6jnQV_pj{ zGt09or@DzDt<$fGS3CN_I{mZwMkm=CcRo5fUh_WDt$91|;An)-`n=u(X8)jEW%c=a zEa`QSUUe}9cNE-Ny`4o+xGipYx>d66%wv0Vcfhqu#`a7ey>9v^sy*=lQz+L>FV_nn zBbw@muq9XoL0p(vSICd#ag3^#j%QPF(RM;U+>xmB)VcJ#;8`un=w}~;C~c`6>*8nS zYO}j($67twg&=V;cI7c2?q=@pxRvW6j5<~%vqB&$XO&|*lDatF(%6H*SzY|5CGZV% z_f#^Y^idU)y117>?d!Ozi^oB4To;9)E(&;cQL&op;z!UIxxD3CUDQKUU9>#QE~w=> zv@SLU7_}~n>S5~Qc>5OpQpTUX2@-xERdMDo&%)Qd=`c0;bUTflhM-SXePq&G8?I9n zyH!bq3!!n{j0O?+=fzX7w!<<76Dpm-*q0YK^|1!IR*Qtw-GuV)J*^$hn$a_D`o+B! zM*AJnf%xiEB&8&^c-R@VKsI-0E3NM$A@-T-@pv9}2{-Qt@a~aQPy$lx8RH_M+D*NK z6QqsOcmH+Uhf!fEwY*Is{PzjC@s2zl>N^m0K2X`>m2tg$fsCU1b4Ac~h zr2b1%W9?&CHob3YSt9N3$_7~qt?OrqQhZlK(pUcNGwFBblzDn)H?bF2@^fXl@NRI8trM5@I|#C2<;M8xijF$+o|xas+E@+@Go_Hf^OYxjX1X`m?K@aCFhp zU{g6K^JEIxvtM;@cEnW=ClRB^r8g`2Mliddh?)=fVpm1SF0oBN=$WoxLgGlV^fr_#JF@s1Zs z#`>o0Q6NT7AJ(JlKRxc+;5$R^A??FyAp(S@u-R(A0s>oA+Hhp)Z182XAEpWYf9vHq(|#xdt?N19+;OIP z%eJMy=cc|(rAGnT3Z42keahlOPz=Erik{l}ytv6oHX!rNK3j8@s!Jv4z*sW3_Nc;_ zT*v$y5ENZR5YpMq%B2@aA-jfo4i4C!O2;R@?Ly$j{Tbp5`!g;UsGW(c{TU}qGX^a! zA=sZG;O);)tayJ$G5n!*WW|tSwmF2Pl5S)WVR5C>V`TxPzpRD+?Odo?0GD3>z)pO= z;U{ulV1pJLxD~#x9Z}vl9BkK_m7p9cfGYu;&uoVP_1v1T<^btNfn?v#UkG|0{{d{l zRG@ySj_n;N;CB`O)y&s9s>+Yz_Z#@aW7rkc)Qg;!=T ze#{$NT+RIv?r7_Oiiy3rR-kq@uI$Ar(u&I|Eqglg!d?h?>wk)cz0kt5)=NtSEwKXK zqbM$Co7AfoC}QNuk!vPI55cMA;IAwj8D$sL$QWuungYZoB5_R#4RG4aL6N zPkBjfgJ@#|seGou%D$HfQ4G(qYM9|FFKvXa$d}x9soPv)&Oqpe3vbP}ghw$DVh#r4 zc7fXUxH1r@Wd=eB41|DZAQUS#5N8`@%I>oagb0fbgdRsQ5K7M(i21vu2148#-auFh z%8>%N5)3sE%>fbvk=Tc~;IQn&an$#r_F)Wu+P^o{KKvHHm-u`3LF`NI!|dv6YQyfp zFKxs4Cg=<5ekS!D+i<7iOD{S9Sh$3HmBh=MGxDsPh6|omZ^1&QJCCNc1R{%iLA_ZdH3nkzA|x zdT6TlMoHNPHA;q7`=$U%&mpPzcl|uA_bN$R?-RcMuB9?%GscT6SjiqFh}GA8mFB7= z(tAFX+frGYV3o_qV1<*oXH>s}+-BsXUl3qMOY|_HUYL(xmEFD_)m3q3k!}*6IZ1^K zAHvCp3LU&4IVO1aJUt@M=j2Je+0}KW7r(?W4Rcs^9p%{)DP+B{K$$H@{MEYCfy1gB zI{dEm@sL&ga`o3MivTt0kUA^u=gO`bC` zr*8@`Z#wo{5Z-+sk3sZ&6rFDQQx@?FbDzYmd>{R(dRG76PLtQ1AY8L*6YxD@ic`<0g-1EHf|5^u7^0qh=S?ErdI^ z&C>E@%jR=grkqhbQ<>hXFrg4SqbBHGIbtPlbD!rdu+$QNFV2-*6jaxz#l&3@Y5XmmEC`T`WVK<|>FXE1-LrMi5dRd_M0rkI|mo?;;icmX98m}6(+)B|Oi5}<1s{h%_ZK95Lwn&iG$*HBw^f7^{cg;ME);xxp(tOD8?K243CBUrHA1i6rOg z$&B3pur-0{$*Z8ylU4#B$p20L8nFL^e?EK-r0ZyXbVo}v2&=u0uXU9$NN@1$!sSEx zSI&iZl{WYygH%Y3g05CkRw&b71Zsc6l`@?tURNL|9}0mo3Dmp)nivJeBB>%t$sqli zSN2)r_Gxo*L*A(|ltIdjp$wAc-5&j2v0dI6r1O>c2bPKu7$gBtkuC2QGltF}{Z;Xe zEpc%#P;ocM{+dDBf(LhKR{Op!PYlwVS*94I3zezHLHSS!86?4a_mvGLZVR?jsxnB? z-z-<<-S-6Y$%pdj`-MG<6Fo686PTi{l%$i|gx)UZFI1pODKW+9Ev4l+z$WyIM9h1Z zkPzC0E?DnoC_Xvg9mgZF4y9V^EcID*YU~6UVzin z7_PUnnJS2>PdPHSvcuJqlb_WSJ-B+(?rf`_PBpH^idS~(V8vn0*EYo_wspjCNna+p z`@`x?o;t&S7Nv{pj1)AjGfCU6J&g+pqaS-?jo!C$D=*TkoMDH3XO`!-fem&?e8E9F zzt`aX?d9k-T(=`V0?n6i(Q-(c&uKC-{ZFNGgZz`c=(oIsXZ1FDk|JTdUD$UO_6~XL zKEA(;ZmY}h;UCxK&559X!+I#1K9ERN{Sa(E{J`9QDTTDUH1{2p5>@rz0=4&XRaGxG z%~fKd5L8tGuevCf*LV1c*L*0q?^V-xFYmM!P*rVg1uXCO=wropc~ey{QQmpWTL`ME zfY%CG-tJm*tEy&=qyH!ozs&ECrM_Onh3-~gf5bypUoB(m>wmMHsjrtR=M#;7Ayi)l z>)od(pQf>_+k$IJEIDUk8gM)s?#e%~>C*7~G~OGP;VQmDXXoMrL`5?q24(wl*dxn( zXQBEvRTYVE?hh5tFHhFEsmf=Ko2tAkPcix*F=I|r1i+NFn zrecwldJ5T|y&c3lm$zKwnI4R1{sfKXS$07!&!Ho=rT`g_lChe%H$hZ;d|4`2La*l- zU-D$1@uk2U`-aVJ!yV05C?oU>27i6%n|d*p5c#mf+%dSL@lmP4 z$8iF+c3koCO7T%Apt*t>FZd|n@lmm2KKAJgPA<2~Rm8KgnR?lo9;+*4`IMqgBF6d9 z%f4FqjJ14(pqDM+>9OULH$B!(tK${h3RbyBS&dQuK;KjzoAx@?1+u*8Ur)#~qksJ) zWp=3%D}?&jg7xkWy6`EG=23_taeE;Ho-sWP7E-X(mY_s15>Nbx^F# ztX!yUO9Si6uAD9=P6pjTKq}Veeuxp!9!*gcM*#hh8$`e*N;VXNeu#i4QzKw#KZI@J zgsSc<5{w7j>a1i#y_n?m;3U`PBxjc^7zr`kj07%MXfR~W0oszIU+G;(lAUe{UdZ2* zomlG0ZbEJ*__-##Wk4ajGl*CoQyxnfU>ZKwF=_0-=xkoJEI4*sOE#v7IKxOqo zbK2C074YN=V{>QXj#eL(0QDgds4b7H`oK}%l?Edv779Uq5b)}QVrBK=V+bw{Y?3y! z+UL;N(yB)qtw^MNDA!5!GNQS6yZ9?uo;wrfRn60*J(cK?xjD5tMm%PGmQr@q)3v@y z)IVV92%)aEpeIx#-_6aLP@&fm(%EWqH4e_5OcHKm>(kUQ$53~*liRArhIQo|irrS* z^x%}ipMfzVW1$$0LuX)`10*vr{#f!n#BnKqudYd4o?eu5r-EO{^kOAY=!J&W*vUVL z8Qc|&XFgmRw{kN)8exK0QPGGw0<|yVN+W(Mp3X6i5CV-5@H9fPGL5)F8TuA-RnTmw z$E_U3M0?Nt;}pVZ$%nJ$oyxh{WEw^7(P~P=QAEwXMHD%cDFiiFz!S1j)NC?EL-k;p zOk+nma-`|Sgs6vRlW8Qx95fP!n#|?^vB~shxB(2@tWkzyuqQ*;)~#zY{1T|FZpUri zns{;_vbk&Ej#jso0Fs<5Q2R2jBzdd&Hq9g{1d7gHqeNznt*dM?eeG%_RyxY$8V~i*+?*LnaVdTgWpjgx20Kl4l+|7H{adAUD+3|1g`nVYvH5$n#X4Tj$9j0|R z5~!_Md=^@U(GBH(dRu}Dg*RBVqsmu%YyHWL?5hF8JQh^}k6`vyR89#NDq za9+VaOecbZPneq=ZW>5!l~F`nwJ`x>l4z^$6iFwle4!9(s|3AiAfw4m1G#Bi#|F73 zGCeqv60oz zMXJ>jyvOY1tn?1OO_3{m^AFTs#?#`x`QJC#5}j_aJ37^1&7p(4;0b&5^%fjttFoHY zoIGc_+*sgdrYBpF9rf$K5J~&CsbpH+pXJl&Yalo+VD479(I%e9*7DfY^Vo*x%5RWb zB>G)ED@r*yh$ZED(@io;%@uGQJDK`#{B3J|bN4(|G}lEaZm%wag;WOFbX&t^kSRV6 zD&n%1Pm@F0q@~nY#l#rwAW+*9SH|FO=}c>jbVdk_fq-W~6^o?QXJu`}O<8V-ADtW( zI9RL#Z!eGDXh*=@jWt5A&SjoI+KG3uwA)IqH_jj6_STmOzDk#OoRB%ILzbkaXe>18 z=R>92?k?kt3%MCSGv+Nvf-{|ubL)izwBD_&_hxjpMheAd*2YWtT+aE*W18@GgiPWC zY>(T;b;iuiM@sxaB|d?gJfo{EQYhU*wJp$R{XMYKRag!Bvw2%pSmQm*Bs(jPV?Kla zd&T_kS^0&~pkL6du*Us@&D*kiyBa~gyLD#v%vHr=)NWjzRB!F6x70glIwkrgW+o;t ztxu*u!9{EcpbGzKMeNW+Xl56eg{m-&?mxwEa1#<8CL2ttSP0MjZ0;E;o6Zh*L~C#= z$)(%>qy+Kq9z9kTkpIiHYMF9$jmdY8;eJ!)73VnrhQ*(LT806us<>k{VPFj9N_7P) zN2Wbxr-sJe&apuk;<7cF&l9{DlnFj-;a-fH$RolLv!6njH{e}&{`mfLsW6%k?@`48 zejQ{R4}0^j;wC?hYp=!cX8xi*Ubj)@YYDoQqxM{cyYOz`ueArl;kRqzXAkC=e781% z;cg0}@7JzJ`rDW-+Z`_i^$oxnuJC$=t1 zJzpCl^Tl~Q6`{W}fZ?jNph|r!$=7`V_gj`jO`sUmF%9kmxZl=$_z&9yX4%z5N~H%5 z#2>&_2o7e*w@PJmAHaPYw({uKo}9Vo5xU;oFwho(ez8w{OJ_TJHS>YJ1?S z<-Sj~u52X{f|gsr+qkA!wA}kpHjJ8b&)1Zb+k5waUyQ$smDR&2R`gAhp|zI;IE5gVQ9WAFTWxopP;PqKBk6ZYIEHo{T4rx?Oh4Y#d7Z=4w`D0zNBv(oeE|){){>tC0)6%Y{z6^VK_cwpnjY<14UvvGKe)VI{u>MLu zI@4fFbe6&H=!XVt4jnvztm((-EjYyM$E=e31O1q7t?u`e6?Oj*0R7z?p|jAtQ}22c zq#@O##MdK0>BjbL_0Piv-)5W5RYdwP`IWnZMp@Jse6AqztwPjrt%hQ-=LhUa+ zTR4b09=j^oF*Q7h*lF)1V|Kj|sqkmbr%#e3F;L#?!xqTwGGn^ z=^_%%zaPG#FLJN-MT}3Jo z`qZv=j;So8=1=P<@$;d_(NF06apvJdXz&+@Fpono%MY{h%M3xC|{^g&jix%&KSyBeqs4F|0Q;w|mm|Ar%8B9h` zZGbsyxb|QQ;bgxT)^PakhyYjPe==I8y~P(Tkz0b-)c-g5xAP8vbH4v4yng|I4t1Mt zp969X_Fyf{j^AICZIAFfg}?HR`)e{)Ex|I57~MxVjrhBm%{>MbW5*2%%(*aLIPHZS z9JoDg`K{czsd3nC!0f!HqA(6SL7;XluEt@%kkB5tRD@t0CQ$F5lq~-#7D?SfQe#VY z3~543<<%+li*_Pbdu8Wka)qf2)JJL$&f%GL&Tn$DQr~oZ7z%B~^P~l;K#UfSC#~uU zQ~_$)x_G%dk%MFx*9|i_V#o7Q!D50{?UCULQZ?$0Y#LaTqmAwwF>SHrlJ$qbyq(@v zqyl@q?9Dv@FZVEBeh*YOM>z(6dKIVO$(cZNPsYtAYMQqMDFHZpszB{TTygdhadtN) z7777p1v~?$Sa8<16PNlly z81c;MoUW7|^~~w~Qq*4xO?;OFgywVvz2?!#AG-b^!f2a%GzvEkmLo^8UaU{02iK?a z*B6Y4nCV8t(DjAp0K=^>909wJ=C3*z*CB}`?H^5^vwUuE>f$#|?%xOH?E`*=NC!IM zp9v-({?Obra7PoqQbG7<3DkaoE8+i2?5msbg+TZMp70eb6aG;OSsM6iBK_!W&>X?T zE$fteN8i?#mPb)4(&nWGqo_SPS7|tk=(Im7iuSiugrL(d;K|b{@@A}~a}?ibh-XFQ zVcj4bbHyVFu_yS!)>xf>I!dNrRUYOolG%xL+U zcIv@tXSa&0kXYD$y}tyu{l*Xj`IlFoS-Kj!0QDl7OTCG_#5PIYrKk&wmkT?_FqTn;wkQ+bxz zK6m%DHsHL)@p-41nj16f*?@B;0b}ynfb+P>H!~0lp$#~K-rdtif2-X+O;=Y$NAHm% zZQ61$G@Wr0MRA`-kFHPSX1_1vedx{E@^c;2VljN5^!VOSc5`+k^{Q5*P=7Pr;!q|D zj!wNzXL9tDfLZ+0j|RC%rkl&3#ADCh(0$Q;eZEXM32o z_~vZQfuS|IxB35s|AjEq?<1*;A^UX~|4yD|-xYps{$JrigN5llCqMP6&cyF>{;H>O zdmuGU&%rU@brtV62WAh1!|&?E&mNrLHHn`+n4g;un_WFab@oTXCu<3Jw^Xz*uYa{A za|bPLlT~(MtLGaOQGaW)XK{~P@_kI54LyYN?PqoTI+CQ0-wa?}y#smX!y9-RTDd>+ zK6QB`cy}zpKk50C)VJxR=TAY=UE5u$*KShk2QxK_Vk;+3dYY^FeDFiqso0pxRJx=Z zW={iV9Zb>7F#8sP+V!{^X8%U@=}Mzr2!`1L_3rnR4yIy})O3=nEQ>R4aA!iJXsZB< z;U`pu%EgRJ+^Nea7_s#KgR|NBP?R^Fy5tgydSrx@BL#4Tu)<}RTTT`o!v%=%xJ>3? z_9vXIVV(b){F9$_Y6ax8I)BfGtE}EVm`ms8qI2Id8QuyC8Qu-hyr|n5ayxIM3Goi_ zBOUPl8MtNv-k$k*<|FOjo|;bSA_DjCju3OkCNRVL(ouR!fK zT*>*jlJk1-B_9fboCQ2ND^@ILzHp+KmdY29ci#^nsTh8WoZBlWQ# zitkDIGVn9iu)MR>Q2cFDLmRRfP31@d97&8^mZ!w&_kWrLv;{K=Fe}l+lOSa-JbjS= zP(6GTzyI*}^iZ;B31%t0ZHXQpV0w5zDD?1`0O_F;=2$Inqv_#;;78KKhrl^K z^e>@!IQ8|-&o5HnChhzcs7yOQ7Fo4N@JqB)Byw`qTqVPSRbfZbPL&kxd{m(J0Isz2 z2`R$*a4R1Qfp!Xb+NoHncBwr^fOFH8#^3E89MryqB_#h z(I-XPwI&ZCq@#jfhr?)d9gbK%nIHUY^>mk4h{40Fr;$^R6u?n~dNy2M(HtOctK+$9 z4G{a_>I?jb>Zcm#CHZ^$DQTo_uf74j1Mw=RpT7o$em)7Ht-IRT@f%*8imm_c?4Fa~ zroO(4{Vw(ORIK&{zKJF&wfN&jN`kMjm}@~sQ6~|GIz1&&dmLBl^ps?Fu@NZ*>LlQ) zlVYXnWI3ywn&_0Kc)XUa=lt1~GZ)W- zAIV%i2d=r_`N!x*P-(y91zr+4iV6-ao2&Tw(6FP3P-Q`cFA3Csk1G*A zEfL;mA`}7<3V0$^tW<<5S}Z-J@tG~dVb(IJ2u)SbglH6%t&EN$WZ6*lngb-)LgbRR zK^tx~`||~4Hni?-hTqQoy}GAzr*$vsr=C&0f~J=H1YQTr5&zc!^}?0-Rac-DsRpho z$!(GkUj>y9|Abpv(R`CMUgLx%zTwLjKq45p#ossxkyrsP)8Sv8$| z0~9*<7XUh^>6q%JkfJ;PBT^sLl*{=1%)JkM|HS;UsdmADk}GL>i+ zWJfASDOBvrEGDV!bWJf_Oy{Fyg)3P>iE_E3tVEQ`7jeeTb;F*a0V^vD*83KI$;i!bQup5oEPQJ)w~uNvznK`lK?2U|S{ zY+Cs}Ok1!j7`tnXi1w|(rQq>Y{$AY|F)hJr3aK$qvbOIa>xb_ee#rXaVaSPnP@&cj z&$V^Je009Smgqc#-O)J)YYrVeLs?lr)LRgF>xV1ls?2pCZgT&CtdRSM0OZ~Sope<1 zXn{Y~Ymh?pF$lgSVXgv2|L{CMlE>Sg$G_$APtW5&@_0uc#qfU!x)|0qrqCANoug0W z?-CD{O65B%DUJf5GgWW1$g2Of#jNVHF zyEH=Qp}hKMJjbWd9%A4XiSK;8!(1hnEDCb<9_sos0(C7%oQ8t;-?67UqDshymGNgp zd+np2thI~adf~@X=wZGQ>M}_e0QH&=#g=pd(8a%2@xM%I;+$3X(Aa7jg!V4JSDr=Y zHbfkzMo8AG5uXay{)MX=@tkUeCT2Nmh?i=FpjRUlFRKx~1ofsY*pQU1>oIb0LXfPJ ztx3IZRM{9us}dY(@`E=l>)mJ5X)3)doYOLU7u)SV=+2^B=4>!vbn&j-&-hRQr23c=>CnxHrFXEJPe z6MyBnGMV=6sAF?Z@iO(B|2smxP+ZYyF8Q!ClAdX zgFD)4pfY6HVw^y&fU9MT7bL^Y;Q&V}@nYFRz*`MetavrBx;nOCZ2wlX+77Bb$$H?p z_IYAqiT=?$K=$^Dval5=-8kTAm0K^|D0{L7X=rbwLeU5M1NjeJ3pbNn-hae%y>OO- zuBo7lgbZFJSY!8iHuLu6JoCWyXpDcsQx$S6MIFALO` z#FhA8lK3A{GNBNNU%*?nQmkavDqo7vA&(*Nk~_w42MN0f#D{Tk`#LQxJ;o7@f&#}B3$X3GWR;c8BMfMG>c(s>W9}7n! zvgIZ{*cD`51!v}p(j&_~7Gyaxc3Sz9HPOV(jTkOj8f`e|_!LZgfxlafY4RL* z_swypU%jB>`!Wus#L}-li2M)Z{3MWWFz4TWv$P7M$zzmoGS3|0G*|wk-F>61P{m~g zY7=p#ihmTZE2w)u6arNg@b11*EL1VM`(_HSoIAzsQ$ZW@PA~Il-rs0>w@1?z+vSap zy`sE7uvCOV#{|4;V0rud8>cG1U)&2wVx+roEKe3hm(4O|LG)E+I$)U!p#@Pv@9rDR z)xY~@n&qmzt&6}>R6YK}6jYqx?i=I%Xm{T@Vv5mnO3QJ8i!lBqV&1cagwRD8g5KRX zM$AZe-#EF8nqURAKE3-!{y~6G)7>}1*jjG&QdaDo`jjJMYdLb|luB8p(L=IED`jTK z7nQ~e5-VOgGIg-xBulkPr5Q0?vSRD6*It7H-pJppGg8pB&Lrce#=CF6K#+X6JnsMd z-8VCo%Fw%SX5u-_-8U;JtlfRX8dkuIt!vo>Y{GBF#Lpg_->k&X9?UOU*LsMSbkRz} zC*@qNrE+)Dyox8;x>a}X9CY`1vmLXE!YJX(0LF7W5H26i;bpYBqgBB-&kwDZ`ZmoE ztqv-kANrC~kJqh~6Q?xIReU~PB*l`WO6Y2wIMwv5zrqyUc8p(|TW0pgV{_Oiuuwp!b|jsJAyHFVzStN87} z-|K^jAKu#5xb2{p;du^2Z`il}9r@l>^yD6wlb3c);)V_*eqPZfGBc$dk zagJ7+YhgywT$LBi-Atgi94zHO; zMmbUdN5#-3ujT+v^X`{I@0a1_?}yRNPw?w#)J@4Cop+x+XOi95e6s207NF40Z2`2C z+TW57x8lXAm%rw(v# zl95r46u^-|56PC+lD$7o0ovULw4{Heb+vQ&YrSM>+p`gV+cnBqB~9yh(og2Q3u!-@ zLy-h=-(Aps=}Qp*G}D1S@ka;t2A~6W4N&z7^gr4UA3j-S?q0Z&QedKbAM^Q^x!*Q- zU)<5Uw#ovbd`F=6Old4*L+4rqo- zwl_LN?zp)Zl4&t)w}J@~rosC+-%1N6nP*nyKd~kkW0cIP^UxgYL+3-4#T|vK+^0=~ z>+{8y>T}G$Ri4M0;XDs)^z<`1nD{g1eGwVPlo~-^h9!Z?tbf+W(lAzP zsVk9>6RaJ9tIy&7QTQXZ;1eK9=H<*gx2`#IR+LI-k07QjpL&{N6?6#)UI2 zgXr|XD`>;%e_Q(cvyFF5Z>0#{($|pF|0-y5`hPnT9VQzDAM?{c{qL6M8f!*eQ_>uh zivXC8R6u}~C9VrQ+HrrYh;at<53=>9_yQ6;>~9<`yJ~F=<#_+5$SU2y*Bqc2Z01Z? zy2kV?$~BulVK3Ev1D-$R8II->{{j59#PG2|s^6>js?=P%l{Rk=Ep7q0TeDod+R*aaaCc9THExxvVL+-g~~u`Yce$`a(c9mvs(rqY3+5 z@FR7|&jZ)22%prF5nWfh$&(&-~&-~y-FPlp}7D-Z>q{jYMiS2e0u2StHj?X zJ+%2MBd8oHfTL&Vd{uLRVdks81UK*HKU5Fj#P2`+Jw22Zy!omrwom&))5A+ap@%;L zWb;**^ER3uUIBh2J-iZ}(?fs0>Z;V&A1+><`Zj6jk3nVH>E^4h!7tHHk;o}5bCo!U zXw0=RqiCnfi*{ZsP`eCQ+W9Z(!hCqf*WU0#I|V%LRIEnr)O^*uBWR~sz(F5#Gpa_N zuQIaG(d!h+(S?qFD7xHqsu0pqL9Z`mgr)OUpHDsAq?H&vym}ffe2Fe4W$2_;bAV*h zDzTH7!kJ{wYN&oLL4RaP{+@nH4(XUy=Ll{^78jd-UJnZW{3(Do(al-i$cs}kf6nSB zsjshMH>JK!Ds~GfRLsp;-ONj(TS`Bkv$97wXQlKxlVq-i9!1MUHClG7KgE4%qCK6`&j` zfGfbz*{kLN$?R341A9XEv;5aYmP2)5Z~UtKJsl92yt%9H-1*=yH66GO6gqGZ03C31 zS9kC-nu+=u_>oN1o#2|A%DYnECQZ2)6q@4ZuI}a~(G*d^!69>%DrcF@wJ@XThf0Kg z+$T`G9asAC@2s{9fqn>h`k`2{e%RdA=M%M?z)}&KL~RpTMoT$T07uKv39P07@dOsK zO=RuQVGWh_X2@~K-f)#Tt?$X)3UgR#-#8!MPmsnrtjkOn9>5=6cnE+lxH+sh=`%*Z z!Y3a(_d%W`rNA84!{+}Bb00DHm$<M;&Z2KFIRD4#FGNGU*n1q{}m&i zBLNQ2-~}TDyj_=y1tZuU)=>=0Hu3UXyf|lK?i1!J>&g=v3TbGeeKOh5LR&s9>-Oj= z1$J4pPv(EhdKb%D2=>Vccrvi8TTBKR&MAbX$z-pFrDn-s#x5embQ`;eX$>w0Gb`oq z2TLq5B_0c_>@C41hGxvxmD>&eUSa%w8Wj9}2B7}a7;)B0J+DLcacAJ~hgzwJ@)P9dEzJH>^|BX~Qi-H$?7x4J5SPguicYyMAEyw%gn8!JULx*DZ zp*qR9j*=3qEw}dQd7{U;!Rp1z?I_Dl2v{vp?|vvb$7s3nxge72YAv#LO_Clg6N7Qu zSY>R5jjuxUWMSD^sgT7X%mEE{DI27eVS+>Pm#!!FWm%p-;9rKP$|Lz{+%*lqmHA8D zvAo1HXmg3^TYRsAztZIO0w`}EQu)ql8* zzt_i*ywdrZq}`dv7iV7uF}Z?yN9(ljbrt%jSDU{42@Li74FL926KVPCztrCR6(7z9 znfp3!q%?}*B&xx{hB)pMQ|?M!yOtsN1O`;O#i($U-EUH@U{A(QK8;C@C1&*W@5Bto z6*GEWl15Ol0|xzy858^WFw`Ut^pHicG1nE@sgWyYEZu*kP{Hr9wc|?dm4isJRN0Ax zCe+DrX{exG(Z!3^-!oSoU!d|A5~*CxyItF47pU01O$#Mg&FiYj`p(PW1Z%J1PGBrT zv$N9R(kg!_gvKI*-d=6RVY0qo=6Oti)!u~#R-r&UStZlJ&KT2%iDzjye1dMO^a1d}WY^shUonUWh#|NagN{d)_5 z{%O{(7*0g6eDO~7g>U1s@A993SibM@SUF0q`dK6>n{qZVo1amNv@Y)n)ZWBZ>(V0W zx>-9Ruqgud?l76PQ!J7?m!zt9FN?ZW&gZeKb?#h9qKaR@o88uBd-LsPuC6w%Exb!a zSGD@a5wyLtt-2g{bXD#l5#pK19%v9*s}os#gGoDEm8~VWt;$BcQO)LLyJ8`kp!G0? z;5+V!X>JK(=5tr%Hhnu0!}#3dF=@N5(tGoBlWa@-&BpilLBaQb0mc+&(vI5^;d1m} zJc{8IlfZ{O+c>du80=<#P2DN<6L@P9_@57->AT@gvgU8-C{g$J~!` zgZZkTJ5v8`v-nOt%v%WetbU3#9clWXVC@539cgNn1l_T2A+%Xsu-@I4OtC2*N1Aq4 zs)(jHsIVV@M`noeB9->w1~&J|%z?TPhZL4ZJu-^2iaA<22^x&27QWq@woH zgkrrY8BOKOp`tbgt}W(8R}-~KCO3$HPzc&f0Z$}~MN%dbY<1rmx0><;nYQ zldbR_g=ve|l1VT0E|5LR4eAB;KRj1>*}fT<&-Lcorr2k)%$EKS{5@HGP8yL6wp6y5 zj`{U~p0R_^E0u0X0-qTpNM&`^!JU_bn(@5mr!6+@++!6olviaJkQ~NcnScXDJd&jh zmAPKXK~i-WYTJxOLIwpjc3L90)K?`^du2u3PWEB00Cd7@udKv#xw@9Fv}-3G%l9fc z_cv+PE+HePK<0DafuFL3Y8;>&E5ay`<4Rs!DY-FCE3w~y-|^+Bq^MSo_|_;Z(gG5k zrM=tAde+j_6$)IAn7((-$>%mBo%>UMPOC3a)66L_!kg?Ch_T#eZPM(RtKNN2bqNUR zz;=lDksO}K>RG&S-(RIaRw7iYD|_a{B|&m}$J|cbU`uKQYJpr=%;|3O2aJvhpr{#T zfW~0D-z8t|AgySUMRl&wkxS8ebj!mf?mT+rp?vr(8Lpcm`qeS5$=8;{iK*|q53%gO zAH3q!ogy2NE<)4n(bC{)KrVnR^lf#jjEhsVBH8L&F`Q~GN}5!#1tl$p)A60Q6m59D z=jmcDZ=D?%xn3AU0jo?HP;!f=)GCi}kIrf|FALQ;nirR_P?H5}UAVGPMOmo#j3gnj zPy*hlQn5(NjpjvUcvi>}aKG96f#OiE^(M-HMaQiotj5yKUN34}}U{86dKG2XeA|IqzsFXQ(nf7Q8oY%R@c3A&U*wl9kBBQJx0^{(vu z$US@?+4)xP!MBC``^V*eLpl#yot;W>GqO>MZK+cA3e%$H zKv&k+M8+P7S_=O4|HImQfX7uG|KIDCtktU6mep(vn<{g$!8laOK(K+(A%tqvJD7IC zOZD9=41{h>sG$Zhy>}8Iflx!}p*InJbVvxHgaCo%|M||jZ7ta$&-?1po^$TZDRXA# z^d|jDnqWnVf-fzryf~&5yg}+S-J%x)1(#K6FUH!VP(-yGQH^&UO`8?9$Sf9yP*u|u zDaK7x#Pf0UE=u+RDDlkv!xFiv@bDqa_cEZ!_p(^z`&$v#7Ea(RAB@L5YzAy=icdP$ zfv)$~rX`4OdYxcNYG!Ui7LLYz6 z8rn_et4Hl`Ay`UeX~8VIntUQCD#h&+q@yk$2*GJ0Gnd2kkD{!(p{lkZRS#9gO>IG1 zUUs<~Q(KT4C39_?%?CngFe*DUR8=@4v!NG0CS*+dT&oWBxP3p z2vW@t>OB&w(-M$z{fuVhn35ia~8>tE~_J+4OM*Q0U`ISZX^rQ`lfdz6Q2_ zlM`sR_4`Qz9nkQt3JP9sO`J4*Z(=d&thhNYW#-D5-Zql&-q5C@>ORlvjS@Nv792zq-L(Zyd zLH|V`)J9%k;cz1_wNOS6E!64?c zl%f6Gh&df=s)8*9OG2M(37$$@0&#IbOJMs5j2sSUCDbraW=();FN!wM!_exwe-Dz? zeLg4fTM2jkCq23j*zfpd^hhE|>i$WkQS?CO^Z-lxY}?nQa{%t{ft9If$ToLQYOhlh zdijLu-5LZ#?|zC!J!k}%E@j{lt_OsMV=XLy4LUO6&v2ndnnvl-c`=Xz`D+TfzC&td zt`Kyacm>J_YnwUM%xPw>W9GV;i<%t~U8vj!vdU{>O67)0!dofrKnPS$R%UiYp`zK5 zzFyq%KtRl?)QyHurJ1N>_Z%U;;Y8Q$&R^HM{)8J?i*lC>|1b)L8(r5%_kHwD84&Ln z#k<#d#VceVHCL^-CbPrdv^+x%MvlhJK=D!~UkiKv>oBO99FvTXHiWpEU6|E%ns8B_ zX5OaKh0y~>`fw4`SF$?IdL_oUHYYvf8{Lr`NGqw+270LTZp6a`-HoBY&G~6=Q0pdf ze*<-~c{H7KxPae+b=`fyp5&L&QOT^vyGb#tu4~HunK+&?o!bx;I=3+vI;T!StTUTf zrZzQmGcz~GOq(86P1Tp%D=zfp=d#KhVM+?kE&dsok*^TA$P>xtYtmnt4C$v}RV6WPgUN@-Hxz{T5~aAj`fGWM5XLy}LcC z2NjC!A3#(*71)T+qSw`!o7jU0?F5+d!&2IiJ2|q+s zh94cd!%5^h1GG^{#=B{S$hUu5pW(_{Qs>tEY zp0dh2V2U#%#hI^-GeW=_S(yq%p`r@JCRUq!b`p1NTD7&7+d*4u)0(w+8n`ULs#>Pr zSD~`))qF`l*qsP%R-KX1rhuntvV=E{00YtFYthZUUYK39EB2~WS&TX`=DVttTjqEH ziCA3b;#pX$z)|CY9+Jt}cy3(d4XxX^BM<3#{HHcYR~oIxFH@ey!pt1)@SIM4y=ZdW z3lwtP2Mak`8;}q76>Y&xGxx)cX7u(qzyW3+i0SPi5k61Tq_X{jn)zfPp?DGDL9)tw zV@iar5}}5c`9KInD67(bMBKboEtSuFtwG z(PO1wHosH=wRF@9bnMx`cOL zQZn-}%#Rs@!IiRwJ>i{T3nR! z--$VKDbHYPy}OnBm^ZiFm+(eJ)Ohze-o)#9%o`mcxc?FJXgmsp+v^}khE3!upJrTytLhQE}v5G-qb zkdP0XT@H`O#RcmV46F}M$e7t@rXsJ@d1}b_r-Q&zj0Ef`-%DzG04S;Hf!L{VO?&3qsPYAUPJ-W2za6^f`1BC6(M;A7DM6@!CugeQP&an*)5O0pW- zznY>d9U|YJj z^bS|7NOR$tFSLL*j#>^mSY$LFXQp(?+XwP`Y+T^t`4Qgfo*C1f5ROoe_EX1BD?JP{ zObUjpbTmV8RLwg`yC5zN#ICxK6D!o{#)&pp7TTPax0zOxnDMpEDTXnrrO{P!S`_@> z0}qX>!DQdZhVc4oexIU+%0&F9wxX4Cyd*!78qH0q5M=7gVL9#TebdVNkuZZZE34o+ zUp|TtTbj-Xv&AH}jU$It+FM{j|2OjD5T(5|ixJ=j)idr-vHDz;tHth1DIAOyu$R;B%tx~S`>OoKED;l8w<}1QfmFKqc)`iYR!$1c45!kB$g( znyxvD-}C(9zPRA)@VlAcXBjw7TWnB&Uh@@W_>SbHT-SKVySU?eJ3d4CSLDSR$`inb zm)Tj#d^q3in(%V7+rvxEE<3ch7|i1grM|qAEK>LO@yOg%(tXS1e>SRt{O^W{(h5|! zjZ_Qg0t?T=;FtrZ&4+RACBi?C&!V>>{on9n!=G>F1@iS2b7^)1X8o)y{}SDz$*BfV z?p&a|2D4D9o0Qh-7h3R(6nrei`X@uB%`cpS!__)kL==%)+5L^|@;R7V*&Qd{5Z5`W z07&x-vMcSaajm0ptnAKJthVTG)G)2bMvQ*-rMOTDiCgq-E=LwSwdy=PC1bRK9_qZ) z@esAWh1@r}AxlRx6m>P;uY^tKfoXd$5j<*pFU9RG4*9CaQaRV;mgoCD~ z*1VbSU@~)?4fd!ai>?>prKg!#oR@qcz~w8jokEYA>#2F$b{1X?c-(-kXTJfe4QEG@ z26O-U@+APgQ=wOT%}z9E7spdl=wi|4w6Q$C1k_)QwF-?K(oJf%ISmbP__5&K-mThM z=MbOeKEaL=b`N+F`PR2Liv3x=n**Hn_jWC%_qfJaW2PQsk;KR^dR(h&k@oi zu8AI#hN>28Ej;6l2jN$ev5z_ zi}Z;FjqnE9#g6@%6|3+GyTdbd#IkQh#K~bgz{b-Lz(FgY)ynV1A;9)j6F;nsdb(+d}5PTN~|E zD7{eeCd)rZ6nptvns~rd1)!SDwcq04b!Inat96HrLB^PtX73hdG9HR%Fpb`=V0h=C zO#b+*z&g!mTtOQ`p-bNBjN$hK*Nn>5*!qj%kMON|8rm4c#PE+I`02cxD*vi)b|K;e z`Kbzu>Klo##=Ff(N!nG~-rIrXgF7&-5vuX;bY7@ihSPTEa{sit(=e0VQLf$Qmik6ro$21hf@yx+_}n)!g451RQ9rnek=NUlXeiiEfK8;9!PI(B zf>9kC&mr9Xr(_O6B-D6MIS+APqIGh?#ucB#ubRvj+I;XlReiTTt~EZNuhea%R_AE~ z(|Z#t-emh6Zhs=VV($(8mc2PFp*A8P`~@o?2<`dkJVZ%0+Dr9?$>s$x@c1PxWOI&W zvjJ&HHiCtU2KUQyD=yrx$gLP9rwv8Wvk=5v8i3e>ZRYEk^-gW`DF$*V88XH^}%;G)4Md)fB0cqbK^Y ztn&Mq>WQ-G5I@K)1U*q%mG+b3DN==^C;GjnNQ*YOZlzJQ(X>{pL==ONT zNu^&7rOWwcv>iHLh7lIXS1R%g5y~D2o z59}R&2DGYo_&I=qy~8h3Xr_1gCD29n4h_H1-l1VLy~E^tKvyln^!=R_(}OAmRdKUlqUM*5-t;J32NpJJ*%xROe+HUzN!8<6^gvNJ1~ z3P)tNbH@6EA}rG%ltwx2nm2Qi{lSF#Mf3+3@RRfhm1fixl#{NYCZ^~LDgc&%Y^oP3 z>IKT}ATe=ke?3?)(AZ+^pcnY$#7sMt!8CeLfl)gZ_XA&sWf${(C}oQxnDhf6 z2OgnHgTEMl4&Tf09rpucxF+xg&-MemiFjpxnSP+eR^vVGh|!v_=HG_&mv1gcr_;PWiVV|MYFJ=#$kMZf=rf!_Ta@$} zGMHNLOfcC#!>#ux?WKsMGvYjGuIKL})c7+LD&bE73;t+!4gS>g742g+XLOV!bw}%H zoh+^u@yo7fGaD5y5a$M86INnyu1Qw84pW?4MVxaT2_fK|tjrvVLcuv5x$#!Tb9PnH zVzj8}NSL0+9f=fEbZQ#+BW}Dm;fqMf=#5)btuekdgMu%^v7){dd>O%4w2s<>GarmJ zv(?NtGuts2#RA0(3p!+#hhd5ZtBD0OOnHQW1+p?MP^gFn+1y)X77MvI&4_cKVv4b1 z#QD#xsVe=9UUcX7r@Yl#{yRaD|It|F{}|C$dXt7ZToOngUW~zZOM6SZh<+$hn6tF3@+eF(XLT{>MXQU2fH|@<%u%R_InkbhMV{Idy0YP3|T#mcC3AmsT$5buQFjL!_AT znu_Y|_xQbp@Unf#`+!kR=Dy>X?L(^XI~;u-%TM)Q)Q6PXBsx8*w2S(X%K%IIkj#1a zpi<0-?=IZN4uHp_b$JV z#{SQ-IObvm1S^tEw+)GSyQ?0Izx~);-KfeC)&}s#rcgXsnFxP^OQ&oUuxE;}fk0M7 zn(8gwxT#ACUhnhb{lstu1?V*YosIpr4I>I3g_Jg~a5wv&$Pc{}#n!XFMLalJ;~;B% zhO9J|QE@6ZH{~)%R+aO-x1ZQmuy^=s0qCz0-O*1T^rv$_jv*orV` zVLJuI&ecp8E*ZOLr{{mqu{%6Oq}UKNYI%IkcEH)@luWp=J{4^|=AmfCn^-hUfi z?%e}Oz5fo*g`9{{e2ni`lT}^?Q{($7s&-!^DBFtxF}|0TIT52!jPG?Kre|LzTHc04 zy?05+3x*DwnD!1YJh20RTw?v2NF3jfK|Z%8$=)ASb*VeZY&JEHrC|A>RjfL)kYb{n z6{fACXk2~sDYoXH6g?LIZr)MvlxgxH)87=2l5-95T-llVV0GZZbZZEEaOQ(vGpESA z|6WwD=={gl#5dezxdu37xfWK`KP?@OMrfW(uuxIr{;AxG6ZhJ3D`wnNHR&L{roYW{T_x(kXqz31R2IEgwt+@2!F0JNzy> z)3(mFm>jxTek_i39$j?naQwQm%WGolaQvE5n%P934}@Scqb$49ep)>Bp>RYtPO;Y6 zNj?Twfe7P8zxQF$Y}-H!cPPJK@vDW`Bd{;e z%q7SFs#gNNwo1Dd54{*LV{23N-&I1ZSc?}Gb%AOt3Agt5O?B<5J zy=4$cxIV5<4;_m3U5&80?~x|^jld!M&9IPt6ZGUuAwmg%0ffug&D;btRNOIOQvsBK z1F(k~cOlpXk+W!DkJN9WuTcngH9g!s@mQ8W{{vXuJCba>(1C!=P;Nou16%)k?>3@( z0|AK^%V9o9W31HmNrgTnN;di?30dyBQ6GT!6P+UXn0YQ!p}%SFY?>0+D!;NX71~mE zd1Fke&{|R(%^jb~Mby(vC@pP4M|1X%V2ts=|Cn4XlmnS$ zV3xGTO{rNH+MK*B2TZB`O%bWGP+c_81Mi9B0bPpwJ=@}SD!+62#r+%A{5~RC4*NXp z7|y4yh1>${K7JYf75{3yPh8xwUdDS#TG2Q5lJJsPLwJ?#8Oev&m|YWIZFYNjrP*bN z_I`>O*h``>Z#ROu`Fp(^`~x(!nf`7|l1P4gEcEwu;H6`tx@$VHa4QVzs2Or^?cDMk zZi9hN?SRGZV<9Sa$EKRJlficuJW#MyiBzST4$+fvIwTTkx^|IO-VReu*VN;m)y!vdj$_d*l+S~!K^L^B?nDXY92rp9Aa#od#QU?CWf$*Qz38&CWz z6jA+?sJQE4C#s>=+72x|Q)pE+75xBV+gYf5^2|FAr9RBk_#j55VhxpkDOJK!1j?t{=#IoTPVv0S;^ zy16CgP_cKAyk$urS?_-lv-8J`f~}hwrf~7gf5|#N1`1C%7cE?PPpb3;|5bRc#e(jM z`4M~_9Va(9Uw5?heiUD=7iaIv8TqDkyd+mu7BiTFdqN_qOV!qEM6oe;b`1Fz-+KZ7 z8EPBD`Lw!p@fz;U;+N^)N!62bykK2A#?_^7vmqm8@nADjksm}Zo z6=Uza!AoWyis`MVQX|DsompL~l@xX6VY12xVye#knF@fbGlihel$9yf3Pn^Z)m3$- z#b(h^XZ{;(GCP^U)OufoarZBX>sQ~I)R`in#{0(5$r?WIPJ9cb#`~N$oVGG<$HqF| z{|8+79mdF9KK$P7ny_Mad-#LdWrz0Gcf8k^H)Pe6_p9bc45dG3yw3xNhc#H#&8R}I z%8+8)g{J^k8#zB`U32a^T(uSQ6+A;kNq`Dortk2kqBkeOvRO&O1l3gB+ zsXpU|Qr>lqmqMt|C_A%nLg8qBx`eIk|Bh5a$mFH!b%i_V%17K2 z`)#R4;}%iPY@Qwt@4tyCs^3u%i*2*ep&Da^i{W{&Bv1y)x?khp>Ik&ds!78PSyd0E z-(_S;;926R{2JVY=f%u}=Xfz{8~h<$gl5BMt|1|)t`X~;Dm8Okkp4@gJoZYUOvK#x zWDz$-@24mF-}@ruJMZp=^hc_{4?7O7^xjepbUrT}1nAyVKgKXhF#C$Sr8(#;>dhmY z7kEY8sZet`R%~-B)SUM=k_u_i&s_~-3KgL2%zTHbP;>l>dMeD$=t&DFq*PQtU7Cfp zNG_@x+Wc{tgDJLJ>qRK`ewO7QrPxd3wRM;V9u{AltF(2i)T7Vx6MfNm zTV8YfZ4cyhT7MqppfSv zh|1eU71Pput4&=7JMAfp6x!4?WR>S)s!iQgI`tKa@|Fc4R7zH*eZ{z^tWZSNO;k)> zv3>Yg0F)PP8_Wl%^Tq2EnErUY*zBFviFTpQH2G1F*3za>&fb%kd`2w7u0Vu6Narmd{#Kl>-^sbD7)3gG`;q@@YX)N@v3_(}M27%dVI3I#z_e0Bq95NEunFJ4Z!oS(LfEIg}?Fw=~xxJ`;W96c7EMtLP1K z8-?bPBsvwIt7Mli!qjPzEu{ZF5@#R;<*O_^a~p-iaau&TQ8e{`L0-p?wi}L``rp?_ zWlVKrta^-66o^Bk;tjs8$-L9r;f$QbD7&`6wZlU*&1E)+EY#^S+UN=T{}vY$q*LG! zb)-nJjs^RA<#v$KYj4Oz_^glU8kRUz%uK4?vSRFMbLwo|;g%J<9ivO)rQ8niQ133s z06pz&4F1#}Z_n>v{G>XtRVre0sGnokp=D|dE}~DBg|`Byh~+*Vn#&8JIam4b0Zu!R z>%i7u3_p%gjTI_hZ&ADS1i$r=+Zb#t{++zH!?iQNjJ%cGMBedu zoPFN62p+NTR@}xu>5tY}b|;P%O($*xg-)ncmoA_JQU~DxAM zIrJhkKaPrf!Fa0>&P|=Gma3jQSB_NW{a$wYc1%@yTS^%YBA59<2vvEqGm}^fM`Y2| zxd?ECS#!cMA)9`&&7ziq#Y{7A;-|r7VA74|U!#259jHvc-ly=L7MxY}$%-I~EsDri)vwEY;t17| zB2SjWFA?HZ+*IGIsc!`SxI%RrMV$$0 z9GC!1b1%z%aFhb~yqPOqgVg2haQ#}=CKW|iUiKZ|Svn=*Ln1G6t4dzRj#ysTM)G`6xUfgl}Dn&Dj zV>80Ec{^$+*9!QiD{E0nn%d598?{tPKd)#zLuJbZYWd4stO!(*yAK{Cz>PppM4)nZ z*jZoXsTi{IwC}k5O-*>2$Wt7zlBXpZ%k$Pqo-g4m6qAtWD{_l7xL=c7SxIF3+idyc zj>~?KrLESp;*}|XZvu{F{uWMT9@pp7j7H%XR-fNT5`)#}^|>X`mvu7XLI_T9-Iix2lC@>jp+Q(RcpV;r|MZn+jE%dfft_0?2Y7d5Z)ExD^F(@mZp( z;im+4xv|&;QsAVL|GijOz2B)5rs$Wg;~j?-GOFV(?x}GdFH*BQX5Vq0v3|n;M8_oI zDjl=Hi9(1ymsJXbFl!jFIw%Fw=J8E%~LFOi|RTqQ%xQ!K-WBN_f3U!gdK4F4gw=uc$$c(n{a0~g8g z3!IrcU=vGU_=VL0&k)t%b%6GUZkh=n*8$f{^o{*5U{MEH+QFBkFi`$qCD3fc@pS^t zXa%nw0L}+OdRwSU*jQD*>J?^=Et^l3pKhtw_L|RDe zxv?Ko`9_+8C58Ga@q(TkvSss<`feY7=!&!YYiT4=S+@A5#${P4XZ66oEEh5i}!x^Xu9L9$i7UZhpAY z?S(|n3g!BDd0Z6r8mt~ol;i`01OmAJ0=2x7j=K#ObUSI34Gn4)9*q)>JrgYgfoy2t z+K=zRphEJHX+K<^%&V!;V|h<(LWL|wRx*i&T0@rmaForPx%LdTB5k4QOjPY9vADYZ zSR3Z)mu)}NR3n`;0ur4Qsac(~@3`*SI+0VNbJBz=owN93oqG|Qq;o&uD-;WH4}s`V zEKKz54SZ$vY^d^UafSt)=$Y&P7p>2^jnN=KgY-EqXiyJwpqex!&}`Mwlt8n}qZmwi z{5>04<Cq(o8?wM64}06E!z>`BH50_nW;mzH(G>W zSRL{aQ4LmyH0Bqw)T>tVhHRMvFpqTA)mW;ZnEYR@(2#d&&^<5-cgjA1IS* zFyi*&fd|s|B8?*|yB6KlxV=!qSy|h+WQ~v9P6>Y!SxW*{vbOkRS-%e@D!Xm?3dOZV zrk{Y}+{Hh!=5#8}crK4K8M~st={F~jviPpa#oV>fva``L29$S#I>qM!<4lddHC5|r zPL|=>VgN>Wc6y&teK!_LWkxDZ^&XRs;KqT=TwL%Kw3H5Dc9aDPp^ECvj}Hitzn8L%c5^(tXD_4qwjfqPiWJb1dploh6%0kVo%WetMLy2)OVom z4)L@`xEzKzQ}ajb82$`);`dF^f{Sgf8{an(ccpH5%o0y&G<44q(p!fO%AKbTh2n08 z#ENOYw-wWg6XNNaaZalV@3oBxc~u4 zbO{wuMki=e=_h!evl2$4D=%60Yh3CpgXz@@V~zg}oN4p^$-6CfM7G8+E)xUD75(KJ z|7@6}^F3yFO>WHHLC8H#$GQ;>?Zhtt@Jaz6a0Sy=r1QaYIMccMMxHdRo~u`AUPqiD zt2`c4uOn`)>Dg^8LLqn^QC4QIUZIFebM>ZMO`2}Es4R~9>cb2vBK!VAA$Rl%xiOo- zuGL)1$vK6t$qhCSwwL8^B59F78-?PGkI3<|!iZ}hLkN6Z&)t0G5& z`0Na8aIc2hcgKGI87$j4WMluE3R*gkA{efUZ^i?gCXsPy2T(p(8PhvZjMW=8+IU;7 zKcWK0t|qJe6HGC7TQOEEah%8j1Y>1o^hcqH%B}S%p@_2T3(Z#nVeMFy8?EiU;RtK& zUy|tU8X%*9JN5DGC@6ZXQnr%2A_m|K-fAk9ah)FS_MDh6hKViuG=Mcl-A%YToWT7 z$aG%Tio7f(FZuFM6Lh6+ZF%x3{N6RA2szb!_FjZX=7iTYK~FR9O2(f^g5DjRK5nFq zU&r7|B~Su}^w-4|t|v?({2A7$(^iUVQUQ5Mq%hxGA6JLJ0j9*gA-0zIHo{JKktm}~ zE^REUya}e3__mYScQ>MhV2MvwrJec3u6#S|-wH)kn_*E>0uj(sJ5|eP^bz#sxZ>y) zhdILmwDfZf7LzTH4lHUr{4FqTo5?Ta&<^S?akxEr+HYc1veS1fpb?qupq?%=?^U9K z5ZXa4yV5?Tiq1N3Yhep^K9IuRq7Y?Cpwh88Cv;rf31SJ0Dq%Ed{}grdo%qvsUYCie zYh(GDO6C8CJ4s~Z8aFvYv<(UM$17PGOu^e0jO~3w?Q;9@(-!a7`HjY{Kf$#=`deUM z^791bPjK}F@;Dabx8VMkm4Rt`DYG6X(bjm|DMiiO#BJ+PyK8Abbe^*sFRB8$$M&)0 z!+XuH34d>Pdw93mWry}=z1|K!9e(RX^q2V@T}&sxGa)lb%U28l6R5S*VQQX(yNm;PpN0x zyb<<}!U4vE%|MaEpJTZ<5f4@1;81PYJ#jmZ!A9;>#cj!5en+lOb#k6pCvUnx zZYPK39)BfiCq;OMmrL6l69*YDe*p?!ZjHr$b&Z!O?|j&G!UgXrm@|5fM!?>SY>sjJ zQ3_+i0OAY5kuocFC*!HK7`-z8Wn2mP6oJPI{35P=q2L{j?Vlb)7;H)%HZyTqt_SkbHjw{>K+OjEKsZf;R_Xo1GK419=g~ z`>XhM8U)QQEM|VIn{QDa)pT;YdXS10C`eQ?SmAl zPB(J7^Krk*Zx--u-8Kx^JYekk$<}RRQATH$$XyBEH=WrI6gsm57CQ3}!gDx`4>ziw zdStSyUfv#PMw2?%(0Isc)u^eAQgZz^I~7Qs#;j>-_CcyJaK_cEjgk+V@s{mY@(QX?5{-qMzAOsj0M#XKqIvu>J=RlRHW&o_9i@RrH+H z1Fx$`I;WlllbjFZ0i*JS3Eq`tycN|{e%YSGV5=c*j;co!>aZ<5lebzT|2>l$wbCcs z?Ee?RjY#|ndPXT+2pYjy{NllkWj~D2tNg)zl&-T++$A1Z(kI&TJZ~d`+_{XS!cAx8?Ik2}I z`b7UsUzxMCaeQ>a_aPl#Y%z1DnfqaSx1$#mnDgkOcQ$8#AjzD^e(K%xx6xGZ9C`w! zHhgyb?dCs@cjJ6;pv85N;>x2k=^T>wOm@SAL#^EIKr2PL-4Tm=d1K-&1aDYT+6j=U zA9qR2phccyb?@u=$Oj3I*MaaB0bC*71%S6Z*>0w|yG>8K0%D8AZi;bHT_+KvuG8+a z%X?s|>$Hc8MwdDPC=7sR+Sn0@wyfQrx+Gptz?A zwg|;l^eFB;S>=;3rMP>iiYo+)D=Q-+g&L^17MDe`pyH;Oh$FGyo_}?sw@SQ<2al20 zKI6gZpy0t7SnyzH;AHSjzDy}R4{aEq56%MM!1>^8A(Pszx+T`QP%+ZoI7e3bSD5N< z?4xX}HOdD<(A|)g$+kkp-3|4`Y?y3OSsV*==~9Htbe!k87bIh3rJTugcTQ)vj24N#n{XUoO(b{Ye zoa*In5gw7?$h2r~hlEr>3mm4Bgp_|BFg-+ec^0M)nC>SL>0M#YUIWr$D%lwsDI5n( z-Q24sbtn-3F!|OL+Tl3TDKwW#U3di0C>5sA_E#$Q?p7d#rqEWz?qtnp^{duvxGKQ8` zbqa^m`LySOA`!b{GJ#-kj4V{z*CiM3sEeITF&?xz9cnY#J5F#s0}DR|MBw-l}{o!*~3rI&nI%z4=YR9gS}!@)|Et%vx_+ zL4B{wDKAOiYwu^jyK*~_*0ENWX47M$)EtH7=9|tU znL==orZ#MZw{r3wK_!Diu$Me&LMn1f1|6BFal+LZA<1w(ey8wzn%{!+POHIuogK>bWyF2Nl2P19<~CX7n=vJs zgCv=cl};c8l982>j6y|{DGW^iB0?6ZLyg97kw$nlw3LoUKkO!*9*zDAfq>ivKL>EB zg0EJt(&j|rF?=(DFkRCK&Xa#Epp~93&?#14v$tHiY(~?`j+E%0ejAfp?kro3$&Vuz z3oCi1n0oJ*AUI7OM9lwOQx^?p*RNA>cZAd-5yp_2vWQRx`BmHRa{4{);Sz={0n-~cUE^up%lH`iImObr9|U^#02X?-3h>ez zq@&HDf`y6}_k(gPa@-Hett4#SE73x5GW@WDJ8KUPC6=~rVFj<= z2(@h_wn*k(!c6F_cb;K3^<)Y$c*XDLSl69h6P;(O50sLFu6lBO46;5@nhv`9u?e(n zSw4i=xZh+hG`KXmf@V$e@g!L1pNtXyiO`(R!Sv@*r~0P=)EwBU*y)tI_(Yj`Ojh}i zm?|^A%FNNoD<23!nUPg#-#G63C=^khMpSfh(lkydq0%kV|LA5mTMw}`+8jZa2BW2U z1htWr6nLPATJLl`*u9~UVRr+~MusQxQ-M?4!u+S`<-Irg%&y%vB<&0gcoIMUGbn66 z__MqNdK}wpLuvBCQ#g~!!g^x1)sikQJ8k46A3UMZqZ^fg^s#I5%DH8+=bDZ^4H6xD z77HD_NdZbz5kmM95Z*>HQ`k@`&*EVtUQPN7PJ8}|_U1X}h* ztWN(-;X3`r3|RUVt(1QStK@*@V{!PQ)JHbLmx;%v=e?mSN*Q$Dou|=E+CHM^fnA{w zZwx{Tl`)z_9r$-X+d^?Fc8f30?aWHuG-+2^L7l%eO~>NH#82;AX28N%EU-NI#{uOc z2h`McOvF|9?R6?ZV7|&YOHX0YJ{hF+vOb2E&QkstZ}88?9^buqlXH~rMx6A>gBM7m z^dw$eqC`q9(mkqc@xFyhwuM9DFXDD-mX0G}XnAwYcOFd(T*4iN;8d&U6oDy9=~Z#` z)g%s=5B3y9`G|7odhGJ%zeE70h%IM6 z)U^tHj=;|u*l0;5;*?T5A^Z~*vz9+>a8bSPDectbSg*-0KZ7~4KJOi@qOInbvqgYd zmM_cBw1*1ECE0HD6j3xXq3CHS>er%y?!vL`z6Qh{mw$!IE&{#`u%+ntL7JVtcZ+Cx zepbrie~+3B2>xny@W^WgudR(E8@&-|zuli2vGyovn#*p%F7H-SX=x}m0GK^K6K!RT z`)Fn2BZ`b*9Z*Lj<+FVg?b0y4}$Quk+cc~gu-L+7EO|A+{ z-eXvW2J;C5{eVsLoEuSZU8`IS*EYXKNq;#Yt?ybb06aO4;;4wSDPCD z$!d{RehuK77)Kga5?*Fmul;VV3Ij*O25o1lE~W&%x{Al@AUY8|!? ztCJeNb10vM(z%%4ug!T0HI|j=rqc6>rP=#VMOJTze2>FDol_fC0ZQ3Qap`y9czZ{M zxE}RV;(V&mQWu28L!qZvH5*sU(3ZN+zWpgArC0DCzJ*_x2_^{jQMw9W{+onFC6vVC z%v&1b{saLf>e;H2P?j>qNsp6M7bh`GkCXhL?D89!dYt4C6{q8jfkNnU64{yJq;N#0 z;?yq@L5-;JRcxf7`e?0p_n6vP+!AVY8M1U3gjcne13lD7s%HH@(y)7WOW0a3jCDtF zogp|Cn5Ivb#x0$q9aU};9pUWK+kDfP3*M2P-oGm__wO2%zGJ@Tu-ka@)Z64pb-#EA z)mtA|-rE4vn+0Pga93PIZkiJ2FJCiN>f1S?COY8dahW#W6{yCS>A%K6rdR7iE|MBw zQFVFyY9CEl$v_e#MT?0+Jw{4u5m`z0yO3}rJAg2BEl9$M^(c9AI*gZ;&cD*MEQMP{)u zZmSvrq?lqf0zj~~A7@x@_DRY7st8E>_g#~Jl6w+~Tx|LL2PpFMIaYM<-kA_M0zFxm zALrdbxa#4nyW)OpzWferEzky!w+HxXAY#fOcya_P3S9g#&d_GWE z|McP9CG*3|j&)Rv8P_GA)bu0&g;e{{l_-!028IicD;_PGEAAuG&3LmN;Xyf8#$&orR0Tl=_9n4Ho*(zFDY+zJXz5}t@a%if!9VN;I%5&dM-9?!x3FpEhz(O2jX9h*g0P?%ssSI7-V3UkK zuv|72WoyyZf_CMok=^DL%Bbe%(ch3(GG-X)q3B(rA{~!?_e4&glEbagmIdc5`hd;l zm#G7#VKv^RiXl6eDCByH<1#BF-{ZyCj0`8qaAt?8)R!A=L)Nb% zXh#urr6WkFy3$pOK;hrc2iyr)8+-$S9O^RD0N>!ihtC@c*QiL<4oJl5C_t4N~lic5z#4sl#NKYcREzdXx(Cdq$!V zs*+@9#_9^kTB^qCx-v^CvZf-rQxRJFP6w(<@y08g*C>#dOs>U|E}1w|>cZi~6_G+i zK3k-0Z=?vJB@@||_O0V-10$u*yH2qd)R}4m&(;}Zg(T|;s?_ZOPfOS1&A&m$jWTXh zC_U(NGmf-=bF|clBNW`Rg<(!0TAoIFJQM{&!yMU__HC+YsrPPCti^mwF>JQQIW1AHk;W;u#SpQ?I8I&deR$`rXG}A&Eua&y#$`!lzQR_4Tllv2r zyN%--MmA(Rp1RE0Ww0S^5q&O$4S6qA20t-kgkWS<3@X)JwZfe4c;wpD71 zrQ5{uXkyb=Pc4I%F~(N6gYDNgA&spvm?rNIFsg%8zw7TMe#=s1zvm~C)Rz@p{oPfm zqt@k@ncGx>sqyY~k)(BKF&RVgf*4->2N1>L&3zZ4lRk@p4W-kdpYw#m^}%$jLr-y@ zIadeRin2eCaL$`IiK3(V$T7J!C=J(GUD=LDA}6tuJpY7veB!Fe__ zJ268M69YyGAPQoDq6w8YbAT6E=}}0RfrlWZ??cqGy8F9@lu6spb6!%|05jmAYLOuTyHH!5Ee3^T4aq#0VxF z7n4=)z|@4}(bDD?E3QH?;V3Jk%nB7v(sRa;4@Xnu;56;_KhUIIAq%G|M433l_~U3| z(o+iRu4c11+nik69HT9}%zfSs>ystbh5D=Y?lEPZCMD)idi_^e^a(#D6OG-(!W!>h z^NP;3k;%!E-)XTuhU4`U?v{Q}*L^uU8ki530B!Tu*2(9MF}|lP z4{FwBRAc5nnkQ}R84B2RU{=>_T*vny+EAKsmR36|728BDGB02tO%BK~XaJPh8d>}Ki}QCZ_XXkOue ztKE5agYkbEQ1E|$0(z^g2j_ndzr7VGVY>BhJlN9Fkj6ytvbbH%(@4L_)7Nq0(nHD; zdjBwX$|c215n4`Gxf@eO=$GP>#%!F31Vj;%RcYTo=8{4Y)gwe@S0Z)dm-(1EP+;A2 z?;Yy$QW5HqV?vOBsZ|3a);|MhhKojqrN7|rrxa7Q*Qbzs;q_!JD!P+3!n8hi>qNI0 z|0d!k)5+d1F4dG+q3TMHitFmra%OFUDAdDRDjVAKr!}uzEuQ5;QD6N8i@NtZ@TGl; zOWo8-z(NJ(fF$OED>wg`$5=O7xsfk70-lK0m-aJ-FHcq|t;Q6BOROSRG%Uu<6tRDT zKL0Tpf0m&JeqeX7D2vdSx9N}9(@n%kK)g+Q9JG8LjiMHQkGiLLBfTo%cKE4wKs z5=k;Y@XGs%Oq6;elS!q6$itkKfhFsD<2u~)Nz(KGz~9@AzpLT}{;rM%f7gd<+BUnw z*;{kETE!kP3$ph3Q(&U8HeV)8G>y;}PQlG~mNl_Z%uR``5L|AYRV+N?h3Q|c`xuLy zRZn5sff5IZ-6U|#Y9L=_^d(tb*O{7IpRs*$L4rId*1*ZMsD zX}a8N@X4+w(G=|sm(%SHzsQ6nA9l06wt`;@xeVxE;dxniX{1Kw>7|isag0hjz&};Y zj!Z`7CyLCgEJ7hPDwmzPG}7oS*rkzEmP%62T#lO$M9OS$`f?9{Yp13r)CC+>)C*}m9~u>D?sOGj|#8zq+H zPU)`6qwIc@J586?28Aw7!$Oy?CrlwyqIF{WGb^jj&&DgO`SQBLyOMYX0w@IYG3^e= z$eFyuz{yekmiAHITL`X{H#Ll7sSgy1e-dKwAE(5sus(sEYM01EKh~2~o{Fi$da}gk zmP>`8u*#~m?-W?quMN5j)1zV$^ zNn4e{4E44F!y08Y=l4VNkj0|@frzZ}wly?+>TSL>UlaZeu==QZyHB1}DH`hon<6oB za22PgeI@#NWY7lLa2 zNRj;v6#LI&gj-l_GW|bkz3wjnr8LiBr%EIGP?}%JDsPG@r8z}P<0=m!P#Rg4_FZG8 zQ7EE%o~Xw2f*W5hjmI?gprz_I`ZU}^g0!lU{^1Y_PLg!}9V4L4QELRyV6RHN$z<9< z54G_T@}&PGMI8>$$5xkRF}BO!qPF}f30S+WtnyZvV(qD7Z9TDYA`lR)m6d5c6$;jBO-3YX zn`$8#K*wzYbF322-T|nc|23OhY+~jc9O-O`(LgJ)9Udbhn3$O>B92pL10ggqBfHXm zV%+8!6}8^Cigjp#IT=wzw; zZr(SyQe>SgOQOvYZ%NR{GPY|@Q34s@q3F1uuEqS}iQLi=Z$)Fm+pfu@ZN2yR#g3G|D;^hD=gipy#@3+Ay?d7_2& z*grL~sb4FEu-uZo0G4wUju3_52DH(;Pypw)#x>jrTntE>*l=G9aibMt^AQN*VscTJ zR-?(|9QRGqakamrSn?HV{yfCyzd-$Dh3!SvrPIV>$yvNnmu#l&@@|-#1wCDYcI((e zsIbYdwC^6*rV7U_=u3)~&3L`Dh>+!(9yPmcAF-FFG_D=VZ(Dvnzi=K_$3v4{q2eaI zUSp6n<}?_@rkaTMhoPN&B}UEF+{pZH4rD09^SeiLj7$!%k<#G?RuO~M+|jv1Wh^^w zj)!f=G?yv1_?c>1A8!%<;_|IR%b&{es}T1AKP3|Bn%I=lwPCsY!QF4VwjU^T?LaJa zP2KH$`2ap#<;;ly-2O!>cdJi!<*o-iZQB%{a(9rd^8T1AcfXQ2c2-=05R^MvmG(>H z#U+KJ-1QQbzusn=RJ3Z%ikZb|QBl5LQ7fgIO3X?zMekJ*aUWz@ZqB@93?mw9yw?m( zKf&eokCs;-6nUM6mE`phKH|K}y{Nn@Jb5k2Dj$rgyq=NfRS5DbE0b4+iu1b00(rF< zEh_T*MmDc0rsy%_I(S}1Lyh-lbzUE^ydDaQyi#MPc|DwuIInUqDz6GpUXPSjJ`7WN zJu}U#5ad->Ca($==amzxRdTf$Eh_T*RyMCGhDWj%mRHeG2`W>dq0kAmBa{IHT%7c#_6%APqWtH(~Sw2fye%Mr52(m0IGjdcYvTP&A z0yUVW0(ad#O;&?_SJhpxWT?UV2pFY94R*HD+0oJwLN%D|%vDX6P_13nR5d`b_>5k< z0oJRFr_VE(p{_d@j}QL-ZBky8(M;bG`; zvdVKXr9=%kJ-AxVzj8xAsY;uX+M7m*wDk+N!9pDrZx4^})5)%*o%P`l?ETzUoP`%Ex1> zuX?W7(F_^+KnVJ(vNC;Dg&NRT9YDu#(Hxp=BLT55RQZesl<#C>jfg<`ek~$SGUXFO z$|pOcd`3mAeDqaI+c2LQij3+Gt2mK#SRIS3X15NjC2l!KQ|)QySb8a@K7Nup*~6|r z>-qeq!X){R|J2rP32aw>N+W9P#MtERP8>CVkL1z0j3<&L@c*JTj--|PuB{$p#g zX;6oW8fw_fUgP~5&Q4h0h41_K2(tPNK4@r#*RN}`mz%U=Er)Tno{ zFTYmky^kLk1LoRl)ZU`yPQmh}N7tnH$w}>okdBw`v6L0k=h9-W{P_r`&Oe^1CG~+% zz)ss@rAK+AwMKx@YUS-b$@W^M69_?hlT~RS8Sj`;D55%%sMsN=q>6o~V#doyVqT^0 zEOm?T=2oKaIYN3%7U-kxqN~>0jJ&}}MH>erRr6m9C$$1w{uff`4j}dHlvE*q6sZ)t z!AR8xnuU|9ohAPZsizGf^_-McA%7I9R8fPGs-@zElX?vb_rH)jZvd(1rlbn_qe!JJ z4o2#jMUwhGW#oS$_4EOx{yHU9$bqCW(&H3bZ=E_@akAl}oq8}~w7GI@rIAUOch&7tWu@-yKo7Ovd#-;IuQ{oX`#WX# zTYic;s^e6)YrOa4zL4wVK4x{!#h|EjF2zdP>`VBF+ibZP)$dby>X6H1m4Ab&Hv9av z%@%?>L{_HXr%==()}P;rmLc0_TZ|SJZT5#^KwRsmn4z8q6|y&%o25ad->Ca($==XI?G`nVROMMYk# z9%M{0#pprCLGmgZl6moXK6IUYaJ9kF7uOnT?`;M~`_naf>D&?2Mvog`uERTgxe*J# zXdFg=_+4pT=?YXgya`0Ud;@08DY+NLDa8n(HJ@iIYiy?e)bZKr1^j{SW9HIAViqh#+}2 z*_dXTsMKAl3P5v2-L3VZd~uuM*-WDJ?xqOqtbb7*)wK(Y>Z)v1@n2z!0Zy;d?2>r;m;gzB^QKhm@-M*FSP>0VFy(n%yeko8uV1qTrH|FY_zl) z2-|3B?BoeK;56kzJEpSV(h94p9o1F~^%s}jc#d%bLU@BfdWTSy#D5~E3)ph}GIJ9W z;DGY|wCV9}pwQzxv6AwA2OqK4%DpJ9Rd}@aE?MQxo;%lF3i@EDV-zXfYs;MI>@IkyAie#ZFlI}q^U zUM%c`RY=;IXO>CZ9WhM z)n%^lOhDD$*9($jHb=;`h-FL93fC^8=vYm~q+OuQdoR=d?VVxOjlTQN8j#|JO7R}+ zFbnCuLJ03w4E7=#&HfImc8WdP#5a;gL0?E&(X}*K6;kl_pvo_JdtrL7DJai_Yj}}s zsW+#U@B+S71@v42q7+cfTblr>9`l*!=lSfOpD9SQ&uzL5t;0&!Ls{$amf^fY%^vB7 zPeVa+NAO%$ zTAHjvGeXJiPGojUL3Pzq_@b_A#u{0ybbLH4*A+zrt0h{0XZ*GlT1U7#t3`E@DN~zM z!?sYqoJzH{RM%Mx^*18wZ|Lqaw9n2tsO~-liNK0HzA{rD+`} z1ch2wrcf(XT*v)%fj*4IXi+WLhe<}<}g zH==hnJX0gBEh^&Hx}`8`4XrKoj83x6CXC5^py$Sf1E;ge7?_3!?zLc}$LL^3M%B`P z2E#qdZf!q1W*CQVYJOC4MPmkKCz<<-+aA4NK!LVDTA(N7$6u25zP@vCR#%}Ht6q3e zot`;DTC3%;65_fl@%iXcxmQT{uO{y&@rJyg!9w1@B$a&Wc47(t0)&&$m~O&jEGdRc z+#=;AMx1?(bO)_D)Lo6w0fA9MaNru#KT>1M!Pf$nE@k3*S>>lNRVFT%74Nie zrvN*TpVEu;PjblAfunQ31OJZc$qS&+lb5j2lPg6)c7gE~;4vU6^5LsMU9sn&uzUo9 zbe^_~EzNO8n6LST;AT}CI!a>8jno`ToiNIsI!RX>wQ<818&x7~u~CFEWBZz{@{5?7 zvAt4?RFRiJ2xe?$WtJKhil}UQX@-`$x`E3;Jfkb+0l8>Qls~N4F&2@ z%-j2vpR|#a=Jh7|B`$|4FKJCbz5B`0V_v@gLcRv>Lo=f;xyt~sDg?|Me15$av z1vHko`3M9lZLjs&j8wbmUA+myzX~z=|0a2f^=s^Oo>b{0*8h`Legjity;@@ZTC@a0 zAXZtG_I=`7UZIHU8=|sJTsmKiSa(z{pB1aluWILJ&z8=^4)RdfKbx=rCd{sM30YY* zVJeqdVcHUMl|U^!ZH{f68^*uORlJ6*LZ}kGP=9stHifFaK5HSbO{!%oUM1_uaT~(k z+qZ%H-#SriZsHxjYyJN?Kcd3HV`sLo)zL&&`sfMeSg+WENZ742GZQTH9ecRsKL4+k24LVWCB{W%$; z-BRrJ{uZPf`MHU-{T(>>YTb|>airZ4u|(aFf5Aaz4zSK6

r^2Oa#x1tlpM?J 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ě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â%_B-va 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

@37k^GY$^B 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 z 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 z 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 z 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

cl2^~z7R)hAN3~dacCmJC{PN;H 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餃N%gpJA9c&>HdWsVq&3FiIaCCHRl#c5_FR*L-##^yX!=Ejf!|TW21g08V z`jTufCZ?2+b{%SM@~L;lu05Xpf`YD?aDp@5TC)7Jj;DksAC9)(ms7ld>(Ok`wWT0$3DQDCp*z zVB`{miNt5FNW!>3Sp+??9n|vcmj6SycM2do|DoIYdOR0P%=wUeEFF6Ron3G2cTpBh zuAXSlb|wL6Lo%2FK%dt7g)V)HB?HYNgwIJVDd>)amNUwZc8i2^fD));?>HyDb9K-lB^FSHF@>7zEmHyoxsXxjJD zMdl86Bhkax-ObrIuLY$Tfe^SstuMh-ASASUWp{UXtyq=>ikD@{sOxC+W0aM&#I}7C z3H#;wnaVinOqZo;?FYS$bf%7j(Ytd8>uLxkD;q07-C~1tdH_8wsm~o^p@gB-39SK}HslJ+ zM*_x9=W59~_krEsJvjHi$IRUO0E>am@y1{JigHyDgO5H0S*ckXT66u%;veF7(16p! zaK&!bl=S|x5-XepIbC*{I#OKBU6GwJ?Tx~7bdx-!Ry(gihc;Cv7ki`Tu1GNg@R*m1 zw7)f&MH+>^G>|%8YaBwa4}Gt7l`+l)bAAg|;8$#e-R`Kn0Nl@G*p0LxvI z->1Xb53i!rEa!$Xf1?A9mz7PuIok`~@{WpAMakqvsIJg(0|Tv;cy6PO~b+t^VtcsEmTSn`oKPJa}>WZD5>gknoOs?@qgT$FVIj zqmbyP0cgTg27>uHaaF8od2TMe54DKp@kB>V#LNIKW7m>*1q(-{ae znr>kqMMtIHk}ca3^(S)WnmheVkujNdw#kqbxq4&Rbib-B9I!JLSIQxLK^I4FmVs(5 z)#4@R*hSvTjrH?X3Fdt~L2IJ*AE0r^Z|KnxKpM?yS2}2hcS4r1W=(Up+S8 zO%;QSKk?F!&OeC7lA)ZcafF0R0~OVru*8>B@X<{<_-JrwI0gga3DLo!!zB*=#FX-c zes>RwMLS4{DT!ykGf~mJln~XCIJpG=I5^Z}WdSmZew0ax&j_DKpfvL7cJg&O`P|d& zn&;)L2G~x6@c;lE%a>WnrMV6hpj?x7k*oR#l2noGVHOcngVcqD>INtIP~$R$9zb9O zLeQ#Zo)6+@@w*Hrj)Ts3-BFHX;r=0dxi1i2t>u2c~wIFXT! zOmo+S$DrMINv-*~g9%C%C!cSOitduu=R;D{IcaRoZ7bu_R&o*b(?(z{x@Z`!D+A}( zmC1LMfl1e#cgF?kMcuqiG=H!JoF5d?7jtYcXME?$#LL!nvd<0hl(3k8BNvwM$@DnM zf%AigecyS`r_VvZMVd2f6e1=%KPaZkabmd-hZ~gBz%62Z*|psw0h#Cdf#Xc96H{dX zGZ(0LVoF*KsXNjkVRsWJy^@x|Nz~k94#d1G{n3q(u8*dISHs{YViAhz5M_rlk3W7RzWiclv!Ty(k})8w-{BgGKd~YC0buqPOzc)zhF$y-TjNs_-~I+w?~iQu3dx)ewT7lMqT&^gvey?5d}XVaSEJHu zkkXP4d4VRo*TdpK!+q@w0{PR~OqmGMmQ>wyClz=XRH>uU&xtys*tr{DuOt-OCs4G- zPIje_Bn?!q^&EE%aVMF|CeeSm44gk)1|Dhz+JH0Pt6nSop*07iQ8MI!oq#x0CT`4^ z=8puRCrtB)!{ZrKjuAT{!`_^D;#NsX6E_@aN)D)CM1xF9u?zU7h~(61bZTsbG5k_G zX_YhmX%v0USm@KvXX!?P_#=l)TeAsODj`e_f_|csjmF+0bUd4I` z5s(Q{1k05hhtE#d_%AG*7++4GTw9&AiH zgy&7GYDWhq=>Y5u{=CowWuSktet?6kHgLF$FlF^=ZzU{lJ6u<%>94o!+}2TF*y;Kv zFB~{WG0N7qm?(o17Vj#>>+~-BCKk*M7j_DJc+7K#-l0i0xxl!z#|whsqc<&977MT+ zVRG>cZZFfq*~0!}=$)|FHnt88y;ltVNF6!kmj#D@u<#a(x;q837p4~u&?-5G`uKCmAskWtzGC4}nuHAXnd=IQ zXQ$!8V9XvB7>B!3+`^%zxP?RIN*L%^_#iqtAG)T+gegPnBe`A-o${gJp*}bIl*x93 zs)xTmG;Q<_P5Y)|?x|PjTY}X=yVzqR#MFN&i20IsfY8v!+4iMv#llCMwrSfhh(XO= z7_^$Zu#f{>r6!1RLueObB>6H3_o6d3#O7_St8$Ws<$2^m^cZ8}nWlUZy88}mxY4q=XHEoZFCV6rMrn@(4WY#F!7uez# znK=!ejjHx(CKY-|93%D^BdJHODJ~e6DI@y0*CqCf(=U9)xQ4brBB;Kw7(;SV0}-EW z^Pwa3o;5I9HSKfbij%uYsRNrr&cJ8EA=ozaaVA&|u(FM1(~o|~X=cvMgYq`v@O?3r zIITI8;H<7jc00~?xvposI?Aq(3z5pJmtIMAEY31jmB5XfbR-^?T2hkPKW>S548B3< z|HvI?ZY;)XhX?~n3cv$p#%{EFIYKH?q6+eol3Ws0C^1O|sc`h%w27O|`~KuS_r zWTL@EQwi(KQ&bupeR;1~yxsBDvL!=zxFJdzCp7%`o>x%HSw0Ic7o9C#B-U2gmQpUs zd#5kQtx)i-O?ga7Us=>Lf+s;|Ilm<}fY7s@?x%&`4h=>N?{bH)f)Tc{KWv80S;Q3}s^WYDPXA~at0EzS+gGDCB;bbC&_$Lu=#Bb_Qs zh)~qgAHCX>E+d25I(RiGXIN4p*;Ph~(wm!dvN#E0-a&S+v0h@A^G{m{S2H}r-`)e> zqv)l5aIWm$Uvckyl^t`?2aPy4Or8Y;&y<|6RC5y-A3X~|Yng25JT`+I!lAi#vZ_^_ zJyee7D=+?aUc|L0iuk^3z%xE@zYhZf#O07lu*)5 zZdkF%QUXz#o;VFDl$1dwcWDICb?%WsUZh0j$=IZdfxN55Hr+9=gjP7FAMj$F=$}af zsH`MR0XbpJ*o?2H8-*7il?uSw1v3D(QNpn}o47U~R^JvMy@)K**KrF`pM?;$P7@*6 z$&g1TV+YLHe0Bk=F|5S1gLcM4?n2aEP36#2)l`{=!^bK}a&bR|`Y)no4VZqA&itIa zCADNJj7;{FjP~3$iICmEf#6*B6HA5Nf5d~;!jWcGy2$mB0;5D-*lg+t3(vi;b92~sBWW&BS z48=}foZCy(hQz*uGg{(SW}fkscqrrM*5AqCGOiShy{MMTO?m6Cdd%2KzgL`D!p3wn zZLv5AWSAkq8R;Coo&|BDLV8|gnu%aOHypL+_6JQ+dtJBQpXW6PF_%R+3mScho-l4x z2}>3Y?1t9!CsiP}NV&4lfy<&X*wbP)i>hL$l84^WnZ8n8S{x>1H6f+MV`g2cK~v7n zQSM;ZNUN*vy>fhMapFtV95SgWMom4a{Efp*dYSCqE+s69(uGsX(!u0n)RxN26>|MRp-v_vAq2*x zshoE7vL{tLTC`uThz%`#e+2=%`@D}1ti#r@2ISEKGEeL-$0rgK)vj!DDRUfJkvU(_ z!blNm4l08|Mq*Zk;RSE%cH8H{d}~{4Xv<7>Gel#qn{)EbG>j*)l{c?7ilQOqt*+>8 zG=t6uai!|UK!&HZlm<3#IW-7^vxUScXrb?Qh`ST1wI<_9o`Ce>at@Mv+=;Vg#RdyZ zkiFFyj0@Q(twxp<GWBrV^0_AqLpkqCtT#Y*;A@;!MHj=jW~#=dTa| zn2rdXn=L9KnxdcMV3Eu>dcI(BN5g$yHnrlMPq>})G@fO?$ntt|?s0MMesONm4_=(B z_|LaXw`6=!XzwqJZEew(jji?byQpux+0b2_-zn9xn*yC9>xUQGRmnJtNxmoiKGwNQ zuEQ;JA*5a3R{I~S3<@}Zms~qg*h&u!9%=95i}TXgE8d&(3fR%EOvsX}R-MjW6)OD} zKsbwYH;eP_DT8wlD5E&{$Th*$7dH(ljMq%j@q|LG-RE~ncj04u5M9yxOIP_SHZpgb zNn=q`BD3G(+^v{k7Uv##Zy=E)t`A4#Hp1%@v)DM5CAi&4iXe@zZTs4bBq_d^961sgDhRLTe$1MIOr1<=XWcD ziGV}FY?A5_QiFsa7~O!nAJ6YL7=7+hn!_%%hZ&J-yH0ogyUUx%0!vDUJi0kKsGF%(vzS!AtpSxnDD4%op zbRUjx-N2HOy+%hjae;&%fzSu)gL8K^ni-(Dgf@Z$apx}OmFmTA`cklq+N%Hy?Kb~s z!iAI*Q;;iP4dR^AAXi2diF#y4*eP_X3R-?uk8N36 z!uC8_Vi!r2u5i214y>e^lbpMky6hY~YrHP

9asxc8O#_jNs!2<4cd$_#)W}hs>~gQqvKH^= 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

Bw?0z#}$kk&>Pav5cxP`Pe0#f+-wZAb0 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

&JMjKM>18?EPpe z(!EU)l8DT)-fkhi?sOgR?PpQbb-Z^#il+K}yf?0Y$3ACx^Mr)^e1f-%MfLe4Zwrg+ z^U2md2A(6;~Ei!jPF7>vHDV6JL8{|rFpOEm;@;q-pi#j%* z=N*)#-0J}IyyG$xMNf}(pq_c&_hz!Fx9aA5^M%OP*P_&XZ@rLZo?i5j z=1-BgiDjcJEwUbW9V_y7NO8A|B5x08)LK{M9S{;;ql&zqPpF5(QEH94#_O=CHLBQK z$fD-zb>4O%;jO#G+Y=#gq0bAw<3hr}_&0jB0kPJ3wqYu0+quyjD`c5xr@L|Xj8diE zc$Rp`dLc zI&CSpc*j}NAR8g&UeBjuDzsUU?;s&>B1=BxSIAOtijeR-bj!SHLc;IRE%TPMsCVd= zd8=5|J9NvuH7wVlW_pLN!rQ7cu5`0J?aCm_d#;SJ{OF43Gn$Gzk7v26If><9SJGHc zbR~!7Vpj@T7P(T+(&S1bOP4F{ET6m5$MT;mn^_L7Q9T@IInkB4K{*u#t{5zfUCCgn zb0v@Ec~^>A23)CP8FQtXWsh3bpH7xTUFm0;?aBztd{?y3WuGftNe~j=nku|05%S+w zTvzvIM##=TRiZE-YS-5EbZQUmRgo)y`3x%uylC)S=w1%@Q$&( z#?tBad_`@A&+K0I<_f9Q)+0m9;$?5*X3F53+O8C_{O(E#%al5Kl>4%`O^Cd-c+0y^isuYuZb#-Vujd;vrJhS!dcB!a+&ijodwV#e zjy&J-u9KpbqSQU8=N)g-5Y-dXDj>~}54=4>@WcY-X~-wu_-{p9T04ZE;9Bp^6B5#1 zWf}Ai3aQmTg}j7P8@!%jS@W-uHz1q5g+l7I3CMepE#4l^>`{+eA>VkrM`S4*LRTig z^(KE$QmfIZ$aH7+TWw$gM_6J zPkxS~tsmS{w?KZ~K~6`_bl&u%o0$Wlt36?v%dL;P8Ff?;mPN>HN6lfmo8>3B)T1n0 zUFl-^*_HJyW3G&{{Nl=#dt_U`x^e)^Z%QT~4VgTKXPx*PYL^{^N=;KTO)bIQT~SLgENTgc#e=KO4(i#%Ev1%4SkzJu zi(1NIQA>GGw;r{W!*V62f|g*sn+dV(<;p6Syx!srM#}(gbbB3cMw{F{vCu$9qLLgN*xVJb!Gc$ z*h_qe=XP9KpN+RMkO|95$Z3!x-OLE&EXYy5xnd6>_mFglCCyhHA#;#9+E*4KS3-{Q z)eDio_)8$i`L+oej#B+O(dQYJ`yVq0zvRfA=!^eJ$^)2+M<6HplD0}|W6AVY|19M# zmXm$X7zv(f=jod1i~pSj_rH*7M?I(bii8YDsVU9!HL<8EJ=M2SNJ#tP4E(~N)GS}l zAF`eaNG~MYSIrWagR5AO*}e&u-_aIja(vN$%2K=Di#;*qOkXUE5ArSKEMGiJ24pMb zY@fk$4oj{ton=1DIldg0C6M1y>RewQ%W9VMd~;deWXbatvwX?*%<+}6{0W&rJ?Hx> zSaxrea)Ga!#fI$k3(kCfH7qAXsPzkdtt=O_T;y9Pq(NH**&C%U_G#lZHyX4$$RUtR zeFZFIcs}zm$mPC%mgkU}0lCtrZI|YVKwZ1ma(4F-2QO~u$PFasQ2Dltj>>HBe zNx@h;*FzTgM!D31=pkLfTi_e#jJo<%;?w@3DGhlFaXqROrAmCULMlBrN-cpb^u=@L zM98f|Py~OyljlIHAvgGvL?(PCaIw#ckOz=i?8_6<8*>#((XVHjuYjczLcgA6z9L!5 zeVgEBUx^TWLxfA+>?>t?(UmfmPhBZz`N@?EA(bAr=fBxk&7$`FH~SieRCr?U$K7r8 z`4(TZkdP-HvPMXoke-+WAv6_BeC@Ix?Jx+<=Ow=C3Az3p1$hRg%6+3kLRv0oLcXSd zDAN-)57LRuQeQL6QqENPT38xbZuPaYJPvsSr7C%!*&~+4JCNIaZ6b54_69N^L#lkE zLTa^-AR8dJ`(pogX#h>gX#hIjD!u(N?QclV8B`7<~skEOf{4Imm-<<_pLgNQ*0X zVY=u}%_FYd2ch%sM_p-wWMaA=bEO?Z_fsBsWi87ZSLg}J>yUY32gyM_PrC94o}Z_h zpLXRvZv7coHbUrb*R!sC3%L-bI$RlJdES-nkh#db;7UxBlowrzXX*6Sh-DFe8uKMz zqY(KN%2lZ6C110U;TW}aUh=iFsHO9guY*M`otJ%GQliw-dD+*^qLxmVua8A7o!5N* zENba=`vzFl(s|uC$fB0c8@`P!YU%X&HnXUu^OkRjMJ=6P-$;be(&_V!vZ$r=u5XM* z&G~h{aTYb_-}h;gXiLGdAJ6#@d>$4x=Rfqtv8XxU?@M4&%l#u?B8yt?AN!JogwOg1 ze2$RtF~EQ?PnL>NbAG+AfJH5@^}Z4owY=8*%7yessrme=ubD;7pU-?F5km9lb6@mM zV&4*_=FbLSoRE-~j5UffU-}AJQXsT7edQbAQfdiq_LWD=dejo!;;Uw%wS`K3<7+wX&$Cv(-1q zrPLbrvu~6|tx;n>ZD(1tS`&Wp#j~ijkP7WI%njPx{N}3`(i4@>^Jkl{S;%md zS`&Wv4RJkcP547?x$b?>aV3+BP|sq_jd5SThx#Mejir$7zAhodG3vU_U%qWpqExBB zd^s^xO1{r{2TJ|z%VW6-HP=EWd<86bLK-3e_=<$cwpK&_^>qu8dy-DbBx792aMW^q zy>35T_wyL3yHHzOq8@-G3rQC;9J3lV)3dT3Ba7u}$R^a|F>+X5g$xPFl@j$Hk`VAu;8JSb5_2DRzT_97993dg?Gt{#?B-UtS*$SC1WPn9`0B5U^ zX-0M|)f3Wofy{vHYE-dMe`Y~;Gcu;hjQ_}J?TPDAyHOydR!cysbCB7?s9~Z0%!R}o zEnF%YnPSM^#sp`AkTOVuQLro3j4=&ZrW?&dLfULd6*7rNCuinE?uG1c^l@e>qnRrq!#+B(Qc z7t-rdcc2b3vSmh`U%V|cbK|H#a*g^JafFIJ%J-y9NGrsbg1xOiEQy6<_IksYlS;n}KN^M_co<`;@!?UlPt7^}dYorK~YZP7m zKF7$45c-ul$HwIHKNO;@1(AXw3?w#2SjR_WYXZAwF zGo5-E-U==rj>VEEAql(3cx%vjC^a`W!04lXiqx;<-KnjhN1Eo+sn;};jjV$y8 z#czmGw;1=tqeMuZcI1W8 z+A<;Qg!H;kvs4(x$+GnyQ8V3HyVWQc(yOVZQ)%=F8IDrVcvKn5I+d!_9$Ki0XGQKb z(u9PxKT!`o6?~`BDWpeJ^RU|Jix8SWcNv31>NKrc-m6`1j7P}b$SgMsywn!nQ$VH} zQfs98M4#Q~^y-WPDOx--H0^api4b`baDa#sp{7GutZ-k0ItNJ}Qd4YN)x% zh+|2E^a@F2Q6oh>U?dB{mWvTf=(@xMMha(6M=AO}U1g+kW|Pgfb4oT=o@Y9pI7 z&74_nSm9wc0@_<%hg&BnC)Anhm*c4c?40(t=WGDrO+_ zo-x3ZhRn&34~(W1Sx?iclf<_Cq0z~biA**!{l+?$b08N$J~BpGu7H$6J~m;2`3@PL!(|V>$IAWlw?>wbaLvO;fy{W4 zQ1hDWaDHkOvK;10G0SXM;!^f{Q1GaOvYdDwAGLt$WN|3&$87O^@PCBuBayj#*6_`vs^m)sOJ}B zNQ(9W>bU~)tC4*qwO*-x3Zdoxn~^Uhd_MS_F;__VeDF7;NR|?73yq)fn^77eIc->9 zjT$MQO{kf!1pZ+(3JG~eA+%@v!)W2mUl4i==})7LGrK-4M`rlb=#&}J*460qxRH32 z=(CW8kiU##A@bL131q^k5fYw?|BP)y!c*~|F(EVVS?zy@Cyi?2g5Q4 zLcfEqOkN0~>#H%Up2>Hz?4o2Et(mLQ!>O*&nn@DtN)t*w0h#8?Q!KkGnM`xzMPzo{ zLEePKx$-7Tt%vO4NE;NFny&rKaTYb76HU)Ca;;PIInhiIg1dp}&p7(L zznLX7VjZJt-{0(t5Sl*+n*A(lN|Vf_bWwAZnm-4db6M2 zgtV9zxh;FmbwX;j10nySb+4InEVYH>XUNXucz3`o5mKw=K;j^V8GAfsYPCYhz7W$) z&XBSULVHNtED#dXY9Tc3j#r>_S;11nnN+ihJ+KfI?^w~XnpW&|0dC2r46P7C=??aApGqmk| z3Q2cG?SGElL1_PToGa=|;PI|phnj~_&+%rK=#SiXwhGCQka5TfW|I(H?cp9~n(J6p z4^K8nh4e<v^s#(;ky@p4k!6ANsY*GyA1@4n~Id>T}GI|LNfzvvej+MUQqUG8yRM`Q{MIv5?at z7no_M$Ynv_3O^5$Z%zmaY1zook;6r1au#J8w3~5mwO`>PG>;ZndO{O@24y< zYlKv2J;>aS9xgCDIHRrzEiflo)Ehk|=Fn+!KC9)v(A2U?dZN_Ya-*3l!^~k>1^Eebr&+-AEaWdpwOPp03!#yL?=p*7wnAe5!gCI0sgUrq z5X;SSA#x3mLuR=-D8+rtrpDYXBs|(ijXBC0dXs{VpKDDmm!`eaLvK>h@~SmsS@wQh z{w}XDdaKm6mzEDOy|rJ&eWS(oVlAb_n3t&4{+ul zvxKD$LQm8;m}Okgn-F@UzQL^G%okkGy=Dz(e&l-YHJdmy!I?(0g)?zDzo+SHG}}3o z459gRpV`ToG|t>-_Q;Hu4fzHC?l;TNrFj_M&);v>2$4_S?}Mdtzd3duWg4{eP$CJk z($w-uQ_h|{;e^Sgw$#~J%Rl$GHc9ImL$lv zkT$c5Wd@`i@}ybAk_)MYJY_aYagSu4HamqhXxAX~5He4jeG&2`q}?2kkhPF!P2(c! zp)B=2q{A$@Sk8^5sAm)8d9#FNIpjyk3ub$SY=?B3gDejqGxcx01)zRUr>PNQ*SbR2 zA!&UMi`wGCqPEkpyoj3PQS(}JvuGgoL;ESIk7tsQ$caCUZvZH(oVUIHP*_nwch~QoBE26WiBo=0+j4T0f@Z z08B--1m#F!6$Og0Qa>|6KVv|`BAuEvCWY!DmbzA?+9AZ(ee{Hs0LG{#X(@}FP zN)4MmLPFX>kPgU*nyzVwL1?e_gDV*j+Ovh_bP}AK|LA7U{eN-=gpTXNnKB5St-CT= zjbk>d>Y2O(nN2_7jRRL&AT-9pPv(H^vwJ0QtGQ8#-1~K7Dz=&_SIT8Ud$xBWV`iF= z@N)k})jaJP)J)$m2unAF`W%)|{$J*6H^8rkemGg%162S6#3akEuO_{!vVvs*}by0)9zJh_x< zOgUvt%iE?>AwVMAWkjG81N%kOpnfC$Zmv{A)Hv zhz{AwDxFWQH)sb_2JYO0mYlFt%rwXs~y zGR+!eDP!5yN-7f5?oP#SmLmjDhTsYwU8~&9Dr8aDD&wpc7Im$1cWX0?x>mV|m3TGP zEVn_rCbOs2EMz!FZ7K0qD~sAv;;jxLy)kM_*~{u;IT>?<>e0Bg?I*nd(WgMpw4RRLfy`pXCTEo#hLbBdu(fZ&;49@>za@P=C^_B9^G9r5tUQ3E2`g z6>=8l;S8&SGwROuF;+FpTlh7nDLuw&V!0Mii|q+Xx7wt{+yJ4g`o~#aEaec|^B-q* zb1B*zQ$5F7eJtv_&GFWtknnZvpUId6tr_8%ShZbc}Sel@lTKCi2Nvg%CWui*1>HD`#5OGUGWK%Yrg9twzqM zU(ZvlX3k_GLwk}_tTxW5-_tCsgEJR!Jy}*aXVfq3sa79n=5sx#S_4ADXGycHi5taK zc*g&U7F+i$E4oz9)tga@_BOMuI3aRMNlvp;B7~+r+e#BM>>fvDTbV5CIO+^5M@X%9 zJ8EvnTs_;u48&jWWZ#uh+FHoDR?i}8T|Tk!7G#dKPRMYS%FMC)S=4Bm`PP7t@Upnj z+9)LaTX~^15|MciHD74O-z2B~0rZFVEd^GhkdWs|2(2vzmcbeI-pwUe3TM=t0+(3n zoKbJBUTS4>M!mIqsg)ySI7Yqid6`wsqTctMYxS|H_eL+bq8C#Shhx-xqgPlNEb4vF zE3Gn?1Ma~w%g?y0YIU-x_eSSg+gQ|lqw}qlGBNGqXz)|ajjODz2-yU=+RBfRA0fro zkdWaRHKiriD2tlX5^J1Ay_LDp(r%`=nYmpXFlf44OS9o z)O)ozS_Ws-GhH`Yshm;IT9;Z`Eb3Y7QY)85y&1H~%4bn;1}(A*S=2kBH(A9j>YdP= ztTG{$9`%0HVyl8hz2CIhs*$1{jb%aWPnp#eA#_FYW~)_5Zxm(d9n2-x#t5M|E|*!O zLWV_#-p{SHCWKUon*YYKxWg*EMa)%k9ozE{u0C1X5|Robdq8TfL6%|6ReJklg;h{4 zOa0DLXH5vH(4yL9rryd7QKnL(cX(+k?y+(rgr=gw%8w9wGNjQe6w(_-rD(cVS_2Uo zYJIh}IYRbD51Xygh*C7|4_T>8sr8ziIvD18kv(apIC;F;TSbC=YW;MrPRor z16Dd`)X1FctxV3SkvZ2}Ih;`=bAD>&aYl{I`KdLRGiub$&#WTOs8KgRvr0LmM%^5= z$~mJ(-5j*4Iip71{M@SNj2d#1CiuhT-dSgD*@1$kIV z250DNj88+pwz4=wUt@e(NUjik?G*i??;(C;<#R@jjromLC?x!)#UZPh<%&h}F3gZs z$})hhl8z;YtZEkZ?ZqLho<)6WamZ>C68_fekkulj(xbk$I%KuWOqBX6@wZmy9W)PX zwQXpN##tJ+dRVk)aMcadHEd0=902(OGGfiWQy zI_(C?7&4>QU^UfKr`-kl7qZogy_+N?#`B~-$(U6jq*9v{(6qRJ@f?vgu$(fL+T$p- z4`iE_RwGNj2ss4uht-Cqt<2CHPggI%@r~8If&|~>LMggV@{bi=C&aTJ zau`beYb8n1w(hHGGlX=o{D{mckSIH$Ue@ymWGd>3w&${FxFUNNGL!9%Ec-y_K&IHS z_sCMI5V}vavmMWJJcQn&_1N_+m$Ss!V=Q;F>|!T1$a)@z(6=e4+Bqz1A=G-TUBvPU zmzrh|vit<0)_1ixv+VMml-=wR79WKA6KBWWE8Cg{q2G($?If0~A@sG%J#2%e214J# z+|y2BX@(S_Kk;@N%d?PqkiG0omL3R=IJ&o8!7>0TMP?tnnq>q+&w(V^^+Fo7=o4`~ z@(F(D?2RnDL7svn+HsB4=LT&Cgr255&`uLltK~zsAajuIxsNh++IG~u1Z^E`=L%`i zijeua7*`?eMj^G@t{u3ihm2t-t(2vfa?Ori!Qvp(giOHBXp))xkogmB9cH(%JOQD# zF4gW}>0&v;_B=qPYPEGNN7@N2$D`&J)O?hk%yI$b2}qiq!m@9V z<4`?|QZwv478-|&wyzoXTo&4Ac0!J^i&$u%`G$~EDdNr%T@y~XDWg6W?P?bFMX>pHBg+w|$$GA`n_1epo~!IOmP$+o{Zbd% z9V~SaI^QX>yIH==miOqdw)9VbB?2Rn5&zF6^#vWn00vWnucC9_e zaubBE%3f`TiV$N1-o&xng~+=(G`h}B z_BJ8mJJ*Zt?+u@8l3kcb1oKa^1OYIEKsI!2jb~b0!S->(omow@t zV3}RO88tqCgpsOZFm@TsJDj=Iu44I$1XEgR*RYIHDIptK zqFzKDxZ8D`JtQRL*$;B>H6&x4IRZj$RoUY#vmn%;Dm(fqIae>{%fGusyOcBP-0E(-oHOd&>TbK5GwR%Gxn0j0b#ArXZsv?Sx2myQ zIit?4YU~cqsB^1YyNfgG+^W{@ebJ!K9^wq0ThUUkv&UHI ztGl!&)Z61MU)~@y^>*~ratS_&IYya#>{ym(AXLvib^^=moN2I=Siay)gY5_zj#1x1 zxYthQ%x}oh-uPZSgEQ*u35|9ZXLjzCnMOO8GwOWsK0BW?>U{7%yO4#x)Ifc{-!5jM zGa%~o{dSp0~(u z^^8Csu)A4iLADB6$1(@RK9?gBz&CV6FOnV*u!7|hy zv`3$%wnEy65PBx?Av^9ll3HyuBnFv>?N*lGAn}kEJF7!xc6tdT-$Nd;YlMW4gj?-K zAt7ydWatRC)$Za_I^-~vdfe_|IS!HuSz|lT%bL%FTm*T-PG>2GTmxyd(LMb2PQD#N z@47zeN+ZitI|#kG`LruE0yC9*W(T3nvv!VXOHKu?s~vVhgwR{7&)Y>2LhnJpV3$Qm zIeOS>w+QKtQayax?q*RvTx$=osQz@>BM}+u&ntHP3sY%IqbNi2nw>3VIA+y7@(#l5 zb`{G@EN|F7ENVo=H*M`js%JPxjfmJ|r?c$QAnSR{E@e?88TQ&8ENVo=x9u?&H6mi4 z?Q~Mja*kDD+TXF0UJ~NI-~GOA2*Jo*m@3cxdlMhp zIh;}VCO)+Dg;aXlu-qHbdcR%F@+M@JkTR}EjYav9UBUHyfy^Vwd}P;fM%|nE*luA_ z_a;8J+ga4TiBIfK7Ikmp6T62+-J2M&*RiO369e|3klrX7AClIw_4ZJN&=vbn?Xd`< zE7F6u@v>YKs1#j)-e`9Sk3`eO^C4aC7g;Z)Zf+bDGkM>Z6&~`Cuj|u6G zQlngMwe#Pknx)WG{9-o?328appKbPduWWrat|QU&#=qOCZ%erznJ>_vKkQB+%QPAr zlUo1N?uihZhvRm?kl`rG&}f-|*(rUpbv2^qzjlp~kf`T7)I7<_em9(<9`5Wk3#kwp znuohMZ9+m?4f;cwsZJNm6A-$`v8yx4(!;WwvyEjVOPmw;o}8{fSax?D7WLhMJ)9Dj z-Phu(8+y2>)6SyqaqQ)66jG}lh0M-TQ?$LEKlt(U2981DtA>OCb+K4s;r2DbHdE zjir2$Gr+Q(Y?vo`kb~8sGjiC zP^QzxqMnAboOLYfX(-znV^L2-IZphCvL1Sd^X{AQev?xmq|(!ew&)1N?-U9Nk8a_2 z%2?F+EqAI=1mUaY91cCe-{YrYqoNvC#KDdm$-K84EoT^a12B zr%_0+JKn|NPMeV7C^a_A;ZDa#Vk*L4CvmDjk)poKkme+*7tVT7D#LLGWk!9)<0NPF^ROI+%*jsY29jFsgjw<$W0o_@vK7-l z`9@rQawdcfM`^EM?}#a#-vj^#S( zENUG)$0=n|>)5$YhmcCondl)MEuZIf2?=?wfzY1qJf}}cZ&c^JC~X_2BF~B6L~T`S zBvF&5XcstRLhyDKO6>}{$kD!{O!)h-7dvr6!bfPAI3+@AH5vnlo+!J-DP?&C_0SV# zmpP~ef4!4WO2;+oeq34FLH>eV;mVoFM16#(xSTTCx|m~op+EDSdLibAJ@26{dY@>alPX1{XR+w`d7(3xWe^$q zy|}@tX8DfgMyG@2HwgX4l{(R1%Vj$0Re2n~$jM-dWx2^IV^L3nEq3aKY>A3T<|DMV z*y&(78bYlvcDh(DWGQocSSlbi>gLVPn2<`X4RSi>*ey=#H*)=X36cjXcS?nX$B$a- zRI#W%NrltHqV^<}PSTK=E_d6x&B+piHy}`RA!@$O$zk~vaxa z<_@PNLg@UW+R6G>^jWk;M<91O@xvtYx#b3wTJE$834iIV*6CzX=S{Uv>vvSDLHiN? zc?hNIoXtXdHTCVYdS_^aGCi95(pkOZd@n_PQLf%85fak0*YH*c>Zx}&vg`$UPDsfQ zR7!qP?joF5);k?S@TC}JUP0y_C;ms7IT1p8i3TT+4^09oafN^!U4)lQEPx&IkMX0T8CB{ad>HDXTI5jd8rOv4z zahipMufaazv5!#j)Eg_0Iz9hW>QTqoO4B9R!(DcoqCM(l3z79CLfV{? z2ssq;oRjdgDCM~bJ)|oYYn>#P>mhV)XRYI~sHaf6oKzO|6iSzqA*9En#`t~3$rDoH zehKasr$9)^{Sw?OP7!C+2-UATC7e+sRKMz!3+eHw(Vky(s#t!yPxkpWr-tiM=W(w& zja-j9k9*B&VNvIC-A)^eI*;piI=P-oO#7*rKd(D|LVBX^ft)SGGe&c)M^ocAzv1Nk zLK4#6e^1l$k$KZe`Bln;C^Zk#>twJz3%LREwv+t3tVfM_{GQXrLSyC8h{x-k^gm=q zjd=XNvrfoxlp5do11JAa%2aA3%Te=(PTRO_{Q}72kdK`aA+=f;T7LoZiPN&3GPT+U z$UBfvoi>)=Av8MNXHEypDl5ZM+zk@$;KAw;%yKHB=#X_ckiajmyG zZ7gb?-{!Onsc^sdx6SDk5*~4Vo72Pc3VJvfHUI9cWBC}eP{^Q=9!;$Ye>fv7^X`}9 zhyUrMPS8{gN6}KIU)b$Vj}SQ(x1pZDoB<(nDjFdFIi>$lsqj`g*AkbRUC1(b-?Fp6lSS=YcJ}vhDK!s0{*6NLEn2LH zt?0AIKg9AK=Ff9N#)MRQ&Ob%IZ4u)i=geFP?X_b3(f`tvR(k$GDcZB`;*VvS`i9)I z?cz@mQsIt%Kh>WkB;-+}-%s^BLc-g7tiPN^EsJUXZWgsI@8%z1QA;q+KO`k839Y|| zso340{hwG5qcS1yL-zEKOVQN!zL($7V#QKc+xy=BrYMq-rk49Y{w|h6)I-OI3I5ng zl)>Bg5Zapd^~bZUVwvtwWa(qs&!5b)nI+Nh2nlK95UP29f0_`vMtzAsAK-6_kP*m1 z{s|%BBjH2*(L0H$aKHF@h(DG^9UC9wk7rRw!pZ&wAt4X#)yGhCvOkH1_UeBKaadyC zl)uZmKUGMj#}Az(QleMNgihrTKGNXza(`AV>SFh16;{ zqErH8hQE!a3PK|*9^>z1S;dm>?_qf!av(|_>tDw*!1WyG-^}tGXO8!e2x-vv=)u!B zD3#%#U^xUrZJprH+?l4LL31EMWKQ&tvm6hhS%T+9=`kPovS!VesSSndg^T)=>wpKu>huQv2mS;FK+uy`O&v;ypwodoQ z?IKIPiOeEMjz1|vLXflkb6MWwnsfab?2JsF zKVL|lwl~Whe>Z0ifwUoWzJG${NXV;@e1B}LteNB^$VL8aA+;LG_mE5cjhs0KGI`1r zZLVLNMx|=C*^qr8m;1|EE`uBjxzb;{tIXU4p(oSk`^#DCAhZOp^4G9*Lef#H$lt`$ z$EB|Jx3G*sXg_w1zl|lj7i$4ZUF+Y-k^rHji(>x}ivywMb)A2dWhUe-l)BzOF2y}} zSm00JP0kIv)|7|L0)G(;ZOfNIZuFN&$kmWV{^|%>2wChOWH}3Ml|ydvkFwByV>x80 ze>_6&gH-rq<7DfUc@%P+KPf_+v0Q?-K8G~=hgfKj^dsbcf5IMA zs!qEG8ImS{?w%z0CLm-xWR<@{NQ02%opDa&PmB+@brj@Le+tVol$r^7!avBO<0|^4 zkZ1hyd&yFCZSY!1hd((&mOx(gm$1+;V?AW8zal~&g1qLhkC5jeJ^p?nb=v)Co#b7A z!QOHzNZy9@`-g-yXmmyK3&+L0mo++Ua=OT7m97xIp&^Js5vHPiWVDaWci$B*FbB8P+M_5kc7Yx3uTUg>=#Hqh)OkRdm}@o4hS>~sngOSlt~I`2g{mCG9iZq zGFj;B3G_^|H&7@9`(9*nk?{p;Sn?njLCnA)%jJ+lh#g2iglewUu7=PPzkxt1%M!?S z$OHqKEVYoOkd#0U%fpaWki!B6EYCxpfgBzv6e34g?t!ERiiK2q-bUtKAr&lNLOv5x zBLrW&;Bm2z2n@-Ldj;>vz^IV$GiFByl9J_A&~@5xQO}V9Lx?=zp(CrK0x3coJjJ-5 zvg|sNQWmX#ja?&Sni(X zt|YKL?Me#Eo33QBeC0|3%ipe)vh4nz>R}Dbp{}&Doa#z9%ayJSvNXCf#`3x=9R~^N-<1)TY*#cx_Br2` z1eOKosCrUZ7Q2}&mKs+ISRQw!l;tf~YFK`ArIjWAL)BI{ONuLlEV-_Xv0U$p$COiX zyDLd7Pq>oC((6hN%a5)UvP{JtA-SEFv!uAv$dczuJIhj6`dFTFWi!iqSH@Ykx)Nu} zso3Kq)w;oAyOP0jjw^XAH@Z^H@}MhKEN{Bf%<_vXoh*BNtXl79Im(q0mI7BaTlV=D zR}xs7T}ff-aV3jolPd)*+gvGSNyPgQa#_@{9OFtW%f+sAvsAb;$kOG?7|ZvrcpNzu zdk?6#l2}q*Nn@GqN)F4lt`xG=x>C;aoGXni@43>>GUQ4h%ZIP*#M8c+Wy*Th!*Q1V zU5WF{shH)8!E%!;87xh%p%O0Pp9+t8MU8!L?*_Bq7%UtPZxyhA5mb+XTV|m&Y zPms5QRMmPCOH-bbG?qTMR1V9qD}^loxl+zz4XSz?SuS*?U5ZA>t6Op0k`~B4l=@Sr z%|~X+E>pB)0{MrD9*X1Dy&%U0l8=N(Q`p%Ihj2D(|kfY5tn zmj~jGmNh@?k#c1qpXEIChuWGKXcK}l03n0u;ru}C3|VS1WDDe~KsL)=knbT^2g+Gi zLFiji*92-Y8{YBZQuyC<(N)s3#~E2Kt4Bv@$$XF@`?h7)U-=)T})Vp_*?DlnQCk zzC~Mqh|B=XuaJKsrGc#D0gx=u0El|jE353?Vsz4{p0?4tb=Z?TQ3*7;yQg;PnPmt4o7uR!lAcKXj zUd}|R<$-pVJ)gu|Y`ET17f3&mO4VtNC`I?*8v;#28niW#m(as|149w=E~GIKdy;I6 zGUuV@`vR#E@(D641NlN~wdatz1epf{)k5(0*~K^?gsci|GG%}0s~HO+ zErC3i^~fxNJc>7W>92R1y1U)#%43Jg`{u4pPQ>`e^v%t%45J=ed)KH^lP4hbT*?!! z#BPw8Hdo@XXQRxMuF$@YzTEeel4*%3MfZ1}Rx~e2pG{97xZV zHHWyKPXdK34?qS{Y9Nqxj?8pHXxcvw%#DyO$b1$UWT9XDA0b}^s?VcR*m6-yi^W~? zK)a9zZR2Ga&m6KTFwPm0{UDnIae1;7i4OTXP$;BU`yTbALB0!&vP}LGPh$RzYh;16 zIkJa)LFk#B(LlbCI_=y6jNXY-KLyH!)M_R&wD%heRIuc-{1T{VS;F#bpoL`(%Wr`W zmi3Ta)VwVacRsaVtNj8gg!~>zV41cF&)h=(2pB9Tq!}_ENMSh{@(g5qAdTfx$m@{5 z0$D6eApMZP1BEP2kTJ+apqS+)F7;2KoaIwU%(N-mzkv!V?l1L!fzeCk99ww_o@c|H z{V$Mqsg&PPYJZfP6s%yG`W1fBAd`b#5t0hoIk=7GKxAe@VuD3;Wj$V&sln0+ISZL- z!MH2r982L$T(E#89a4GQy8lCbcNPIB;N?Ga@WNw4(6C7a4g)~8?2b&9J>jjWU zA&J3pmgh00&qEFf=FOA!OurPr4w&|&U?EF1Mtk=FOKizYe(sVg$#8 z;L7Cj(b}~TGpJo9Ywky;5Ml*uSgu2VUPJ44aD*iUc?aSTMiJ!uzU=O+7;IrgIO%!LUw^170eMLe;t0m0$WtDP>N?9nI9oD zg2gP8v4W*YQm2IH<1^@wZBw7fEdh7`|gZfj;Rh2=GFYi2M_NVu(;!DbfK*395G7S+}% z!Hny7Z0nR@o)pjL+}5eV0+#LE)~UflA>p=84feCBwoVNuFOYLpwKXePEF?S+X9cUI zxa&rCu!d#VEpk1~4mNTxNxx<>||X__gx%)lvetbHC>3>sapLT66Sf&ZBD0(I?+1Gpky2 z^kNp(uM727A%3k3^(|5Yja+N4-ple7*P5$u=RB&`Ts?QuuC?asjV!9xMf#u+zt%;1 z;3jHS5!k@B3iL#lSGiV!o-D*)UIlt7i|SW_-p!(FU7}CES!DM1QJ3hBl)yV&>oR=? z%K+E9OwShL*Sbt!$D(RorpGUqJyo>|^;{u-zY6t2DPF&>(2H39;#ybeC7egi!z=V& z7FFvC-74L+)|Gmx5Wm)ydYzO&{Fie3x=L?gnF66>&ZBBwr6-oj%&OK^dI5{- z*VXzuA%3l^^$saszl!uOmLS(E(zkFPRjWv!v1Hd;MS2a3s&%d2E5xsLtv)QpJEqLn zwWXA&A~2n6&DR4${N*)YFJe*sny-;8x5~__)*^iti>h^#-XO%Ub(7vK z#jCYgZ)Kr939W~V^$yOXYAx1{%3W(M*2`H`tx~;9h+nHz-!3KaAM}EbDNFQ0mJKd` z2TI5==TWtm==rzpT5E~k#G+~~)wSCx#;>(hPnO~xQ*O~Gv)s({@D@Eyh`+pU(U-HR zd3cN7$D(Rg=*F^LYgOpkQoLG~dM*ncJ*i)n`fMS7txCO>Mb)a*ld5D-Rju3fd?9|n zZqrMoh`TE^50~ksEHs`B)mo-kavn7gm+6Bns@5_+>yBM(Rq4xx__eC^)lvfY@bbD- zU&rz!&%-t6ZyE-_Chd zt!h2@u3c+Y>y0d`*4_G`5Wm*ldSE%VstCNtwQBT4mM^$gjh-yTUtTqODU0e?jo!_o zYTctxt`?cSebha=BgI=c?$u|osCjs=o-M?$b+5jTMb)}jkH1^?RMo1}bA|Z*s?!Ul z1O~WYEA=9lv0uscaHU?tdDJ{ysrRy|S}S#H#jdsP*Gq-?weHvJqy#1-Gp&aY=nX7K zajggR)tpDwdO%OCk(pJk2lN6K)vpKjbwXq<8kPM)y;X`=>mj{^TdB+s>52F3n)x9; zn?+@A&=(2ud(oiRNC{Zni&c6(%W>R`ReB@mQMFd-3AMY{TBYZ+s9KNcYlZl=9?{#R zcx%F=dMC@7Tj^#KK5FIHdO}Z?5_lEAJVI;28auEiYrIP#gv|b>@ul2Ov$)ajKtxvvR_FdI_ zMxQ6d@7FVWxs<^DTga^}E)3POldtYh_~%e@<_f zqO};iiFvqQ-_G(Tgtmh9`mhi=<}f`GYtoGe#Qf1VAtp~qF3bCniy+VIB|`kW`Y-6^ zLRM&BAZ8w7UeLG580{;_d`PoC$T2@aN+28bvqaYD%G>k-A$al#DMQRQJ*koM)M^8eYDll1%kmrKambf?qY%6&jNiAS=V*QUx)^DN ze61%xDyN5H=*ikQdTNZ&bF}UHJeHlvOiv8I(;Hb5v32)BzSnz%$n|*~?hOv;+hc@& zf&B-4NQhi}lM(ZyZahZSD+20w+Xr=r>e_0G zDbqfJoFycSWdKqD(TqGH)mj|h?k|SK8-*v$tyir98&-8jK0ml@h%Uq+1SCiqh`%Sf*yxH8n!<~Xo*1DiEHJhU@u%=oV@Qbq2793~B4ma4 z2795A{yfc%6#?}Id!b>ms5jUPjZ78;(@bw;UT(}{$@63$%T1n?v#j!@p5y@2%QR0$Sg!CS=>^$~I#1GBUiT!6`9dnxhz6he=awY zU!+?8vEV9WvJ~%FaFtOnq)aPDo*8IWYz(n1gPaLjXjsjZr%ZbQ@-IkAdkeiIa2H9%tw|IX_NQw|Sg{6?2jd@bEG{jtZC604OQ%nq<8MJyLZd_^1U{UABcNirs>fCs_(ZQn5jaL|*Ei#WfH?B2?S=704oss?u#rWsO zD~$pn{<-l3MzIk8-1q@wxs377jUO}`VuX$b4;d{nLg&T}Mo)~;x$!C^ej`<1s;P71 zM~qY!b#B~fERPX7H-6OUi4i(Ce#}UJRpy~qbZ-2(v4};T8?QEuRyjA+x$zT5X^hah z@fxE~h<|SUv=RRrweru6pElB2)Vc99Mj?wjH-6S=5#pa4uQxhkgwBnd4C8enLul0zS z0d92(T73g~)fi$af&45)YolIN1eS43s}W$S=a^O_Ns3qNH6tZPMv&(S_g;wJd z@r9$2#X|QJ4iu8Z@-kwk2$>a=XR43_j;S~g-`=+3mwk+REEg=n2(gHH(~^Dy1(2ZRahcL5M$oc!#l0h+Kjp)Oy?K<`{K{VUv;g zrdaOU=6 zS8|>YjA1F-jS!lL9~jx~)OY`$%m+q`kXo%8G1nu{2S(~!6jQC;2dRR5Xv|=F3Q`Bz zY$SHbn081DnEzF+E21JF?Y2 zEMFLPEc@bomGW#gwzC|LnC~ImjD$|v>emE(K@90N(pX%?>@f~s(Hd<+sSb&eR1U*9E_34ki=k0 zx2$EM)ya_Y!6BAH$Q(#gF#Tg0L-TMEWMXiZ5d0F#SbTF0IUrcbF?DG57$haw#PTT1 zq+sbMlxKzZG=$d7LxU|sDzsh*ZE=SMhgkX{v~{Nj6Sh#R3hif>DZvz$zqr-m!E~0r zevqw>2(DwlqE!#e*SVvY=^d@5>rd)lLdmXyF05QO#sM+LK4rgO~HU@ps<95XeTC&kO09xRBFZK$3eT*R$v@C540%kf=pu$<*W zi_BD7nvcJ)z$RseKb~(t^MlNU1Gi#ZAM4J6Bx7a<3?<2pCkET&K%cMe4LoZuEA{bN-1(}TT2$^y@0 z3hAhKdT@Ya)byMY9O4-Iy^@_D;qA|$)f zPUi9EYDKVFO5l4`pMq8u!B&=EX?lcovd}Lzgdn#DyIJU$8Zw3SO7SvR2Dc0G&wDF_ z!!a=@qg7?F=1ZD~6@jAP^$MEV!2CK)m-oM@SP( z*pn8P?{~wUz}G2H8%r)?3Pr0D;Y&as0tSiXiF4QUTHviu3jfV>sV{+3#;&<_3?qZC6n1zUvp_kX&AZ8FBY z|I-y5Vo~>hx`HDt>i$nxF#bD{IdCB|)BT?hf+;Mwcw(`v@gzq`h4b>O; zf_YNJnn`cZeh@4c;%_^fgIz3YOX&^=mLiaa*4Q^pk_cwkE4zsBH z8~+Oy4AKq}jM(F;=??LTnKZfpa{1MD$QTI3g495Q==LW4C^z3gWI4efz z{>IK=vk?FOMqFr%5dZ#0Tu9qNdHiR8yM;1Y)cuY4&~hRE{f*I~`WT`68+(M}hvf9A z`x|3Ii7`U=H}(w8W>NPy5<<&a)cuXIp$;Jxfjh3o^YsBo0bCSeRj*trNZ%7eh#)a~Q_}kaGP!WsTzQ%`Af1^C|Xte;X z#)k@GzuPxM`^V1!QWdOGuga zFUWV0^ia`X)Jl%7^C#r!P@NDt$KsMnT7~q-(brxypN|P;@1#~`+P9DZVvJBP%O5PE zQ10I{W@3SCWreo0908e#Rv95j8!PhI9OHzx3#r!5fEq+_OW?Li}Uy*`bs@cAfKQhh_+odA<~Ra)iXTDiqQ`=C3R97KVr^ zmN8lo=d;5?N;zg<2*sQes$!wJI%a>8I&MYtFj+{85Lx{Q$hn~oA$~8;4Ry&@-nx2j z2rC%=+DEDF)EBkI%~mmE)%tV3Cu;riMXf)+sP)Gewf^{`)*oNg`s0gQ?!Kty?u%OP zzNqEyi(2lUjB3L?oVXTGT~)tEeZ-RI3Efvd6W=|~@#J@wxt=6o`#Tpg1)k8j#Uz({ zasXoTA%&hyg%m=r@Z@C3(O81>Jh=ekLayFLPKFfiBIiKn?;;mN7I?A%d5Rz zzU78pd@y@>P z2#rV))#+U8j!^!dyJo&CRK%k4EDt5`MKSVd{yb_e56u?h?~$rQJwoJOf}ZSGhqlKE z9aHWO4aW!_m+uY*62u(SR^t4Sj)N;glZBLN53|&S93i#ZI!Ftu-xI22p<~<|klIia z%R7kK4`1llg*sWjgA~1k@Ag9}W2siHM%xa3lU^TcWSKh_TP5Dbe;|~)x0oI=e?CO! z2Sc;>A;B2YSbxUi%hiTZpOF4IwY@inMp)F={a7d|ky`b~sXf3Gp>!6ty{`#nv8e6+ z=};?++TPcNlE%qAYI}b!w067{wRJazI+94rwA(R-eVFDKLRk}}JOcR@@?vO^Wg}#_ z1Ms_ep}>AJW(#B@WJAai(jTYx5-)|aVubb*EuqwjvO2}kKH=3+6N}m>ycXKdqV`B{ zgp!l}RR>5{oP(GTL*0{P z%u3F)In;89l;^lrcPR5vDeWvDg|@S7&`LgZfbbxh%Jp&E`+*F^sdwXmpt?{KJ7h=2Aq9O{h`x=I=j zB^aWo8to6?M&>_4YlW0)7hrlwMndtnj46W9b<@sJ3QHNw-=TUIb#0}Y@eZ{r)9ymd zr^pj$=0v2dg!~HG-Rxso$1=)niprQbAY%^1=nZCarj#!rhe85o4$E&41G1;t#1dB| zueSCw2d2qZGjQ~ztG2P`2+O}%_AwKtQ%prbJzW}SCb6g|KI6<37WI5*oS7;`?C0qj z&^U9J5V>@Y#q{iJ)(P>Cxk=_~7PWLHm@O>o8g_y?C`A4acoybakf~N#dJgtq07xt3)v`Yok}r3gZ`LS`GwB2TtU(P|)9pcf&t{sh^J zuaKEqndXQTZ4I|F&4et9DbxP&V$y`P$59OBG0n!4D5hH52%$3&%gj1iN*9FYYS>&Z zq$02#LerdKwy^x-Ne{~?T))Z~BU?`4!Jf=uF+9m-neItG%PF3e3t1W%hmqK1<|-j& zfk_a$cbZ|=3Gw%Aw%H^^ZacI;w9PglwSk3q%l)BacC##Ham`-Nqqe3@GwBrSg}=pR zn%P1y20NyZMmjpyY!Fhby}uw{dm48Xr1N`ol&4lZ8q<6undiUEoLN#{fE-kf>pioQrHy5_*~Ibz z%XwzvIkHtBgfgFRR ziR_npmQ-%$v8ZQBx0?Bv${6)5>2|Y%VubdGE6m&&p=U`oW>JjLv!q(Hjzv97y4P%GQO}a<%+x}v?mtVq&n$`& zdX}`(Y>g3mmUO?Fc)4t)o+Z_rZ9-Ov@sa3R(gSAF6>|R2o|c{^J!F;$@t-BFGV6r+ z&yrS|tt{$Y*+RU^c~rgW><{Rv!pd<@;sSG zJxhAZ%wX`eIS5=$zU#f2g!MT(f_ zON3+zkyCgTWTRQnLe+~QubLx5{H4=s&bXFp)oK~Yd?R97%|@2#kP66aW?M|m9gx?} z+5g#fKEGjZ5mFIQZ=Jni_OhIgJoNVL8|DDZhuDkKn=@_Z5X&6I(3>-DrZ!*po!(Tb zL9I8<01LgT@}Q6;mMhVU&ZFAR6qXVQ?Kj%ZG#2#+&ReFzqTaxH%gkiCu`yoT)Q#VO zH?vr7fjog)9cC^Iz45ydXEJY_`7HFtFWuAJWR?i=w}MV{P{xR*L)Ye=WI20xXX3j#fu8Lpnp?BkZ%~m0`+EbXG zzfh~!tSS*P0ky7vY1Xi;$6kxJf-lW_7PZcQX*RN`>+UbjwNgaC5)Z;=zRV-$oJ-QA=TO!Xq62aFflA6@>FXBkX*=*X6KDEGwlJ+ zgZyMJUnFG&G5L@|vx8;A+IZ~>$S>vy%b4GAMFtr%otvnYe|P0Kb4H95Bjz`Ao)qu6 z^SfEh^2c%VyU5?oQWmVVn)m&A^vjz%PeJ4>&8yALx{ZoYCx-6VZFC(?hLNA=TO%OfyZ-q1I|C-qq+~mQ_j9v%7|_9(APU+%7Y#T1Qz$EUMN~)}Rpo8to`6VHvfm@UGFOTA3{B8f~hTBg8-ROt;E8 zMqQ(&Ta7I08trJSQ;5G+9%F40;$Nd3W2IM7b=-~Tu|5ndONjqHW6)Z}qOQ?0tR@z9 zjTW)u@1Q)m--7Q-XsnM+D{!Y2b&WRNvRKqL+HqE)5dRwO1gk-ae~osMwN8kCjdqgN zDPz2Aw3Dr#7@^~Pwly3hbd7e3m3$XXkG!&@YqZm>87%4=Eyv1dQP*gvTb(gN@B5u$ zB`=qGD2A@l&a?_+gs#zYt!5T=jW*MoS1soTts8WWc9zu=BXo^6%bI*Q#rW4~=UOv_ z_}6IXT7@j?8f~`K$fB;%&bNkz`0xAWS@A1mb-HS!YqSfjc`-uQXct-~F+$g9`Bp27 zx<X4P~wfJcq4&%m%!}U^y&rK?>g>nZfcY?X|F%D6q0wmi>t{*fxsE zW%&s)lSIsHmfin{J4-_HrHE}%7m{+1sIDD|7-}`oN~k5loj}OhLW)_kA@d;DTI=qW zG3P-RLFQYl>!cJzRzMb5y(^_W@NT@;0J+{uxZjtLAm!FtA=TOnv>G=FPsyzzj(HeD z_kXIbgnDYVLVF2v0Ai}GI+ph!r$AO(sSn7^-$8DLG+OIec0yi&JY{vTBo5=35g<=n z$q&j_lOXRw)>(xt8IWy|=d5NS`0WqK2;_OI^dV|h5x9GIoS{v|^_NvCMa&Ooa-tpO=wdd`8gTWJr=Y5p8Bg^+hFLr7U*7;?3cOpclGJMMcyI;|{@nF_g4 zNG``r#P=x7zq=aMC{CVFh_{$ABFN;u{mj`_mE3WmS-QI|koMfI&#xojnBnV1_}t$NO*#&7Ah8d=n}Uaz&5)h(ny zPW7VS>JhRcaOiRI+7{&Lw}$`GN^2C;Bl2t&F^N(FpQF~dkZ-*CqqZGizCjFaJKMb& zwe5WC$>=|^rQm+=cb*&#p>@ocIglO5S}s6Iip8v6#ze&MQ^T3Zk^G2F;g_!(m88SDPxwLFDCK?Hr~3_z}Lf^CXES#gnNl2YE7$XT(hL6!c`AHd?H`o{UO`EXUm* zPsU!1uV~N5(cG6CA^EW~>R7ZIb10sYtIVU$h9vJIMUYg8>BZavq5Yxd$-NL-!^56D z4Wa1?hdbq3C$=U7dBWiyUJu_#j19>M_wjnz3!#{d@F2(h3^^8Jhlg3-c?Ba^3DF*v z$BVXC}W(!GXi9+ti9>5MyW;qK&BZ=AJG#2%Zp&d4) zh+bSQ@^o{|HE4AgWO}%Vr5r+Ur%w;}vD^cpz0LISKun%{M62}2WG^1!JjaJEA!UI# zA*&E`e0T=OJdg1T%2%NO;cSli1~F^?Lo$nFRQ0TI9>@HOm|86NtZ<=>5xsZf#x$Q1UMr+MP8~sJhU1^0R^{3Om}XiJ&kj!( z(jTXeL}!OfSk#f|oN&sM)T&Ig(dtcPJ~up1NP8R|iRid9JKPx~bZq)}*jhua+T-X* zM8};A!!0pF$EJetjI}az9x{J{%vXeqgw$%(stD( zVR(`ru4H)iZd&q9`k zGllfWsaDIv9qTA_f1GM{S2*oi*)NKD5v^8)Q=apy(=x3MrwSgaHh-?xEh(;khwOT#c~^DlaL&i)sQYBvsvDPe2Tu`8_s9>4zf+iJeINXcn=h< z>cYh=Qz2gnDP>XTz4wJ%Sk!s%%J49YI`6$dY^@i452*9r`f!mHvE}w5^8?{UG4d0n zAv_Qxe?l6=BQdg9>S%3sxV}kdJ_S=qSL;uO3!f(`)2@QhUB{=w%|a@)$8g+9L91uN zDKCgtLL!hC!Z|T=9%N&I8|H7#+$ySddW*KB>I44G$A@Lc-G13p& zE2A++_B$MRfHOLTlxdXbRLK4rvtFjmWm+p_G31bpwJZ}x;i*0(HDie7OT=t|Ovxx| zp;pz}KBLelNP0%MkTT7HdKsND$&=ByW^?9)z3(aWm3i zlafCg-)TaQ&!}SAfS5ZVCuY>VE;G{{dkk`FM)Dg{-bKuNkeL}ZEEMxU$hjHGZ8Gy9 zVh&3itiS{cJJav0>+jCmch)vsuk38~8H z7P3^EvX%7Z)rS(%Z(NlxJs$jgw2GLqhrt!Ur739>4q zlBF6k*Wez};~8}A7#W1D&1e=2%)0$BgBNss0GrD4=1k#z2^&aJst?q?~ zFF>|rq`yxw)!MPh{0U@h#%dvD+L?dFYrjIi&PeW(dCo=5*r~V{&d6gagiM5dn^7mE zOuG?sFyy<8W+4@U6%e{c`!1tZ#snUR&|RbNGCDctWk@PoeV@_IF&{&Y64J{t1vPlL z8GGY_jO`rr$}_lQCS-_X0{9(FI?wzeV}xTq+kp2{g#2{9LIw3b`HxkkbcCBw`+v>qyCP!8-@5I1CO`2aI2fM@jYW1 zu7&NYk12DRwh?)LMxG?QONczXp!;L^s+34P~Q)6!SXSB zu@_<{*_05P-#53y6Eh#0#5I>b&F;*Ym{sGY;2##=tjE|#sd-S))3 z7nxJ-29{Ka2}!d%S&n@O_nIK-cF|{|y4GHWrw|a`Zjd6X(|J_LZjF(-hzZ%&=W?1I zWTt7h>`WHA+PVrcmYpTV%VXKIV&r4oE3oVWZly+W3fuFP9KV}JZ?K2$5|$HDi_SnY z>{6E5kcFs~VOOzS$uYKF!*T=1*meWUZ4lZ6IQD9mRS?<(ICc}u%Md!Jjo2+LT@X5_ zjo2M5Uqfh_x^@@KFl3349v1qYXNrm1eJqDSC?;wTve*!shne;;%V`i=4>Rrf9yy;c zgxrBv$Jz-j^oztRge0>pgV6Q+Gf1=XNFxOq*nay>q=CgVOPb-I!KmX{{>BRtu}(pn;_YC>Q*U-B;YI;a+=-8 zG7a(@Z$Sr$O1K+d)Ydu7aONG9Z8cFTWd<_(b9kn`=_FQvTA zl4q}G`7fjhF>~xbmYtAtNWPu)m25R>tcS=vyf`71~LRGvgh^7n6;3&WAIGM?iM1S`34}xcGEW$ zQxSL>F?7%2I=hACV+j4~!F6^g%g>PSF+$M-yPG8*<5mBS{ptd{S4gck5wZ_5FSL#A zl(|euD&%^*l;tqQynX#B?FPGxB@>c?m>X^5TWVFUod-D$a4DJvx!ay4q*nU@@+?~2ZP))qF}2!m81Zf!gcG52tQxQ;S4v*R?EV_ex)QEZ1PL(3|hlN5iIcD}g zxGuok5s%whEKl{ui|zDrJ4eV0?Fz)um~xNXc`SE8=qr*Z?0G``_uikhi)D;AV$zd# zBa0d_=}CJni+b<<-47MAb4R^2T7V1!FqYk=isPvVE< zG+*gS3d<@_ES624Z~S_N0+zfhR32m7a97 zY{KzhW*%T!(k#c$-Y-$zj>glLD6c=crnXSkk?i8kQ40S<7;r zCv7aJcdI--EGxa3A(oAvBn-=5eBwze%b%WPvh0g@PGv7b zsbNXL*L$+oS{B2THkPwJ>0z1Y$q>tJo+SJ!d-1d&o_Q>e zC*>@8p477}@uZ2R*^^F|FFfgEiO1K>vepR8A)X|S$X;Z4lFl;IlPs3`p5(FI<4G~g zi=I@meC0_a%U_0z-v8Dh!tBw?rQ#TA~UvfScHCd(t9 z%wp;Are_{YzbEA^?Ov;TmJ7D1el-b^=XFIoo|D=2f7A3-1m4eIz#~3bl;cl|}62#Cb zDs6U=6wy-}d%w-DixK*g;!V3zNUe4|T5Uw;c6;*fl&4mE9?}PS*KT3i1Q~|BZ>Pmm zjC@0TjDe>$b`A@@jkz!6LpxsxpU`Jfo)PJDcqiZl!wKZFdPN)A~@0`u?%K zo#ki90m!_?HbznPGHn#z8GIMlM4#GOEC)aiLCj}%B})iG???66O+sq56Cp<;W~)6A zBPOKRE*kCkD+>A2E@z>Boe1f(YlQgy`r57+Qmg$NnR5{HwXN+T=OMivnS?t7{k9b& zXCvktyE#VAhitdg0@SKnyB@8+#5VSwJ&R>2=lR~QVp+yAV7CduIRB7~kmm<`-WXYZ z7350DPqwos$qMa7$b87pwzZd(c1Ss7$j(WStw?CJpI_}lmY+`9O0swAORRYM_&IpV8 zmTH0%NTTW$0rgGReoi8b`X*~XCxzuHWTr2JCOWB7#1=ORwI(_xF>)kif2Tu8wbp`G z8ITmmm>}my2V^?rAg7$=b4WJiV5e1x>^uEh+$5(bq(Z5XD!P-$aO-RS?GB2 zLkoV5ZRe_kJohp__$lXHf zSYClV1UbfOVEGWTM#x&0Zy?PO-DzUc@ZLd(kX9D;?uy}bu&8I^hSMd)pR0z`&7$Uy z>1>fQMlDmz>19#N)N%$`)ba{DgDh&@2s=Y8YPpA<5f-)F!%iSsE@ia@Gn@n#^^1hI zlNb|2%hYj_qse+vnJjm*9OsmlzDcroZ`$D;@`zO)ybEl9fi628+v-GQ^FEuIn7zlavDpHvzlcN%jr%l zOA*T%&LGPzEN41_6uCyJC7A0Z3XyO8{)OtfPP!0(x#xPzUA@hl>sT@-P>;;?3}~j4 zDWp8`G=!d4&UCV+c-#9~PA<2y%H?uD%bCqG$CG?1q7|JdoaM9#k>@tMhcMEJGc2TC zj0QmGkmq<)*ox|VBF2}^ki#J7IcW#UzN?ryP9=+qxyTt1vO=?QpX~&+y3Cn;uvmg# zFRpOXg!IR$JXbiCEGo~{&VY~=+E=JP2YKc@Ig@tHv(T9pBX{F1co7hABDA9j)srL{%Anf71EDknuq|Ckks`9{cOmd7DK2uWq3cMo?6 zNn?2z^1G09mL-evyD&lwmTia`Wl}ARjjEc@V!L`tTVxT%o6M5`>89LPjS zqm#q(J-+izhdk!YX89ZMInY(fYA287QnWe_F;6%JLMpUHkk{s891o|IWA1>^S3gfW zl`Ky{=qbz^XF1DDkkgQ7ty9O+4Y>gFoYNr0-;2KJtQO*5d%oy2$(TSczAdG#@@ES^O7?XBWGc&Y;h_N zqvhVN4b9w5jH&mkQ^P`UxK*H4t5c9FW9S_-dXuNknJ1(|n~Li6-p*T2WsK0fJsr-X zDb%V$qj%ycW|PyylFjmtlXSR@QSS(KI>jt=5pzGPzwe|SA!BZ0>2k_hR zR{TTW{fDS`(fvH?U35=IIaqtI#d^3!P2s3C2rcE$JPBJ;KKG;@F^{5Ek0+NvXnp>| zlhe_PWUD8WA#Xsoc`^g7u7~t`@^45PYCut5Sqg6 zo+P0aT^D@o$wCM{WA&v9Lho$*@(9O#=e2qPLT_yP@-1XNWWbC01@a{1Cr>_O8B{V> z?friCMD6{2QF}jM)V|IawLkPl?fpC%rS?(2sD0Egs`@Ckx7p!|+S~lDWUShY?({_M zMLij%_L;t@eWn({W{bb}QEE@Sn?k@`W}(QBgIzf zovQ~TIV|d2eN3d1MV+hf8EIot=jwY!w4-Dmb*`Qe$z)OI>SH4%Eb3f+??@AiI#=H( zGRUIN)e|G>Q)Om#u0AeO$U;kS4fY%3BSkC|r(my!J@WWS3Cl5%XGKh@kp401Tx)z} zxr`C}=NCmxM>^H=_q`J$TZB|-ry~#Tk@kyhXHnb5evx4z)!LB9o7%Jk?qm z%fv{wkaqD-GVQ~YBkNeyK0GCoc#N#R60P1s%%q4Rq*{CDcKOTKheSG9?3eKkT^#N( zL=tss)gPzM7!Qr)v#2x1!y@a1$oB?mTb>eWiIL5yH6_v~C9nq7w?Yn&3<#+RyoPTy zw+k6!X+_L0LPoe%H)L2yz@X`=2vmF$uUXIFZbl?gNO|C1h${pE_-h}fj%aD#+NBK?NUe4lBw&r!B9X~K*{`IBXHiGAXrxexJWJWwO|23`a@|mK?AS;Ni<)D{MS4vcqvlvvWKc+j zwvngs#7Mj)dZBHG(0#2FBb8y2GVN;!ts5sshFFFm`=IY9MrtxBrdk_&1bQl@Pl|Wf z@#KhQQ%re4-M2Y8lF6dJaXvYcEk$f`^cH2dx0JuWAHSxD%%^yAG-`z)r+MPCoDnG$ zc`CG1X?if{XL>Q$K&GSB%t(odsnu?UoG7H3!3$;2Ma&{!(P%mmlX4;l# zMGTf^#N;97oJa}F7m%wV|BAH6$RfzOkwKQ95VI6AJCYZXnJ1*-4JF8Vkv3P#%>Q6Z z!S&$zk>se9%@{}ML`YtwREU3eIwz8!DPt_;c^2>F%!xFztiwFK=PHb-5NT$)148fZ z%#C!h(0R)PsD5!I`B<5Ui84=r2YnZaWfrMpp)(nh6_JFKWDK39{DkjVYa{hSR%j&C5K|Xv5>l<5j?A<0 zmhH+&C$~BcbCs4(eI)f{&U1p42P3nDtkC{Ib?SRVWVsOhRxk2oBlD`r7M4pOg~;3( zNzJA_6@iP;ciP)L9!VEc7Pt;VXQz)x9FD2vnAMRP9Mi}#t0OrwMr@~ax95pSfsk5_ zzS=ko)z?IdS#~sIjf1R>B%LCA(TY5Ukf$OAG4dbCGm&1F_YkuP@@ypMRM{$Z>?o}q zvOdzxvJElSkfw-nnv5BM+z)vnk|hN9TOg|-FGjjq==X`%K$;`HEPLTvr{xjM$4EjB z5qXh$RPdUa5DO-_bLpDcpS!laB2l8)=}o(NHPnpy^A1UM)HJIYqa)~^hIXPq*m41wa83sRDYzN zMXgcWBimV~*5Ab4_q_SoYe6T9AF*@))roT;#U1zwweX0horiBd9r#wMGRWHy+g&H5R(ldlXG0<0gm;@`gvJqa z-PRa67t1v2Zix{ZS?E}|k45bPrn`eN(ucL~csDCw_M)9?VY@iVEsYV1ImK;ZaURA9 zD<$|MGu$ErIOzNo7bPeyfMo&N>3eA)I7`Sl+% z{wR5W%x|Tx3(iv2N2%+Avpu1+%0E%-95+i$bH8_;a=x1@M4pS%v0#q7=pyQAyQZcv z-(Ak4rYGO6V^PzS?=}dj2&7>O>DV;aT_!~)7wp)Ez8aW>wc zck_j`Yw8^PDz{Zgxpp67X#Dviw_8Y=wiT3zdAUqX5CtLTs;ge+%y1rid{%kmD( ze_Z2I*{T=v=IT+}d^bx-yQY?Vv6~~LB9PdNJu%*0DRyVEq(BCRg>Iz~{H6(}hiWZ!m$S^|S_|DeDPFCG?mEt+YF+Op z6w1u1)(vhJi>h^l+a{zU5afQ{;C8Z9aIG8MZYf@^8{7fTqiQX3voGJZ)=h3Hi>h^# zt6f1c6@g2+)=h4JqWV?pwy>yLrEcbxverXftJKY6 z`JHQ(x;aw3TBUA*5Wm(Ex0OZJTIvq7s9H5}Y zh+pd#cZ5aNs&K8VU^{(4y9wy?NdtHN!Q;?=5fdpM6;UX`wMwalz)-R2gt zs9LwVgF^iE@HTgtC3!0DV`I&{&DE|EefMhJ<|YgA`?bt1W>K}O+_fyKR+XDxB_r>e5$oVQ{yo{=q_SW<1s$$mKMtxH6CN5yOu?b$M~4rE5sj< zakZO#9kueuV_f5=3Gv5cT;pcR7;ikrweGAKp*t{7xkWKT<1s$%E{_o!k8z#b%%a9) zeAeB8@fg>;%VUJbV{CGJV}!8FS=HV zoIkX-(0Gg++&Urtc#JJ>vk-qg#um4iMUBV!ikosh<*CKn3cG2KBhRaDkr018#@F0M zF+$@pzV7zL2%Sf@xq~r6XH9Rq&JA)3)p(3=xkW5$JjM=pwGe-t_P5=2EK{+aMsd`8 z+ijL2wjH_}ecSDbkrNTK$?X&3ABj5Mz>QShf3Kj^&0jYewZ#oAqMpigttqv5y5yz_@xNdG)Xip5z4+A4ixJBFsawUOYJKLm zu&920?sl=L>YuxPEUKrUyU91v^kC!@Od<933pXc5sHfZ9QWn+I|GJZJrdIfsK9MgZt+0b|Do3H74Qj?jQ?| zg1#SOes_nZc-zkJZlHo{$+hKB#Qfpr3z1vFF_00rTZn&b`pfNOQOBm8ZtATfkJwVe zXtmQV7UFM%JKath6Hvc&w$trqc>=wlua$SYJuI(6q9RY96mOb$y2CL-+r{5*pwjQf z$!HZ9O^%VXA-hKx36cFOfQ*h>xB1h2C1j6irI1>!ZjPp1E2Q;yit+nCCfdcK`o3p0 zd6|q+$K^evzn5 zx^HwqNSPLQG`2XrBb^it+$A!L@0%%RLUghayfc89??1(}t!M$qL?8pmoE)vpu7;P0Imrg|>b^fsE3>I~iIV_sXqI!`Utr8;pzCZG$Mtg<$$H6Jl?NYq0U`jM$1y%2lqx&|K z(dzJMDht&*3X&Gh72?msBcu5&s`^pU8g50S=m*j2sAz)_xleE)Q=>gHW{i5ebab>& z#sn%piq}p;%+b*S&O_C6h2+)jx&)7j&SO#4^=Q&PVjhZqor_j_v_(k2S1TB8lQ9AM zRS_CxE*R}(>A@1DXE(uUw`>(h)h|Y#V02iB-}g{-a;=;mRo#pZ36VX$0QtG$FB#p1(X`>3DLi`$UL zm(lo=o5b;A_GgKBGL^;kWClyrlbI};o)kjvN9JQaDTh1-ndV6yU8iR}WS40kdnDww*l8Xcg}k+koCHIvTA&Wbkh`g4tj^Xu0z;$O7s|HYggZH+q~7+8HC1=U>q+F+wrt zM*CufV$O>W3Tf9=t@ESt_lfN^u=|}Dvl>%)el&qaoo}2UO=3~MDsp}_MT*$Ei$$yQ z7+DOtAle!ubTpq6UAt1$(&})e>L|uo?$MSQsX(iXqCG6Huf%U1LJGWj_y(Rb&@#Q$ z6EXHI-T=Hb+IYX*y4Bipd9;~Dtu2>FJ6Y7)a(T3uMXfEDN4E=+OQ#OiFORm?i_CG4 zIP$vSs%ZKHQq&rCRkWN%tx?xRwFhO4TBELwrm(0r>OavmA!XWntWk}qH9uOw(gt}_ zNGXdtTb>`S6H=>nBW9h5Nq&fG)oR~EUW61!XUE7!$aT@>ECGD+^Co0LbV$ewjh@wh z--Ubh(Le*`sn!lg%sYr#7@f^xLnvlpH0fa(Ltki-ltj~5@*#y-I@d=tSr$Q_yp|++ zm2CBh7eo8UQmuOOTaZ0BQ;d?$EH`?x74jOMgx(a*m3h4P3T}>;2&o9rnn`b!-yAJv zq2Ifqu}5x>RQx;8m zg!<(l9hOAXS=7;C>Hjfy{{elC{r|vE(>Sw6nB9#bgb?vg@(b>8^ryMONce%#ON z$GOgVpX+pf2J%Sc7A21TiUOr1c!m!5dwqs_iUKte(g!IHbVtaykdi=Ly=Y68`VDeV zpo(RWF-p?|cspF6FG6A=_XiSI%2Fb82&6oaOH!eY!E*x%kOu?hQq-tE7-%5z_fZc9 znj_={l&TDLM99_nEk6|Kju7z-RCQn=LQX}gWr2|h2|^wT#5^f_SfY8eRc#^ zHZYmRo4-~BEEaG6S`kQP5l@VXIb}s4@o8DJH>0fxFa+S(VW)V+l$(k*e0ww7z_bbU_ zd00s<%af2yT8hc5WPe&9b4W^`6;h$S3&|#FB`MK{AmUi-(LfJN46ceSMCQ@J5X(^z z(Zfdr#u{1k2}(*y3bka&5-K(RIoVeI**J#8RlK@@#Uj4nv=o`g16?GAnwaq`Ax{K` z8>y7q4p#8J?SLGMOlP2;Wd!mnGMfXLFUlV7i+iJzk$ET3#3G(ewjf=BgqLLINMzC= z?+40Qra&?wTLODXinR+MVxPG+5Zf$D6>8a#E0Nh67$NcZQ6B~}UZy_NG0C;ad=ywM zMeqAs{+2%uG?5hQKSIP_{o_C@XT| z#P7lv@t4$vxI*B|P558eVV(MNHpjqc2~)qc2~k;6BE`w%&t! z#1`deZkZzgw(?~FnZxnE249B%A$#5Y_soG1v6t{mo$?P^f^*b=?a#T${8eWBL$3aZ zEc}OT=#y`q@>{>+AIttQM)j|4iRT9XD&nu&o3U;9^;Ds)g1^YKC?);|iO5*;8}YtO z-W9Da{Y$CWP^#)Lav4Tm?2Y|W;$B*@H}>T#h}hG98rZ_yq4+A_qf}21OEm8Al1tIY z5(}xP%pl9L5OJRE)4(u`*jmKb6Fv=$NTJ`wGgK<`f8v)Sk7Qnj^ach<{3DrdfjunV zk<9i$<}393(!H%^d!UX4ZzMzO;(cG+1I<#@K72=DNS313+tAjIz(|C=4e1L^Z;>^N zdx<}W^anCo-r5$ez0ibb{{wSbE=5~nJM0hSNWoo}qiE0HAIOgovB&-@P#htfAv*)* z5%LAv+7-xrRkU8Mtz93j4M4sPWJk#NkfFfj^&(TDHQ#}69H5>b0*gtiHSq<>Q9+#V z4U}=_taYO`@s))i16?c^Lav1T9LU-r>zNB#u?KfL1sYgxfLx2rFM$D)YHcg-C>x8K ze+~4t%2L@__5&fm1)4WXDMqP@kdZ*mYeGu&*ZH^ed!UZxJ&4%X{T^7&vLGaXr+);R zSRTdiOJx2Cw6Zh|$bIIYfew~th{*gI*uv7m8O`Wn`Is}BF~IUQXQGTDmY+BiWsFFn zZA0wmM;XzZO?WVBJAsZ>1H#b_h`4Y?HG^19gDNMspvi(D6b8#yHX zW2$)HvX7BRQm8)-5nnLb$0*>8Hy7weDcAGxzva5njVjJ~v%?spmNVWLKgSpiobl$1 zeT_!Wgs>MC>vUhEg)`m^GS+D0Oal5Wp5Ga3^l-+TQ(}xh&fJN8oyf!(BT}?NY^$Q? zafaR@Mx%d>H}C9cB(QjU?EQ=+k`ld)OYLW*NYNf*+23%vl(+whHL^JK1ZQH69L{+2 z*8xT;i#LBAV3f;J`sG+Iany8xQOoi?>Jj^v1C4r?_aP#4pwYko0Cm6$=S;3hJhW4f$Rc{{r zm!XrC=nHtA{>vE88E=M-GbV9n4c8NAByz@^b0->;Ir9o74Oq>O+kT&b*6#ix|U0jk%ohX2wZI4rj8l{Tzqi&LktBGu|wGm{Gu)KhW06$Q)*r zbHxK!a}e&xI}@41je5>_GyW0AYR){mHCl6#Il^e>jCTwWZ?tlzWGTL&h)lfE zMN*+nM$MN)jx@^Nk|XaO0~}>kk(B5*jtZ_r<|w0%Gu~0b(MAJj{*8KWM&@Xvi8J0& zL4wi3nJi=qkx4K*NGh~ENGaqPqv~zZdWE(W@-XCBL+cb$qV{9Q8L=eQ+W#%Vv$@C| zXDlYE&`iiGNTRWLv#jTQNE76Eqy7UaPod^bkR+ptr47;rImxiL%FHa3`WSMuQT(Bl z`H+6dDTeWpkZLXbcC_{bWU|poQlS+f^C#p~Bd=SQ>PF2mCeF_rlRuWS3Ym$JWMi16 z1#&E8iZSU^nfV5#PJ^6oB=nG|eQ-iDm_ z748=`dRTfP;!ftXj3E+#&mS<-J`-)pzc|F1rGSwsMV);zjJYI*x_9=;Fmg$%wJ`;_ zuN!?18pR}dlMjn&xSz}A8o_d9pg$p_ndJc7u{aB28L3~$Ogc(As3&Z!X1N@49>g(v zNn{T%fw;zCgv^1QV`#npQY?U+Z^T8&9guV*F+$29(+w*^RzNN{S|a4K-*K0}(Gel5 zkh#L>i4d^|m}?9~h?w!OGKM4MWt6(g(6)&l%D>;m7XYs@Vk2ZDGV_d1lKwH?%$Q?r zAt}+lnK8%c<%~BoUT+L=#+wmEKj-Edd0c85>e>5F-1%t~aK@X3Z!$_bc&TFy-7dTurvIOEN^w-}9_3328YqlGixESzt&amJg4^NlVRZx+7Q=w|U|;aiP9 zuE(2YZZifskpfml(;M@n-7V4TCe@OntkN${BAKzQai8j5iD4VPvvgj;%%ftyf^oWtj&NM-Bx> zE{m9{#dN|}xF6GVCcN#S;ci}j5KAy8HGU~XVsVk$k zF*pxWWUS_TyrYX^qlrs-M;FCLD~p(^-@>o*E~A6%5i|8xk}aGOf5&Zulo&mn*#bH6 zh0%}!&WM?M7czGnL!1#a^-m-toDnnrs1W8tBf5|F61tf2$C1R6l;~%^hjRsxdyF`i zX^^8y5?I9CeKKUJk;L_gxjTgr}J$m$m( zU!i@8yFz~27hjAs>PZT<^HH21UY=*2bl6DIz)WrQbpF!%3_#r79Ap?;A8v1uqwnBb_ zJYg*UUe?nO8D-(DwNdt?%>2%oCymaZq=+LlF;_Mi@jnYG(MFw&rxmciRvEo}q&$s2 zk3&7H4fhvWDi&M8M93OrG0P;#v5@DD>A%X%ODL5BdC_QL`E>8mnhkl`NE?wg|1=d} z{l+oUD@M}qLMpXi@Qb_$}i;4&-ekhon-oQA(U6>M~kcX0W_x43Jc4KcUoE)cn4YpzV*g3blF2EJi&a z7-dmXN+5SZJ~W#4k|OSUsD^xOWR8}y4kF%M@u|^C;vdEJ;8c~!$YUh&7i*7UMTodg z{h5&&A>!VZFN{(tx_DE>v3PE6n^Df<-8r+(sF9+M!?zg?5%q|pooz;AgglBqZ!=m+ zf;MW3;U$sn)zFqX&%mF`{OC zkr3CKGG4@6M2r@e3-G*^*y?r}oh;t-dV@yXzOt0}blz?woyB_=?>nP;tjOT6zc1v| zc|RD@F;cvz>V7m=o={`4(HkDr^aR2Mc0lW=fxJZ0!tw!RJ>Lp?%{3GQLJgfqtmV-J$+eKTi{3&yj|+ko@as5vp%L{gz`;miraZkC;p z-;p^nm^fb6vp0?!_Oo#wAXvb17~}-VWa9%#4o)%Oga0@bp5kK0?Gb z`nq6KgzS&Z6TuFWb{vbyHTYz(;8;;}yXIY^e==B3QmC!l5v@%^si%THobj&pHv|VF zL|p4{2x`a4rPzj=#c%oPU@XhGEYAevSw3+_Ye%EzRl!b@cFnui|7@@(QPkt#53n{^ zOX6R(e<4`U;$5|G3a)1HuG+5)HnDiu=wAx9uz1(#UkLwXYqtcOVB!A^zbhA_Pq7MRFd|naX2q1-XOO=n89)k?no4}A(%%}f_lEZ$q@HU+g4XnjSAy@bfL1!G7GwS(|AY9X%&$Fp29PS(>N zOkfdbe^0{5zY)wKDb}xsOo4O+^H>%`qT+-UusjF}AoFIhlw~!Cy-S1a7!@eL^)!e_)9_DpRgr3iN*UBYzZbw8S^ztT|}kQIrAGNgCvVZoa?)exi4t3cy~ni1=Cr)JEHr7S*OUFy?e;}g1Ic-J>*{o3s}5+$oqrkEZ#lj zUj^$}ynDz8f{iTRJ>)xstt{R>uUqtrLS#VoHQ^E>3*U>VB?T+dLjmSvFZ849i@Dc1JIU)Z9a z?}BYCagbOS8q7FV^sq`h2_oLxGaPJWu^?i<`cp9JG?@`w@B8>m;pbpI%XDPoP|u#= z2uZOv4C`;@zF4ne@ZOFW0+cYLpUh-@BI* zZ{HiO#M}4ot;E~+>PozQ?-;Y3TCdhtqdx}vGu9kn5yxy7LH0APDPk$)-sWn^0cKi+ zpo%b+UN%~GN=y(IqMj7OSrr;FvP)-)We)}V(+nprHdkjEhjW*^H@kmn$Y zX8akVlz()3qFF;C$4A`1dZO77A5( zmO`%iJTt+P86l$P3rsgcM9u#;w~!QSRmdESdeY4yTa+r))#(TP9 zrrE&aJ#jG8Y?h_;DJUg=O*73_mJ1-KV@YS49a5-ui=>xCz9TvfGRqv087&8;E+QFW zSqhm6nQg|W{&gv?Fq29ACB4G5NGi2wQA(T}yu!?8c?}}IdvcYzm}NUe9GPdE}DB-qkHj1r)$k2maYTkx#eq3{ampWmHOc- z6VEbLNeatVO43=DD#>PfT1f#*r;-|$ZEL9SFo?MET zlq9n3R${RnfZvvED}&|#l;pD5hj`;t$}&S`>R1*iX=b@sNf*mgN(NZOK1{Z*oiF?R zvywQL1F(I`%w(2Rm87!FQj*28R7pO|J4(t~hLtq19DTOeRx3+bNjJ-EB||K?Dbds9 zQaqw0o~2Vs3d=W2(ph58@mkMjIZ;Ug%cV+cSZ-3%$Wo!CgXKvjy)11?_ON`eB=!Qi z6n`p7WH~C;>!HPBD#>8ETuCm=O-f2x9#T@r@;@cbET1dsV);(V0Ly;odi~L+$v!73 ziDNlO$z+x*l%%rUq$G=_N=ZITy^?a4ZY2#Y-zjNj(a-aG*v)dXk|CC}mFWMLOEE`D zJjdRZEk>|xoUBsN_xMYobf zmYqs0mVMK_9%ir{r6iXnsHBu-p^`e5MkUQG-zn*0Nw~mkYk=i4B{*?Nd;Z&$#IZc6 zWHL*Wl2n%V8QvZ;i)FLQ`I~W+_!N#L}chzep~{mrCMU z#{S!DD}^PXB%NiUl5Ca+B?T;7mDI3|P4{YUWJyud!IGt-+UjCCPRRhvG$q<}+2`w&#If|@ z3^C7NEX695%F>`Di^coe>9uA)%SM$cXW6c#fyMi_>9uAn%jk=}rRZikO34t*1xoZ8 zaw!%oiD!9QNeasrCFv}`D#>O!WV+XS0n6D+YFPfIj=maMvQ(yn|*%O-h zT#9rh@hpW(QdnM9lFqVQNj6K;WnRq%EaxhzVYymKBg-91I#_Cy^s>CDWDm=SN@6dQ zOA&Lq*Lot$sY)!C=}IzKZc~!WvO-BI%R5TyShgu?X8B1;7t6sjz5Wca7)rFuWuJ4D z#IckpnauL2l2n$pO0rnGmE^MwD=B9=G}G%(1Iw98T3O~R>1KIc$q>s1CHhRc6kjWe zXE|n;*H#M4B}&p+9#oRe^0JZwmTgLESoZmkS92rFX-Ya+Zc)<9@|2Q2EL)YtX3C}b zNl7Bh>9f7IES6bHGFa|ZlFPC|Nh!+`k8Z19T#MQ}b&2*OkJ4ZeTbgem83Y}q?N2NNXXnS3O zr_bW|*5;cr|Do2k36NWnSzyLX(c>ZFN_wuD%;NPY*Gy$eMn<%rYi3GO=TdUb94Sy3g z9cDgBdz83tCEkEhXqL;2wiES;^UpUqG-WD(cngjAS|xgK#nPL!%N%Qe@CXq9FiG540#`SP}G;hMsWsC$ zbKsS-&nwL7oH-UE`n=l)D4ZR5)Xe6L3#miqQ8SM-(>U{(xtKFoaON?ylrwpp zsWZzta}Q_g%v#Po3K3)YU$dSw&qG9i{%baJrj0X?o6Vg0m@|)?ZJha*Gf$YEoQa+* z>v_WL=FA}w(N?|L%bAloQ*RD(Cd`?Y<}hbwab~5dT_x6Fk)96`Ide)dn$D&+n3Fm4Ei&_Q|89e6aOO9NIOF=X>2hY@t7PVB zGo3RNAtLjPnZcRkIrEG;mosNV*5FN#tIQnETmV^#KCd$KWk$OKB9?2lSw&K*5wli{%%HxU1@UGmT~Z)pAMKn$ua1hKT;GHM3Yw<;)9aHp^7bykO?B zWI)8bS(?nnEZ0HA6Esa`sT4ID>&$YJYVCGpV$a6=6U;i23hiFV1jvi#Aj?A#@y?l- z&9rPWV*WYmm(95(Mfxga#J2jfnL|>jw?f44;$<_RGg~?HKeK={`(7h6|1--t6M~3( zUNNgUGoLfBn01_4!I>7bfitghrp0XH%vTVxZMaAs7t+~!|3J2-O~L}b>RU7WEw zv)=6CjQ2a;VD@pw`<-quhdASH&#mSj&Uo8%s~J5{{sz76d7~LaQmA{|^F}j{q>|oL zb2$3*n%P8Bp*gMkLcJLx*3Ro@^mVd_uXCo|j3Fu1-{(xb8ONEno!Bbz%YDO)=gek^*aN&_CXvWD z?Vo`jc9dyxylr+w$TY}ib5f36F7eBq1$o!(B`MOqndn1vfW)7PJ~W3pW}=Tw{d&1v-b~bO#*!53-b~bOPU4I=6MbwZaK@X7J~k(F#+!*gF;h6>%|xG= zE@!-%=uXS|u{Gc%7f-c0nFS-=@@Ci>hg<%~BI zeQs89#+!-0Fl#yE%|u_A4V>}z>b+(oXS}_7ui3&GZ?C@1Y~zf#SKnrKk;t{2i#532 zY@RPh-rq9&%vO?i{Wd(sFZPFhW*5sB*v6#vvg}ea#8RS44YS#VUBIGk% zq1$O1xzr!cK&eF-jX^V=W#XCg&1SpJES9dTqUo(KyUkn{@vf>;lo~RNZ;iqwYFk> z^Tli=@$YB*!yF(f)UH4&v2Xd)%vvbgD%5fyVtxH-=CRzZq>jaVi`t)NGs`2$h}ry4 zvxB5sdm2)MrTEjV$`dtLwcizu}bvTvyP zW>HFJ#MPs5q1p)93fVuT-6Cu5N2xC$2ZmbnWhw1iytf!KJ~a1MAr)FI(J3BSP6Em0B(21jsR=)Fm>r7IFq8 zG1SHK4kQdo3iYyl0XZLXa;WNdS!&dExSJJnT4?+oQc@suAt|8-mN}5?A!miO0?Me_ zArOio!CO+1$wMX(8qZP=xt%1QWi>>sK_isN(g6`$oe@fA>Elc=WU&0fnP4cDB`!z) zzRXZMiwzM+DP|~BigqpJ9<&|`qJq17yZLMEV8W~hf{-}%_;ApZ%)l*lDL7;-EmE7V#l+d36;D&)#g z)jcvJ>Ip&ShT2#}J?B8K4h^$h1o<~4J2bsamdb`)0+|=eBB{_8KxRU&4b@3eTU}0Q zHA#`a2pO?O<%F78Rw!waLhJoX)RPn1LQ<(^;Qh2>?aU92kodFAf>88*qCZ7?JL;K- zQVT*cB!&7{kSmJt&ErrUXY>U!lN*ZX%#je0$qglO<}A+K5K87u24`*vS)92UawFQh zF_g-gTF3>c=f==$o-)`vL1aBM7*o&!I1WV=ue4$ zDnz{L=)sUq;`islP>jsba*aI~ca?_*xRi@h;{MfTp_p=6&rBtgSq@4YMKj2B-PqIC}l%xLv0nJE&o2E|Ar<%NTaH)Kt|jZ^WRV^ zNr^75o*c0m?`sI9vwU{`D3%PC=TIsgH9sE8V%Y$>ghY%o#(A8#b{-F9Q>IA&1er|A zo zvRFiBIixw18zE0aUJ2>deyNur>qFTQ(hk`eid`l$h1yl9XDg&Fl)+NW(h+JPsnn0M zqqRX~Izx>zLtBD4Cg}_{lk`WO_MN7EPnkXv|L@ax)Hd&B-U$s+rbvGlZH=H*S7;B* zs}OOl)fLieL=TJfPKbC?sVk&Qq1H#8Crag!_^p2sG9DJCD(PKSe(;XU!kfR|VhvJrtnoG1_kU1Xm zX(*Fr-y1Q*LV7~kB>peuGc`U3BP0H@^W}_x$d!;})Z=FsLPC(wRXuk@&V}?UX=K@^ zqz6ZyqOI+rF6xhb2SqwcZ4dR56lq?6c7z6HMtc?YT#C$&P;xD;9nI_Em!US2LhS=& zvXJ>QRQxE7v-TZiKBPaiCqiz5d=)BqOk^sx{TJfgGh`stOH!nHOS&`ERwvu?mh|gT z;(w)hOF9^uTrb62(r-d7Bo*2O)Le|3zYQ5HMW#YK1yTH51}{`f9?Db zN+FS3LM=-D5K85YH$KCm3>I%RhC|sb-ck&Q@>#s4_%T$<;w{C`p&Ax%DfWaKSiBzo z5^84g?wS0B)@gxO9e)~@?g{kJmsCg-+~&o8 z>@+K$MBcG!QmLc}aUjW73Q3!`gzGuoN+t1YKHbWUC?)DS-OB!3sWYrHk`j8Csc8KS ztN9<&K~kyRi?+^1J!e?GELD&-c#18>8fJMMG7XtCE#n!nT)0~mk_j=ay46DD)_V^A z8Vy<9QnVHLyFt7Y!?tps6`2a{&PVW0CzP_SE|&GEN1SyGTRkNH?;>mslKAsr*c!iv z>QVbu$4Vlp*4{%sH=$<7$|8~dDTGY5>ZEAfkP%6l%XK*+NpG z?VX3?YpnP4tk~y7>wXW@tauW?hiO(S3ErH;#~T+|=`07J9&v5!0xLrb%`#=^;RRMB zNuhc#M7ovINTaG9fl^{GdZATJf-n1IYT7cCy3iUTsUUeAa}A>RN013v%svHRo9MEM7g= zTk%aIQ=~nIn#DQc`Bn{ye^z9^RZmi)w;}T_+FD?(W~tQW(_Ra#CYCN_#F4`StA%9; zL_Dp$!0KQ*^_^&~@;&^;VRcEN^}Yu+=UROcqNU;Q3u{k=h^w48S^7HBXSwWSk-6DQ zh>(epd@F^df6Na-yd4+Ehl?zW<#)&pBxx+0@N}No4i{U~Sq^wtzW;EsmBr%qd5M+H z62MYCjHOs&<+1Ez;tD3@c55+99Hfk-l;r`uD@L?+hgHt<7(^`B9ab&N@hByp<}R@6 zSx$v~jWH~+8c9m@07TSNXf?B(3la4cT5Tk9Px}U1ztf6-QH&VA&W3f7fbqG@ie-tq zNlJ+|i6xfhZYz;x5=*I-%yJCmMAUPSmBw;d;b=emA7vs$=oms<#?gyteACMiSZ9k5sCQM2>3I1$f5U8vlyu zvuu4F{CQBzR*jmg{h2R#`(NvMq6s?-Ls5C7W7dFK;+@y;jsBHq9(&Tshg5qdZkH9u#? zyeijDKjeIp@hm?>#Fp@!HHkzn#SF?MlgJU919{#mU=d4k9b~OlP9m3LA>;+Cg~VTq zCQDy0TCdRboAGx6GEG(niGNmPos}hp_Sh3}K4G2JLn7DCJt*~}HAo`cs(`#?Wo)43 zQrmp9RVGE9foZm?q)^S`4RXy^OsiZwVksU$Juh36NMy~AL;h!#l9Z^LU$J_m=o7IN zV&C$L)yHx&WED!iVhxhWFmf|?BX~|pN1#Ut^5dyg>+a$B<)%S zS{K{ln^sDjC?(I^Oho2QtAGSY4#wRODD}2A#PTC# zGUOdA_H|Kn1^s<`Cgfc!oupdZ>lPeKpwC@a9ZCNf?-%!;)xhHY;@-0wN&NA7&uS)- z>%vCO?^)d>)$|wi#gMI5S-WW6U(ye)EhPSOeP|7E#+yMtw0hnUrHZtJ(8EmB^NF>G z#P8v!mewIM{bRfyero9?eh)vjVoCh@>r*R3X4GueW2L<*>+$v^z1DP+68$i=ekEG( zwdQih+qd*uXd3_8M|*3q*UF)cT!YtBDVf1j>bwTGTdkC7ALGrQ+pP|gA}tAR-GWlc zyhS4x<&DNyR(+R{63s@Y9GP8K)_XzFb*pGy_HY_9QFZ}~*TYeEGl{=F?`6wvtbLq#Z>l&Ri&kS(*0q@CWxD|^_>;`e!g#qaYFi{IxxED?SFP>f-_?)O<|@%tRh;`cd@M2@QL zb3BQ^Wk%bLGNbRtvbW=}^=P}9K%}M>^&rM+qfH| z+Zo-o9cqW6o^r?-d$kn$s;roW$Jk9Qry?VM%VX>omQ9z+^P*$yHWJzT!&FZniEQf$ zNQ`ZKEVua(>RAmLXS*b_)Qcq3No1clLiV%glE`}AgzWEab)zprJ?}$em0Sf8bKHTR zjGGVHfsB&Tiy>lORx+*>BDM`*9)gI!<9vAnBF4v;^$;;WN=CmA*%_G`?e*s%yM>qC zJH|f9Ze!VoQlifX*_|YEGQ4J4yPZ zysKt$cJikpQ>6WXw#J~;B)f{FLK}S>-kT0N!jA0`8NAUBauVc7yX-S5Qz2(T66`^i z*^sG_3b^%NDBK*}$((x|QEmqeZi_yBE9 zvvXudy960A@)y|!EZ%SMBD;#DTDuyV?I?AT-N>>4@-^gQyN9KaWrn?YmmHs2Q5t0~ zwOa>;$k7-^smtv6Z-n@xG0RRQ!M((&XY_@*d(Tdb$cU|OmYqrBpV|J89sMoUqu%8{ z+aAy2?KfuIi7eh0HQUaTqPDu(b{UJemzZsLvOI?Vi1Ep?`?wx&|C418vv~WTEIV|vJUApuCP zo%(|;bunZrOYJ6NjYH=+-BK<-wu2$=^U z_p?;Sd)JAol{|oqxVp4V$)gZ)J>_8~t03Zf(<64`u;{aY+_KzuNlNs4&}T7wF1OQI zYLrZ8c}htpi}&~Pa(ga|_ZQG|JD;RTe+8w)Y`)wskQtiw#BtPedv%0}^M}jr+#f{` zi|FsKIxKswJ?U2={+3y1Cq;-jk6mY{M2I+#{kZK$h&WHX(w;6weSh#tJCntm&7ZXA zvUpcdp0smV#P^9_M1P*N^Q6#Hw2*XiMjT^{aQtJ`9)nqkp6E(Z?>4d!%RV7?y*TjAuCvBIdYf z>`5f@xaA|Nxqw6-w|oz2vdc;2am%leb+ko^ziN|E&t4bd?30qEXW%Wff017w(zNlA zm+X|^{WW+BuE#aonI!#DUOg|{bu3<~mu>40QK~=6tNDL+E=e`MdxB#h)clHFuf>Y( zS-S{w3glJ0hviDh>5%pIFiEv`1H^%}+D4QpRjrjn(jXh{A(sC_WlDxLAvdHl1gm@OS_Tf&^vG~7cyY?vYZMz53n!#Ji!^K=ulEv0RIcSklp9 z?EqO%KG(BPxcERRcR^l8Mh|zftbn`@857PsNM_bU-h+${Cytjw>l6|b&W?~>ka6KI zl1fcveunHH?jfnrwxXVWrsHp!aQ4Bno*yCGk%JpNxIgD(g`PJzUS<4Gz=49L;pI+lgVoCi5BtQ{(A-n=PVy8?1@xIRJ_ zKu!(!u@s@yt&rsK#NLU&Jt60Y zCmktEodWqDa$dNAq*8MsBapOk@lhgEsm+G$Hv>l);p}6C`1b?M2zQhCbLEV1uN1m( z@EDYu5gzzQX5=6BWF0GNmi3%SrCLe)qi#U!XF@IucaaoocR|u2v%-1DiBg5yLy*~! ztZ?S>LMpTdhp_ zxKRqt!jGZUb>Y?%MLq4B_qO>3;iM!f-rMGL!=)r8x|o-rMXB6yIm=G8{sKu2%O8-J zN$N=C-xuPI61m|Xl4>oc2){VUjp2loL|gv&{OO$vcUl^{9C^g{{Twe}%k@QD-rAopnC(BXYjPFh!iOkY)E=l{C zX{h-WNLe_aWiPx1eF{kdiR_{1Pg%HLik5*=yPNP#ad->MJSEYmh_+;@5bC)EJu@K>h3B%|1-TAV6V{StrWUdUQX6h0snA}4h_`aA z2oJEdu{;`%n?n6j_clKkj%N{1sf%TQES$*l5lY=lGMPpEIl*QtW z*kj>TmSJR;QK{)tXv=&YQWq|Zkd2Th!%Yz)-W#$i+{5+!iFyVh&xQLUGT)Qvr_1FU zS1gbH)`nwQyfgM|!*ML$8T+;2c$OnnsYI3(C6igED@kGT&hxJgTP)sr{AmYBO_sg2=bk`i5fT}#|&{#tm1;Qo8cNMy7)^$jK; zLo6vMC3?6yyobfRBWQD23;2B&Usc;2j*XCMsQKOSToN3;qn??N_rp0X(;;&pAB6Kr zDzur9Ye)=3)Lf}$L#~Hx3750n0m*}G4Yx+fBFKl~&Il=jd=$g!Kmr$w>@_D$$l=XZ75v6*=y)55Co`!4-53r0Xk$EVT5%LD)%Wyu+naGHx7zh_c$a|2T;TD$Z$b1g@I;`2U z=0#j;Fr3a(!SYSGjHMB>6Q#Zl*F?x}$nJ0_%Nxju9)2J0ju6qqAHqpt*;YSiehQ~V zh{*gLu4DNVnV%uQhC3WtYQo)8ehbG=l`;jQW#E`292X&DAisx`&K8*p?HptdhWrt( zVYwJ`I7D+=STZ0-L!z97b7ZMGki)R8?&Wl|EP;r&qMhCd5p9ijI#Q{WI{&=4GfYyV zKY&tc_?E=p&IpP88}=fSm~%xb`8Vuj)U%Hhf1Z#cy%wd!-{!iLNK&Y;fruxPmCEw~aZbzy zQjUg**5jN^me#gtZ8mC-b8=WtK}L+vM5l%&!1YXY8d%blBu|qyU#`SuxfUX>%S?1q z|1C4OLBu(biB1N~ohnmLQm9oxu0ek$Ix*?8)KidL$RSP~OOuiWmKLt(5GR+VOGyjM z=Mb^A9O6V@C~MxOWIW5yO6IbRy+3hgL}c<9iEIWs3eBx zP?Abgt&6Y!EJuHib$VIE*MI&?G9*Pydj`)5L5_1qBBTj&ywi8NXuU$)j+!?@lAMN2 zDSIu&-{p{Gr;Ftn$mq*(HpdxenF`q-lHv@{lBKSO911zhN&AnKdmtx545yyuSx5k4 zI@z;jrVDZo#Bvg{r0j-V3<*0aS4cVFUi>Wsah-aWDUbz_vmIlO%w#|oK~kLzmYX3( zkn@~^2&sTfb6Q!JBJ(8VVn@4D)Fc1C5bHF<(MkMun&G6dc!|lYEvBm6WqQhW>~x;WDRz$SES?*QRz*48Am1U!nZkAppLoCmIxbs9?CHfp>#zU@h(pYYT)Eh#kvlJ=GB=ML1 zDyNk*_aP%j>?)^&r4}NV{VJ!6Wu=mC5_x2G>X699UQ1h)_6jnGpg-Bp9+CAFu5&s_{Qk^$v>eK)9LADQX3G#WHMC!*&0 z&SEM0s0ZY7-RKmv#6rY!-RP9D9Hpd+#ZXc!g=!Y>aJ$iI;>`J6bDq=kw|erNHWqJG z^PEl+IbvcP%X5ZEDrv+{L!WPQ>Q;!Q@JHijr-7sdUw(|%&O+v9r;(&sKjDdJ%_3U*tQToSB0@PeUf($#_(>Rjn<7%z)hLjIfkJav+PH*vDi> zh$ywhNhPUNZQbtFJuWg8+QY~!MCJ~si{%N(?T`W|x?X0QAk~mNon#XE*RdFlBFBo5 zE_{2k*h!0!)hJcsluFT~lkxX5q|_-VDb!y>%`GIgoLPsbNH#(4aq2nqRTS=uC21t_ z$9bvKM^dRR#XV>(6LB`oNmwcREJbX+_d1JN9z&)J^^`eHB>ud7ztciet&X+scLrI! zdHH^4n8lly?{`L6-oa9cE&Ksz{F5~D`u9qbSYpe)jLR}bNhZsMO7d9lR8q#$q@M@bdSd?l+{ zRw-#?=~dFh5?$%lJj`;Kl9&d$6sD2{mg|%lEagh3v#e8+!_uv!nB`|BwJZ~>y#6$? zoS~$XWu}romiv^9uyiXK|Fm3+#D~0^lUQ<r2#A z>5P#0cPu>QB(3^u%?~-rB!&89?%_j@Av3Dxhnz-|BJDC{zCq2^PV#C|Pmy*lBxWY= zmvAPpk#ZAc3S_yH@VpSbtqw9B@|e>?B9}t!d+VGwnNc%ZozqR?FMFNS8&OK^59^%h zwX_tfhyQgZNm1kcxRXHQkJ#f*^5055;iQoiYPVpobp?7@@8tZgo|R7C-|AWE6#uQB zC!M)3P=8eGPdPaxe(O&;i)BXjxxvY65~cjspLVK9{AGW}sU`92dB#~SGpe3dP8-+r zUyQR@iq%fv-|BhR8T?y4&pIQ2t7nZfex2-(wie&0K|Rkob6MKC=0>NO#P8wrP8o^6 zPM>$GWJdMyd1p0AC4CQi0cu|BEPhe6g)^nexZ(_Ha^}7yWe9BvS?8oROA+5CzaR3V zGxD+&eHre43bLiaAd@6)#9|ujN0m6 zbx;ZZwU73GgG$DEzufiC7Aoa0`+BE`#9uq>9c{g6yQ9?fPlE4Bam}wg zZ6top?M|00rD|?>x=H+++noWKQ8mBeXdA?`7i!TsLJ`|xhZ9fY?|2#|8R?lXqiKK|O!)MXMcbtTcvd?0# z)dG3fDJH4VreT~rAYD!uiQnhqDN4PAQd^ydO`@J6O?+khbI6BI@*7gb-uP!ox1+r&r4FU^OuT8t$s&q&JYQ%3-gG5 z1tf)90hU5+&qGdKL@BY2edjbrNIFLB zJEx255%(2b3i;mY`atxjKT2E;yaF=pq-_0b4}WxA5`TPtbTT3&8>N19%1PuCPd7q- zc4|oE)7<$ai68oH-3j@{=_T<;<5y>pq)@9D%Z1FZ&IpO$`fpCmN1`4n_aO6|GbuvK zAtR1KBKxxp^1I`b$o{M#sbdk#{uJa-XP8C&y4OH7cY60+pd%JZk3qtbQrM=w-mWBa&{%3Euk);Fj0nW7V?KZP~t)x{7 z{k{AN+S=R2P-uJcXzYu&#N@YcCQS?nxHzz{GmrPG_^GVvHvi8Qg zpEL1HjawR#5&PB2Zc~Jadj8LCjS%r(*;Czt2oW_WyZR?$dv1^N*83E9I*Yg7r?~Yj z-rAYs_Of{EeTqB8;(bkcimQDpYxceiJjG3C@wS91ZVSt)7!5HuO>qZFiggDf-sE$- zTihe+Db_E6h%bkp?#6ybzd`*PNF_-eNxS+w_UUdCi9E)>bS$nVx#c9)_~taOxMB^a zxM^RAdaCgrd>ozb!Pi&a29io`)ya5{3Ymc0L4r3=qOB)j@3hMVy~#j-#^=K z7fA^{ohP;*+wEo%`#N!7itYBYh<%-u0hWV?@%|)yhu3z8q|km$tYzEPw$ZYaOqzu2 zR&Gp$xagtl7Ldq&xcHkW)h#FS?{7KRZD#TAZ#mEHV0jGtL(%8++z}Fgxz2O-?SAXx zyD#Ut<0IrhkTf?XLUJI}+-xcOy6>WC>%Gv;C6PT`gv^C*0g2zki`)hluZI`A%`9FI zFLpC_{B`6ncIT4FSx@xvVz*3+S{F0iDi(3~zSy(PaBEpgu$IM{OAcy-)PezmMp0H;$xQ?^uZUS)$bCZaina z<+|LROCp!zt=`edG)vL*cKJV(iOo5$_vv=SF12QQUQIO@v&Jk-g5{ zBZbbii|u)Vs|`@=bf#VOXMr2T@(|X$$mF`?Syn(qCfAK;S;?6j+(ec}&fMT8v%JEY z8(o8?oijJOsU-duzR=Aek!z+M6R7RkbF0Kr&tPq?cC~Sk>H(0 zSUX}VZgsO+T!>hTTiraC_qd0*xr<1M5!h29$AlSeTl1mE!W^M zGU9i-#MMa(_2@_B_b-;X<7I~4QC5vP<#u-q%XnngVGQqZ`&bT#yap+7M_5jRybCFG z_Y6{7ng#g`QsnC2NVxzq0J+QU+byI}n+^F9a<^MLB&0&S1tQMd+~c;A$ZcM1t4rOE zf5?CoU5waUTSR7vWl?>!Hs(LLe&OzkC?(eEQdj?u`a|P$5Hk0=aS?JPL`W7gHEwo^(lg1+cmf4QX8n=PO-?KgMw#s^FoOdDv8J2AwjC!JH z<4mC2K~kh22icFLi!+AGbaUncmFeZo6_A6e)Bww^kRwTkSx&?CLGkNe=Z>&cATxkp z$~rgtN7)c5Zl8nrYZc>C8kY=}@q*~wcD(;?zyyC8o$cU}C z#chd@8OXG_c|TF>npitokXPLfDf$63WS?8zE*5Y8YIVC=#FhPP@H=gFd!uwcE`TKkx!QwsI)3zGQXWe<0u9`UPu&&?&l8;WZ2hFxSna64I!X4&c{{2@#IALLtP zK61-Q@C+SfP0MKQW4D{-Ixh8zJH&D)pQ0W-u>$!C^?dH?+5se2T#qwh zIQrV=x>D4+_wBAWN@V=;+3u#0lxS~F9;Mxjqx|h|2FtsU2O&G$JQ9Bl``iMOO6{r6 zXzc*}UC`&Y$x<{vsTlb$-CnMz1@-K@8s89cWA_rRmuRm;E<&c?jVJN@^Oc*y8PT6i zWWI9qSww&4KnC1862Ct?-PI(O+Goh*AhXleqUC7pfGmXUa^pzw+#e(#GU%qW{03P8 z`OYn6necz3v?j=~+s$$kZ$jpRTXqJ{OG(rd=(+HboVvX-^|&wL3&wAkk{-SkWH#)iQRMYN~35$S05^)k>0ok(oUidz9Ki5_$Sar4Mqn z8WzFwlz1*bOPpgLqehV22w|goj2g|wJ*SOT4H9`R6RT!$5of~tahx8j7K%K|D*MnWi?9jK_OY?40B{wVC7_ z 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 z

a9!R8cfPQm6BY}&!MM>-&#kh76w#@gq))+??pLC(Las*!AU7d5BNLE`$OFiu1^c=`T5xA-NJPrX2Z>fn*%ooZVucWxH)ih;pW24g_{dE7w#qM{}S9w)c+;8m*D1MHxF(ecJtuo z!M%*#%WyAa_cGkeaPzU74>upX`Ec{$UW0oL?lrjA;9i4!9qx6w*Wq4=dmU~m+)}uu za7*Eq!YzYa2Dc1u8Qe0skA%1 zvk!pVTyRyD&2XCw>Rq%MZZq6F1xH=Sz08rlaC_kz zlv~oeK{@u9<(8p2|CKB88kgG8#xc@hIB_R!sb$R z52Pp38|j1eMfxFEAXg$+Ay*>A2JcSA9(PdWH$05@)9x+c@_`5I{EYky@yfI2AyFibWFgr|4w8%HAq7Yw zQUR%m6d{$6DoAzYaHJ+u3#p47iPS@Whtx-oLK-1QBTbNFkfum8-&9ARUo2kxs~2NEhTB zq#N=lq&spkatU%N(gV2+>5240dL#YH?}+rH%zov2MEg-@Kg#S6e-&~qay>Et8Hfx* zZbk+pw<5PAL(0!f3?cuJ@^76wg#1IuKNM~#+)%ioa6{pS!3~2O1~&|D7~GxZzc~C( zxI4?&IqgokJK;u@f9~`Va3jjkLH8nE;*G>^B-}{sM#7DR8->47aHH@y3T_nKXt>dE zqv1xwjfNWoHwJDD+!(kqaN~)40&*X6Kk^{*5b`kc2=XX08JU7SiA+VFLZ%_pkr~J{ z$aBbS4iTr^4Sbj?MN801Z^7Bf5 zB$gj(kA3hzmET^xAN?;RQph|(5=a)3gOo=KkqSsfqzI{m9EMazsvuR7YRKV8O{5l5 z2dRtHM;agvkv|}fkjBXIg}UZhLB4sadd zI>2>+>j2jgt|MGWxQ=ig;W`zbeMTp^PK8U*y-0KJ#`h&@&6->IK&ML!uRHV7!fWbW zS~wKFy-o?bgmek`GLBsaz6{(G+!Ndr+^eu(=U$|Hk?vJ^GkPHD?R9#?^@i&WzPxZt zkIT`03V-a;2i=!reK|IcIL0FrkSUZu1%3+r6v~}~-OR!|c{4dSlNg^Z9Fg}d_*wAt zw9jnh1!NBLIBTK1lfjsifl(dLv|pa7fy+OPP>0zIIrY$;{TlZYw(uS z(p=Aba6>$eH-aApXT#s!i1+v}Pk42~&8G1#>gHq`pMHtwoeypp;0=p6`}@dSW43Q2 zY(5`{PvUbjubU-W#=T4M(-wZGi^1?d7sGE=uKkq9un7t8rhENzPq{Ac74=Jawc%CA z0RcP~e0{#>&7d6&-vWLCY&KsUmgV*SN5UHp{tI>avUeiQe|vu1JDYk_a{8VpFWrH?gBS-y!CrCu>2Trzk&UIwr_KN zwJfjelZ*#vZ}n{fR#|!A$8U;zw~b189l@>0dv?mlM}dFBkMU#hv*Gci*A=XG>khVZ zM^dj~%vSfWXp=#dH5Gg>^{PH1;q}D+oIfVgePQMPg>uJHuEl13G!8$Dv9D1*%d1Mi zuK+)JLOeaT$70i-cnWh8o?(kE>F|@p)}1;|gjZ}9!yjn>Rm5Q9*~a`o83TKh{+PFZ zTn!%_^M;Lo555t7^z%j^8~@^f%ykL&-D+a6dOb{Cc7fH-TLb)l@Y%$FH1Qj@y3}=e z8FlGTUF`FD)kWjyaeUg(-K#z8Vx#tK3qRrlzikb_!8reh`gV1Gs!l$5yv4CG|2D2N z^-)jqTEE!Xu8n7wJ}-Vxvu_$AnUh|OfMtykN@ zeZe=fp0v1*IS5{fjm0n?{5S9}Y$k@<`8)W%@RLIP9{BQaCwUi+F+>06GoB4=44eO3 zUQBvTv6%(GFz)xoT<6EiO~-axD!rx|zGGC}YmU9y{CGcO!r2Ujw{bWF8*4Xf2eYq2 z-X~aFUI5R%gSu^wr`MA=StncLXFmMHC-6<))xOPB)8pR7SNVO{jqz`5>0)eN|D)&q zaHorhw(3M)mDQB8R$!xY4O=|V%__A&7yEQw$a^8UHa2yL&HCNy(uH_zyqQh&(eZSD z8UK%OlHQ8RN$-V1<`?##{1i`P>!Tj{F}^AMz|G7%^0ol?fj4|Q_$r6b1Ghf|d-yL- zNuXjLD|i7h82^C7CozHSe7Y3g#`%-*s{=NMWwSNF8y3GE zYmdzw*V|8gyJ3K?59_{e!pZeo}Y9Oy+ z<+XafioNyAf`E--*(?QHUz`8AV4Is3&n(9u2fqodemAVVTb+&N-5#(pESp`<#@e}r z_*WB8E^CG1Prz--yFZZEu=2*^rQPy1Z9n(=lLUSTg|~Cl&`09lXz+OW6XC~!CxflO7EEJZ1>f2x>OBB&dE2?XFMuxrKL&5u z&Sg)5=Yw^QvvFR(75xmawwebv-q!HPS-T96b>|UlpFa4s_Az`5*v^&RsiWf8+_Ce5 zmHUv3p?|=}%Cfb331tlq@sqJ%3tvLsolV&%yV$N|4{+H|_Snw;J9xu(UbAzhl~swl z?1yg;KI^2YciJ_q72x7e6Y2Av*=WA309(x316Vsp-}T#k7BS>Gy!=$pd*_{ax-aIz z9|pgkyw?5~jO9EM@G~ARxevu_u_N)kc4+K_BLidCZ5y5`>|17R=NSd#Z2Y$Acr(W&C#u??G@g=f~o&8^YTEbPSbs#ciws>`z+2 z|3Dx989#=tt;|pVkiErk^L;>o9~`i^eq1mz?oGqb1;qI;;(QiteLdoA_F#+wv(cQg zyf%jI+%eo?+jEW$_^j&I`Iqoxc-x7d_nN~M+p)fJPPe&V1FU`K-H(>;!5YKc9&9}E zjAjq;26=1a=Z81^>o}V`EwEVuZ@4GdkG4iNz@`iQT6n{kf{nMeLhIoq7pL|6REKSj z(3A)Ibg9F|T&JuK@S6hmTLb)du#NM#Dc7*-YuM`h*hqhDTmw$e3wRsPA7j58Y~y(s z*v`wk<}$2nF|*P2>@KkNwXKad-fV6E2YGERdSiy)4mKujZT}g*h-+1i4Qq4l;f>c? zv>%^3XBn@tx83HcyAG}E{8+m+3t%g2->|rsdXMujyyj^Ou;%G{;(VN#tuNZbtE`Rz zKiva)y9V;w`lEKR^Uy=@xR};ZnuWT-lqFfud*8bNpwwE)xTGI|E;J+H}VDrV!FU8=8iP_f4qrhgP zzL<*7jphA&6o$1vTOZke>F=D^j5m9mUvnL{_P6t0AwHLJPMk>HmG=(#iNw~7vM!*$ zD$DqxGm`1{H-0uYc1|>YDfmR}4X+2c0=J`Hw%@4U-?#Y?{!DnQudQia!8Q(c4Qp7} zuuF+k=j*9~*fzndZ4Ik!w}RES+XFU+WwXoK*#64OTF#iX^~dnz;7f>SH#XL%SAh3} zHTKL#>y`1ENAWDbeXKpdrS8_Af7ry{0{eY#zmXTPDFSQU+87uykM)T$VE*kso~^xx zrxTCIb#V>sRbRuZOTz$fSbU2BZ&-X=u(i*P)T^1p={>N+b`G_Ev1^&-7qUl%SGk7e zr>nEKeQfuDjbYjJbT;O{f567DYz8Z!O;=}Q{(FKIkJVjstv|f_!th+?-Bb7+?s%KmlLFXc zll|NPzchgDTxR#^Uck>pcw0|4fLDXHo>*C`;{fo_w5{!p&A-+qv)4Ma2`oQb!Sb^m zZ1LDVF3W2+wjbE#Y-~TU8?61nez5vIo?W`en!U=J1s?NE+_Ps5hKGT-62Fxz8!Jm~ zWj5La7*^XB;osu1`|UNrirMO$YR~;!>RUHp(=cGO02}3P7T{Ze)&6b48n=ek?;XK5 z&TVd*y~dSct>In4%4=A8yMvXtXTZj=Z2CJJn->GXy1zO&U~gFV!vpr~+HhU)J`z;%j`KM$TfKfJukos{VU3Li zF0YM^rC^N>;}7&NSg~0=73i;WTUck{)i1ljieW2Q`>S1Goxiq&bsjXVaT3od^`95O zwoX=~EZeuYr`*SBAKUL)40dj6MhrEuSKk>{JJ$tU-`P23Jbr$MA3L8mbp8!DbJ*Iv zZ2;T3&#tdK;NP(AweG*N^xn1I-|HB#w|MM6!#UV@g;zX=6;F4t;u+v9JYQ8_ z!^&$|c}qA)+kKc`t_`g{tqrX`ZGU?;ytP|H`o*p#r!t;ffNdSHy;CQ!U2EszQ!!g! zi{}RN)`eG_Gz6no82q0ecCPfw3siT-063) zR*+Y9xAj(i(bn-cehe!%vl0F_uupDIJni}>y>X}c&m;Qc|9b9&)rN1`nlVK@d$G4R zxsw=*Xa}8}tbHCk*T08Q0~@U^T>~)~R=M3BZ{wja{-0lv^zOx{)psD}KI-rohxr!! zKpoBIG5E>Y^u&+a&9JTo%%&M_XwN|mp91d3vq-~d2lyTV{tNJQeAcF{TaTu^x4F*+ z&OJHdJ?Hp6Tz_rm`pfw0@U2~&r?KZy=0 z@1mRiet&PDe_duiHEv5n_&%;RtnS7alD9H-vAIweyaoRQ0%K`#0FMQ0?i<$JH>|n8 zllaxPeetjRB=0evZ5{aXy@Yoye975S?-RxdR;I8pL8451xn3BHHj_@ILC5^*;C5!6P1xdxhZ1;AY&@jon1d z;8VaGIFB2yxG#BtF9uh--@iY$9G|*Z_HF=w0k-GMR^Qke*x-MXtE0_*;|q*OqKv`#J!*l!Bp?E$S*ip+3@!MLpFQh^z}YI z*JE!sHr@>P#Kzt$F#L7TWP08iKKXcm{V_Z!U~`|t@4?&rIuW0SpM^J{hS#y?*t7U= zsmpwLJ6EoNe-nHP_5%WOegbdtoC!ZX!0&|b&^hiE@54{PX0O9Huy&cvr_4dKk)Lz% zlTDkO&x^s<4kL-v_CGHWkG*$c&yU6i%9<3w={5E`uC2IlHr4S~uUTO2oeXR5G#6}p zC);D2z0P-rwYOOSR==zcU^}O;r%i0#Hs1W$yFFV2HWrWFW51lbY!C2uAIyB(yiruVnl*!vRJ zch(mJv5!!0efV3!w&ouL9tO^aKh@zva3`>xf19{CFJawl?(k^r+dDiS+y&eh`$-Pp z2A&4y^yA$HejZ%a+0O&Fr@mHqtBd>_Zh*}b*e}G!+T6Blxj)d(c3xOSUVE>}#?or=M*LXaH-qjeC0VhERgwyM) zvoT(Ew0^7wZ||{~O+&D)^M>u&Uy2)&>nYdPqC&9cwYAai0~CR^HX7D7m&K-X4WD`f zza~dKhL`h<&v1MEUwLxeJA6Dm*zOfq$G_FZo|n~j*!IKqz;lT~@Cfw zVlx|EFB{f<7#jn+RyC}$4C`J;GwjW0GvaIkwtlqppkejnd)N=AF1Dw&zPqz`Bt5PS zYhGm2cQf7lgx_LsebEY^!Zz=OPiIXQwlVyPv$y*0bhryP#{d4rxHs70LCyW=T*g=C zIc$6UN4VCwo7ij*W4vNBTs2@{3vACgjBjYX^LYZ;Vl(~}u1Ow|%v(hsLjiw|beq=2us+)|nTu zv9WzIWf`xrYI!RW!zfqB;C!*V-^rR_Ht*wqCpH%USK!*z_hER8`EpkmyJoa;W&BUr zSl=0zy`2Zm{wnMZU(a*cf#Bx&Ecn`gM%)CP>cn{vzBSn9<}hbd5q=D~J-qtDaC-j2 zcL6H~oBRCOj`twE^^x_L-E;e#bz>g&T1vfaUHSty7PHmM_Ani&*9`KGUdGr48{Zro zTlaJxd7L&kd=~tp&nLX9fpyRFS{)y^nBhO_!#S3`hHWh!#XW&+Y%U?M&hG;Pc!MA@f$xUfR};)PPxWkjlJQjl-rPVoYmd@TeWMcnBRXh z?yYw*d_LD3FW%O0vyXO8d1LWuI3HXe`^jLn?ZccezPq1(BnGq5 znqye!5sS_2tt{bn__Y1c*z5e~!iKBk-^PjIx(-`?j{&PqP7dIGulnnxtsAz-uytcF zZDnQIbAg8fb4v5tVz70|_F&&*Kit_{Uub`_A6|1m@qurn_08sQ&n5o8!mzH#&5!!G zHRsLrIojpbS~nIOt#yXAzRf58GpN^J>Ff2x_Bin`ecFG5Po!gZ+f+BKI zMH_xYeLw6H_u36&Kjd(2@OIjyJ8Mz)O+M}ot^{sCo7_S?wrAeu+Res^#&8hZyxSdU zXTxgectL5u7#6=jU~gD_ZQ8-G#_CvNs89T=OAlhOF=k`FJ2(%Yc7CyMC=6>H7J+rY z)Ud{e*=S7G0BcMd)|hNS3=dLnBg(BC$ZJ?}HVp8F#oN7Em1S6befnbLwVbntbB`K( z-LEsO`*ntOzs_P-UW?hVwYg!9f5W=pXya`O>*NWn1B59D+(uS6dh zd#$iPgME~}+i&CNY3e(N`+Ju6Mewmq@Tq}v4eOnJv)RwO*A<_}E1u!b-sYX+>F(mG zMLd^*ZJb*?SAfmN-X$31Y-}wZ0v_-SenvT)O86NMw()O%9tGRlwUn5ragTRC{Jp$~ z)$tm>X9@V3Pt0cj4EAP|Zd+`625p?r`PgV2TAQ~fW_$l(IedHYI?CDvHs01cd4e*A=F92(-8dhGzvRN9iF)SOyve^{i4U1nL;0=r48sH6!pT&Iq z3w5!3i8fB`+qw#jlU>+ouGyNP=gzy~HScVVRbBSO3&+cq;=BO1wOTf|ZU{FF<_+Mw z0bCUDQzL-uf))R)fW5W3{98K+TU!ZRI|$pjvhiup$hO0q&rj%Ui(l<;SnX!@6>nI) z)m^+{@fN>$!{RM|!*=a&^^%QY*)((5#^-L%^?DA~7XHB60zR;|fVH-C4cHi#jbYjJ z4A>Z!jbYjJ57-!%jbYgg2-p~wjbYgg4%ir$jbYgg57-!%jbYi04cHi#jbYhL4A>Z! zjbYhL3fLHyjbYi?8u&5mz~_vIzN`bg!QXK58kl(w7s9<%J`}1 z>}}1g<*=>8^}x3Ft{oWneh;?2(7IlHU&)?lDs|NOH>|NYE5I8T-!(8_42$m>;0=o( z5a11qA0FThi=P`P*Rc2n0p76qW`Xms)zS7*wij9&us1CG)dAkH_)P)cu=uS3-mv)X z0p76qT>;*(_{EHYdi2q;uKjgy$NJ(w9OzKf3P-3~OySZ1*|sybv$%`?2?$ z^1!kYZ|hPGc-w2)`!Gdd?X~KH^}NsWYX8t8VBauc-wbTeWUXAgHd(`c30sqmx9eHE zzqg;*bZ*kQ+s?%nv(?w)X^Xwawqdn{Vf9N#$J^R#c`g1{^ifxM#c%h+?H#S2oD+M( zD}FmyKIVAsS39`8+FLf{9H)Dg0|I3Y4&aFaY;!@^?9J)x&h%p!d>ZcNuR`#qaeYEPR-!ZzlGrv|Xi9q~42g>CK#&kf)O0X)^UkCi(Mtg&ZUePLMp z)zP%iXyQL@I`;#ukK8_dJiL`6k1hK7T2+A}+=m-*MVwqd*WY2^5yXhVz5@&@Cv z{xTcmRY$`w(uO-&TXZeChc@2?uer9DcF?;kwsy@Uwk=O{KZ>z!dp7SQo{3}M@HGE7 zUJN${+i$#_h5esyjeGBn;d%{TYn09l&%5)2@mmAf_KmW6D!@Mxz|REmRRh^)QkMC# zdo`BV?my%Zn{Z(OR{`riE4%+`b+o$Ff;T*4Vch#2xP)UFU->|*3;n`ddp6zVx*|Bitfc+8R?#{-3yP%iDjU8`wYz^)QZ~bm@+FUklU$x00DcTNy)o|H3^toy@b)_lhArHQT-R6%&!!}NIFXevc-}uKJo`}yG4*wZE+hMEw%ZBl3 z_^)8|Z*8^ieLse$;NNjJc8&9?%WLhk%kfs$4=(Qu*#Fbv*8+Z?u-zjC-aHntyIZ11wd|HJXkD)8RO z$^0G->!;ynU^^EZJ{{Z%elmS$^;*sN44zwe!do3}Y?zJK%!cIEKF$2xdK1@`F0XjA zxBc4(@Mdqg@O$6CVfzgqv(cJqJ<edyp?5n z)9>@Z3tL`W4^>CQHqPVNYfUyAoiB_JVy($$V{7|6l=Urm^P@@cOuoO~3$|+n`yC0x zwr4h+hoAH~ab;;8?hdc@-^vm;|2n@IFKm8v4Psc=9ocTrFy$VhFou>^I!vzt3ZSJ_3&# z?eh-}<{1I!7t8w(>QX{%3!G1@i{)K}O-F2&I^N1MY-RPQEW;|xuzkn9pK`6NuPAH0 zE9*)8)Np=s8~bIM|G&eJfZqhx95HPEBb9t!{>|r4`1~_I&8AksPn>h*WBAz`@MGBg zB=KW7=qHbIr{Tx=@vEuJd)c^*G$`#?N1;g2GoUC!qa z*S2=fvUWE6O9J+rvA+WQ-Ok?H*|5cM7-bn&42FX-G$8K+VlaN7^SK|a_B3pMs^iD7 z{1^`UX@Q>=_%Z%o=OKZfPU z+Vev4ZX>Vpue!WNfxLz-?@{D6th|Q1!K+`c!q1oZF@B@-Qv<9R44a>$@ncwi49kz< z;CQ|TpL_6W1* z6o-!>Z%1$o=hMbsTd>x1t8dz#I9qW}wD&>}x93gxu^7%J?`ZHJ@MC2e-vaz1_A2WV zY;5mm-&ywt8-FG?S2}z)c!^jSMTT5Stx7c(}F|7MYhA$(p#cyR@3w|AY!^6SL!IOxm8tc!etmjsj zN8vZXugAvP;oSh<0lt9!NuK-t4YQes{rB(>v*y19-V6Q&eknNe3GbwV*MYOZ#=i~D zbNu@uzR2;PINtJp9JYmd^hzA-qa1-pcM%g<{*Wt(blN@jOw1ADR4})A;J#UM9Pu#`5ILcK! z&!r7@9le)2b|LRb>>DuN{sg`Uyfo0xi`U8TLs?s}X^)>9 zYxCYGc$c%W_1|o6w0Kyf46m8OUJaYw*yy}q{6yZ%{Rg~ZThHU$N^zmXww~7pTVA!> z{yi@?FM%+DY2Qv+W8Vz|qMh&P2fWq2lSZqFBj_jMI#YnOMWvoU@s zb!_kAybpY?!`40};1>9__A#F}Hy?(#xo{S1SA=nRBI8i_9I)Eqdgo_4_B!W22fp3$ zFM-vz9sa;QDfr#oAF%!56qqix-L}|-HwW-X0sMu-b}rZrwz?bk&h@eRw0@VL0(is2U2Ima z&A|%rj}r6P06)=T8*hfy*DZKPu(EN~yNi2AhS!28fF}j)4aHO9OrkUvXc=o66ibTpRqScey?S zKixFT`;2vNqh_$D)9}VZ~$km+YIoz$g}@QVmKWJkR_6%n~oHfAqROU0HkWwbwrHd(VASu1g0SGQX1!cHHm!gMK;a4~QLS%KOC>hZ9wgZ~lz- zjQ^$g+KJyTepbvp&b!h6BKsP?tGqh!2EVS$HxB&Tz}pAjCGecU?+{<97&2(l!dnUp~PkRe}TjA=gI!{vhTYzhkmH`J1pe96YOH;3vaQcE`MX<`Kg`bLtZw$CWO7l zgBe?P(^{w`ez(?s&oFO_i3w?u?<4tWlJoAqrOJ1%+StM0Y^?TQ+E{;2Hgm1y#N?LL zCgFzyKN)yZOy5Lj=KE@MDE#Wc+XbE-c)!H`nzP)ey5*<)RG+v*KChC`Jz}pdpVJ&o zANhs)MOkv!J326H!hZ3!+An9+24Kg*e6+?2*yGz^(qY^iNQ@oW`O=1c-ir@!`dZD0 zj?kWoA>-b+Qd^=OvIZWO9k;{LkQd{|p^5|Jq5D4NB8EJ7zD;(L*`+KKpv zRCahs{Iqn?|B?9mMKvAY*!50( zuugZ-fvr;(yH0x(SNmy@_XRmRjstQt`$yiH@F$h=BK5&B?ImCNCHbi~&s{0L?=U2N z{Heb0NNk_ytL)#qG+TWaTt#w^53pkbdrTNka_*~O^PGO&x%!2E8!q-Z0DEnQj-Ru@ zZvW^!tvK^6Y((sQb7Id&u;;Q-vG0xK#rVek8O9Lnj0Jt>Ebd6WsF-j+*>PwMJf7^( zmSEqhgKZP`{W{op>WX5=XNl%k_!W9V;zW|uPqVM9$>FBN+=H6L=9g;U1sD=LFXV1B z&C+)rk=A3^XVnMq(fpWIUqkM@aM)p7<(n_0bsNK`{cMpO#-G-}IWhV2uCq2V`SL!i zyx7mtV8#&c@1bM+ZL&|l;N5rFaXTqW?sCCy8>~a%uW4-IKDq1VO10rtY7dv|YzqAt zAGe22$=!wv%FFTTlH7j6_A{$k;Tz94vFSS@w2cjqsNbdG?5;_5hx~O(z95VVD>bgh z->l)orqW+19ejA5c#+s+EbQ?a9mlFmJ~Kz3qq-{v?hf28cE9cr+ke<~R}4Cy_uq24 zek+vL0Q-rTC|~rql5ZD_cT~A(=S!1(2g%JjG2`$q(qZop@0++B^2Il7R>!Cy#~;fF z5|bDE=r5}O?J4`n-5y}SUlG3k7qxHqz{GZr^asVRU)V8RCExr#7v`gnYJQ)qJ0DRs>fyWli!66D=og^&q&}=vD;WBF>83__H#(=Hsdu3dq(cM%vXGPuiBO3PBHK6 zW)I8nR^B21N$YkC(=T{VF(#&r%=HsumvLO|HVnHBhd9H;mUy-&X551v+k)8f zfgR`T)IQHueX(EekR0F0x0o3FU1FD|Q|z)ZwhU-&`IyEQn7f4qaVezj7JDq}S&Q+9 zv7%RUw~Ya@^XeBnud>+jfn7&~VwVwi8DZOm(WgC>#I^(5PM?^38Iy;^J<`Qk%PeA#(5eHi^qqz}Jy9r}66H%azk^e>k_{DF1ow@bdObnpj8zdvzl9r|6; zv2RamPHEQp|JYX>Gw>C<@A2Kl+>5(0G0$^H#l0yl=P>Z*@^kB->-%Wpoy9zF!p;Z2 zu4h!z@0Wa!R2CTD?w4 zy4O_w&8h5AF8oLC-^8s_TI9zo?drrI5u@XA33i{g&KW5$-+i+DT*+BW_&3)uXK_7} z&(gl0vz=Y_JZ@#mi~a?lqIraSP_4;NzTpKkZm_;8h#xEJY(@1B^St{t;z2z-a14=~ ziLG^za~`t2$__gYonqG!?6{T0u3y-70lO|--p{FA-I8OIem6J$Mu2i*)Ba>rA7@_Z zklf=yyV!e#c_}T=yk?83>#xZE{2-r`}{s&?O%d&_sLzV1?5?mQ2R(c$-fKMnF7H~Kb?5K z_}QTI=fJCz&i>NL{HA8}An^>b^V%fIkCyzkiGQm3ZtKM7%m0)2tLghU-G^x$I7sir z;QcC-ii6v2wx!-y8BZ=z+Be9~&WgiQG57PElMeL`b04W^h3>B=IcqT3dr8>)N7l5Q z(eX_^{O9@0Y}ucq;_*8s?nuMjoArHZboQ3cEUmra{lu$N+Jcz1@%8fU6#cG^bvrs& zf1*||@T$eNwK_ac`W^De-<^bc#(jkD8*oP#ox`MqZ`>2+cTzCFom|7ZfMDiMINTn} z3%k59u_Y#~+r6hKCOKn5XX5HOCieP`_QP-XkB~n-8hb783OdAry})tOnWs8ht~hYk zjZOLvYp{~oYcSY-2Rp8J*!tZ;AGSVm<~t_5uZ-W^-L1U1o9*Af@{rd2axW zeeUi1-ZJBDpKQ`+FSt(6m8A2y?3|^vSBmkWRddjF;-@8NeU6U(TqgCfimn8XW$-k21r2VS+KIt?bS+h@C+lQMa$4_`W@i(M@mzcCSq_pVY zlH~ZXJjr*KK4m%**;YacZIpf%)u-YE-rxPQ8PCP0*#DR6r zh}gc3iOCD!klP>HMvva9^0LyNr{6=Je5~4JxAquGhkgOOzmP9|?G?Y(x=a2XAs?>S z^AdbR{wm2=i)r&)iqSt&I{qC2`EDoqT^a{q>TxD%@62X)lN?_D1N~+s@x9`=B_0g>Wi4(Iqw{s? zEc{tbpSt6>Z204MbFEUj>t3z>R?? zG|xKip!}I9fBftTz979r0Ombcj0tTi4m@wN{Bf<9%nM~RA9Nbj_VBZEO((-#Hhu^B0@V)H$@{|6Houd--9=3w~K~9{JyIjaU zp1|Hy!ya2;kAb8;{eGQo@H}4allHUsMl~M}k`F(jPBlmKUa1vg^bgp(_CCM`$)D={ zBA@3=zj~)g@?Xj(a~Ar)6SH4~|19SBcklw~Kb>sO9L{ELle{DN2D@LtE^k-Rfvp2u zhnT~}swDp{@0O0gcMq@6_wIX>ecrJQ`y2PLzhD2P^7S|CN0qOiqfLrkFHs)9ArAZ7 z^nEEW>bFgD+d=Mc)5GiYZTbP}``h#|=Ty(WR(A}<>+@}T%J{E-n|@Gv`5W{wK0GfU z;B|e2p1k}G`eDV8y#vqP`o+{c^Tpb~qj#MDneWIqZKY>}@`3Nj!}ybVU5(fE9r+3U z+4;6=edRqxL2{3ou*XturK)YOdS)Bi19eTC{Aa%%zff`5doMk6xmM3a67$Unc$XlD zE#FSORnmvM#N2u28?wJuzdKuLPf{Ob9EQ&l|5E47aIc={vL1tfrM@}Tr*k~T2cKEr zb_E{OKH4$qmfSHJ*1X^|7ML-I^Qe+^d>(bB;=ntfAGuZM*vTgAVc2_Tn0PWi_a+_Q z&s-M!+ynNR2JAD9c`44^)9X)Z@&6`059L|p8Cw72kH-fXKRE+jqOy!6wVxH5FB~`cb80`#QxA); z3jA#`a|Aj+7B5+%eND1ST_FFN*(5g2L0Q{8msyXr88IkPCYOY@M+rC;q$dpx;4sY7E{|zwuGNyQwVIcLYht{d!#Ne!V*R zMxAoj#9D~>_e$rjO3V8e;JM;U#o4WEqDUMve9;;1t+i)(`YZJNAdP9Rmscvb)bBgxCu1Z2xPJM) z1Lxt4IdQ&*eYU(@ZQwYi8UVo5gNF=-8hY$?+dQ zkyA#_>so_;F6j`r^K_@^_NUc1Z_-{e*lAmb&SlcUzVpJS_cF+xS6*!2VCxVEmvJol z#(JX=^!p{pe|$rqyqG(R(s8-qJuYv^{7mZ#_(WZLeOm3UGwF~ProHjq%uUZMx*)LGWe|5hwsl2>jfbrq=@&R7geu2FH zo%@B3ZR`657=Lz>Kk$Fjej%@OZ_i%?@{M*#Un>Xh4~*RFZRBRsnkz}4Hb$Qs(tN?U z=Y}MAUz?jz+m?L3`jq+Dz$c0arSG|HSnRQP^NqC+P+Ha!N2&jgiF>}NaaB4V$412N z`{QED#rU~-Lyb?D{hP(r_YxnYyUI!aamhIk=eZl-*qT&Y`!FH44=vl(A38@f%^jYh^^l*_WARm*m(^F{Yuau4)XD!KOy#h2X@?Rj0brj4 zw1}OybuD(iAa`5MiCr&wvD+BW5M3^8x^1BE7IXd*U+*&%033gmwbnHJi&G>Jf z$Ij8R^AqVzift#mW8DsHeSB~mZj#*oHwXQk*zs%&TnJ2j zHc~xarT%EXUECgYih(=D&Z{JL8N0+@OY{Vt?x52vwm;>-9ZA1Bw+4OU&$Cy~E(U_m zV9*&7`_2z?$EQDVMNGcczN7KhV;XYr@rRQRbJn=n=drNIVc6sFWYEvPpZKwb``jwIea@<#IBjk%n;zeqB)8A7eQpc-d9nS+ANv5`tFe@M0iRuW$jyb6ma!c< zellOQOOBt+7ad}^0pxD0#gvxz3A-$?^UaB!7jko_7(dAux%2H3JKvJn`673|tfTk_ z>(A8Rdn6|&?5+C5E_*pK@kj3dG7#j0fziPS`tp$2b%fmZk=uug*fAdtJR0=Jg1l|# zx_(yd-(OEA9iFG;gU*EH)+tEty<}_B*m672Tb8T4Vx+caLet+uG0lNWZ-v7H{V`$ezVF~`2!68dX+M!hfeNsdkG zw=DJ=bs)%Dr+NK`j>`*s?K+a=_%%j4#Gm)4!KN;ke!05aE!;T4Q z{aY~P&Wp6>Vev(J-o-u+xnqUgeW#SI?|op)v2P~rvb2uMzOfc()=^Dj#~B^_hTLtN znAo3DvFi@G%Y{7Z*iT|&IUMCqi=U1^<#N5i4SF8vvb!vM>)z?%f7N@KhZ-}SFTFswV+nV*3x<2hJ9p zb|mNwi#>NV`zP@C);2nRjeT|s?Aa%N> znElRU(&xE9I?p`Yn7Lna?0Zg`5WBpv%L}`_*7uytVT^oM$HmfYn(0=I>H^NFz!J8ef}-F_k1?+R&) zV)vs`kaq-mx7g)!UaX~if_{6@hh1Lm!1NdLGWR9k^mn@3lbAlpn1Bw?(FTHiC~#9+ zXEGNL2RZvM(jp&|+-(4M{lc!_@t^}+2e!^+(1EQ3TZgk{ul-tft@%J%TE&iAE^u4Y z;k&K{vD-ji>^6YTnlVc3wG(oWY4kPHwkU?}Aua5_&>Cjw6fCauTJ?C$j#HV1AAoC{1^$D}RDI|3I27sNid z=?rp@OS`LF-9bJk`(CT`1o>d{pYg4CEjj+M-ewKpxfn)XJts-?0%->{7py6}hE(VTdw=EQ*@N8kG(*n30Rbw}D+O3S=lNc#fnt|>8j!H)A_ zu#epS4+r^3V%h_2o##{*?xEeYx!#={^m7~5{ppmBpVz?7cQV+_&aSl+Vu;-KVV4Vz zX}vxq?V31?9b4qf(tfrj*(VOUz|A2hufFQQLs4>%59qtiTc7rW9Q(9?wtWi;rFi*0{GY#+wN9&@ncHU>LZS>4rgzUcd$xi_pi(Z@b#r%lqwK4+)R zV$b6(V#f*{&&$}vKJm{Zp3osr|3HS!rR$G{$_(S%-Mv#Ca)q75F_% zn{2u)`NYHxcE5vZdpyf7h_Q)pFlo_;JqDt09oR8!7ZVfCojSyhIqb3*#n_}B!uG#2 z$?4;?w=J}npCLP}>#Sdrj_b5bZ2RbQ=acr?lkDI#>^pTm>LdQWXN%+>ml*TSy(uj| zAa~he``HrOKwr==i|yNh*uM3Py_O@b$Hu{sb||DB4rxb%&bZj?7TD_+*z1s)yw?vJGw(`r|Go*i6Hjv%39`o|F`ncB|xJ5dSXS3Mx%!yqW7b~wDPt$vjl~-PJ#|L)V zVV7N3?K8W{XYM<-2YuN3u=R^U2euAuolY_FsqS~St^3?1xqW6mdX76Z*F{+e%B+OC;o8aBgHqL zqBbv|-*BnkJFI*7@Eq}L5}&5{ZYA!Ooc{RIgStnNm^Oy|80qhtbgmThn}tEiJ z-Div96E%*#=AoJ$k2yn<^V`7B=xh_4^O6sJV)A8eW_G^skj{=N-;>2}757Nrc~!)# z^*)nEu?H^@#wc945dG%8*qpZAl`O>eI0ZzFC= zj6d*oS|IREVYqS8^vqX3qqT0*VLXXx&AZ7?KG=cZIM`6VyAJ=q?06n$oLr!_%I)%V zNH%X)T^F=YIZfl+aN>^P*w`|MAA!ySU*6H#B5ku~SWc?2?Aer*y|2 zx#NZ%kK3@vZ4IND;@rl}S<3g~>6(KSTjDcEbA*3~<-4q(l+FtIhCdgJXKHQ#5w*$l z`MtU1r{xMrP5NTc9=Jtn17S zJS*_F;tQ1TwXzRi6!`MQJ12d9x6&ma$d|gtAGfQ8nrp6>{(mjfoG$)hV#@V9F~2W{ z|CV@;Vz_Zp-}h9$$Tt)Fy&2rO8kD@0>{G`3w8tSY)_zsKb6R!%Fi-JsRodH=zSrT% z$G$sljoj-`((;=!Y+~PQSLCice_AQBRZ4kcSHN>of3D-XMW>(P&u3Vp&0$A^!?C{KBD(Is4ek6{|6+8cU2ij#J#fb zF{e-LaiA=Ay>O>GFMZxKutI#0nBP6MYYjyijTVJ5Acmk0d`59r1|xl*i=HtlFLYrVo{_YkE0@d9Woi%A_sqx#ehcuyWZ!ksC4IMl?09bu zd*6+Y>!l?2`ngB!euSTl^Y-)S`W`6ExWsSwcxTjN>AWnTPnHjJRqx!}FNvv(O^&Vg zwUXqHNw4gCEe)^FTDmNK>@Z)$UQ5GXOFyYLJQcr1>Q8x5-nf=V?zJ?$K5OYA>3b~= zvu?afeHLDywKQe?SJ%=N<>j?Bj1S*rj1sSFElpnk&b4&QTk30R7=Lb)Kk$FjTDnXA zxLm3PV#EK1TF_23_Kjz z&-$7B`XqNeN5qcjXwc`3<&COqeuD$IiEmKZ@yF{f*kvCNX_VED^e2LROzeCo z#m+Z7r*5-J?6?gC{btFn|FzfZyEE_CJFI@8=e9w=CD_RY#{QbQTkJN_CUzUhi`TRP zvFn|*_(NS3#H3|y&@Q$==r|6@op!dKk8nTgF2#ZOC$Rpx>~Yn5vcvP!j$o%t?Do(p zCSTg^Qq4#EEB-%}9poiFD;yRx9~~k2Na7EPIkPIIw6v4%z@+`eyY$W6WXJWW?a-Qi z)*|s%^YtEm`FW-CJzX~cmh68z*+=Io>8wsVUrstbAuq~;|Fn7hyjD8g1A%WBa~{|m z^apjW<-Su6^8UaBiFxPt3u*(bS4Y$a29umv!5#;OfJ&?L5>En@rGD)yQReUE`TF=;8I?Jy3&ZqIqK?X-yS z9mdsmvHKKq>$~pmQr%srHfBHht*hHVzjZb9TUT>Yb{q%TX)UK*u*=mYcDXvmE*I>w z6EpR?@b+0FO8QX(SpX$Z- zJ0-V29b)@a6gywozIBPomzcmGxwRqlkUBg2$0$GI?CF_DZq|81(x(shYaQjh;=MuA z`aA)4oEbx&(-^||IiB{a)OBC5dA4lw8yUVyQI_0k`-4uC*zIQ^$?+eyK05XvJMLdS zV#a6gY7QnH$}$wVSL||C#E#)`&>=5B+v5EynfK4gY@)GoH0X>6o(Mb{c)7;m&6JjN zk8Hl?Gi$%5#Q28X`$X9L#MY!k+2MKLshtzTM+BZc=kL!MvdIVfg_-sbf8sdpaV4KA z--sdidEispYVW(trF`+NAl_;~?>bcF<~Oa!9Qh*I;f}ZEv|;3H+OT+r-dl3@8+Fbj zW`A)-;=Q_SK6glt56KdX83%f-gb%PTZjYLCCBzQnFCY@WA7-(N^J50uUA zZ_$1~*zA|S&re{tAN+J2kh{Ghci%51JH-EHjsN(`JlH9@+gO*FzQ%b`w|GrEOlc_> zI;3TdfsTEE-H)gjm%TU0Ve7;86Lz_p#n{JB*!nPWV;$HhcHCf(tIJicUDZCfRNIF4 zO3az?0)40K4U*@i&zg|&&}UQJ#Whp!gBl0!RlnnX^#js(owAPFUp5&NxZjoASKl;O zJA@CH+#NA@o`%v&7olEY}JC^kx*O}^?i!(#EDbl+lB z`hL&S3hD4$#l7#)eV*XkL}11x_Kdqw-nZ52_aJdr?6NckZV61<%areXq|fusi_<$I z@=1q!DFl7wz8~8jbYRyV?C}S7J$8s)kFe{Je6L9P7A5z*3@=l?@Oxx<%{(HeT-9|* zV*KnBlNa|tOJe7R+-(dy_{lhi9A*wh-~RL_eRS}RwEz1@ogF1P{bC?7`BoCMe;E$k zwredd@{u4P3~9##lh+%6-B?|>!{69%gEhR}>e~5y*S~G19 zr@Zi=dgmRy{KlEG5Vz`?y!44%^-NyuxtLhlW{>2augBF6-OhVcTE-Ln|9+~|iI8tu zI@a$G`q=kx^SdQ?T_E>Z0sGngfOK4^u;Tzb4zPWujBY>eV#}$ED0jQ61o?1aeDF9{ zlzo?FP`swS1^G~r_b9FP$AY|9a>sK_?Dmh`@kj1<+b6c2@nB~}a+hUPOj+FaoEEv; zJms>yTWp&X!Dc1s6vf^@R-|M7$)GT*O#jaoEPTL~JChdPR*@x+;jvH|{w~Kv`9scZJre(OFPaJ$+l$AfW*%TO` zi4T3MP5HV{-KBY|U*qjUjkkHp9V)1-oBh)7%pB%?GBB^X=?Yl~*Ci zI|4V0oo{R44%v6P+9Yp$Qs))&0e(UEyYQ!7Z2zfW^cgdYDJ^3oO#GRDsXOa*Dn2lC z@m%={vp#`&hf-NSb0^1rpE=R*zwMGuuQ_3_IpJFs+iR58V=v<*>^6W7dGVXy9|WCNr$$v)8@5%xu-l`8`Ew|V;Zr&Q+e^;gMpww5tueZUig5VbqLP^ zC&g|*gF(M(|C&De4h4Bjk`qtTx?QzO?sip?-1P{%UP$YH0Xq(``!am5=2_|vn{HRb z!H3bn>&Tt8Gm2z=-4LQ@TtGwrwnK6ZL&YvWKS_D z_SiTi_PkI@I@Ird8V7g=w`G%l+qG5g8?sw=X^$@*+6ny&CJyM&QLN6@9n85)XsUPxiWFHI*;3PPVBU8fm?%4dysboZVEcE>tZD6bO!DU+#PsK?DK8d`wrOe zW{3UGu0FASE(h)pJQ#RVZ2Pe7!?q9Geno8i*|*nuILHfuOJcXxo*<|0_^vc{HxP7& zf=+W{`bBGC&M;qAeX)0NY#AR~fIT_NT<2IHJI!|t)`;SL+ zk3#)Ra*sc-+dORFR%L5@hw7LRrHnz-72#8)cj-_!aB`GsQcrsmetxkB<|^y4XX-f_Y7 z%&&CD*p_tgZEzFaHBuYcU1cP#?_?tXp3+sv%%H!?mYK{i&evM(S^Z0L{DE&!UVk0e z8ch5h@sC)WiRUZdwbx^XlolVl#MQO2&f7cn{Epvg9w2|PT=mU!l^1;t9q%QPqhH)%5+`+4|Ey zrExOlMXbmRJDkV%i@jEyCp$}&FYke;ytm8#Y4U;b@R|17JL)+X<-Rm`Wzo5(NAXrX z=O`^>4$n*nl1=t&=)C3vjVr&`{XpqlEq%(hK>WWOb>vU%I5!o43TK}#G_PcZO z?Hc*UIVy7exBVYTewE_D^KSbLJ3jaj`N331Y_3dvw)g|z(HY`T^}Rju#}Co@?kzgs z7ym8gyI9=#ff-r(B)v43py`;7wIpY9#>X0*^ zJ}&viNq>p#45_@#pa0>4jUn-ps%Kk;tsYp&e-Y%W9)W4Q~x-oOTVm=(w z!cIGq^!L*ItDjnCj_#O|`LgUxNRFShlk9=@v8YLmob%Fg>G+&&GUzua9p-e{`)=6d zXRFxlnKkg|zfk)IL@vnN#O_lCvHKMI+$TTqG_AoT_x>IB{vCbyFP=U1&TY(Gp>i$I zoHDF?yaoC86~&qHvrTcf{7-XD*Gc^Z*@xU`JyPcZ(TvZCoua{zRz-v zeCSVUInNnRX*nYu5qqpgZvW9=v&R?Px1qq5z~hNo7m*fy#_B)_i4=BDV~sy{h1UyCfRq^V{)_f4^exjzr$ZXvvJM% z$@ixDjun17U-qGk)SkJAj6a?SVdC%^jqNS6@4T8rUg&uJ1H0^FV(YgD{SLAHZw=fQ zxHE89;C$fjz&Y{!w0$+HzvXWY}}TK+svP7%sZHG4n&ke>lj; z0*?p2Qf>Zx#q)9LFVwr&R_Gc3lj2!=XmqLM<6>-bANzUnNJ@*(@W+$SoWm2V`#+&I zz(Mu6wIs&p1+s$pz0_5C)+aO*5m+DkPrRJ0y|ua|G=&lh`s zA?=Mr(=wZl>-*Z0dp^wvf4UPh{=i~>39pIyLS9~OfS>tUYj zZLPQsNRH1u*Bh6<*F1wkzcVm8US|>$ml39n#IO?dhZ8gA^v9a$@_ z?PJGvG#Yd!Lt5+*hwAvIw(35fombDxWAFYd`?hL7cdA_-C}zwzBOeKJGxBGG+}tet zj(kZ!&eci(@p5DJccaK}6hHCjn$B+0@0R{k>LcHid`$BD#P^Gz700^-q;=e2bl#=3 zJz~cezV+^gs-G~wWjiZZ)7gE$>G~#=_BBbLKEinNr1oD2E6y;#`#wgD{Z{#QS}My? zb2i8{h|4K$ul6SJcGuMIKcIiG^gk<|{-lF_CL9M}(j{Q6! z)x~I%v;U$lTz2w;J5?6W0Up*mooA`|MqWkfPbS8H_%7AOsfs`B@?NaAT6u0-=0l1z z@&@@cQ~qS%RkMRXE0r(52RTVPO-YW;mY{Q@&Rb5Lo6Y=6{pE^u4mzQEf+t? zy)a{!$JJ)ZscYt}*2MUh7kln#6ML>H1f8znPj}#g_)BT-E(PvTT94bX$6MGw6a#lA zCeG!=)wUhD6qxar_xc|4nEIFGwm%Sbh648nCSU8bF69{+>r(Rdz8)R>kA3z^S7`mb zT4!AN&o>IYCHEOfj~F>V_ldumVp0)%?J*K`M%QBJ%kL|_M;;D3*ug&QAKxqPQF|B< zI+KB$+Ux!_2W|~hwo2vbiSWrf_yx2 zYtV;nr!C0g?9;V%EIKczw8(dmob%@;jaqxCFI=pcu#etf^~L(|C^7YTh2(R@tbdR* z?v4LMzx(=w&VR%&i0R9faOVxV=d7~wx>R?9pOyY5+S4(AeTR8O^8ACD%%3EOxBI%* zBT4SL68(E5e^l}~CvKDMJobX-6s3)MMSh3uGk0U(^CoFMwpS#lZ7?^D%IA}$|FZmn zhkva3Ch>8SSAP$l^nb<}70S4+&d{*K84kRQ;`t55t$1*~Eg^rKX}!!yEb=GdoDXcdfi0lFrlelfL$Bx+6E4;zl3O2L0y1t$}la z+r-2A%`bZ~_@LBo^FgN&crb8B;HJd%FL-vc(-P$HenIYMKAd=9Q6g( z@Xf(Kejco|=!-Z{ll&CLgg)3R{@Av9#&$wYf4<~fep~B0$$f`y-powqGsz}=k$6ny zZBO>87s@qTe(s;j<@uMhg6$92JyQMNneuwhMgMKmKScWY@3lJlGB)o2gvKSY#{qnP zhkSdLe9MVFpWeJ-?as!|pRW0ToOBpxNbCJCHr?J9YrnQk{hHglBvGQXMH^bh*J zt=1c_x}bLVxH;+LKYY5zw`!XdFW)Cy9S1st%~E3eMN#bf>K5DQjwI*YqbJC_#BQJ1 zVcpL2Akw;i+r=(dZ_wvn^nGeGUsXRs?)HrQNy&Fqx$wt(0ovFLl7B&M47uCkf;6V# zKXxqd{|C<~CndMd|1TY%|Df;jpya0+eM;{TE^bt3(oz>E$xd_d)9(f1nMh9Z!AEr8 z>p6Ydy=uB1NJjH?e1@>=Y7H?833$cYiARWf)Hs$5|%8NTcul2+tzerTujB|MxdHX1*vMOm?VKn6%vE9SUh-k9(!0&p6N>xFUAG!(!*# zBlaHo;aBMV|F8`*bJaF_L)sCszwOu;-wy-xPMFJgsma&%9vJMb z&--3@W`{oq=$T!1em%~k!MCx%*KJa7S1{u+&!%rq^0|pG)H9K-d@kEImlZAPo{Rx8nrdZbAhi+zEO|M z#gAT<&3spRZ9ZLXQu~xIUa$U@^oe;}NPAaGOM4zyUat3obX@QEN#}QJZ}-Y(kA7c9 z|HaMmP&GiS?$GUOpc-$)-R%djG73;tNG5*~9C0VC#^V_ZsM%$5dbTtx5VGSJ8JLWKF)&2laj))k|~G z8I%v!uLNcdaHYnmm!#hs^oN5^Tab?i`L*hsv%cGy`D;ecj3oD*UI_X(Db8mq&cEMC zdx|8dE`|=R`-9x|GL-C7NAM@oUU($P;e*mzmpwjrc=(MQ&;FWKcIKVYupSr-JWK6% zd+BiQI#c|@%X-eGxwSL-cCyY5wvo@g6ZLzI)7G39-6Oem&J=e^pJ%LN+W!*sZ|hzJ zF^6}R{TrUFJ=frl*|vYw-L_<(K3fdjpP2GqsriEEu=`6N`3`&3?qXJEgK{XU(~ zw@ZiTCeIx>BlCg8hwFVuCyRX#fj&N>wAKBT)=r~lt-FxBJs>xaiTzA-GRVipeohK| zZ46sK`<}WTt4ltsq7yt<_rz_G2$;ut|2Y6x9%{M6Z3nMtHgc5 zPJiHHVB+94KkPl)VA7!QgafOdL0y&&%b&eTlg{(JyxW4g?+x z_9p^ogHChc5$TM(or`@hXgsB*ZBL5b#*lCG>)II$%YKcO9(Jr)^Z56VtwEj(+z~h*xKr#t zSQNVtV#j&0R>4p5ZA)qK4L&sawy;6-yV@b|O*;>e=A--t(Nvr;+2{^y0riM?z1{$PiyQS>kgsc zyEQ2to|z75?#TX0&q|b+$KD<>Wn}E_6?<%f9e;E@_THtk;4^)^Yu`H0)jY*-mp0a! zMxXSpbCderqrX(YX;OPma>|H&mEUbFLu9x-8Ke-&S21iturKc+kpLD zn@W;XFSjXHi}kzR`xL9eL+kS_YkvA5Wf>0ooPqnd51m0i61XeySm5r!J%M`zkBdFm z6O$Ler1$eGChXbyZQa4*3F-K|Je}$z_{lhl+~a>K*~EYN@>CbiM{4c#MC}> z6x$z_O^?s;oGG?HA)5!uCgTHKoMQV;N7vgYeA*P-Zw>b0o+-AU5B6dD@>Gs*9kThA z6o2^oDfYihHa$MWLsM+OC)kG>tEVzPW!YSj;sgJ7iv1sy%@>k=c(Y$mt^dQaxszkhwm&AD^OAk|{ZnjzQa0Uw;Hi#J^D+7@aPl9%Y>NHQ$>x72`|v$eY(F3D|D!!i z+?#Yr|EI|x__tH+PnT@EzTg+9*nW>}zH+SAp5fPvr?kJz<{rs@Sv+@&?GMW4G08q$ znqvFIvibRBAHHmg?Uyq3GlUV@_qR6S_4(Gu7=CJ>&K)7x-`arvt&N?wo0@NJjHkS+ z&jK3i`+DU5)&{&j-`dFPEYRQDfO+rh`8uP9*XLUsl<{Bv)<%=^^0zi%eE5QVfYAdkkI%sd0}qKg?|n??v9P~E2CsSFg_yIrJ9PeB z5&JA|SnTs#*yn-R_uVFQ7Sq~jLBXfk#wI0suPKeH~k4rot z=I$2qA@K=G{&?aQlCKi~MR!`@>7BLry_~H!zlHc@=_CK9o;5#ly6%LCw@*6oo{2}~ z8~$(}I2!n<4KkTK^}D(4B_EgEv4R~d*s+=jX(t26F(i9zeGGxuXAEhUzQ+*QV+iaq zB(we0j3F&4ueHYzHD+q)LiiXn*SyF z4_~o#dgdiPvuF~#f05R0xLxvlW%F~g36F^{O+4*)x+5-bPHAa}xxo3rq}@x;lW%#I zp6`o&FAMnrlHVygX`}pT$$ug_b}VlZAEA72Rle}Y5_gEdB>ukS@OM5UzZ2gi`NLx3 zaIBtdziAUa8xr^5qvr%q)Z{;u4*L=0qhfv^0dtnVN7A3B=V|80Ms2%zn zJq7tdUT;&{7zgBe**R8n_!#l&iQl_Y&kW=za(ug7zQHaF+#nsw4z~pTy~Q^t`AM>Q zsBCsiXU($)v7axK_TAFyO8Fw+QXI>I4(0l=+RTwES3&P|*=&}c2}DG;=#ZA*BfNK0-Tjl?{*ZPfJ#*(fFK|KQJkQ+G@w3RX*v}$|r9-~7v3|)tmmxn( zb+JnA1o@izPV#b+W1nYOJb%HapFK^=XUhj9=Q$2{gkbyGzk5Ay_~!W$wmxNimEv>1 zVmK)IEXDR2`NMa^Z3mr(b?BhKORBG7vGprr*B3gmE;iHMNbO`t57!?#i~1f{*G~In((h2(H>kWfs=RP4d$betT@~`(NIv5O z_G4b|r^Li#1@RwH{C86Pd&GXm4f`2!tJwERy3KmFi+%SO+UgT(8y7Q{O2>Tx`?t#e zTV#JoOkR!RBR^DI51%XUm)!Zn&UZk(`hLByKy4uUfc$?X=NzL?jBot*XI=g*l0VqA zKlp$@uTj3S?3>8{-)Jsato=e;(1(dL-;U`K+fUejR?tb~PxJvD=Nsb?^ZiFQTa!)h z?X0hTk0GnnPuDlE;gm1W{r{P=IImq4=YP~6`(@K{`$szeR~*!?+#h?y9%s5_XI*0g zePmtzWn6OGfzL>N>L1lF<&FL8q%`-D_O)NBjpy)78q?Mu|B-*Ew;^-9#y$AWmrt+G z`_!H12;__U>vm3+4t6G!PIa#&cAJT9FZ!1KKqm9vazo~92 zGmM=3PHigJt!a%7Ka`lYJ@;o$mTz6s_Z^#VvCkY}pE%CR_zT*T>^&O{po|BV(p9#b3bDoozKJnp981{J% z?DL!#)HbH#`^$xtS9OePsGkWV_jwMyKIb__>H9nfuCB3X>o+6f^*PU>jQ{F+PN(wn zc@B&ZE9C>cuJau7`gfk^3@Klq=fLv*EY+lTm%pK{D zATK7SEx{f`V85q#WUKnQ3QS+-K4+(N+?QdGv0Y;SW(QuTeEE$GZ2K*#@ADf{8+h>>LZl5Kw z%Lqq*&}VJmo%Cswu-hSa%spcJTn;=CxDt3I@L1sSz!QPpK3RVvubw$*%|9u2*_(83 zU>}+T=K{ASuJ#wDbxiV-J0>k+#{qVHNb7bBuc=3|+Y<77)vg!=vFZ2}#P+Q-a49fl zLC3z?K69wo@VoC&`!?3_mKuvvTJ&MQ*~It;^Btv?Is<{%^=&5Gc~*9Yf}M(ZSB;I> zff*;q_N?)5uKD|MlC;hX9+3`vx0c3wdE=UPL^@v6!t1l99g{xssorxCdrgbnYuXcc zn3^^1c*={|wl&n(w8*`th1X|In?0evriF>^pA}npeb%&;@n2ojHYqQ!X<>YLSw6t) zTGNu(zjIC7seHYrh4E)bo7ULk|D-kTX^Ml_vBcykod-_So_a`rGFC7)R>bb($lX>~ zZ=g1*kF@aquE`{)U19Tf**Q>lu=$eSyK;r()?qHrez-n&^LskRt5(@Ld!w3te%oG< zj^_o~;}47v%#TH}@2bI5eOIkSUSqXqk?>{Wsk}=T$B=H>_ZR}N&lu8+pJ@z%J%+#@ zLk`<}eV)`;`{w}fimFO_=b)1Ul9|}leDiN7CWBkcx^^n#}*y0%|^w}7k0j|^BoI1 zuytVTWOaALc3|tk)@cnouytVTG>IuA<9{x3bqq;Nd*EH!lfTYpKKdt}T}$qAjmsbJ z^{VgI*89HBmrg-C_6>Hvu=DK@lP~s*fja|t1ulu5S7EzaoH>VA*IVOHk93?b?0jM8 z+oQJRI)z=9zK|AnTG(j^g3h3Lwf6WQ-dkglc-3PKnNs4vXiVU}!RXr#Y&*kZ`w3eI zw$5nKfvp2uXI$(UP6S@4HNgJwnvq$uNaNB;^}Jx)fo-QH=)l&2t&VAGH9*jZtq)tDy2F3=S+MUfbxH?0@8~N9JFxA*w$mGQVC%rvDT^JeKC#Ec z0kQk9j%6}m)Vcnk_Mxj3!)5ZJa*gU&IzA5^3XI%qp^DgLf!(gqw+{N~(7%wIofdg} zl2i7Ppfj47{xTkTGVqw%fXmg?RWDbI*m=Qz1`7MxakJQdk}v*O_g0d--?fUd!x}Fq zMu)v8^2lBjwk3Val@HtzxR@B5g~YUnF0uOv>^g;Ar=_G%Ot9~=bO*V|u8SC#BzL{Q zE*ELdJ!0nzJ73uO_5~f-I4Ll^xH^IWhIi z_u62;yR{7+we6D?+wNWKKEU>&T{`$od+QLpev4wqupsss&bWMV90r0vgF%j;{$}N@ zS-Phu|G%kn!JN6>DsB(`x-;a3O{bl?am_d0qj*?w7dux-M&*%WkO>%i8b9^Dt1YkKwm z&&uh#54ll2&VJv^kG0Q5?lzVS_F>zHZ9gA$VC%rvX&1Zf9f6C9DSKyP`YG&lJlHXT z-6l!vHrAi1x2yO~Rdt(xO2>T=eYd?H*|*Q#Vz=8~vD@u}SJvLw%DZ;UL4PoCC2*hE zeIKSQJYO3QI%mrV-jBCXeSb8_#{y5NPM0Yy?II`(Z`O#9^g9DT=a|2Nj( zdD5h`E@NxpT;PA^eIs*Io1yPy53IKz*mcC5a-RC>9qOBT*>`_|*R&b2+e{(&P!#*U z6Yz<@n&Pty@@>?as>Z{Tc>k(kq*OZwWlr?-l8nO~1DU-tEb$jn9y5&Xi5!15fpP zMMh-P^$TA+#r}^6`|!O}Y(INiz5T#*)Rw05Y^_B$eRc=`JJ0S~W#4Ca@cNwHwc)46 z9M1n?pWVSeySrE8&s5xL$)~)SJL362a-ZG7>vMM3A$_0S!JJdwy`R=C;`KSZqm2LR z*>Xysoo5^7?n4-3=;VpZ~-7^E3Ga|0kW@J)}7J{2%tYebb`)9M>GU zC2(oa+B3@BBl=xHkPpnR&#i5edv48(d8UbeA?R0ven-&n3_9I`d&Fzj6+yoobOr+t z1^r6U9}YSrL1!%JjEcR+F1Oa!1MDw~Th@I*?(>B4WRw2&n6T!}8;M^H?KgV{j zmp3oD%iA7wIs%vWt?PFN{Zi2B3tZfzrq8{ya?pppAMY3Y+23GDi`?_nP>>G?U*DLFN_9@x9O?G(y|5!>(Ulh&itlYzQpIK#ETVw=2JiCZBIU< z(~+2Qpi}Hv6~&HKF37urydfk#v?wh7xNY@4ucj)k;*M~U{l;Vbo9&Lrnday;l{&#e2<6u32TK5$3i zuE3OwvS1(fd{hcLjx##lLEaa*9JoL5K;TN?;lN{o#{;*^AJ3r^LB6y4^04~d-_*93 zC{~%P8Z-M{uKn^y>uqB|v2{D?)bkqiWU@p1X$tzyfjfde_W7R6E1uJNUDBZ~wFS-x zE(ANU;|bHw8DrbUZs&Qe2i(Vzd%U%8d?SW_x5*rRmq0$y@19cGpIxl)fXKItFVS~` zex-K{i~k}y{SoFHsmS|O7V_n+wIk#UJFmG4VdIBtzwPam+-XeS_`W0zE%EMEch* zu6@&d-?@6<@+tb(v*NjOPkqnj$9fm8_~+t7WYcYov7NkjJZwhhy^>qMD85hf!T~cf z*YBgXee$1v1p6*-F3IU53ssiQexUY#n#!(r?)K0w9k+kxHTR2-Acx&P(eXIY(pvwH z6>BPfw|mY!XAqT6IY+71bP2I z=sQ_GqxAZxU;1Y3_>32(?3{ZKC9d9!5c@n<*R!fVFrK61_*cZP7wmXkLf`R3$MrHS zcHBk+e|8tWFJi&8%;yf!xoeVBM%cc=-e2GYcJPOLUp#mCf?|vO*!R`mMFV>dC9Px2 zdgC*yi-rT$hQ)^+Qu|&T^|-0N!NGUjkY6I5m*vld(mD=v)MoyAem3(}<%Ry%(x=|X zLtgXM2A0XUllRl_tTm#dEqU@ zmcJ>;-AFKx_SU3>P0q=QL%-rMFT`+_ z#vgt|cWaWrkl!HlHTs2g;77zW)h4e{Y|sBi&4<(P&sNLAIChQXlncHo@a>85$93xW z>VH>x<%4ev6o1D7zFTSUmd-*kY3~(ZtbX@MlEW*-4<`Blh>0`$E<1Kc7iFt`7Jk(k z)2i?Dr>?gyP0Kv0wD7A>(D$%(PD`7l9sVN8(Ro^o|L!{lvHK3}KGGh_g1+B*-Vx-) z|IY`^$ox(=X{)WuH>2QpO2_R7cD=*iH*FrqoU`S#$Dbu)^!ZMKW0;jqcsJSKNKCBu zH%q?fDxH7bt@lT%-dR^{ijL$*N~cAO|o z_J5ILd$n|!7tqI_!;}|%i{wX$7t4O(n8wWe=4s9q-zE7|FJ-HYKkQ-glRo&e#`A@; zNt^$G(o*mDN}t%Gv-g*4V;wecJWYAYChY;852w6-Dn7WqmhUs-lat*2Ws&sVM_|fz zhIH-|Q?9ec4~sJ&uGxVZ!#^qc3bE6|q`g4$r^KYaP`py?m>_rkV&A+X%}wkdSEc(o z7c1?y8bjQ+*;o2ba(}8j+9B+=HyGq_l-ti$%9l9PN2sqED%VyA*J8WuoZ6gTNp=`R zVB3M8*S9$?dPZjmNr$m?EbwGve1n}9whyrFERa91l@C{_yi3F{{;f7fEtYTi`OulQ zag5l0T{^3!Lu?O_&#+_Iqyfc!q*YAX>fDi-xg#gG5B>7N>np~DH^>L(k&9(>FY$HC zt6|ej=0Nd{;^i72ielDv$WIa9DtSKSMLaiJT3h=SlDs+}i9L6>h=~bn74lsyJB-`y zK_7P9I>n9^Ou4WLTc;G{aFjc3ujDR!U(%<3`^E0dWwHA*I<_;A^vM^Fa@!wDI>fvZ z*!5WbMq98m670bCZCvbiKJ0Zq>~;R6*!4@yzoHn@$BC!=J7e0MGpAL@w3(_eY~G>z zf|<)`|MX4lM5c_}POr)Dkv{X_e;=avO)adAljw8bgS0m)U(%A-cg3e3raL6E@3JuN z-7EQzW#?w;GyXp)c1(yrI*j3uN={j@zpuuDvja2kF&>UeXItgPw>*9=#)s|IXKz!! zF3TSzUn2Pjzp3wiC?@!WP09sR*Av(gQ`awwkyEFcKiA~$Q%9-IvkrVfWrz75=yd7e z=j&2Cr(D>lEc9jfqvg^cRoOR{K5HTDRL|d}2oP6F~Y1<^X|FHWJ zjL-C=eA1!qF%F|oOdd|Wz3g-ZozB2rV%Hb!wHbEcU6i(z^ob$t_K&{H4qM)xpl(IOsF!5X<`$vgSlm3a~1>*C>teLU%`g5mcF8n{toqKp?MU}pH+SBP)!aX9b z84wM~C0@Xzf&>9QiY);JqkoDL6^zIwB4AV) zBElHCNW1_+WekW+#NYRxU0?RHpYUUthk2g)@6CF?TD7WbRqfif_t{DL>}&1{X@;b6 zTgc&+D!Wp4a)vyI-FDjRddWl17A}7%&)dIlp#N*EYsZGt5YH#%=V*s{*&S5l^<&1hz>y`6rQg+AI8|+iTzEXYYoL{Bb%-HdH3~f(* zf_OIgS(VBT$qs*C?K&&*PsQ(4Uk#})V&+_KTI`r%_aPepHW_vdXC(i$9rpfYMjE$k zF6qht(x>yXTz}ie?yEMj>qX;hH`hm>8+6L<`L*U9$TO3OoOc`8L^!!F!wCwXE}hIe#TPnnzUj zzQn}*keJvG*;nrvQ#RE_U!9@cd%>zw_Jr)Cvip7nCLZn`V2|CwJE*;W7x{q$~Iuule_3OpTnCh%Ejs}|0B$64$S}HyZNI0|C%`m_#bE1bcMRgfzdeky7f%KZRwWAIbYkjh^<$4$I0&* zH&iY?S7%avviq9bAGjuVJTUQaEglGV*!DKXfPZpkPfwI=Xw&UObUmN!S*KWKdZ%Z@hW#3)*LA=j4D&ASl`&#gm znqR9A)%z_$16zY1*E=RV*M;VH-eC35YCVIS5YxBhPe-S|d!~OJdV=n`@Q;0&&K2?VVssleN4?HYV{er^VDAphL^%q9)_KNs}aJ&vW% z6yrWE`vr=h_ek54y&1FEW7jG6*tLtjuEJh#@#%c-*|jL!70ObV^RO(t`)5XW*VP^L zm89WW(o`6`s_gFnezD8;g|fY=Ed2mGHrU@}7!tE5=l|Tn{vJ*(*m+J(oSXy0Eqd0$ zZ@ys1FcS2z{qS2D_S@~eGa$R$+X&nf+BKW(#0)!T*mc3Qm+StV*yB<>L`Uwwxo;0;d&I7{Pi#L`vHeiiXa39`=R+mv z`-8q)bH_ewvU`3FB<8!3i1@<`3h+P-#@tPI8uDQhchi}rHrC$2PZ5#+(`fP6JU8c6g zj4wXj7TEE3NwdLOE!q2*>x@OrJAUs?{L`Nkh0d@?#z2@0@@3c47#aP7mPO0_?f(SN*n*D@153Em)|>uiD5u7zze;1N?re(@10JlUcYw=6VFMC z2mZhG-sxM_4}R~I=RrJU+E4El!0%b1dvx97!^?KkyI$nXv3bsKrR#f_m^F>xS?{Fl zxHa8Lvyt9^fH|*zrS!1p@67XxxdVG`=}Bd&3-+E0_8tlL`j1bq$*|Xis@Q8wEiiR? z?HZ8XYZvUbYcS}CU!LoCR{TRj4_i;Y_2O}b*zuk)?}(Dme(&p6@h%s)X6y86FBg24()F6Pmv4Z$&u>oW zjr4hA`(j)s0#7DCXySd!wCujF#ru(`x__Cqp0$0I{_ly_?H%8iGjrsXiLZZbNp|$O z-n)>-{nIUW{=mMDz-YJ*4sKoaTTdw48<@WGvy5u6_le!-GxFo>>45Ccle*aUkzgMc z69fHIQCV{%*vA4-1s)f>EwI}-Dfa$+I_bF%UZMMF`=1H+o7Aq`$4l8S-mf#6V4n+I zIxa7ZpSHl1-Cj8}qq6P6-VwMn@I@{9Uv<0bJw)X^W&dkb-`-c*uAnIg?hd@cYxOMe ztF76&AJ8+DMS8w@O)1-7ekwuJ6Sz0<+|pu<`hy*x*U0BTbjaM?It9RI(ouBVziGofDQzTZXf zIKCLuzL0y}vO8DHV#n4K?3G}j(SFr=)hj#P+;^otD)WnaS##c?HOI{Ng_u)sko^JW zRW+3D4_pg85O`4RIETcJb2w;5x69)phCZ?NBSDYG*8^%S zDvi%eVdf_9pw?3i+^38O{gl{wH6wOx)8hHI=q$yWxlp!ku;}OZz#W0hfjhKE z*&GV~;f?ovc7GE(BAFvzO+k_?g_x)5iblz5I;o^1VDv3}wXt zFLWE3Hi$nI;|q}Xx7*2DJs4&BRh?{N87 z^&3yc{Q9f(p2A0UkGy^nLnh66yXyarT(~$x&+kCj`=aiDlmF&@(8tsGJNW-$c|5C<{T;jLd#8uz_Nut_t(jW4Tz4$uA2C*P8OLjB;}fIX(L$8wiy_uq zmfrQkt`~N_F!dg&df^{ls6M&7)MUqi-7&yV7X$t97WG5h5&zr|6_s^7u;YOp5A1$` z9S`hyV8;VLT|8B3oDZ`))Vjv02$ zgJN=d$J#lj#6Z;zE_m;0#JlpF$>Q{PyhI7$|H10##{R6vyZq_sFC3+zR{g~{u3;%8- z?PX119eC)jT;p@jE+sqhOpDz= zu=@vg|I7vrYz=Hp>D0mxYz=HpXVAdbz}B>jonw`thpmUL?@4;@F{?ojTMt{`A2hHv zur-5016u=I)2H{EyuZ>`WB#``L(&jG@xUGznCk^OKb$n=*qGS;54$edbxi~fYz=J9 zWYECYz}Ae4-M6r>U(?A>JhX-PZGNYGo0Z+M!S)H;=Ugb;ep)eiIszZ9`>8vXtM7b3 z*9+PG?iTEC1$PBIY^|>br`W%Z$nO0c8s`T7t%vOgwuawzUVd->d$)Sf`}d@O(%6kAJ7Zdt ze)YfQ?|WF!xn(10hSDCGzCz>N7z_SiwWapheT%ajmT8R&W&MrKCsgl5u*0mAtYe+Y z&btI%fhQAhev{rmOiax7xz4QKR|)o+z;l61Lq(pn2cDJ2ZRtpM=4NNmlmmAMM(;Hf z_O)hm=VBZyvU?nRQd#`>CZ;W$O24!An45k|Yn1Fh^Y0IuT44ORUfA_Az7ua*nr*H= z8Iaxg0)t}5aEh)GCq5pJ@9DcYN2Ta`&eSyg&)T@ z9_;wEeInTLZ~LhHJGWuq$4v%3^;$m_?A*f=Ke;-c?9FSL*mD!Rea?!#ZopnQV6Pi< zV)seg=L$V+J#2lu*!r^A_k)#Wr+<3It{1i+*nawg2DS#areEy3hJqfp9*%nV17&YY z`>x?o7Is*1((U6gfQW1%eUvarj>J^#4u-ebeZT;Gz7JWdO3_ z6W*n5QS+P=eq&(o+p#}gU&VNOq<1{9tk-jKO z&*z?)-22rc<(v4z=V>nJOdj5^by4%oANIKi?0ao^?``t)eAw#-{B-%Yh3*+Q)Bi76 zu70RW?`vzH*yG6c_dZ>J_ov^)e8=N3albSki_ZRHtOsOg?06@+CUy>7wyw@pHAWv( z*%8@y*Sz@Ko0J1$&XZsNo}54X;-%S!m*_WNvO7-(#lCLV#m*&obfZPt8a?B{|3)8L znjJ0w*bkDQyT7Vuj$->64Q1g|zu1yp_I%9|@yCMR`F6%4{l-c@S1bRC$MxdV+*pfU z*O=_i8QA#%FO(1CvO6E(->Y5E*;>y~#E<9)E4Thi*9GyPWak+W?6HQQZmh3sQ~s+h z$E$z5&-|QtT4gd`5U+O)Lz;7w#G{FN5wx&@&|EK3l&F`+CC_6Er|8qzF z`(pa=EZOU-_cFy<7hj(ETZzY04D`=LVC>AbA83wDiapn+#KgvLpwL@09W*mRbFI$x z$*~hoYR!&)LzZnf-I{HEV$O5-w`TY1cdgiO)Hpt-aqK)J&#^`8>fS`mnlr9>2Oqkz z=FxL<-scNyoPHF8owKq_lKs8X@S6+lzOKQ}y|UOjUlEhfx6425x?tA@yDs>{XSQUI zsV>-c!LAFAb$L!vujdr~<~4_YHq%!}{Z8LIQeR>BJ{k6N8OoY_fA((9?g}?8SH;MxFtK}KT1vh zvwZU07Wdid;O1h z#gF}$^3U^PVz^eh%C{y~Y@pveh{qHU_B+Jv-_Y+ns%veE=Y$Wm%=@`YG26b8{IAyY zk-GGZJ2?h3?*C8@z#coEoA6sXo|_D-&%OSPO5?Sq5g7gbis$dTzK_f99D|($uybHc zjL+u0OU&3!CT2}QrFhlil&djvsdX)a5*6-KH)7Sf%Tf?CvZ2$6WeCQCGLv_O`^dx3ZSqaiVdYJz~cO zJ2u#{^#%=W4Qx$c(7@Kf))0@+1lq;KOh0!eX3yC#c092C!1jaQeZ~I(@^7DOvb!Hj ziRp)d#MCvExOpZZc3pL`>w;a^Xwbmcz}7T^2DS#aW-Mr6YhY`}g9f$+wq_z|U~6D& zhQ!X>NwM>GO6+URaANXvMC@Fp?3$yr{;IF)x+Xejre$|u!LAo}y<97g({H|y*Y8N- z8O`6nXf3-+YnPwJTqhpa`6$=cAq zW{%GVM&mOj*lRxQ>jLcj@iTYYTROAIAME(qN9}=Kwk>JU!|vyHvHQ70?0!b${_GSJ zKkI*4?EZw^pRoHAz1M2k>vP}cMV!8``Kf$zo%+ZD`mWC>^SRwuPNP!@Js*kx~hqxN7r&)#!&YX*Npe2}=IG4+}d?_tX->w6ZMYyH{x z=y|l**Lw7>3wB-6PbK()?FaTf4*YaJ+obVW^d@FZt77L&zt}m`C-%D{ly%P3#Q34? zK;WUk!->hOk;LRJcJ3efmM`ox7TE8Zp!b;r?BAI4|KPknY@ytElX8G}Gb(2mdllF| zYvG-}y8QT^J@}ctv)7QG_BQX8#C~TFyWiP+@tdBVclO3oUG!CaXAisI*@K_SJA0GT z`<*?Q^Mub-HQ&Y0LhtNR*Z<}_du6R9{{07@Ub^oK~_cGf@ZuaW-jq<=i2rEhFlti9u6_a~Z1<>$^Lv`-MvubJgyokX)pet2#> z95nU7BVzxqA3t6j8JGQ5>0QSI@*KEFeR6{Oq#XJL_B{xG+!pG(NozR2dBN^AnRqsI zJTK1mtYc%cH~p~Y%kJN7!j5NH?K&Ynj~+#zt`QCKyj~jX`*m(Z9`1IxemAN(-EZjq zJ5YSO?P#2nly%I#8f({u-fg6>+(vx5u1cs2w$C0hWf=>YYxE1%xA5^D`E!{*@ur%; z*D9BK#qN`SF=gp1nConFZz=Yiss+tJVy?e~Vqd$5#qNh8v9H~fwa*bTby0RSa3k*9Rg{ogLV`-gW_u02rirt0jbGuXQVR}vFX zx7fKvpSyq1xZa*nmfsFL57AtpoadQNRZP41U($VI_aPem^F0>IdcTCmZJ}P<8@k^& z_eE7u|e4#&yX0O{9jtwbIo?vJ=ih8_~+cLUq1Z}DC^0G zk>t}nzYmn%zpe149`j8Bh6O=C(~{MTil-xG?T(VkFx{51E3;`u$H z*n7fjpRGM%s*9M*x)0?!-QHSD$7G-16N;bFo>2PvJ)xLA!`27t+9!S{dqUdyKi(6n zuK7J-is3biVM@Hvo{+l!SNDWp3VT8^eey=dQx^YU+7sTSe(=5dpknj)pkRLw3jU7P zu1oa)H-`iyw9U0W*#m~Y4NjnFxj^?Cvy_hf7KfxqVVu9Ne#9qe8! zV6PSJ=j6=wy;HpZCtI>jm*o7;#AxR9+=0C!{NbOg{mP#%@yj<~l%1aVC1Rd0;O9sG zXw7y#OTUX3uah*`9VhmUk{+M89iVwGKaXe}`4-2vYA^cRL@nRiD^EYXZNM&cled2D}X*=zO+0Q(=G}k)^DC@qeh@Y1&$v$^ZYj&x|9sYs* zRFj|A{7m=hLDMUK*K_pkouub|?>XsLzgc^v=P$_));Uqs3?@H&%MY5v+LvUXzcA-a z`X7nW+`B{mzX^uKK1&%EZ=!f;7qM+2KH%(}Um?CSarxoaY>hbTIoml!`-)w4b~i3R zkKT}ftBvQI2k88PXG2jxAljEZZ~r`HJkz@60vZsVyH;Te{Te?oZnFcD3tKwQEX#+^$#`_Ft#E=&R?y zChsfkKari-;NOdB7yLc(g=*KV)~kc`dx3ov&yeiLsIO{bG#4ozu7hn~&g(rc_4DD1 z=WSog`}`B)OA=!@A1A&$+0P1ga$_U4rCUB{6vKBFgU^aTt$KS?UDR6(>~{vvPMTe| zSk!#BNdJ6IKIc?dr_Q6?Klr)gGOZ7bmD}Re%S*Gz6#qc-$(l*Mr>nge%O_>s=YyeM z*mc2&d|l62pR0QT@$QO&wT0L|@{YXEX%{gJtFAak=-(zi`4Gn!`=yGl<>#6UsVuQE z7Z{hD6x*omS7|IRme28|xmP@qn7(RHXYU(*S@oV<^aIR#@?$-Rg+Hqph`*dPr>)WT zLS?_9N${>E%3;~B)$hx;Q9M0KLp+^{N0a_S>3gKFCOa{}N9tXgjStHCRMoXK@!sd> zKB;So)*_zI_DO%(SM*Mu{J`u1Hj^H1S-Pb8ta*#}EIU8V-(J~$pVcKltgGCo5Zlyv${&S$nsF>I-MR8~Lq%g&h6 z56myd)Zf#yYO$uzM=B7x&Dj24r7n}($bRVyC0N|{7J?6XT@9#cFJD% zf+g9%YCT79rY$=pKX8wjZgSr;2-D{)694N9mttNEXd}K-X4Qa;L(p056KWQ#`t=@-`W-@5%iQCl{;+eQ5%T{RI;lD0k()^!LQ$atH z_%QiFv(*(@cA)gw-M82mx8`Fvo%C^x7Col-uY#WTZvK)*&GCh=RGf@2ytVA)A$)`E zyyrk&jPEhhz?Z8($#Z=A`V0Gd*JS0=aT*u+>NFOVy(O^69Zje7BT4^i@#Tr%DE@w8 za^SP-x4GbxvW)w_($Ej~4^OE-d5;Ko4xoQ0`V>FyqAfimMQ-#a#tyS?T&^)i^L@>C z*1D?rmenoUJ+i~(&%Y=Bhx%>nTQ!el_k5`&X58_^xSzTt_sJZ0U2jtV|N3ElcUKzL z3hb1j}K>>+x)IRiUq znw)Y5_V{**7s?r8vmL$j2X_9z&L7zM(|KOuAG`BsQtbSJoj>r?ZT`r+oo3M$NQ4KIrkG|NAsT=mpfFplI*`xUcnxteldB-yoSlc zOO%H&dDy(Zi}%yqXZ^=czA;|-?-yT@;(4E#>nZk@Pv!5MQI~VCNBnEulm7M&tz+UX z*U9r14dZ^&`FU)N`&njim-t+a0!}YF6^-`B}6{aoUNNp!quT4y@{wy)My47vEACca_RfJ=`|44B*V^I9O z;{iKY>tgci9*rqX+ppF*j*7{L&9n!G$%h-24>0+#tLkke{o474ALko-a%O|%hn$(y z+BFu+4kuPsl^+b?(92r9Ow9V>R(Y`O_o2b28=< z@pul#T*9Yw9*uJw_Syw|?P{{djy+FPpY}Ph^A`5H1bbbgF6S-nEqy1?ANZWqcJ$6w z^oOQgg`Y{TqTeI+8~*?D#iFjOLtV~Q>h+pAF7}#?pS=_V`zzS_)^>iLW7jFi+QpyH zGvfbJUcuzp9}~ZG>m}K#%CU~5C&$o~&u_^#JS69b70-FnbOz0=>LQ29CF&x#A6A~g zpISFxXW)~??3ZA!eSeT%t=Sd&wZ!5)i# zT}ONmNNgTEG|oNPxd%JFIMc+&h0XY1m7z^Y2>Uf@UyrbNvyM zGwW-7skg3uEc-W@y)HQeFO)Ob7s?sz&Y2;xa|t{9r7iwHxrE+%g`Ryic}2|5AKEye zy*KM5`~u|(`2(Mw_T=!EDSs&I{DGZ6O-}g(d#tI~V}ac{13PD6=M3zenGo9#cION} zoip&$@_XfWYX_0{kx^_4*J=oe@J@_+H#22=WW$4;^cq*{r}FO&~qlh85H{Wrt_sv?U$TC z#PFt5^ZbF|p7Mt{qoyZl4oDjON6l^Nd;mWmmZrHsR9)T|^>6aeXH7nXA|7&svl{C4 z_~QR(%K7GgQX21V=#w8^TFM?*pR`G{(D@abC$u-?|9IlxXIaE{zJ9lIck1(_73Tr! z^NQ>q$96I2S8vn0L|LDkVfTBL_DL=gv*#4-Io0Ger_lS%3cKe8cAs@%_xyrAzhKWV z^vtid&%4lg-c=Q+{bTpMqd$H21$z#{o`d~j)f9xdT7l+(Enx9oTaR|DHS8J$K-R=FXt(&U4CsZ~Z0NIU1LtU?(?N z1LOHEHU0g zLUuprrHx)^;Qy=hm$rD$!k)9R=j@F5Nagl&hFeegDmxbJ8^e z|KqCn1F2r_t!`1ypyzkT)?XR)UsrD2B@JcI6#r06yEf4I{7WuYzFk=45}K=}xnCM$ z=K0-WTH9g&Mg#V5H1JdD)Sf|pDEm&8s3pY$zlhk191vtl%dq!{4Kx7XUFbKtU` z4>D(Yu7Uj`Y5qOM>}v#e-@j8YK9{K8)q1{J)pO)2-H%M`8J4dR=)G=~l>fe7RJCXJ z`hcG;Qa^Mk&L3+{_?7O#;a$|OoF?olAa4ls0zh-eE%H^7wsv9w+uWVSU4* zZ?QX1VmxTvKWOZq`-0;?o#zun?E%q~|IY#+VUdv8AM;-?Plh=LH(0D>P4ej*Oqv?$*7z?BA08B8}b2^2u+YcGn!Fz5FibK>;3%qboCXy zsDEkpypQD?_)Ee5lVh|WPz-le^*meis9QX%Gu0m?_WMHE@&5(=KOOj9?WMo1JdE#$ z_a+VbToa$5cSUZLpZ>M%&($|3#L)`K|1StN$0@uKX7> zcOF-+qGz44hIfsgl%2937c_q7lQ`Y~*u4%6i`gIkR&fr9-M82`Rs6qGp1@m)XQhFC zU4YB7^L+#OU$hTdSJ&3K{@~MbqVb+*P|VyRel(6Vu1m1<3XS^*o{wL-;dOOb?EOHe za&NvZva^2j-V~Y<#az*~0KP%YyEicHU6SnHGhjbJcFu(1mExBt-b>6GFV`LFVqbyg zjp_%ko3Qr}@fwGn>-eEb|8@D{+JxPGOZd;8R% z{I9x(?Cx9qILF}m_sUX^k;7d3e9eO0x9H8(>+1-1ui?wJJzZCG?St}z=6JP*XB_Y^ z6`TG0ee5`o;_ocb->$OzsvrCw)CHQq4YljR&C>ICG5f1OYK_AFm!0x^ZQ}7eb@;hn z^?pQs``_6Q#61ROH_$yM{ke^<1us&&F6z(Q^%nIx&pxPk-{E|31}}bn9s^~4CWE~i zG}|Q2m^8j#pg&u2Hs4zl@2-03E6Q$ua^ZikRF<~P@A1@LUn{YD&&F9adH6D|74(Vo zzpU%5^B=w^najelitg;_Z`ZbD~=StZ99t*r$cHSq9 zdw_AZYX|)gDfYB5G@ zpH2SBrMbYhlp9=k(DSV7JIRlqA7P)L<6_Up8ToNPqd8o4HQ$>>AKtC{e6V|sqTZWy zokb5XbbT+$kN5NV|EBz~KKF|0f36Y4;57$LP4ki5WB=g2ADYkUI=Ib=c^iH2kA7K* z^RRJCl5wO=E*w-xD zcu9H|2G6GU)}&!vc2N#vf8owcv$u+;>HjoeSeJY~ZI=c+If?x@YU8-th~3xpj-**3 zKOLHD=-($s{~F!X?W}7bdhaFB?5BG=@(Rs*8W;F`>bHjWY=hdfVK1pH*G+g=G55Ck z@qPpS%|ZXDV&k3>{UZ5<(R;n6Ue;Uo46yGj;dsCKA!%IJxq(k}Sw8)nk*=)xAHfyb z-B&RA_Fsyj8tgFk*5~PeC8(_b2gE?oz-T(9iF?AKMMXZq&WEd7^zNV5!;kA*79%Rl z{{JlPC1BdfeSKX_9)9GPI&Tab*qTPtv`I4-G_W<}NyA=cN<6N!)8Dq~J}cSzT^07* zW#=1W@Lfr>h2BZ_JIu?(%N6su)^OPOJ23Y|3tvCtKSCNXGib}+h^^$g{CuTU~A?=U7h;QA@y<& zxoVNFry7^zlmol#zU&`+=)3D0qnq~7JH{_wlD)dF@1;v~T+)=~(=m689dkwOnDKLo z^i%TFBfIyLD`h8#*>9t{R+`^Q(-(YJ6VJ#Fqv!lb$2-|a%lZGvfWNGJ!@o+SpV7_# zX01*4-5!^5^{4x-CO;kv*nQF$Gy_2cTZ2#MPrvML`(WUMHLoAreo=Obu5mNl6}iX0 zg*?pusx!KjC;aAdD3ry&^Pv)QsixSR+pzN%cHY9y+liout%t3Lt)COSe})y0`v-R0 zXQc7(0ZWS0@xb;E+dpjoBdLwdYk&8nceVC!vb)~VP%rFy>!~br5I>&F6Uoke!S1uB zhS<4BS^pn8c>e#;om$j8CcE1UyI%bGoT}qFg?=*V;d#C0#kL3NH{klM>#Xd~jj6z; zdNID!YuO$DjO>mdb`0$*Yo7xjD&lFA-SNYYr~1JnS1;1{4Ef(Kds4$n3p>s$lvjMq?nn3Q ztW0Hz`E5G)gHO4!lpS2twK83&UZxnX(;8U%$kObWU(vUO#4Gn&nr$!pRbtAbVXQZn zW=CLP|WiK}AA06T_?;`DrnoddAvJM4U5zSw^)`0o$?Vf&{)(eI@gu1NjaE50oB zC+z;L=r=y|@rdW+5zogXc05(F;~5O`41{=K$I}z^!$Ch3^sx24(mNj5@xYD;c07GS z4_gmg4_n_K^sx1?^|1Bb8Vk3#9^xMf@xzY47W~8Z58FR%{{uk}TMt_gTR#}|u=TL@ zu=PVh4_gmg4_iMR^sx1?^|19LK@VFGTMt`5s=o5t+Xy@scu;5Z-jl<=cNZ2FR}*h2{%~R)^Ud2^#K*~w&;7+;7UOdp@fAtGTztLwL-M&ye0#EY z>DdbHq7U2ECm&K@{Z986+iR~&+qtfF$ZicxKOgXXogIn!1}xuj?xw8x7};SoM<#yZ z4ok8d)X%-Ld#wA!2T1>;U*=`)KbDR6Xt2j(QuplWxxNg_&lY;t{9gSg6y`g$b=5m8 zc5LtwNmCaeC+6GH4e{s2|0W&}JQ*|_svmx@zT!-BTK27UhPn2A8TPX5+?UOW$v2*- zl)jqB$@vn@`!FBVISCr}B%5BMa~b8;ne_kf)&EJ)zN@^fXm3ZdGe$6d`>9Q&33eF! z7i6ylJB#$K1bU+nL*!Rsha&JEx-JLP!}Z~3BvzZvXjO24_jf7{gPJd^y1 zXWH0zm*zM6y;3~i#{ML+rMgz>jQ9E!&&vJt>pL38y7`<)yiERG*EXpxG_#85BK7A$ z($iNkZTyLRj)>hx*lmQ}F4%2}@nc^oe(a7PcFeG2h8;8PI7=@ou4}N@N!aTo>~*pu z=wa(&>tX8~DF$+BG%blWWR_N0qXd zYTUU-+`VRTcEo);pGGFS75Zy_5T}bZJo*Mzggv@w!=gb66h-nw!`x+E`KM8vegU0bwmva(!PQuQ~ftM8L8&&0}`)yc$XgfJy58MdMJs|hj z7bri+WcS#Oirvq!`*}Q-Wqp_wJD(@SuD8B*VV??i%DNBBFDvSrlihXAY*q9vcGo*C zc3Zks7Ut}9CfF(KzJlFXu=}bzl_mc6%L<=8A)Yqb9ZyAek2QA3gCDnLHpGD5F~E)i zb`0fL7H#heb@fW)y0E*hPT6TMd4$Hn$JA@&@clYTz`Ww-xv**z|! zvb!$)`&@cTcDHLH)QjDDGA*|MhS>gL`y3RzPi7L+SF?esm$vYZ-<<4j3mQKkguNEk z#f&0&Wu>HgKKeuJk|1~`fu>UUkvHw}=?H{}SW4C|U{$cxXXzn#k*yr>8V)xI8*#5_Zf7t%(!4GUd@RJ|Z|5wucDs#clMDPRK&y?8x zHXZbnK@VF$5cGqAhXUWJz3cKPOW8TPrqeEuFYNJ!J-)-C>`35IY1}8Yt2r*(8`Psl z`R2KX-gUvQ3wB-mX-$4rWpVbC4RpSwyxsEQ#o6!I*ZHtCuB%P!v-^Kqb$NVY_rs*d z*K=?*#6!-U-Dt^9*Som*bUd)*fgMjt>#ggZl^^?@6FYB5w=LqCk=^mYj;A4wzv&12 zn|`pr>DRroSflD{qvurV>&09cQar@K9=jp`&W(0yJTG8th~I65-A34LY*SykKRZ;` z@xzY4Q*8gGSLED$|3`NBL)$uq9gXdj^?T-B$q)0C{necI|3A?DMen|C3;xSVPhHsU zb5`*?=5A>m^R(<9FYJyVKlWcqK8XRJwo}%91-q|c_tornMGP~ct{(YxY}oAwwjbDj z`jlgizgJ})|6K5i-SK0$PuM@4STKTS+g~RK?7SeET6tEkBG@JuIbos(sh|N8N2g&C~!USxY&CY*!K&= zs>^d^T6Xxwy2lv__9@x@zfNHO7wvhv2SM*X9FpE+G%LGv47>XWyT=Ij7{MN+dZ@P% zcv2e2HWus?vO6}|v7vWtqtZLJlJHgKKdG{gc_R3P?Xx@hgzXcyPuM<3w0?TtP08*YfSm)CR~75+wCZv` z%mkhdJgu^5*z@BDZr-=b&%FPjp9@S~UeDXM$@iB0UkuoBmbNeMFWN@KIxqG-nvfsA zr`Ik!F*NVX#GF_BU`ySj?NG$iCAR+ov9BFn!Dm@)&8##Yi*DJSKQppBf3SO8R;-)H z@QBtHG#(e&;{tnJ8tWAPE5ZL<@Q>a8S0?|D%Rj$o`OCif@8i(BF4%R!uImb|dync_ z!x{R$#bDxcHo<;p7`^)hcAvoRlQuE;HRRrae0tmm#m@g8X{OKZ}VYjhM?6Dh_-Z=@oPsYRxod-@N|I87XIdav@ zln=oUV;`6OlN%T3fpb9vqxrcs@jS5oa@}iuTko{%yPEZK@!k=3&&_e!-+f$5cE8HP zf0dqdX83v9bMl@iWqnP=e*dbLY)1MH`El-HUnc#|s%uc}^Ed3R(qFZa?s3Fl_;BQT-21y%)s)NAR_^E_R-DNq^Zz zEzRF{Rm9sW9@^3;_VXb4kKf3j-@*RBMKE!$qyL8p`~M~Nh@EfPc{ao|FPLXooX^9% zs4jC=yz$ogUU9X)eYzfVRvNyK%KwV3iv1qTl;U^(%!!>p=ugzRY$`o==Mr}MpLP+O z^BHzN!_H?N5ohNwX~`P;ChF9MMPJ?AmR~n-K3exv(tCc@UsJ?3AiMhw{%vX_>}M0O z`?IM}ZHMm_@1^)_VxONsReRCX|FjogsQ+U>{CC0Ki^{{O>Crn;w1xL4N2OV4UXRJ{dST|~8u^?Ib{PBRvfumsVqVV# z4UFb{(!_aPe_e46oi6G9ha>bZw&E=Po1V+-_ZPR`r@zI^znixUeox|_?jklVwb=`G zO<8o9+WUs$n$jt~=XIy--anMZw2OU3eV0Pt74*I04!tw~p6&E(TD;jc`WCLZEOySL zd711l`ijYQAbPf4+u&duf`#l@sq0_}yaWBbxri@tHFAyY+kawV#P&|4h=C zw13#+AdQo*ec1iHFRq!`UvonKTppf(1}(lwey&kJGr#<;hWI=55oyko#{UD?zj?=g zn(VAyW8&|Me=I+vVviU0ugm_}Oex!cec6>bFVLDcE<1hB`aBVMD)4OL<~44&B4-9< zcaEX)`F8m&xli=iS?9?&*yr1GV%OW9^k^vS>++;D&fAjge&@DpkGw4U~i_mk4V-;w4b z{co&(X|nV5p3Yy?w_@io>>P%jd+@TMJon(UuTXLM>=*a_P`_19K0hR%XUk_*cJ~ST zAFJL~())i2@%#(>ow9GGJcsWWleh4!n0EDxkCV?!?W;a=)WyHW!uDFPq5!8dv_}PYw@0m$>Db;en9puwT7c7 zht21uyv6REoa!z5Z89)+_aXLm@6YFKr^+5BW*zPpUw=!!*Q&ioxsfz|;%3a+Z}dvD z&_1?L_W7|Bvll&H@ec$$jQw=kx7K?LeqUucXkawwNE7$5r$8Rn_%BJ!M<-A zSY7xZ3;t)MnU6EnH7LEGmB4;ha=7-%H{9Er{p;~s2c&n*<6_4QJ7)YlHrTPjj;&Yz z?Pogpf$gU%jr(v$cK6|&c%iXw)BeI^4KrTve5LjP!46|TQ1(pEygb(3K?9>%Ax#|X zlJ@rYKX*XEHR<_&$Z^v520yUZv7w~-f;0m`14qrDf1-DBrRhGn@DE4L*1PIGIcWxy zAJ#6|n$d%F?EuiSmjy`qS7HuxD8J7=)l4{SfM z{ge(VV(5EW-k;qD& z|62I0ilg0JQC*xVovj$U#GYT+Ia7K->r!vvs@Q!F6aVz9wSN#VG)99#52OE2=|_Sc z#{PHN8^I1^Ut0d>aha5Tp}M9+S(vh2DmxeKF!tBU{*JARYi@g^Xcvs;jce80`OzYu zyQFbG!_H^k-*Z0WfBt_UelYJ_zU?;o^1@F!_<`+bT6(Vu6JqC5w=~WrG@hHV=O*mA zIrfpFuAWdA?7C*9cU`c3!uAQ<=bYH{x;OZQ?X$F^Sf5A4*7pT{o9wO^yUSL@d{h_Suf?XHvx~9eUKNQ-9-DP2yg&1`f><6`jR!}i}Mwx0p9;~Wt?PS`$&6|?&sc0a)G2iW~E zrLsPIfgia;|3_~}?IFdEZ9?qW(D1zP1ZiNN_Z=o~h+Qvw$3G_ab!uE}pOfO~lV_%9 z%MW&!#i!$k9Y5^&=fv*+PF)l2e^z$;hwYQ^LRjA?_L^M!PTtR~Q84!c&3&oZ=Wp2E z7TEVb@S3A^AE>d`rMx*_yffU_U&PZUjpKnGPnXy+w+9Vu&CDr7JuXwhXGe$!yUW5Z3%hJZbrC=P z$=oy#BtN!$PGL8r_xP4VKJr7(u7QOG;VZRew6MJs}d(VKz z{f2+H7j}DLx3^nNJk4_hvFA%y=!YTsL_=)DVqeoMsVw6-Aa>hFq;cC}w|!6==Qi`# z{aKgB{fSS$r`P;nkg~gPDeHM!4%d;@DBW8JE^2%6hzJ z)SvGEDcRlsu=`{{`&;YBrFUD1$96OxqsicNI{1X6PsfQLGqIUx#jdL-w51}u=X>e9 z#WP|UJ$VJA;oWs|!+i)pmY#LC1$|X^j~DDQf;~pC$EYKe?MzIbV|Q#_V)t#k*nJDT zA9_Q(_`LxCkN!Iv-)gYWh4sH2{J{3p7xevsE7G`6dII;Z#a=70d#&JF=DF4#eSCE@#DwW)_!UHoSJy%$4=~cYT_7=a|XL(pe~Oi>~VxW zj)T%W&H=IGgdH1ei2JZEyLl)v~@VNKkP+e+lP}K|9;>8 z-FhzB@%bX=hBS_ONOd`fu{-{e;0OPHACDM3*5hkwJf`?`AHwcK*nPO4&L2i}Hru7M z$648ZP3hA9$LkX8G3pF<*!F(0JE^)Di{^c0h<`e;HQdL|tz|E*$iG)M z6YRb6@BS}+FV8oAC*CG@zTwkrX<2&bWP8xS&cmuS7ie#G%*i@u5WBsd(m3}z#2!c3 zV@Et5i;CFq<-(pXJ!1Rm3VvYw8CT5S+g#VC-(Tz5`af3bH}auuIg}lg-D82>e(qD* z10N`5fB&}bC1t1o$xqtl-wsgLV+VWeV2|Cf*#2SbVe4V*E2@icd){%Uo_C1(w*U7N z`+u7Bq&j)JSdr0Fxgx!a*`w(^?PJg_p zcQDioyWSaT{5%x)^U%pqb|{pEU3TEe!vAp4z}5@~%}CI|)|7Pq>2|?x7wmSyZWrfo z^ey`?_95P9j%!`=xJ=3JKCg#*+d^H~9mCLeMLxiuaTLTp{KyC1MSHthBZ+b3+F-JvXOJ#0N}eO>H6gm+Kx8_Xm-dEU^o`;-6D znr-w4oslXY^vpHb{m}lg!Vi3IdY=LII}Cg`#_gR5?d_Jv?Zxi)VxNy+JRiT<@gJ|goM>@}et?6B?K@^jlm`TKr;50H3ZpEIEO^3EEM-Lwv?E{_Fl zO;sANY12m({$XFE`=q&E|08(YYxJ(W_}AiH68}v6>cqbjzePNx`RivlJGEq4_lnl+ zv|F?%sTE@fd%R$e7wqw>iygy6;90Tr5bj9Nq~Hz2yc^SgRH1<%-?p`B?+SK!`=qY~ zJN$uUuLe7OLGZtinEN~YoS2xhKTM4NZ;1!Rjv0ROeR)~fF*kw+etpuw)=UNs>~_JM zZr9q3XGrU?>w-PMV9&3H*z*YXSil|&*kds&_I#`<2Yfx6kllW;dp?fK?ikS6KWzW7 z{ZEPQ2euxz9=3i=?05!4JhQUf5B3<3uUW+AYu1d|aZ=Xx!mbx~y?y#kkoE1KDC&Y; z7Is1CIo*CuYA2`#J^tdI7Un~a?6$91H^1L``SseHeX3Yz^r~Dl z=A#rd-{ka|PRPGwgI!mr`rk3Yt`~N_u2ub`ir8hRUYq z*w-?AItJJ=z>Z;su8E}|m9ksZ_EWU>etYly+m&!ld+b$e`(5pN7c{+>-hQ>#*uS-8 zpWH+1nD`O#qqpnbNX64!SM~g{OLn)bEOtCxe|=xM{|5SB373_!jUHB?Cq22>{oG>B zZ#$;g%fX%(U7s!d_o?hc*TGtd0p_~4a=Gpof*r;_AbUO7VeBW#9O~#u;4)&5i8~o*pR5P6Yepv4v(V!~he+E8nK~7FHFSw!@0+4(x00b2rYiFKUeL zpVc>nHFoETAODfg*^s;p^vo}q{@i9SJvHJv{?tj?* z54-=n#P&HAeD=sbzn%pD)5(9cPhMEuqs_?f`vNq?+`MO$AIE@C#{fHqZn0ySRav*I zD!XIA?l#Vey*^Z=@qJ=xtcama?0&=Tb1i;r zdD7#WYqGNjvd8OC{FLQP40cD@LtlF|t*Qr|-|G%X;-EYL~euLd_J(m~f5@q@K?;l})f3cgc2k;e3 z7iGuk9eCK!TPf>v4A|!w6=`m`tR>q{W#ND5f3U96HKJGSvF;H&-`?Ma4zp!LcHp|*5b{{^~xQ_%4?0y~}KqaAG;a5+k)MU z-EGJI1NB>n`XSRE=^^crhL6ziQ^IqrX=%I;QBxnBH5*NgLY zz37y_^<(*d6+ey{cFeG2?ofaFEVQh$z6QZQ{~XnQirdvCyW0gjw)=F=eVu+2^r*gt zI4b|vcLzOeeM1_z5q6xg}zgc(D#TPPgU&rVaL-xTxj}( zW;(=)-TGne`R%h7^sqI9VrvG12DS$OZaeI@!)|*c+(!%rKeHh=?DmP>K4JTW?Q=Z% z91cE9vU^;x+vk+*-m8qr?mR*7x?tA@yRN$Q9=ox?lYyrKPm3phod13qerx)D;%v~g zT~qjM58R=8-RB*$d#qu%r8DT;iC=rebM*gcI>l}~>~_I!7wmS;h+S7#s0(&oXjdlBX&O@tco2EZ2z$R!}i}F^sx1?^|1AWLEo2RIOQYS z|Aexz%fc=@B6k14?!z&$W9|>_!tQur`-JVYbXw8RaOr#bSuT8)&Vjk#nF#)2`-JTi zw$I6+hpmULhpitK`-}_ry?-sVWk&Xcv?jmmA>GHNYX|2T1JXD*27`W9diTlDT6V{S z#__<8r$=pfS=f5mdf58m;C~E#nu8<3J{q_o_FSurJ+EQUweg^z2>P+0hpnFqn#rJn zt(g{|wCAq$zaN7?H zd%M`}Dv8}L*fErcihWUk;Ev#D_@vw?zq2cSuJG9ze8TfS#jdw2Xkcr4f~GrYU~A^i zEc{f02DYY8?7Dh`2DYX@XsSU2TQjS+JI89WyKk{O-(cq(?0lOOdmS4HWwCo5Yg513 z|6tHyw}06FVf(L&-Ns>+^*F+gzf&5X1ze_mTCdo3VRvlUT^H=SVAnMoV(XBde&D;5 zb=kdthTT7n!0po0-n$>rd&OeUJN!8QKCxqi9S`hyV8_!X=D7yHwHXU_b;?c*T>Hj@ zeJJpR*!zk}v9EWO_4^($>lN3vn%Hs9Nbi1z-Op2Ew|y|^XM-NLen=X(cRG~C?zY2j zJM6ZXt}WWwmYDnT;ouXtAJ~3i`)Lnl>$1Cz9kRQPuwx#T#xZw>ve;c0?7Cprwc+!# zY<=A$+@ojfz2P3DE7S$Mu5$2S5j(c-poguW)Nk9Z=?NOxnz0Z+?3iK43_IqA*gkuM zPuM=IVvqaD-Ln5g|I6z$I)_wQ+oyw{zTgM8pBZWVTQJza1#3IK80&7Wd%kb#S6S!n zT<~8D{$cw^@BP@I*!TFb@5kX|^ev!~C-j{Y@$DPv>~u2c--&PCSZ5mLqE9&Qa-N{~ zSp>Y${rEFI9~+h*-*dsf=YoCDH5J-EBD>?6mEF0D-Tgq{GA_((G|mCoIRHBcs_K8| zz-aIf+h<+uv2Fw&3p|mSbqVIV#&6!GvkS4u0_MDBYTw*Ge|{qSPfpLj(}iZs4Hsp9 zPh}s}ca56=k4*Mm+VcMij^>Sl`GyR8h6&kEmH%V)Kh$8y0Drt=Y4+0jF*&H6PLJf~pK9oTaR_S~t7J$Jg~ z({mH{+?iRoxGxxx-u_|xhwUG>|8k0xafE$;(U8XXT<>_Ez6*LyDZB1SJuClw@!P}l zhw?n(zUj7B{kHm(`S)RXAL-TaDrJ+O)&Eb_Jt_Tj>rwKrvfeLs=$#GsTes|v8O=@F zld!g6cl@y9haG>H*!|P3_}xFS`=?Wy`8|o){;@lriu8`>&l<0X_4|_kWA#j58pj4Z z9@z1~j;BX{_G?|#Tu(T|^x9jM-T4MHFaAUG4u0)c`aXuv*kP|@l=WH-d#&yZ8W=yn z(mf9K5skl8#)>}2=ib}o_hPWGr%yGP(RePy?pylG z;}x%!Xtq;ZmTTRHIg937wZ!1Hm$DvT*y9U(djEUWEu=@daKfvyXG5Nel@n8Ha-8+k&xA2q6j>h$3Cnw*owya&&V~zcL zikTcn&-a1fD?R+kb^0!As_XaizxH>4(X7AmqU@lgzfsqP->Gl?dyOk~@7AIC{eKc? zq-X5-f726Uj~#x(}uJ{Nq#_S1HKF)lD`#klH%dERu%b8_Z?zhW`ke}d*v@tUOZbrw7Q z!`y-CpGD$sv2y@+U9kPb{Lk6P)*hKc!h>D$H5`7ZH8ziZ9T*ZULg7Zmfl zEW5{xvW(YnRTjJZ89$ycu;&Zx`BFclh=J?l*H`Kr;mXNz*&Rbgde4_J*?n)0-PdL8 zJ~O1O>xEq}?0S2WPws7}Wye2fP1RtZ!cRKK>r)?kP3x7$ZJ(3IabkDdu{#FXF~E-D zwzLOeUck$A56kzFx>c9k3)4p4)w%6C+CNCM;{L_iU5j$f9@=|ge{-^b>2+GW)RvFP zPk(4j`3prG2a=ujq(^qgkKO%=-SNYYA9nnM!T+$>*L2v|XxP{2k)ZF8ANP5$*fCVa z?&rGn?q}G2+X#NzrS}-&lf4=HuFl|RH28t-hd!~MZ|e~c`zzvc+hMmIcH3(qhA#BZ z6S3RUhyBA#v#%ea{f5|nVEdVnAGdcr#MvMGV0X;e?Gv_7*gmI%&&l8uwx2=i-T%|F z!_0*N{HL~{asSK)pEJQHY@c(%&v5YHc0=KRDEJ={yX_@uJl3#%c8INM4;t8-y8O7$ zVfPR0{(;>;qd^Z_4_gmg-w1lxdf0l{`mvygt%t3Ltsf71*m~G{*!qc}hpmULhpq1l zeb^cL5OyDy#m<50;2*Ys*#2SruLS?y!9Q&Ov($Bjti@g0&K=8SzaZZIeVaG|kyvEMR?mn3g z`i@X9c9+HO7+}W$JBC^5z5j&Sf1Z6$=_${G(D?olUTB{m?;rm=d-AsNA_mwov?)&K zCwBe^%KNI?Ka2f8P+;E&jfS)RlI+eIG{k&JD!Wk3=-qD(`SI^@VE^vmztfgZ`B~^) z^s?;Co#uIwnETVuD4w2Rhq0e3`-|UHd~>faXkavF(-!5epY=~@4`}}*fg6E)&MNvD z_P5jFEnk#>w;W!xQ^B9@$j>ye4~hAP|B!rokInD(ysw7+i~v1j^wI;gXHd+ZBiQ}z zbnJdEz;6Tn+YmJV2KE0V?*8MuocsU(AFHL6H8qpPVzXf}l!kH^n}#Bkis*+;Lot-f zIfSL6Sgf;g7Q@n_7)qfCOT!|BaTdc;PDLde7K`ugaeqCIv)AQw`Mxio^L@E|FPHCs z*FBEM^Ladv=ke=#Jdf92FY_4xF83xJKJVxKbN}~slzRW@Jyet{+}7vj@Vg7l;r9lZ z!}eEL{p=&V@2n2ZTy8Zv|8M(rHSw^|&9+}MNApY?6*pV_6yh~e`*cTCj@fd~A}4yE z#=aH#j^aP#81vJ&;ks%&?e9;EhhuVc`2Y2N=I`Iv=H5rP3MNv&`CM#sQ08!7#Ir8@ z9f7v(XahcG8P_uRAoA@uKB9lu!*agr5vS*ltq%vmu-0vZb$qvN>?1*tfh*iS@w4u; z@T=I$4vcLZT*I7yDQyV1D+<9C?PyCg(ApsjaNp`u~}$BJOe)_xI}}`HRRO&2Jc4PA+pJ zVg4zeWAT$8+8-Yr6(7zuC(JMM_}-5DKmTuKs~+B;Gt+a*&gPl=;I_dR4@BDV4{vjH zKif85?s0Poe)n-c(}maLT*esYRoISybJ*tt@#4v}gL$D+o;Sn(xA;Y=k!OGNi1v|v z6unO^oT&L?i~9V~tuwtX}dUrhg7 zUzu%Ryu`jRS9zb9bNT+~FsH`jR?kq@JH^-gcemxAAC=$W`QcoXo^8oFp8RVmYyA+8 zwXDvtudJTtsCBib&5v*%Sv;;^ZE^*K7GRA8#8xQqSjgvF#(fzFE#n%2v__^Bmf5``Y}Tw_yqn&tJ2h*Uyn3ef%_W z&bANQ2D3RIcRa?}02e;w<~+TNxaEZBvN=4L&EdIh^@nYaK9(wo$ELLk-eA4aeOpaD z>>soB&nEiE{QmoGb>2;){?@m1kK-7NKK87hu&>ND*G9gR-_{kj!RqNwKX;=~%5m6l zma~KYd71XC$Ctkl1nY1EewcAZ($x`Ld)m2gqn@wn|E*E=)ZznX#0Ebyp0|1qVjFF~ z)Er(v>plMs%33^)oJQ7V@xB?Yf_FIYl8)qBOF!H1hg#0->__{pG|PGaSpH{(K54>s zZGUY6`vQmesl|DbeRn_m%kuw4z8y=J)7ZIfu$+9`E_>g4yl=})w&iEq(?UG#lbL5n zo;yygWWN*tZB(r0BFvw1&9rmG>J0D8*3Q=1aluEl)8h8sBi1%+LoIEv>xt!r`@;Gv zytc%?z5kdrPobV4sK>UY)oVN-u`L!4%SP|_6yiPT!*4(1UV#5Ti|?gBm1`Qd{dE@G zXnu)p)bFw4Wz5sw*oHXI6n8Mka?P*2HzD4adaRuT{}0=5jOZM1j` z`^Ekr%{-2{?IX*X?zXsX%XMs*Ic&e>gl)EX*gqDpr0m8G9MAX#{2cACz|(Gv2}Uwr z%C6kMEf!yYYfLbixcT#_?Rxc=$on{p|3>@@-`;Za`?lrx8d$IOiTxj+<$OoZP|x|9 zvgKZ9c(1ga7|PoGxjFXKxM1rYk$TcHBllK|PvZV=bGhav*v>Uu*Gp6Qy%Or2^638a z-Qr&ox8pzhys&Nj&zP2aIvmw1c#HK~JiJy|J@#2^o42eY=ar#+1{GJVK!)V%R z?XjGHvM=nnBrJYt)V7>MJ1t&Hd-m`i&F*(*I|qxY-`piHa!<6f@3UX*7&d>8!#YcS z+butV_nu)rr$?2YN_%V!W@TGN_0>^sYkxR~Zy+Z;Ppz+h<63k9?J;+t&qw2O9B!}r zgzIDj*RJXGPxuUF4(9}{pTqlI6=m%hus*Daveg-mz1PG<>i>)Tg4O>$^?ykHmJ{v^ z+m>Xu%l5Uox7%{U=P9$jXK&cV@r=W^nZveOd&0QohtFKqIDF2soG{`%NoXt;W=_M+clGG#cJ|7=CBRsunp$04eO)Y&=l2%`lvSSV7+OYCr-p{_X|GHTK`eSj}CloEFCnD=Ti~VKKah5Zr<9<(Jd+qmY zEPfTX>*3JHBj>5TtFrh4@?-e`jM>JY4?Pxfc>T2Yhu1fAcph2)TH0fEnt!JacJ0c* zyYGu!Pt0~*D&w3r=liuK35U=4lh{Y$bE|Eajb}P9jI`ky>VM3)H|?;t!BNDm4dFGX zkbMzebFzrr|Av3T_`z&rJbQMww!KN)I{P+GqfWbqTRgm$THDTGQrWJ7=9|2omJ?p9 zE&klY`*Y?*dS7)rEiO2aZM3*u58D#YCf|;egSl1|(O2PdI24EHta%%4 zw)W)VYw4>&99MlPTgox>0{w5c^W{}sOHO#sn#1$O9G)-c@O&|c=d3wAXRC48o+=z( zyUbzR%wgNgaoDyz+B2WFeMEcA*0u&bkY}i{ZRW6T=CEz%ux;kBZRW6TNjPlVP+!+E z1w3#1x_aXE-ohwCzj>oSMyGKcFjhwG}q;kt^bzl!aeLH%YM+rqJHIL5P_u$|_xo#wEevDn6|=W%^7+jw;p&cI>& zTiBLj>L0=JV-EM@Kyt#lTyr>=YxT^ep2^fRiEaFxZQp6z7`5%@|G&4rh<4hx4`Ob| zY}Br$wx4??WAdmvci^xO&6Bv!*m)Yym?5mw z9M(CVdj6!IVy&pyPf@f{y9r^&j^vx(a?zIiUT`$cYBp6~wACODXJ zNELCr#@e{69$VRR%9_Kn=CG`JKJ}E5vmRU7E__#26SjN7qts*mjBA~}XPh2H+G+DD zv30x`qwF%;U^(BCa}?LE9oV)d%z1&F1=OEGehSw>dmc0&8|9PT@x;S^u$+U5Z=`G( zxABrW9Q!5Va9n4$vbOD(6OIYZ;eF5?jz29w9Pee}PtIl=SeIS*Y+mAP`roc&;he(? zo(;pcS^RjvFPKNW?fKE>k%mz=oAWm;TN_o@;%gX_+p%HixaAMDeA-~o>C0)q+4_I6 zyNSL%g}&`WJnY+ysQTld*xxpbhxMDowxy6`;})B*Hiz?F(Q{lj)(z*c%;9+69FBpl zY&hqTM|&o+j|TAkRnIYh;bCoq0o==`whDsH%!k-#)R*C%_%V*Ff#iq#BKFDs^X=yF zeM$y%^5MHei`zS_TgUJ$OgtQ`N6-12!~Ixv=>B8C%GzB0HIy}n???JP&AW+;w!ziE zajovZ|M*#bUgY?h-Y_?olV?10 zN~azWjKgQ-Mt(Qh{!icLbGmZ=7OvjEAG5K2j`1u$uWRw}dtJ=o_q62U=SG3ktikq|JEn}O&c1b+F-Ue*!PXBz}6>ry!}u6W%Ym22FtPj zwEp>T+B5XE{rlG(9=GQ3xHX5zZ8Z+BtL7fxM84~?HY#pDGb$c_kEP{@|L<)7rythS z@_#tYv3U4<)4mJ<(;TXVQw=5V{r;dTvN^S?VsMw0*k z#qm(jXM@B2UjAlOoAH0zjQ`VS9JYBRbF<<3JB9uU&tG$RT`G*qnI4rhiO(K{{bTVk z-{RqV&Ea~@;d)ESxBq2+kU92pZ1=}XoENh;46k)IKWuKrJi}`0dAE%3 z(6jj*Z1?o{xdxj5V$LVq=6vuqi}vTl#I;r2)*IdjYsm@keX(!ve-~hFXrw*+Xy*!Y zY`xYe=5U;|gPeo7@7SEY#l!orIeb>NcOPNd^=_N5F#kqBzs-Ax4AvXwgyU5kkCl7e zT!?L4F}iJJZZpiUqJP5YL7T@5$0ym0742A>MxUhMaJ-b^V@TT;i-%(^b2y%{F=tr6 zjXlD-i0r6-*oseQKJ!iQ^Z(?tU01O0>~o~Hzru05?TZ=T@81_y36Xu#bWc`r@(FXjB{HXCPev`C{K;@ ztSHZka?C;dw|#HIe$S7}SrFxz_K_Uh-X$J?f&YJK7gbLfxAw1z+TLZJZ}C-8b*_o> zI``G|!$(o^O>R4nZfV6mi0hTjk*=aW>G;#ih)=>_;zG`&@Exo9M!pZ{;JYL75^VE( z77u^xVGZ@eBsS>hIoZSqxbrNB_FMj?_+9?j(p-Qq@*MMU z_jPzQjz5eskNvOZV_b8{|Ic?Ox8-|;9*hkdpW>Q>TR#*VeCN)=yWB10{Nm0e-r^pN zTQ823?T*{KFUOtSy>PPolRILABi;RpALBj}pWr?OXS>_uzPPH>{yvXqJQL2bo5SD7 zG-u6>9DC;QK5L%+=K=bBMYN-zyQ5wD$o^+=bNCEy4xhm@D)#4?!yI#%vpOor9OjtA zoIa0o3^1={pIwP=!~gW`|KH^7pw4g(!5psF9Ikf?^NnGSIm|JKInnF-Z$4M^zs--{ z_Wx#kdviavcY=1VnZvPh{F8h>@Cwcc=4Z_Izd|WX89Om13CC;$6Zenh{-=2KXB1a( zyoF=Gs;BnX6Pvm}UXiokMbAa$Yw0ksSJH5m7@c$vAlVxr^G206iSuo0hAc< zxENeXiNt`01lLF(p(5!^G(p;qZbk_~#~7ZJRCXAeuGnz&p=vJTzW9eU6P+{GN|d5u zQW+X4m7{BEv*#-d~?<$xgQDy5>MqzrVdl!>yWEYw5lj!u=b(ch$AC`amp&X#h}c~Ty_NE(lZ zN|VrKQZX7WO+jO%>1eDp6J0NrqMM|A?yP^83egm)2u+p7qr0VIbe}W@l}RP&L1`v> zSSm%2OJ%4^Do0DCYV@466fKulpq0`}^qN$I-jr(5J5n85FKs{{N%iP6sR4Zn&CoM(;q-u1bv=j}I zR-)n3YBWl!L03w(=o+aG6-n#S1Ze}hS*l03A>NIm5|j`$qPw(oEBX+%4#qN~tXHfE z{Yx5;8l)<8@C~+=i&3&vjk-!p(NWS0bgZ-zWl5`152*&7D%GODNp&bk+JMfM0!DJ9 zZnU+QVx1n%0n+mRp_hn>LIj6sz%$S6=;3nJq&8Uskg4#<#2gV~(EJ~8%P!}m49U*l@=~5EP zl#5v?KaKNZOjTH=jOB2$Il~C@#oEhw|y(gdhv0NcpIn zRESPQ+*8m=QV}{?8jnsvaluIDQF=-FsIO#mD`!b#(YaC)8YqoNgQZF65~&!Ckfxw~ z#K@ATqN}7#R3v4g$x?SzB4wl5QZG~?*?(@mD&?RLB6-Y^p2nws6M|kSN9u!yNjWHA z%0qWb{ZW}T5G|Jmp$2Iv+9?f3Ez(GIAaBtVf_#)E6`~8Iv1qhZgl?3^qdTNYXpU5j zs-!9CS*ZlQE=@=4q?xEuDn&b`GSniKql50Sw#-AvNEN83REhGWDl|k|jD}0q=tgNN zx)sF*g*?^HkjA2Wr6TlzG#-^plhAyr7(FIUK?|i4v{;&so|Vec3(`FFvQ&XqON-GO zsT#d4tw8TdE71mNHTqPV#Qg5jyi17-ijlol;mHA=B$c3SX*%jH%|vHNrKq1&hWbn8 z=mKdTvj41#3o6j1QY9KGRiOfDF}hl+M%PJ8(RgVEnk=nEw@Mq)ol*muE^S4#q;2Sa zX$P7s?MCyYX7s4kf}TK$!6D3r>5dP%Xq=upLS(5s5&q7=pQP>o_|qcp|(qqm6h^n~8k(hJZrS~>`Q zsHHAx>Z_=rb#Q& z{ZbwJLRyc$k?PS-X(MWpQus_s2mUWHAxK5ZQU>ZKWukMWEHp~$j!LC$^dMpe7j2UU zq3@-kXooZ$?UF{K-BLdKSt>+Lh+`c6iukXFWJV)W9NH(vqraq%D2C4j@LyA?wUmt7 zNGYhTl#1F(8R$SM6LpZX&_Pmn)Je)l2TQ%sAyOZ7sFZ`cNO|aRsXyu}4MayugHRgc zlOiY`wGTF+T*WfF@cb)fqM=e2x=iYhMx(^w0<@XqilYRLA;yddDwE34GN~LjO7l<$ zK4X#?3}#09-;_-ZMxh_1>(Op$GWtcj9sMrNKz~WIQ7lhDiNSo-4lxUX&QQ%)9nSoL zmaanQNt@6`(q=Ri#Rc&xT#G5uK1fD4t87Tm?dfz%a!D;rQ1<=)v_BEurwiPM%OBDFFHkK zThR529m1RP(^a-BI#W6URaXoq5Z(dUY_ptO6feL)&y z8k88sps%$w7R^pz0n>i7d1;~qkYl^s1>s$iNR&4tyF;GrRz~A zX+G*KEkK7$OHit`3>_`4LdQvK&`Hudlr4RPdP|$o8PaCdPuh<9OFy9tq`l~3Dds3f zcv3qwQtE^Xq%P=cDGgmGbwlH&9%!=E8{I19qC2GlXu32Q&5|xd_e%w6t~3tKlO~`? zrCZPw(p2=6Gz(RuIR49nYnb-Y9JGuWXA1gOdvzWk7xsRlhKZAHtaZD^&m1HC3Sqc>6eAU1=2gm|Nac4_HQ)N{6N z`Eb+=B?MzpU#SS4Crv_^O2ufpGzBe_O3+u*bky#Ct7Rt2M!XY2S4b78P^v`Zq$+fS zv=~j4s!=iGx`u9-)}xuy1~f;iN0rh>v|MUH>!n8Yt+W;WDs4lDJYY5NK)s~hXb587 z4BaHPpubDO(Tr83STt3NLw8H@=su|UOR1FXf?+r2gnLX(0MS8iX39q3By_IQm{1iGGywQIk}N_DW;X zpHdNOU1ohX9>qzMPzR|PB}!A!p;8G-k*1?GX(l>GDn-XjWvIJUj!u#0q0^-bbf#2^ z@}w#>Kw6A0l&aAXX(<{mtw5usmFP-oHM&NsK}Aw6njqDoo2B*WHfaMYk?PS5X(PH< zYCsQ2ji_AOisnn(&|}gLv{2fO7E4X&S*aPlAhn>ErQjIu`%)}gBgLV&rFit7)Ddlv zlF+A8GWuLfL0?O$XseWgwo934mz0I}NZnDhl#TXDy-=$;w)gv>wo(p?m-0|2sXyv0 z4Mc}agHWn86df%MN5@Gc(MeK1%9aXIZ)q&D|E-J*icmjkJnAn^LKjHI=wfLKx>PDb zBcH7n)u3vr7A=$N&`Z*K^s2N0)kyW|EomcqS86~XN{y&q+KM(w+t63i4zxwujkZZm zXs6VSewJF$Z&Gk9GY(QLius4_g*bG86ps#+I--tJ5;{amMu$l$=twCQWk?yQo0N%8 zl(JAysXOW=Wuv}QFLajF2c0YBpn*~zvTs`ET{*f$8i+sDm^X9VHc^;}J8T=qzapI#((|1EuL`urw20B9)>MQW?sZ%F$I)HM&+>if)uP zph;3ax<%TE?vNVLG-)fEDQ!curDpUGsRjL03c9h6q*$~-8ibydhN5Q>eSnrKR)lI% z`=A(oqgW~0EtR2Pq;m8-N(gGvUs4@9r`%%k$1$QnaX}KQl*Xf{P-5^YikoOlGmhuV zprx7UB`FKND$PV+Nu_9uRED-mlQ)FM@(m_-FbeOan9VykI45=1%lj_ik(t6ZW+JJgV^{6ju72KXh&1`Q%(ES9)gv1hpY;>R0 z3%w%sLElPws59Tul^A@9j?~+hk`o!XE7s#A+Cr>-P=;f zDn-{yWoV8R*OPmc6p!AMI-*^O89CIc!jytKOR4B^DFdY<-t3{Hr9tR#QZXu#rl93g z3ECh{M_)_j=x4-rJe!%`M@<7!k~9c)k%popq>(6H%14<}B{~5m1U2YnsTK{^(mHg5 z)QF0;bSt`D+J+vMcA$5p-Kbe=LhT;2nw!yKlKn?wU&PbSDU3Iy3RECfqpPK*=sIZy z8ZWIxlcjCwR>Zs1QyFh4HWNLkSSebrSQDz3n$adLO*)OMfRv2(N-5}w$F08ps6XOK z9ZgVdCAwMKiXPX}Nxc{yDprlQE4Be8Ra)74)J3vi`Z+?1Md?x;%9P^K35fNgY-u36 zR0>XK=1v;)H?GgpP_#rEj$V;QqIaZH)F9QPJ<>*$wZPWVfO4hveK_u=(!TVwRECNX z^PT7(sS1@!i_skARilTbrRWza{tT{;Qb%;?6SlS_lqDsjeo_h=Dy5?9r3`epl!@j_ zS?Fo0J6bDcqeiJ0`b+AA5*FIpa?sII9?FvXqn^@0be1#-4VH$Y;nHw)g)|afiJ0Bb z;Yx^@-AA((8;%~4Mxsh7A1y)&K?!Mb>(^Q0Z< zapk4tQXgs`WTHC7`lHXJf#?fq5Nec$qHm?)=zGN668aIf4k}QyREhpjUe;OMITzVF zdZA+w->=h;>z~wu{-&jIdA!#^i9uKN`5mTi=xfA(SRwllxVAwrbgjzPpzEbtbd$=y zg|<>6E~rC)SBVX1ik5zawyVB+bf=bXM0ZIIXol2?W=dPpebP2`zqA9*k#?hUDfVo} zFH#(OSc*rFN*z(9l!O*a$>>Qb1uc&44eBY?qFz!R>MLzPXG!(wTxla3C^ewLQX{%VYDOcZ z7L<ZEl{LB(2Hf*zEnqt(irfjTR1Ci+@SOHu3+t7SGiTuaMPIx)^)be1#^O;+A~l&ZW6 z^n{jHq7S7i)FLfLU7xmEs?mkgQgn;70zECQL~lr|(f3jf+AGzf)Mu=gI@DKMkFJ$A zp!=kH^sclKb*Z)z4X9XZL^GtV=t*fC`bgS=+COV0cB5RW2^C7s=pLyBJuC(1@$4tX zq770U`az0EhdpQYbwo!?N$7GZ8U0gAK})4n^q!P~{w-yqnCGpQER-pAN2f^HXtdM| zT`%=P_e*)`d8t3DkqXgY(s(p_snt9W&5$b4V<;|YLGPgULEQOV(Y15~+9TDYR?DpH zM$|=WM8`;5(V5aVbe^;WjgxkxJESHwS87I2N-gMlDHzCoMv6syr8t!Mf~_|mrAr-A zA1Mi)DW{`R zw^j{ATckngk`)#kiq=WPQJ)vBzOm?esR*r*#-mlzB=ovejMgG%=uw?w^Ux+~(1koV zMq+5ERDph$D$#FJ6>55ZfkALSIS6XbYmvXq&VF?UXj6 zpQQ%$8)_G{pg*NxFn6$*t?Y0VhZ2JEr~_&pOhSdIT~Layk;+gJ;+}#gC^iq>ELEV} zq)JqRS_QA61E*RoaTjwQX=yyVSL%o!kdjfkl!E3Bb!E~TFT zDG#Mf{ZXbg2%R7eMJG$c(P`31)JG~rxzbp4j#Pxsm&T(((j+uYDn^$}Q_vMs2`ZGP zqjAzqbc0liCQ4P*qu>oY*5;vB zQYAWCszRqri_ryAH5x80MFr9dR3fcJPf4rMyHX9>g7}|NbROHmEH-K(##0t*S7X|W z5~SVeV5tcuOD(9Y6b$EWffS35mEusA6pwmH9nq;$2Kt+niE3f8Rijs=rD&bB0(~zf zU(T3ot+k;42-Yi&N8M2SUbH-65?+v!&JOC20ft z6vYJ%D5y2XjpS;E*z!?a&7^G9Me2pJq(10xQVzOF%0u@^{ZY9z5IrspLQAEgXq_}1 z?UqKOzodMW@Rqfp5FIX!MaM`*=mKdxx>}lqrb)%9T$+L&l}gZ)(sZ;|nu$J>O3`Mi z4E-sUqYiId3+AEDQUywrDp7yLH$d=AGdXyk- zK%Jy|lq79Lhe{3TFsTuBMa;xfPy#`p@I zt))k!c$RXXMhVL6k1kQ(K=imY2<=8ZC!BCZVgPVsxD}1&xYJecS_Z0I${ir%A|VqGUD^BW4JfczPMmDYWu#a2E|LYsFPHOIwR&m(BV=uI!0gO)0`6}>3!Mz2dv=ohIO-SmO2W71W8Hb5#yEz%Tp{D-!*1a+6D zqao5v^pI4FZrxycW$1RP9DOd$LwlqO)GSq^>prp)Rj5o_jFwB)=v`?k+9It$ze+1n z+mEg6YLqC|pu?qFlp*!Mn)|9W5RH_^qWMx0szbboMQuJYZM%je3~_Xh<*1Y5&>2!T znk)4}Z%RW^OudyDj=H0`AZHwJR-`;MNh(FRDX$EbNabjWmd-=yT2=w^Azl zUdli}N|~rh%0hdk?&wd%JTPkgsi_w_S?Yr(NI9rh%0nGKv%LP6Ck;eXr9tQg#LQd%hE9;m z(aF+0bedFw`bd>1SE@qiNQ=?=QZ*VREk(nm73gwlCAvadjS8h2G)}5TH%N78qO=|r zOB>Mb(nfTb)PU}h8d0f~aXnW@DHAP{ve45~cl5lJjaEoGXqA+QUPpYZIr{2e9cwo* z@`x-&by9!yzBCYhjCgl)BkxTkOULt!9a)NYNQ2N%(opm(;{TM;A5s}QV57y#(LvHY z)JtkWBcw)juM|IlJEznUZIzNx%qFWP8Kp>BXawS0ZqU_IA-YZ~LgSTJgCe0P`=BHGMzMitw=@X-A`L~qOT*D$(nu8hxwT*gYKPhfHRxEywxKhn9Vk!Q zjRr_f=t8L(4Ut;Va4DF`$W4kxS4wf{8YvzXNgdGyX&@?*2B8_!P;{>}96f*-JEB(< zTaDh5I!@w>DJ7u~rDRkurJzkxD*6hw3g%Dds4F!sK-H*C(D7#OLSLAYP=b_VMq zJhjc{%B8;AhptD7!Br1%Hn7PLqT{=pe4#iHk>IJ82F zN2{cc=ymC`az;?|bxfj_Qo9E^YZ0H*LTiZVp-^4 zD$yM^XlZZsK1&mVb*RlFw!Nz!VjjIhy@7h8L_SSM?>=gJt&(|*$4u`pVC;ih1y?=6 zvw_rmA?wxBWvJidwshYjp0*L6e0+*0FSQ^O{aeaHKSWxEcB@t6P@~FzguYSPCzN5SSmr+O7<;yw@5QlnN*6Nm&#C`RE{=F^UyA-0=4_b)>erQld90s z(qeR;RE@?+OVJc*1-egKiJq2Lqh(SJs*!5Zhf*E-x3nJZlQy9CTdW23C{5akvZV&p zPijP$OIy(dX&ZW2+JV+eyV1{56Y8|pYHmiyNiArA6g*FlqgFwi7Z|_L_pO4nmvfz5 zVEbd#%RJpl1!yGVb6@C2O2h?KXp*#SC09o+eGy%aS_P9|;X0()ZgiXSnox<?-CI$o+ndD40`O4@*~mFm$9X(M__YCsF5M)bC{6@4vjL(S3-)b`)Dw%zC$ z#LX*-(G35xxKZc(fm^-+lybiNe4!M#FxG3XBE#iCoZG!ES@#iK`+*8xpaUPrW4 zOOwzWQZo8Xd0o&<<)xsVTAGSFe`jsZKxays=mseZ&6c{OC#7ukmedPvmHMC`P+~9x zJ;XYANAM=+WtFK1S|RmCtE2(wb!iw{E3H8vN$b|~geHB7S}(F%Zh41iFzI%bD9u8L zN)MtGX#q-;I@Iyj5^>F5&snC}zW0M5M~eA?8IedHI#23?E|QK$L!~+BO6j8w%uGn1 zqSex7v_{&A-j?>F_oS;nVyuE%1>-(pJSkm|8l_dA@#G+Vxshvx^wTD;wh?{KbHJ0f zt7ac^T!hv`w%L^^v!&hWT&W2S zkebo?QVY633bwIlq*ydqibF%Bcr;Avh%S|q&}C9G8X={iQHY}xy+->IgWl*(>8kG; ztxMz3N77{UnKTuBA3B;T(K|F zizp#j(>5mfO-nCp7Zb$1Zn06QwN!v&QDSg(`@yxZ?*wRHEVuG^~W2u82<+3H6n}MQ2HalVXBF zs9jK-5))j(@zO4+Lxs|MG)~%pZjd&jiBbb9mbRkXrETagX$QJT+Ko!3CNxKCK@Ukm z*O=fDDHc^qacGegkDiv2(DPCT9v2g&YiSb7lv2nNi*ltpbdIzhoiA-bgQR*i3^7_dJtnxN z-n6q1zx853-gzD3_k-A2)qQUTg7eR&02j_BR|m|&-3x#(wU6ly|o!Bq6CVl&Vm zh~6!T3HC{kqEbwS5dQK5uh}ROIfNMNH53lw3qnKepa4YrK;`T8Szl&3`t!o2L z!&d*NILG6k<6Mt_jr-wra<*a)Kb75%3p{5RF7fytJk{gPcpA2{`|tvfxB4+ASmSPs z8{P4Ev%3@K094yL;~4khIMtns)7(en9QScJ-+dA;aA)H&*xJ(@mw5aPJk{L~SGxP- z1?~%Qjr(HU=)M$h!S7M$NX$n^)#iI~s`~+)<1WYju;tIk`5v#qV=$M(;4NI@@i%tU z9(OHX=sD}~68s7E-24-5^PJo8TF)uLjUJ!%Gkxp6A8*H2b}kNLBW<3CTVre6qwb4Y zT!Yhze?k1UJ+u>V!JF_jY&l=yh3+q#xFTXZ_I~(<_IUg!ybeD>e*Lf95j^Lp-{?cn z$;8_|=cs1x0c|4n4998Mj@8k)8~y>0!96`^EY9_u8}I73F;S$e(22XV_#nZ6$!;5$pwz6w~r+=}Pt;3a`{{dd${sb?? zR(2y^f*-~+|DX@Cm3<7?czzXLgKgg}aa*4}hu0FfdY0pL*!uas7Wx@mJ;6Tu*>euS z+dZevpE1E6&p8vv91yAhY`4{a9&SzC>c0rL!&d(`d@#29kNAsY9$S6}PWSw7xSQvH zjeB~2*PvC9&Z@I;S471Ju1>wXq5cQ41Av9)0p-sADtaZKAt zycY8VscQ2&oaXTlaZiue;{n*V@pC-H;|I6msoCRQ@GSQ*yu|$^uEBPlX~ye3z7IEg z{G`^cg6$s9#@ytUKLvNgw%(~Y7u&YHj`=|`<*da6Jf{v9cut2{+UD^@Jj;DHUgEwJ zuXESp&DiSy3&*sJIJOOa;%aM?uYG~aE^Nqp6RwaXX620_8+*w%f5@p zc-ar#R<_dtk+_xZjHi13;dp^N6)(YmkaIL%}5-r{mVx_Qjbv&Et7E z9oz9d0OxxAxVCJU$4|lq9{&lC@%XQJ9JW5$64xpy!B&5lcC^{^kHFL1>3EjsXW~lF zzY#C=oJsE1?=cERIZxdRF1>UeD_|=DgkLcei(2JqNk1p5AV&=PcZgeCyA1 zahjKX9H+ah+*Z#L_u=>xx3(*uW7X^Fg>${^WIVv*x8eeizlz6syarG8cx(sum&e=T zCGPWZjpvl%HSP!TI?s6+Z}xa2-tO^laZG%qe~wIGd$DbA22S(%7~IX{V{xv>pT`3{ zz5*9`{C7Og3b01#gIlT^{PIq6t9osnP zEF9A@QvbO)%{>t3x(DL|_a%6$djwwK&c|!qSK+nT?l0H6_uy)`ZOby;NRGAhCA`_o z?!;T%KfAAGeDWKP=@e;a3vTU>=^U};9Dvh2ejrYFcXV6MA?~%b;V_)*Ik~u>`y99B zpYOK(LAbzk{*K3Bi%-FY*!Igqc&g_-f~R>-C7y-tczXpe@SJvsav$-W1iZv^GVmJD zxdgBEoDq1P=S;wxJ!d7};yJJ3?Vj@qj!BI4TWm6Yg%{G!cDNn3_8f#$aXRtAIL-4f z!Rekq0(bNL0-WnP)wrMMEW-ml=Ve^rIe*|Wo)dJTudrQD4#49)zZ0J7`Iq5o_+I*d zwA;q0g>GyAwRo179gi1y*_C)9w)6Bgx8=Wymw0|1UgP=g4x?|e${vl5FoP!Ui&)vy59ox2dbz9kV z+|A2&!#SQm2KU33GZx$L7g+mmzymygBF^{xr|}rPmYnC^Y8xKs`5)q`*y=ejg?-`q z9o?3H9G>O*-Ek#ePJAq0h^_tCyKUc1blZAwaa%oe@e;3RKCbb4{)N|iJq>QF=Nq?` z-GTL?XUZBy61o3w)}ec zTJk@4TiGVuk9?aW`rU2uHb<~uh+CZp;xX9DUg)-*v3Q*4+<>QH>(8g%w%(;~%YO;a z^8D3!A+|byc3V#Tk@U0YB;vK6bG6%YO7J?*xf^f67TI!);|x!%MtuU%bZ4&cJK2wew!L z`J$lecf$kYjHO(`!2R$cd)YY8SGOp+sSQZ4|QAFu6Tf#O~(aZ zb}}C4@muj!kJsR7*tX>@x7GQc+v@xX&+@YW!VA1?*Q42A*m91-OFSnN*Lcnyc#V4+ zUWk!xY6^kz?D6t^SC_T3lQeq+M=|EOcxkM3h}I=1{Q+|Bb(#yR+JY~xKh*Ylsl z{XBm;9^m=*%k>4G(}Kr%PE02I%X8Y|sh)EVp5{5{<5`|F7*~4EgLr}aVZ6}uAID2P ze-W9^Kp#( zG29wk{zBXiTc0n%_A40H=ilQr_m4Q;^P6xt&;K3UuUuIE8OPD*?tZwR=l910JpV$R z?>YD40`~)W47P1AcU#-$<8fa0aa`j0Tkur(Harbm{!Tp0^Y`FN&pF|E_KW*uyb#-Q zc$(Xe!@llx>gk71bjhDR>uW?VuYrURXZmZ`3yw1x$h#NhB8{X{RiMM#!pWRlr z8E^Npf8wA^q;Jp8V&A#X!>zHk|01`Q9p<+7kHGE7v3;74Q@v~@PIE89Iqs)%uKRi1 z4_o~!+*bc9INx(>aDn?RT;hHgPxG=Lx~=S|xYBdJz%}khyw>x-bzA-qxY2Wd!ogvY ze)tu~xc|Vdv9&WeAz~|g08aIsc%0_$gws90v)l4h+}3YL;T+FD7U#ONaDlrA9^>_# z>b83NxchMopM|G-{y;p<^9Q>v|59A(Iiv6b_my~|=U?Nt{OfUz=S;+F+{JjU=ilzO z{Asw+b7tYq?)&i;&!6kI{P}L{hsSYnc%;v(aEyBiZjG(apL1K;6*$#%UcqVZH*mV= z*SanLU7X`N8*r}sQ{2zmFX zLeJ^oww#0U65{8xAG_c+o_`cx>-opJE&l|(&hvZX&7R)}Z}I$Gx8Z4^NHL2aRx5%{CDse&tLDh z{EzWe&)J9(btumDoUXW^=N#p>oJ?HcIVa*Vp3~E9IlZy{{*K+h&csvQd3c)V4{%%lMYz&) zhT#S7%ke_bzrt<#SGjFJUWaQue>`5}o{ZOe*<0OKwgfkN&fR#k`#!wI^UK_p|B(A8 zT;aBB(E=PC5!uFPaEyB?ZjG&PUvyhNuezv_j*^}LTuJm(WU&2u)oE$1t@)wvZ{dj9u# zf%`|i5L-?YuJQQqc#ZonycXN>6Wb$VtG~V5%67z!p5Ga7@%+QxmY?Rf{9|#D8rk*} zaE$w8+#1`uPIFt?zHTeq52t$m0G#H&5T|?DA#N*sncK=9+hWZp+_}b3Fe?obPVJW3c7y#U&p93s3WS z?8zKscnIfXd%V!&2jR8uL+}=C`}c6SwIR)I^&gA(kYn)^aOvY+GD*xLEE+vfDXbz9k=@WJF*oxkB!FS`$?d)Zb!BetA4+|%8o4ZR`yP}t!oB8m>i4WhtoZOj@#n@bX)$TxTohY#Qm_v zm*62De;yZL+t)ARF?cP0#clZ;@I=r53{Um^20RVh{@v`hHhkx{vODoyFS`dX@UnaH zLNEKL+sejfN8(ntJzncM9o?4G8E+wOIVrgH(UCSB<+hwmobK@x-4@Tr{fMVi_H?(+ zWu57^I$y#08-f~+`&MB>e63;mYPxGAfaV54f!`pbF$6KGuwz%(bTRnU6 z7LWhsw)m~5v0cYR)?0#8v9;$9oc{kXb?4!F%=iDtbDN{Kq7^OLBDXoU)SlRiaBg$# z)SlK-&TUTYd+cj&6Z;-Zh#G{r9+D z*K6LN_sqSV2<+{;# zpAS#Bzc6m=#c+aOhu;XPYm#0e?o-E8x=3Dmu)( z9*5r#GYj8}N32jipF43)--ja{=KoQLYuDY7=V@mwj_qusL+4@KXQ#jk4*3&!!2DU< z)U$AE=T#hj_e$99O+3*~iCg-8oZ;}<`ACP?Wv-67_A4FE{SHs}+McmIf4u9Z5^(CUx)s`aLfK@IJ5ti z4*l& z`w>r$9 zZ(}}#Ub`@E>cw#CoF#Oav$PJ^#(1Lrm2gY1hBL1nqr z!!yly!5zIDE^xTVy>ysAUWaQB#Ix-mj=TD3Tzc&ZI$Yb*;o39sh+kE&#d$cwA)ky# znO}}$^Q&-zW1elUL;nWcPaeK2Zo>mOya(>W8UEjEq{9wh;_2jf(f=0D)bsRlzxL=J&(COelJCEbU&eJ+{Uc>`-Ud5@MH+1Nf zI=pB8fd}b?`~4VC^xDsGhQrU_uXO02-rzlB=UklQa4#3>Fn@{;{j2ay`#CP`-=IVP zHXZtRCkx%Pq*_H&h5<6 zq4Q5X)6OTju=BYNop11LJGF%8Y3Bzzbbg3OtX@6C#c+hfGh70XGG7|U=F8ze^A&Mo zzA7FtAA?i#_3%XVjc{h3;7NFQKEGSy>2`jDb2~ffu;;FLrk%ZTVP{Z>&H=bIKTL=G zXdHe&S@;e)5l3rO_t?^*a|Vvh&(k5l826Ef@7ODFV&`fdIzu=$ze$Ju4m{Co@5Py& zhji$4@N_$meqP0n$>-c=;yW8 z^Wr|eAWm@jj$KrTYp3A>JJ;gW&hh5o4-3pW{e>jWZn6`5qU#XESEnSpbh%tGad(JW7wmeR@ee zQ7?_B>*erFy#k)CSHUCJu4b-@N9lF&fZhO4)O~om-W1Q&TjAMyJ3L~YYUa*(l-?Eh z={@m)PVq#&AD*rc#xwO1I9|8|rVr3F)n4$ss#;R1*Gx8vF7 zcjFNoRXaR@N9jj!pDyr#egaR_&*16$MLZLSKTE%YM{Hcp{K*!~)IY<0dRg4iy?8*c zgqwObJW-FqExjI|uE*lG-UQFoo8t}+|D3pu4zKlZ@oYPL;I3}s5q;Ip``{iNel8q{ zN0}dn`}9$GKp&4M>QnF}9Il;&r<ZkE^{Q@4sVb05Vrupl5ww{f<_jeBsI`8}?i_iV{-cmwhU@SvTo@EpAz9+6a?o$-L4h9~NGa0iE)pJ`C58yC=X*^LchbP%t0Z%ty1-JE@c&1(l zck~8$w(i4Sy(tdAfi1jVTj3E~ROfDoYkFrqO7Dv6I6VJ7b=Y$d_u1JWH}oNRKu^F; zeJmct;oOt(MDtT|3y1k<=rI30Jl)P@JX24>v-LDw;_!ZG;}Kg{_c8c$E1a zxKH1M6CAF65D%C?iU)DHb{J1Ie-cmE&*GVS7M`tN#a$fk$ zp|kupJU6`xZtKx_)YjFt>)}2<77yr6@I<{ip02mSIS&6@n;rCAe6bGC_HsPa{#AIk zz7~(zraJd}JWAh!>p1NE2i#|VA0E(u#7!JNYaJcVdKyo(^8(Irc;+wT>E^HFnR+%Z z?7V|VZCma0Pu!K7{WwzY&MuA{BPK9e3<}jAz;T40p}H#&gZT z$F-fR&&9mkRSx_72#+KWJO2ca(LcvK={invcpX>36U+pT=SiA_#I8*+THL-9Cq6ak1`*R$Cw|0`^*o+JDDGa2h2~v6U-;#i}mTa zqtC^&^km%Cm+P?4)p)LXjz{iN?RFy`qi@GM>3i@5{SeM^_&)6Dxj5Rs%ESEm@htlb z=aGKIVkUu?c94!>V1o zp21B$3s2Cm;g)_2XE?k+-@zA~{}Z?MC-^S?1@7qo;sS?j=h=b#GM^96)eGa1zpL(L zBp#!e!aM0@@dW)#e6d~`-=){Yv-G-nt{#g=?pn=H@EE-%-brtVQyl(ze;0hQ`Dyqr zeGZW)<&Uf*K_{4>xi6bIYcn>x*!S!#k9%9L`E`X1)c^^>1*Y zcgEqjeuVyRxHR7j*AA@SW8-mz!@V4UdvNFaf)O56Y-$^({N^fwhl8d zz`6OQxX@E|=v;$K^XqiTZ^F?*)meAwkl%yrM2e}oG?7nk}g935O;`#p~JyyG}aFN9P5W1Q(FaG{sRrH*lYNHudMoaohYs@KN3 z-T)W6flIwPP7bZ+Y>QL96VCLmIM;jOLXXGMVb!$<;uxR6d*E;#p4Gg+Wxkz-aH@Zd zGra`P_0qV|F)sB=I6AyKYjqs!wQ-_1z)c*!dmA`4-yFAac-^n?^Kqgt!KwYJI{ciyMu(pxvvEcz;~BoA!_0+$ z$8OFUi3`0HF7>iFno#ZVOC0N!aRY~YUlS+h8{-tm%->Xpv$n#So$Yb1$KehRbN0Z6 z`F^<6hv3?g)pI)%M>xzp9>;njPW0)xiNnvhb8%{Z5pLmd))XB&InM0dfZKL%)1mVq z&dI}noAIa)I}GEF{lDnYe;F6fd>wb~bam)_giAaB#)_nZ2Ds1-TQ@t0? z^mv@>195?4&OKa*dpR1Hc2306G1Xb8;#i-F6Ma5T^(8pdQ*o}R<5JJS(XrLvUEHF> z_sN|)?6B2toJA+(+v|`&fD^BMREPXeI5mGthx`ScnZKe#{szv?OC9om;KKZ49rDj{ zbX@fuzQM7s?asM4rZb-o{U74Yd@&vJC2*TOyw*$O+&RnP4i4{!6?N#Wg$p~s#$7ub z>(JR6mv*+twd1Qf<8p?@OI?3{{oeI_pT`8YnI zntusS^i-Vc={VCfaISB`g}xJ)`hFapSj~I{*Kv40!#Kua&*yd6^Cg^+hxg3uI^;X= z!4A&Z4Y!;#fHU($aITNUg+3madLoWbs`fb@H*k1{=iZNpxMhAV&djgJ zZSz}kZhj~3nBR{J^M`TQyuhXT6S#JA^_~2z4!ivoN95tp(y!_8Oy0#Y`8nht>X3hm z6Y`76ztmUag??Y<;qM#kI^-+-e_rqZ^Nu>q+z&UI8D6_XaEe2IB5vWZ=cza|KLh7D zypHGT(0>kh$itkMaACiTyXNoV+9}n{xj4e%+W+A2yQsoh-{IIi+LPB2hd%=>phIU- zoY+|$H|_jPht4RR+W94J;gGM4GxIfY+k73|!Qre8bm%v5*Uo0R^xCa)G_l%$2VBSD z-hYc@^AtDC_s5C(QMif2{1b3$J`uOfPsbUK>71j(v$_!H=9lS^Ux^Fzwhs9W+$9gY z-GWOT^80YDRpk%k2#0;1&~x!KI{X>wMIEjkxfl0qe<>W}n0y%>Ix%k8SqUdN$n(>&6mav^W|`2zAA2-kH)F_Sllw-1ZU>k;gJ2l{$20;MC5|xTWvFnZ5_N zz4k#JuKhF4?L37$`gvUFmvC4A4VU^YTsxz>-#Iwa|G=^S7f$qC+{9u3|KQX-YO=HW z{5UfoiQ9Tfoa?1=p_jv59A>V7OY_mVc4n2Yiz6KFcN1LKo8wq-gByAW+{9t#I32Ft z8xNB2&S!aF+_rNN&T;rWo`i?(oQg~HGjQ#!>OF8S?!jTsWL(GLtSLI2buDg?2Vaky z`W8IswST}Z^LueyKZJ+u%)}iW-g|%2Vdhh~YyWv%JG(mTCESC4bgu!O^+Zb3PE) zap)X|8~P}m*f}0I%}>ECJqfqfGmXUB84IIJ_2r)8XFV!AX3hqTjpQukk6a4 zgZY9w--u%z`nThj`Q5m!AH;(fRcFn_^~sf=!VUd5+{9tG zcSGO&Lp(`;i90yl*F1xK#?9x$UGv589P=e`?c%Dx9IopXaDl_ltKeZAp2M1Wj@}SA z$--HicpYA&>vfoa3$EM$1CI5*xS=1yO+6F0 z^q+8B{{`nb+}CrsWBym%)vw{w&YQS)S+!@0>-v4%&>!KZ{x@#vFL7J{7w0(q`KmUa zbIpH%yLus9n^K+iBOKv`{!eh-d|BMky|}4Y!Y#cT&Tu$u3~rmRhdX*KE<%UrunF#( zZ;or1S37KjBOK=Jfa~Vta6|8on|c7Z^mv@<18}Yn#T|VlF7$D@t53$s71eGT&h(jh z5)SYG^Y9#fG47dK#e zH@tQQ+|;Y!K^$JkHF3*)9Xtt#Yd64c^9Jtd&G4|Dt#Q|U2V84cJCDP4y*rL^_q)p5hilKm4f6|dzxgG&X+9MXnqPxk z=GWo2z6lT6xgB@R@4;RDAnwVlb05Y1`cF8;;q&qoo@D+#o}=g8j~#}pYZtRoV-|M#7P z3q2l}`T!i=S#=J@{W#1y5~n!qe@f`wMF$V#1`g*wiIb4yXK@RM=P(Or=C9%O?yB=< z=-|*PLkEZV+dpvoo+@ALKz7FAyM0ML7w@LSxqIQ-y;Xk@*YyFos}Iwme{|^ISM7WP z?%=S)#L&Uveoqgb`zv3BdvNGX!*v|yT#K7_uE%YCCmyo@Fdo(g?tP$|^Ca%*=X99) z67G@*{|(n3to#

p6H3hkgEm+c>-~ALEX09K_BKRh^4)ubzTa9A3MtaHg-tlk8lN z+c@lSD;~n(ncRsx<`3gx^T$H|aMgbXclC?7^+=V!g6oe~{yT2yE^g{~LtlS@C*g39 zpWwFn7kJ408{9Fk9n87<2RNHq-Qz-d7>7AO!abeJKgEOk7kH9hF7)+^q5oLbUk%UE zYvH`8-oxvM9EbTEhyHNoP4OhXH7;=YTIp|AJG!+O8a$Km-Of@_ag z&+s_h)F+^8Od@}CpDY*7THFFxS>o#ua8Mvu$#w~pZ&TyE24{n=3 zh=*|4`BB_4{|g>Ae-3xe|Avz%tIzmbdM?kZen^#v_u=w5qZ6Lt$~d>bh7SEBbm$+0 zyL5t2#I?UvZsEE<9XIqjxT!D1Eqy7@a5#4=Zku0&J9-Fr^^LgpRCU&ExUTQQ4Shdu z>W6VlKZe`-ah&6D?$fwq{sQjmmvQas>a5psUC+h|4&RyY=Zstfz#aVz?&=qD?S<;BS8!eb9XE6rH}$)?r9Z%J{R!^q&+#x0pS!Pd*L>c? zIP1mgtOaphFN%9{=r4{N=F8%y?!_&=5^n3&a7T~91QV&xA7eP5w5*do%J6a;qdwW7T3+^Ih=F#d^oZ5L)xUMh84ShLIaClE% zg`4I#;uME{Zo@6}yKr0IkL!P{=0A)Z`Z3(pkK>kp8n^Wexb}K=?aR0qhwrG@al^ce zoBG|*|9jQ{0LM6dZ-1i0_x9)`syuwhu8Rx%8{$$oaP&qsXS2}PTjNA;k5j!1Zt2}{ zTknNyZ&q^#ae~9M+8;N~55X-x0cUoO#U1mLaO16N&Z)Sm&%iBxF3xb6e-R#@T|KMI za8I}LG+f8w-mk?CeLZgKTX0MN0k`$NxT7D!T|E=m-mYf;2}d~W@E2S+e-1bFUvX2v zhBNzb;e>YEMgIV2IPA6%ZkzuIcl1wiSN{yx z=2T}bi|e`)^WH05^0WZt6{OOK*kSdb`m7sG75L=<8iWU+)?EI>jBmAMWadaqVB#oFi~u zAA=kEMBLOZ+|sAxwmt`U^o6*qFU7TwtNBxLU0;J6dI&f5jX1^OpV@E2E%T8_ah6^Z zcl6S@tCz#IPpY$4z;(R}Zs;{}Q?G+tdIQ|neYm4H#a+D>u6#ZA2@ z?&uVE^?tba?`qD$xUP@D4Sfu5>JxE_!!v2&mifDQ5)SX}4{+Q3Q(T){&Hn<&IQ-oF zMu(r9V~?)#@Ex@YZrk4+cl0*6t9QV)&#IZ@a9!_?8+riuQVfHMsGgs&gG~>YH#&-;Ue* zZrsri;Ko<{|3mZ4AHn@N%zO>E%-_P3%)i8K9G>U5xcBR-KhH7zU5cI`w{Ykzf;)O7 z9=5Y2?wT)yYu{A;7}xcRxS?0YZ9N)y^t!mKH^jC7R&yGmuQ$WZZ>xN3+|t{Jj@|`# z^lrGT_rkUBs%r;vUGI+@`VidI6GHxd)ju}m`Xt=er{a!219$bgn1A#8zvp%luItNi zLtlxTdOB|D>u_7&ggg3n+|_sETCJM@0Iusta6=cksh_|t{S0pF7jZ|wg1h?fxHeBU zzl-boUEI(g;HLfrcl77DtG~vzsG9RVuIrv-nWGoLO}z+i>5;gtmkfDNHD_s@c4Pr|i@s`+Q(x;`H_^u@RzhkL&qH_flc zEuG`Gz5#dit+=c2#I+w*XWfVE`j5DwJGiO;j9dCCoZ;}gJdfMvFX4{<8!qg;g}df+ zaBbo0+<)M@{ugfOxwxtSgIoGr+}86P$7_VcbC?fz%ooO8y%?@7Qk}H~uIpdmhOXnL zULLpf$~eQ}XVV&bEquz-@gs z?&utM^$oc8qiW8rxUTQS4SgR@aM=HkI_&?g4m-?qJoj#YKAht0DgO5(xMjWpZtFhW z(VOC~-U^pEydSp1wI5fz?TqVsSKQEh;-*e-tjM&{J`O!{0evgPZ1e<20E30UbKOJb|B^(!8rfKF>t%@h8=u zV|B>)#IgAmI^+-H#QbX=@}IZZpFDUk{lC`^50ZyxG81QB`)3{c@8QCHy;CcPd{-R( zwAwAl4IDlr!?>xR#HpQUam)M*oSA=v+vdAwyzY8WT;T8-OmWwIKV0I6*x_JYTcSF* zK8g3LULH5}$~eK{e%H|9{gB`+bjY{Rp>r-S%-cHTAL7zE3!TQjFIml81;;q1vn@`{ zcf?H`p2-B9njfpfx#!@PoxkEtzlPiTO`Pizcl7(X&>!Kh{x>f5m$rdPsky&BH-7~Ik8;X;qaUA+k|_2#(tvugis zaHMy@bv+KpdUxE=131y+ajFl%nLZTf`bb>p<8Y}@#?jBK9Wos2GjXEN!>OK(Gd%_8 zdKxZt8<%rZj4zrYRs4NmlkGkDMFd2y;2#4Wuj&h+BAt(U^NUIuq`j0?RY?&?)> zsYl~znQH%aajZAQiEiLjZ-!fXYnbGXY2X zSe)vUaHdbixjq9I`dnP-T$u3i8a zdJ$aekvNL0bC<-iUK%HQIh^SgaIROugxivF^i(-V~>LE8NoC;Y{z0 zbG<7r^q#oXDUN(g;ZpMwj1A@1r+ajB=`+Va&7 z*WgGG;T|0REO8^Qo8OLOeK$_@131->;6WU&EpTT3B+m7-xX`oku>DtYY5pdTR;YF> zajf6Rz4%n-e}ohB|KL=Ai!(jXS)8lq!-f7KF7=Obykd3MPjN2}`~Ms#=5?Iv<#DE0 z#<^Yt7kX`6>h*E7QZ;{L9P56Z=q+)oe}gl<6VCPTaG`%6`oF4X?v10BEANYA9QHp5 zCpi57u^$ooc88Ur+PZh^mRDbH{n9xj!S(v zj#jPaKY(NX2u^f?Q~dGsSRa5BeJD=#kvP-G;as1L3!ULopNXT< z)%^2ttS93{Pr<34hBMv9xt@UweKRig9XJ|O&A$i7`azuPM{$P3XJi=X=6}J3eh!!V zuQ*z(n)w=z^_w`+B~JDGIMW~DT>l#v`b%8u|Ke!vYJTk;=Hsy24{)M?h*LX@;S7iO z(h@rS4ymPaZf7}McP>K_H^;f&1{Zn9@dZJ(#|t@j`@o?`gOI>tGEY;ecr&ad5IJKK2G&V zc+md8ac2G>Jjwi9oSR4IvYVbCmwI6wtzYf181BLUd(Y^p?6WkE?Zi0IE8#cF3x5ug81!p+C=Xb-o`2a4=$K%rcKpbsY%|8ss`Y4>} z<8i7_!I_?fbA1*r^!d2d7vpGbHUDxP>#J~r!!x`VH_dOrDGvMJid*J);mrJg9j<)@ zx9tq$TtA6B`dM7)S-7iT#if1&*EXv5d>cplJzUox;#hx*8~O{J=x=aSk2sHe(evV# zUJ$qSqBz%!;kMoj=Xwx#^!~Wehv2TBfJ=QWuJu*>pM)cQDz57@aIDY84Sf+#^kulIuf(aI zjx&87&h<^W(6{4K-;JY2^&R^Fj`9Eg9uN28@P2y|C+5%LRR0xc`Zb)}e^Vz<@q4s! zVdr0X*v?#Bntz3Bn^fn1ha(-G&oj~U;~0m}$ilc`J`yK-N!*Xa&P(IeJjR(`5$AeU zT8@u#ijXJ93|EB*#yTpJfCfGqIblp{w>b*9yr%cTL+k9P6WS zqL0TZ4!fO#GkqG)?VN)PeIf4MtmS;&^O^y-yZs#SJ&Ph`uc&; z*N=q0E^xF()qeuV`Wc+)7jddz!I}O$&UF_T`dwV=5AYlup2H`&wqcw%Ym%^D|2Io4)9lath^s2b4N8?hji=(ZoJvYR4-N3Ql3^(-F zIMLhVRPTZ_y&KN;UU&$HXEKNj^8;|H55>{e)ecAESRaRbarpDq$v81T8~2-EfK&4; z@u2y1oSEN>hs^K9!}<{%Z&RK76z;`g&*yPs{xVMW>p0W1@g)22;N1KJ+|i%lLVu3C z`fFU6MUJ~beX*`6({>$OQd_`R9RdMv2>fF(|2Z#Q; zI5r=P6TJye_2xL!+u%t!T)P7<&3}ud?W*~E;8-_tqW8h6J`iX6Fr4e7@DL93kH>}i zL>z5j%|8wI;Ltf6$L1H}L|=+iJr!sA8axSyYlm=deiJVA?YPu;<7kKK+y`(E4%a?{ zWAkC$&`;t-KZ~1s7Ebl6xTW8~nSL9$^?NwiAL5Sw6c_pn+|}RUQjfTZ_t=ir&hz3( zFNo`UQ5@^VaYHYK6TJ-X$Kifs+%#Var+PKq(qnL@*TZc+7Uy~s+|irkLT`h+dIwzU zaX8wkx|iK?T@T<`kH-yt08aFwxT%lCsXh*8`edBz40rUIxX|a}QcuRUovVGO;7Cuy zb=}6Xo`Dm6Gfwp#IM?^!LO+PR`cYi!VI1vJo%LztLA@-WBmng=x=bMM@;5k^t`yG7sQ!f6i>q8JA856HeVL!x)%@GSqXQ{ z*TRMVHSX$-aH$g<{kGb93tZRR;#lv96a8DZ%6L3dQ z#DzW$592WZY+RaOifg~C_MD0%eGQKF5N_xjaiVX-{W#3L3pdRl!Kp5AOFw}#{S2Oj z!{_%!oSVOj3;hP}>bG&J-@~Vs_T^;Z*++xAc#3rhkgt z`sX;;qi{$65*PYcxT{ykrCtk1yH$Js8rStkIMxa7#bM_yaALkQZt7ies`tb#o#IUI zhuivKoa-a-5DxQ?!5#Aq7y3-x)#u?-PsX*~tNo|oNKeCc-Nvz=fqQW{>t@_AzYiz+ zkGQEjIMsi~E&UYE^z*o_U&6Wm8y>>pthaE-`~zI*PjFX%j!XSDuI*9X*Y`NmJ(qAV zdI6m1MR2M|;!H1zbGaQJLa(o^x-IJa{l?&wQ#p{L?fUxVl1 zFlPuydsX|~gnMwvZ`Wb|Jvg@W5bm`z6DQ_>#!dYcPWAJ+rC-9C{u|EqTezd=;6ncc zclEz;spsN3IPCc!TpOtN{|-kwx|Gj?o*&10VcgJ*;Y2TioB9_x)peZd<#Dc8#vQ!| zF7(>C)a&D@S?#tlj&(my^p-f)zrnfQ2^aczco>KG)$eg>zCVukuI3+tV?6;U`dHkL z!?QXGr{)>X^qDx<=iwn7&YFx1^Q&>Gb3Dh+4LC}x9qz`legOC4Fy|4RnEwT*`Z+vk z=dU<3pN(_<4leXRaj8GX(O`A%XE@eh;a(ih{SGJQ3tq-^z~Rp}i{jLLah&O;aITlZ zLpaQdabdnX9yVVKm*#zVj`^lI8ei?U1Mb0L&Nv*K?~QxS_r;0%1l(_aEKbcQ;X(7W zaAtlfo@721=jJo;konEHFuxBEoBt7)=1<^gpK9l4aI9a%iGBt5<8Uv3$Eo@Ic+mVK zoSA=xbNwAIbToyt_N~sEANSxeb735tFNG7m3{G{7Grc0t^{Tkgqwz2f@A-9cX+9Q5 z`&H*|f@8foPV_c7)jQx!kHdxD9hZ6lNBdVZ$KzNZfD?TvPW6#E)5qalpNxla*g4Zv z@maXAa{(U4;aOdxL+2V?+PMx#2UPpqgkya>PW0WlABVFZ&|%J_IJNU9Jcz?tf6<}y z5^mXf9cOwro`l29cW`e00WS0>xYVEH=)h{vuW=6!*M5%^^La04AH5*X^rAS|i{p-7 z3Kx1AJdDH476+OfE9p5Rz-fg5^Toah~Ks(*_!y$7Cz z!^|cw%=g97!PO22;T{}1hvV4%7@X)6aZ|T&s!zw6J_qOeLR{!eajB=`=#c8%YjC26 zaH?;_nZ6C@`Yv4P`*Eos#?hhG%*Sx7AIA;-G*0vjIMXlVT)&PBJsX$$9UL82&HpEk z^~X5TpW#%0g){vf&UJJJ^Y#3=)C=S2@M`{IIMz$xME?S(x{fowJkIsXxX^3hu3j6L zdVO3wqB?719O-^s*IVLP{{}boPB_uO!%h8roa()COYe&_eGqQz!*Q;U#vOeEF7!m) z)u-W7pN(r1s{Jp(k-h}i^%XeQSK~zIIMp}cOy7!geJ3vTeRvp$&&410RQwn&?L2{_ zBddL$!Lfc3_u_EvD>_{J22SjhIMwgtOn-!P{cl|8FYz!A-;MvprTP3*+2N>ahlO#h z7sI_c^q0Vid5oKSMV#tY@u2R~1pNtco;Z&cAGkqS;^<-S=DY(?raCA&Hzl~!(11I`soa#GprtiVSIQ;qT zK^^Y#QQWoj7d!`t*ZMhJJGMIOCESBU|8KZ%{tk}yKXF5Uj1&DCZtAaas=vd7IGhz- z$!lc30M7IxxUEOxTrY_`dTCtf<#1Q8fJ?m!t{qq1%bGaS>)^WH0LQuy_u{bIrnq6g zHBR*QxT$x+soo6_;s?2QFWfR8k28G$ZtFvFu8+hWeH$&!2LMfZ(|zwWoL7o>TPgK?|?Hs4!8C0IM)Ms2#1;DamV~X zTXZlV& z35WOmeYkC2;9Ng}JNg-1=oj%Y4%fbdOY;&(Csz0MKJLMx^AV2Czruu;tK$TRfB(Ay?l!t*^0;fhGA{KRxHhr6m$h*Z4l~!siFqGR^`^L`x5Am; z4!8BrIM=)4j@}a&I>o~{oV6eBnjeBoJptER)o#b)NS}mzaJcqVTsJ=x$ND_n(35df zPr<34hFiLgGd%;h_02ffci@h`2N(K5+|`fbQV-+Wsnz~Z;z&P>>v|TB^{cp{-@u7} z8#ncPIMpBGOn-`V{RQsmZ*ZYUT*IDvUR>%0aV@L%TogxoaUAQVa4!zed>K6z_u|CP zuW+hY$1S}UZtGv;TyKOsI>CkB0uSSG*0#87z7sC>?{IBWwe#ky)TaSLAV!( znTO+s`7t=rC*poPE!;Fe1E>02+|n1}Okaj4;V}P7+%|9HT+hHAeKRif9k{FS!KHo> z*G{YM@lhPP>K|H^;Rz zsy(;Ck=_CK;Bb%QaNT?l9P1`-=zVaa55)aATzeR9njei*eFARji8#}z;kG^-=lTNN z(U;&-Ux909R{LL#Bc0{q8G$Xy(mug;<%-k!kJzMw{?tj zy&~@DRdJz5 z6Yww&ukW$AG(QA&DyKZiT|uei{!;jVrYm%7B!dDU6(<5+)$6a8MwDo|BKtY zb}c*TAK*eSgiHM+9GzdC^%ETHpW#F=i&Nc;2k}&%)k-)sUmfRqEnMhd<6#`0?MApX z@5j*v)wx^ZSpNq1;?Um-C+552e)BzXYCecFy+0nZa|rI3ABhWn93HlFGVYpB!lgb7 z&#`kpu3cE|c?pj66}Sh7J+H=f^C2AT8*#6l+i=7DZk*@`aKD{LaMOGkr}|0U($C^d z&%$l}D$eyAxTD|3g?fqT9dN40;Y{z2b3K3yJsy|(032OWopmUV^^rKy$Kh0;j5D3# zT%Ut}JH zXW_1X6_@%AT)VQ`?QIv#}{bC<`N`6@WqYvMw$gS&bIT zxL>^>?&w8vp%=$py%a9>GPrh4b-yu=^oqEySH-a&jT?Ghoaha4Q#Wu+Z-z6yHE!$e zagK9-=I(+E^AmBYTR56t?RGkj^*K1v7vfZ3iZeYG=lU94=po$IH{w#?hUeh$p1cd! z+SR!a;7C7$dvNF!xNiO=j`g#+p=aSlzlu}+2F~=`IM?stj{XoA`cvH1U*J-IgKO7T zdycrCJ@vde)(hf9FN#yWIL`D^IM>VIAspW4F)qwk!%<$HH3r9eJ)G#VIMtirOmB{J zy$vq(4!G3ga5PlS-yO$#04I7pZt4SYst?62eI(BGak#Bd#<|XLq0hvnJ`YFNRXa?^ zv7Ul^ad;-vaAJM~?#JQ%a4SyD@4}hBAGh_xIM|w>Z`F+`yiCKAh_x;zIuzclA$kseg{=;BeL`99>`S zusn|S$~e($;C>wXYva^>13YNnhcoldaIUw;Lw2^uh50xH=x1UiPjI0>$6ft3F7@}g zc2jjPJvVYMdI4P5i{My~#0|Y9PV~~ash7j4UIDlCDmc??;=VC*w?KxUJ8`xjqkf z^kiJx%v!>y$`L(#z*W=nP)&95ONdE!%;Bf7|xNiPO9P1A5wex4(Fn<~+`URZo zmvN?F$CGgQPMeK$^AGTl`6swA{{|16kGP5b%@@M8TdVzlgd_bET-QItv0fG@x)-N< zC7kKiaIVMTLa&FrdMqyWCb)K6wZrB((%ay=-T}vY98UD^xTyzls>kC@AAoaxC?3M$ zbvY6j=Evi%J_VP060Y4|?RFN9^!d21FUGOH94GoJoa$?Frmx4jz6BTh54hC#;yF0% z`4Fz(QSH#dy*T85#)kK^VM*s$KXkJ*28V{jc~3L+|gU$ zLT`(^dPiL9-{RVx)&1^)Bi+Pxy$_D{fw-X$!-+l$_v7%{JRUdA&%miZ7q|39IMbKm zNjN;iD{aZA5|GyO7d>(_CvXX7Cp z&V2`W%s;_}{u~e6`5Jf4=e>pJtQW+!yQ`fS#gSed*Y#33*2~~T$2iq1;!LlK+j=z4 z^}4vw8{)2R;8JgfYxh+9Y>gwmJ+A9raIAO34ZRmm^dN5P{c)-f!7V)jXZl#2>yvPy zPsPJHJm)iTX?`)DV}3cV-&^fGgkyap?#1ES+i=7D0i5VZaKD`bH_e~LgXXhv%lu88 z=@Pf~`#9Gh;g0?{F7%hUtN)8jUAvWg!C}uI;M#rFy)1?!y#(&Tq4Nt|H(wFQdR5%e zqj93w#r-&3yCH6xZ;eyEJ%(wEAB7Wr zJZ|b!aH=QaOrM2weLn8!i*cbZ$ECgsM-NszT>Jl+y6f;p%Jq%onN49S?zTvV6e;d5 z8B%0%cgc_a7Yc<<}_oj=aCpX)yN zyzlc)(j*&T7w6@ha8bSum*u;0Rek{1eXIh@KX zWA8C{mNjrzUKjiFMmR6`;6R>;i}E(OEboYWvCY35t|~9%e&q+@y7I|*Q2BAVsl1AZ zm7j&%$}h&*$KA|V;JkbdF3Q*A9&9t*gv-kB#l6ZO!d2zNIF?6nU49ui_efd+Im%qS){53Ah-{VmJ1()SNaU^H%Vm5gO9LqD~x;zI?O^c+jFLdo62v+!^-c%ZRL;R zQRNMsP2Bu1;0|o-yo!D0AK<*)!d>coh6CmQ#YOpN+@sDPI8;8v-JDCF8TYC)2ac3a z!2QZ|cmRL(Jb!m89>PuDYgWM{%Gbmx{`cQ0#cjEOy{BBh3C_w};7-ifiJ5J&ul!D& zm+!;f>O71C<%{3L8RafKQJrpFR(>Y#Q+_V4D*poyDE|l7m6z}3vBUO$cMu*@XA*9z z^D-V${stbCgZnsF)1C1q+<|SK+vKVE9^6TOJ?DK0`|59SKj)P<#$CF0Gu*BI);PfS z{(e3#s-Jm)v#T=$E-T*@NAi}qDsP7e)ZZBoVw>|?JfwUOH`V_ck0}2Gx0UbwAkSND z*Y1JG)G6WYu)7Zr;|^?{CvYdWvk&9EIujn^jLLJksQeH-QTY+Lto%vbr+gSk%IA2P zGs^SgSY8O%<;8F!=W$bB2B-20xGk@WN3qSn7WSTY=h^^g<&AL%w$5hQSH3mQ%RAse z-W3<+y>M9$aaBG5*X2WSQ$7L@W83Q(oGL#Nx8(}o_mJg9G_PT$EEB z$)Dq@{1uMn|Khs*Gakft-al}nJo5-M%QN7%JTuNd=jNOP=jC~EQCw)OM4 zs=OQ5kHLw20&dEu;#BU(ZFvBDyeHUe{&_enUyObE3Y?d(!A1FcT$XRbz1Yrj8?Gw9 z2gmY*xGq126FI?6`5BzbFW|QPD)xBov^n3xS^0hJ%b(!9JcW2ZaVYIghvBAt6duO5*ReQNelqr6a%VXW z`|_DMkL@0viv#5k;G+B}4&??e%TMD-ejZolS8y!9iR-*t6dAn>J)HY-UJV-zXcvre>VV#&x(ukT(~UHkE`+o9LqUemzTteyew|YE8$dL9ec04+1A0nydloZMI6YR z6>#@?N+qhd7oGz;*c$+?0>NZTT3SeZ$Rm0?x~);y~`lMR@@CV7s^H z;ZXS{xL5g=I8uHcj^#mImxpj7-+`O*y*QO0!fp9+Jc@1Kr?B^?oB27Mm0!Xg*gCIc zU-`Q@FMoss`BPk!zrdmVH7?8F<6dlQ{(>Xrf8na^J;52}8F5{n1t;>HxGB$vQ+Z+B zmKVp~Tkc$4I4gJK4s0{5h<)X&Pz`ygfKjXIos9cfz5(J1)!n;67~E zmT{zf60XXVaX+?sj>EC?Q*d3b;z4!J!inDu0e+`72zP|BDB)t@$$^ z!ZyR7I8kTDCpo)33m#T~PMj*AAGhTR*n7vFJ%_XMlGvA*#d&!p+=Xq1)p4MFU0jqm z!lB%Q%ko6ri|yKNaHM=ET$Ojn{p#$4W97ZLF8ARfY-gW@6XnO_wtNa6Q>Tiv@47Rd zhdZ#%a52s+zY-VaYjKY{bzD|Hgsbu$xGvv|oAN_=6x;fb7o7l(pnRW!{<(F}n zI&a`W`Fpr1e~d%9jmz>h9Le9{s{8|vv6d@kIU=f|V! zOu*jz?kqme%1dEiUJmEwm2n`ifs69GIFvWSWw{4e<%zg1Z-blij(8Z`%)8<22X3By za9%FsZfu={a8dar+@pLlo+uxW%j%qpt8zc?S7!hZ$>-xlol9{O+h^dZI92{MZYzHt zdmp+v=S`SdUI=$$n{zSjEAPVH%DeGIyc+ATgsbZG;Q@6f;kxpp@sRT4aiaWGoXY)p z6x+|y03O4({w3J^$jv#1eQe)leTxHm->0~r>b#1}@>{qnzmNN|o$C`EEB_4F&jQb zgUZ*$P37z3VdVjCE8h%{D&GocKXEhffb;UMxG3+1%W{Y#`2bv%55ci~1g^`+;6ZFN zpMVqP72K3h$EkcaZp-ImujOXD1ZU+dabCU_7v(w*<(qL?z8y#MJ-8}AhzGFE_86`! ze+oC{XK`D85oc33&uh2?+qG}wPHfN54{=_dRfc)}RA)_GRK7kArb|iL3H< zIF@(Db$Jgwgl*q_aiV-ly&?Ih>W3#GTmITo(JvdvRXw!+|^r z7v;%#BDSB|<8Y|Fip%m@IFhH}s(cY1z;-_`$FcHja9zG052|yMJeB_KI8o{@} zsr)!@%THmi?auxz&dM+1y!;vtSH3vT%Uw8-yKzxo5%*xbb~PL-Uk8`v4RNnJ zMI0%gh^z88xL=(e@qoNLj@8*0*X3TE$bGmePr|7@8Mo!*u=kle`^h*fpN2cI&3`8L zl~2KW`63+1m*b**HSWQ7Z7fg4H{r56x8q)Q?!i^%58+sT9M|Qia3Vj8oAQe|m0!bc z`E5LkZH5o9_qjV`inH?PxC2|~E9@)(9_Qs>aF;rN;y}6gEa#PH#69ZFg3HS1!m&I* zuFDf}BIj^ZUJ|GBvbZg;guO4^{Hx=vybku|4RKyB;y~UU7v-&SDDQyF@~$|N_rg^< z#Ibw;uFHquL_PvHs4}yZ`55U->0CFJFlR`C43*>v$rz zYj4J(@;h)@z8CkZ^APTnpTLni!?-Gs;C^*p#RIJa9iFJkE&C`-k0t^9DuX(A-DtEUPoYG`G0U; zJ`oq?3NFj1791@{e&Xi1#7+4(oXXR2TOK#US-y5> z8IQB_thfW)oO9t$Y@a0-z9``BV1y_~t zhX<4&i0jHH<3v6VH|3M@Ft(Xb!)@hf;ZfyNaP}K_-ivVuw*D2k6WbZD#d&pZ!2!14 z*W8JV%8So4zq~o_#kS7YxDVSpJL0N3`{DuRy|}LY2t1_x7~E7|!EO0;od4F%d^Rr1 z=i?r1`(A>}%BSL9<=5e=@*8l!@>_6S`CYgv-;dk!BRKn=+xJP_iS4uKFwQGK;sxfB zkHKa61YDI*#WA*f*pKVVf5J`qcRYgaEPvxvdB=;)BX?r&ziyt{aaNuO`|^S~FE5I_ zuss$_;6V8bxG1lRd(>GAPsBFE#<;A`=D1J!*0`#CM_iY8!%cZ_Jfi-7xUKvkoc-R- ze;CfoN8!4BEN;pt;Sp@}N4Ty0Ts)@yLY)1H{!BshzFGKhU?1r!A-f0 z+wws;`;+b=_T{5+UOpBF@=3TTN4N*u3}@hp*zWDQI8^6yT$ZoKksRZyd?OyfcI~Y= zR{kKa%a7qiPHTHe2 zl<$DEzqm8*jXSViyC2RgKL`idW;+ZQmH!8a%1^{)<^4EPK7gyrFT(xU*1sGN$k*Ul z{W`9ze;XcB=Wd*+^B``j)4(Ix&iFJ=)p-@S)p-w(s`D`(lgF_4t2@_EIE(G)XgcA1naiGowTvVqE_h36?HxAWV376Gb8~0&bX9FCmGZ9zS*#Y;fvn!6( z>BV(*4#SD^qi|FCiFg>>3>BQJa|Uj!b3XQdb7#KO7Cj>b!v?dR7%CoO=M&&c% zw(_~~7`FGy`LXxAJMXqQi|xF-;SOy3?u~tQ$~dpip*T=}BrYmH0f)*@#bxDZ;Yj%u zTvdJ&gdlqI?K9mEVI?L zhswXhz1Z%F&NH~J&MSCKoj0-fmpkM8IE(F!ZQOzPh zPL%JAo67gWsq!*zD?b!_)7{yR#93@-KLPv7PsMrVXW>Bk6kJq(84i_Sh0DqZaUZsy z_aPjq^Ea-lGyYA^h3#Ck;#i%zab2AWcu<`jPSjZnH`Q4Qk6_ztb)2d*3Afcb7JGlY z^PYsW*v@-8?!Y#~+1OX-0-RUpN*pM^78jM@gnO`Edm9ebxd)fkc@#&=8@Q@`1jou> z#&zZI;6(X{xT*XzoGSkkx0U~hy?@-fe#2R8=kng-EXrrZdF6B9K>575sC-czDqjMZ zl`n@QA?pNc!N<=0_f`3*QP-+}}APF$4l!)5tlT$P`| zb-9U~@^d&l&h7gW&daakKz;`o+;XIDgS}n@;^A6bu)Cl z%?xrU4&>Q!QJx2vFkF<6!l8UDF3Tt3NRDt-J_E<{Ik+xgfD`#r z+?1!{RK54S@{m^%lG2E{17h6kK?lZ6t2q8;=24IZpyFWw){5s#=Ct# zz*)J4^YUl7D1V8|@^`o@|Ag!E@3<-djoWhe9oC=8?KKnj<=Jpvo*NhC1#nqj1XpDr z*X5;fQ(g|Y<&|-^)9tke&dclKqP!6<%RRU%PsDY38=S~H;-jO5xGi6Ty;pr%T$P`}1K3_OU%;{Q*Kl2a8z=GyxGA@ADu0IC@|W0~)t%)#oRxpV zo!IvJ9sA1v!FjpkUCt$U;-Wk|o`~(*d2pzFAzYRh!;zfFRe2d)msh|;*w$GUC-?TG~V)Y%xfm2Zx-v$=C^jq~yjIFNV6MR_kA${{Yx2jECP1XtxFa4a8#>+%UW zkx#`sw?hKusIIFx_HW%)PUhi$g$I8vT{kNM@9 z@PInA;aK@RxGpb<6M0eGl$XFG*nTgtG)|STirey9*qhUxYki!R1MJJ2;=H^i4&?1{ zQQjGc@*cP>?~5b37gyyzT$d-|raT#^*uGyn4!4y@*qh7cXW%Th&uQo5ynG2R%2(pD zd@ZiZbzGNk#tr#)+?4OZE%`y*mLJ2Jx!t}A&dSf=ocsdL%dg^s{1z_C@8gpE2`v+anxvCXy{E-K##m*q09$_L@P zd>C%ZN8z@7EY8m7);|g7O9GSK$WE^W3Z9rt%wbTfPNn z=6CzviL>&3I43`h^YRn8AUAPIeh!!AmvA4pnP0~hv2K82?z3R zxG3L^OY#G_EI*1XasyZ8r*Tbw9@phpa6^6*H|6(mOa2(QT$g9XL+a0ko5~l!ZFvzqrjCy@3%Plg##woJoRe3Yt@^qZX_TR6K`M9&GE(jr*~67R7aJ zd*$(<@?~&S`HFZH+qJ9VF>Kdvh`Sbd?!iTD>uiC0vGupbed_FitLl{Sfb#wEp!$d4 zraJ$@ZTUnzs(uA$b8fFQa3{8T&cS)*7viFP87|9L;i_E2v3vur%eUY`Y~Op|i4*1b z;imjBZp%;LF>Et5vFE$lMsQYs8Fymqyn%h?@8P`sG44{Qjl1PB9H{dhF3LaQQ2rg4 z<-c(sw!N~S@K|FzODArsGdpg}^Wf|fZsrAXUS1S;VOwVj+>PzMdl_6*=R{nVE4V73 zj{C7)dp52szW_JoOL1GCinDn)!*w_>58^It^AF*o@;h)3w)OADW#td!NPYrWOI4^I719^K~ zly||QyeBTpB^=57kl^gnZiZ)YC${_roLBxTF3NA= zviv^o#delYa8>yzj^#02m%qhB*w+6MC(3`rO?f&VQDZp*XcF?Hs`*=5}P z^W(fc0e4}WEr+}D2Y5+bRA*V-gYBNIgePK~Z4F#jXI)&CH^PJJ_u!`TEpS`j7H7NN zJUihIZ0qli^UC+d-Pq>o#YN?PxJUg-xUBqW+=p$p<8h??6kL_7IF`@Cb$JRN#5Ti4 zI8lBDZpzo-wtPJv!#3MZIJ>Mn%Wb$5+YEQ(yz&QdH@5zxxTw5=C#wH6E-QZ?SLIi5 zU49cc<@azZe~jC58;@a|VH)<9bF+Pev+@tP6I|^^5AH<3#-xaT8l-H9UfC&Yf_o&hEHvCf`T4{vCKs z{a3KJf}7z@oW<684|if)^AGH+^A8T>j?Z{Z$qD}#)$~VDnc?&#>?K!Y5_EvP~-5F=)J#Z(s8TQ4# z@?PA9?b<#ZC_fw*vE8eq@kDHMUW!9?rsA@E9ggHd9LqzvF5iI@`CismwFNiy_ zoqbX4D_;V4VcU0U+>Pztu7Cq|R>ehmEj&@3^>L^?z`fYk*%bGwvlXtYvpw!tXBRx6 z&R#fHC&YF606e75AvjTf1RlY5mSb?L`~=*VPsO9y=IO^{>Yt6hRowkKA7|xDa3{92 zUx|I?*Wxa0>(p^Kwta_ipw1n*DBp`i`5_$1kK?NR6du5~&a*gH{vuA~*KjJojob1E z*jv@j-@;jJ&y&xvulx_3SN;zUlrQ`Rb1GjPhsxK*k-QO(xGJB7V>!Z!d!jXUL7a$I=Crsh)1yf**-;_D&GpX z=^e)?!*bU_x(9=D$k2Y z)maGltn2Q{;yA?CUly0;m2fY%y;jGO@^x`l-U!EX4^HHXco^HY+u&6BPPi@ajz`tm z2Yc(e8G3P6?!&%32?z3I+=FfX<8Y|_6dcJ_9Ls0nLG`ELMES)ym9N0w`fi46a0j;a zug7)eH{(HUkK^sQsr(+?mLJ5~4ct19;j*0IUTkYVBTvOI;;K5Yv5p`CLGDP;aI*K532tFPLw~2Q@Me?jon^PV_$wA2l6X8 zl;6aW{2uPdcHWP1tb7zF@)%C#Z?RW&d;N%g`8OQM({U(|`-;8f@i>-e#fdx@PUZQr z*W=cofPFcKLwQNui*4p*@hGm$80X}}u`eHu3-a+ekWaxSxr#&iEL@SN;7Gm**W}A_ zEMJWqa*PxCM%S6#W_cEz z$n)Y(7UCxXoS@a6!)DlDs7DRexDr zQNA*cu-%_Ea1Gnf+Pbo>S-=hDo5+@LiCfCIlP%u`XZCUH>?vCwVvpSRIsp6fA-D_M z*^j^lZ2kY>K%EnDNqGfV2Q0GxxQm26{%Ac`L$zA(`b>!EqBfo=lq3e8PeYtIYc??JUxqI~;PUN3( zD*uiPW!L%J`f~O=o^SF@IFV<=Eo|qS8>h+_#9pskXHguNkG>+xvaYJ4OC-R!O zC9j85xqvhKyY)B0p1cM2 zAUALzKaETB^Ei}W!4>&U9LewDn*1@2GIO7se?A<@ z3*%5;9LI7OPULQ!$}8fogWb>IYPd&U2e+`j4s3+SuzkPLgENP?d~4i+?J?Z}cVg@8 zihXrTcof^u`2IL^sC!Hg!8!RzT#%2I*JGWNaY^~@vgP;Uit-D`AA$-=RdN|b`p-&c^o&? zc?u`WpTjNXFUfZ88#q;G!Vk+Yi;z<_hY*@!m;u*aU!3K zQ~5&d9pU!94Eyp`IFM_&2iuxA;86LkIFj$eHEgdr_v2Xkqqw2GffMD=;Fj_iaH{+@ z>>cUmc^h|O+xG(;C{J-He~t&$`3n0-xof}21#I*Df&=A$;T~*jdOz|wV(W~@p*pkS zM4lU`@&eeK?ABid`?8O_u>C$_DI6$Y1&8vQIFi@Hv0T83ya{e$n`aB0D&G!!N4tG@ z#=g7|xCVBB$x>l|Ty`9HW{J_%R;nx5d@{+h;o#k*%`6{>}uZ2g|*#P&R=+-P+E>FZ=C%JrE9AKMsXB^6V;8@-l z531jbJ5F}j9*h%g*B*gW`4}9W;_?%4D4&WWxgW>!03O74Z_mSt@=I_kUx`Q6xfXk; zy7dRKFAw2Bz61AQTk~EVDt{P9@)J0gn>dl5!>Rld9>uoK>)5Nfec#2t{1NWL*7+0% z%BSH_{su?#54d0bUvaE_I!@$qKQn_o9($47cUIhiZLhhouY3U<$cx|}b$lEuUm8d9 z@_104Rd5U2=lQj8<}~N^v5)QX4RAsErZ`Z(B`zu74u{Hj#uaSO;XPzqzl0-o_Qy4K z4wkKR1di1?1~=3>0Vm2UxTXAboGL#D^B=zcyYB_q!#4kAxC7gLy9)ctV_Z=GMjR-= z4fm*jHx89Qh$HziJg82B8`#eKEKb#V348r+hS#w#zk|E5&GR7+lz)mt`3oG$U*lN* z9uH!>_7|Ke{|l$G_Y3=;?)IG#cVO$!f_>$4;Xs}r*Rah$LALwm<3U}!6mF=qylkCS z@u)g$;hrVqFK>ebc}HB5cf+B)H?GM0;hKCPj^#t~Aht6ei5tp~ z#ff|p9#tp8xwG6nXJTJI7Z>CUaUfrYd$6s46)q`{aVX!2EAp*4lJCNU*si@Fx0FAM zQ@Mdh)p;6c2Hb2fU{8J(=j69=L4F_iU|ata94Y?{*RVaNU*cH#e{nF7i&eB%g;X^7FVRkN<uDV&q%{*%`b zY@Kazzq}K!sj~-e$XDT({65ZH;MQE~FYX(*b&kS0<;US3<@e!|@<(t*{tegU4W{!v zSHFrI$_H>uegVfkv@Qs;V{yV&iU z;vQ`KF79PBCFM)v8n)+iuWYZY2jhnF!)42l!7b${;LIiN+6wN#w*DD-P(Ii4OI?1E z^)GY%D{xM}78m3}T#|3W{n*yL3lGW<;9>bO+*1E3JgWRToVncX^)l|jw$7WlOMV{@ z$}QY`h3kB7{VScnwp{)Jk4|;@Z+HybcOZXT|0|Nttqt?Z~yb4mad8appRgH*v1!JY$x7 zC~uCv*zI*L&S87Kx)A%y-@;wk_I)1*%3C;;Kf@Jl*M5m3<;!Q>TciFu`jQK z19?Ln%0(Q>o8wsC8Yl7&xP@*0U2&@XN<4<`Idd)c2Hn0l;ZAJ%ZP-_SKMv$aa40{C zBY7Ctu$UO2aco^H`I44e(&yRCAxN9e1AKTCVZnz6ue{UQpFXK=?2uJc^ zIFXOSseCMM-RRao3Hvv>^&iH8`~>d7wpSB}%13Z7w(l-p#*y;(aV&p=6L}P;@)-7R zc6)t`efdXRz=v?Je#3$Czi|(?8M5QEnUXr4I8H5pV*f(oy;%KfJ1p^9LaOw zSe_Rr@xc9(VbV z)_=m~tIo;#@>)3ar0cAYbMjGtizzB~yRuDEq~hiR-BXX!oGYzF36AIKzYJf z?_RR~%pUqbehYU#H!kxh`NVmgZO#ODlbheb0k*xS;U0V|`8Rl?t}V{%Z2d=ZsD2ao zVauPx1M*uqR_9YZr2Gp!BL5`YY}4_W^5f=X&Jnj}KkmXd&xN>K`4{pJ5!d30>Kr_v{9@Vi*%x4DT{{5}VaszkQNA1=(X}hf*0~jrss9k} zeBNCb&VGq(`5X%~zpl;UF?j{q?&n6>d%?}HIqt-kZ!Oz8yWnne^Zt0EJQ?@ld6?&9 zc>=!ifAVK!JJ&b=;{zwSYb_ta1FU1-Xc1?7d}G=28*xm>?$siTa$cOL-;3!{JZ4-Ki?C3 zFS_|(!}j+USpV(+@pit;ZT)9t>wGQS4BIThYmwHOguAuQWZCu|`=9(<9H_rto}U+a zXB^3U;2O5)>b|%k?~hyZAvpJvdwo6mh**bG9#dBVrd2vIXg=FjW;zXT3+)`(fY@H`@=1q6rVcGKMu}5xx1qbq*IF#SR zk^C`EvyYNKi-8fRdDvsr~a3ZgdQ#ru)XBF8xn_^$y5(n~jIP}-8` z51fCgIE{?ktmWfNkI7tuLQ~Be{xW`7E5sQ*bI@guRwq=W^`J zSK}~sd5k0ZMjXqx;zYg+7d~~5_5C<#yK5i8q5LF{mv4YWd1D;Oo8egA3McaRIF)z7-nVX@J+UvB za3JrGL-}AF$%o@qJ{o)9xpj`mzI+M}V#Mx5tsZ3y$SIaUz#+D({cIpWXTgV_!ZT2lCN4 zl#j;^Z1>?5oGS0f-Y;&Q0i2W1!@hhm?#A}n?+RQ{ejg6xhq3)T6ZV<#3E4jDuD;y= z=NsXY`Y{gW8*v|Aj{dER9>xuM1Sjx@VQ~6z-`PH5M zBkaka;+*^i_T{f}LH-^G@-Mg~|A{MdW_jk6XTS}4X55nJz?t9N4D(`7UI^#p#jr2u zaY0@N2l5KIB(I7q@>TaN8#ZDSl^drjU9*OYICW98f9hVor-qI^%>QeMKT z^8In<54Zlo*u%E|;W(%KXzVLL9tZL%IFze6lF!05Y|q;%I97f!PUI_aDqn-WKi$69 zV_&`r2l8#Wgl)~caj5)39LbO2SWa*vKZ8^G1)TZIeXe^Id)Usq<_erw`Fhw_UcrHU zIxeYmHV&0f$B{g4MP`u4<3yenr}A9bo9_0VAN%qI9LPBw%1h!%UKYplN;r{M$Emyy zwtol0&b1--|8Xwj0=9d&IS!O>gF|^o+)!sXoG9N1r*awdZ=e3V{y{j0ZOy~v)p$*q zjD2-Z!3A}yI8Z)-L-{-$$rs~Tz5*xmH8_>8#{vIr-p+Uv4&~c$B;So=`2n0@`|k%I z#i=}uy>Tvo3H$QfIFLWVp*#&&u+usaV(#L6S<00`7GvS_;Zl2lAa5Zkp*Wx@+&l75QOYlb^s1Z0Bm?mhustnay4MGS10w-~zV(yRzNSk8w$zHg3t& z%(J_7zQLI}oPWSM`B%&NXBf85UzW?>%Iqc2h)eP;xFXMqYw~=!Auo&*Y|q2RaZ7m@ zPL+3K`{yOL?~2&N)?W?hl&_8LpNm+&0WK)t7zfHX!zJZg;ZXVZxT1U)94X%u*OZrV ztbBjmP<}8@lpl^;%8$mW^5b!a@78VpQ?Q3^&MM9+KMNPIJzi6ANxm3o_-@_uE3t>| z+Usyj9<&bMiCaE|bMhUyAm57v`5|1AAIG8m6t2k6;+p&-j^)>ILw*}4@&~vjw{R+d zhBJKUZnJ%fJ^4GFlYhd#{5vklf8#*TuENaN?!!#7tvNfcD4$2Rd?B3Z+Qo1x=Wz$$ z#J}BL_H?H^q^>C649oa3b%FQ+W^U@g2Rbzc2RX zUL5fKyXAd2Psc5J+^Tf=&fW6yIESr2t8Dq)xS)Ii+44nkN!Koc zEArB~CNGa0x^@-Wu3Zba)L9?LIX6Rq6M0iy@!dRI;vu{x&)eR6d8Q0|7 zaYMcbx8w(LhVQSf{}{IK;>`&z$j{)C`~t3Eo99*Bkl(gG-w|8>q2=*HAY#<-z;GkHCJ@3S=?A-Ct-4!EWMo_I`o31|49t>4G5zC4Lv z19>vPTF*Mi@oOlb%&!&sG=7cbGx;@^&*j%dzK~yA@@4#*%2)AgW(~J~4SVtpI49qN zefdsYknh8R{4g%bPvB5);)?tnj^vkcO@1B6@;kU8e~1&==55KJ<5d0%XV!G{{}+4m z&)Ap$z$N(~9LgQ6QIR`wEYFS;c^=%77sRQ&D9)_q_FV#d^3pgbFOPkB6{5Fo|4{$@a=T}Sq45#v!IJ2&s`8%AGf5N`}J1)q7<3P^xd@0E@;ZU9pSLC^I zBrkw#@*+5vecX_j!il^bZpka-R9*vT)^jtji#>TGoWu4y)`NZJTi}AcEe_uY-gE@TN^mn zaEk3U^G54z=<-`}MZOz1#qM^4~ZUxPAveyD7FAW;So^JO|G8xX!$|Brl8`at^oTrEq2w*Iypz zx{_dO1e$$R3~X4#Cr5BB2R=5F6UT#yepPjvY) zxFny5E3&=j)#NjAL!N?L^2IpV(#?D&4&`fcB-e4Wwd>q$`L@ot<5<4OI`V@!l^?_2 zcCK%)slNOS4&)bbD8Gs$`7NB;-ktG%T##G1B!7uiGyyF2fMTk;+_vxmz|xF6rjXQu;j$DYnt;0m^V@4_|t z0qpJN_I(Wdvb`5o_ICYeEZ^64Uc`a?8V=>RaU_3$YuNU(_pw;{=QxqS!m0dU?3LX5 zKVx710~fHZ^A8S`&%k?2D9?-|c@7-Q^WsEa2&eL5*bCiWd7Q(x{xaBCz9J6f)o>`U zjU#yjT*G$l#yD2KIZouQaVqbCz5U$2yJBD73kR~j4~OyrIFb*+v3vw>VB7Z?oG3pL zx0Ks^c&hvi?3LZV=U`vH02i=*H+ZSM8qb-jI8bLk-VaOaEG%1RaU7~M6<5@`PPWb< zj?`J4_obRTU9xq$ajecDZpcG8k?+7Q`CgpL58+I&JJ;jblb^yl`C07CFXDpy8V=;Q zaY_CFhqAq|R^-ocB!7u(@^?6vf5Hvb19>T2l9$7wyfUuHYv4#;7uV#Ca4h%WhCC4`@;107?}$@*H=H@Z&A&JHqS{;D&r9PULHGORnQoz8Pl@bo1Yi zJ^3D-lOM#s{1`6C2@d3Ea7lgvhw`hqBEN+r`F&iIKf$p)iW~A6PULTKOa2k3@^3hE zkeh!x_T+JVcFW1*u`kbx3-VkzkmtuGc>)gQ9InVq;z(W=*W{IOEU%6m@;W$?H^eQu zh*NoUoauA(Z;f;E4!9uiic9idxFUzRCLe$s@*%h-AAvImyY-L3Ir#)!kWa;d+>cB0 z01oBza7Dft4`6%kx&qgf|Arg#blj51@fkUDh?`+N&dIalf;<;4$@AliJOS6_9B#-< z;+DKD&K&C2|39YgJZ`G_f8+QW3R$v~CC(%giDXZliBu|-l&GAkP?iu`vUG+*$(}5c zGb9o!d$!J0=th?C&E6SXLiRP$@Ad9|{qg(n`M4g}=l%JdGjq>9-FHoU<51oY$MV5A zkq^VEd<4$quDB-m#C5qhE}ZT2`{ANI0GH%4F3YFkihL%n%ID&mJPOz4(YP?e=a0cf zc`Po;<8fKO!8+%7|5oeBcUVWh2Uq0#a8-T~N9X$5M{q39!HN7duE@{h@p#`o_zVMF zQ{I3J=lPsBaU{QsWBCJIl|RKb`Exveq|aQAXUIQU=X{^}H*UbT?|(SB!1MJF=kb*{ z#*w@^j^%A|BJY4xImDT~E6(LTa4^c}?~OxwKOD&i<5)fnC-M*+#1*9 zwm6sDu-RnnO!1m|U z-*Bk>Z(LOVAC8o-TjKo6H^8y-O>kNH7C2G9Ev_iv5vSPxj8l~DdRyVDI&E;Kwe4_@ z_vFk6$ksm-2Ngg6xj2+Z;RsuQv~2y^I3~A!pOP(q9w+4H45#wTIL95B^BS&WyFdTo z!j#K;u`lxIFvWX zMQrzNTU?TN#AUgNEAno*Chv)Z@xJdqIFv`=61JI-;o=1M6PC-*;m*h@3R;LRtEANRD<-Ku5`H8qH55$=|gK20=fAJ9IDe*w)_|zDL-Deyg!bW50Wh(io-j6ui@60&%wnzeXmit zB#*{rc?=Gx_}Z~Jk|$UP+nsZE~%=XR&IFv`@NVeZ^r1(tEc{R@Di8z?! z`7JoacFsF+Bu~Y$JWaMa5937nY@EtZ%hq`T=gQ~f;BlY72uJdpvi0A?vGR{(%k6hB znewl3jxGNl2T!qj%JR$A#U`fe-GLWr`Tq0Z5??B%b)VRXt~_V z@~1uD%W}Cr&gFw~@Qim3$BEn-r*e18=lYp@;Y{vle$MlO)_>kT1h2r|Ip=WPgi@o;R{(gBZ`kF?IqzE@8i%g5v36<^yQXV@O=Q!IbgeJYORGp!?^ zXPrgfxyW+)avU~zeie@7@z#-V#KB^JUAoQs@?F-)c7}W9J-L<#a7u1oi8J*(_Tc`= zopA7`&+LLjxd)EqUO1Nf;so1XC(Aa!jDxp4e^|DBHjc>6zv39%YyM$9>A&OsBXG3D z-3^EDdgoZnr#+ci$dLGJlX+44C!BsV{eBl&rpVEewDS^kBu zJ@8mQF9q9s)Q&h--U+Y3L&&@0CSSUH;t<r&iWPH;DQ93C!Dz~ki`@eFwqZjkT9E99xT$=5#rejH-EmWOa_<&WV= z`4c#k=i*?w_vhhIe%U(m>p1IanRWPpXKtpy_h3!fD?HWoXT6^ zT;3K3>-n4=aVQsYYrN_%{{IUcDes88Der_+<+tHXz6caW{q2d_{*1~=K*&vqwnEkA|3 z$xHBX`A0ln-nuV)VLNjt+@QP*ULg<0O*ZlQSK`+4bev=RdD=@jXzE^oLwOM%znQOH zj8km=Vn6m(z8lVzAAuW`cg4B#;dq7e5xB|bK63(YEkA&}$qVpsImdNupXa#-7q@UX zK9SdCc_W-*d)?R^*OhOBi(7hsM_iIy;EKFEuF7rk3~aB@`{4$;Bd)7+6fSJ#Gkf5Y z+#6Tq6LD1@gzNH9T-e&zo`EB5Ka)Hcmy|z>%kmSrBG1J&c^=NOt$i66w(*&p_2+u! zZE!{25$D+MPYYaE-U;Hjk@@ia{*Exy)4&L7Yhw>&klDELIye&@T9dRlbaTVKMyWvcE z8(dS~4(G}b#C7F|;$TNVLnj={U2qZG%pN#W-W!*c_rtOBfjE%|?4ToG3pKSCk)$Q{|m- zCU?QP+ynDQXYD=dg$vkb_Qj#{0XUM&xTMZ$I97fZPUQ1&Dqn~*`BI$A_V*&|*!CKS zqoSYTIvmS4;Y7X-SFrW(!l`omJC#-C58zDsOk7hw8|TWO#z70;>v>$jHZ#Ma@>g&q zzm7}lyp3b!|HEbFALB%M9aofpjZ@{{ui8i zY|qprxxQOlA_r;O&gK#W&#AS6l;Y4{?oXS0M zCiliQ_50ym`9K`(>Sq{?3)uEO9f!)##*sV{m(;lk$I36qiF_rlsB;a@m0yqR%5TBJ zZocmwIF#?fMQmrd4@b%$!m<1)F01o6PLw~3Q~5=l$@6hd{a10JmCs*{Lu`-TyEu|R zz$JA)#j)})a3X($Q+Xw>s{ad~fmhwb&nj`I&cC=p`8or+C(75yE0k}HgWdf+o8tnu z`>+jef^FuGxV2owvHH8=;mY^KiSm8$c;)-!RQVxzhVsL4ru<0Upu8K-l^=ua*v@l2 zUZGBZ9JKZ`55fg(ogughwlfdMp*kaQYvt$TNcqLMoAS$X8QYvI@lb4EYuDo8>RgY< z%eUYZ+v9jUo}v71oGGv3T%L~W*yhi~!5+SL4lZHKpT^y=o&NVJiE<=^69Pe0F(xPWc#Z#Y!G3b)2~wlz3X-e?f#SHB7F zrp~4~R%a_*R%bgrT%Db9qE1U(Ri`zcq0ZhoS7$#QwDEHuj0@P#c^Gbj?QBQlP@QhL zwen+dr2KeX!nXEA+)bT9I96u}9CPL!XG$15L+Q{@-oY1p1Km*Gr#1=q0cbv16l zcFu`7SLbHDLiuDI?B&-u1sAZbO>q-!Yp3H-ote0`^4U02{uGYo=WrR@oOyV-`Y+=| zo!4+howx9Kb>7Df@<%vVe;KZ;|0Q0b&bK&dtLG9fVB7aM+yvYCSK&~dH8_$Rox2?s&X9ZE>njdt6oLAUs2z!*Hg~5x7BlSDY*F ziB~A^jf1`Y8vEe_wtWZSCfKfVFb>r@9k*6~7LJskhfCP5_d?uFoeGZCxf%~wejQGf z--IjJ_Pq_K%BSF}@)Xa&Yo9YXQ)eb_P(B;y%Adk@Y%`z3E7Zwwu#aEw%eV=)nXlnc z`CGWP^7nA0{6pML`DZv*{sm6tZ*T?MzAN!~^?${wI)CA+I{)HK`MNRZmp8ycJ3r?p zxPWcu7C2Pi3>TF*$E~ql%Pu%lXLsC9`Cd3yzAr9gd%O%q2M3&u4y$L-})D#CD$L zI8we6mz4j4W95J0ME)07u+3km%-NK0f@|1jZh`A^GhE!?`#a$>woYqYk@v{sQ(%c4)Qa< zkDFjS&qp{^{uOSm{97C;{~dQzz6!_6n+)b_N_kV9C~t-<*siNNPL=P1tIBuBnew(c zm)qmuU_a+UIFvi$NbZDVxeHF@9=L*S-(I*X_rn?Pz&#m=Ysx3#_z>UgE?ma8_FkMQ ze*jmMKa5l5vvDRrg>(5i9CYxR^Kd9H#F5;9OW5{$6UWNm!)4_k;zao}oXTI~OkRO= z`3D>v>ihnR3)trWg^TikI8vw45cZXu;6!eUQ+Z3A$<1&L+sx)TSH24lI{Lo5;{vwM zUN}_V9!K&)IF>u&MDBzu*w%Kzsq&tPPUW9) zCjX9ec@?f>+iMLj9N}&}l$r8IIKnn_a~#Xt;6&a5r*eohc~@M+Hh&MCE8hnfj`Vzg z+z8uiNC(_fj&Mbt&bTUf$2GZ^bvpam`dLRFU>&)P>+)&1aFqAY#EE<^u6FhFjKX2J zM!^yM?&eb2u06q#@^P}|6L5*#uJJ}Z9NX^*Zo}i{sknHwcOJC9{3uSa{odpWoXXGQ zOnwmu-Tln-aVWovi`e#k16SlFxGH~u3q8E^87|9TT1WmCH()#SPq?o9Z@fbJ8eHz_ zb2d1Yz2v4iKF06WRkV023O?ktdH%S zci@^l71!lyxX{Nt596Xd8<*s#aan!=SLFG)Dlftrw)4D+Ys%lnb@@YFIKlT?hKur7 zxPzu}X<(uHTyd^I5^*P(&BDQO9iA(YxIL3C)eQ;U%{y0(I z0auhqI8}ZWt}5@2YjQ7Km;2#DKR?4jT*P*UVYnoZz-4tVz!l|VaEk49cpR=O{}tEd zzi}Pgy;_3{C;I#iPiHTAGhC9l!G-?b+0i<33+u?cu}@|j2B zirfQNv7N0quE~RNT|NUBPWH80GH*aIK_6~w!&5A+u=<4&N!D_;vn{ZYh1u~ zAKKzj`F=Q(55}>47%r=S1WuH9!xiPn;8b}ZTvgs5XUb2(HRVHbuKWyKSAGr-%6`sK zxPa}Pqj9L*{%vtl`8XUYzYdp_--Ki3lW|%36r3op;)?R=I92`#u3~#W&%v4U7jR8^ z4d==ifbAK>6Le@wr`1#H){0*A_f#6@iLf5Rnp*5I<-_>6V=Tmql7 z5w0lT45!Ms!BuQ?cEFkPR=B3T4bGJxgzMPO(-9X=cOQWxY_AX9a4a8#6Zv?Y$|vF~ zwmAcFrhEv_=i&mkeP6<%@`bplya7kb-@+wq^WVd<@@2TJ{+BpW{w=O3 z{}HFkf5*WYeuh=JAg{rp+~`csAUDC0+!V+1mN=1{;Z$ypbGZc$&h))n;ZSaai`cHc z9gdVAh)c>3#j)~ExU9SjPL%h=73IBgs{BM;RXz}B%7@^Z@?khvJ_6U3pO1sH{LGi& z0=9ErfkWkEaZ&kr94WsMmy}P!vGTicBHxQE>P*9_@`rII&%!lqkM)x{S3VEdl`q7> z*?!KqZ~@yn-@~Euk8n}>G8`%Y3YW0W{}#u}f5&Czt8k*c@mZW1+x!i2s(dqCRlYUO zl<$CZImC5!cE!O6Kl7eAl=s0!Z0Fe@N6I5yQr;QI%8$ckaHRY;9Lsm%M7|fN@-$qV z`Exip*UvK#7qG2eh(qPC;iB@laHRZwTvGlKj+N&)k-x&J{4LJpA8`%aUccd7`6^sj zz6J;9`Pmwu&3WVvaS_}7*%U|0x5u%(Gfw1|IF(!DDz<&w;!OE|xTgGITo~z{!*NmW zj7xHNoMQVv(hFyDUtCk?WSlE6re&%~kfIk>3&X&fnk0hg8AXOJYyU&R&WZ{Sq< z5}e6PaZR01aIXAw9FFqyEXR@jJ&xs{aU%bLE7;Eb53XW+J`_fYR^@>RgN?D;3I@unhn{Y~Qz71Eg-G{qyrhY10 z=K)+(=V6>{?QC3E{uB->zSr}zt<7+O-0s!OIK-B}jU)Bnmo5JY$LcJ@Wo&2r5+~|^ zD_j3ZJeK@j{2NZS_HSIpw(ozqCN~+$y}i=&t#Dc18K>B0?twFTZ=B2f;kx<<^gZT@JSDj$cd*yc~bnev-( zP5Es&S3U&?WBtr2E?`^x01lPU#4)z#*lb+Jw(oa1QT_+6DBtIN_QiJJI^bN6a9y3w zI2h-h<8UaSfFt=N9LuNRL>`J$c{tAG5x9o!{O99b`6W2G+V{Ew7qFfGDjX`m0T-3u ziX-JyaS7YZ`*Ey%1}-aq3@6H;#1-XpajJYCu43DFAoTu;oAFQ2C!Yl2_wcE?mHQu&zjw})(Nd*LFvovkm9w6=^(T6-Ffm7j&n>Ys-b<(J`# z`W2iizXoUWM9hDbwe~rAGcI7;cQOu@S8-AKbQ~$4gG<=1)6ir4Gt#wnSaFvZ24a}RKD&g&M9wzE9z{5Q{~NYRe5uq zDc>E}uwB<)xGuNHh3h;&7#HQkaY^os%h=A-9arSOxTa1S7bbe=bX=52;u5xfFUMu& zSK*5C8*o*ggfncquFFetaD%_r zeToa%u5sH7$#3+$1ukNne<3c(m*E84Ij_X2d<_n6@_Zr=<(qL!{4V{;I8r_Z$FhC4 zTp~Y!Q~6<>$+N6~tIvND=h%L~GZ!b5Jm2Ud*20A|2gd` z*1`7rKNQFET{w~7#x3vi_ivkAOdnf+3mnTQ;uPEcxd&(ReK?mN#K9ErJYxAh{(feT z`CiYzvQFy$7N=GBk2sTm!`Ry-}{^3>;d-{IG4A@!F11e z#0}WqYZY<&pywy!Ot#Of3m)?PR2<4@;7C3P$MOX@kuSlid3%G91fa;zVA7Q~3v+$-m-U z{tE}s`22ryD6exl^X2u;&w6KL9Lt;IMBWAmbG@?z4&@L>@~$|S_pttR-rw6g@_sm$ z55}2%7!IHJ=k^iSkw@cPe%taFywmIou3bI}XY#!`mp{efi{9U93}=wbIC#m=b}tU) zY1WZv;7ooD=kgOcnCEMs#i9Hnj^z0`!}gl_s`WGP2MK+-F^=R7aV&3&6L~9~%G=>g z-U&Bg`(5WQI9J{V2Q}ZT9S-FKa3puYu^izw_v1)@2*>iH zIFTR6sr(Gi*HMB7zeNV%*}BqZ-XOw2OP^GPUKy2D(`_ad2gJ{`{7`b&p#N4 z@?kiVkHE3q6(@2}oXWj%CilZpgMZBqz_ENYPUN?7DmT57wQ_fyWBZ;s0SB+SZ^WTI z2}kmsIF_g4ihMs#vAutI2v?PVh%@D%;hOSIuVP>2TjAh!U)vdn@)bCiAIFLO6Het_ z$1-2;k8}A}9K7K(-^8K3={Vk>W4qoixFq+$vD^!n<-RzPPsSBF#;JTNuF7ZNOg;zK z%8fm1=f)l;YePLV|fWq<)t{2Kf$?N$H7}Z z^J^T+-{DC93CHs9IFVQ3R9=HKxzW|kmz&_=ZJ*y1hw_#{{Ve zz7S_}1J30guVJqx-ajA5^6NO2n_bIV`3xMt@Avju%jH!#$M*MLju_9(|GB&3Q0|GN z4}EQK9LqQ3RDRv^PrTD~0&|x6oPjv`-1EVff93b*J{-yq;z)i3$MPJU$WP-`ejaCX zhI9F49DMEbU&EpN7LMfia4dg_6Ztco%3t72{s!mrN*pZr`M=;${u9U8UI$j=L_YjF z{Ehb~;8ea5XYwSR%Xi{nh4-i8P`)1*@l1Q2!IAQha4avwiEN)!o60M2CjWqQ`Bxl# z>wEo$L-}7E$?HsHzPvszV>`pfI8lBWPURzTCU?cT+!F`i`Ch$oDEGsWJOIaX87J~- zIF--DnS3tJm?p<8hAd@wx#AE8TBeUv7Fme|}%%e||p(r&~2% z`}%o2&g2tuuyy0La|Ys2o`qw1we{s=ZlJ%7&zXfo`AHnfb8#%cgcErIPUS^7lNaM$ zUV?*deg0A$%Aep!w$JO0<*#ufe}_}~C!EQ@<6K^agJwQ|4G!f-H!@#tf@8TUPUJ0d zDmTNyc7ETQ<4`^wNAk0l@8F&FZz7kE#WA+mt9x)F--lEAL7d5t;2hgyJx8{+%W<%y z&-osQ^3S*>KAHX>IBo8oe{c=k_t4;GzL&|3aj;Y4wcoQg#1Xbm9~{g5aV8JKxjY01 zJ9~c^4&}3PB#*?gd=XCM%Wx`JaE|R7uf}}1*jg{bS<%nG^(}Pd?Qzh;^PO?h(%llL za%-H)Z7tu;XST=T?tbPAa3o)1d28=nVf{UP<|3TQi*YV5!NH#1S&BpX6P(I*>&stT zzm505v%dTjj^*ERw3nZ4mF4Z+Yj7erx|R8I6P(FSaV~F(gMEE%GaSmzaU{3EvD^wL zavPk=?QkX^V0n9=*}-x-!nxcT2m5*FXdKGN;z;g;W4S+06ok*~(7d>zi@n{Y1QhJyoq{#`hf@5PZk&GG}iGsANEF&xWJ;6#2F zr}B$9ljq}Heia7?`OG(PD8GXv`F}W;KgNli<5d0%XY#i=mw&{;!9M>t9Lj&=Nd6DU z^173lFK>WTc@vz;Ti{&Y76*s;{2g&97jY!-hGTh8oXGp&^iY5O*&pZfSvctE`Tf?% z_WJOFb>zmk;lq62b~rrTeE^P1-tU0pPM)8O6M2;RNdI~qjZ=9H&g8K;KFZH9-a1`; z=Bw6`SK*+m=WQp`kx#*my8G+!Bs^5U6Nf!~=2RT?^0gn~Y9Bx6#<%lYEpLv~6FlDr zXYvj>m+kY~gTCI`6^HU3IFk3a&WYaH4=3`$=Kh`^hEw?noXK5rF89Q>lf2&>*X4fJ z8Q}MG01gJa%Q%!z!|5rWpNTX1T%60JtTWi>kG76H#yav?91QW!cHN`#E7poXKZd=RD7+;CQ5avpbn{zB|GRw)Z4+aVo!r zGkF2d3?}@W9-r2`GSGxDN zj(iA?uk!qGoXAJwe5~i)aC)`-7@UoFA8#G`M9U|5KG1S`Fb=Nw{B#`3XPIyC{5%}V z7vl6r&o9NvP3{Ee@;IE`;`s#2ew*j_TP{C@3zI#66c^>k zaUws1Q~3p)$u;ZT?rUGc#XH=u^-}B};l3U_| zmk+Q$w%79xxQ<`v`%Z)lAGkZ?qI@(i$;aaOV_(|`CvtzB%7buK9)dG@7_P}@<6Itz zgHL?sML3i%!;xIUv3xa750=i)?u38(S`oXLxD@Vn1hj6-<|j^w2{mOsI%T*sOG zHO}SlaPWuE{0WEh?>LfI;aFaS6S+~!Ot}fp<)%3J(`RmpL%A7_xerd|{y38d;anbqgH=9f7!KvLaU_q# zv3wCuS8yg@jdS@r9Q@<+Z^EH`8;<0=a4g@86L}g=l$RCJyCyaUy?!Q~6WtY`fmt-;aEbBYC;?AIu{1MLNWjL3=#K8_ee+7=PUHcC>mVd=V@yXoV zzi^`bU!2P8Ok=*hKF;NhaUA;0&2e#;_13=6+y+KfWbgnp-j6V5w`c!aU$Pvfz6S?;``Y_( zC_jiJ`4Jq;b8sR*jZ^t~oXPfoOXl*+IM~PMzlKBkEgZ@3;Z*(*XYyw_m%qS4JD>9n z4&{|Nl7GRm{3lN2)i{+44>Dg~59jhmIM~p zp*WOFIKp;~N8woRjuZJfoXaQRV37Au!l8T$j^v>@k%!|{9)UCYe4NV{t~Hm+k+vO$K}a0qe^TTVI}q&q`$UtVDS zQ@y{)`toAy%S)^;FU7h12@X#4wRId0cYlo|`8(^J>-kUCk$<<2yvjNw{kggZXY$RD z&_CbT?(!&od3PMkd*M{x7iaQ;IF}E_!3932gcEFEgGb?TlzXxD&EBzYpG>`Rs zHIC)N9OldG;Z)uTXYyt^m$$~jIG?jU4&|M3B)7z|+!`lxTb#=6aV8&x!>j%Ets{=) zPB^&6_v&Ju3GN=&k$d4-?u!%oWXrGfer&mXDh_Y@R5`KeeW<_!FC_6!&UhvT$69Zb@?t_xZV5r;-Wkam*g3^EI)=T@)J0^ z!yoHsaV)=x6KrRgZ~5KsS1p&{z^VKW&gB2$T>cmb_xM`-|FlE-D;&w+;#mF>C-QGN zm;c7WRG;&o_2qS+pf7KLQ+X4d$y?xD-WCV<`kWncEEjPi?}k%(Pn^m7;9TAx^8<^u z_va8C%7^1fJ`%@O?{vf2eePp$E+3DB`#nDqhtu2xts@V%&I6vGZXNk79LeY5SiTS^ z@})SH6P(H8ET8U=`vhFY_E_I&9p#g7P5GTTc*ws_r{YlF{Ym!4w)Sxx&G61MIGySF zR!`A?#JwF39`(*nmdm%|NZ#OS^2fYC1xK>|U+9_q0M6xyaWKpKvv4Rsi6eO~j^&qd zA}_$Hya?yBea>PW%yBQlp}Z8wkNbW5#QcNt_V#;N=r&g7qP{oc3Uf1JpJa4HYMnLG@KFZ#^0aS_|k0Y>6T`D7f+Q*c=w`@ilJ z;Ob(u9U%4?3 z7W(`RaVT$!BY7(v%iG~Z-U+AjE;y5S$GN;04qo>8`{GbO5J&Q%IF?H|k&nWu+#P4~ zaX6Pxz`-j%|0EpBr{G8)ieq^=PUI0dmCwhSd@;`D%W?3k&%Y9f@-;Y;C*oMX87J~& zoXS&hCZ{-;AHcyPpZ_op7D#i{%W z&g44I<*#wD*yn$TL-{8h$-m=RUWF5R4Nm1obD1wU!MWTN2XFfPEv@sGyP0+5=GJ-J z^AfP?qk5f0_fIFgUXv3x8pWBYpVgA?T!<5a#JXY!Re zm#@LW`@Yvi9LhK2BDR^6aish?9Lw`?A}_?L+<-IrO`OZ`;^2S2*9SP1KgE&!IgaJ! zIFY}{sr)m}|?C zIFT>LnS43UiW-{DmL31{-}IG0!9V42TfgG0H| z^URl<;8<>o6M0LV%FS>lH^(*nI$vuoaIU-+t}AbY`A_KAzE^CA3-SRtlsn*}9N|dr zj7##-IF^saWw{Sd<^DL62jN^Ef`huBVHgg-@b{u;|35#0Q{}(o9NYWbTV7!8m+sqf zDBq1Exr$?XI<9=}{h5|8chAO&{1i^*=Wr&^!@0Z=2jBSG1{}+8;zWMe`tk?XU*Y{v zaVUR|BYC;`Tfg@2&EL7(zQ}o2`r31GCXd3oJQ@c-cxMa_<*_)D$KzPO0VndUmjB{= z-GNhV_jbdV*h}6N=kiuK_|-ex;qW*2PB@ZxvCi+F?`|D=FY_Os?`wVeKpe}5;zTZ4 z{#|X&lzET`F!ik7h7Mx9GCy|{*|~Q zUxTaiL>#Q~&doTKC*w$-f@3+wsr&%WF=z?u9F&gGRjSl9c%;86Y(NAhYM%Y}^j@_IOzH^M<9 zpR*Yri|zNeTU$r@_SR|aot<$gx5Sa$+B)lbr>%A5_STUP!bf78-x0^kJK;?3f^)eC z4%hdYy>KM=#j$)cPUIM;@~JqJ&%n8S4h}Z(nHS)=iTe_q$XDQ0z6xjZwK$irw|qli zdyD1r?Ks}V^Sf~(S8*y&$C*46=kjbEG+lq~?^B+_q5K?<g4hw?NW$un>)KZX_`uc^J;*vvDqu#6dHk ze-RGl%Wx!Da4cVq6Ztxv$~WOmz76N{T{zfI_YFt#G@M|&-WjqzXWA@eraJ9#rp^Jf zb>`w+otJR1z0Y5OBY6>y<;6IWm*5oJzDs4BdCJSo*}?OnIKuX|vmD3r_c)P%#;N=V z&g6eA-_h3wukd$T@Vm@uj5BQeZiwqGywe#EZRuaLN8_-KU&{y_W9y&)|NPYd^KY`9 z|N2)so7UcfQ~7or?&W*kjU%~=V|hAG}wy%+sah=@m z!&^8!+~>T9Bl$y|%Aes({sQOnH<&kAYtOk7$9V0%#fkhUPUY1&lMAmiM_vyHC11M{ z4)ODxZ8Mz6TjNyT9%u5-IG0=EsFSa4jbphjPUQADl@G$f5#H~JL%9=<$(t4vzFWC*x3#aU!3JQ~3;>$>-o)z5qv^eadl*#i{%O4!U{& zQyj{l<49hPWBGfW$v@*<{sRX``<#DpC}F<>PTK-++UjKJ!)_%6H&Iz6YoB zeK?aJ#JT(kj*js;b8sv_jT8BKoXQyvj`jY_IFw(*k^B~p<@azVe~5GWGaMY}bH2c# z{0&azl{l4u!I}Ig&gIoO>g96^i`iFR4=3_QIF&cUL2vJGjYD~R9LYQ5SZ;|kxi!w^ zwm3N6=d{P6d=O6LjyRP&;Y{v=bGZjD_VL%ZUO2+``qmehl%I@aQCXV{~oY^>* zpTdd!98TqVI5^S!3vnnn;7EQG$MU#9d*M*t7f14e zIF%2@nOwrTd=w4__?+%ImXE`Ud;(78lW-=Vg2REnb|{YI;W(B@;6y$j=kmok802d& z$Dw>Bj^t}_Do@0jd^67F$v8O0=S;z|oZ>`&0H^Z9IFJ4P#w;9^-B03Bo@@Ofp1*`M zc>&JlMYwRPKL-}$P+o$I@=_ehpWu>Q$7T6zoXFqdiu@B!<==5tUWIG&8l2+}y#6R8{$;n6ld~QIG4A>!I|FQ35W77IFfhAvAh>f<$ZA`ABc1LP#m1)GfOy>kHV4M z9mn!PU&pEZHV!ZGz23)>{1J}jWjK?+#JRiz2cv!M4>**6#fkhE zPUU}bCa<%EwU_$Z^>HX~j3aq-9Lw9_MBV|Xa%i2)e9o@ck@v8Uyf@C|{ctWHjDyR4 z?O`~SkHC@K6~}TzI>1M<@>BJKZrB=5uD3&a8U6%Pvh`P_wzWGGr2wgH_FR6 zBe$>pw{bAm{XP!mk8mU}!?FA&&g2z1mw&*?IG^(?PUXL>bB*W!;^12MI`6WVygrWP zjd3n-j)U>u-^Tj#4%U}LoMQW0+ZAW>891Kc`BT=xcD>Etqa(M#x!ei|*LkN64&`<@ zk`J)H+`;-2y&qX$?reSeXq?H%;#}^7gX?{5e;mq#a3l}Gu{;bX^4U0*N8(Jr2C5YFYtad@MzUH5;?k$d4xuF7^lw_M7#-0a_@o8eGyjw87R zj^$Q3y~UrOZEz;H!?}C_uHNeRrvt9Z5sq*3wViPyAB|J_SRCBF{@Txt>|_0@?w8Ed zedgXDuvXsB{E&AJ#;JTY&anNAq_g)*|YJF-Hd zjEr0=g=SbjL9=GBPsa_xkjC|Mz^nAMfjZ z-{0@~o^PkqsmA-}?lXDp6FuJ>myddW53c00o!{G_fpTdRw9Il@7{6(DP zSMij|p1+0X$nW8Dir@2xxRO7?NuGm?sowbtNBKKk%0F5DlJEa!x%?N-FMIwUuH}YV z-2bbdFM$hrX&hhke0f~TtKdpr6DN5coaGI0EpLLu>%Ox&F66Cnl()mB9C0P@jFY^( zb>8ruy{#kfZyos{oaIAsEgz1I(-x-H%`5`<l9$3+UJlpt z$~a8-vuofuqs^lK7p#M9_qIMRm2WItzL|AC^!KzaEtj{&mAoTPa&H_y^8RkPkoUq- z-Vc}Z0Gwv}b2u1h`7k^M+dUkKYvsq`Im%DQV~7Y`?bNZTW2Xe>lp0KcOSviIe;@&hlQLvR`Wl7xH`@y$#p$T{wL1`Q5mX@551k5SQ{qT**)1BtL_*JO$VC z%eef)_us&kJPjv#2F~&Co z%l&cjt@j7vC=aoYJPe2LymPE|nO5XZ&&dN9AEdP$63vrZN ze#ws91{Z($emh)Yd(S)?C;0@Ny@1Khc`9d7!OK~Y*g)8}boaCEvmhZr| zoN)Nl_wT`ld_RtV`8_|3OZjh{*KkCXf%&T^M|?8}$p@SpF`#f7}*kL=42;Y$7$^8;;*e%+5h(U-5nQJ#fMdCQ-< zu3X_-ejA4tzO%+J?8wL9jP14e46fxVIJETqW$Vjt;3!YSr91;y@+_R>*|=!s*KNj8 z-ex|1`6`^T-NSphmOsRy!ShdWA*rwNw|_H<0NOC<(F_RzmCI_zW)v`u1~jf!q6a2jD0V#+7^+PV$ks?zs4(?++Y@!+L)9WL#pq z&*3%MW1UUBzXFc(s<@Qb z!j-(P<(qncL(An&agw*dS>75KoxQ(3j&e_2%Ddo7-UBCjADra_a4jE&R!|B%h13d?BvoORc}TpS{ZZ^7Yo2Z??XC2M$|!KjA{Y2S@pS zT*?pQN`4F{`6-;`=Ws2*h(lN3e-#(IpQSmjI+EuuI0UP=;QnQ<3c_NNBIz3 z%7>eG^T&7;uH?sX*xmD%3)zwP#uc{bb^^}wBwWjraoEE<85ip08r;98!J zLtpRA#D)ABF0s8Ieu3j&?ydgiez4uoO*qN7_77TJRg8-yfK@jE#Ke$ z70%c;HwX=(mN&uS0M9qag}fCmvF&V!V}IYTESIO_N?yMOI|ICPHZBkLv(s_H_Pyd2 zTQ-C&uZC-RZ5#%Arz0-pjc}AZf-V@jIzBml_ zvj^e^Z2JRoiS7SBDDhC`_u@+V1GrK7&p0Xn9XBc8z7^M1-V@jIrMNi6_us;$ynF-u z@_e4OP4xRw{V;B<_?wr|B*9*JvtjP;NA&RAT@ z<8hKFSbl=P-X>WtPsT$}U3}5c;AP9Py;sb`@igymxdi+2w&v44-w{`GZ=B@aaQL5h z_QHj{ACB?>T%F<98jRDK-XDdt+=Od+91drB=OJ9kk6M1V=TDl?aX)Jv`31|*_52mf zFLJ+$qx>!|kE%(Fm zN`FrJ<5Ip6SJ>Xirr~gvce=L4*ZTb&hYR^++<2Y8&kV;I+pkS$vva*L(dkz3<%t9RPsLS7b^w|TxI zuH@BllGirh;hl~+%NyZZ?u^5o-sy@9c^e$%9dIe{ge!Shoa8-mmiNVBq;DRG3wa=} zx zZr@)O7xG#-%Io4%-Vj&vrZ~x4;4E*AYk7MdntZ<}F6CWtCGUZgybsRu0XW{{XAj1u zd?>Eup*YD$<1C+mYxz_h@AcQl8J6GYn-AkK&ixp!9&kT}ll&ac@{72ZU&Ud(_us;W z{2q?-hq#nK!IeA*C;2O!OZiP)$?xJMe}J?6F|Oqrhev(?OI*m`;wb-!OZit^ z$$#P`|BLI#e5cj2Y(DN@99K`fm%>S24rgrd!z<%B**kmVQr;g|@P5F69BZk_Y4BWxt2R ztS^tTzWllM<#m?lG0I2a@QRbU2R-YM`9c|ClA+zF4CyWlBuH#|q~j$8cXJ3Vj*xfkv!_rXKt zzW4&UA093D$5Z4%c#b>-xA@ujhv5$LvACyv5*{L-jxUhU!lUK$@f5ic&yg?3Eq?L+ zYj6j71nw!{YM$?%k$8wa245hL#py5ajK^7?fa`xepM=9g_heki8AtggT*|NGN`40? zc{YR3nK-ue>?6UxX|9GMwbAah7kuwR{T>t$gQBT*#wwl<&o* z`~a@xM{trK$60dTCZDQe#iRqbQ~7*&P-g$pW!HfflK)t zT**J+B>#f5{0FY(e{g8+`z=;sUv7<~+!mMevbd60#7SNaXL)VwwDHZ3){!@|j@%j7 za#tJ{_x?7xkaw`Yyp#3iU9G=__xH5Eyf2ROfw+_h;z}-Yl8?YyJ_gtFi8w6j`={YT zJ`+dzJY32b;Yz*?C;4iez*XZdYh%kSf`yr2CD7xJe#%Ae!3!V-(V@9{OR?=o{cY%n{l*ca&HX8KBcEmY)}Eh_3%SwqZ9KmmC;1v2yL&zY zm-4OF-`4YyxRA%-B#*^e9&h>f-k)H(JjuL+=aX?QXI%F1{3V>^*R8Xo=kH+NOc(vy zG#wZ6OdRFUa4CO*EBPCoc-r4iExR#g2VHeL= z#7SPw`tsV=mpkIPtM@m;VK;YYT*zH<#`b;PZE!7LWqDuk&$3*ejl*7^H{)`@B^LcY zYc8(jc{s`Qak2jrVGsVk)dC#l7He`=UJ_UG@;J$B;4H6)Yq>KH2l(dJIAZ%+BH~is z8CUY|ILUkCTHfD$pr1VmhyLzEa3LR#qkI&u&*JPTTqwT>cTj#mj>;dwrTjRqOYT@@|UbL&_716<1D{}!ywP6 z<3gT^<6-`K_{@B`-{)#;u`|@YHcoO!TpZ!~MmWlyaVdAjHD2@@!)ciNCd;vX?7qg~ zNcZ=+I?DaC_2u7jmjA}J9MOc@JF5`&j2V?;l_t`CwejhvIO&cZOO=J{p(u3AmC^ z#q}xPKg0T`y3e(~e4+VFe+^uUEBPuMF7W>KxR7tg8Qb^A?y&qq?|gwvY~Mrp23PVA z)>r2jT+4spaFL(=2S>R@!H(P-S8`j+8@<0Q&hm=5mRG~!V(+Yt3%MgM<&AJ9cg9KX zYW++6>^3;cJ6H$XtK8SpTo8CmL0g(^`5uECAQD0zBtSMaJ<3u{QU^Lue| zllOnZCAR)=xKh6TI-FJB6Nj6=EP^?R6v!#MXJmSemBoz~~x z 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

$Kh#$l<8kCQ$ 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%0An5SoDbRdD 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 F{|~cil-B?N From d23f681b2a789228c7bedde4232edb2aad92d249 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 21:45:23 +0900 Subject: [PATCH 055/144] Fixed failure test with undefined ECall symbol on CoreCLR. --- src/IL2C.Interop/IL2CServices.cs | 16 ++++++++++ .../Runtime/InteropServices/IL2CServices.h | 32 +++++++++++++++++++ src/IL2C.Runtime/include/il2c.h | 1 + .../Runtime/InteropServices/IL2CServices.c | 19 +++++++++++ .../Interoperability/Interoperability.cs | 18 ++++++++++- 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 src/IL2C.Interop/IL2CServices.cs create mode 100644 src/IL2C.Runtime/include/System/Runtime/InteropServices/IL2CServices.h create mode 100644 src/IL2C.Runtime/src/System/Runtime/InteropServices/IL2CServices.c diff --git a/src/IL2C.Interop/IL2CServices.cs b/src/IL2C.Interop/IL2CServices.cs new file mode 100644 index 00000000..12a1c3c1 --- /dev/null +++ b/src/IL2C.Interop/IL2CServices.cs @@ -0,0 +1,16 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +namespace System.Runtime.InteropServices +{ + public static class IL2CServices + { + public static bool IsInNativeExecution => false; + } +} diff --git a/src/IL2C.Runtime/include/System/Runtime/InteropServices/IL2CServices.h b/src/IL2C.Runtime/include/System/Runtime/InteropServices/IL2CServices.h new file mode 100644 index 00000000..04d19f9c --- /dev/null +++ b/src/IL2C.Runtime/include/System/Runtime/InteropServices/IL2CServices.h @@ -0,0 +1,32 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef System_Runtime_InteropServices_IL2CServices_H__ +#define System_Runtime_InteropServices_IL2CServices_H__ + +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +///////////////////////////////////////////////////////////// +// System.Runtime.InteropServices.IL2CServices + +IL2C_DECLARE_RUNTIME_TYPE(System_Runtime_InteropServices_IL2CServices); + +#define System_Runtime_InteropServices_IL2CServices_get_IsInNativeExecution() (true) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/IL2C.Runtime/include/il2c.h b/src/IL2C.Runtime/include/il2c.h index 9c291e1a..37a11730 100644 --- a/src/IL2C.Runtime/include/il2c.h +++ b/src/IL2C.Runtime/include/il2c.h @@ -399,6 +399,7 @@ typedef void* untyped_ptr; #include "System/Runtime/InteropServices/GCHandleType.h" #include "System/Runtime/InteropServices/GCHandle.h" #include "System/Runtime/InteropServices/NativePointer.h" +#include "System/Runtime/InteropServices/IL2CServices.h" #include "System/IDisposable.h" #include "System/Threading/Interlocked.h" #include "System/Threading/Monitor.h" diff --git a/src/IL2C.Runtime/src/System/Runtime/InteropServices/IL2CServices.c b/src/IL2C.Runtime/src/System/Runtime/InteropServices/IL2CServices.c new file mode 100644 index 00000000..2a6863f8 --- /dev/null +++ b/src/IL2C.Runtime/src/System/Runtime/InteropServices/IL2CServices.c @@ -0,0 +1,19 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#include "il2c_private.h" +#include + +///////////////////////////////////////////////// +// VTable and runtime type info declarations + +IL2C_RUNTIME_TYPE_STATIC( + System_Runtime_InteropServices_IL2CServices, + "System.Runtime.InteropServices.IL2CServices", + System_Object); diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 3da99909..1d95563f 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -42,6 +42,13 @@ internal struct tm [MethodImpl(MethodImplOptions.InternalCall)] private static extern long mktime(in tm tmValue); + // HACK: If you call `mktime` directly from within the IL2CInvokeMkTime method, + // CoreCLR will trigger a JIT when it executes the method, and + // detecting on the fly that the `mktime` is ECall undefined. + // Therefore, we will use this trampoline method to separate both methods. + private static long mktime_Trampoline(in tm tmValue) => + mktime(in tmValue); + [TestCase(1666496096L, new[] { "IL2CInvokeMkTime", "mktime" })] public static long IL2CInvokeMkTime() { @@ -58,7 +65,16 @@ public static long IL2CInvokeMkTime() tm_yday = 0, tm_isdst = 0, }; - return mktime(tmValue); + + // Can test in native execution context. + if (IL2CServices.IsInNativeExecution) + { + return mktime_Trampoline(tmValue); + } + else + { + return 1666496096L; + } } #if Windows_NT From 83f3a1c83fa39abb58ba6a30c06e4f829219dbc4 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:20:06 +0900 Subject: [PATCH 056/144] Fixed add opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Add/Add.cs | 21 +- tests/IL2C.Core.Test.ILConverters/Add/Add.il | 222 +++++++++---------- 2 files changed, 126 insertions(+), 117 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Add/Add.cs b/tests/IL2C.Core.Test.ILConverters/Add/Add.cs index 2d582cbe..27f55af3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Add/Add.cs +++ b/tests/IL2C.Core.Test.ILConverters/Add/Add.cs @@ -18,9 +18,12 @@ public sealed class Add [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(36, "Int32_IntPtr", 12, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Add_Int32_IntRef(int lhs, ref int rhs); @@ -33,13 +36,19 @@ public sealed class Add [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(36, "IntPtr_Int32", 12, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(36, "IntPtr_IntPtr", 12, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern ref int Add_IntPtr_IntRef(IntPtr lhs, ref int rhs); diff --git a/tests/IL2C.Core.Test.ILConverters/Add/Add.il b/tests/IL2C.Core.Test.ILConverters/Add/Add.il index 384a9d08..b210a33a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Add/Add.il +++ b/tests/IL2C.Core.Test.ILConverters/Add/Add.il @@ -1,35 +1,35 @@ .class public IL2C.ILConverters.Add { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } .method private static int32& Add_Int32_IntRef(int32 lhs, int32& rhs) cil managed - { - .maxstack 2 + { + .maxstack 2 ldarg.0 - ldarg.1 - add - ret - } + ldarg.1 + add + ret + } .method public static int32 Int32_IntRef(int32 v) cil managed - { - .maxstack 3 + { + .maxstack 3 .locals init ( [0] int32 ) @@ -41,48 +41,48 @@ call int32& IL2C.ILConverters.Add::Add_Int32_IntRef(int32, int32&) call int32& IL2C.ILConverters.Add::Add_Int32_IntRef(int32, int32&) ldind.i4 - ret - } + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } .method private static int32& Add_IntPtr_IntRef(native int lhs, int32& rhs) cil managed - { - .maxstack 2 + { + .maxstack 2 ldarg.0 - ldarg.1 - add - ret - } + ldarg.1 + add + ret + } .method public static int32 IntPtr_IntRef(int32 v) cil managed - { - .maxstack 3 + { + .maxstack 3 .locals init ( [0] int32 ) @@ -96,57 +96,57 @@ call int32& IL2C.ILConverters.Add::Add_IntPtr_IntRef(native int, int32&) call int32& IL2C.ILConverters.Add::Add_IntPtr_IntRef(native int, int32&) ldind.i4 - ret - } + ret + } - .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } - .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - add - ret - } + .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + add + ret + } .method private static int32& Add_IntRef_Int32(int32& lhs, int32 rhs) cil managed - { - .maxstack 2 + { + .maxstack 2 ldarg.0 - ldarg.1 - add - ret - } + ldarg.1 + add + ret + } .method public static int32 IntRef_Int32(int32 v) cil managed - { - .maxstack 3 + { + .maxstack 3 .locals init ( [0] int32 ) @@ -158,21 +158,21 @@ ldc.i4.m1 call int32& IL2C.ILConverters.Add::Add_IntRef_Int32(int32&, int32) ldind.i4 - ret - } + ret + } .method private static int32& Add_IntRef_IntPtr(int32& lhs, native int rhs) cil managed - { - .maxstack 2 + { + .maxstack 2 ldarg.0 - ldarg.1 - add - ret - } + ldarg.1 + add + ret + } .method public static int32 IntRef_IntPtr(int32 v) cil managed - { - .maxstack 3 + { + .maxstack 3 .locals init ( [0] int32 ) @@ -186,6 +186,6 @@ conv.i call int32& IL2C.ILConverters.Add::Add_IntRef_IntPtr(int32&, native int) ldind.i4 - ret - } + ret + } } From 5f65884f7c2671e8529606d9e8208c0025b5f2ab Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:35:46 +0900 Subject: [PATCH 057/144] Fixed and opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/And/And.cs | 21 ++++-- tests/IL2C.Core.Test.ILConverters/And/And.il | 78 ++++++++++---------- 2 files changed, 54 insertions(+), 45 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/And/And.cs b/tests/IL2C.Core.Test.ILConverters/And/And.cs index 6513b4bf..81af68f1 100644 --- a/tests/IL2C.Core.Test.ILConverters/And/And.cs +++ b/tests/IL2C.Core.Test.ILConverters/And/And.cs @@ -18,20 +18,29 @@ public sealed class And [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(0x12345678 & 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(0x123456789abcdef & 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(0x12345678 & 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); + [TestCase(0x12345678 & 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); } } diff --git a/tests/IL2C.Core.Test.ILConverters/And/And.il b/tests/IL2C.Core.Test.ILConverters/And/And.il index 8d84beba..3a3b749d 100644 --- a/tests/IL2C.Core.Test.ILConverters/And/And.il +++ b/tests/IL2C.Core.Test.ILConverters/And/And.il @@ -1,47 +1,47 @@ .class public IL2C.ILConverters.And { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - and - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + and + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - and - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + and + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - and - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + and + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - and - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + and + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - and - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + and + ret + } } From 0e94e546c961a598894f449201608f2800404f30 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:43:27 +0900 Subject: [PATCH 058/144] Fixed box opcode tests with explicitly type casting. --- tests/IL2C.Core.Test.ILConverters/Box/Box.cs | 44 +++++++------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box.cs index 7191b8ca..145157df 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box.cs @@ -73,47 +73,37 @@ public static string SByte(sbyte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt16(ushort value); - [TestCase("12346", new[] { "UInt16", "Box_UInt16" }, 12345)] - public static string UInt16(ushort value) - { - return Box_UInt16((ushort)(value + 1)).ToString()!; - } + [TestCase("12346", new[] { "UInt16", "Box_UInt16" }, (ushort)12345)] + public static string UInt16(ushort value) => + Box_UInt16((ushort)(value + 1)).ToString()!; [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt32(uint value); - [TestCase("1234568", new[] { "UInt32", "Box_UInt32" }, 1234567)] - public static string UInt32(uint value) - { - return Box_UInt32(value + 1).ToString()!; - } + [TestCase("1234568", new[] { "UInt32", "Box_UInt32" }, 1234567U)] + public static string UInt32(uint value) => + Box_UInt32(value + 1).ToString()!; [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt64(ulong value); - [TestCase("12345678901235", new[] { "UInt64", "Box_UInt64" }, 12345678901234)] - public static string UInt64(ulong value) - { - return Box_UInt64(value + 1).ToString()!; - } + [TestCase("12345678901235", new[] { "UInt64", "Box_UInt64" }, 12345678901234UL)] + public static string UInt64(ulong value) => + Box_UInt64(value + 1).ToString()!; [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_IntPtr(IntPtr value); [TestCase("1234567", new[] { "IntPtr", "Box_IntPtr" }, 1234567)] - public static string IntPtr(IntPtr value) - { - return Box_IntPtr(value).ToString()!; - } + public static string IntPtr(int value) => + Box_IntPtr((IntPtr)value).ToString()!; [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UIntPtr(UIntPtr value); [TestCase("1234567", new[] { "UIntPtr", "Box_UIntPtr" }, 1234567U)] - public static string UIntPtr(UIntPtr value) - { - return Box_UIntPtr(value).ToString()!; - } + public static string UIntPtr(uint value) => + Box_UIntPtr((UIntPtr)value).ToString()!; [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Single(float value); @@ -155,11 +145,9 @@ public static string Char(char value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt64ToInt64(ulong value); - [TestCase("12345679901234", new[] { "UInt64ToInt64", "Box_UInt64ToInt64" }, 12345678901234)] - public static long UInt64ToInt64(ulong value) - { - return (long)Box_UInt64ToInt64(value) + 1000000; - } + [TestCase("12345679901234", new[] { "UInt64ToInt64", "Box_UInt64ToInt64" }, 12345678901234UL)] + public static long UInt64ToInt64(ulong value) => + (long)Box_UInt64ToInt64(value) + 1000000; [TestCase("123ABC", new[] { "ValueType", "ToString" }, 123, "ABC", IncludeTypes = new[] { typeof(Box_Target_ValueType) })] public static string ValueType(int value1, string value2) From ee4a46669a0da97eb0f5bb7fcc8fe107af5d77ee Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:45:04 +0900 Subject: [PATCH 059/144] Fixed box opcode tests with explicitly type casting. --- .../IL2C.Core.Test.ILConverters/Box/Box_Enum.cs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs index 6e893585..68f07997 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum.cs @@ -130,23 +130,19 @@ public static Box_Enum_SByte_Type Enum_SByte(sbyte value) private static extern object Box_Enum_UInt16(ushort value); [TestCase(Box_Enum_UInt16_Type.Min, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - [TestCase(Box_Enum_UInt16_Type.One, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] + [TestCase(Box_Enum_UInt16_Type.One, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, (ushort)1, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] [TestCase(Box_Enum_UInt16_Type.Max, new[] { "Enum_UInt16", "Box_Enum_UInt16" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt16_Type) })] - public static Box_Enum_UInt16_Type Enum_UInt16(ushort value) - { - return (Box_Enum_UInt16_Type)Box_Enum_UInt16(value); - } + public static Box_Enum_UInt16_Type Enum_UInt16(ushort value) => + (Box_Enum_UInt16_Type)Box_Enum_UInt16(value); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_UInt32(uint value); [TestCase(Box_Enum_UInt32_Type.Min, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, uint.MinValue, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] - [TestCase(Box_Enum_UInt32_Type.One, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, 1, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] + [TestCase(Box_Enum_UInt32_Type.One, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, 1U, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] [TestCase(Box_Enum_UInt32_Type.Max, new[] { "Enum_UInt32", "Box_Enum_UInt32" }, uint.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_UInt32_Type) })] - public static Box_Enum_UInt32_Type Enum_UInt32(uint value) - { - return (Box_Enum_UInt32_Type)Box_Enum_UInt32(value); - } + public static Box_Enum_UInt32_Type Enum_UInt32(uint value) => + (Box_Enum_UInt32_Type)Box_Enum_UInt32(value); [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Enum_UInt64(ulong value); From 51f3b9d58025a2e37afc64eb4249876f01f0ff0a Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:46:01 +0900 Subject: [PATCH 060/144] Fixed box opcode tests with explicitly type casting. --- tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs index 65bec9e5..105348cd 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Enum_Widing.cs @@ -52,11 +52,9 @@ public static Box_Enum_Int32_Type Enum_Int32_From_SByte(sbyte value) private static extern object Box_Enum_Int32_From_UInt16(ushort value); [TestCase((Box_Enum_Int32_Type)ushort.MinValue, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, ushort.MinValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - [TestCase((Box_Enum_Int32_Type)1, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, 1, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] + [TestCase((Box_Enum_Int32_Type)1, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, (ushort)1, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] [TestCase((Box_Enum_Int32_Type)ushort.MaxValue, new[] { "Enum_Int32_From_UInt16", "Box_Enum_Int32_From_UInt16" }, ushort.MaxValue, IncludeTypes = new[] { typeof(Box_Enum_Int32_Type) })] - public static Box_Enum_Int32_Type Enum_Int32_From_UInt16(ushort value) - { - return (Box_Enum_Int32_Type)Box_Enum_Int32_From_UInt16(value); - } + public static Box_Enum_Int32_Type Enum_Int32_From_UInt16(ushort value) => + (Box_Enum_Int32_Type)Box_Enum_Int32_From_UInt16(value); } } From 4a0d5464350dc33b1065c740a2cc4326c9dcbd78 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:46:48 +0900 Subject: [PATCH 061/144] Fixed box opcode tests with explicitly type casting. --- tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs index 6fd2054c..4ff0e5b4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Widing.cs @@ -45,11 +45,9 @@ public static int SByteToInt32(sbyte value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_UInt16ToInt32(ushort value); - [TestCase(1012345, new[] { "UInt16ToInt32", "Box_UInt16ToInt32" }, 12345)] - public static int UInt16ToInt32(ushort value) - { - return (int)Box_UInt16ToInt32(value) + 1000000; - } + [TestCase(1012345, new[] { "UInt16ToInt32", "Box_UInt16ToInt32" }, (ushort)12345)] + public static int UInt16ToInt32(ushort value) => + (int)Box_UInt16ToInt32(value) + 1000000; [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_BoolToInt32(bool value); From 7cbca3b5400e63ae1c96018074663d660b0644ac Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:52:04 +0900 Subject: [PATCH 062/144] Ignored break opcode in CoreCLR execution. --- tests/IL2C.Core.Test.ILConverters/Break/Break.cs | 9 +++++++-- tests/IL2C.Core.Test.ILConverters/Break/Break.il | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Break/Break.cs b/tests/IL2C.Core.Test.ILConverters/Break/Break.cs index 3a31b46c..00ff9ce4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Break/Break.cs +++ b/tests/IL2C.Core.Test.ILConverters/Break/Break.cs @@ -9,13 +9,18 @@ using System; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; namespace IL2C.ILConverters { public sealed class Break { - [TestCase(0, "CauseBreak", 100, 23, Assert = TestCaseAsserts.CauseBreak)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern int CauseBreak(int v1, int v2); + private static extern int CauseBreakImpl(int v1, int v2); + + [TestCase(0, "CauseBreak", 100, 23, Assert = TestCaseAsserts.CauseBreak)] + public static int CauseBreak(int v1, int v2) => + // In CoreCLR, break opcode will be ignored. + IL2CServices.IsInNativeExecution ? CauseBreakImpl(v1, v2) : 0; } } diff --git a/tests/IL2C.Core.Test.ILConverters/Break/Break.il b/tests/IL2C.Core.Test.ILConverters/Break/Break.il index eeac71b4..04fe9058 100644 --- a/tests/IL2C.Core.Test.ILConverters/Break/Break.il +++ b/tests/IL2C.Core.Test.ILConverters/Break/Break.il @@ -1,6 +1,6 @@ .class public IL2C.ILConverters.Break { - .method public static int32 CauseBreak(int32 v1, int32 v2) cil managed + .method private static int32 CauseBreakImpl(int32 v1, int32 v2) cil managed { .maxstack 2 ldarg.0 From ad3a8602cab180eb5f2c81a78e9c4cf19e650bbc Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 22:54:13 +0900 Subject: [PATCH 063/144] Fixed brfalse opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs | 7 +++++-- tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.il | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs index e60c1210..fb296c31 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.cs @@ -25,11 +25,14 @@ public sealed class Brfalse [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string IntPtrValueImpl(IntPtr v); + [TestCase("ABC", "IntPtrValue", 100)] [TestCase("DEF", "IntPtrValue", 0)] [TestCase("ABC", "IntPtrValue", -100)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string IntPtrValue(IntPtr v); + public static string IntPtrValue(int v) => + IntPtrValueImpl((IntPtr)v); [TestCase("ABC", "ObjectValue", "")] [TestCase("DEF", "ObjectValue", null!)] diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.il b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.il index cb735037..317203af 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.il +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse/Brfalse.il @@ -24,7 +24,7 @@ ret } - .method public static string IntPtrValue(native int v) cil managed + .method private static string IntPtrValueImpl(native int v) cil managed { .maxstack 2 ldarg.0 From 672e2b2234863ed6ebfefad9b13a02a6e2f63328 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 5 Jun 2022 23:01:02 +0900 Subject: [PATCH 064/144] Fixed brfalse.s opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs | 7 +++++-- tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.il | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs index 3b1b965a..87928c3c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.cs @@ -25,11 +25,14 @@ public sealed class Brfalse_s [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string IntPtrValueImpl(IntPtr v); + [TestCase("ABC", "IntPtrValue", 100)] [TestCase("DEF", "IntPtrValue", 0)] [TestCase("ABC", "IntPtrValue", -100)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string IntPtrValue(IntPtr v); + public static string IntPtrValue(int v) => + IntPtrValueImpl((IntPtr)v); [TestCase("ABC", "ObjectValue", "")] [TestCase("DEF", "ObjectValue", null!)] diff --git a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.il b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.il index 22e43aed..c0e6ca76 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Brfalse_s/Brfalse_s.il @@ -24,7 +24,7 @@ ret } - .method public static string IntPtrValue(native int v) cil managed + .method private static string IntPtrValueImpl(native int v) cil managed { .maxstack 2 ldarg.0 From 4b11f5c8d2e164a66fb0a0c565c43da2b76a9a71 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 15:07:53 +0900 Subject: [PATCH 065/144] Fixed failure for exception message assertion when environment isn't en-us. --- .../Properties/AssemblyInfo.cs | 12 +++++++ .../SetCultureAttribute.cs | 35 +++++++++++++++++++ .../Properties/AssemblyInfo.cs | 12 +++++++ .../NullReferenceExceptions.cs | 3 -- .../Properties/AssemblyInfo.cs | 12 +++++++ 5 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 tests/IL2C.Core.Test.BasicTypes/Properties/AssemblyInfo.cs create mode 100644 tests/IL2C.Core.Test.Common/SetCultureAttribute.cs create mode 100644 tests/IL2C.Core.Test.ILConverters/Properties/AssemblyInfo.cs create mode 100644 tests/IL2C.Core.Test.RuntimeSystems/Properties/AssemblyInfo.cs diff --git a/tests/IL2C.Core.Test.BasicTypes/Properties/AssemblyInfo.cs b/tests/IL2C.Core.Test.BasicTypes/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..9052f96f --- /dev/null +++ b/tests/IL2C.Core.Test.BasicTypes/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +using IL2C; + +[assembly: SetCulture("en-us")] diff --git a/tests/IL2C.Core.Test.Common/SetCultureAttribute.cs b/tests/IL2C.Core.Test.Common/SetCultureAttribute.cs new file mode 100644 index 00000000..ba99fc53 --- /dev/null +++ b/tests/IL2C.Core.Test.Common/SetCultureAttribute.cs @@ -0,0 +1,35 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +using System; +using System.Runtime.InteropServices; + +using NUnit.Framework; +using NUnit.Framework.Interfaces; +using NUnit.Framework.Internal; + +namespace IL2C +{ + [IgnoreTranslation] + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Assembly, AllowMultiple = false, Inherited = true)] + public sealed class SetCultureAttribute : PropertyAttribute, IApplyToContext + { + public readonly string CultureName; + + public SetCultureAttribute(string cultureName) => + this.CultureName = cultureName; + + public void ApplyToContext(TestExecutionContext context) + { + var culture = new System.Globalization.CultureInfo(this.CultureName, false); + context.CurrentCulture = culture; + context.CurrentUICulture = culture; + } + } +} diff --git a/tests/IL2C.Core.Test.ILConverters/Properties/AssemblyInfo.cs b/tests/IL2C.Core.Test.ILConverters/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..9052f96f --- /dev/null +++ b/tests/IL2C.Core.Test.ILConverters/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +using IL2C; + +[assembly: SetCulture("en-us")] diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs index 5e93ab64..f4fce288 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs @@ -8,9 +8,6 @@ //////////////////////////////////////////////////////////////////////////// using System; -using System.ComponentModel; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; namespace IL2C.RuntimeSystems { diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Properties/AssemblyInfo.cs b/tests/IL2C.Core.Test.RuntimeSystems/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..9052f96f --- /dev/null +++ b/tests/IL2C.Core.Test.RuntimeSystems/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +using IL2C; + +[assembly: SetCulture("en-us")] From a768abebff7905c9d7330cf33fe6f7e10e569778 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 15:12:53 +0900 Subject: [PATCH 066/144] Fixed brtrue opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs | 7 +++++-- tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.il | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs b/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs index 3eaa787c..4b396259 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.cs @@ -25,11 +25,14 @@ public sealed class Brtrue [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string IntPtrValueImpl(IntPtr v); + [TestCase("ABC", "IntPtrValue", 100)] [TestCase("DEF", "IntPtrValue", 0)] [TestCase("ABC", "IntPtrValue", -100)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string IntPtrValue(IntPtr v); + public static string IntPtrValue(int v) => + IntPtrValueImpl((IntPtr)v); [TestCase("ABC", "ObjectValue", "")] [TestCase("DEF", "ObjectValue", null!)] diff --git a/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.il b/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.il index b04ea0bd..df905c96 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.il +++ b/tests/IL2C.Core.Test.ILConverters/Brtrue/Brtrue.il @@ -24,7 +24,7 @@ ret } - .method public static string IntPtrValue(native int v) cil managed + .method private static string IntPtrValueImpl(native int v) cil managed { .maxstack 2 ldarg.0 From a8ec1d43e8af3362deba9f922483cb72317e3ff5 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 15:15:06 +0900 Subject: [PATCH 067/144] Fixed brtrue.s opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs | 7 +++++-- tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.il | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs b/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs index 42280321..5a62111a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.cs @@ -25,11 +25,14 @@ public sealed class Brtrue_s [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string Int32Value(int v); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string IntPtrValueImpl(IntPtr v); + [TestCase("ABC", "IntPtrValue", 100)] [TestCase("DEF", "IntPtrValue", 0)] [TestCase("ABC", "IntPtrValue", -100)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string IntPtrValue(IntPtr v); + public static string IntPtrValue(int v) => + IntPtrValueImpl((IntPtr)v); [TestCase("ABC", "ObjectValue", "")] [TestCase("DEF", "ObjectValue", null!)] diff --git a/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.il b/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.il index cf522f32..2fd26108 100644 --- a/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Brtrue_s/Brtrue_s.il @@ -24,7 +24,7 @@ ret } - .method public static string IntPtrValue(native int v) cil managed + .method private static string IntPtrValueImpl(native int v) cil managed { .maxstack 2 ldarg.0 From df7f349a6f873ee1c80b52c98c7746e9f1e4fe4b Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 15:29:22 +0900 Subject: [PATCH 068/144] Fixed conv.i opcode tests with IntPtr type. --- .../Conv_i/Conv_i.cs | 86 +++++++++++++------ .../Conv_i/Conv_i.il | 24 +++--- 2 files changed, 73 insertions(+), 37 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs index da972f36..11246195 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.cs @@ -14,52 +14,88 @@ namespace IL2C.ILConverters { public sealed class Conv_i { + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr SByteImpl(sbyte value); + [TestCase(123, "SByte", (sbyte)123)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr SByte(sbyte value); + public static int SByte(sbyte value) => + SByteImpl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int16Impl(short value); [TestCase(12345, "Int16", (short)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int16(short value); + public static int Int16(short value) => + Int16Impl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32Impl(int value); [TestCase(12345, "Int32", 12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32(int value); + public static int Int32(int value) => + Int32Impl(value).ToInt32(); - [TestCase(12345, "Int64", 12345L)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int64Impl(long value); + + [TestCase(12345L, "Int64", 12345L)] + public static long Int64(long value) => + Int64Impl(value).ToInt64(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(IntPtr value); [TestCase(12345, "IntPtr", 12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(IntPtr value); + public static int IntPtr(int value) => + IntPtrImpl((IntPtr)value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr ByteImpl(byte value); [TestCase(123, "Byte", (byte)123)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Byte(byte value); + public static int Byte(byte value) => + ByteImpl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr UInt16Impl(ushort value); [TestCase(12345, "UInt16", (ushort)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr UInt16(ushort value); + public static int UInt16(ushort value) => + UInt16Impl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr UInt32Impl(uint value); [TestCase(12345, "UInt32", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr UInt32(uint value); + public static int UInt32(uint value) => + UInt32Impl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr UInt64Impl(ulong value); [TestCase(12345, "UInt64", 12345UL)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr UInt64(ulong value); + public static int UInt64(ulong value) => + UInt64Impl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr UIntPtrImpl(UIntPtr value); [TestCase(12345, "UIntPtr", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr UIntPtr(UIntPtr value); + public static int UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr SingleImpl(float value); [TestCase(12345, "Single", 12345.67f)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Single(float value); + public static int Single(float value) => + SingleImpl(value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr DoubleImpl(double value); [TestCase(12345, "Double", 12345.67)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Double(double value); + public static int Double(double value) => + DoubleImpl(value).ToInt32(); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.il b/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.il index 7ca4301c..1ed6be5c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i/Conv_i.il @@ -1,6 +1,6 @@ .class public IL2C.ILConverters.Conv_i { - .method public static native int SByte(int8 v) cil managed + .method private static native int SByteImpl(int8 v) cil managed { .maxstack 1 ldarg.0 @@ -8,7 +8,7 @@ ret } - .method public static native int Int16(int16 v) cil managed + .method private static native int Int16Impl(int16 v) cil managed { .maxstack 1 ldarg.0 @@ -16,7 +16,7 @@ ret } - .method public static native int Int32(int32 v) cil managed + .method private static native int Int32Impl(int32 v) cil managed { .maxstack 1 ldarg.0 @@ -24,7 +24,7 @@ ret } - .method public static native int Int64(int64 v) cil managed + .method private static native int Int64Impl(int64 v) cil managed { .maxstack 1 ldarg.0 @@ -32,7 +32,7 @@ ret } - .method public static native int IntPtr(native int v) cil managed + .method private static native int IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -40,7 +40,7 @@ ret } - .method public static native int Byte(uint8 v) cil managed + .method private static native int ByteImpl(uint8 v) cil managed { .maxstack 1 ldarg.0 @@ -48,7 +48,7 @@ ret } - .method public static native int UInt16(uint16 v) cil managed + .method private static native int UInt16Impl(uint16 v) cil managed { .maxstack 1 ldarg.0 @@ -56,7 +56,7 @@ ret } - .method public static native int UInt32(uint32 v) cil managed + .method private static native int UInt32Impl(uint32 v) cil managed { .maxstack 1 ldarg.0 @@ -64,7 +64,7 @@ ret } - .method public static native int UInt64(uint64 v) cil managed + .method private static native int UInt64Impl(uint64 v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static native int UIntPtr(native uint v) cil managed + .method private static native int UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 @@ -80,7 +80,7 @@ ret } - .method public static native int Single(float32 v) cil managed + .method private static native int SingleImpl(float32 v) cil managed { .maxstack 1 ldarg.0 @@ -88,7 +88,7 @@ ret } - .method public static native int Double(float64 v) cil managed + .method private static native int DoubleImpl(float64 v) cil managed { .maxstack 1 ldarg.0 From faa639658426624a95b2ccee8a78880603dec4f6 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 15:33:25 +0900 Subject: [PATCH 069/144] Fixed conv.i1 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs index 546a05bd..654870e2 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.cs @@ -34,10 +34,13 @@ public sealed class Conv_i1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern sbyte IntPtrImpl(IntPtr value); + [TestCase((sbyte)123, "IntPtr", 123)] [TestCase(unchecked((sbyte)456), "IntPtr", 456)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern sbyte IntPtr(IntPtr value); + public static sbyte IntPtr(int value) => + IntPtrImpl((IntPtr)value); [TestCase((sbyte)123, "Byte", (byte)123)] [TestCase(unchecked((sbyte)0x80), "Byte", (byte)0x80)] @@ -59,9 +62,12 @@ public sealed class Conv_i1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern sbyte UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern sbyte UIntPtrImpl(UIntPtr value); + [TestCase(unchecked((sbyte)456789012), "UIntPtr", (uint)456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern sbyte UIntPtr(UIntPtr value); + public static sbyte UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((sbyte)123, "Single", 123.45f)] [TestCase(unchecked((sbyte)456), "Single", 456.78f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.il b/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.il index db4ea745..5cbc3e87 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i1/Conv_i1.il @@ -32,7 +32,7 @@ ret } - .method public static int8 IntPtr(native int v) cil managed + .method private static int8 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static int8 UIntPtr(native uint v) cil managed + .method private static int8 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From dc88a16431a18b8c9b67a285e48aadc69fa3e53a Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 15:55:00 +0900 Subject: [PATCH 070/144] Fixed conv.i2 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs index 43dd3af4..55e82f55 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.cs @@ -34,10 +34,13 @@ public sealed class Conv_i2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern short IntPtrImpl(IntPtr value); + [TestCase((short)12345, "IntPtr", 12345)] [TestCase(unchecked((short)45678), "IntPtr", 45678)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern short IntPtr(IntPtr value); + public static short IntPtr(int value) => + IntPtrImpl((IntPtr)value); [TestCase((short)123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] @@ -58,9 +61,12 @@ public sealed class Conv_i2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern short UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern short UIntPtrImpl(UIntPtr value); + [TestCase(unchecked((short)456789012), "UIntPtr", (uint)456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern short UIntPtr(UIntPtr value); + public static short UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((short)12345, "Single", 12345.67f)] [TestCase(unchecked((short)45678), "Single", 45678.91f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.il b/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.il index 5fe0e4ba..98af15f9 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i2/Conv_i2.il @@ -32,7 +32,7 @@ ret } - .method public static int16 IntPtr(native int v) cil managed + .method private static int16 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static int16 UIntPtr(native uint v) cil managed + .method private static int16 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From e88d97215b9ffdedb8cbefdfdb8ef3e0e391a75f Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 16:01:25 +0900 Subject: [PATCH 071/144] Fixed conv.i4 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs index 5208376c..8a7e1815 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.cs @@ -34,10 +34,13 @@ public sealed class Conv_i4 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern int IntPtrImpl(IntPtr value); + [TestCase(456789012, "IntPtr", 456789012)] //[TestCase(unchecked((int)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern int IntPtr(IntPtr value); + public static int IntPtr(long value) => + IntPtrImpl((IntPtr)value); [TestCase(123, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] @@ -57,9 +60,12 @@ public sealed class Conv_i4 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern int UIntPtrImpl(UIntPtr value); + [TestCase(456789012, "UIntPtr", (uint)456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern int UIntPtr(UIntPtr value); + public static int UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase(456789, "Single", 456789.012f)] [TestCase(unchecked((int)456789.012f), "Single", 456789.012f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.il b/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.il index 454eb403..2c359a74 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i4/Conv_i4.il @@ -32,7 +32,7 @@ ret } - .method public static int32 IntPtr(native int v) cil managed + .method private static int32 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static int32 UIntPtr(native uint v) cil managed + .method private static int32 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From e997dccef0d30e1a22f8faa7737daf708286a8dd Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 18:25:39 +0900 Subject: [PATCH 072/144] Fixed conv.i8 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs b/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs index a265c416..a5f7a3ef 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.cs @@ -34,11 +34,14 @@ public sealed class Conv_i8 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern long IntPtrImpl(IntPtr value); + [TestCase(456789012L, "IntPtr", 456789012)] //[TestCase(unchecked((int)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) [TestCase(-456789012L, "IntPtr", -456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern long IntPtr(IntPtr value); + public static long IntPtr(long value) => + IntPtrImpl((IntPtr)value); [TestCase(123L, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] @@ -57,9 +60,12 @@ public sealed class Conv_i8 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern long UIntPtrImpl(UIntPtr value); + [TestCase(456789012L, "UIntPtr", (uint)456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern long UIntPtr(UIntPtr value); + public static long UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((long)45678900000.56f, "Single", 45678900000.56f)] [TestCase((long)-45678900000.56f, "Single", -45678900000.56f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.il b/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.il index ea76cef2..e447bde5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_i8/Conv_i8.il @@ -32,7 +32,7 @@ ret } - .method public static int64 IntPtr(native int v) cil managed + .method private static int64 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static int64 UIntPtr(native uint v) cil managed + .method private static int64 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From e87924be44d0b01d9f37b140de88a9759fb26fb9 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 18:28:40 +0900 Subject: [PATCH 073/144] Fixed conv.r4 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs b/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs index df899484..5fb72466 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.cs @@ -34,11 +34,14 @@ public sealed class Conv_r4 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern float IntPtrImpl(IntPtr value); + [TestCase((float)456789012, "IntPtr", 456789012)] //[TestCase(unchecked((float)4567890123L), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) [TestCase((float)-456789012, "IntPtr", -456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern float IntPtr(IntPtr value); + public static float IntPtr(long value) => + IntPtrImpl((IntPtr)value); [TestCase(123f, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] @@ -56,9 +59,12 @@ public sealed class Conv_r4 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern float UIntPtrImpl(UIntPtr value); + [TestCase((float)456789012, "UIntPtr", (uint)456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern float UIntPtr(UIntPtr value); + public static float UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase(456789.012f, "Single", 456789.012f)] [TestCase(-456789.012f, "Single", -456789.012f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.il b/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.il index 6a9346f5..c9a79c37 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_r4/Conv_r4.il @@ -32,7 +32,7 @@ ret } - .method public static float32 IntPtr(native int v) cil managed + .method private static float32 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static float32 UIntPtr(native uint v) cil managed + .method private static float32 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From e5520e29542fe2ec1c035dd9dfe1953957013506 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 18:31:53 +0900 Subject: [PATCH 074/144] Fixed conv.r8 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs b/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs index ad278073..ff093e15 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.cs @@ -34,11 +34,14 @@ public sealed class Conv_r8 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern double IntPtrImpl(IntPtr value); + [TestCase(456789012.0, "IntPtr", 456789012)] //[TestCase(unchecked(4567890123.0), "IntPtr", 4567890123L)] // Will cause overflow on 32bit test environment (IntPtr.Size == 4) [TestCase(-456789012.0, "IntPtr", -456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double IntPtr(IntPtr value); + public static double IntPtr(long value) => + IntPtrImpl((IntPtr)value); [TestCase(123.0, "Byte", (byte)123)] [MethodImpl(MethodImplOptions.ForwardRef)] @@ -56,9 +59,12 @@ public sealed class Conv_r8 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern double UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern double UIntPtrImpl(UIntPtr value); + [TestCase(456789012.0, "UIntPtr", (uint)456789012)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double UIntPtr(UIntPtr value); + public static double UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((double)456789.012f, "Single", 456789.012f)] [TestCase((double)-456789.012f, "Single", -456789.012f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.il b/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.il index 5ead5043..0f2c4adb 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_r8/Conv_r8.il @@ -32,7 +32,7 @@ ret } - .method public static float64 IntPtr(native int v) cil managed + .method private static float64 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static float64 UIntPtr(native uint v) cil managed + .method private static float64 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From 2f9c071cf764b92f83b04a2118c74688ff55e297 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 20:29:04 +0900 Subject: [PATCH 075/144] Fixed conv.u opcode tests with IntPtr type. --- .../Conv_u/Conv_u.cs | 84 +++++++++++++------ .../Conv_u/Conv_u.il | 24 +++--- 2 files changed, 72 insertions(+), 36 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs index e5ec13a0..a5af0125 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.cs @@ -14,52 +14,88 @@ namespace IL2C.ILConverters { public sealed class Conv_u { + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr SByteImpl(sbyte value); + [TestCase((uint)123, "SByte", (sbyte)123)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr SByte(sbyte value); + public static uint SByte(sbyte value) => + SByteImpl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr Int16Impl(short value); [TestCase((uint)12345, "Int16", (short)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr Int16(short value); + public static uint Int16(short value) => + Int16Impl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr Int32Impl(int value); [TestCase((uint)12345, "Int32", 12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr Int32(int value); + public static uint Int32(int value) => + Int32Impl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr Int64Impl(long value); [TestCase((uint)12345, "Int64", 12345L)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr Int64(long value); + public static uint Int64(long value) => + Int64Impl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr IntPtrImpl(IntPtr value); [TestCase((uint)12345, "IntPtr", 12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr IntPtr(IntPtr value); + public static uint IntPtr(int value) => + IntPtrImpl((IntPtr)value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr ByteImpl(byte value); [TestCase((uint)123, "Byte", (byte)123)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr Byte(byte value); + public static uint Byte(byte value) => + ByteImpl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UInt16Impl(ushort value); [TestCase((uint)12345, "UInt16", (ushort)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UInt16(ushort value); + public static uint UInt16(ushort value) => + UInt16Impl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UInt32Impl(uint value); [TestCase((uint)12345, "UInt32", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UInt32(uint value); + public static uint UInt32(uint value) => + UInt32Impl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UInt64Impl(ulong value); [TestCase((uint)12345, "UInt64", 12345UL)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UInt64(ulong value); + public static uint UInt64(ulong value) => + UInt64Impl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(UIntPtr value); [TestCase((uint)12345, "UIntPtr", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(UIntPtr value); + public static uint UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr SingleImpl(float value); [TestCase((uint)12345, "Single", 12345.67f)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr Single(float value); + public static uint Single(float value) => + SingleImpl(value).ToUInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern UIntPtr DoubleImpl(double value); [TestCase((uint)12345, "Double", 12345.67)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr Double(double value); + public static uint Double(double value) => + DoubleImpl(value).ToUInt32(); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.il b/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.il index a37a4f4b..a8cec8d5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u/Conv_u.il @@ -1,6 +1,6 @@ .class public IL2C.ILConverters.Conv_u { - .method public static native uint SByte(int8 v) cil managed + .method private static native uint SByteImpl(int8 v) cil managed { .maxstack 1 ldarg.0 @@ -8,7 +8,7 @@ ret } - .method public static native uint Int16(int16 v) cil managed + .method private static native uint Int16Impl(int16 v) cil managed { .maxstack 1 ldarg.0 @@ -16,7 +16,7 @@ ret } - .method public static native uint Int32(int32 v) cil managed + .method private static native uint Int32Impl(int32 v) cil managed { .maxstack 1 ldarg.0 @@ -24,7 +24,7 @@ ret } - .method public static native uint Int64(int64 v) cil managed + .method private static native uint Int64Impl(int64 v) cil managed { .maxstack 1 ldarg.0 @@ -32,7 +32,7 @@ ret } - .method public static native uint IntPtr(native int v) cil managed + .method private static native uint IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -40,7 +40,7 @@ ret } - .method public static native uint Byte(uint8 v) cil managed + .method private static native uint ByteImpl(uint8 v) cil managed { .maxstack 1 ldarg.0 @@ -48,7 +48,7 @@ ret } - .method public static native uint UInt16(uint16 v) cil managed + .method private static native uint UInt16Impl(uint16 v) cil managed { .maxstack 1 ldarg.0 @@ -56,7 +56,7 @@ ret } - .method public static native uint UInt32(uint32 v) cil managed + .method private static native uint UInt32Impl(uint32 v) cil managed { .maxstack 1 ldarg.0 @@ -64,7 +64,7 @@ ret } - .method public static native uint UInt64(uint64 v) cil managed + .method private static native uint UInt64Impl(uint64 v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static native uint UIntPtr(native uint v) cil managed + .method private static native uint UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 @@ -80,7 +80,7 @@ ret } - .method public static native uint Single(float32 v) cil managed + .method private static native uint SingleImpl(float32 v) cil managed { .maxstack 1 ldarg.0 @@ -88,7 +88,7 @@ ret } - .method public static native uint Double(float64 v) cil managed + .method private static native uint DoubleImpl(float64 v) cil managed { .maxstack 1 ldarg.0 From bc0633fb7beeced1e7784bf93024ae772c915651 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 23:29:22 +0900 Subject: [PATCH 076/144] Fixed conv.u1 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs index 4bde0b38..5534a0e6 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.cs @@ -36,10 +36,13 @@ public sealed class Conv_u1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern byte IntPtrImpl(IntPtr value); + [TestCase((byte)123, "IntPtr", 123)] [TestCase(unchecked((byte)456), "IntPtr", 456)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern byte IntPtr(IntPtr value); + public static byte IntPtr(int value) => + IntPtrImpl((IntPtr)value); [TestCase((byte)123, "SByte", (sbyte)123)] [TestCase(unchecked((byte)-123), "SByte", (sbyte)-123)] @@ -58,9 +61,12 @@ public sealed class Conv_u1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern byte UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern byte UIntPtrImpl(UIntPtr value); + [TestCase((byte)123, "UIntPtr", (uint)123)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern byte UIntPtr(UIntPtr value); + public static byte UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((byte)123, "Single", 123.45f)] [TestCase(unchecked((byte)456), "Single", 456.78f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.il b/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.il index d278b811..3f8ad0f6 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u1/Conv_u1.il @@ -32,7 +32,7 @@ ret } - .method public static uint8 IntPtr(native int v) cil managed + .method private static uint8 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static uint8 UIntPtr(native uint v) cil managed + .method private static uint8 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From 89defd0374f64a64fb4735ad227445b0cabf8ffc Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 23:31:54 +0900 Subject: [PATCH 077/144] Fixed conv.u2 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs index 7217475e..e7de2355 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.cs @@ -35,10 +35,13 @@ public sealed class Conv_u2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern ushort IntPtrImpl(IntPtr value); + [TestCase((ushort)12345, "IntPtr", 12345)] [TestCase(unchecked((ushort)45678), "IntPtr", 45678)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern ushort IntPtr(IntPtr value); + public static ushort IntPtr(int value) => + IntPtrImpl((IntPtr)value); [TestCase((ushort)123, "SByte", (sbyte)123)] [TestCase(unchecked((ushort)-123), "SByte", (sbyte)-123)] @@ -57,9 +60,12 @@ public sealed class Conv_u2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ushort UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern ushort UIntPtrImpl(UIntPtr value); + [TestCase((ushort)12345, "UIntPtr", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern ushort UIntPtr(UIntPtr value); + public static ushort UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((ushort)12345, "Single", 12345.67f)] [TestCase(unchecked((ushort)45678), "Single", 45678.91f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.il b/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.il index f5f910f3..3d8106d4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u2/Conv_u2.il @@ -32,7 +32,7 @@ ret } - .method public static uint16 IntPtr(native int v) cil managed + .method private static uint16 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static uint16 UIntPtr(native uint v) cil managed + .method private static uint16 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From 028018564cb709e1472fae9d89b3a5c985cb7973 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 23:34:14 +0900 Subject: [PATCH 078/144] Fixed conv.u4 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs index 52d24056..f6383702 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.cs @@ -33,10 +33,13 @@ public sealed class Conv_u4 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern uint IntPtrImpl(IntPtr value); + [TestCase((uint)12345, "IntPtr", 12345)] [TestCase(unchecked((uint)-45678), "IntPtr", -45678)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern uint IntPtr(IntPtr value); + public static uint IntPtr(int value) => + IntPtrImpl((IntPtr)value); [TestCase((uint)123, "SByte", (sbyte)123)] [TestCase(unchecked((uint)-123), "SByte", (sbyte)-123)] @@ -55,9 +58,12 @@ public sealed class Conv_u4 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern uint UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern uint UIntPtrImpl(UIntPtr value); + [TestCase((uint)12345, "UIntPtr", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern uint UIntPtr(UIntPtr value); + public static uint UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((uint)12345.67f, "Single", 12345.67f)] [TestCase(unchecked((uint)(int)-45678.91f), "Single", -45678.91f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.il b/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.il index 1a7265d1..7ba1c417 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u4/Conv_u4.il @@ -32,7 +32,7 @@ ret } - .method public static uint32 IntPtr(native int v) cil managed + .method private static uint32 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static uint32 UIntPtr(native uint v) cil managed + .method private static uint32 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From 79f0a218fcd167e4178cf9eef435bfd4a16c46f5 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 23:37:37 +0900 Subject: [PATCH 079/144] Fixed conv.u8 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs b/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs index e2e97485..623edc64 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.cs @@ -33,10 +33,13 @@ public sealed class Conv_u8 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong Int64(long value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern ulong IntPtrImpl(IntPtr value); + [TestCase((ulong)12345, "IntPtr", 12345)] //[TestCase(unchecked((ulong)(uint)-45678), "IntPtr", -45678)] // Different result on both 32/64bit test environment - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern ulong IntPtr(IntPtr value); + public static ulong IntPtr(int value) => + IntPtrImpl((IntPtr)value); [TestCase((ulong)123, "SByte", (sbyte)123)] [TestCase(unchecked((ulong)(uint)-123), "SByte", (sbyte)-123)] @@ -55,9 +58,12 @@ public sealed class Conv_u8 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern ulong UIntPtrImpl(UIntPtr value); + [TestCase((ulong)12345, "UIntPtr", (uint)12345)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern ulong UIntPtr(UIntPtr value); + public static ulong UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value); [TestCase((ulong)12345.67f, "Single", 12345.67f)] [TestCase(unchecked((ulong)(long)-45678.91f), "Single", -45678.91f)] diff --git a/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.il b/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.il index 8f0a1bd0..6feeb196 100644 --- a/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.il +++ b/tests/IL2C.Core.Test.ILConverters/Conv_u8/Conv_u8.il @@ -32,7 +32,7 @@ ret } - .method public static uint64 IntPtr(native int v) cil managed + .method private static uint64 IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -72,7 +72,7 @@ ret } - .method public static uint64 UIntPtr(native uint v) cil managed + .method private static uint64 UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From c7581eaea5bb912107ee7ade407f31f6c27838ce Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 23:42:22 +0900 Subject: [PATCH 080/144] Fixed div opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Div/Div.cs | 21 ++- tests/IL2C.Core.Test.ILConverters/Div/Div.il | 142 +++++++++---------- 2 files changed, 86 insertions(+), 77 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Div/Div.cs b/tests/IL2C.Core.Test.ILConverters/Div/Div.cs index dfbfdbfb..42a776c5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Div/Div.cs +++ b/tests/IL2C.Core.Test.ILConverters/Div/Div.cs @@ -18,21 +18,30 @@ public sealed class Div [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(12, "Int32_IntPtr", 288, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(12L, "Int64_Int64", 288L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(12, "IntPtr_Int32", 288, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(12, "IntPtr_IntPtr", 288, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); [TestCase(123.0f / 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Div/Div.il b/tests/IL2C.Core.Test.ILConverters/Div/Div.il index b08d49c3..4d6a1a44 100644 --- a/tests/IL2C.Core.Test.ILConverters/Div/Div.il +++ b/tests/IL2C.Core.Test.ILConverters/Div/Div.il @@ -1,83 +1,83 @@ .class public IL2C.ILConverters.Div { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } - .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - div - ret - } + .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + div + ret + } } From 507e1365e4cc33336c4e00a4204c16535fa12408 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Mon, 6 Jun 2022 23:43:14 +0900 Subject: [PATCH 081/144] Fixed perfect match instead ignore rule. --- tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs b/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs index cd9c7553..f397cd98 100644 --- a/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs +++ b/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.cs @@ -15,11 +15,11 @@ namespace IL2C.ILConverters public sealed class Isinst { [TestCase("ABCDEF", "ConcatIfString", "ABC")] - [TestCase(null, "ConcatIfString", 123)] + [TestCase(null, "ConcatIfString", 123, Assert = TestCaseAsserts.PerfectMatch)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ConcatIfString(object value); - [TestCase(null, "ToStringIfInt32", "ABC")] + [TestCase(null, "ToStringIfInt32", "ABC", Assert = TestCaseAsserts.PerfectMatch)] [TestCase("123", "ToStringIfInt32", 123)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string ToStringIfInt32(object value); From a9d8bee8a811e3348506d300f302eb30e111cb97 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 09:03:16 +0900 Subject: [PATCH 082/144] Fixed ldarg opcode tests with IntPtr type. --- .../Ldarg/Ldarg.cs | 20 +++++++++++++------ .../Ldarg/Ldarg.il | 4 ++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs index 709b3ba6..2058c478 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.cs @@ -60,15 +60,23 @@ public static extern uint UInt32_4( public static extern ulong UInt64_4( int arg0, int arg1, int arg2, int arg3, ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_4Impl( + int arg0, int arg1, int arg2, int arg3, IntPtr num); + [TestCase(int.MaxValue - 1, "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_4( - int arg0, int arg1, int arg2, int arg3, IntPtr num); + public static int IntPtr_4( + int arg0, int arg1, int arg2, int arg3, int num) => + IntPtr_4Impl(arg0, arg1, arg2, arg3, (IntPtr)num).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtr_4Impl( + int arg0, int arg1, int arg2, int arg3, UIntPtr num); [TestCase(uint.MaxValue - 1, "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr_4( - int arg0, int arg1, int arg2, int arg3, UIntPtr num); + public static uint UIntPtr_4( + int arg0, int arg1, int arg2, int arg3, uint num) => + UIntPtr_4Impl(arg0, arg1, arg2, arg3, (UIntPtr)num).ToUInt32(); [TestCase((float)((double)123.45f + (double)3.14159274f), "Single_4", 0, 1, 2, 3, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.il b/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.il index 9c77258b..8be81a3f 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg/Ldarg.il @@ -96,7 +96,7 @@ ret } - .method public static native int IntPtr_4( + .method private static native int IntPtr_4Impl( int32 arg0, int32 arg1, int32 arg2, int32 arg3, native int num) cil managed { .maxstack 2 @@ -106,7 +106,7 @@ ret } - .method public static native uint UIntPtr_4( + .method private static native uint UIntPtr_4Impl( int32 arg0, int32 arg1, int32 arg2, int32 arg3, native uint num) cil managed { .maxstack 2 From 76e465e0971d65cda52551372d5f4a089c74bc64 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 09:06:05 +0900 Subject: [PATCH 083/144] Fixed ldarg.0 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs index 41e9d7e4..0e622665 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.cs @@ -51,13 +51,19 @@ public sealed class Ldarg_0 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(IntPtr num); + [TestCase(int.MaxValue - 1, "IntPtr", int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(IntPtr num); + public static int IntPtr(int num) => + IntPtrImpl((IntPtr)num).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(UIntPtr num); [TestCase(uint.MaxValue - 1, "UIntPtr", uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(UIntPtr num); + public static uint UIntPtr(uint num) => + UIntPtrImpl((UIntPtr)num).ToUInt32(); [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.il b/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.il index b052b5a6..da231719 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_0/Ldarg_0.il @@ -87,7 +87,7 @@ ret } - .method public static native int IntPtr(native int num) cil managed + .method private static native int IntPtrImpl(native int num) cil managed { .maxstack 2 ldarg.0 @@ -96,7 +96,7 @@ ret } - .method public static native uint UIntPtr(native uint num) cil managed + .method private static native uint UIntPtrImpl(native uint num) cil managed { .maxstack 2 ldarg.0 From 46dac9f4dad06d8e0b713e67414b2cfba880a340 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 09:10:22 +0900 Subject: [PATCH 084/144] Fixed ldarg.1 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs index 5993b5c8..db9982e7 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.cs @@ -51,13 +51,19 @@ public sealed class Ldarg_1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(int arg0, ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(int arg0, IntPtr num); + [TestCase(int.MaxValue - 1, "IntPtr", 123, int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(int arg0, IntPtr num); + public static int IntPtr(int arg0, int num) => + IntPtrImpl(arg0, (IntPtr)num).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(int arg0, UIntPtr num); [TestCase(uint.MaxValue - 1, "UIntPtr", 123, uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(int arg0, UIntPtr num); + public static uint UIntPtr(int arg0, uint num) => + UIntPtrImpl(arg0, (UIntPtr)num).ToUInt32(); [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.il b/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.il index 646cd1b1..b5999d8b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_1/Ldarg_1.il @@ -87,7 +87,7 @@ ret } - .method public static native int IntPtr(int32 arg0, native int num) cil managed + .method private static native int IntPtrImpl(int32 arg0, native int num) cil managed { .maxstack 2 ldarg.1 @@ -96,7 +96,7 @@ ret } - .method public static native uint UIntPtr(int32 arg0, native uint num) cil managed + .method private static native uint UIntPtrImpl(int32 arg0, native uint num) cil managed { .maxstack 2 ldarg.1 From 2340a08afed1d43fa909f1fb9872a50b31cd7600 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 09:13:40 +0900 Subject: [PATCH 085/144] Fixed IntPtr.Size type is int32_t instead size_t. --- src/IL2C.Runtime/include/System/IntPtr.h | 2 +- src/IL2C.Runtime/include/System/UIntPtr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Runtime/include/System/IntPtr.h b/src/IL2C.Runtime/include/System/IntPtr.h index 4cd8da8e..07a833fa 100644 --- a/src/IL2C.Runtime/include/System/IntPtr.h +++ b/src/IL2C.Runtime/include/System/IntPtr.h @@ -41,7 +41,7 @@ extern intptr_t* System_IntPtr_Zero_REF__; #define System_IntPtr_ToInt32(this__) ((int32_t)*(this__)) #define System_IntPtr_ToInt64(this__) ((int64_t)*(this__)) -#define System_IntPtr_get_Size() (sizeof(intptr_t)) +#define System_IntPtr_get_Size() ((int32_t)sizeof(intptr_t)) #define System_IntPtr_op_Explicit__System_Int32(value) ((intptr_t)(value)) #define System_IntPtr_op_Explicit__System_Int64(value) ((intptr_t)(value)) diff --git a/src/IL2C.Runtime/include/System/UIntPtr.h b/src/IL2C.Runtime/include/System/UIntPtr.h index 4335152b..27c9aea3 100644 --- a/src/IL2C.Runtime/include/System/UIntPtr.h +++ b/src/IL2C.Runtime/include/System/UIntPtr.h @@ -37,7 +37,7 @@ extern /* virtual */ bool System_UIntPtr_Equals__System_Object(uintptr_t* this__ #define System_UIntPtr_ToUInt32(this__) ((uint32_t)*(this__)) #define System_UIntPtr_ToUInt64(this__) ((uint64_t)*(this__)) -#define System_UIntPtr_get_Size() (sizeof(uintptr_t)) +#define System_UIntPtr_get_Size() ((int32_t)sizeof(uintptr_t)) #define System_UIntPtr_op_Explicit__System_UInt32(value) ((uintptr_t)(value)) #define System_UIntPtr_op_Explicit__System_UInt64(value) ((uintptr_t)(value)) From d7d75940b55e54cf006e95bc0f94dd6a86edecc1 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 09:17:48 +0900 Subject: [PATCH 086/144] Fixed ldarg.2 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs index 2d7a76f7..b1b7d9a8 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.cs @@ -51,13 +51,19 @@ public sealed class Ldarg_2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(int arg0, int arg1, ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(int arg0, int arg1, IntPtr num); + [TestCase(int.MaxValue - 1, "IntPtr", 123, 45, int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(int arg0, int arg1, IntPtr num); + public static int IntPtr(int arg0, int arg1, int num) => + IntPtrImpl(arg0, arg1, (IntPtr)num).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(int arg0, int arg1, UIntPtr num); [TestCase(uint.MaxValue - 1, "UIntPtr", 123, 45, uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(int arg0, int arg1, UIntPtr num); + public static uint UIntPtr(int arg0, int arg1, uint num) => + UIntPtrImpl(arg0, arg1, (UIntPtr)num).ToUInt32(); [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 45, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.il b/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.il index 73be69d4..1c8816ab 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_2/Ldarg_2.il @@ -87,7 +87,7 @@ ret } - .method public static native int IntPtr(int32 arg0, int32 arg1, native int num) cil managed + .method private static native int IntPtrImpl(int32 arg0, int32 arg1, native int num) cil managed { .maxstack 2 ldarg.2 @@ -96,7 +96,7 @@ ret } - .method public static native uint UIntPtr(int32 arg0, int32 arg1, native uint num) cil managed + .method private static native uint UIntPtrImpl(int32 arg0, int32 arg1, native uint num) cil managed { .maxstack 2 ldarg.2 From ad71a1d9677e92c199c390af5cd6cef035a0c342 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 09:52:12 +0900 Subject: [PATCH 087/144] Fixed ldarg.3 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs index 8b73090d..3a7c7bee 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.cs @@ -51,13 +51,19 @@ public sealed class Ldarg_3 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(int arg0, int arg1, int arg2, ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(int arg0, int arg1, int arg2, IntPtr num); + [TestCase(int.MaxValue - 1, "IntPtr", 123, 45, 6, int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(int arg0, int arg1, int arg2, IntPtr num); + public static int IntPtr(int arg0, int arg1, int arg2, int num) => + IntPtrImpl(arg0, arg1, arg2, (IntPtr)num).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(int arg0, int arg1, int arg2, UIntPtr num); [TestCase(uint.MaxValue - 1, "UIntPtr", 123, 45, 6, uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(int arg0, int arg1, int arg2, UIntPtr num); + public static uint UIntPtr(int arg0, int arg1, int arg2, uint num) => + UIntPtrImpl(arg0, arg1, arg2, (UIntPtr)num).ToUInt32(); [TestCase((float)((double)123.45f + (double)3.14159274f), "Single", 123, 45, 6, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.il b/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.il index d1f52840..b1079f2e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_3/Ldarg_3.il @@ -87,7 +87,7 @@ ret } - .method public static native int IntPtr(int32 arg0, int32 arg1, int32 arg2, native int num) cil managed + .method private static native int IntPtrImpl(int32 arg0, int32 arg1, int32 arg2, native int num) cil managed { .maxstack 2 ldarg.3 @@ -96,7 +96,7 @@ ret } - .method public static native uint UIntPtr(int32 arg0, int32 arg1, int32 arg2, native uint num) cil managed + .method private static native uint UIntPtrImpl(int32 arg0, int32 arg1, int32 arg2, native uint num) cil managed { .maxstack 2 ldarg.3 From 37a68d720fa20ccff9cd00b9786df6b4685775a7 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 18:48:18 +0900 Subject: [PATCH 088/144] Fixed ldarg.s opcode tests with IntPtr type. --- .../Ldarg_s/Ldarg_s.cs | 20 +++++++++++++------ .../Ldarg_s/Ldarg_s.il | 4 ++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs index f106dadb..8df795ac 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.cs @@ -60,15 +60,23 @@ public static extern uint UInt32_4( public static extern ulong UInt64_4( int arg0, int arg1, int arg2, int arg3, ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_4Impl( + int arg0, int arg1, int arg2, int arg3, IntPtr num); + [TestCase(int.MaxValue - 1, "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_4( - int arg0, int arg1, int arg2, int arg3, IntPtr num); + public static int IntPtr_4( + int arg0, int arg1, int arg2, int arg3, int num) => + IntPtr_4Impl(arg0, arg1, arg2, arg3, (IntPtr)num).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtr_4Impl( + int arg0, int arg1, int arg2, int arg3, UIntPtr num); [TestCase(uint.MaxValue - 1, "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr_4( - int arg0, int arg1, int arg2, int arg3, UIntPtr num); + public static uint UIntPtr_4( + int arg0, int arg1, int arg2, int arg3, uint num) => + UIntPtr_4Impl(arg0, arg1, arg2, arg3, (UIntPtr)num).ToUInt32(); [TestCase((float)((double)123.45f + (double)3.14159274f), "Single_4", 0, 1, 2, 3, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.il b/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.il index 1b570384..b7857907 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarg_s/Ldarg_s.il @@ -96,7 +96,7 @@ ret } - .method public static native int IntPtr_4( + .method private static native int IntPtr_4Impl( int32 arg0, int32 arg1, int32 arg2, int32 arg3, native int num) cil managed { .maxstack 2 @@ -106,7 +106,7 @@ ret } - .method public static native uint UIntPtr_4( + .method private static native uint UIntPtr_4Impl( int32 arg0, int32 arg1, int32 arg2, int32 arg3, native uint num) cil managed { .maxstack 2 From c85a67e5dfbed68e362404e98dbf01ca47df2bd2 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 18:51:20 +0900 Subject: [PATCH 089/144] Fixed ldarga.s opcode tests with IntPtr type. --- .../Ldarga_s/Ldarga_s.cs | 20 +++++++++++++------ .../Ldarga_s/Ldarga_s.il | 4 ++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs index 55a7cc15..32cba5e0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.cs @@ -60,15 +60,23 @@ public static extern string UInt32_4( public static extern string UInt64_4( int arg0, int arg1, int arg2, int arg3, ulong num); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string IntPtr_4Impl( + int arg0, int arg1, int arg2, int arg3, IntPtr num); + [TestCase("2147483647", "IntPtr_4", 0, 1, 2, 3, int.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string IntPtr_4( - int arg0, int arg1, int arg2, int arg3, IntPtr num); + public static string IntPtr_4( + int arg0, int arg1, int arg2, int arg3, int num) => + IntPtr_4Impl(arg0, arg1, arg2, arg3, (IntPtr)num); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string UIntPtr_4Impl( + int arg0, int arg1, int arg2, int arg3, UIntPtr num); [TestCase("4294967295", "UIntPtr_4", 0, 1, 2, 3, uint.MaxValue)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string UIntPtr_4( - int arg0, int arg1, int arg2, int arg3, UIntPtr num); + public static string UIntPtr_4( + int arg0, int arg1, int arg2, int arg3, uint num) => + UIntPtr_4Impl(arg0, arg1, arg2, arg3, (UIntPtr)num); [TestCase("123.45", "Single_4", 0, 1, 2, 3, 123.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.il b/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.il index c9447bfe..45442f03 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldarga_s/Ldarga_s.il @@ -81,7 +81,7 @@ ret } - .method public static string IntPtr_4( + .method private static string IntPtr_4Impl( int32 arg0, int32 arg1, int32 arg2, int32 arg3, native int num) cil managed { .maxstack 1 @@ -90,7 +90,7 @@ ret } - .method public static string UIntPtr_4( + .method private static string UIntPtr_4Impl( int32 arg0, int32 arg1, int32 arg2, int32 arg3, native uint num) cil managed { .maxstack 1 From 977320fee4cdc1b4778a55ba21c338c47d8b7c39 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 18:54:13 +0900 Subject: [PATCH 090/144] Fixed ldloc.0 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs index df15083a..a7d4e0c0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.cs @@ -54,13 +54,19 @@ public sealed class Ldloc_0 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.il b/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.il index 86e712e1..5b1f8e15 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_0/Ldloc_0.il @@ -122,7 +122,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -135,7 +135,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 7c20c388f957afd15fdd4ac01207748733a2da91 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 18:56:59 +0900 Subject: [PATCH 091/144] Fixed ldloc.1 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs index 6146fd38..1e99037c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.cs @@ -54,13 +54,19 @@ public sealed class Ldloc_1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.il b/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.il index 0f5cc3be..ec7fb8c6 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_1/Ldloc_1.il @@ -132,7 +132,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -146,7 +146,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 9f668c9555914e5d6110de0b66e315af8ce32c0f Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 18:59:29 +0900 Subject: [PATCH 092/144] Fixed ldloc.2 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs index e650eba3..1f61e3b6 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.cs @@ -54,13 +54,19 @@ public sealed class Ldloc_2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.il b/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.il index 3d794dee..8ed1544e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_2/Ldloc_2.il @@ -142,7 +142,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -157,7 +157,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From a6b1bccbf0ebe8b481e1a1b37c9567c8cc9e46fb Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:01:38 +0900 Subject: [PATCH 093/144] Fixed ldloc.3 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs index dd4c9703..27190eaa 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.cs @@ -54,13 +54,19 @@ public sealed class Ldloc_3 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.il b/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.il index 5ea857f9..7d509677 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_3/Ldloc_3.il @@ -152,7 +152,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -168,7 +168,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 565db4cd9bf4a770ddd8506b18748fe46839aa71 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:04:22 +0900 Subject: [PATCH 094/144] Fixed ldloc.s opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs index e5a1cb8e..21555ca2 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.cs @@ -54,13 +54,19 @@ public sealed class Ldloc_s [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.il b/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.il index 0d64c83d..7a371ade 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldloc_s/Ldloc_s.il @@ -162,7 +162,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -179,7 +179,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 9f9c4ac081e61ec8fd2a9b17508a6120f4408b51 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:13:13 +0900 Subject: [PATCH 095/144] Fixed ldloca.s test contains depending fxclr's poor floating point precision. --- .../Ldloca_s/Ldloca_s.cs | 29 ++++++++++++------- .../Ldloca_s/Ldloca_s.il | 4 +-- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs b/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs index a9d86ac9..f66bff52 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.cs @@ -9,6 +9,7 @@ using System; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; namespace IL2C.ILConverters { @@ -62,23 +63,29 @@ public sealed class Ldloca_s [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string UIntPtr(); -#if NET50 || NET60 - [TestCase("3.1415927", "Single")] // Lost last 1 digits via ToString conversion. + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string SingleImpl(); + + [TestCase("3.1415927", "Single")] + public static string Single() => +#if NETFRAMEWORK + // Ignore validation because .NET Framework CLR precision is poor. + IL2CServices.IsInNativeExecution ? SingleImpl() : "3.1415927"; #else - // Ignore validation because .NET Framework CLR precision is poor. - [TestCase("3.1415927", "Single", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Lost last 1 digits via ToString conversion. + SingleImpl(); #endif - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string Single(); -#if NET50 || NET60 + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern string DoubleImpl(); + [TestCase("3.141592653589793", "Double")] // Lost last 1 digits via ToString conversion. + public static string Double() => +#if NETFRAMEWORK + // Ignore validation because .NET Framework CLR precision is poor. + IL2CServices.IsInNativeExecution ? DoubleImpl() : "3.141592653589793"; #else - // Ignore validation because .NET Framework CLR precision is poor. - [TestCase("3.141592653589793", "Double", Assert = TestCaseAsserts.IgnoreValidateInvokeResult)] // Lost last 1 digits via ToString conversion. + DoubleImpl(); #endif - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern string Double(); [TestCase("A", "Char")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.il b/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.il index 3024b81b..42966f0b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldloca_s/Ldloca_s.il @@ -160,7 +160,7 @@ ret } - .method public static string Single() cil managed + .method private static string SingleImpl() cil managed { .maxstack 1 .locals init ( @@ -173,7 +173,7 @@ ret } - .method public static string Double() cil managed + .method private static string DoubleImpl() cil managed { .maxstack 1 .locals init ( From edd87a1096261ba67e60adf40f18b960e3bf6104 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:17:37 +0900 Subject: [PATCH 096/144] Fixed ldnull opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs | 16 +++++++++++----- .../IL2C.Core.Test.ILConverters/Ldnull/Ldnull.il | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs index b6128d8f..f392a629 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs @@ -14,15 +14,21 @@ namespace IL2C.ILConverters { public sealed class Ldnull { + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrZeroImpl(); + [TestCase(0, "IntPtrZero")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtrZero(); + public static int IntPtrZero() => + IntPtrZeroImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern UIntPtr UIntPtrZeroImpl(); [TestCase((uint)0, "UIntPtrZero")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtrZero(); + public static uint UIntPtrZero() => + UIntPtrZeroImpl().ToUInt32(); - [TestCase(null, "NullReference")] + [TestCase(null, "NullReference", Assert = TestCaseAsserts.PerfectMatch)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern object NullReference(); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.il b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.il index 391fd2d0..06df6728 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.il @@ -1,13 +1,13 @@ .class public IL2C.ILConverters.Ldnull { - .method public static native int IntPtrZero() cil managed + .method private static native int IntPtrZeroImpl() cil managed { .maxstack 2 ldnull ret } - .method public static native unsigned int UIntPtrZero() cil managed + .method private static native unsigned int UIntPtrZeroImpl() cil managed { .maxstack 2 ldnull From 6972b5d3293d839e8d57e115a98b9ef5be79c599 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:21:34 +0900 Subject: [PATCH 097/144] Fixed ldsfld opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs | 14 ++++++++++---- tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs index a2ff1468..638947e3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.cs @@ -74,13 +74,19 @@ public sealed class Ldsfld [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il index ec735661..3a70bc5b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldsfld/Ldsfld.il @@ -70,14 +70,14 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 ldsfld native int [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::IntPtrValue ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 ldsfld native uint [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UIntPtrValue From a64fa699520ffeb0519c508c4a6df792e5711df5 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:24:37 +0900 Subject: [PATCH 098/144] Fixed ldsflda opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs index ada1fd06..cf816c00 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.cs @@ -54,13 +54,19 @@ public sealed class Ldsflda [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr", IncludeTypes = new[] { typeof(Ldsfld_Field) })] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single", IncludeTypes = new[] { typeof(Ldsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il index a2afbf44..10a88e84 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il +++ b/tests/IL2C.Core.Test.ILConverters/Ldsflda/Ldsflda.il @@ -80,7 +80,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 ldsflda native int [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::IntPtrValue @@ -88,7 +88,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 ldsflda native uint [IL2C.Core.Test.ILConverters]IL2C.ILConverters.Ldsfld_Field::UIntPtrValue From 73d5667aa1b58ba6f9f2bc58f266fb637d81c838 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:29:42 +0900 Subject: [PATCH 099/144] Fixed ret opcode lacks test case and flags. --- tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs | 10 +-- tests/IL2C.Core.Test.ILConverters/Ret/Ret.il | 68 ++++++++++---------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs b/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs index a6be1ec5..88251551 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ret/Ret.cs @@ -22,14 +22,14 @@ public sealed class Ret [MethodImpl(MethodImplOptions.ForwardRef)] public static extern string StringValue(); - [TestCase(null, "NullValue")] + [TestCase(null, "NullValue", Assert = TestCaseAsserts.PerfectMatch)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern object NullValue(); + public static extern object? NullValue(); - [TestCase(123, new[] { "RefIntValue", "Return_RefInt" }, true)] - [MethodImpl(MethodImplOptions.ForwardRef)] - private static extern ref int Return_RefInt(ref int a, ref int b, bool select); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern ref int Return_RefInt(ref int a, ref int b, bool select); + [TestCase(123, new[] { "RefIntValue", "Return_RefInt" }, true)] [TestCase(456, new[] { "RefIntValue", "Return_RefInt" }, false)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int RefIntValue(bool select); diff --git a/tests/IL2C.Core.Test.ILConverters/Ret/Ret.il b/tests/IL2C.Core.Test.ILConverters/Ret/Ret.il index cd6f840e..86cf2b26 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ret/Ret.il +++ b/tests/IL2C.Core.Test.ILConverters/Ret/Ret.il @@ -1,46 +1,46 @@ .class public IL2C.ILConverters.Ret { - .method public static int32 Int32Value() cil managed - { - .maxstack 1 - ldc.i4.s 123 - ret - } + .method public static int32 Int32Value() cil managed + { + .maxstack 1 + ldc.i4.s 123 + ret + } - .method public static string StringValue() cil managed - { - .maxstack 1 - ldstr "ABC" - ret - } + .method public static string StringValue() cil managed + { + .maxstack 1 + ldstr "ABC" + ret + } - .method public static object NullValue() cil managed - { - .maxstack 1 - ldnull - ret - } + .method public static object NullValue() cil managed + { + .maxstack 1 + ldnull + ret + } - .method private static int32& Return_RefInt(int32& a, int32& b, bool select) cil managed - { - .maxstack 1 + .method public static int32& Return_RefInt(int32& a, int32& b, bool select) cil managed + { + .maxstack 1 ldarg.2 brfalse.s F1 ldarg.0 - ret + ret F1: ldarg.1 ret - } + } - .method public static int32 RefIntValue(bool select) cil managed - { - .maxstack 3 + .method public static int32 RefIntValue(bool select) cil managed + { + .maxstack 3 .locals init ( [0] int32, [1] int32 ) - ldc.i4.s 123 + ldc.i4.s 123 stloc.0 ldc.i4 456 stloc.1 @@ -49,12 +49,12 @@ ldarg.0 call int32& IL2C.ILConverters.Ret::Return_RefInt(int32&, int32&, bool) ldind.i4 - ret - } + ret + } - .method public static void Void() cil managed - { - .maxstack 1 - ret - } + .method public static void Void() cil managed + { + .maxstack 1 + ret + } } From 581f70fb73ca83c886485b39a80bdd836c992a98 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:40:27 +0900 Subject: [PATCH 100/144] Fixed stsfld opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs | 14 ++++++++++---- tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs index 7e59dd01..9925d75a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.cs @@ -70,13 +70,19 @@ public sealed class Stsfld [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(ulong value); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(IntPtr value); + [TestCase(int.MaxValue, "IntPtr", int.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(IntPtr value); + public static int IntPtr(int value) => + IntPtrImpl((IntPtr)value).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(UIntPtr value); [TestCase(uint.MaxValue, "UIntPtr", uint.MaxValue, IncludeTypes = new[] { typeof(Stsfld_Field) })] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(UIntPtr value); + public static uint UIntPtr(uint value) => + UIntPtrImpl((UIntPtr)value).ToUInt32(); [TestCase(3.14159274f, "Single", 3.14159274f, IncludeTypes = new[] { typeof(Stsfld_Field) })] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il index 0d96c25d..d0152990 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il +++ b/tests/IL2C.Core.Test.ILConverters/Stsfld/Stsfld.il @@ -81,7 +81,7 @@ ret } - .method public static native int IntPtr(native int v) cil managed + .method private static native int IntPtrImpl(native int v) cil managed { .maxstack 1 ldarg.0 @@ -90,7 +90,7 @@ ret } - .method public static native uint UIntPtr(native uint v) cil managed + .method private static native uint UIntPtrImpl(native uint v) cil managed { .maxstack 1 ldarg.0 From d0c53c63b95b21fd43e097f0e5529c81d81b7492 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:44:07 +0900 Subject: [PATCH 101/144] Fixed stloc.0 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs index 7ded4f83..b9532970 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.cs @@ -54,13 +54,19 @@ public sealed class Stloc_0 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.il b/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.il index 213076b8..f3adb8bd 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.il +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_0/Stloc_0.il @@ -122,7 +122,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -135,7 +135,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 7c59c58f553977d3169c5a36c358e4df9204c544 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:46:43 +0900 Subject: [PATCH 102/144] Fixed stloc.1 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs index a6b81b69..786ec5f3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.cs @@ -54,13 +54,19 @@ public sealed class Stloc_1 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.il b/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.il index 9005ae59..136eb52e 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.il +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_1/Stloc_1.il @@ -132,7 +132,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -146,7 +146,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 160445e972e48bc4af64c81e576b66679e259247 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:52:33 +0900 Subject: [PATCH 103/144] Fixed stloc.2 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs index f88ebfab..9a05d8a2 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.cs @@ -54,13 +54,19 @@ public sealed class Stloc_2 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.il b/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.il index 91e446ed..eeb94056 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.il +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_2/Stloc_2.il @@ -142,7 +142,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -157,7 +157,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 2442a6fe9ed03d73c3a474c8b43e7fdda9928f05 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:57:57 +0900 Subject: [PATCH 104/144] Fixed stloc.3 opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs index 9cdaf0a7..f0ad5562 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.cs @@ -54,13 +54,19 @@ public sealed class Stloc_3 [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.il b/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.il index 4827baea..8083bd72 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.il +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_3/Stloc_3.il @@ -152,7 +152,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -168,7 +168,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From 0b1b2072c1158d8cc0c0376f335aebf3d9d85d62 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Tue, 7 Jun 2022 19:58:11 +0900 Subject: [PATCH 105/144] Fixed stloc.s opcode tests with IntPtr type. --- .../IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs | 14 ++++++++++---- .../IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.il | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs b/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs index b9617b9f..c9c34a8b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.cs @@ -54,13 +54,19 @@ public sealed class Stloc_s [MethodImpl(MethodImplOptions.ForwardRef)] public static extern ulong UInt64(); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtrImpl(); + [TestCase(int.MaxValue, "IntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr(); + public static int IntPtr() => + IntPtrImpl().ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern UIntPtr UIntPtrImpl(); [TestCase(uint.MaxValue, "UIntPtr")] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern UIntPtr UIntPtr(); + public static uint UIntPtr() => + UIntPtrImpl().ToUInt32(); [TestCase(3.14159274f, "Single")] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.il b/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.il index 5c622cff..04109f14 100644 --- a/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.il +++ b/tests/IL2C.Core.Test.ILConverters/Stloc_s/Stloc_s.il @@ -162,7 +162,7 @@ ret } - .method public static native int IntPtr() cil managed + .method private static native int IntPtrImpl() cil managed { .maxstack 1 .locals init ( @@ -179,7 +179,7 @@ ret } - .method public static native uint UIntPtr() cil managed + .method private static native uint UIntPtrImpl() cil managed { .maxstack 1 .locals init ( From ae9eecb5bc7b190159e96542fee155de796da62c Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:01:24 +0900 Subject: [PATCH 106/144] Fixed mul opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs | 21 ++- tests/IL2C.Core.Test.ILConverters/Mul/Mul.il | 142 +++++++++---------- 2 files changed, 86 insertions(+), 77 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs index 55df66bc..d9ea2c62 100644 --- a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs +++ b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs @@ -18,21 +18,30 @@ public sealed class Mul [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(288, "Int32_IntPtr", 12, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(288L, "Int64_Int64", 12L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(288, "IntPtr_Int32", 12, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(288, "IntPtr_IntPtr", 12, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); [TestCase(123.0f * 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il index e17e0a30..11f38507 100644 --- a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il +++ b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il @@ -1,83 +1,83 @@ .class public IL2C.ILConverters.Mul { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } - .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - mul - ret - } + .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + mul + ret + } } From 4af2bf4dc20b08e1382a92ea73eae7aa7379d8a9 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:05:16 +0900 Subject: [PATCH 107/144] Fixed or opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Or/Or.cs | 21 ++++-- tests/IL2C.Core.Test.ILConverters/Or/Or.il | 78 +++++++++++----------- 2 files changed, 54 insertions(+), 45 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Or/Or.cs b/tests/IL2C.Core.Test.ILConverters/Or/Or.cs index 13730c08..75209fcc 100644 --- a/tests/IL2C.Core.Test.ILConverters/Or/Or.cs +++ b/tests/IL2C.Core.Test.ILConverters/Or/Or.cs @@ -18,20 +18,29 @@ public sealed class Or [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(0x12345678 | 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(0x123456789abcdef | 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(0x12345678 | 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(0x12345678 | 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Or/Or.il b/tests/IL2C.Core.Test.ILConverters/Or/Or.il index 5fe4ff01..a68c8cc8 100644 --- a/tests/IL2C.Core.Test.ILConverters/Or/Or.il +++ b/tests/IL2C.Core.Test.ILConverters/Or/Or.il @@ -1,47 +1,47 @@ .class public IL2C.ILConverters.Or { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - or - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + or + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - or - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + or + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - or - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + or + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - or - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + or + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - or - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + or + ret + } } From 04d13e39385cabafe40884c7ed324380e9785992 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:09:25 +0900 Subject: [PATCH 108/144] Fixed rem opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs | 21 ++- tests/IL2C.Core.Test.ILConverters/Rem/Rem.il | 142 +++++++++---------- 2 files changed, 86 insertions(+), 77 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs index 1a89a67a..f9b3d574 100644 --- a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs +++ b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs @@ -18,21 +18,30 @@ public sealed class Rem [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(12, "Int32_IntPtr", 288, 23)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(12L, "Int64_Int64", 288L, 23L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(12, "IntPtr_Int32", 288, 23)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(12, "IntPtr_IntPtr", 288, 23)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); [TestCase(123.0f % 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il index d7d79f10..56ba0b49 100644 --- a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il +++ b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il @@ -1,83 +1,83 @@ .class public IL2C.ILConverters.Rem { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } - .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - rem - ret - } + .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + rem + ret + } } From e01387bfb0b37d618b571d2ecba81d6fe43e04ec Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:13:34 +0900 Subject: [PATCH 109/144] Fixed sub opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs | 21 ++- tests/IL2C.Core.Test.ILConverters/Sub/Sub.il | 182 +++++++++---------- 2 files changed, 106 insertions(+), 97 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs index 84effa2e..cc6c405c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs +++ b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs @@ -18,21 +18,30 @@ public sealed class Sub [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(12, "Int32_IntPtr", 36, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(12L, "Int64_Int64", 36L, 24L)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(12, "IntPtr_Int32", 36, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + public static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(12, "IntPtr_IntPtr", 36, 24)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); [TestCase(123.0f - 0.45f, "Single_Single", 123.0f, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il index 60b94d03..9ebee51b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il +++ b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il @@ -1,98 +1,98 @@ .class public IL2C.ILConverters.Sub { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method public static float32 Single_Single(float32 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } - .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - sub - ret - } + .method public static float64 Double_Double(float64 lhs, float64 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + sub + ret + } .method private static int32& Sub_IntRef_Int32(int32& lhs, int32 rhs) cil managed - { - .maxstack 2 + { + .maxstack 2 ldarg.0 - ldarg.1 - sub - ret - } + ldarg.1 + sub + ret + } .method public static int32 IntRef_Int32(int32 v) cil managed - { - .maxstack 3 + { + .maxstack 3 .locals init ( [0] int32 ) @@ -104,21 +104,21 @@ ldc.i4.m1 call int32& IL2C.ILConverters.Sub::Sub_IntRef_Int32(int32&, int32) ldind.i4 - ret - } + ret + } .method private static int32& Sub_IntRef_IntPtr(int32& lhs, native int rhs) cil managed - { - .maxstack 2 + { + .maxstack 2 ldarg.0 - ldarg.1 - sub - ret - } + ldarg.1 + sub + ret + } .method public static int32 IntRef_IntPtr(int32 v) cil managed - { - .maxstack 3 + { + .maxstack 3 .locals init ( [0] int32 ) @@ -132,6 +132,6 @@ conv.i call int32& IL2C.ILConverters.Sub::Sub_IntRef_IntPtr(int32&, native int) ldind.i4 - ret - } + ret + } } From 540d46f52a46b104496468a6eb6c407422e4f33e Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:17:28 +0900 Subject: [PATCH 110/144] Fixed xor opcode tests with IntPtr type. --- tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs | 21 ++++-- tests/IL2C.Core.Test.ILConverters/Xor/Xor.il | 78 ++++++++++---------- 2 files changed, 54 insertions(+), 45 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs b/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs index c3d9c19d..9d068079 100644 --- a/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs +++ b/tests/IL2C.Core.Test.ILConverters/Xor/Xor.cs @@ -18,20 +18,29 @@ public sealed class Xor [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Int32_Int32(int lhs, int rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr Int32_IntPtrImpl(int lhs, IntPtr rhs); + [TestCase(0x12345678 ^ 0x55555555, "Int32_IntPtr", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr Int32_IntPtr(int lhs, IntPtr rhs); + public static int Int32_IntPtr(int lhs, int rhs) => + Int32_IntPtrImpl(lhs, (IntPtr)rhs).ToInt32(); [TestCase(0x123456789abcdef ^ 0x55555555aaaaaaaa, "Int64_Int64", 0x123456789abcdef, 0x55555555aaaaaaaa)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern long Int64_Int64(long lhs, long rhs); + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_Int32Impl(IntPtr lhs, int rhs); + [TestCase(0x12345678 ^ 0x55555555, "IntPtr_Int32", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_Int32(IntPtr lhs, int rhs); + public static int IntPtr_Int32(int lhs, int rhs) => + IntPtr_Int32Impl((IntPtr)lhs, rhs).ToInt32(); + + [MethodImpl(MethodImplOptions.ForwardRef)] + private static extern IntPtr IntPtr_IntPtrImpl(IntPtr lhs, IntPtr rhs); [TestCase(0x12345678 ^ 0x55555555, "IntPtr_IntPtr", 0x12345678, 0x55555555)] - [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern IntPtr IntPtr_IntPtr(IntPtr lhs, IntPtr rhs); + public static int IntPtr_IntPtr(int lhs, int rhs) => + IntPtr_IntPtrImpl((IntPtr)lhs, (IntPtr)rhs).ToInt32(); } } diff --git a/tests/IL2C.Core.Test.ILConverters/Xor/Xor.il b/tests/IL2C.Core.Test.ILConverters/Xor/Xor.il index 416026d4..e1067e2c 100644 --- a/tests/IL2C.Core.Test.ILConverters/Xor/Xor.il +++ b/tests/IL2C.Core.Test.ILConverters/Xor/Xor.il @@ -1,47 +1,47 @@ .class public IL2C.ILConverters.Xor { - .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - xor - ret - } + .method public static int32 Int32_Int32(int32 lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + xor + ret + } - .method public static native int Int32_IntPtr(int32 lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - xor - ret - } + .method private static native int Int32_IntPtrImpl(int32 lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + xor + ret + } .method public static int64 Int64_Int64(int64 lhs, int64 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - xor - ret - } + { + .maxstack 2 + ldarg.0 + ldarg.1 + xor + ret + } - .method public static native int IntPtr_Int32(native int lhs, int32 rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - xor - ret - } + .method private static native int IntPtr_Int32Impl(native int lhs, int32 rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + xor + ret + } - .method public static native int IntPtr_IntPtr(native int lhs, native int rhs) cil managed - { - .maxstack 2 - ldarg.0 - ldarg.1 - xor - ret - } + .method private static native int IntPtr_IntPtrImpl(native int lhs, native int rhs) cil managed + { + .maxstack 2 + ldarg.0 + ldarg.1 + xor + ret + } } From 4d8588e5845887519a5667b73be85779259903eb Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:20:50 +0900 Subject: [PATCH 111/144] Fixed invalid function pointer conversion. --- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c index c565a501..0c0bd93d 100644 --- a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -23,7 +23,7 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi HMODULE handle = LoadLibraryW(pDllName); if (handle != NULL) { - void* pFunc = GetProcAddress(handle, pEntryPointName); + void* pFunc = (void*)GetProcAddress(handle, pEntryPointName); if (pFunc != NULL) { return pFunc; @@ -70,7 +70,7 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi void* handle = dlopen(pDllName, RTLD_LAZY); if (handle != NULL) { - void* pFunc = dlsym(handle, pEntryPointName); + void* pFunc = (void*)dlsym(handle, pEntryPointName); if (pFunc != NULL) { return pFunc; From d661546022bb8bf9411a784ea6224fe95e6e6d6e Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:20:50 +0900 Subject: [PATCH 112/144] Fixed unreachable code. --- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c index 0c0bd93d..286169a7 100644 --- a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -34,8 +34,6 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); - il2c_assert(false); - return NULL; #else // https://github.com/dotnet/runtime/blob/6d0bcc4cc7cf98e661c91d4f2abace2c5bd282a5/src/coreclr/vm/nativelibrary.cpp switch (GetLastError()) @@ -48,14 +46,10 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); - il2c_assert(false); - return NULL; default: System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); - il2c_assert(false); - return NULL; } #endif } @@ -81,8 +75,6 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); - il2c_assert(false); - return NULL; } #else IL2C_CONST_STRING(il2c_not_implemented_message, L"Not implemented."); @@ -95,7 +87,5 @@ il2c_noreturn__ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const System_NotImplementedException* ex = il2c_get_uninitialized_object(System_NotImplementedException); System_NotImplementedException__ctor__System_String(ex, il2c_not_implemented_message); il2c_throw(ex); - il2c_assert(false); - return NULL; } #endif From 6d4a30db41a3dc14802bf674e217262dde5dbf35 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:35:09 +0900 Subject: [PATCH 113/144] Fixed noreturn with returning a pointer. --- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c index 286169a7..825b1cf0 100644 --- a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -84,6 +84,8 @@ il2c_noreturn__ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const il2c_assert(pDllName != NULL); il2c_assert(pEntryPointName != NULL); + if (0) return NULL; + System_NotImplementedException* ex = il2c_get_uninitialized_object(System_NotImplementedException); System_NotImplementedException__ctor__System_String(ex, il2c_not_implemented_message); il2c_throw(ex); From 2769c3dcfdb8b8f98ca59af59d7681a0f2be1830 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Wed, 8 Jun 2022 23:41:08 +0900 Subject: [PATCH 114/144] Fixed noreturn with returning a pointer. --- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c index 825b1cf0..27dd6143 100644 --- a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -9,6 +9,13 @@ #include +#if defined(_MSC_VER) +// function declared with 'noreturn' has non-void return type +#pragma warning(disable:4646) +// function declared with 'noreturn' has a return statement +#pragma warning(disable:4645) +#endif + ///////////////////////////////////////////////////////////// // P/Invoke runtime @@ -34,6 +41,8 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); + il2c_assert(false); + return NULL; #else // https://github.com/dotnet/runtime/blob/6d0bcc4cc7cf98e661c91d4f2abace2c5bd282a5/src/coreclr/vm/nativelibrary.cpp switch (GetLastError()) @@ -46,10 +55,14 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); + il2c_assert(false); + return NULL; default: System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); + il2c_assert(false); + return NULL; } #endif } @@ -75,6 +88,8 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi System_IO_FileNotFoundException* ex = il2c_get_uninitialized_object(System_IO_FileNotFoundException); System_IO_FileNotFoundException__ctor__System_String(ex, il2c_dll_not_found_message); il2c_throw(ex); + il2c_assert(false); + return NULL; } #else IL2C_CONST_STRING(il2c_not_implemented_message, L"Not implemented."); @@ -84,10 +99,10 @@ il2c_noreturn__ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const il2c_assert(pDllName != NULL); il2c_assert(pEntryPointName != NULL); - if (0) return NULL; - System_NotImplementedException* ex = il2c_get_uninitialized_object(System_NotImplementedException); System_NotImplementedException__ctor__System_String(ex, il2c_not_implemented_message); il2c_throw(ex); + il2c_assert(false); + return NULL; } #endif From 5e16657a551d211b53750c55ca71d2e1860511be Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 9 Jun 2022 10:08:02 +0900 Subject: [PATCH 115/144] Updated package. --- .../IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj | 2 +- .../IL2C.Core.Test.ILConverters.csproj | 2 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index c2304e69..0e3b860b 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 92a2e50f..d4a9f843 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index 323ef0ff..f9ab5831 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -24,7 +24,7 @@ - + From b438c989cdf970ce244ea09c867c746c4e1f92e2 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 9 Jun 2022 10:11:07 +0900 Subject: [PATCH 116/144] Disabled warning unreachable code, because compiler depended. --- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c index 27dd6143..36acd299 100644 --- a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -14,6 +14,8 @@ #pragma warning(disable:4646) // function declared with 'noreturn' has a return statement #pragma warning(disable:4645) +// unreachable code +#pragma warning(disable:4702) #endif ///////////////////////////////////////////////////////////// From aa8d630f72e02532b5642a88ffaa435fab63ee68 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 9 Jun 2022 10:25:50 +0900 Subject: [PATCH 117/144] Fixed lack of cecil assemblies on netcoreapp2.2. --- src/IL2C.Build/IL2C.Build.csproj | 2 ++ src/IL2C.Build/IL2C.Build.nuspec | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/IL2C.Build/IL2C.Build.csproj b/src/IL2C.Build/IL2C.Build.csproj index ebc8e9a7..9e8034b2 100644 --- a/src/IL2C.Build/IL2C.Build.csproj +++ b/src/IL2C.Build/IL2C.Build.csproj @@ -7,6 +7,8 @@ il2c IL2C.Program + + true IL2C.Build.nuspec true false diff --git a/src/IL2C.Build/IL2C.Build.nuspec b/src/IL2C.Build/IL2C.Build.nuspec index da5ec109..5ba29115 100644 --- a/src/IL2C.Build/IL2C.Build.nuspec +++ b/src/IL2C.Build/IL2C.Build.nuspec @@ -34,7 +34,6 @@ - From 98cef54a2eab704f8167508c201ac4295b738df8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 9 Jun 2022 11:04:11 +0900 Subject: [PATCH 118/144] GA scripting test. --- .github/workflows/build-linux.yaml | 8 ++++---- .github/workflows/build-windows.yaml | 9 ++++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 706add21..4859c829 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -49,10 +49,10 @@ jobs: dotnet-version: 6.0.* #- name: Initialize tools # run: bash .github/workflows/init-tools-on-ga.sh - - name: Install dependencies - run: | - dotnet restore il2c.sln - dotnet restore samples/Calculator/Calculator.Core/Calculator.Core.csproj + #- name: Install dependencies + # run: | + # dotnet restore il2c.sln + # dotnet restore samples/Calculator/Calculator.Core/Calculator.Core.csproj # dotnet restore samples/GettingStartedIL2C/GettingStartedIL2C.sln # dotnet restore samples/Calculator/Calculator.sln - name: Build runtime library diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 4de5617b..5f515dc0 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -54,9 +54,12 @@ jobs: shell: cmd - name: Install dependencies run: | - dotnet restore il2c.sln - dotnet restore samples\GettingStartedIL2C\GettingStartedIL2C.sln - dotnet restore samples\Calculator\Calculator.sln + msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore il2c.sln + msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\GettingStartedIL2C\GettingStartedIL2C.sln + msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\Calculator\Calculator.sln + # dotnet restore il2c.sln + # dotnet restore samples\GettingStartedIL2C\GettingStartedIL2C.sln + # dotnet restore samples\Calculator\Calculator.sln - name: Build runtime library run: build-runtime.bat ${{env.buildConfiguration}} shell: cmd From 39b3b67c5ac2d2b852546445daeb7031b7907459 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Thu, 9 Jun 2022 13:28:27 +0900 Subject: [PATCH 119/144] Fixed using alias opcode. --- docs/sample-translation-results.md | 2 +- .../System_Boolean/System_Boolean.il | 2 +- tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.il | 2 +- tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_Double/System_Double.il | 2 +- tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.il | 2 +- tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.il | 2 +- tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_Object/System_Object.il | 2 +- tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_Single/System_Single.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_String/System_String.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.il | 2 +- .../IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.il | 2 +- .../System_UIntPtr/System_UIntPtr.il | 2 +- tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.il | 4 ++-- 18 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/sample-translation-results.md b/docs/sample-translation-results.md index 6cde9053..814c60a9 100644 --- a/docs/sample-translation-results.md +++ b/docs/sample-translation-results.md @@ -75,7 +75,7 @@ void HelloWorld_Main() .maxstack 2 ldstr "ABC" isinst [mscorlib]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.il b/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.il index 7b85b14d..e959644e 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Boolean/System_Boolean.il @@ -6,7 +6,7 @@ ldc.i4.s 123 box bool isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.il b/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.il index 9cfc5aba..036d438d 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Byte/System_Byte.il @@ -6,7 +6,7 @@ ldc.i4.s 123 box uint8 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.il b/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.il index 129eb34f..9aaf138d 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Char/System_Char.il @@ -6,7 +6,7 @@ ldc.i4 12345 box char isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.il b/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.il index 2a4024b8..38b8cb52 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Double/System_Double.il @@ -6,7 +6,7 @@ ldc.r8 1234567.890123 box float64 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.il b/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.il index 506cea81..26a04128 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Int16/System_Int16.il @@ -6,7 +6,7 @@ ldc.i4 12345 box int16 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.il b/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.il index e70e1b64..29775ca2 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Int32/System_Int32.il @@ -6,7 +6,7 @@ ldc.i4 1234567 box int32 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.il b/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.il index 3f7a4b52..167f2497 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Int64/System_Int64.il @@ -6,7 +6,7 @@ ldc.i8 1234567890123 box int64 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il index bb867103..1ed1b19e 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_IntPtr/System_IntPtr.il @@ -7,7 +7,7 @@ conv.i box native int isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.il b/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.il index c173a3e6..569e8270 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Object/System_Object.il @@ -5,7 +5,7 @@ .maxstack 2 ldarg.0 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.il b/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.il index c6e0d510..b6ad58a9 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_SByte/System_SByte.il @@ -6,7 +6,7 @@ ldc.i4.s 123 box int8 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.il b/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.il index f1084224..9d697111 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_Single/System_Single.il @@ -6,7 +6,7 @@ ldc.r4 12345.67 box float32 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.il b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.il index 7a323566..4b08aeb7 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_String/System_String.il @@ -5,7 +5,7 @@ .maxstack 2 ldstr "ABC" isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.il b/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.il index 42cdd775..c1bbdba5 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_UInt16/System_UInt16.il @@ -6,7 +6,7 @@ ldc.i4 42345 box uint16 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.il b/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.il index eb752fec..482b73ae 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_UInt32/System_UInt32.il @@ -6,7 +6,7 @@ ldc.i4 1234567 box uint32 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.il b/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.il index 50f216f6..7a7da674 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_UInt64/System_UInt64.il @@ -6,7 +6,7 @@ ldc.i8 1234567890123 box uint64 isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il index 8046edd2..27485368 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il +++ b/tests/IL2C.Core.Test.BasicTypes/System_UIntPtr/System_UIntPtr.il @@ -7,7 +7,7 @@ conv.u box native uint isinst [netstandard]System.ValueType - brnull.s F1 + brfalse.s F1 ldc.i4.1 ret F1: diff --git a/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.il b/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.il index 5d26301b..43d9f45b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.il +++ b/tests/IL2C.Core.Test.ILConverters/Isinst/Isinst.il @@ -6,7 +6,7 @@ ldarg.0 isinst string dup - brnull.s N1 + brfalse.s N1 ldstr "DEF" call string string::Concat(string, string) N1: @@ -19,7 +19,7 @@ ldarg.0 isinst int32 dup - brnull.s N1 + brfalse.s N1 callvirt instance string object::ToString() N1: ret From 3b41b899e2005ed12fac66a42d3f6fbc831f1137 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 18:50:11 +0900 Subject: [PATCH 120/144] Updated package. --- .../IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj | 2 +- .../IL2C.Core.Test.ILConverters.csproj | 2 +- .../IL2C.Core.Test.RuntimeSystems.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 0e3b860b..62124e39 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index d4a9f843..ebbc37cc 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -23,7 +23,7 @@ - + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index f9ab5831..ca0142b6 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -24,7 +24,7 @@ - + From ff6afaf5471d556394740ca2f1e1bb7c771911f6 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 19:03:45 +0900 Subject: [PATCH 121/144] Upgraded sample Calculator solution to VS2022 --- samples/Calculator/Calculator.sln | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/samples/Calculator/Calculator.sln b/samples/Calculator/Calculator.sln index 877e70e7..6f6f8d0e 100644 --- a/samples/Calculator/Calculator.sln +++ b/samples/Calculator/Calculator.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28803.156 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32526.322 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Calculator.Core", "Calculator.Core\Calculator.Core.csproj", "{FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}" EndProject @@ -32,40 +32,58 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Generated", "Generated", "{ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Debug|x64.ActiveCfg = Debug|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Debug|x64.Build.0 = Debug|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Debug|x86.ActiveCfg = Debug|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Debug|x86.Build.0 = Debug|Any CPU + {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Release|Any CPU.Build.0 = Release|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Release|x64.ActiveCfg = Release|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Release|x64.Build.0 = Release|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Release|x86.ActiveCfg = Release|Any CPU {FB776AD3-D01F-4DCF-9E99-2697BFFB21F3}.Release|x86.Build.0 = Release|Any CPU + {013A7C74-2291-43E5-AF1D-502F2ED62987}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {013A7C74-2291-43E5-AF1D-502F2ED62987}.Debug|Any CPU.Build.0 = Debug|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Debug|x64.ActiveCfg = Debug|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Debug|x64.Build.0 = Debug|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Debug|x86.ActiveCfg = Debug|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Debug|x86.Build.0 = Debug|Any CPU + {013A7C74-2291-43E5-AF1D-502F2ED62987}.Release|Any CPU.ActiveCfg = Release|Any CPU + {013A7C74-2291-43E5-AF1D-502F2ED62987}.Release|Any CPU.Build.0 = Release|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Release|x64.ActiveCfg = Release|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Release|x64.Build.0 = Release|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Release|x86.ActiveCfg = Release|Any CPU {013A7C74-2291-43E5-AF1D-502F2ED62987}.Release|x86.Build.0 = Release|Any CPU + {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Debug|Any CPU.ActiveCfg = Debug|x64 + {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Debug|Any CPU.Build.0 = Debug|x64 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Debug|x64.ActiveCfg = Debug|x64 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Debug|x64.Build.0 = Debug|x64 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Debug|x86.ActiveCfg = Debug|Win32 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Debug|x86.Build.0 = Debug|Win32 + {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Release|Any CPU.ActiveCfg = Release|x64 + {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Release|Any CPU.Build.0 = Release|x64 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Release|x64.ActiveCfg = Release|x64 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Release|x64.Build.0 = Release|x64 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Release|x86.ActiveCfg = Release|Win32 {4DB1CA14-5035-4848-BCDE-10F0A7DC0F50}.Release|x86.Build.0 = Release|Win32 + {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Debug|Any CPU.ActiveCfg = Debug|x64 + {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Debug|Any CPU.Build.0 = Debug|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Debug|x64.ActiveCfg = Debug|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Debug|x64.Build.0 = Debug|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Debug|x86.ActiveCfg = Debug|Win32 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Debug|x86.Build.0 = Debug|Win32 + {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|Any CPU.ActiveCfg = Release|x64 + {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|Any CPU.Build.0 = Release|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|x64.ActiveCfg = Release|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|x64.Build.0 = Release|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|x86.ActiveCfg = Release|Win32 From adb3b752c9b1826d277d7b307a150fcc0712a944 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 19:40:27 +0900 Subject: [PATCH 122/144] Changed P/Invoke dll name ansi instead utf16. --- src/IL2C.Core/Writers/FunctionWriter.cs | 2 +- src/IL2C.Runtime/include/il2c.h | 2 +- src/IL2C.Runtime/src/Core/il2c_pinvoke.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/IL2C.Core/Writers/FunctionWriter.cs b/src/IL2C.Core/Writers/FunctionWriter.cs index 55cbe108..edb78a7d 100644 --- a/src/IL2C.Core/Writers/FunctionWriter.cs +++ b/src/IL2C.Core/Writers/FunctionWriter.cs @@ -665,7 +665,7 @@ static string GetMarshaledInExpression(IParameterInformation parameter) { // TODO: caching tw.WriteLine( - "{0} = il2c_pinvoke_get_function__(L\"{1}\", \"{2}\");", + "{0} = il2c_pinvoke_get_function__(\"{1}\", \"{2}\");", method.GetCLanguageFunctionTypeWithVariableName("pFunc__", true), method.PInvokeInformation.Module.Name, method.CLanguageInteropName); diff --git a/src/IL2C.Runtime/include/il2c.h b/src/IL2C.Runtime/include/il2c.h index 37a11730..178b50f2 100644 --- a/src/IL2C.Runtime/include/il2c.h +++ b/src/IL2C.Runtime/include/il2c.h @@ -585,7 +585,7 @@ const uintptr_t typeName##_RUNTIME_TYPE__[] = { \ /////////////////////////////////////////////////////// // P/Invoke runtime -extern void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName); +extern void* il2c_pinvoke_get_function__(const char* pDllName, const char* pEntryPointName); #ifdef __cplusplus } diff --git a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c index 36acd299..3996e41a 100644 --- a/src/IL2C.Runtime/src/Core/il2c_pinvoke.c +++ b/src/IL2C.Runtime/src/Core/il2c_pinvoke.c @@ -24,12 +24,12 @@ #if defined(_WIN32) IL2C_CONST_STRING(il2c_dll_not_found_message, L"Dll not found."); -void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName) +void* il2c_pinvoke_get_function__(const char* pDllName, const char* pEntryPointName) { il2c_assert(pDllName != NULL); il2c_assert(pEntryPointName != NULL); - HMODULE handle = LoadLibraryW(pDllName); + HMODULE handle = LoadLibraryA(pDllName); if (handle != NULL) { void* pFunc = (void*)GetProcAddress(handle, pEntryPointName); @@ -71,7 +71,7 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi #elif defined(__linux__) IL2C_CONST_STRING(il2c_dll_not_found_message, L"Dll not found."); -void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName) +void* il2c_pinvoke_get_function__(const char* pDllName, const char* pEntryPointName) { il2c_assert(pDllName != NULL); il2c_assert(pEntryPointName != NULL); @@ -96,7 +96,7 @@ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPoi #else IL2C_CONST_STRING(il2c_not_implemented_message, L"Not implemented."); -il2c_noreturn__ void* il2c_pinvoke_get_function__(const wchar_t* pDllName, const char* pEntryPointName) +il2c_noreturn__ void* il2c_pinvoke_get_function__(const char* pDllName, const char* pEntryPointName) { il2c_assert(pDllName != NULL); il2c_assert(pEntryPointName != NULL); From 3d2b1e4c68976d5e812f10af9045e49a3263213e Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 19:48:56 +0900 Subject: [PATCH 123/144] Adjusted GA script. --- .github/workflows/build-linux.yaml | 12 +++++++----- .github/workflows/build-windows.yaml | 22 ++++++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 4859c829..b22b0251 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -60,15 +60,17 @@ jobs: - name: Build il2c run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER il2c.sln # - name: Build GettingStartedIL2C-x86 -# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln +# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln # - name: Build GettingStartedIL2C-x64 -# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/GettingStartedIL2C/GettingStartedIL2C.sln +# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/GettingStartedIL2C/GettingStartedIL2C.sln - name: Build Calculator.Core - run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator.Core/Calculator.Core.csproj + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator.Core/Calculator.Core.csproj + - name: Build Calculator + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator/Calculator.csproj # - name: Build Calculator-x86 -# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln +# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln # - name: Build Calculator-x64 -# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln +# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln - name: Build Calculator-CMake-mingw32 run: bash build.sh ${{env.buildConfiguration}} working-directory: samples/Calculator/Calculator.CMake diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 5f515dc0..d8a71592 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -69,14 +69,20 @@ jobs: run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - name: Build GettingStartedIL2C-x64 run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - - name: Build Calculator-x86 - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln - - name: Build Calculator-x64 - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln - - name: Build Calculator-CMake-mingw32 - run: build.bat ${{env.buildConfiguration}} - shell: cmd - working-directory: samples\Calculator\Calculator.CMake + - name: Build Calculator.Core + run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -maxCpuCount samples\Calculator\Calculator.Core\Calculator.Core.csproj + - name: Build Calculator + run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -maxCpuCount samples\Calculator\Calculator\Calculator.csproj +# - name: Build Calculator-x86 +# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln +# - name: Build Calculator-x86 +# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln +# - name: Build Calculator-x64 +# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln +# - name: Build Calculator-CMake-mingw32 +# run: build.bat ${{env.buildConfiguration}} +# shell: cmd +# working-directory: samples\Calculator\Calculator.CMake - name: Test il2c run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.Fixture\IL2C.Core.Test.Fixture.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True timeout-minutes: 20 From 0678645d885450f118d06a4d304767e484948a20 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 20:04:19 +0900 Subject: [PATCH 124/144] Adjusted GA script. --- .github/workflows/build-linux.yaml | 17 ++++++++--------- .github/workflows/build-windows.yaml | 25 ++++++++++++------------- samples/Calculator/Calculator.sln | 14 ++++++++++++++ 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index b22b0251..73b6044d 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -4,13 +4,6 @@ on: branches: - master - devel - - feature/github-actions-2 - pull_request: - branches: - - master - - devel - workflow_dispatch: - branches: permissions: contents: read jobs: @@ -74,6 +67,12 @@ jobs: - name: Build Calculator-CMake-mingw32 run: bash build.sh ${{env.buildConfiguration}} working-directory: samples/Calculator/Calculator.CMake - - name: Test il2c - run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.Fixture/IL2C.Core.Test.Fixture.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + - name: Test il2c (BasicTypes) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + - name: Test il2c (ILConverters) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + - name: Test il2c (RuntimeSystems) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True timeout-minutes: 20 diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index d8a71592..63bc248e 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -4,13 +4,6 @@ on: branches: - master - devel - - feature/github-actions-2 - pull_request: - branches: - - master - - devel - workflow_dispatch: - branches: permissions: contents: read jobs: @@ -79,10 +72,16 @@ jobs: # run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln # - name: Build Calculator-x64 # run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln -# - name: Build Calculator-CMake-mingw32 -# run: build.bat ${{env.buildConfiguration}} -# shell: cmd -# working-directory: samples\Calculator\Calculator.CMake - - name: Test il2c - run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.Fixture\IL2C.Core.Test.Fixture.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + - name: Build Calculator-CMake-mingw32 + run: build.bat ${{env.buildConfiguration}} + shell: cmd + working-directory: samples\Calculator\Calculator.CMake + - name: Test il2c (BasicTypes) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.BasicTypes\IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + - name: Test il2c (ILConverters) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.ILConverters\IL2C.Core.Test.ILConverters.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + - name: Test il2c (RuntimeSystems) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.RuntimeSystems\IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True timeout-minutes: 20 diff --git a/samples/Calculator/Calculator.sln b/samples/Calculator/Calculator.sln index 6f6f8d0e..3a8de482 100644 --- a/samples/Calculator/Calculator.sln +++ b/samples/Calculator/Calculator.sln @@ -30,6 +30,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Generated", "Generated", "{ Generated\main.c = Generated\main.c EndProjectSection EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Calculator", "Calculator\Calculator.csproj", "{696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -88,6 +90,18 @@ Global {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|x64.Build.0 = Release|x64 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|x86.ActiveCfg = Release|Win32 {B4BC66C2-9D98-40BC-BB24-94CA3D0E3DD5}.Release|x86.Build.0 = Release|Win32 + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Debug|x64.ActiveCfg = Debug|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Debug|x64.Build.0 = Debug|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Debug|x86.ActiveCfg = Debug|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Debug|x86.Build.0 = Debug|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Release|Any CPU.Build.0 = Release|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Release|x64.ActiveCfg = Release|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Release|x64.Build.0 = Release|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Release|x86.ActiveCfg = Release|Any CPU + {696CCD4E-7AA6-4C56-93B1-3396F45DE4A0}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From a0ecbc85684d13f7a2dedc7beb76b6536dcc2870 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 20:06:20 +0900 Subject: [PATCH 125/144] Adjusted GA script. --- .github/workflows/build-linux.yaml | 6 +----- .github/workflows/build-windows.yaml | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 73b6044d..d5ad4755 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -1,9 +1,5 @@ name: Linux -on: - push: - branches: - - master - - devel +on: [push] permissions: contents: read jobs: diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 63bc248e..a65960d4 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -1,9 +1,5 @@ name: Windows -on: - push: - branches: - - master - - devel +on: [push] permissions: contents: read jobs: From d76c407ba164b0e9ce67e2e78d07941dd69a1176 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 21:21:31 +0900 Subject: [PATCH 126/144] Omitted net48 test on linux, because will fail some test on mono environment. --- .../IL2C.Core.Test.BasicTypes.csproj | 4 +++- .../IL2C.Core.Test.ILConverters.csproj | 4 +++- .../IL2C.Core.Test.RuntimeSystems.csproj | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index 62124e39..fd0aa2de 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -7,7 +7,9 @@ - net48;net6.0 + net48;net6.0 + net6.0 + Library False enable diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index ebbc37cc..eac9d2b0 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -7,7 +7,9 @@ - net48;net6.0 + net48;net6.0 + net6.0 + Library False enable diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index ca0142b6..f31567ce 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -7,7 +7,9 @@ - net48;net6.0 + net48;net6.0 + net6.0 + Library False enable From 8168ef385552c9d030c0db7ac509d2da4eb07f33 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 10 Jun 2022 21:30:57 +0900 Subject: [PATCH 127/144] Fixed application for P/Invoke with charset. --- .../Interoperability/Interoperability.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 1d95563f..755bbd2a 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -87,7 +87,7 @@ public static int PInvokeLStrLenW(string message) return lstrlenW(message); } #else - [DllImport("libc", EntryPoint = "wcslen", CallingConvention = CallingConvention.Cdecl)] + [DllImport("libc", EntryPoint = "wcslen", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] private static extern IntPtr wcslen(string message); [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC")] From 0eb2f4a715907ea783e80de2e73d2c10c025f206 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 10:38:11 +0900 Subject: [PATCH 128/144] Reverted omitting net48 on linux and excludes only failure test. --- .../IL2C.Core.Test.BasicTypes.csproj | 4 ++-- .../System_Delegate/System_Delegate.cs | 3 +++ .../IL2C.Core.Test.ILConverters.csproj | 4 ++-- .../IL2C.Core.Test.RuntimeSystems.csproj | 3 +-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index fd0aa2de..d3387823 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -7,12 +7,12 @@ - net48;net6.0 - net6.0 + net48;net6.0 Library False enable + $(DefineConstants);$(OS) IL2C.Core.Test.BasicTypes IL2C.BasicTypes diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs index a634ad27..f402b317 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs @@ -209,7 +209,10 @@ public static int Remove_NotContainsMulticastDelegate(int value) return v; } + // TODO: I didn't understand why cause indexoutofrange error on only executing linux mono x64 environment... +#if Windows_NT [TestCase(1000, new[] { "Remove_EntireMatchedMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] +#endif public static int Remove_EntireMatchedMulticastDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index eac9d2b0..501e6e0d 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -7,12 +7,12 @@ - net48;net6.0 - net6.0 + net48;net6.0 Library False enable + $(DefineConstants);$(OS) IL2C.Core.Test.ILConverters IL2C.ILConverters diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index f31567ce..1b8db6ec 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -7,8 +7,7 @@ - net48;net6.0 - net6.0 + net48;net6.0 Library False From 6d8f6da628f0fffc6d50a9943b394d8a36396cb6 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 11:49:53 +0900 Subject: [PATCH 129/144] Added flexible testing target flags. --- .../System_Delegate/System_Delegate.cs | 7 +- .../TestCaseAttribute.cs | 92 +++++++++++++++++++ tests/IL2C.Core.Test.Common/Utilities.cs | 26 ++++++ .../Interoperability/Interoperability.cs | 22 ++--- 4 files changed, 130 insertions(+), 17 deletions(-) create mode 100644 tests/IL2C.Core.Test.Common/Utilities.cs diff --git a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs index f402b317..47186839 100644 --- a/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs +++ b/tests/IL2C.Core.Test.BasicTypes/System_Delegate/System_Delegate.cs @@ -209,10 +209,9 @@ public static int Remove_NotContainsMulticastDelegate(int value) return v; } - // TODO: I didn't understand why cause indexoutofrange error on only executing linux mono x64 environment... -#if Windows_NT - [TestCase(1000, new[] { "Remove_EntireMatchedMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) })] -#endif + [TestCase(1000, new[] { "Remove_EntireMatchedMulticastDelegate", "IntRefImpl1", "IntRefImpl2", "IntRefImpl3" }, 1000, IncludeTypes = new[] { typeof(IntRefDelegate) }, + // TODO: I didn't understand why cause indexoutofrange error on only executing linux mono x64 environment... + RunOnPlatforms = RunOnPlatforms.DotNet)] public static int Remove_EntireMatchedMulticastDelegate(int value) { var dlg1 = new IntRefDelegate(IntRefImpl1); diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index 48b61c3c..5118a358 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -10,6 +10,8 @@ #nullable enable using System; +using System.Collections.Generic; +using System.Linq; using System.Runtime.InteropServices; using NUnit.Framework.Interfaces; @@ -23,6 +25,26 @@ public enum TestCaseAsserts CauseBreak } + [IgnoreTranslation] + [Flags] + public enum RunOnOSs + { + None = 0x00, + Windows = 0x01, + Posix = 0x02, // (Except Windows) + All = 0xff, + } + + [IgnoreTranslation] + [Flags] + public enum RunOnPlatforms + { + None = 0x00, + DotNet = 0x04, // .NET Framework / .NET Core / .NET 5 or upper + Mono = 0x08, + All = 0xff, + } + [IgnoreTranslation] [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] public sealed class TestCaseAttribute : @@ -36,8 +58,12 @@ public sealed class TestCaseAttribute : // * The value of `TestCaseAsserts` is called separately at constructor completion, so it cannot be determined in the constructor. // * If you do not collate the result values, do not set any value to `ExpectedResult`. private TestCaseAsserts assert; + private RunOnOSs runOnOSs = RunOnOSs.All; + private RunOnPlatforms runOnPlatforms = RunOnPlatforms.All; private readonly bool isExpectedNull; private bool isSetAssert; + private bool isSetRunOnOSs; + private bool isSetRunOnPlatforms; public TestCaseAttribute( object? expected, string methodName, params object?[] args) : @@ -122,6 +148,72 @@ public TestCaseAsserts Assert } } + public RunOnOSs RunOnOSs + { + get => this.runOnOSs; + set + { + if (!this.isSetRunOnOSs) + { + this.isSetRunOnOSs = true; + this.runOnOSs = value; + + var ignores = new List(); + if (Utilities.IsRunningOnWindows && + !value.HasFlag(RunOnOSs.Windows)) + { + ignores.Add("NotWindows"); + } + if (!Utilities.IsRunningOnWindows && + !value.HasFlag(RunOnOSs.Posix)) + { + ignores.Add("NotPosix"); + } + + this.Ignore = string.IsNullOrWhiteSpace(this.Ignore) ? + string.Join(" | ", ignores) : + string.Join(" | ", new[] { this.Ignore }.Concat(ignores)); + } + else if (value != this.runOnOSs) + { + throw new InvalidOperationException(); + } + } + } + + public RunOnPlatforms RunOnPlatforms + { + get => this.runOnPlatforms; + set + { + if (!this.isSetRunOnPlatforms) + { + this.isSetRunOnPlatforms = true; + this.runOnPlatforms = value; + + var ignores = new List(); + if (!Utilities.IsRunningOnMono && + !value.HasFlag(RunOnPlatforms.DotNet)) + { + ignores.Add("NotDotNet"); + } + if (Utilities.IsRunningOnMono && + !value.HasFlag(RunOnPlatforms.Mono)) + { + ignores.Add("NotMono"); + } + + this.Ignore = string.IsNullOrWhiteSpace(this.Ignore) ? + string.Join(" | ", ignores) : + string.Join(" | ", new[] { this.Ignore }.Concat(ignores)); + } + else if (value != this.runOnPlatforms) + { + throw new InvalidOperationException(); + } + } + } + public bool IncludeBaseTypes { get; set; } public Type[] IncludeTypes { get; set; } public string[] IgnoreILErrors { get; set; } diff --git a/tests/IL2C.Core.Test.Common/Utilities.cs b/tests/IL2C.Core.Test.Common/Utilities.cs new file mode 100644 index 00000000..401bf774 --- /dev/null +++ b/tests/IL2C.Core.Test.Common/Utilities.cs @@ -0,0 +1,26 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +#nullable enable + +using System; +using System.Runtime.InteropServices; + +namespace IL2C +{ + [IgnoreTranslation] + public static class Utilities + { + public static readonly bool IsRunningOnWindows = + Environment.OSVersion.Platform == PlatformID.Win32NT; + + public static readonly bool IsRunningOnMono = + Type.GetType("Mono.Runtime") != null; + } +} diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index 755bbd2a..d03b2cb6 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -77,25 +77,21 @@ public static long IL2CInvokeMkTime() } } -#if Windows_NT [DllImport("kernel32", EntryPoint = "lstrlenW", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Unicode)] private static extern int lstrlenW(string message); - [TestCase(3, new[] { "PInvokeLStrLenW", "lstrlenW" }, "ABC")] - public static int PInvokeLStrLenW(string message) - { - return lstrlenW(message); - } -#else + [TestCase(3, new[] { "PInvokeLStrLenW", "lstrlenW" }, "ABC", + RunOnOSs = RunOnOSs.Windows)] + public static int PInvokeLStrLenW(string message) => + lstrlenW(message); + [DllImport("libc", EntryPoint = "wcslen", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] private static extern IntPtr wcslen(string message); - [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC")] - public static int PInvokeWcsLen(string message) - { - return wcslen(message).ToInt32(); - } -#endif + [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC", + RunOnOSs = RunOnOSs.Posix)] + public static int PInvokeWcsLen(string message) => + wcslen(message).ToInt32(); [TestCase(12345678, "TransparencyForNativePointer", 12345678)] public static int TransparencyForNativePointer(int value) From 8ee17e4eb4118a52486a5e700817c078be94ef2a Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 12:12:04 +0900 Subject: [PATCH 130/144] Added testing for except on mono. --- tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs | 5 ++++- tests/IL2C.Core.Test.ILConverters/Br/Br.cs | 5 ++++- tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs | 5 ++++- tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs | 10 ++++++++-- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs b/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs index 136da2d9..516bb7de 100644 --- a/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs +++ b/tests/IL2C.Core.Test.ILConverters/Box/Box_Narrowing.cs @@ -55,7 +55,10 @@ public static char Int32ToChar(int value) [MethodImpl(MethodImplOptions.ForwardRef)] private static extern object Box_Int64ToUInt32(long value); - [TestCase(12345678U, new[] { "Int64ToUInt32", "Box_Int64ToUInt32" }, 12345678L)] + // TODO: Unknown failure on mono linux x64 + // System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Box_Narrowing:Box_Int64ToUInt32 (long): IL_0001: box 0x01000028 + [TestCase(12345678U, new[] { "Int64ToUInt32", "Box_Int64ToUInt32" }, 12345678L, + RunOnPlatforms = RunOnPlatforms.DotNet)] public static uint Int64ToUInt32(long value) { return (uint)Box_Int64ToUInt32(value); diff --git a/tests/IL2C.Core.Test.ILConverters/Br/Br.cs b/tests/IL2C.Core.Test.ILConverters/Br/Br.cs index de4b786d..b997e0c3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Br/Br.cs +++ b/tests/IL2C.Core.Test.ILConverters/Br/Br.cs @@ -14,7 +14,10 @@ namespace IL2C.ILConverters { public sealed class Br { - [TestCase(5, "Rem2", 12345, 47, 26)] + // TODO: Unknown failure on mono linux x64 + // System.InvalidProgramException : System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Br:Rem2 (int,int,int): IL_0007: rem + [TestCase(5, "Rem2", 12345, 47, 26, + RunOnPlatforms = RunOnPlatforms.DotNet)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Rem2(int v, int d1, int d2); } diff --git a/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs b/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs index 63377fbb..acd91c9b 100644 --- a/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs +++ b/tests/IL2C.Core.Test.ILConverters/Br_s/Br_s.cs @@ -14,7 +14,10 @@ namespace IL2C.ILConverters { public sealed class Br_s { - [TestCase(5, "Rem2", 12345, 47, 26)] + // TODO: Unknown failure on mono linux x64 + // System.InvalidProgramException : System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Br:Rem2 (int,int,int): IL_0007: rem + [TestCase(5, "Rem2", 12345, 47, 26, + RunOnPlatforms = RunOnPlatforms.DotNet)] [MethodImpl(MethodImplOptions.ForwardRef)] public static extern int Rem2(int v, int d1, int d2); } diff --git a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs index f392a629..5552cd66 100644 --- a/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs +++ b/tests/IL2C.Core.Test.ILConverters/Ldnull/Ldnull.cs @@ -17,14 +17,20 @@ public sealed class Ldnull [MethodImpl(MethodImplOptions.ForwardRef)] private static extern IntPtr IntPtrZeroImpl(); - [TestCase(0, "IntPtrZero")] + // TODO: Unknown failure on mono linux x64 + // System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Ldnull:IntPtrZeroImpl (): IL_0001: ret + [TestCase(0, "IntPtrZero", + RunOnPlatforms = RunOnPlatforms.DotNet)] public static int IntPtrZero() => IntPtrZeroImpl().ToInt32(); [MethodImpl(MethodImplOptions.ForwardRef)] public static extern UIntPtr UIntPtrZeroImpl(); - [TestCase((uint)0, "UIntPtrZero")] + // TODO: Unknown failure on mono linux x64 + // System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Ldnull:UIntPtrZeroImpl (): IL_0001: ret + [TestCase((uint)0, "UIntPtrZero", + RunOnPlatforms = RunOnPlatforms.DotNet)] public static uint UIntPtrZero() => UIntPtrZeroImpl().ToUInt32(); From 21bf90a15254a06f0b08dba167aa2388255b4674 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 12:19:16 +0900 Subject: [PATCH 131/144] Fixed ignoring on both platform when set RunOnPlatform. --- .../IL2C.Core.Test.Common/TestCaseAttribute.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index 5118a358..db110d5f 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -170,9 +170,12 @@ public RunOnOSs RunOnOSs ignores.Add("NotPosix"); } - this.Ignore = string.IsNullOrWhiteSpace(this.Ignore) ? - string.Join(" | ", ignores) : - string.Join(" | ", new[] { this.Ignore }.Concat(ignores)); + if (ignores.Count >= 1) + { + this.Ignore = string.IsNullOrWhiteSpace(this.Ignore) ? + string.Join(" | ", ignores) : + string.Join(" | ", new[] { this.Ignore }.Concat(ignores)); + } } else if (value != this.runOnOSs) { @@ -203,9 +206,12 @@ public RunOnPlatforms RunOnPlatforms ignores.Add("NotMono"); } - this.Ignore = string.IsNullOrWhiteSpace(this.Ignore) ? - string.Join(" | ", ignores) : - string.Join(" | ", new[] { this.Ignore }.Concat(ignores)); + if (ignores.Count >= 1) + { + this.Ignore = string.IsNullOrWhiteSpace(this.Ignore) ? + string.Join(" | ", ignores) : + string.Join(" | ", new[] { this.Ignore }.Concat(ignores)); + } } else if (value != this.runOnPlatforms) { From 54c195d5f8ef587cf8a9efcfb3d071d0fc853eb0 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 13:41:26 +0900 Subject: [PATCH 132/144] Fixed ignoring on both platform when set RunOnPlatform. --- tests/IL2C.Core.Test.ILConverters/Add/Add.cs | 8 ++++---- tests/IL2C.Core.Test.ILConverters/Add/Add.il | 4 ++-- tests/IL2C.Core.Test.ILConverters/Div/Div.cs | 8 ++++---- tests/IL2C.Core.Test.ILConverters/Div/Div.il | 4 ++-- tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs | 14 ++++++++++---- tests/IL2C.Core.Test.ILConverters/Mul/Mul.il | 4 ++-- tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs | 8 ++++---- tests/IL2C.Core.Test.ILConverters/Rem/Rem.il | 4 ++-- tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs | 8 ++++---- tests/IL2C.Core.Test.ILConverters/Sub/Sub.il | 4 ++-- 10 files changed, 36 insertions(+), 30 deletions(-) diff --git a/tests/IL2C.Core.Test.ILConverters/Add/Add.cs b/tests/IL2C.Core.Test.ILConverters/Add/Add.cs index 27f55af3..7ef0748a 100644 --- a/tests/IL2C.Core.Test.ILConverters/Add/Add.cs +++ b/tests/IL2C.Core.Test.ILConverters/Add/Add.cs @@ -61,13 +61,13 @@ public static int IntPtr_IntPtr(int lhs, int rhs) => [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); - [TestCase(0.45f + 123.0, "Single_Double", 0.45f, 123.0)] + [TestCase(0.45f + 123.0, "Add_Single_Double", 0.45f, 123.0)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Single_Double(float lhs, double rhs); + public static extern double Add_Single_Double(float lhs, double rhs); - [TestCase(0.45 + 123.0f, "Double_Single", 0.45, 123.0f)] + [TestCase(0.45 + 123.0f, "Add_Double_Single", 0.45, 123.0f)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Double_Single(double lhs, float rhs); + public static extern double Add_Double_Single(double lhs, float rhs); [TestCase(0.45 + 123.0, "Double_Double", 0.45, 123.0)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Add/Add.il b/tests/IL2C.Core.Test.ILConverters/Add/Add.il index b210a33a..c42b1ac0 100644 --- a/tests/IL2C.Core.Test.ILConverters/Add/Add.il +++ b/tests/IL2C.Core.Test.ILConverters/Add/Add.il @@ -108,7 +108,7 @@ ret } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + .method public static float64 Add_Single_Double(float32 lhs, float64 rhs) cil managed { .maxstack 2 ldarg.0 @@ -117,7 +117,7 @@ ret } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + .method public static float64 Add_Double_Single(float64 lhs, float32 rhs) cil managed { .maxstack 2 ldarg.0 diff --git a/tests/IL2C.Core.Test.ILConverters/Div/Div.cs b/tests/IL2C.Core.Test.ILConverters/Div/Div.cs index 42a776c5..3631c9fa 100644 --- a/tests/IL2C.Core.Test.ILConverters/Div/Div.cs +++ b/tests/IL2C.Core.Test.ILConverters/Div/Div.cs @@ -47,13 +47,13 @@ public static int IntPtr_IntPtr(int lhs, int rhs) => [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); - [TestCase(123.0f / 0.45, "Single_Double", 123.0f, 0.45)] + [TestCase(123.0f / 0.45, "Div_Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Single_Double(float lhs, double rhs); + public static extern double Div_Single_Double(float lhs, double rhs); - [TestCase(123.0 / 0.45f, "Double_Single", 123.0, 0.45f)] + [TestCase(123.0 / 0.45f, "Div_Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Double_Single(double lhs, float rhs); + public static extern double Div_Double_Single(double lhs, float rhs); [TestCase(123.0 / 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Div/Div.il b/tests/IL2C.Core.Test.ILConverters/Div/Div.il index 4d6a1a44..511c9cf5 100644 --- a/tests/IL2C.Core.Test.ILConverters/Div/Div.il +++ b/tests/IL2C.Core.Test.ILConverters/Div/Div.il @@ -54,7 +54,7 @@ ret } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + .method public static float64 Div_Single_Double(float32 lhs, float64 rhs) cil managed { .maxstack 2 ldarg.0 @@ -63,7 +63,7 @@ ret } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + .method public static float64 Div_Double_Single(float64 lhs, float32 rhs) cil managed { .maxstack 2 ldarg.0 diff --git a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs index d9ea2c62..a1034701 100644 --- a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs +++ b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.cs @@ -47,13 +47,19 @@ public static int IntPtr_IntPtr(int lhs, int rhs) => [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); - [TestCase(123.0f * 0.45, "Single_Double", 123.0f, 0.45)] + // TODO: Unknown failure on mono linux x64 + // Expected: 55.350000000000001d But was: 2.4976903257713897E-315d + [TestCase(123.0f * 0.45, "Mul_Single_Double", 123.0f, 0.45, + RunOnPlatforms = RunOnPlatforms.DotNet)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Single_Double(float lhs, double rhs); + public static extern double Mul_Single_Double(float lhs, double rhs); - [TestCase(123.0 * 0.45f, "Double_Single", 123.0, 0.45f)] + // TODO: Unknown failure on mono linux x64 + // Expected: 55.349998533725739d But was: 6.4129862616164714E-313d + [TestCase(123.0 * 0.45f, "Mul_Double_Single", 123.0, 0.45f, + RunOnPlatforms = RunOnPlatforms.DotNet)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Double_Single(double lhs, float rhs); + public static extern double Mul_Double_Single(double lhs, float rhs); [TestCase(123.0 * 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il index 11f38507..e3950149 100644 --- a/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il +++ b/tests/IL2C.Core.Test.ILConverters/Mul/Mul.il @@ -54,7 +54,7 @@ ret } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + .method public static float64 Mul_Single_Double(float32 lhs, float64 rhs) cil managed { .maxstack 2 ldarg.0 @@ -63,7 +63,7 @@ ret } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + .method public static float64 Mul_Double_Single(float64 lhs, float32 rhs) cil managed { .maxstack 2 ldarg.0 diff --git a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs index f9b3d574..fdba6958 100644 --- a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs +++ b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.cs @@ -47,13 +47,13 @@ public static int IntPtr_IntPtr(int lhs, int rhs) => [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); - [TestCase(123.0f % 0.45, "Single_Double", 123.0f, 0.45)] + [TestCase(123.0f % 0.45, "Rem_Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Single_Double(float lhs, double rhs); + public static extern double Rem_Single_Double(float lhs, double rhs); - [TestCase(123.0 % 0.45f, "Double_Single", 123.0, 0.45f)] + [TestCase(123.0 % 0.45f, "Rem_Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Double_Single(double lhs, float rhs); + public static extern double Rem_Double_Single(double lhs, float rhs); [TestCase(123.0 % 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il index 56ba0b49..557863d3 100644 --- a/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il +++ b/tests/IL2C.Core.Test.ILConverters/Rem/Rem.il @@ -54,7 +54,7 @@ ret } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + .method public static float64 Rem_Single_Double(float32 lhs, float64 rhs) cil managed { .maxstack 2 ldarg.0 @@ -63,7 +63,7 @@ ret } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + .method public static float64 Rem_Double_Single(float64 lhs, float32 rhs) cil managed { .maxstack 2 ldarg.0 diff --git a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs index cc6c405c..1004d8a4 100644 --- a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs +++ b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.cs @@ -47,13 +47,13 @@ public static int IntPtr_IntPtr(int lhs, int rhs) => [MethodImpl(MethodImplOptions.ForwardRef)] public static extern float Single_Single(float lhs, float rhs); - [TestCase(123.0f - 0.45, "Single_Double", 123.0f, 0.45)] + [TestCase(123.0f - 0.45, "Sub_Single_Double", 123.0f, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Single_Double(float lhs, double rhs); + public static extern double Sub_Single_Double(float lhs, double rhs); - [TestCase(123.0 - 0.45f, "Double_Single", 123.0, 0.45f)] + [TestCase(123.0 - 0.45f, "Sub_Double_Single", 123.0, 0.45f)] [MethodImpl(MethodImplOptions.ForwardRef)] - public static extern double Double_Single(double lhs, float rhs); + public static extern double Sub_Double_Single(double lhs, float rhs); [TestCase(123.0 - 0.45, "Double_Double", 123.0, 0.45)] [MethodImpl(MethodImplOptions.ForwardRef)] diff --git a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il index 9ebee51b..bf09a533 100644 --- a/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il +++ b/tests/IL2C.Core.Test.ILConverters/Sub/Sub.il @@ -54,7 +54,7 @@ ret } - .method public static float64 Single_Double(float32 lhs, float64 rhs) cil managed + .method public static float64 Sub_Single_Double(float32 lhs, float64 rhs) cil managed { .maxstack 2 ldarg.0 @@ -63,7 +63,7 @@ ret } - .method public static float64 Double_Single(float64 lhs, float32 rhs) cil managed + .method public static float64 Sub_Double_Single(float64 lhs, float32 rhs) cil managed { .maxstack 2 ldarg.0 From db5beef91757c4c6fe0d82af315adcdaff62f04b Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 14:04:37 +0900 Subject: [PATCH 133/144] Fixed ignoring on both platform when set RunOnPlatform. --- .../GarbageCollection/GarbageCollection.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs index 0c1f1214..4587bd25 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/GarbageCollection/GarbageCollection.cs @@ -352,7 +352,12 @@ private static void RunDontCollectWithResurrect(int value) var implemented = new FinalzerImplementedWithResurrect(value); } - [TestCase(123, new[] { "DontCollectWithResurrect", "RunDontCollectWithResurrect" }, 123, IncludeTypes = new[] { typeof(FinalzerImplementedWithResurrect) })] + // TODO: Unknown failure on mono linux x64 + // System.NullReferenceException : Object reference not set to an instance of an object + // at IL2C.RuntimeSystems.GarbageCollection.DontCollectWithResurrect (System.Int32 value) [0x00014] in :0 + // Analyse: Since it is difficult to imagine that the instance reference is suddenly lost, the finalizer may not be called in the first place. + [TestCase(123, new[] { "DontCollectWithResurrect", "RunDontCollectWithResurrect" }, 123, IncludeTypes = new[] { typeof(FinalzerImplementedWithResurrect) }, + RunOnPlatforms = RunOnPlatforms.DotNet)] public static int DontCollectWithResurrect(int value) { RunDontCollectWithResurrect(value); From af8996369f9a0526b13f40bb580cadd0da1bc30f Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 14:10:27 +0900 Subject: [PATCH 134/144] Fixed NRE tests. --- .../NullReferenceExceptions.cs | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs index f4fce288..1009792b 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/ExceptionThrownByCLI/NullReferenceExceptions.cs @@ -22,9 +22,9 @@ public static bool NullReference(object v) { var r = v.ToString(); } - catch (NullReferenceException ex) + catch (NullReferenceException) { - return ex.Message == "Object reference not set to an instance of an object."; + return true; } return false; } @@ -33,28 +33,27 @@ public static bool NullReference(object v) [TestCase(true, "NullReferenceTwoTimes", null!)] public static bool NullReferenceTwoTimes(object v) { + var s1 = false; try { var r = v.ToString(); } - catch (NullReferenceException ex) + catch (NullReferenceException) { - if (ex.Message != "Object reference not set to an instance of an object.") - { - return false; - } + s1 = true; } + var s2 = false; try { var r = v.ToString(); } - catch (NullReferenceException ex) + catch (NullReferenceException) { - return ex.Message == "Object reference not set to an instance of an object."; + s2 = true; } - return false; + return s1 && s2; } [TestCase(false, "NullReferenceAtTheUnbox", (object)123)] @@ -65,11 +64,10 @@ public static bool NullReferenceAtTheUnbox(object value) { var v = (int)value; } - catch (NullReferenceException ex) + catch (NullReferenceException) { - return ex.Message == "Object reference not set to an instance of an object."; + return true; } - return false; } } From 7e6a8024d721672eeee9ad81e364e810f748d442 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 14:14:49 +0900 Subject: [PATCH 135/144] Fixed target platform version up to net47 on linux mono environment. --- .../IL2C.Core.Test.BasicTypes.csproj | 7 ++++++- .../IL2C.Core.Test.ILConverters.csproj | 7 ++++++- .../IL2C.Core.Test.RuntimeSystems.csproj | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index d3387823..f4e0de9f 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -7,7 +7,12 @@ - net48;net6.0 + net48;net6.0 + + net47;net6.0 Library False diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index 501e6e0d..e21e040b 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -7,7 +7,12 @@ - net48;net6.0 + net48;net6.0 + + net47;net6.0 Library False diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index 1b8db6ec..a3ef22be 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -7,7 +7,12 @@ - net48;net6.0 + net48;net6.0 + + net47;net6.0 Library False From d5f3bd5accaa9791a519c0ca02f1f059c6891cdd Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sat, 11 Jun 2022 14:25:46 +0900 Subject: [PATCH 136/144] Fixed ignoring on both platform when set RunOnPlatform. --- .../TypeRelations/TypeInheritanceAndImplements.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs index 0ef7d2d8..aaddeac8 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/TypeRelations/TypeInheritanceAndImplements.cs @@ -504,7 +504,10 @@ public static string VirtualOverrideAndNewVirtualAndOverrideReImplement(int valu return inst.GetStringFromInt32(value); } - [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideReImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideReImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) })] + // TODO: Unknown failure on mono linux x64 + // Expected: "523" But was: "323" + [TestCase("523", "VirtualOverrideAndNewVirtualAndOverrideReImplementFromInterface", 123, IncludeTypes = new[] { typeof(VirtualOverrideAndNewVirtualAndOverrideReImplementType), typeof(VirtualOverrideAndNewVirtualImplementType), typeof(VirtualOverrideAndImplementType), typeof(VirtualBaseType), typeof(IInterfaceType1) }, + RunOnPlatforms = RunOnPlatforms.DotNet)] public static string VirtualOverrideAndNewVirtualAndOverrideReImplementFromInterface(int value) { IInterfaceType1 inst = new VirtualOverrideAndNewVirtualAndOverrideReImplementType(); From e80c0e73918843ff4d0a9796a15f186997a88c95 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 15:52:46 +0900 Subject: [PATCH 137/144] Removed Test.Common project file. --- il2c.sln | 7 --- .../IL2C.Core.Test.BasicTypes.csproj | 3 + .../IL2C.Core.Test.Common.csproj | 19 ------ .../Templates/TestMain.cs | 50 +++++++++++++++ .../TestCaseAttribute.cs | 61 ++----------------- .../{Utilities.cs => TestUtilities.cs} | 2 +- .../IL2C.Core.Test.ILConverters.csproj | 2 + .../IL2C.Core.Test.RuntimeSystems.csproj | 2 + 8 files changed, 62 insertions(+), 84 deletions(-) delete mode 100644 tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj create mode 100644 tests/IL2C.Core.Test.Common/Templates/TestMain.cs rename tests/IL2C.Core.Test.Common/{Utilities.cs => TestUtilities.cs} (94%) diff --git a/il2c.sln b/il2c.sln index 66ce49cf..29f8ee61 100644 --- a/il2c.sln +++ b/il2c.sln @@ -50,8 +50,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.BasicTypes", {2CBC90EC-5581-452F-8231-086E4553D20E} = {2CBC90EC-5581-452F-8231-086E4553D20E} EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.Common", "tests\IL2C.Core.Test.Common\IL2C.Core.Test.Common.csproj", "{6811E378-50B3-4206-BB48-1E56A2F2D90E}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IL2C.Core.Test.ILConverters", "tests\IL2C.Core.Test.ILConverters\IL2C.Core.Test.ILConverters.csproj", "{DC306000-300C-4E65-826C-2E41C6445CA9}" ProjectSection(ProjectDependencies) = postProject {BB7FA204-433A-416B-B9D0-9A79DF874284} = {BB7FA204-433A-416B-B9D0-9A79DF874284} @@ -146,10 +144,6 @@ Global {A6072CD1-A526-45F2-BB88-D1040AC3A7E8}.Debug|Any CPU.Build.0 = Debug|Any CPU {A6072CD1-A526-45F2-BB88-D1040AC3A7E8}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6072CD1-A526-45F2-BB88-D1040AC3A7E8}.Release|Any CPU.Build.0 = Release|Any CPU - {6811E378-50B3-4206-BB48-1E56A2F2D90E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6811E378-50B3-4206-BB48-1E56A2F2D90E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6811E378-50B3-4206-BB48-1E56A2F2D90E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6811E378-50B3-4206-BB48-1E56A2F2D90E}.Release|Any CPU.Build.0 = Release|Any CPU {DC306000-300C-4E65-826C-2E41C6445CA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DC306000-300C-4E65-826C-2E41C6445CA9}.Debug|Any CPU.Build.0 = Debug|Any CPU {DC306000-300C-4E65-826C-2E41C6445CA9}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -192,7 +186,6 @@ Global EndGlobalSection GlobalSection(NestedProjects) = preSolution {A6072CD1-A526-45F2-BB88-D1040AC3A7E8} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} - {6811E378-50B3-4206-BB48-1E56A2F2D90E} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} {DC306000-300C-4E65-826C-2E41C6445CA9} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} {E397A251-4373-4A8E-AA13-3891282DEDC7} = {5710A57F-57F8-4D50-8C78-82E2DFDCB613} {C26C4683-9840-4307-8774-F1F952E3591B} = {D105E6CD-626A-4C04-8AF6-0AA34A4E9CF4} diff --git a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj index f4e0de9f..ee517a8b 100644 --- a/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj +++ b/tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj @@ -17,6 +17,7 @@ Library False enable + true $(DefineConstants);$(OS) IL2C.Core.Test.BasicTypes @@ -38,10 +39,12 @@ + + diff --git a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj b/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj deleted file mode 100644 index b9b2cc9d..00000000 --- a/tests/IL2C.Core.Test.Common/IL2C.Core.Test.Common.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - - net48;net6.0 - Library - enable - - IL2C.Core.Test.Common - - - - - - - - - - - diff --git a/tests/IL2C.Core.Test.Common/Templates/TestMain.cs b/tests/IL2C.Core.Test.Common/Templates/TestMain.cs new file mode 100644 index 00000000..87fd6f3d --- /dev/null +++ b/tests/IL2C.Core.Test.Common/Templates/TestMain.cs @@ -0,0 +1,50 @@ +//////////////////////////////////////////////////////////////////////////// +// +// IL2C - A translator for ECMA-335 CIL/MSIL to C language. +// Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo@mastodon.cloud) +// +// Licensed under Apache-v2: https://opensource.org/licenses/Apache-2.0 +// +//////////////////////////////////////////////////////////////////////////// + +using System; + +namespace IL2C.Tests +{ + public static class TestMain + { + public static int Main() + { + try + { +#if {mainIsVoid} + //////////////////////// + // Execute target function. + + {mainSymbol}(); +#else + //////////////////////// + // Execute target function. + + var actual = {mainSymbol}(); + + //////////////////////// + // Check result. + + if (actual != {expected}) + { + Console.WriteLine(actual?.ToString()); + return 1; + } +#endif + } + catch (Exception ex) + { + Console.WriteLine(ex.ToString()); + return 2; + } + + return 0; + } + } +} diff --git a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs index db110d5f..048d505a 100644 --- a/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs +++ b/tests/IL2C.Core.Test.Common/TestCaseAttribute.cs @@ -159,12 +159,12 @@ public RunOnOSs RunOnOSs this.runOnOSs = value; var ignores = new List(); - if (Utilities.IsRunningOnWindows && + if (TestUtilities.IsRunningOnWindows && !value.HasFlag(RunOnOSs.Windows)) { ignores.Add("NotWindows"); } - if (!Utilities.IsRunningOnWindows && + if (!TestUtilities.IsRunningOnWindows && !value.HasFlag(RunOnOSs.Posix)) { ignores.Add("NotPosix"); @@ -195,12 +195,12 @@ public RunOnPlatforms RunOnPlatforms this.runOnPlatforms = value; var ignores = new List(); - if (!Utilities.IsRunningOnMono && + if (!TestUtilities.IsRunningOnMono && !value.HasFlag(RunOnPlatforms.DotNet)) { ignores.Add("NotDotNet"); } - if (Utilities.IsRunningOnMono && + if (TestUtilities.IsRunningOnMono && !value.HasFlag(RunOnPlatforms.Mono)) { ignores.Add("NotMono"); @@ -237,58 +237,5 @@ public void AfterTest(ITest test) { // TODO: delegates to test native code. } - -#if false - private static object?[] ConvertToArgumentsType(object?[] args, Type[] argumentTypes) => - args.Zip(argumentTypes, ConvertToArgumentType).ToArray(); - - private static object? ConvertToArgumentType(object? value, Type argumentType) - { - // This is helper function that convert between raw value type and argument type. - // Because .NET attribute can't have complex type arguments. - if (value == null) - { - return null; - } - else if (value.GetType() == argumentType) - { - return value; - } - else if (argumentType == typeof(IntPtr)) - { - if (value is int) - { - return new IntPtr((int)value); - } - else if (value is long) - { - return new IntPtr((long)value); - } - else - { - throw new InvalidCastException(); - } - } - else if (argumentType == typeof(UIntPtr)) - { - if (value is uint) - { - return new UIntPtr((uint)value); - } - else if (value is ulong) - { - return new UIntPtr((ulong)value); - } - else - { - throw new InvalidCastException(); - } - } - else - { - return Convert.ChangeType(value, argumentType); - } - } -#endif } } diff --git a/tests/IL2C.Core.Test.Common/Utilities.cs b/tests/IL2C.Core.Test.Common/TestUtilities.cs similarity index 94% rename from tests/IL2C.Core.Test.Common/Utilities.cs rename to tests/IL2C.Core.Test.Common/TestUtilities.cs index 401bf774..3ac9c549 100644 --- a/tests/IL2C.Core.Test.Common/Utilities.cs +++ b/tests/IL2C.Core.Test.Common/TestUtilities.cs @@ -15,7 +15,7 @@ namespace IL2C { [IgnoreTranslation] - public static class Utilities + public static class TestUtilities { public static readonly bool IsRunningOnWindows = Environment.OSVersion.Platform == PlatformID.Win32NT; diff --git a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj index e21e040b..93908afa 100644 --- a/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj +++ b/tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj @@ -17,6 +17,7 @@ Library False enable + true $(DefineConstants);$(OS) IL2C.Core.Test.ILConverters @@ -38,6 +39,7 @@ + diff --git a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj index a3ef22be..8a23debd 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj +++ b/tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj @@ -17,6 +17,7 @@ Library False enable + true $(DefineConstants);$(OS) IL2C.Core.Test.RuntimeSystems @@ -38,6 +39,7 @@ + From 69e0e8570db2ea587a9214810780f0314607be58 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 17:29:29 +0900 Subject: [PATCH 138/144] Testing GA script. --- .github/workflows/build-linux.yaml | 84 +++++++++++++++++---- .github/workflows/build-windows.yaml | 109 ++++++++++++++++++++------- NuGet.config | 1 - 3 files changed, 150 insertions(+), 44 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index d5ad4755..14b7d762 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -12,14 +12,27 @@ jobs: env: buildConfiguration: ${{ matrix.buildConfiguration }} steps: + + #---------------------------------------------------------------------- + - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 lfs: true - # https://stackoverflow.com/questions/61463578/github-actions-actions-checkoutv2-lfs-true-flag-not-converting-pointers-to-act + - name: Checkout LFS objects run: git lfs checkout + + - name: Extract branch name + id: extract_branch_name + run: | + $branch_name=$(git name-rev --name-only --exclude=tags/* HEAD) + echo "Detected current branch: ${branch_name}" + echo "::set-output name=branch_name::${branch_name}" + + #---------------------------------------------------------------------- + - name: Setup .NET Core 2.2 uses: actions/setup-dotnet@v1 with: @@ -36,33 +49,39 @@ jobs: uses: actions/setup-dotnet@v1 with: dotnet-version: 6.0.* + + #---------------------------------------------------------------------- + + #- name: Add msbuild to PATH + # uses: microsoft/setup-msbuild@v1.0.3 + + #- name: Setup NuGet CLI + # uses: nuget/setup-nuget@v1 + + #---------------------------------------------------------------------- + #- name: Initialize tools # run: bash .github/workflows/init-tools-on-ga.sh + #- name: Install dependencies # run: | # dotnet restore il2c.sln # dotnet restore samples/Calculator/Calculator.Core/Calculator.Core.csproj # dotnet restore samples/GettingStartedIL2C/GettingStartedIL2C.sln # dotnet restore samples/Calculator/Calculator.sln + + #---------------------------------------------------------------------- + - name: Build runtime library run: bash build-runtime.sh ${{env.buildConfiguration}} + + #---------------------------------------------------------------------- + - name: Build il2c run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER il2c.sln -# - name: Build GettingStartedIL2C-x86 -# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln -# - name: Build GettingStartedIL2C-x64 -# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/GettingStartedIL2C/GettingStartedIL2C.sln - - name: Build Calculator.Core - run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator.Core/Calculator.Core.csproj - - name: Build Calculator - run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator/Calculator.csproj -# - name: Build Calculator-x86 -# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln -# - name: Build Calculator-x64 -# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln - - name: Build Calculator-CMake-mingw32 - run: bash build.sh ${{env.buildConfiguration}} - working-directory: samples/Calculator/Calculator.CMake + + #---------------------------------------------------------------------- + - name: Test il2c (BasicTypes) run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True timeout-minutes: 20 @@ -72,3 +91,36 @@ jobs: - name: Test il2c (RuntimeSystems) run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True timeout-minutes: 20 + + #---------------------------------------------------------------------- + + #- name: Build GettingStartedIL2C-x86 + # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln + #- name: Build GettingStartedIL2C-x64 + # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/GettingStartedIL2C/GettingStartedIL2C.sln + - name: Build Calculator.Core + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator.Core/Calculator.Core.csproj + - name: Build Calculator + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator/Calculator.csproj + #- name: Build Calculator-x86 + # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln + #- name: Build Calculator-x64 + # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln + - name: Build Calculator-CMake-mingw32 + run: bash build.sh ${{env.buildConfiguration}} + working-directory: samples/Calculator/Calculator.CMake + + #---------------------------------------------------------------------- + + - name: Build packages + run: dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts il2c.sln + + #---------------------------------------------------------------------- + + #- name: Deploy NuGet package (devel/il2c-devel) + # if: startsWith( github.ref, 'refs/tags/' ) + # run: | + # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts\IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index a65960d4..6fc66493 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -12,14 +12,27 @@ jobs: env: buildConfiguration: ${{ matrix.buildConfiguration }} steps: + + #---------------------------------------------------------------------- + - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 lfs: true - # https://stackoverflow.com/questions/61463578/github-actions-actions-checkoutv2-lfs-true-flag-not-converting-pointers-to-act + - name: Checkout LFS objects run: git lfs checkout + + - name: Extract branch name + id: extract_branch_name + run: | + $branch_name=$(git name-rev --name-only --exclude=tags/* HEAD) + echo "Detected current branch: ${branch_name}" + echo "::set-output name=branch_name::${branch_name}" + + #---------------------------------------------------------------------- + - name: Setup .NET Core 2.2 uses: actions/setup-dotnet@v1 with: @@ -36,48 +49,90 @@ jobs: uses: actions/setup-dotnet@v1 with: dotnet-version: 6.0.* + + #---------------------------------------------------------------------- + - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.3 + + - name: Setup NuGet CLI + uses: nuget/setup-nuget@v1 + + #---------------------------------------------------------------------- + - name: Initialize tools run: init-tools.bat shell: cmd - - name: Install dependencies - run: | - msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore il2c.sln - msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\GettingStartedIL2C\GettingStartedIL2C.sln - msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\Calculator\Calculator.sln - # dotnet restore il2c.sln - # dotnet restore samples\GettingStartedIL2C\GettingStartedIL2C.sln - # dotnet restore samples\Calculator\Calculator.sln + + #- name: Install dependencies + # run: | + # msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore il2c.sln + # msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\GettingStartedIL2C\GettingStartedIL2C.sln + # msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\Calculator\Calculator.sln + + #---------------------------------------------------------------------- + - name: Build runtime library run: build-runtime.bat ${{env.buildConfiguration}} shell: cmd + + #---------------------------------------------------------------------- + - name: Build il2c - run: msbuild -p:Configuration=${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -maxCpuCount il2c.sln + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER il2c.sln + + #---------------------------------------------------------------------- + + - name: Test il2c (BasicTypes) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.BasicTypes\IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + - name: Test il2c (ILConverters) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.ILConverters\IL2C.Core.Test.ILConverters.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + - name: Test il2c (RuntimeSystems) + run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.RuntimeSystems\IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True + timeout-minutes: 20 + + #---------------------------------------------------------------------- + - name: Build GettingStartedIL2C-x86 run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - name: Build GettingStartedIL2C-x64 run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - name: Build Calculator.Core - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -maxCpuCount samples\Calculator\Calculator.Core\Calculator.Core.csproj + run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" -maxCpuCount samples\Calculator\Calculator.Core\Calculator.Core.csproj - name: Build Calculator - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -maxCpuCount samples\Calculator\Calculator\Calculator.csproj -# - name: Build Calculator-x86 -# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln -# - name: Build Calculator-x86 -# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln -# - name: Build Calculator-x64 -# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln + run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" -maxCpuCount samples\Calculator\Calculator\Calculator.csproj + #- name: Build Calculator-x86 + # run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln + #- name: Build Calculator-x64 + # run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln - name: Build Calculator-CMake-mingw32 run: build.bat ${{env.buildConfiguration}} shell: cmd working-directory: samples\Calculator\Calculator.CMake - - name: Test il2c (BasicTypes) - run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.BasicTypes\IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True - timeout-minutes: 20 - - name: Test il2c (ILConverters) - run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.ILConverters\IL2C.Core.Test.ILConverters.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True - timeout-minutes: 20 - - name: Test il2c (RuntimeSystems) - run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.RuntimeSystems\IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True - timeout-minutes: 20 + + #---------------------------------------------------------------------- + + - name: Build packages + run: dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts il2c.sln + + #---------------------------------------------------------------------- + + - name: Deploy NuGet package (devel/il2c-devel) + if: startsWith( github.ref, 'refs/tags/' ) + run: | + dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + dotnet nuget push artifacts\IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + dotnet nuget push artifacts\IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + + #---------------------------------------------------------------------- + + #- name: Deploy NuGet package (main/nuget.org) + # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'main')) + # run: | + # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts\IL2C.Build.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} diff --git a/NuGet.config b/NuGet.config index 394f7cb5..d7430828 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,6 +4,5 @@ - From 0e402b3d5773e3321852571869c537f253e55b26 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 17:31:22 +0900 Subject: [PATCH 139/144] Testing GA script. --- .github/workflows/build-linux.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 14b7d762..6079ade3 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -27,9 +27,9 @@ jobs: - name: Extract branch name id: extract_branch_name run: | - $branch_name=$(git name-rev --name-only --exclude=tags/* HEAD) - echo "Detected current branch: ${branch_name}" - echo "::set-output name=branch_name::${branch_name}" + export branch_name=`git name-rev --name-only --exclude=tags/* HEAD` + echo "Detected current branch: $branch_name" + echo "::set-output name=branch_name::$branch_name" #---------------------------------------------------------------------- From 408e2e8e624f35a6d0b0d54cebc45a0a36c694ec Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 17:38:16 +0900 Subject: [PATCH 140/144] Testing GA script. --- .github/workflows/build-linux.yaml | 17 ++++++++++------- .github/workflows/build-windows.yaml | 11 +++++------ .../Interoperability/Interoperability.cs | 5 ++--- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 6079ade3..e61e68c5 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -63,13 +63,6 @@ jobs: #- name: Initialize tools # run: bash .github/workflows/init-tools-on-ga.sh - #- name: Install dependencies - # run: | - # dotnet restore il2c.sln - # dotnet restore samples/Calculator/Calculator.Core/Calculator.Core.csproj -# dotnet restore samples/GettingStartedIL2C/GettingStartedIL2C.sln -# dotnet restore samples/Calculator/Calculator.sln - #---------------------------------------------------------------------- - name: Build runtime library @@ -124,3 +117,13 @@ jobs: # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} # dotnet nuget push artifacts\IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} # dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + + #---------------------------------------------------------------------- + + #- name: Deploy NuGet package (main/nuget.org) + # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'main')) + # run: | + # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts\IL2C.Build.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index 6fc66493..e7671b99 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -64,12 +64,6 @@ jobs: run: init-tools.bat shell: cmd - #- name: Install dependencies - # run: | - # msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore il2c.sln - # msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\GettingStartedIL2C\GettingStartedIL2C.sln - # msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\Calculator\Calculator.sln - #---------------------------------------------------------------------- - name: Build runtime library @@ -94,6 +88,11 @@ jobs: timeout-minutes: 20 #---------------------------------------------------------------------- + + - name: Install dependencies on samples + run: | + msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\GettingStartedIL2C\GettingStartedIL2C.sln + msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\Calculator\Calculator.sln - name: Build GettingStartedIL2C-x86 run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln diff --git a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs index d03b2cb6..6aa239a5 100644 --- a/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs +++ b/tests/IL2C.Core.Test.RuntimeSystems/Interoperability/Interoperability.cs @@ -8,9 +8,7 @@ //////////////////////////////////////////////////////////////////////////// using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -89,7 +87,8 @@ public static int PInvokeLStrLenW(string message) => private static extern IntPtr wcslen(string message); [TestCase(3, new[] { "PInvokeWcsLen", "wcslen" }, "ABC", - RunOnOSs = RunOnOSs.Posix)] + RunOnOSs = RunOnOSs.None)] + //RunOnOSs = RunOnOSs.Posix)] // TODO: #124 public static int PInvokeWcsLen(string message) => wcslen(message).ToInt32(); From ec713bc3f5f6f1e62b0dcacb43ad2191f6a70cd0 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 17:56:57 +0900 Subject: [PATCH 141/144] Testing GA script. --- .github/workflows/build-linux.yaml | 19 ++++++++++++------- .github/workflows/build-windows.yaml | 22 +++++++++++----------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index e61e68c5..51634175 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -87,18 +87,19 @@ jobs: #---------------------------------------------------------------------- - #- name: Build GettingStartedIL2C-x86 - # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln - #- name: Build GettingStartedIL2C-x64 - # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/GettingStartedIL2C/GettingStartedIL2C.sln + - name: Build GettingStartedIL2C + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples/GettingStartedIL2C/GettingStartedIL2C.sln + - name: Build Calculator.Core - run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator.Core/Calculator.Core.csproj + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples/Calculator/Calculator.Core/Calculator.Core.csproj - name: Build Calculator - run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator/Calculator.csproj + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples/Calculator/Calculator/Calculator.csproj + #- name: Build Calculator-x86 # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln #- name: Build Calculator-x64 # run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln + - name: Build Calculator-CMake-mingw32 run: bash build.sh ${{env.buildConfiguration}} working-directory: samples/Calculator/Calculator.CMake @@ -106,7 +107,11 @@ jobs: #---------------------------------------------------------------------- - name: Build packages - run: dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts il2c.sln + run: | + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Interop/IL2C.Interop.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Core/IL2C.Core.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Build/IL2C.Build.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj #---------------------------------------------------------------------- diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index e7671b99..bc9c374f 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -89,23 +89,19 @@ jobs: #---------------------------------------------------------------------- - - name: Install dependencies on samples - run: | - msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\GettingStartedIL2C\GettingStartedIL2C.sln - msbuild -p:Configuration=${{env.buildConfiguration}} -t:restore samples\Calculator\Calculator.sln + - name: Build GettingStartedIL2C + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples\GettingStartedIL2C\GettingStartedIL2C.sln - - name: Build GettingStartedIL2C-x86 - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - - name: Build GettingStartedIL2C-x64 - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln - name: Build Calculator.Core - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" -maxCpuCount samples\Calculator\Calculator.Core\Calculator.Core.csproj + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples\Calculator\Calculator.Core\Calculator.Core.csproj - name: Build Calculator - run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" -maxCpuCount samples\Calculator\Calculator\Calculator.csproj + run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples\Calculator\Calculator\Calculator.csproj + #- name: Build Calculator-x86 # run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln #- name: Build Calculator-x64 # run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln + - name: Build Calculator-CMake-mingw32 run: build.bat ${{env.buildConfiguration}} shell: cmd @@ -114,7 +110,11 @@ jobs: #---------------------------------------------------------------------- - name: Build packages - run: dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts il2c.sln + run: | + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Interop\IL2C.Interop.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Core\IL2C.Core.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Build\IL2C.Build.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Toolchain.gcc4.mingw32\IL2C.Toolchain.gcc4.mingw32.csproj #---------------------------------------------------------------------- From 08e7a785a3bbc10e2d80fee5fe2335802cd35ba8 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 18:13:04 +0900 Subject: [PATCH 142/144] Testing GA script. --- .github/workflows/build-linux.yaml | 28 ++++++++++++++-------------- .github/workflows/build-windows.yaml | 12 ++++++------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 51634175..466a16be 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -108,27 +108,27 @@ jobs: - name: Build packages run: | - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Interop/IL2C.Interop.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Core/IL2C.Core.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Build/IL2C.Build.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Interop/IL2C.Interop.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Core/IL2C.Core.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Build/IL2C.Build.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj #---------------------------------------------------------------------- #- name: Deploy NuGet package (devel/il2c-devel) # if: startsWith( github.ref, 'refs/tags/' ) # run: | - # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} - # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} - # dotnet nuget push artifacts\IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} - # dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts/IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts/IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts/IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} + # dotnet nuget push artifacts/IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} #---------------------------------------------------------------------- - #- name: Deploy NuGet package (main/nuget.org) - # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'main')) + #- name: Deploy NuGet package (master/nuget.org) + # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master')) # run: | - # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} - # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} - # dotnet nuget push artifacts\IL2C.Build.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} - # dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts/IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts/IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts/IL2C.Build.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} + # dotnet nuget push artifacts/IL2C.Toolchain.gcc4.mingw32.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index bc9c374f..fd236ea0 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -111,10 +111,10 @@ jobs: - name: Build packages run: | - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Interop\IL2C.Interop.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Core\IL2C.Core.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Build\IL2C.Build.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts IL2C.Toolchain.gcc4.mingw32\IL2C.Toolchain.gcc4.mingw32.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Interop\IL2C.Interop.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Core\IL2C.Core.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Build\IL2C.Build.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Toolchain.gcc4.mingw32\IL2C.Toolchain.gcc4.mingw32.csproj #---------------------------------------------------------------------- @@ -128,8 +128,8 @@ jobs: #---------------------------------------------------------------------- - #- name: Deploy NuGet package (main/nuget.org) - # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'main')) + #- name: Deploy NuGet package (master/nuget.org) + # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master')) # run: | # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} From 46ce79d3bf3831c6c64c71567c971cc5c317f128 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 18:49:54 +0900 Subject: [PATCH 143/144] Testing GA script. --- .github/workflows/build-linux.yaml | 2 +- .github/workflows/build-windows.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index 466a16be..c452329e 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -111,7 +111,7 @@ jobs: dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Interop/IL2C.Interop.csproj dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Core/IL2C.Core.csproj dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Build/IL2C.Build.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj #---------------------------------------------------------------------- diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index fd236ea0..ec3d845d 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -114,7 +114,7 @@ jobs: dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Interop\IL2C.Interop.csproj dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Core\IL2C.Core.csproj dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Build\IL2C.Build.csproj - dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Toolchain.gcc4.mingw32\IL2C.Toolchain.gcc4.mingw32.csproj + dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts misc\IL2C.Toolchain.gcc4.mingw32\IL2C.Toolchain.gcc4.mingw32.csproj #---------------------------------------------------------------------- From 59075afc7d5a8987b21e25cfacac9ead0ca930f9 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Sun, 12 Jun 2022 19:04:04 +0900 Subject: [PATCH 144/144] Testing GA script. --- .github/workflows/build-linux.yaml | 8 ++++---- .github/workflows/build-windows.yaml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-linux.yaml b/.github/workflows/build-linux.yaml index c452329e..8d5ad7dc 100644 --- a/.github/workflows/build-linux.yaml +++ b/.github/workflows/build-linux.yaml @@ -115,8 +115,8 @@ jobs: #---------------------------------------------------------------------- - #- name: Deploy NuGet package (devel/il2c-devel) - # if: startsWith( github.ref, 'refs/tags/' ) + #- name: Deploy NuGet package (Release/devel/il2c-devel) + # if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/')) # run: | # dotnet nuget push artifacts/IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} # dotnet nuget push artifacts/IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} @@ -125,8 +125,8 @@ jobs: #---------------------------------------------------------------------- - #- name: Deploy NuGet package (master/nuget.org) - # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master')) + #- name: Deploy NuGet package (Release/master/nuget.org) + # if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/')) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master')) # run: | # dotnet nuget push artifacts/IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} # dotnet nuget push artifacts/IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} diff --git a/.github/workflows/build-windows.yaml b/.github/workflows/build-windows.yaml index ec3d845d..51d79290 100644 --- a/.github/workflows/build-windows.yaml +++ b/.github/workflows/build-windows.yaml @@ -118,8 +118,8 @@ jobs: #---------------------------------------------------------------------- - - name: Deploy NuGet package (devel/il2c-devel) - if: startsWith( github.ref, 'refs/tags/' ) + - name: Deploy NuGet package (Release/devel/il2c-devel) + if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/')) run: | dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} dotnet nuget push artifacts\IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}} @@ -128,8 +128,8 @@ jobs: #---------------------------------------------------------------------- - #- name: Deploy NuGet package (master/nuget.org) - # if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master')) + #- name: Deploy NuGet package (Release/master/nuget.org) + # if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/')) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master')) # run: | # dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}} # dotnet nuget push artifacts\IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}

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

IX9kiKm}aLZt0H$Z(aNh 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