internal virtual void ResolveParent(PEReader buff, bool isExtern)
{
CIx cIx = CIx.ResolutionScope;
if (isExtern) cIx = CIx.Implementation;
if (scope != null) return;
MetaDataElement parentScope = buff.GetCodedElement(cIx,resScopeIx);
if (parentScope is Module) { // special code for glitch in Everett ilasm
ClassDef newDef = new ClassDef((PEFile)parentScope,0,nameSpace,name);
((Module)parentScope).AddToClassList(newDef);
buff.InsertInTable(MDTable.TypeRef,Row,newDef);
} else {
scope = (ReferenceScope)buff.GetCodedElement(cIx,resScopeIx);
ClassRef existing = (ClassRef)scope.GetExistingClass(nameSpace,name);
if (existing == null) {
scope.AddToClassList(this);
} else {
if (isExtern)
buff.InsertInTable(MDTable.ExportedType,Row,existing);
else
buff.InsertInTable(MDTable.TypeRef,Row,existing);
}
}
}