syntax: add call reference (funref+recv capture) `&x.foo`
[nit.git] / src / parser / parser_abs.nit
index e2763e5..5815230 100644 (file)
@@ -1,6 +1,6 @@
 # Raw AST node hierarchy.
 # This file was generated by SableCC (http://www.sablecc.org/).
-module parser_abs is no_warning("missing-doc")
+module parser_abs is generated, no_warning("missing-doc")
 
 import location
 
@@ -31,6 +31,9 @@ end
 class TKwenum
        super Token
 end
+class TKwsubset
+       super Token
+end
 class TKwend
        super Token
 end
@@ -160,6 +163,12 @@ end
 class TKwdebug
        super Token
 end
+class TKwyield
+       super Token
+end
+class TKwcatch
+       super Token
+end
 class TOpar
        super Token
 end
@@ -286,6 +295,9 @@ end
 class TBang
        super Token
 end
+class TQuest
+       super Token
+end
 class TAt
        super Token
 end
@@ -301,28 +313,7 @@ end
 class TAttrid
        super Token
 end
-class TNumber
-       super Token
-end
-class THexNumber
-       super Token
-end
-class TBinNumber
-       super Token
-end
-class TOctNumber
-       super Token
-end
-class TBytenum
-       super Token
-end
-class THexBytenum
-       super Token
-end
-class TBinBytenum
-       super Token
-end
-class TOctBytenum
+class TInteger
        super Token
 end
 class TFloat
@@ -346,12 +337,18 @@ end
 class TBadString
        super Token
 end
+class TBadTString
+       super Token
+end
 class TBadChar
        super Token
 end
 class TExternCodeSegment
        super Token
 end
+class TBadExtern
+       super Token
+end
 class EOF
        super Token
 end
@@ -374,6 +371,8 @@ class AClasskind super Prod end
 class AFormaldef super Prod end
 class APropdef super Prod end
 class AMethid super Prod end
+class AQid super Prod end
+class AQclassid super Prod end
 class ASignature super Prod end
 class AParam super Prod end
 class AType super Prod end
@@ -381,6 +380,7 @@ class ALabel super Prod end
 class AExpr super Prod end
 class AExprs super Prod end
 class AAssignOp super Prod end
+class AForGroup super Prod end
 class AModuleName super Prod end
 class AExternCalls super Prod end
 class AExternCall super Prod end
@@ -443,7 +443,7 @@ class AStdClassdef
        var n_kwredef: nullable TKwredef = null is writable
        var n_visibility: AVisibility is writable, noinit
        var n_classkind: AClasskind is writable, noinit
-       var n_id: nullable TClassid = null is writable
+       var n_qid: nullable AQclassid = null is writable
        var n_obra: nullable TObra = null is writable
        var n_formaldefs: List[AFormaldef] = new List[AFormaldef]
        var n_cbra: nullable TCbra = null is writable
@@ -481,6 +481,10 @@ class AExternClasskind
        var n_kwextern: TKwextern is writable, noinit
        var n_kwclass: nullable TKwclass = null is writable
 end
+class ASubsetClasskind
+       super AClasskind
+       var n_kwsubset: TKwsubset is writable, noinit
+end
 class AFormaldef
        super AFormaldef
        var n_id: TClassid is writable, noinit
@@ -513,7 +517,7 @@ class ATypePropdef
        var n_kwredef: nullable TKwredef = null is writable
        var n_visibility: AVisibility is writable, noinit
        var n_kwtype: TKwtype is writable, noinit
-       var n_id: TClassid is writable, noinit
+       var n_qid: AQclassid is writable, noinit
        var n_type: AType is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
@@ -524,6 +528,7 @@ class AMethPropdef
        var n_visibility: AVisibility is writable, noinit
        var n_kwmeth: nullable TKwmeth = null is writable
        var n_kwinit: nullable TKwinit = null is writable
+       var n_kwisa: nullable TKwisa = null is writable
        var n_kwnew: nullable TKwnew = null is writable
        var n_methid: nullable AMethid = null is writable
        var n_signature: ASignature is writable, noinit
@@ -650,6 +655,16 @@ class ABraassignMethid
        var n_cbra: TCbra is writable, noinit
        var n_assign: TAssign is writable, noinit
 end
+class AQid
+       super AQid
+       var n_qualified: nullable AQualified = null is writable
+       var n_id: TId is writable, noinit
+end
+class AQclassid
+       super AQclassid
+       var n_qualified: nullable AQualified = null is writable
+       var n_id: TClassid is writable, noinit
+end
 class ASignature
        super ASignature
        var n_opar: nullable TOpar = null is writable
@@ -667,7 +682,7 @@ end
 class AType
        super AType
        var n_kwnullable: nullable TKwnullable = null is writable
