public PoolSetter(FieldInfo field, object value) { this.field = field; this.value = value; wrapper = field.CreateWrapper(); }
public PoolSetter(FieldInfo field, object value) { this.field = field; this.value = value; wrapper = field.CreateWrapper(); }
public NodeDataField(IFieldWrapper field, IOperaitonManager operationManager) { field.ThrowIfNullArgument(nameof(field)); operationManager.ThrowIfNullArgument(nameof(operationManager)); this.field = field; this.operationManager = operationManager; }
public FieldSymbol(InterField field) : base() { _field = field; _owningType = field.Owner; Field = new InterFieldWrapper(field); ID = field.Name; _initFromInterField = true; }
public FieldSetOperation(IFieldWrapper field, object reference) { this.field = field; referenceValue = field.Get(ref reference); type = GetType(referenceValue); isValue = type == null ? false : type.IsValueType; isPure = type == null || type.IsPure(); operations = isPure ? null : InitializationUtility.GetInitializer(type).CreateOperations(referenceValue); }
public FieldSetOperation(IFieldWrapper field, object reference) { this.field = field; referenceValue = field.Get(ref reference); type = GetType(referenceValue); isValue = type == null ? false : type.IsValueType; isPure = type == null || type.IsPure(); operations = isPure ? null : InitializationUtility.GetInitializer(type).CreateOperations(referenceValue); }
public override void TearDown() { base.TearDown(); dummyClass = null; dummyStruct = null; classValueWrapper = null; classReferenceWrapper = null; structValueWrapper = null; structReferenceWrapper = null; }
public override void TearDown() { base.TearDown(); dummyClass = null; dummyStruct = null; classValueWrapper = null; classReferenceWrapper = null; structValueWrapper = null; structReferenceWrapper = null; }
public override void Setup() { base.Setup(); dummyClass = new DummyClass { Value = 1, Reference = "2" }; dummyStruct = new DummyStruct { Value = 3, Reference = "4" }; classValueWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyClass).GetField("Value")); classReferenceWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyClass).GetField("Reference")); structValueWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyStruct).GetField("Value")); structReferenceWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyStruct).GetField("Reference")); }
public override void Bind(IntermediateBuilder context) { _owner?.Bind(context); if (_owningTypeName != TypeName.Unknown) { _owningType = UserType.ToUserType(context.ResolveType(_owningTypeName)); } if (Field != null) { Type = Field.Type; return; } UserType type = (_owningType != null ? _owningType : _owner.Type) as UserType; if (_owningType == null) { _owningType = type; } IFieldWrapper matchField = null; var t = type; while (matchField == null && t != CodeType.Object) { foreach (var f in t.GetFields(context)) { if (f.Name == ID) { matchField = f; break; } } if (matchField == null) { t = t.GetBaseType(); } } _owningType = t; //Debug.Assert(matchField != null); if (matchField == null) { return; } Type = matchField.Type; Field = matchField; }
public void AssertNotDuplicateOf(IFieldWrapper otherConstant) { if (!HasTheSameNameAs(otherConstant)) { if (HasTheSameValueAs(otherConstant)) { var builder = new StringBuilder(); AddNameTo(builder); builder.Append(" is a duplicate of "); otherConstant.AddNameTo(builder); throw new DuplicateConstantException(builder.ToString()); } } }
public override void Setup() { base.Setup(); dummyClass = new DummyClass { Value = 1, Reference = "2" }; dummyStruct = new DummyStruct { Value = 3, Reference = "4" }; classValueWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyClass).GetField("Value")); classReferenceWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyClass).GetField("Reference")); structValueWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyStruct).GetField("Value")); structReferenceWrapper = ReflectionUtility.CreateFieldWrapper(typeof(DummyStruct).GetField("Reference")); }
public void TestCreateFieldBuilder() { NodeDataListBuilder builder = new NodeDataListBuilder(Substitute.For <Type>()); NodeData nodeData = new NodeData { name = "fieldbro" }; IFieldWrapper fieldWrapper = Substitute.For <IFieldWrapper>(); IValueParseMap parseMap = Substitute.For <IValueParseMap>(); NodeDataBuilder fieldBuilder = Assert.IsType <NodeDataBuilder>(builder.CreateFieldBuilder(nodeData, fieldWrapper, parseMap)); Assert.Same(nodeData, fieldBuilder.nodeData); Assert.Same(fieldWrapper, fieldBuilder.fieldWrapper); Assert.Same(parseMap, fieldBuilder.valueParseMap); }
public NodeDataBuilder(NodeData nodeData, IFieldWrapper fieldWrapper, IValueParseMap defaultValueParseMap) { nodeData.ThrowIfNullArgument(nameof(nodeData)); fieldWrapper.ThrowIfNullArgument(nameof(fieldWrapper)); defaultValueParseMap.ThrowIfNullArgument(nameof(defaultValueParseMap)); this.nodeData = nodeData; this.fieldWrapper = fieldWrapper; object[] attributes = fieldWrapper.MemberInfo.GetCustomAttributes(true); if (attributes.OfType <IUseParser>().Any()) { IValueParser[] overrides = attributes.OfType <IUseParser>().Select(x => x.CreateParser()).ToArray(); valueParseMap = new OverrideValueParseMap(defaultValueParseMap, overrides); } else { valueParseMap = defaultValueParseMap; } }
public virtual INodeDataBuilder CreateFieldBuilder(NodeData nodeData, IFieldWrapper fieldWrapper, IValueParseMap defaultValueParseMap) { return(new NodeDataBuilder(nodeData, fieldWrapper, defaultValueParseMap)); }
public InjectableField(FieldInfo field) : base(field) { wrapper = field.CreateWrapper(); }
public bool HasTheSameNameAs(IFieldWrapper otherConstant) { return(otherConstant.HasName(_fieldInfo.Name)); }
public bool HasTheSameValueAs(IFieldWrapper otherConstant) { return(otherConstant.HasValue(_fieldInfo.GetValue(null))); }
public InitializableField(FieldInfo field) : base(field) { wrapper = field.CreateWrapper(); }