Esempio n. 1
0
 private void CreateRecordValue(VHDL.type.RecordType type)
 {
     _values = new Dictionary <string, AbstractValue>();
     foreach (var v in type.Elements)
     {
         foreach (string name in v.Identifiers)
         {
             _values.Add(name, null);
         }
     }
 }
Esempio n. 2
0
        private void CreateRecordValue(VHDL.type.RecordType recordType, IList <AbstractValue> _value)
        {
            _values = new Dictionary <string, AbstractValue>();
            int index = 0;

            foreach (var v in (Type.Type as VHDL.type.RecordType).Elements)
            {
                foreach (string name in v.Identifiers)
                {
                    _values.Add(name, _value[index]);
                    index++;
                }
            }
        }
Esempio n. 3
0
 private void CreateRecordValue(VHDL.type.RecordType type, IDictionary <string, AbstractValue> _value)
 {
     _values = new Dictionary <string, AbstractValue>();
     foreach (var v in _value)
     {
         if (IsContainField(v.Key))
         {
             _values.Add(v.Key, v.Value);
         }
         else
         {
             throw new Exception(string.Format("Invalid field name {0}.", v.Key));
         }
     }
 }
Esempio n. 4
0
 private bool IsContainField(string name)
 {
     VHDL.type.RecordType type = Type.Type as VHDL.type.RecordType;
     foreach (var v in type.Elements)
     {
         foreach (string fieldName in v.Identifiers)
         {
             if (fieldName.Equals(name, StringComparison.InvariantCultureIgnoreCase))
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Esempio n. 5
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="type"></param>
 public RecordValue(VHDL.type.RecordType type)
     : base(ModellingType.CreateModellingType(type))
 {
     CreateRecordValue(type);
 }
Esempio n. 6
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="type"></param>
 public RecordValue(VHDL.type.RecordType type, IDictionary <string, AbstractValue> _value)
     : base(ModellingType.CreateModellingType(type))
 {
     CreateRecordValue(type, _values);
 }