private void CheckAttributes(Symbol s, AttributeArgs[] expected) { int i = 0; foreach (var sa in s.GetAttributes()) { int j = 0; foreach (var pa in sa.CommonConstructorArguments) { CheckConstructorArg(expected[i].Pos[j], pa.Value.ToString()); j += 1; } j = 0; foreach (var na in sa.CommonNamedArguments) { CheckNamedArg(expected[i].Named[j], na); j += 1; } i += 1; } }
public void TestDumpAllAttributesTesLib() { var assemblies = MetadataTestHelpers.GetSymbolsForReferences(new[] { TestReferences.SymbolsTests.Metadata.MDTestAttributeDefLib , TestReferences.NetFx.v4_0_21006.mscorlib }); var assemblyArgs = new AttributeArgs[] { new AttributeArgs(new string[]{ "8"} , null), new AttributeArgs(null, new KeyValuePair<string, string>[]{ new KeyValuePair<string, string>("WrapNonExceptionThrows", "True")} ) }; CheckAttributes(assemblies[0], assemblyArgs); DumpAttributes(assemblies[0].Modules[0]); }