public AstNodeStmAssign(AstNodeExprLValue LValue, AstNodeExpr Value)
        {
            if (LValue.Type != Value.Type) throw (new Exception(String.Format("Local.Type({0}) != Value.Type({1})", LValue.Type, Value.Type)));

            this.LValue = LValue;
            this.Value = Value;
        }
Example #2
0
        public AstNodeStmAssign(AstNodeExprLValue LValue, AstNodeExpr Value)
        {
            if (LValue.Type != Value.Type)
            {
                throw (new Exception(String.Format("Local.Type({0}) != Value.Type({1})", LValue.Type, Value.Type)));
            }

            this.LValue = LValue;
            this.Value  = Value;
        }
Example #3
0
        public AstNodeStmAssign(AstNodeExprLValue leftValue, AstNodeExpr value)
        {
            if (leftValue.Type != value.Type)
            {
                throw (new Exception($"Local.Type({leftValue.Type}) != Value.Type({value.Type})"));
            }

            LeftValue = leftValue;
            Value     = value;
        }
 public AstNodeExprLValue Reinterpret(Type Type, AstNodeExprLValue Value)
 {
     return(Indirect(Cast(Type.MakePointerType(), GetAddress(Value), Explicit: false)));
 }
 public AstNodeExprLValue Reinterpret <TType>(AstNodeExprLValue Value)
 {
     return(Reinterpret(typeof(TType), Value));
 }
 public AstNodeExprGetAddress GetAddress(AstNodeExprLValue Expr)
 {
     return(new AstNodeExprGetAddress(Expr));
 }
 public AstNodeStmAssign Assign(AstNodeExprLValue Left, AstNodeExpr Expr)
 {
     return(new AstNodeStmAssign(Left, Expr));
 }
Example #8
0
 public AstNodeExprGetAddress(AstNodeExprLValue expression)
 {
     Expression = expression;
 }
Example #9
0
 public AstNodeExprLValue Reinterpret(Type type, AstNodeExprLValue value) =>
 Indirect(Cast(type.MakePointerType(), GetAddress(value), Explicit: false));
Example #10
0
 public AstNodeExprLValue Reinterpret <TType>(AstNodeExprLValue value) => Reinterpret(typeof(TType), value);
Example #11
0
 public AstNodeExprGetAddress GetAddress(AstNodeExprLValue expr) => new AstNodeExprGetAddress(expr);
Example #12
0
 public AstNodeStmAssign Assign(AstNodeExprLValue left, AstNodeExpr expr) => new AstNodeStmAssign(left, expr);
 public AstNodeExprGetAddress(AstNodeExprLValue Expression)
 {
     this.Expression = Expression;
 }
Example #14
0
 public AstNodeExprGetAddress(AstNodeExprLValue Expression)
 {
     this.Expression = Expression;
 }