Exemplo n.º 1
0
 internal AssignmentExpressionNode(Token identifier, Token equal, ExpressionNode expression)
 {
     Identifier = identifier ?? throw new ArgumentNullException(nameof(identifier));
     Equal      = equal ?? throw new ArgumentNullException(nameof(equal));
     Expression = expression ?? throw new ArgumentNullException(nameof(expression));
 }
Exemplo n.º 2
0
 internal ParenthesizedExpressionNode(Token openParenthesis, ExpressionNode expression)
 {
     MainToken  = openParenthesis;
     Expression = expression ?? throw new ArgumentNullException(nameof(expression));
 }
Exemplo n.º 3
0
 internal UnaryExpressionNode(Token op, ExpressionNode operand)
 {
     Operator = op ?? throw new ArgumentNullException(nameof(op));
     Operand  = operand ?? throw new ArgumentNullException(nameof(operand));
 }
Exemplo n.º 4
0
 internal BinaryExpressionNode(ExpressionNode lhs, Token op, ExpressionNode rhs)
 {
     Left     = lhs ?? throw new ArgumentNullException(nameof(lhs));
     Operator = op ?? throw new ArgumentNullException(nameof(op));
     Right    = rhs ?? throw new ArgumentNullException(nameof(rhs));
 }
Exemplo n.º 5
0
 internal InvokeExpressionNode(Token functionName, Token openParenthesis, IEnumerable <ExpressionNode> arguments, Token closeParenthesis)
 {
     FunctionName     = functionName ?? throw new ArgumentNullException(nameof(functionName));
     OpenParenthesis  = openParenthesis ?? throw new ArgumentNullException(nameof(openParenthesis));
     Arguments        = arguments ?? new ExpressionNode[0];
     CloseParenthesis = closeParenthesis ?? throw new ArgumentNullException(nameof(closeParenthesis));
 }
Exemplo n.º 6
0
 internal NameExpressionNode(Token identifier) =>
Exemplo n.º 7
0
 public static LiteralExpressionNode MakeStringLiteral(Token literal) => new LiteralExpressionNode(literal, literal.Value, BuiltinTypes.String);
Exemplo n.º 8
0
 public static LiteralExpressionNode MakeDoubleLiteral(Token literal) => new LiteralExpressionNode(literal, literal.Value, BuiltinTypes.Double);
Exemplo n.º 9
0
 public static LiteralExpressionNode MakeIntLiteral(Token literal) => new LiteralExpressionNode(literal, literal.Value, BuiltinTypes.Int);
Exemplo n.º 10
0
 public static LiteralExpressionNode MakeBoolLiteral(Token literal, bool value) => new LiteralExpressionNode(literal, value, BuiltinTypes.Bool);
Exemplo n.º 11
0
 private LiteralExpressionNode(Token literal, object value, TypeSymbol type)
 {
     Literal = literal ?? throw new ArgumentNullException(nameof(literal));
     Value   = value ?? throw new ArgumentNullException(nameof(value));
     Type    = type ?? throw new ArgumentNullException(nameof(type));
 }