diff options
Diffstat (limited to 'tests/src/Loader/classloader/PrivateInterfaceImpl')
14 files changed, 698 insertions, 0 deletions
diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.cs b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.cs new file mode 100644 index 0000000000..990504cdd7 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.cs @@ -0,0 +1,17 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +public interface IA +{ + void methodIA(); +} + + +public interface IB<t> +{ + void methodIB(); +} + diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.csproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.csproj new file mode 100644 index 0000000000..0c4c9f2fb3 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.csproj @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <AssemblyName>Test2_NonFriendPriInterface</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <OutputType>Library</OutputType> + <CLRTestKind>BuildOnly</CLRTestKind> + <CLRTestPriority>0</CLRTestPriority> + </PropertyGroup> + + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + + <ItemGroup> + <Compile Include="Test2_NonFriendPriInterface.cs" /> + </ItemGroup> + + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.il b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.il new file mode 100644 index 0000000000..83a1385f1b --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.il @@ -0,0 +1,58 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +.assembly extern System.Console { } + +// Microsoft (R) .NET Framework IL Disassembler. Version 2.0.40914.00 +// Copyright (C) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v2.0.40914 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 2:0:3600:0 +} +.assembly Test2_NonFriendPriInterface +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module Test2_NonFriendPriInterface.dll +// MVID: {492107BD-BB96-4344-A839-40CBDEBAB59A} +.imagebase 0x00400000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x03F40000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class interface private abstract auto ansi IA +{ + .method public hidebysig newslot abstract virtual + instance void methodIA() cil managed + { + } // end of method IA::methodIA + +} // end of class IA + +.class interface private abstract auto ansi 'IB`1'<([mscorlib]System.Object) t> +{ + .method public hidebysig newslot abstract virtual + instance void methodIB() cil managed + { + } // end of method 'IB`1'::methodIB + +} // end of class 'IB`1' + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** +// WARNING: Created Win32 resource file Test2_NonFriendPriInterface.res diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.ilproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.ilproj new file mode 100644 index 0000000000..5f06568245 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.ilproj @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <AssemblyName>Test2_NonFriendPriInterface</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>true</ReferenceLocalMscorlib> + <OutputType>Library</OutputType> + <CLRTestKind>BuildOnly</CLRTestKind> + <CLRTestPriority>0</CLRTestPriority> + </PropertyGroup> + + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + + <ItemGroup> + <Compile Include="Test2_NonFriendPriInterface.il" /> + </ItemGroup> + + <ItemGroup> + <None Include="app.config" /> + </ItemGroup> + + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_FriendPriInterface.il b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_FriendPriInterface.il new file mode 100644 index 0000000000..963077526e --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_FriendPriInterface.il @@ -0,0 +1,65 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +.assembly extern System.Console { } + +// Microsoft (R) .NET Framework IL Disassembler. Version 2.0.40922.00 +// Copyright (C) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v2.0.40922 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 2:0:3600:0 +} +.assembly Test6_FriendPriInterface +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.InternalsVisibleToAttribute::.ctor(string) = ( 01 00 23 54 65 73 74 36 5F 73 75 70 70 6C 69 65 // ..#Test6_supplie + 72 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 // r, PublicKeyToke + 6E 3D 6E 75 6C 6C 00 00 ) // n=null.. + .custom instance void [mscorlib]System.Runtime.CompilerServices.InternalsVisibleToAttribute::.ctor(string) = ( 01 00 2C 54 65 73 74 36 5F 49 6D 70 6C 65 6D 65 // ..,Test6_Impleme + 6E 74 69 6E 67 43 6C 61 73 73 2C 20 50 75 62 6C // ntingClass, Publ + 69 63 4B 65 79 54 6F 6B 65 6E 3D 6E 75 6C 6C 00 // icKeyToken=null. + 00 ) + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module Test6_FriendPriInterface.dll +// MVID: {1B87B22B-74B6-4B85-86F0-0F70258C2D18} +.imagebase 0x00400000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x03E50000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class interface private abstract auto ansi IA +{ + .method public hidebysig newslot abstract virtual + instance void methodIA() cil managed + { + } // end of method IA::methodIA + +} // end of class IA + +.class interface private abstract auto ansi 'IB`1'<([mscorlib]System.Object) T> +{ + .method public hidebysig newslot abstract virtual + instance void methodIB() cil managed + { + } // end of method 'IB`1'::methodIB + +} // end of class 'IB`1' + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** +// WARNING: Created Win32 resource file Test6_FriendPriInterface.res diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_FriendPriInterface.ilproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_FriendPriInterface.ilproj new file mode 100644 index 0000000000..19544aa58b --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_FriendPriInterface.ilproj @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <AssemblyName>Test6_FriendPriInterface</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>true</ReferenceLocalMscorlib> + <OutputType>Library</OutputType> + <CLRTestKind>BuildOnly</CLRTestKind> + <CLRTestPriority>0</CLRTestPriority> + </PropertyGroup> + + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + + <ItemGroup> + <Compile Include="Test6_FriendPriInterface.il" /> + </ItemGroup> + + <ItemGroup> + <None Include="app.config" /> + </ItemGroup> + + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.il b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.il new file mode 100644 index 0000000000..1ac73d68d4 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.il @@ -0,0 +1,186 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +.assembly extern System.Console { } + +// Microsoft (R) .NET Framework IL Disassembler. Version 2.0.40922.00 +// Copyright (C) Microsoft Corporation. All rights reserved. + + + +// Metadata version: v2.0.40922 +.assembly extern mscorlib +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. + .ver 2:0:3600:0 +} +.assembly extern Test6_forwarder +{ + .ver 0:0:0:0 +} +.assembly extern Test6_FriendPriInterface +{ + .ver 0:0:0:0 +} +.assembly Test6_ImplementingClass +{ + .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.module Test6_ImplementingClass.exe +// MVID: {899F22E9-D0C0-4B61-9698-A96DF1D4E4BE} +.imagebase 0x00400000 +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 // WINDOWS_CUI +.corflags 0x00000001 // ILONLY +// Image base: 0x03E50000 + + +// =============== CLASS MEMBERS DECLARATION =================== + +.class public auto ansi beforefieldinit Test + extends [mscorlib]System.Object +{ + .method public hidebysig static void method1() cil managed + { + // Code size 14 (0xe) + .maxstack 1 + .locals init (class [Test6_FriendPriInterface]IA V_0) + IL_0000: newobj instance void [Test6_forwarder]A::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: callvirt instance void [Test6_FriendPriInterface]IA::methodIA() + IL_000c: nop + IL_000d: ret + } // end of method Test::method1 + + .method public hidebysig static void method2() cil managed + { + // Code size 14 (0xe) + .maxstack 1 + .locals init (class [Test6_FriendPriInterface]'IB`1'<int32> V_0) + IL_0000: newobj instance void [Test6_forwarder]B::.ctor() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: callvirt instance void class [Test6_FriendPriInterface]'IB`1'<int32>::methodIB() + IL_000c: nop + IL_000d: ret + } // end of method Test::method2 + + .method public hidebysig static int32 Main() cil managed + { + .entrypoint + // Code size 130 (0x82) + .maxstack 2 + .locals init ([0] int32 exitCode1, + [1] int32 exitCode2, + [2] class [mscorlib]System.Exception e, + [3] int32 CS$1$0000, + [4] bool CS$4$0001) + .try + { + IL_0000: call void Test::method1() + IL_0005: nop + IL_0006: ldstr "PASS at method1(): Loaded type A" + IL_000b: call void [System.Console]System.Console::WriteLine(string) + IL_0010: nop + IL_0011: ldc.i4.s 100 + IL_0013: stloc.0 + IL_0014: nop + IL_0015: leave.s IL_002f + + } // end .try + catch [mscorlib]System.Exception + { + IL_0017: stloc.2 + IL_0018: ldstr "FAIL at method1(): Caught unexpected exception: " + IL_001d: ldloc.2 + IL_001e: call string [mscorlib]System.String::Concat(object, + object) + IL_0023: call void [System.Console]System.Console::WriteLine(string) + IL_0028: nop + IL_0029: ldc.i4.s 101 + IL_002b: stloc.0 + IL_002c: nop + IL_002d: leave.s IL_002f + + } // end handler + IL_002f: nop + .try + { + IL_0030: call void Test::method2() + IL_0035: nop + IL_0036: ldstr "PASS at method2(): Loaded type B" + IL_003b: call void [System.Console]System.Console::WriteLine(string) + IL_0040: nop + IL_0041: ldc.i4.s 100 + IL_0043: stloc.1 + IL_0044: nop + IL_0045: leave.s IL_005f + + } // end .try + catch [mscorlib]System.Exception + { + IL_0047: stloc.2 + IL_0048: ldstr "FAIL at method2(): Caught unexpected exception: " + IL_004d: ldloc.2 + IL_004e: call string [mscorlib]System.String::Concat(object, + object) + IL_0053: call void [System.Console]System.Console::WriteLine(string) + IL_0058: nop + IL_0059: ldc.i4.s 101 + IL_005b: stloc.1 + IL_005c: nop + IL_005d: leave.s IL_005f + + } // end handler + IL_005f: nop + IL_0060: ldloc.0 + IL_0061: ldc.i4.s 100 + IL_0063: bne.un.s IL_006f + + IL_0065: ldloc.1 + IL_0066: ldc.i4.s 100 + IL_0068: ceq + IL_006a: ldc.i4.0 + IL_006b: ceq + IL_006d: br.s IL_0070 + + IL_006f: ldc.i4.1 + IL_0070: stloc.s CS$4$0001 + IL_0072: ldloc.s CS$4$0001 + IL_0074: brtrue.s IL_007b + + IL_0076: ldc.i4.s 100 + IL_0078: stloc.3 + IL_0079: br.s IL_0080 + + IL_007b: ldc.i4.s 101 + IL_007d: stloc.3 + IL_007e: br.s IL_0080 + + IL_0080: ldloc.3 + IL_0081: ret + } // end of method Test::Main + + + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method Test::.ctor + +} // end of class Test + + +// ============================================================= + +// *********** DISASSEMBLY COMPLETE *********************** +// WARNING: Created Win32 resource file Test6_ImplementingClass.res diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj new file mode 100644 index 0000000000..eb21b948b3 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_ImplementingClass.ilproj @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <AssemblyName>Test6_ImplementingClass</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>true</ReferenceLocalMscorlib> + <OutputType>Exe</OutputType> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>0</CLRTestPriority> + </PropertyGroup> + + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + + <ItemGroup> + <Compile Include="Test6_ImplementingClass.il" /> + </ItemGroup> + + <ItemGroup> + <None Include="app.config" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="Test6_forwarder.ilproj" /> + <ProjectReference Include="Test6_FriendPriInterface.ilproj" /> + </ItemGroup> + + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_forwarder.il b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_forwarder.il new file mode 100644 index 0000000000..0b70c27410 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_forwarder.il @@ -0,0 +1,18 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +.assembly extern System.Console { } +.assembly Test6_forwarder{} +.assembly extern mscorlib{} +.assembly extern Test6_supplier{} + + +.class extern public forwarder A{ + .assembly extern Test6_supplier +} + + +.class extern public forwarder B{ + .assembly extern Test6_supplier +} diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_forwarder.ilproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_forwarder.ilproj new file mode 100644 index 0000000000..ee8f5f4f64 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_forwarder.ilproj @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <AssemblyName>Test6_forwarder</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <OutputType>Library</OutputType> + <CLRTestKind>BuildOnly</CLRTestKind> + <CLRTestPriority>0</CLRTestPriority> + </PropertyGroup> + + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + + <ItemGroup> + <Compile Include="Test6_forwarder.il" /> + </ItemGroup> + + <ItemGroup> + <None Include="app.config" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="Test6_supplier.ilproj" /> + <ProjectReference Include="Test6_supplier.ilproj" /> + </ItemGroup> + + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_supplier.il b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_supplier.il new file mode 100644 index 0000000000..6247b93f45 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_supplier.il @@ -0,0 +1,53 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +.assembly extern System.Console { } +.assembly Test6_supplier{} + +.assembly extern mscorlib{} +.assembly extern Test6_FriendPriInterface{} + + +.class public A implements [Test6_FriendPriInterface]IA +{ +.method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method A::.ctor + +.method public hidebysig virtual final + instance void methodIA() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0006: ret + } // end of method A::.ctor +} + + +.class public B implements class [Test6_FriendPriInterface]'IB`1'<int32> +{ +.method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [mscorlib]System.Object::.ctor() + IL_0006: ret + } // end of method B::.ctor + +.method public hidebysig virtual final + instance void methodIB() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0006: ret + } // end of method B::.ctor +} diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_supplier.ilproj b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_supplier.ilproj new file mode 100644 index 0000000000..2165a3f194 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/Test6_supplier.ilproj @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <AssemblyName>Test6_supplier</AssemblyName> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>true</ReferenceLocalMscorlib> + <OutputType>Library</OutputType> + <CLRTestKind>BuildOnly</CLRTestKind> + <CLRTestPriority>0</CLRTestPriority> + </PropertyGroup> + + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + + <ItemGroup> + <Compile Include="Test6_supplier.il" /> + </ItemGroup> + + <ItemGroup> + <None Include="app.config" /> + </ItemGroup> + + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/app.config b/tests/src/Loader/classloader/PrivateInterfaceImpl/app.config new file mode 100644 index 0000000000..e5622f77ad --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/app.config @@ -0,0 +1,27 @@ +<?xml version = "1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> diff --git a/tests/src/Loader/classloader/PrivateInterfaceImpl/project.json b/tests/src/Loader/classloader/PrivateInterfaceImpl/project.json new file mode 100644 index 0000000000..a2e84dc340 --- /dev/null +++ b/tests/src/Loader/classloader/PrivateInterfaceImpl/project.json @@ -0,0 +1,35 @@ +{ + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1-rc2-23816", + "System.Collections": "4.0.10", + "System.Collections.NonGeneric": "4.0.1-rc2-23816", + "System.Collections.Specialized": "4.0.1-rc2-23816", + "System.ComponentModel": "4.0.1-rc2-23816", + "System.Console": "4.0.0-rc2-23816", + "System.Diagnostics.Process": "4.1.0-rc2-23816", + "System.Globalization": "4.0.10", + "System.Globalization.Calendars": "4.0.0", + "System.IO": "4.0.10", + "System.IO.FileSystem": "4.0.0", + "System.IO.FileSystem.Primitives": "4.0.0", + "System.Linq": "4.0.1-rc2-23816", + "System.Linq.Queryable": "4.0.1-rc2-23816", + "System.Reflection": "4.0.10", + "System.Reflection.Primitives": "4.0.0", + "System.Runtime": "4.1.0-rc2-23816", + "System.Runtime.Extensions": "4.0.10", + "System.Runtime.Handles": "4.0.0", + "System.Runtime.InteropServices": "4.1.0-rc2-23816", + "System.Runtime.Loader": "4.0.0-rc2-23816", + "System.Text.Encoding": "4.0.10", + "System.Threading": "4.0.10", + "System.Threading.Thread": "4.0.0-rc2-23816", + "System.Xml.ReaderWriter": "4.0.11-rc2-23816", + "System.Xml.XDocument": "4.0.11-rc2-23816", + "System.Xml.XmlDocument": "4.0.1-rc2-23816", + "System.Xml.XmlSerializer": "4.0.11-rc2-23816" + }, + "frameworks": { + "dnxcore50": {} + } +} |