parser: closure syntax use '!' instead of 'with'
[nit.git] / src / parser / parser_nodes.nit
index 9540d36..e3caf64 100644 (file)
@@ -180,9 +180,6 @@ end
 class TKwas
 special Token
 end
-class TKwwith
-special Token
-end
 class TKwnullable
 special Token
 end
@@ -267,6 +264,9 @@ end
 class TStarship
 special Token
 end
+class TBang
+special Token
+end
 class TClassid
 special Token
 end
@@ -543,8 +543,8 @@ special Prod
 end
 class AClosureDecl
 special Prod
-    readable writable var _n_kwwith: TKwwith
     readable writable var _n_kwbreak: nullable TKwbreak = null
+    readable writable var _n_bang: TBang
     readable writable var _n_id: TId
     readable writable var _n_signature: ASignature
     readable writable var _n_expr: nullable AExpr = null
@@ -926,11 +926,23 @@ special AAssignOp
 end
 class AClosureDef
 special ALabelable
-    readable writable var _n_kwwith: TKwwith
-    readable writable var _n_id: List[TId] = new List[TId]
+    readable writable var _n_bang: TBang
+    readable writable var _n_id: AClosureId
+    readable writable var _n_ids: List[TId] = new List[TId]
     readable writable var _n_kwdo: TKwdo
     readable writable var _n_expr: nullable AExpr = null
 end
+class AClosureId
+special Prod
+end
+class ASimpleClosureId
+special AClosureId
+    readable writable var _n_id: TId
+end
+class ABreakClosureId
+special AClosureId
+    readable writable var _n_kwbreak: TKwbreak
+end
 class AQualified
 special Prod
     readable writable var _n_id: List[TId] = new List[TId]