private static void VerifyAssemblyReferences( MetadataReference target, ImmutableArray <MetadataReference> references, ImmutableArray <AssemblyIdentity> expectedIdentities) { Assert.True(references.Contains(target)); var modules = references.SelectAsArray(r => r.ToModuleInstance(fullImage: null, symReader: null, includeLocalSignatures: false)); using (var runtime = new RuntimeInstance(modules)) { var moduleVersionId = target.GetModuleVersionId(); var blocks = runtime.Modules.SelectAsArray(m => m.MetadataBlock); var actualReferences = blocks.MakeAssemblyReferences(moduleVersionId, Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.CompilationExtensions.IdentityComparer); // Verify identities. var actualIdentities = actualReferences.SelectAsArray(r => r.GetAssemblyIdentity()); AssertEx.Equal(expectedIdentities, actualIdentities); // Verify identities are unique. var uniqueIdentities = actualIdentities.Distinct(); Assert.Equal(actualIdentities.Length, uniqueIdentities.Length); } }
private static void VerifyAssemblyReferences( MetadataReference target, ImmutableArray <MetadataReference> references, ImmutableArray <AssemblyIdentity> expectedIdentities) { Assert.True(references.Contains(target)); var modules = references.SelectAsArray(r => r.ToModuleInstance()); using (var runtime = new RuntimeInstance(modules, DebugInformationFormat.Pdb)) { var moduleVersionId = target.GetModuleVersionId(); var blocks = runtime.Modules.SelectAsArray(m => m.MetadataBlock); var actualReferences = blocks.MakeAssemblyReferences(moduleVersionId, CompilationExtensions.IdentityComparer); // Verify identities. var actualIdentities = actualReferences.SelectAsArray(r => r.GetAssemblyIdentity()); AssertEx.Equal(expectedIdentities, actualIdentities); // Verify identities are unique. var uniqueIdentities = actualIdentities.Distinct(); Assert.Equal(actualIdentities.Length, uniqueIdentities.Length); } }
private static void VerifyAssemblyReferences( MetadataReference target, ImmutableArray<MetadataReference> references, ImmutableArray<AssemblyIdentity> expectedIdentities) { Assert.True(references.Contains(target)); var modules = references.SelectAsArray(r => r.ToModuleInstance()); using (var runtime = new RuntimeInstance(modules)) { var moduleVersionId = target.GetModuleVersionId(); var blocks = runtime.Modules.SelectAsArray(m => m.MetadataBlock); var actualReferences = blocks.MakeAssemblyReferences(moduleVersionId, CompilationExtensions.IdentityComparer); // Verify identities. var actualIdentities = actualReferences.SelectAsArray(r => r.GetAssemblyIdentity()); AssertEx.Equal(expectedIdentities, actualIdentities); // Verify identities are unique. var uniqueIdentities = actualIdentities.Distinct(); Assert.Equal(actualIdentities.Length, uniqueIdentities.Length); } }
private static void VerifyAssemblyReferences( MetadataReference target, ImmutableArray<MetadataReference> references, ImmutableArray<AssemblyIdentity> expectedIdentities) { Assert.True(references.Contains(target)); var modules = references.SelectAsArray(r => r.ToModuleInstance(fullImage: null, symReader: null, includeLocalSignatures: false)); using (var runtime = new RuntimeInstance(modules)) { var moduleVersionId = target.GetModuleVersionId(); var blocks = runtime.Modules.SelectAsArray(m => m.MetadataBlock); var actualReferences = blocks.MakeAssemblyReferences(moduleVersionId, Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.CompilationExtensions.IdentityComparer); // Verify identities. var actualIdentities = actualReferences.SelectAsArray(r => r.GetAssemblyIdentity()); AssertEx.Equal(expectedIdentities, actualIdentities); // Verify identities are unique. var uniqueIdentities = actualIdentities.Distinct(); Assert.Equal(actualIdentities.Length, uniqueIdentities.Length); } }