/// <summary> /// Add a nested class to this class /// </summary> /// <param name="attrSet">attributes for this nested class</param> /// <param name="name">nested class name</param> /// <returns>a descriptor for this new nested class</returns> public NestedClassDef AddNestedClass(TypeAttr attrSet, string name) { NestedClassDef nClass = GetNestedClass(name); if (nClass != null) throw new DescriptorException("Nested Class " + nClass.NameString()); nClass = new NestedClassDef(this, attrSet, name); nestedClasses.Add(nClass); return (nClass); }
internal NestedClassDef MakeNestedClass(ClassDef parent) { Contract.Requires(parent != null); NestedClassDef nClass = new NestedClassDef(parent, (TypeAttr)flags, Name); ClassDef tmp = nClass; tmp.fieldIx = fieldIx; tmp.fieldEndIx = fieldEndIx; tmp.methodIx = methodIx; tmp.methodEndIx = methodEndIx; tmp.extendsIx = extendsIx; tmp.Row = Row; parent.nestedClasses.Add(nClass); return nClass; }