internal void resolveReferences(MetaDataLoader loader, MetaDataTypeDefinition[] fieldOwners, MetaDataTypeDefinition[] methodOwners) { this.extends = loader.getTypeDefOrRef(this.extendsIndex); // fieldOwners[fieldOwners.Length-1] == null, so this is safe int fieldEndIndex = this.fieldIndex; while (fieldOwners[fieldEndIndex] == this) { loader.getField(fieldEndIndex).resolveReferences(this); fieldEndIndex++; } int fieldCount = fieldEndIndex - this.fieldIndex; this.fieldArray = loader.getFields(this.fieldIndex, fieldCount); // methodOwners[methodOwners.Length-1] == null, so this is safe int methodEndIndex = this.methodIndex; while (methodOwners[methodEndIndex] == this) { loader.getMethod(methodEndIndex).setParent(this); methodEndIndex++; } int methodCount = methodEndIndex - this.methodIndex; this.methodArray = loader.getMethods(this.methodIndex, methodCount); }
// This is technically not a constructor method, but it is meant to // be used to set up the object internal void resolveReferences(MetaDataLoader loader, ArrayList[] interfaceListArray) { this.classObject = loader.getTypeDef(this.classIndex); this.interfaceObject = loader.getTypeDefOrRef(this.interfaceIndex); if (interfaceListArray[this.classIndex] == null) { interfaceListArray[this.classIndex] = new ArrayList(); } interfaceListArray[this.classIndex].Add(this.interfaceObject); }
private Modifier parseSignatureModifiers(MetaDataLoader mdLoader) { Modifier result = null; ElementTypes mod = (ElementTypes)this.buffer[this.offset]; while (mod == ElementTypes.CMOD_REQD || mod == ElementTypes.CMOD_OPT) { this.offset++; uint typeEncoded = uncompressInt(this.buffer, ref this.offset); // BUGBUG: type conversion on int. MetaDataObject type = mdLoader.getTypeDefOrRef((int)typeEncoded); result = new Modifier(mod, type, result); if (this.offset < this.buffer.Length) { mod = (ElementTypes)this.buffer[this.offset]; } else { mod = ElementTypes.VOID; } } return(result); }
// This is technically not a constructor method, but it is meant to // be used to set up the object internal void resolveReferences(MetaDataLoader loader) { this.eventType = loader.getTypeDefOrRef(this.eventTypeIndex); }
// This is technically not a constructor method, but it is meant to // be used to set up the object internal void resolveReferences(MetaDataLoader loader) { this.owner = loader.getGenericParam(this.ownerIndex); this.constraint = loader.getTypeDefOrRef(this.constraintIndex); this.owner.AddGenericParamConstraint(this.constraint); }