Namespace ns = targetNamespace;
string prev_namespace = null;
foreach (var t in types) {
+ if (!t.__IsTypeForwarder)
+ continue;
+
// IsMissing tells us the type has been forwarded and target assembly is missing
if (!t.__IsMissing)
continue;
}
}
+ public AssemblyDefinitionStatic CompiledAssembly { get; set; }
+
public Universe Domain {
get {
return domain;
return version_mismatch;
}
+ //
+ // Recursive reference to compiled assembly checks name only. Any other
+ // details (PublicKey, Version, etc) are not yet known hence cannot be checked
+ //
+ ParsedAssemblyName referenced_assembly;
+ if (Fusion.ParseAssemblyName (args.Name, out referenced_assembly) == ParseAssemblyResult.OK && CompiledAssembly.Name == referenced_assembly.Name)
+ return CompiledAssembly.Builder;
+
// AssemblyReference has not been found in the domain
// create missing reference and continue
return domain.CreateMissingAssembly (args.Name);