public FieldViewModel(TypeNode typeNode) { Name = typeNode.Name; Type = typeNode.Type.Name; TypeNode = typeNode; SerializedType = typeNode.GetSerializedType(); }
public override void DeserializeOverride(StreamLimiter stream, EventShuttle eventShuttle) { // try to get bounded length from limiter _remainder = stream.Remainder; object value = Deserialize(stream, TypeNode.GetSerializedType()); Value = ConvertToFieldType(value); }
internal override void DeserializeOverride(BoundedStream stream, EventShuttle eventShuttle) { if (EndOfStream(stream)) { if (TypeNode.IsNullable) { return; } throw new EndOfStreamException(); } Deserialize(stream, TypeNode.GetSerializedType()); }
public override int GetFixedSize() { if (TypeNode.IsNullableType) { return(0); } if (TypeNode.SerializeWhenBindings != null) { return(0); } if (TypeNode.BitSizeAttribute != null) { return(0); } switch (TypeNode.GetSerializedType()) { case SerializedType.Int1: case SerializedType.UInt1: return(1); case SerializedType.Int2: case SerializedType.UInt2: return(2); case SerializedType.Int4: case SerializedType.UInt4: case SerializedType.Float4: return(4); case SerializedType.Int8: case SerializedType.UInt8: case SerializedType.Float8: return(8); case SerializedType.ByteArray: case SerializedType.SizedString: var typeParent = TypeNode.Parent as TypeNode; return(GetConstantLength(typeParent)); default: return(0); } }
protected override void SerializeOverride(IBitStream stream, EventShuttle eventShuttle) { Serialize(stream, BoundValue, TypeNode.GetSerializedType()); }
internal override void SerializeOverride(BoundedStream stream, EventShuttle eventShuttle) { Serialize(stream, BoundValue, TypeNode.GetSerializedType()); }