Пример #1
0
 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;
 }
Пример #2
0
 public SBExpressionData(SBExpressionType type)
 {
     Home           = HomeType.Immediate;
     ReferencedType = type;
     DataType       = null;
     ExpressionCode = null;
     Value          = null;
     Argument       = null;
     ParameterName  = null;
 }
Пример #3
0
 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;
 }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }
Пример #6
0
 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;
 }
Пример #7
0
 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;
 }