private void EmitReferences()
{
SimpleHashtable emitted = new SimpleHashtable((uint)this.vsaItems.Count + (this.implicitAssemblies == null ? 0 : (uint)this.implicitAssemblies.Count));
foreach (Object item in this.vsaItems){
if (item is VsaReference){
String referenceName = ((VsaReference)item).Assembly.GetName().FullName;
// do not write duplicate assemblies
if (emitted[referenceName] == null){
CustomAttributeBuilder cab = new CustomAttributeBuilder(CompilerGlobals.referenceAttributeConstructor, new Object[1] {referenceName});
this.CompilerGlobals.assemblyBuilder.SetCustomAttribute(cab);
emitted[referenceName] = item;
}
}
}
if (this.implicitAssemblies != null){
foreach (Object item in this.implicitAssemblies){
Assembly a = item as Assembly;
if (a != null){
String referenceName = a.GetName().FullName;
// do not write duplicate assemblies
if (emitted[referenceName] == null){
CustomAttributeBuilder cab = new CustomAttributeBuilder(CompilerGlobals.referenceAttributeConstructor, new Object[1] {referenceName});
this.CompilerGlobals.assemblyBuilder.SetCustomAttribute(cab);
emitted[referenceName] = item;
}
}
}
}
}