internal override void ResolveParent(PEReader buff, bool isExtern) { if (parent != null) return; CIx cIx = CIx.ResolutionScope; if (isExtern) cIx = CIx.Implementation; parent = (ClassRef)buff.GetCodedElement(cIx,resScopeIx); parent.ResolveParent(buff,isExtern); parent = (ClassRef)buff.GetCodedElement(cIx,resScopeIx); if (parent == null) return; NestedClassRef existing = parent.GetNestedClass(name); if (existing == null) { scope = parent.GetScope(); parent.AddToClassList(this); } else if (isExtern) buff.InsertInTable(MDTable.ExportedType,Row,existing); else buff.InsertInTable(MDTable.TypeRef,Row,existing); }
/*-------------------- Constructors ---------------------------------*/ internal NestedClassRef(ClassRef parent, string name) : base(parent.GetScope(),"",name) { this.parent = parent; }