Exemplo n.º 1
0
 public ArrayAssignmentExpression(AssignmentType type, IVariableExpression variable,
                                  ArrayExpression <T, Array <T> > expression)
     : base($"{variable.Representation()} {type} {expression.Script()}", variable.VariableType())
 {
     this.type       = type;
     this.variable   = variable;
     this.expression = expression;
     arrayType       = expression.ArrayType();
     // type checking
     Assert.IsTrue(variable.VariableType() == expression.Type());
 }
Exemplo n.º 2
0
        public async Task <Value> Visit <A>(IVariableExpression <A> variable) where A : Expression
        {
            Value result = Context[variable.VariableName];

            if (result == null)
            {
                await Task.Delay(10);

                throw new ArgumentException("Variable not found in context");
            }
            return(result);
        }
Exemplo n.º 3
0
 public AssignmentExpression(AssignmentType type, IVariableExpression variable,
                             Expression <T> expression, bool returnsValue)
     : base($"{variable.Representation()} {type} {expression.Script()}", variable.VariableType())
 {
     this.type         = type;
     this.variable     = variable;
     this.expression   = expression;
     this.returnsValue = returnsValue;
     // type checking
     Assert.IsTrue(variable.VariableType() == expression.Type());
     if (returnsValue)
     {
         Assert.IsTrue(typeof(TR) == typeof(T));
     }
     else
     {
         Assert.IsTrue(typeof(TR) == typeof(Void));
     }
 }
Exemplo n.º 4
0
 public static IArrayExpressionIn AnyAndEvery(IVariableExpression variable) => new QueryTernaryExpression("ANY AND EVERY", variable);
Exemplo n.º 5
0
 public static IArrayExpressionIn Any(IVariableExpression variable) => new QueryTernaryExpression("ANY", variable);
 public static IArrayExpressionIn Every([NotNull] IVariableExpression variable) =>
 new QueryTernaryExpression("EVERY",
                            CBDebug.MustNotBeNull(WriteLog.To.Query, Tag, nameof(variable), variable));
 public SortedSet <string> Visit <A>(IVariableExpression <A> variable) where A : Expression
 {
     return(new SortedSet <string> {
         variable.VariableName
     });
 }
Exemplo n.º 8
0
 public T Visit <A>(IVariableExpression <A> variable) where A : Expression
 {
     // when we visit a variable we add it to the set
     this.Variables.Add(variable.VariableName);
     return(default(T));
 }
 internal QueryTernaryExpression(string function, IVariableExpression variableName)
 {
     _function     = function;
     _variableName = variableName;
 }
Exemplo n.º 10
0
 public bool CompareDimensions(IVariableExpression variable)
 {
     return(Dimension.DimensionKey.Compare(this.DimensionKey, variable.DimensionKey));
 }