public FieldDesc LookupFieldDesc(FieldDefinition fieldDef) { FieldDesc fieldDesc = null; if (ParentMethodTable != null) { fieldDesc = ParentMethodTable.EEClass.LookupFieldDesc(fieldDef); if (fieldDesc != null) { return fieldDesc; } } // TODO: to be thread safety if (!_descByDefs.ContainsKey(fieldDef)) { foreach (var f in FieldDescList) { if (f.Definition == fieldDef) { fieldDesc = _descByDefs[fieldDef] = f; break; } } } else { fieldDesc = _descByDefs[fieldDef]; } return fieldDesc; }
public FieldDesc(FieldDefinition fieldDef) { Definition = fieldDef; }
public FieldDesc LookupFieldDescFromFieldDef(FieldDefinition fieldDef) { return _fieldDescByFieldDef.ContainsKey(fieldDef) ? _fieldDescByFieldDef[fieldDef] : null; }
public void RegisterFieldDesc(FieldDefinition fieldDef, FieldDesc fieldDesc) { _fieldDescByFieldDef[fieldDef] = fieldDesc; }
public void AddFieldDefinition (FieldDefinition field) { Fields [field.token.RID - 1] = field; }