public VMValue_arrayinst(int guid, int size, CILVariable elementType, VMValueManager valueManager) : base(guid) { this.elementType = elementType; data = new int[size]; for(int i = 0; i < size; i++) data[i] = valueManager.MakeValue(elementType).GUID; }
public VMValue_objectinst(int guid, VMValueManager valueFactory, CILClass classType) : base(guid) { this.classType = classType; this.holdingLockThreadID = -1; this.holdingLockCount = 0; IEnumerator iter = classType.GetFieldEnumerator(); while(iter.MoveNext()) { CILClassField field = (CILClassField)iter.Current; if(field.IsStatic == false) { VMValue f = valueFactory.MakeValue(field.Variable); f.IsConcrete = true; fields.Add(f.GUID); } } }