Beispiel #1
0
        /// <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.");
            }
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
		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;
		}
Beispiel #7
0
		protected void AddReferenced (string signature, FieldDef field, Location location)
		{
			FieldTableItem item = new FieldTableItem (field, location);
			
			table[signature] = item;
		}
Beispiel #8
0
        protected void AddReferenced(string signature, FieldDef field, Location location)
        {
            FieldTableItem item = new FieldTableItem(field, location);

            table[signature] = item;
        }