rta: store real types in live_cast_type
[nit.git] / src / parser / parser_nodes.nit
index 7b98fc7..295aaf2 100644 (file)
@@ -14,7 +14,7 @@
 
 # AST nodes of the Nit language
 # Was previously based on parser_abs.nit.
-package parser_nodes
+module parser_nodes
 
 import location
 
@@ -223,6 +223,9 @@ abstract class TokenKeyword
                return "keyword '{text}'"
        end
 end
+class TKwpackage
+       super TokenKeyword
+end
 class TKwmodule
        super TokenKeyword
 end
@@ -313,6 +316,9 @@ end
 class TKwor
        super TokenKeyword
 end
+class TKwimplies
+       super TokenKeyword
+end
 class TKwnot
        super TokenKeyword
 end
@@ -830,13 +836,13 @@ class ALocalPropExternCall
 end
 class AFullPropExternCall
        super APropExternCall
-       readable writable var _n_classid: TClassid
-       readable writable var _n_quad: nullable TQuad = null
+       readable writable var _n_type: AType
+       readable writable var _n_dot: nullable TDot = null
        readable writable var _n_methid: AMethid
 end
 class AInitPropExternCall
        super APropExternCall
-       readable writable var _n_classid: TClassid
+       readable writable var _n_type: AType
 end
 class ASuperExternCall
        super AExternCall
@@ -848,6 +854,7 @@ end
 class ACastAsExternCall
        super ACastExternCall
        readable writable var _n_from_type: AType
+       readable writable var _n_dot: nullable TDot = null
        readable writable var _n_kwas: TKwas
        readable writable var _n_to_type: AType
 end
@@ -983,7 +990,6 @@ class ASignature
        readable var _n_params: ANodes[AParam] = new ANodes[AParam](self)
        readable writable var _n_cpar: nullable TCpar = null
        readable writable var _n_type: nullable AType = null
-       readable var _n_closure_decls: ANodes[AClosureDecl] = new ANodes[AClosureDecl](self)
 end
 
 # A parameter definition in a signature. eg `x:X`
@@ -994,15 +1000,6 @@ class AParam
        readable writable var _n_dotdotdot: nullable TDotdotdot = null
 end
 
-class AClosureDecl
-       super Prod
-       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
-end
-
 # A static type. eg `nullable X[Y]`
 class AType
        super Prod
@@ -1175,7 +1172,6 @@ abstract class ASendExpr
        super AExpr
        # The receiver of the method invocation
        readable writable var _n_expr: AExpr
-       readable var _n_closure_defs: ANodes[AClosureDef] = new ANodes[AClosureDef](self)
 end
 
 # A binary operation on a method
@@ -1212,6 +1208,13 @@ class AOrElseExpr
        readable writable var _n_expr2: AExpr
 end
 
+# A `implies` expression
+class AImpliesExpr
+       super ABoolExpr
+       readable writable var _n_expr: AExpr
+       readable writable var _n_expr2: AExpr
+end
+
 # A `not` expression
 class ANotExpr
        super ABoolExpr
@@ -1224,13 +1227,6 @@ class AEqExpr
        super ABinopExpr
 end
 
-# A `is` expression
-class AEeExpr
-       super ABoolExpr
-       readable writable var _n_expr: AExpr
-       readable writable var _n_expr2: AExpr
-end
-
 # A `!=` expression
 class ANeExpr
        super ABinopExpr
@@ -1433,13 +1429,6 @@ class ABraReassignExpr
        super ASendReassignFormExpr
 end
 
-class AClosureCallExpr
-       super AExpr
-       readable writable var _n_id: TId
-       readable writable var _n_args: AExprs
-       readable var _n_closure_defs: ANodes[AClosureDef] = new ANodes[AClosureDef](self)
-end
-
 # A local variable read access.
 # The parser cannot instantiate them, see `ACallExpr`.
 class AVarExpr
@@ -1647,26 +1636,6 @@ class AMinusAssignOp
        readable writable var _n_minuseq: TMinuseq
 end
 
-class AClosureDef
-       super ALabelable
-       readable writable var _n_bang: TBang
-       readable writable var _n_id: AClosureId
-       readable var _n_ids: ANodes[TId] = new ANodes[TId](self)
-       readable writable var _n_kwdo: nullable TKwdo = null
-       readable writable var _n_expr: nullable AExpr = null
-       redef fun hot_location do return n_id.location
-end
-abstract class AClosureId
-       super Prod
-end
-class ASimpleClosureId
-       super AClosureId
-       readable writable var _n_id: TId
-end
-class ABreakClosureId
-       super AClosureId
-       readable writable var _n_kwbreak: TKwbreak
-end
 class AModuleName
        super Prod
        readable writable var _n_quad: nullable TQuad = null