/// <summary> /// If a field is allready defined throw an Error /// </summary> protected void CheckExists(string signature) { FieldTableItem item = table[signature] as FieldTableItem; if ((item != null) && (item.Defined)) { Report.Error("Field: " + signature + " defined in multiple locations."); } }
public bool CheckDefined() { foreach (DictionaryEntry dic_entry in table) { FieldTableItem table_item = (FieldTableItem)dic_entry.Value; if (table_item.Defined) { continue; } Report.Error(String.Format("Field: {0} is not defined.", dic_entry.Key)); } return(true); }
protected void AddDefined(string signature, FieldDef field, Location location) { if (table.Contains(signature)) { return; } FieldTableItem item = new FieldTableItem(field, location); item.Defined = true; table[signature] = item; }
public Field GetReference(TypeRef type, string name, Location location) { FieldTableItem item = table[name] as FieldTableItem; if (item != null) { item.LocationList.Add(location); return(item.Field); } FieldDef field = parent_class.AddField(name, type.Type); AddReferenced(name, field, location); return(field); }
public FieldDef AddDefinition(FieldAttr field_attr, string name, TypeRef type, Location location) { FieldTableItem item = (FieldTableItem)table[name]; if (item == null) { FieldDef field = parent_class.AddField(field_attr, name, type.Type); AddDefined(name, field, location); return(field); } item.Field.AddFieldAttr(field_attr); item.Defined = true; return(item.Field); }
protected void AddDefined (string signature, FieldDef field, Location location) { if (table.Contains (signature)) return; FieldTableItem item = new FieldTableItem (field, location); item.Defined = true; table[signature] = item; }
protected void AddReferenced (string signature, FieldDef field, Location location) { FieldTableItem item = new FieldTableItem (field, location); table[signature] = item; }
protected void AddReferenced(string signature, FieldDef field, Location location) { FieldTableItem item = new FieldTableItem(field, location); table[signature] = item; }