-       var n_id: TClassid is writable, noinit
+       var n_qid: AQclassid is writable, noinit
        var n_obra: nullable TObra = null is writable
        var n_types: List[AType] = new List[AType]
        var n_cbra: nullable TCbra = null is writable
@@ -697,6 +712,11 @@ class AReturnExpr
        var n_kwreturn: nullable TKwreturn = null is writable
        var n_expr: nullable AExpr = null is writable
 end
+class AYieldExpr
+       super AExpr
+       var n_kwyield: TKwyield is writable, noinit
+       var n_expr: AExpr is writable, noinit
+end
 class ABreakExpr
        super AExpr
        var n_kwbreak: TKwbreak is writable, noinit
@@ -715,6 +735,8 @@ class ADoExpr
        super AExpr
        var n_kwdo: TKwdo is writable, noinit
        var n_block: nullable AExpr = null is writable
+       var n_kwcatch: nullable TKwcatch = null is writable
+       var n_catch: nullable AExpr = null is writable
        var n_label: nullable ALabel = null is writable
 end
 class AIfExpr
@@ -752,9 +774,7 @@ end
 class AForExpr
        super AExpr
        var n_kwfor: TKwfor is writable, noinit
-       var n_ids: List[TId] = new List[TId]
-       var n_kwin: TKwin is writable, noinit
-       var n_expr: AExpr is writable, noinit
+       var n_groups: List[AForGroup] = new List[AForGroup]
        var n_kwdo: TKwdo is writable, noinit
        var n_block: nullable AExpr = null is writable
        var n_label: nullable ALabel = null is writable
@@ -952,7 +972,7 @@ class ANewExpr
        super AExpr
        var n_kwnew: TKwnew is writable, noinit
        var n_type: AType is writable, noinit
-       var n_id: nullable TId = null is writable
+       var n_qid: nullable AQid = null is writable
        var n_args: AExprs is writable, noinit
 end
 class AAttrExpr
@@ -977,13 +997,20 @@ end
 class ACallExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
+       var n_args: AExprs is writable, noinit
+end
+class ACallrefExpr
+       super AExpr
+       var n_amp: TAmp is writable, noinit
+       var n_expr: AExpr is writable, noinit
+       var n_qid: AQid is writable, noinit
        var n_args: AExprs is writable, noinit
 end
 class ACallAssignExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
        var n_args: AExprs is writable, noinit
        var n_assign: TAssign is writable, noinit
        var n_value: AExpr is writable, noinit
@@ -991,7 +1018,7 @@ end
 class ACallReassignExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
        var n_args: AExprs is writable, noinit
        var n_assign_op: AAssignOp is writable, noinit
        var n_value: AExpr is writable, noinit
@@ -1098,44 +1125,9 @@ class ANullExpr
        var n_kwnull: TKwnull is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
-class ADecIntExpr
-       super AExpr
-       var n_number: TNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AHexIntExpr
-       super AExpr
-       var n_hex_number: THexNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class ABinIntExpr
-       super AExpr
-       var n_bin_number: TBinNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AOctIntExpr
+class AIntegerExpr
        super AExpr
-       var n_oct_number: TOctNumber is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class ADecByteExpr
-       super AExpr
-       var n_bytenum: TBytenum is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AHexByteExpr
-       super AExpr
-       var n_hex_bytenum: THexBytenum is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class ABinByteExpr
-       super AExpr
-       var n_bin_bytenum: TBinBytenum is writable, noinit
-       var n_annotations: nullable AAnnotations = null is writable
-end
-class AOctByteExpr
-       super AExpr
-       var n_oct_bytenum: TOctBytenum is writable, noinit
+       var n_integer: TInteger is writable, noinit
        var n_annotations: nullable AAnnotations = null is writable
 end
 class AFloatExpr
@@ -1218,6 +1210,11 @@ class ANamedargExpr
        var n_assign: TAssign is writable, noinit
        var n_expr: AExpr is writable, noinit
 end
+class ASafeExpr
+       super AExpr
+       var n_expr: AExpr is writable, noinit
+       var n_quest: TQuest is writable, noinit
+end
 class ATypeExpr
        super AExpr
        var n_type: AType is writable, noinit
@@ -1295,6 +1292,12 @@ class AGgAssignOp
        super AAssignOp
        var n_op: TGgeq is writable, noinit
 end
+class AForGroup
+       super AForGroup
+       var n_ids: List[TId] = new List[TId]
+       var n_kwin: TKwin is writable, noinit
+       var n_expr: AExpr is writable, noinit
+end
 class AModuleName
        super AModuleName
        var n_quad: nullable TQuad = null is writable