public BoundConversionExpression(TypeSymbol type, BoundExpression expression, bool isValid) : base(isValid) { ResultType = type; Expression = expression; if (isValid) { Constant = ConstantFolder.FoldConversion(type, expression); } }
public BoundUnaryExpression(BoundUnaryOperator op, BoundExpression expression, TypeSymbol resultType, bool isValid) : base(isValid) { ResultType = resultType; Op = op; Expression = expression; if (isValid) { Constant = ConstantFolder.FoldUnary(op, expression); } }
public BoundBinaryExpression(BoundBinaryOperator op, BoundExpression left, BoundExpression right, TypeSymbol resultType, bool isValid) : base(isValid) { ResultType = resultType; Op = op; Left = left; Right = right; if (isValid) { Constant = ConstantFolder.FoldBinary(op, left, right); } }