public Analyser(TypeStorage types, ILogger logger) { this.logger = logger; this.types = types; builder = new TypesBuilder(types); }
public void ConvertValue(IBedValueReader reader, TypeStorage dsttype, IBedValueWriter writer) { var srctype = reader.GetFieldType(); if (srctype == dsttype) { // no conversion needed writer.ReadFrom(reader); return; } if (srctype.IsNumber() && dsttype.IsNumber()) { if (dsttype.IsInteger()) { writer.SetIntegerValue(dsttype, reader.GetIntegerValue()); } else { writer.SetRealValue(dsttype, reader.GetRealValue()); } return; } if (srctype.IsDateRelated() && dsttype.IsDateRelated()) { writer.SetDateTimeValue(dsttype, reader.GetDateTimeValue()); return; } if (srctype == TypeStorage.Boolean && dsttype.IsNumber()) { bool val = reader.GetBoolean(); writer.SetIntegerValue(dsttype, val ? 1 : 0); return; } if (srctype.IsNumber() && dsttype == TypeStorage.Boolean) { long val = reader.GetIntegerValue(); writer.SetBoolean(val != 0); return; } if (srctype == TypeStorage.String) { // parse m_parser.ParseValue(reader.GetString(), dsttype, writer); return; } if (dsttype == TypeStorage.String) { // format m_formatter.ReadFrom(reader); writer.SetString(m_formatter.GetText()); return; } { // most generic case - format and than parse m_formatter.ReadFrom(reader); m_parser.ParseValue(m_formatter.GetText(), dsttype, writer); return; } }
public object ConvertValue(TypeStorage type, object value) { m_holder1.ReadFrom(value); var srctype = m_holder1.GetFieldType(); if (srctype == type || srctype == TypeStorage.Null) return value; ConvertValue(m_holder1, type, m_holder2); return m_holder2.BoxTypedValue(); }
public void SetUInt64(ulong value) { unchecked { m_intVal = (long)value; _type = TypeStorage.UInt64; } }
public void ConvertValue(ICdlValueReader reader, TypeStorage dsttype, ICdlValueWriter writer) { var srctype = reader.GetFieldType(); if (srctype == dsttype) { // no conversion needed writer.ReadFrom(reader); return; } if (srctype.IsNumber() && dsttype.IsNumber()) { if (dsttype.IsInteger()) { writer.SetIntegerValue(dsttype, reader.GetIntegerValue()); } else { writer.SetRealValue(dsttype, reader.GetRealValue()); } return; } if (srctype.IsDateRelated() && dsttype.IsDateRelated()) { writer.SetDateTimeValue(dsttype, reader.GetDateTimeValue()); return; } if (srctype == TypeStorage.Boolean && dsttype.IsNumber()) { bool val = reader.GetBoolean(); writer.SetIntegerValue(dsttype, val ? 1 : 0); return; } if (srctype.IsNumber() && dsttype == TypeStorage.Boolean) { long val = reader.GetIntegerValue(); writer.SetBoolean(val != 0); return; } if (srctype == TypeStorage.String) { // parse m_parser.ParseValue(reader.GetString(), dsttype, writer); return; } if (dsttype == TypeStorage.String) { // format m_formatter.ReadFrom(reader); writer.SetString(m_formatter.GetText()); return; } { // most generic case - format and than parse m_formatter.ReadFrom(reader); m_parser.ParseValue(m_formatter.GetText(), dsttype, writer); return; } }
public string Generate(CommonTree tree, TypeStorage types) { foreach (var item in passes) { item.Pass(tree); } return(codegen.Generate(tree, types, nameConvertor)); }
private static void CompileFile(string path, string outPath, TypeStorage typeStorage, ILogger logger, ILogger treeLogger, CSNameConvertor nameConvertor) { using (var fileStream = new FileStream(path, FileMode.Open)) using (var outStream = new StreamWriter(outPath)) { CompileFile(fileStream, path, outStream, typeStorage, logger, treeLogger, nameConvertor); } }
public SemanticAnalyser(TypeStorage types, ILogger logger) { this.types = types; passList.Add(new TypeCollector(types, logger)); passList.Add(new TypeBuilder(types, logger)); passList.Add(new OperatorPass(types, logger)); passList.Add(new DefinitionAnalyser(types, logger)); }
private void GetSimpleTypes(TypeStorage storage) { storage.AddType(Types.TypeInfo.Int); storage.AddType(Types.TypeInfo.Byte); storage.AddType(Types.TypeInfo.Char); storage.AddType(Types.TypeInfo.Double); storage.AddType(Types.TypeInfo.Bool); storage.AddType(Types.TypeInfo.Float); storage.AddType(Types.TypeInfo.String); storage.AddType(Types.TypeInfo.Void); }
public object ConvertValue(TypeStorage type, object value) { m_holder1.ReadFrom(value); var srctype = m_holder1.GetFieldType(); if (srctype == type || srctype == TypeStorage.Null) { return(value); } ConvertValue(m_holder1, type, m_holder2); return(m_holder2.BoxTypedValue()); }
public RecoveryPoint(Dictionary <string, TypeObject> resources, string preffix, TypeStorage ts, TypeRestPoint trp) { this.resources = new Dictionary <string, TypeObject>(resources); date = TrimDate(DateTime.Now, TimeSpan.TicksPerSecond); name = String.Format("{0}{1}", preffix, date.ToString("dd_MM_yyyy_HH_mm_ss")); typeStorage = ts; typeRestPoint = trp; if (!Directory.Exists(name)) { Directory.CreateDirectory(name); } }
public static void SetIntegerValue(this IBedValueWriter writer, TypeStorage type, long value) { unchecked { switch (type) { case TypeStorage.Byte: writer.SetByte((byte)value); break; case TypeStorage.Int16: writer.SetInt16((short)value); break; case TypeStorage.Int32: writer.SetInt32((int)value); break; case TypeStorage.Int64: writer.SetInt64((long)value); break; case TypeStorage.SByte: writer.SetSByte((sbyte)value); break; case TypeStorage.UInt16: writer.SetUInt16((ushort)value); break; case TypeStorage.UInt32: writer.SetUInt32((uint)value); break; case TypeStorage.UInt64: writer.SetUInt64((ulong)value); break; case TypeStorage.Float: writer.SetFloat((float)value); break; case TypeStorage.Double: writer.SetDouble((double)value); break; case TypeStorage.Decimal: writer.SetDecimal((decimal)value); break; } } }
public bool CreateRestPoint(TypeRestPoint typeRestPoint, TypeStorage typeStorage) { var rp = new RecoveryPoint(files, string.Format("{0}\\myrp_", name), typeStorage, typeRestPoint); var p = rest_points.Keys; if ((typeRestPoint == TypeRestPoint.Full && rp.AddFullRP()) || (typeRestPoint == TypeRestPoint.Part && rp.AddPartRP(p.Count > 0 ? rest_points[p.Max()] : null))) { rest_points.Add(rp.date, rp); return(true); } return(false); }
private static void CompileAll(List <string> files, TypeStorage typeStorage, ILogger logger, ILogger treeLogger, CSNameConvertor nameConvertor) { using (var fileWriter = new StreamWriter("out.il")) { foreach (var item in files) { using (var fileStream = new FileStream(item, FileMode.Open)) { CompileFile(fileStream, item, fileWriter, typeStorage, logger, treeLogger, nameConvertor); } } } }
public static bool IsDateRelated(this TypeStorage type) { switch (type) { case TypeStorage.DateEx: case TypeStorage.DateTime: case TypeStorage.DateTimeEx: case TypeStorage.TimeEx: return(true); default: return(false); } }
public void ParseError(string text, TypeStorage type, ICdlValueWriter writer) { var error = new DataParseError(text, type); //if (m_settings.LogAllErrors) ProgressInfo.Error(error.Message); switch (m_settings.OnErrorMode) { case OnDataErrorMode.Propagate: throw error; case OnDataErrorMode.UseDefault: m_settings.WriteErrorDefault(type, writer); break; case OnDataErrorMode.UseNull: writer.SetNull(); break; } }
public TypeStorage Load(List <Assembly> libs) { storage = new TypeStorage(); GetSimpleTypes(storage); map.Add(GenericTypeEnum.Table, "List"); map.Add(GenericTypeEnum.Dictionary, "Dictionary"); classLoader = new ClassLoader(storage, nameConvertor); packageLoader = new PackageLoader(storage, nameConvertor); genericLoader = new GenericLoader(storage, nameConvertor); LoadTypes(libs); return(storage); }
/// <summary> /// Loads the assembly definition into a project content. /// </summary> /// <returns>IProjectContent that represents the assembly</returns> public IProjectContent LoadAssembly(AssemblyDefinition assemblyDefinition) { if (assemblyDefinition == null) throw new ArgumentNullException("assemblyDefinition"); ITypeResolveContext oldEarlyBindContext = this.EarlyBindContext; try { IList<IAttribute> assemblyAttributes = new List<IAttribute>(); foreach (var attr in assemblyDefinition.CustomAttributes) { assemblyAttributes.Add(ReadAttribute(attr)); } if (this.InterningProvider != null) assemblyAttributes = this.InterningProvider.InternList(assemblyAttributes); else assemblyAttributes = new ReadOnlyCollection<IAttribute>(assemblyAttributes); TypeStorage typeStorage = new TypeStorage(); CecilProjectContent pc = new CecilProjectContent(typeStorage, assemblyDefinition.Name.FullName, assemblyAttributes, this.DocumentationProvider); this.EarlyBindContext = CompositeTypeResolveContext.Combine(pc, this.EarlyBindContext); List<CecilTypeDefinition> types = new List<CecilTypeDefinition>(); foreach (ModuleDefinition module in assemblyDefinition.Modules) { foreach (TypeDefinition td in module.Types) { if (this.IncludeInternalMembers || (td.Attributes & TypeAttributes.VisibilityMask) == TypeAttributes.Public) { string name = td.FullName; if (name.Length == 0 || name[0] == '<') continue; if (name == "System.Void") { var c = new VoidTypeDefinition(pc); AddAttributes(td, c); typeStorage.UpdateType(c); } else { CecilTypeDefinition c = new CecilTypeDefinition(pc, td); types.Add(c); typeStorage.UpdateType(c); } } } } foreach (CecilTypeDefinition c in types) { c.Init(this); } return pc; } finally { this.EarlyBindContext = oldEarlyBindContext; } }
public string Generate(CommonTree tree, TypeStorage types, INameConvertor nameConvertor) { this.types = types; typeBuilder = new TypesBuilder(types); builder = new ModuleBuilder(types.Libs, nameConvertor); var defs = tree.Children.Where(x => x is ClassDefNode || x is EntryPointNode); var context = new CodegenContext(); foreach (dynamic item in defs) { Visit(item, context); } return(builder.Generate()); }
public static bool IsInteger(this TypeStorage type) { switch (type) { case TypeStorage.Byte: case TypeStorage.Int16: case TypeStorage.Int32: case TypeStorage.Int64: case TypeStorage.SByte: case TypeStorage.UInt16: case TypeStorage.UInt32: case TypeStorage.UInt64: return(true); default: return(false); } }
public void WriteErrorDefault(TypeStorage type, ICdlValueWriter writer) { if (type.IsNumber()) { writer.SetIntegerValue(type, m_defaultNumber); } else if (type.IsDateRelated()) { writer.SetDateTimeValue(type, m_defaultDateTime); } else if (type == TypeStorage.Boolean) { writer.SetBoolean(m_defautlLogical); } else { writer.SetNull(); } }
public static void SetDateTimeValue(this IBedValueWriter writer, TypeStorage type, DateTimeEx value) { switch (type) { case TypeStorage.DateEx: writer.SetDateEx(value.DatePart); break; case TypeStorage.TimeEx: writer.SetTimeEx(value.TimePart); break; case TypeStorage.DateTime: writer.SetDateTime(value.AsDateTime); break; case TypeStorage.DateTimeEx: writer.SetDateTimeEx(value); break; } }
public static bool IsNumber(this TypeStorage type) { switch (type) { case TypeStorage.Byte: case TypeStorage.Int16: case TypeStorage.Int32: case TypeStorage.Int64: case TypeStorage.SByte: case TypeStorage.UInt16: case TypeStorage.UInt32: case TypeStorage.UInt64: case TypeStorage.Float: case TypeStorage.Double: case TypeStorage.Decimal: return(true); default: return(false); } }
public void CallShowCurrentData() { try { m_loadingData = true; if (m_data != null) { Controls.ShowError(false); m_data.GetData(m_holder); m_targetType = m_data.GetTargetType(); ShowCurrentData(); } else { Controls.ShowError(true); ClearCurrentData(); } } finally { m_loadingData = false; } }
public static void ReadValue(SQLiteDataReader reader, int index, TypeStorage type, ICdlValueWriter writer) { switch (type) { case TypeStorage.Boolean: writer.SetBoolean(reader.GetInt32(index) != 0); break; case TypeStorage.Byte: writer.SetByte((byte) reader.GetInt32(index)); break; case TypeStorage.Int16: writer.SetInt16((short) reader.GetInt32(index)); break; case TypeStorage.Int32: writer.SetInt32((int) reader.GetInt32(index)); break; case TypeStorage.Int64: writer.SetInt64((long) reader.GetInt64(index)); break; case TypeStorage.SByte: writer.SetSByte((sbyte) reader.GetInt32(index)); break; case TypeStorage.UInt16: writer.SetUInt16((ushort) reader.GetInt32(index)); break; case TypeStorage.UInt32: writer.SetUInt32((uint) reader.GetInt32(index)); break; case TypeStorage.UInt64: writer.SetUInt64((ulong) reader.GetInt64(index)); break; case TypeStorage.DateTime: writer.SetDateTime(DateTime.Parse(reader.GetString(index), CultureInfo.InvariantCulture)); //writer.SetDateTime(DateTime.ParseExact(reader.GetString(index), "s", CultureInfo.InvariantCulture)); break; case TypeStorage.DateTimeEx: writer.SetDateTimeEx(DateTimeEx.ParseNormalized(reader.GetString(index))); break; case TypeStorage.DateEx: writer.SetDateEx(DateEx.ParseNormalized(reader.GetString(index))); break; case TypeStorage.TimeEx: writer.SetTimeEx(TimeEx.ParseNormalized(reader.GetString(index))); break; case TypeStorage.Decimal: { var dtype = reader.GetFieldType(index); decimal value; if (dtype == typeof (string)) { value = Decimal.Parse(reader.GetString(index), CultureInfo.InvariantCulture); } else { value = (decimal) reader.GetDouble(index); } writer.SetDecimal(value); } break; case TypeStorage.Float: writer.SetFloat((float) reader.GetDouble(index)); break; case TypeStorage.Double: writer.SetDouble((double) reader.GetDouble(index)); break; case TypeStorage.String: writer.SetString(reader.GetString(index)); break; case TypeStorage.Guid: writer.SetGuid(new Guid(reader.GetString(index))); break; case TypeStorage.ByteArray: writer.SetByteArray((byte[]) reader.GetValue(index)); break; case TypeStorage.Null: writer.SetNull(); break; default: throw new Exception("DBSH-00167 Unsupported field type:" + type.ToString()); } }
public void SetDateEx(DateEx value) { m_dateTimeExVal.DatePart = value; _type = TypeStorage.DateEx; }
public static DbTypeBase GetDatAdminType(this TypeStorage type) { switch (type) { case TypeStorage.Boolean: return(new DbTypeLogical()); case TypeStorage.Byte: return(new DbTypeInt { Bytes = 1, Unsigned = true }); case TypeStorage.SByte: return(new DbTypeInt { Bytes = 1, Unsigned = false }); case TypeStorage.ByteArray: return(new DbTypeBlob()); case TypeStorage.DateEx: return(new DbTypeDatetime { SubType = DbDatetimeSubType.Date }); case TypeStorage.DateTime: return(new DbTypeDatetime()); case TypeStorage.DateTimeEx: return(new DbTypeDatetime()); case TypeStorage.Decimal: return(new DbTypeNumeric()); case TypeStorage.Double: return(new DbTypeFloat { Bytes = 8 }); case TypeStorage.Float: return(new DbTypeFloat { Bytes = 4 }); case TypeStorage.Guid: return(new DbTypeString()); case TypeStorage.Int16: return(new DbTypeInt { Bytes = 2, Unsigned = false }); case TypeStorage.Int32: return(new DbTypeInt { Bytes = 4, Unsigned = false }); case TypeStorage.Int64: return(new DbTypeInt { Bytes = 8, Unsigned = false }); case TypeStorage.UInt16: return(new DbTypeInt { Bytes = 2, Unsigned = true }); case TypeStorage.UInt32: return(new DbTypeInt { Bytes = 4, Unsigned = true }); case TypeStorage.UInt64: return(new DbTypeInt { Bytes = 8, Unsigned = true }); case TypeStorage.String: return(new DbTypeString()); case TypeStorage.TimeEx: return(new DbTypeDatetime { SubType = DbDatetimeSubType.Time }); //case TypeStorage.Array: // return new DbTypeArray(); } return(new DbTypeString()); }
public static void ReadValue(SQLiteDataReader reader, int index, TypeStorage type, ICdlValueWriter writer) { switch (type) { case TypeStorage.Boolean: writer.SetBoolean(reader.GetInt32(index) != 0); break; case TypeStorage.Byte: writer.SetByte((byte)reader.GetInt32(index)); break; case TypeStorage.Int16: writer.SetInt16((short)reader.GetInt32(index)); break; case TypeStorage.Int32: writer.SetInt32((int)reader.GetInt32(index)); break; case TypeStorage.Int64: writer.SetInt64((long)reader.GetInt64(index)); break; case TypeStorage.SByte: writer.SetSByte((sbyte)reader.GetInt32(index)); break; case TypeStorage.UInt16: writer.SetUInt16((ushort)reader.GetInt32(index)); break; case TypeStorage.UInt32: writer.SetUInt32((uint)reader.GetInt32(index)); break; case TypeStorage.UInt64: writer.SetUInt64((ulong)reader.GetInt64(index)); break; case TypeStorage.DateTime: writer.SetDateTime(DateTime.Parse(reader.GetString(index), CultureInfo.InvariantCulture)); //writer.SetDateTime(DateTime.ParseExact(reader.GetString(index), "s", CultureInfo.InvariantCulture)); break; case TypeStorage.DateTimeEx: writer.SetDateTimeEx(DateTimeEx.ParseNormalized(reader.GetString(index))); break; case TypeStorage.DateEx: writer.SetDateEx(DateEx.ParseNormalized(reader.GetString(index))); break; case TypeStorage.TimeEx: writer.SetTimeEx(TimeEx.ParseNormalized(reader.GetString(index))); break; case TypeStorage.Decimal: { var dtype = reader.GetFieldType(index); decimal value; if (dtype == typeof(string)) { value = Decimal.Parse(reader.GetString(index), CultureInfo.InvariantCulture); } else { value = (decimal)reader.GetDouble(index); } writer.SetDecimal(value); } break; case TypeStorage.Float: writer.SetFloat((float)reader.GetDouble(index)); break; case TypeStorage.Double: writer.SetDouble((double)reader.GetDouble(index)); break; case TypeStorage.String: writer.SetString(reader.GetString(index)); break; case TypeStorage.Guid: writer.SetGuid(new Guid(reader.GetString(index))); break; case TypeStorage.ByteArray: writer.SetByteArray((byte[])reader.GetValue(index)); break; case TypeStorage.Null: writer.SetNull(); break; default: throw new Exception("DBSH-00167 Unsupported field type:" + type.ToString()); } }
public DataParseError(string data, TypeStorage type) : base(Texts.Get("s_cannot_convert$text$type", "text", data, "type", type), null) { }
public void SetInt64(long value) { m_intVal = value; _type = TypeStorage.Int64; }
public void SetBoolean(bool value) { m_intVal = value ? 1 : 0; _type = TypeStorage.Boolean; }
public BuilderPropertyData(PropertyInfo propertyInfo, TypeStorage storage) : base(propertyInfo, storage, true) { }
public DataParseError(string data, TypeStorage type) : base(String.Format("Cannot convert \"{0}\" to type {1}", data, type), null) { }
public void SetSByte(sbyte value) { m_intVal = value; _type = TypeStorage.SByte; }
//public void SetArray(Array value) //{ // m_arrayVal = value; // m_type = TypeStorage.Array; //} public void SetNull() { _type = TypeStorage.Null; }
public void SetString(string value) { m_stringVal = value; _type = TypeStorage.String; }
public void SetUInt32(uint value) { m_intVal = value; _type = TypeStorage.UInt32; }
public void ParseValue(string text, TypeStorage type, ICdlValueWriter writer) { foreach (string nulltext in m_settings.GetNullValues()) { if (text == nulltext) { writer.SetNull(); return; } } NumberStyles floatStyle = NumberStyles.Float | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite | NumberStyles.AllowExponent; NumberStyles intStyle = NumberStyles.Integer | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite; NumberStyles decStyle = NumberStyles.Number | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite | NumberStyles.AllowExponent; switch (type) { case TypeStorage.Null: writer.SetNull(); break; case TypeStorage.Boolean: { if (IsNullTextTest(text)) { writer.SetNull(); } else { bool? val = m_settings.ParseBoolean(text); if (val != null) writer.SetBoolean(val.Value); else writer.SetNull(); } } break; case TypeStorage.Byte: { byte val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Byte.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetByte(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.Int16: { short val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Int16.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetInt16(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.Int32: { int val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Int32.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetInt32(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.Int64: { long val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Int64.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetInt64(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.SByte: { sbyte val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (SByte.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetSByte(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.UInt16: { ushort val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (UInt16.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetUInt16(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.UInt32: { uint val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (UInt32.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetUInt32(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.UInt64: { ulong val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (UInt64.TryParse(text, intStyle, m_numberFormat, out val)) { writer.SetUInt64(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.Float: { float val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Single.TryParse(text, floatStyle, m_numberFormat, out val)) { writer.SetFloat(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.Double: { double val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Double.TryParse(text, floatStyle, m_numberFormat, out val)) { writer.SetDouble(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.Decimal: { decimal val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (Decimal.TryParse(text, decStyle, m_numberFormat, out val)) { writer.SetDecimal(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.DateTime: { DateTime val; if (IsNullTextTest(text)) { writer.SetNull(); } else if (DateTime.TryParseExact(text, m_settings.DateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out val)) { writer.SetDateTime(val); } else if (DateTime.TryParse(text, CultureInfo.InvariantCulture, DateTimeStyles.None, out val)) { writer.SetDateTime(val); } else { ParseError(text, type, writer); } } break; case TypeStorage.DateTimeEx: if (IsNullTextTest(text)) { writer.SetNull(); } else { try { writer.SetDateTimeEx(DateTimeEx.Parse(text, m_settings.DateTimeFormat, CultureInfo.InvariantCulture)); } catch { writer.SetDateTimeEx(DateTimeEx.FromDateTime(DateTime.Parse(text, CultureInfo.InvariantCulture))); } } break; case TypeStorage.DateEx: if (IsNullTextTest(text)) { writer.SetNull(); } else { try { writer.SetDateEx(DateTimeEx.Parse(text, m_settings.DateFormat, CultureInfo.InvariantCulture).DatePart); } catch { writer.SetDateEx(DateTimeEx.FromDateTime(DateTime.Parse(text, CultureInfo.InvariantCulture)).DatePart); } } break; case TypeStorage.TimeEx: if (IsNullTextTest(text)) { writer.SetNull(); } else { try { writer.SetTimeEx(DateTimeEx.Parse(text, m_settings.TimeFormat, CultureInfo.InvariantCulture).TimePart); } catch { writer.SetTimeEx(DateTimeEx.FromDateTime(DateTime.Parse(text, CultureInfo.InvariantCulture)).TimePart); } } break; case TypeStorage.ByteArray: if (IsNullTextTest(text)) { writer.SetNull(); } else if (text.EndsWith("=")) { writer.SetByteArray(Convert.FromBase64String(text.Replace("=", ""))); } else { writer.SetNull(); } break; case TypeStorage.Guid: if (IsNullTextTest(text)) { writer.SetNull(); } else { writer.SetGuid(new Guid(text)); } break; case TypeStorage.String: writer.SetString(text); break; //case TypeStorage.Array: // writer.SetArray(CdlArray.Parse(text)); // break; } }
public static void SetRealValue(this ICdlValueWriter writer, TypeStorage type, double value) { switch (type) { case TypeStorage.Byte: writer.SetByte((byte)value); break; case TypeStorage.Int16: writer.SetInt16((short)value); break; case TypeStorage.Int32: writer.SetInt32((int)value); break; case TypeStorage.Int64: writer.SetInt64((long)value); break; case TypeStorage.SByte: writer.SetSByte((sbyte)value); break; case TypeStorage.UInt16: writer.SetUInt16((ushort)value); break; case TypeStorage.UInt32: writer.SetUInt32((uint)value); break; case TypeStorage.UInt64: writer.SetUInt64((ulong)value); break; case TypeStorage.Float: writer.SetFloat((float)value); break; case TypeStorage.Double: writer.SetDouble((double)value); break; case TypeStorage.Decimal: writer.SetDecimal((decimal)value); break; } }
public static void ReadValue(this IBedValueWriter writer, BinaryReader stream) { TypeStorage storage = (TypeStorage)stream.ReadByte(); switch (storage) { case TypeStorage.Null: writer.SetNull(); break; case TypeStorage.Boolean: writer.SetBoolean(stream.ReadBoolean()); break; case TypeStorage.Byte: writer.SetByte(stream.ReadByte()); break; case TypeStorage.Int16: writer.SetInt16(stream.ReadInt16()); break; case TypeStorage.Int32: writer.SetInt32(stream.ReadInt32()); break; case TypeStorage.Int64: writer.SetInt64(stream.ReadInt64()); break; case TypeStorage.SByte: writer.SetSByte(stream.ReadSByte()); break; case TypeStorage.UInt16: writer.SetUInt16(stream.ReadUInt16()); break; case TypeStorage.UInt32: writer.SetUInt32(stream.ReadUInt32()); break; case TypeStorage.UInt64: writer.SetUInt64(stream.ReadUInt64()); break; case TypeStorage.Float: writer.SetFloat(stream.ReadSingle()); break; case TypeStorage.Double: writer.SetDouble(stream.ReadDouble()); break; case TypeStorage.Decimal: writer.SetDecimal(stream.ReadDecimal()); break; case TypeStorage.DateTime: writer.SetDateTime(DateTime.FromBinary(stream.ReadInt64())); break; case TypeStorage.DateTimeEx: writer.SetDateTimeEx(DateTimeEx.FromStream(stream)); break; case TypeStorage.DateEx: writer.SetDateEx(DateEx.FromStream(stream)); break; case TypeStorage.TimeEx: writer.SetTimeEx(TimeEx.FromStream(stream)); break; case TypeStorage.ByteArray: { int len = stream.Read7BitEncodedInt(); writer.SetByteArray(stream.ReadBytes(len)); } break; case TypeStorage.Guid: writer.SetGuid(new Guid(stream.ReadBytes(16))); break; case TypeStorage.String: writer.SetString(stream.ReadString()); break; //case TypeStorage.Array: // writer.SetArray(BedArray.FromStream(stream, true)); // break; } }
public void SetFloat(float value) { m_floatVal = value; _type = TypeStorage.Float; }
public Context(TypeStorage types) { this.Types = types; NotImplementedTypes = new List <TypeInfo>(); }
public void WriteErrorDefault(TypeStorage type, ICdlValueWriter writer) { if (type.IsNumber()) writer.SetIntegerValue(type, m_defaultNumber); else if (type.IsDateRelated()) writer.SetDateTimeValue(type, m_defaultDateTime); else if (type == TypeStorage.Boolean) writer.SetBoolean(m_defautlLogical); else writer.SetNull(); }
public static void SetDateTimeValue(this ICdlValueWriter writer, TypeStorage type, DateTimeEx value) { switch (type) { case TypeStorage.DateEx: writer.SetDateEx(value.DatePart); break; case TypeStorage.TimeEx: writer.SetTimeEx(value.TimePart); break; case TypeStorage.DateTime: writer.SetDateTime(value.AsDateTime); break; case TypeStorage.DateTimeEx: writer.SetDateTimeEx(value); break; } }
public void SetDateTime(DateTime value) { m_dateTimeVal = value; _type = TypeStorage.DateTime; }
public void SetDecimal(decimal value) { m_decimalVal = value; _type = TypeStorage.Decimal; }
public void SetByte(byte value) { m_intVal = value; _type = TypeStorage.Byte; }
public static Type GetDotNetType(this TypeStorage type, bool allowDAExtensions) { switch (type) { case TypeStorage.Boolean: return(typeof(bool)); case TypeStorage.Byte: return(typeof(byte)); case TypeStorage.SByte: return(typeof(sbyte)); case TypeStorage.ByteArray: return(typeof(byte[])); case TypeStorage.DateEx: return(allowDAExtensions ? typeof(DateEx) : typeof(DateTime)); case TypeStorage.DateTime: return(typeof(DateTime)); case TypeStorage.DateTimeEx: return(allowDAExtensions ? typeof(DateTimeEx) : typeof(DateTime)); case TypeStorage.Decimal: return(typeof(decimal)); case TypeStorage.Double: return(typeof(double)); case TypeStorage.Float: return(typeof(float)); case TypeStorage.Guid: return(typeof(Guid)); case TypeStorage.Int16: return(typeof(short)); case TypeStorage.Int32: return(typeof(int)); case TypeStorage.Int64: return(typeof(long)); case TypeStorage.UInt16: return(typeof(ushort)); case TypeStorage.UInt32: return(typeof(uint)); case TypeStorage.UInt64: return(typeof(ulong)); case TypeStorage.String: return(typeof(string)); case TypeStorage.TimeEx: return(allowDAExtensions ? typeof(TimeEx) : typeof(DateTime)); case TypeStorage.Null: return(typeof(DBNull)); //case TypeStorage.Array: // throw new InternalError("DAE-00055 TypeTool.GetDotNetType: Type array has not .NET representation"); } return(typeof(string)); }
public void SetTimeEx(TimeEx value) { m_dateTimeExVal.TimePart = value; _type = TypeStorage.TimeEx; }
public void SetInt32(int value) { m_intVal = value; _type = TypeStorage.Int32; }
public CecilProjectContent(TypeStorage types, string assemblyName, IList<IAttribute> assemblyAttributes, IDocumentationProvider documentationProvider) : base(types) { Debug.Assert(assemblyName != null); Debug.Assert(assemblyAttributes != null); this.assemblyName = assemblyName; this.assemblyAttributes = assemblyAttributes; this.documentationProvider = documentationProvider; }
public void SetUInt16(ushort value) { m_intVal = value; _type = TypeStorage.UInt16; }
public void SetDouble(double value) { m_doubleVal = value; _type = TypeStorage.Double; }
public void SetGuid(Guid value) { m_guidVal = value; _type = TypeStorage.Guid; }
public OperatorPass(TypeStorage types, ILogger logger) : base(types, logger) { }
public void SetByteArray(byte[] value) { m_byteArrayVal = value; _type = TypeStorage.ByteArray; }