public SBExpressionData( HomeType home = HomeType.Immediate, SBExpressionType referencedtype = SBExpressionType.Expression, TypeReference type = null, Expression code = null, object value = null, string argument = null, string parameterName = null, Expression instance = null, bool automaticTypeConvert = false, Antlr4.Runtime.IToken token = null) { System.Diagnostics.Debug.Assert(type == null || !type.Type.IsGenericTypeDefinition); System.Diagnostics.Debug.Assert(type == null || !type.Type.IsGenericParameter); System.Diagnostics.Debug.Assert(value == null || !(value is IFileProcedure)); Home = home; ReferencedType = referencedtype; DataType = type ?? (code != null ? (TypeReference)(code.Type) : null); ExpressionCode = code; Value = value; Argument = argument; ParameterName = parameterName; InstanceCode = instance; SuggestsAutomaticTypeConversion = automaticTypeConvert; Token = token; }
public SBExpressionData(SBExpressionType type) { Home = HomeType.Immediate; ReferencedType = type; DataType = null; ExpressionCode = null; Value = null; Argument = null; ParameterName = null; }
public SBExpressionData(SBExpressionType type, string message, string value, Antlr4.Runtime.IToken token = null) { Home = HomeType.Immediate; ReferencedType = type; DataType = null; ExpressionCode = null; Value = value; Argument = message; ParameterName = null; Token = token; }
public SBExpressionData(TypeReference type, object value, Antlr4.Runtime.IToken token = null) { Home = HomeType.Immediate; ReferencedType = SBExpressionType.Constant; DataType = type; ExpressionCode = Expression.Constant(value, type.Type); Value = value; Argument = null; ParameterName = null; Token = token; }
public SBExpressionData(Expression expression, SBExpressionType type) { if (expression == null) { throw new ArgumentNullException(); } Home = HomeType.Immediate; ReferencedType = type; DataType = (TypeReference)expression.Type; ExpressionCode = expression; Value = null; Argument = null; ParameterName = null; }
public SBExpressionData(object value, Antlr4.Runtime.IToken token = null) { if (value == null) { throw new ArgumentNullException(); } Home = HomeType.Immediate; ReferencedType = SBExpressionType.Constant; DataType = (TypeReference)(value.GetType()); ExpressionCode = Expression.Constant(value); Value = value; Argument = null; ParameterName = null; Token = token; }
public SBExpressionData(Expression instance, List <MethodInfo> methods) { //System.Diagnostics.Debug.Assert(type == null || !type.IsGenericTypeDefinition); //System.Diagnostics.Debug.Assert(type == null || !type.IsGenericParameter); Home = HomeType.Immediate; ReferencedType = SBExpressionType.MethodReference; if (methods.Count == 1 && !methods[0].IsGenericMethodDefinition) { DataType = null; } ExpressionCode = instance; Value = methods; Argument = null; ParameterName = null; }