syntax: add safe call syntax `x?.foo`
[nit.git] / src / parser / parser_nodes.nit
index 0c535c2..92dbea0 100644 (file)
@@ -983,6 +983,11 @@ class TStarship
        super TokenOperator
 end
 
+# The operator `?`
+class TQuest
+       super TokenOperator
+end
+
 # The operator `!`
 class TBang
        super TokenOperator
@@ -2750,6 +2755,17 @@ class AVarargExpr
        var n_dotdotdot: TDotdotdot is writable, noinit
 end
 
+# A receiver with a `?` suffix used in safe call operator.
+class ASafeExpr
+       super AExpr
+
+       # The expression made safe
+       var n_expr: AExpr is writable, noinit
+
+       # The `?` symbol
+       var n_quest: TQuest is writable, noinit
+end
+
 # An named notation used to pass an expression by name in a parameter
 class ANamedargExpr
        super AExpr