parser: remove useless methods from generated parser code
authorJean-Sebastien Gelinas <calestar@gmail.com>
Sun, 20 Sep 2009 15:06:23 +0000 (11:06 -0400)
committerJean Privat <jean@pryen.org>
Mon, 11 Jan 2010 21:52:27 +0000 (16:52 -0500)
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

src/parser/lexer.nit
src/parser/parser_abs.nit
src/parser/parser_nodes.nit
src/parser/parser_prod.nit
src/parser/xss/nodes.xss
src/parser/xss/prods.xss
src/parser/xss/tokens.xss

index 46efff9..6d6b295 100644 (file)
@@ -5,7 +5,7 @@ package lexer
 intrude import parser_nodes
 
 redef class Token
-    readable writable var _text: String
+    readable var _text: String
 
     fun parser_index: Int is abstract
 
@@ -1160,7 +1160,7 @@ redef class EOF
 end
 
 redef class AError
-    readable writable var _message: String
+    readable var _message: String
 
     init init_error(message: String, loc: Location)
     do
index 97aa656..8c6d6f7 100644 (file)
@@ -318,702 +318,702 @@ class ADoc special Prod end
 
 class AModule
 special AModule
-    readable writable var _n_packagedecl: nullable APackagedecl = null
-    readable writable var _n_imports: List[AImport] = new List[AImport]
-    readable writable var _n_classdefs: List[AClassdef] = new List[AClassdef]
+    readable var _n_packagedecl: nullable APackagedecl = null
+    readable var _n_imports: List[AImport] = new List[AImport]
+    readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class APackagedecl
 special APackagedecl
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwpackage: TKwpackage
-    readable writable var _n_id: TId
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwpackage: TKwpackage
+    readable var _n_id: TId
 end
 class AStdImport
 special AImport
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwimport: TKwimport
-    readable writable var _n_id: TId
+    readable var _n_visibility: AVisibility
+    readable var _n_kwimport: TKwimport
+    readable var _n_id: TId
 end
 class ANoImport
 special AImport
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwimport: TKwimport
-    readable writable var _n_kwend: TKwend
+    readable var _n_visibility: AVisibility
+    readable var _n_kwimport: TKwimport
+    readable var _n_kwend: TKwend
 end
 class APublicVisibility
 special AVisibility
 end
 class APrivateVisibility
 special AVisibility
-    readable writable var _n_kwprivate: TKwprivate
+    readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
 special AVisibility
-    readable writable var _n_kwprotected: TKwprotected
+    readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
 special AVisibility
-    readable writable var _n_kwintrude: TKwintrude
+    readable var _n_kwintrude: TKwintrude
 end
 class AStdClassdef
 special AClassdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_classkind: AClasskind
-    readable writable var _n_id: nullable TClassid = null
-    readable writable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
-    readable writable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
-    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_classkind: AClasskind
+    readable var _n_id: nullable TClassid = null
+    readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
+    readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
+    readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
 special AClassdef
-    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
+    readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
 special AClassdef
-    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
+    readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AConcreteClasskind
 special AClasskind
-    readable writable var _n_kwclass: TKwclass
+    readable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
 special AClasskind
-    readable writable var _n_kwabstract: TKwabstract
-    readable writable var _n_kwclass: TKwclass
+    readable var _n_kwabstract: TKwabstract
+    readable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
 special AClasskind
-    readable writable var _n_kwinterface: TKwinterface
+    readable var _n_kwinterface: TKwinterface
 end
 class AUniversalClasskind
 special AClasskind
-    readable writable var _n_kwuniversal: TKwuniversal
+    readable var _n_kwuniversal: TKwuniversal
 end
 class AFormaldef
 special AFormaldef
-    readable writable var _n_id: TClassid
-    readable writable var _n_type: nullable AType = null
+    readable var _n_id: TClassid
+    readable var _n_type: nullable AType = null
 end
 class ASuperclass
 special ASuperclass
-    readable writable var _n_kwspecial: TKwspecial
-    readable writable var _n_type: AType
+    readable var _n_kwspecial: TKwspecial
+    readable var _n_type: AType
 end
 class AAttrPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_readable: nullable AAble = null
-    readable writable var _n_writable: nullable AAble = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwvar: TKwvar
-    readable writable var _n_id: TAttrid
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_readable: nullable AAble = null
+    readable var _n_writable: nullable AAble = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwvar: TKwvar
+    readable var _n_id: TAttrid
+    readable var _n_type: nullable AType = null
+    readable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_methid: AMethid
-    readable writable var _n_signature: ASignature
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_methid: AMethid
+    readable var _n_signature: ASignature
 end
 class ADeferredMethPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: AMethid
-    readable writable var _n_signature: ASignature
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwmeth: TKwmeth
+    readable var _n_methid: AMethid
+    readable var _n_signature: ASignature
 end
 class AInternMethPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: AMethid
-    readable writable var _n_signature: ASignature
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwmeth: TKwmeth
+    readable var _n_methid: AMethid
+    readable var _n_signature: ASignature
 end
 class AExternMethPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: AMethid
-    readable writable var _n_signature: ASignature
-    readable writable var _n_extern: nullable TString = null
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwmeth: TKwmeth
+    readable var _n_methid: AMethid
+    readable var _n_signature: ASignature
+    readable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_methid: AMethid
-    readable writable var _n_signature: ASignature
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwmeth: TKwmeth
+    readable var _n_methid: AMethid
+    readable var _n_signature: ASignature
+    readable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwinit: TKwinit
-    readable writable var _n_methid: nullable AMethid = null
-    readable writable var _n_signature: ASignature
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwinit: TKwinit
+    readable var _n_methid: nullable AMethid = null
+    readable var _n_signature: ASignature
+    readable var _n_block: nullable AExpr = null
 end
 class AMainMethPropdef
 special APropdef
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_block: nullable AExpr = null
 end
 class ATypePropdef
 special APropdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwtype: TKwtype
-    readable writable var _n_id: TClassid
-    readable writable var _n_type: AType
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwtype: TKwtype
+    readable var _n_id: TClassid
+    readable var _n_type: AType
 end
 class AReadAble
 special AAble
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_kwreadable: TKwreadable
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
 special AAble
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_kwwritable: TKwwritable
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_kwwritable: TKwwritable
 end
 class AIdMethid
 special AMethid
-    readable writable var _n_id: TId
+    readable var _n_id: TId
 end
 class APlusMethid
 special AMethid
-    readable writable var _n_plus: TPlus
+    readable var _n_plus: TPlus
 end
 class AMinusMethid
 special AMethid
-    readable writable var _n_minus: TMinus
+    readable var _n_minus: TMinus
 end
 class AStarMethid
 special AMethid
-    readable writable var _n_star: TStar
+    readable var _n_star: TStar
 end
 class ASlashMethid
 special AMethid
-    readable writable var _n_slash: TSlash
+    readable var _n_slash: TSlash
 end
 class APercentMethid
 special AMethid
-    readable writable var _n_percent: TPercent
+    readable var _n_percent: TPercent
 end
 class AEqMethid
 special AMethid
-    readable writable var _n_eq: TEq
+    readable var _n_eq: TEq
 end
 class ANeMethid
 special AMethid
-    readable writable var _n_ne: TNe
+    readable var _n_ne: TNe
 end
 class ALeMethid
 special AMethid
-    readable writable var _n_le: TLe
+    readable var _n_le: TLe
 end
 class AGeMethid
 special AMethid
-    readable writable var _n_ge: TGe
+    readable var _n_ge: TGe
 end
 class ALtMethid
 special AMethid
-    readable writable var _n_lt: TLt
+    readable var _n_lt: TLt
 end
 class AGtMethid
 special AMethid
-    readable writable var _n_gt: TGt
+    readable var _n_gt: TGt
 end
 class ABraMethid
 special AMethid
-    readable writable var _n_obra: TObra
-    readable writable var _n_cbra: TCbra
+    readable var _n_obra: TObra
+    readable var _n_cbra: TCbra
 end
 class AStarshipMethid
 special AMethid
-    readable writable var _n_starship: TStarship
+    readable var _n_starship: TStarship
 end
 class AAssignMethid
 special AMethid
-    readable writable var _n_id: TId
-    readable writable var _n_assign: TAssign
+    readable var _n_id: TId
+    readable var _n_assign: TAssign
 end
 class ABraassignMethid
 special AMethid
-    readable writable var _n_obra: TObra
-    readable writable var _n_cbra: TCbra
-    readable writable var _n_assign: TAssign
+    readable var _n_obra: TObra
+    readable var _n_cbra: TCbra
+    readable var _n_assign: TAssign
 end
 class ASignature
 special ASignature
-    readable writable var _n_params: List[AParam] = new List[AParam]
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
+    readable var _n_params: List[AParam] = new List[AParam]
+    readable var _n_type: nullable AType = null
+    readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
 special AParam
-    readable writable var _n_id: TId
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_dotdotdot: nullable TDotdotdot = null
+    readable var _n_id: TId
+    readable var _n_type: nullable AType = null
+    readable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
 special AClosureDecl
-    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
+    readable var _n_kwbreak: nullable TKwbreak = null
+    readable var _n_bang: TBang
+    readable var _n_id: TId
+    readable var _n_signature: ASignature
+    readable var _n_expr: nullable AExpr = null
 end
 class AType
 special AType
-    readable writable var _n_kwnullable: nullable TKwnullable = null
-    readable writable var _n_id: TClassid
-    readable writable var _n_types: List[AType] = new List[AType]
+    readable var _n_kwnullable: nullable TKwnullable = null
+    readable var _n_id: TClassid
+    readable var _n_types: List[AType] = new List[AType]
 end
 class ALabel
 special ALabel
-    readable writable var _n_kwlabel: TKwlabel
-    readable writable var _n_id: TId
+    readable var _n_kwlabel: TKwlabel
+    readable var _n_id: TId
 end
 class ABlockExpr
 special AExpr
-    readable writable var _n_expr: List[AExpr] = new List[AExpr]
+    readable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
 special AExpr
-    readable writable var _n_kwvar: TKwvar
-    readable writable var _n_id: TId
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_assign: nullable TAssign = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwvar: TKwvar
+    readable var _n_id: TId
+    readable var _n_type: nullable AType = null
+    readable var _n_assign: nullable TAssign = null
+    readable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
 special AExpr
-    readable writable var _n_kwreturn: nullable TKwreturn = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwreturn: nullable TKwreturn = null
+    readable var _n_expr: nullable AExpr = null
 end
 class ABreakExpr
 special AExpr
-    readable writable var _n_kwbreak: TKwbreak
-    readable writable var _n_label: nullable ALabel = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwbreak: TKwbreak
+    readable var _n_label: nullable ALabel = null
+    readable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
 special AExpr
-    readable writable var _n_kwabort: TKwabort
+    readable var _n_kwabort: TKwabort
 end
 class AContinueExpr
 special AExpr
-    readable writable var _n_kwcontinue: nullable TKwcontinue = null
-    readable writable var _n_label: nullable ALabel = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwcontinue: nullable TKwcontinue = null
+    readable var _n_label: nullable ALabel = null
+    readable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
 special AExpr
-    readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable AExpr = null
-    readable writable var _n_label: nullable ALabel = null
+    readable var _n_kwdo: TKwdo
+    readable var _n_block: nullable AExpr = null
+    readable var _n_label: nullable ALabel = null
 end
 class AIfExpr
 special AExpr
-    readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: AExpr
-    readable writable var _n_then: nullable AExpr = null
-    readable writable var _n_else: nullable AExpr = null
+    readable var _n_kwif: TKwif
+    readable var _n_expr: AExpr
+    readable var _n_then: nullable AExpr = null
+    readable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
 special AExpr
-    readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwthen: TKwthen
-    readable writable var _n_then: AExpr
-    readable writable var _n_kwelse: TKwelse
-    readable writable var _n_else: AExpr
+    readable var _n_kwif: TKwif
+    readable var _n_expr: AExpr
+    readable var _n_kwthen: TKwthen
+    readable var _n_then: AExpr
+    readable var _n_kwelse: TKwelse
+    readable var _n_else: AExpr
 end
 class AWhileExpr
 special AExpr
-    readable writable var _n_kwwhile: TKwwhile
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable AExpr = null
-    readable writable var _n_label: nullable ALabel = null
+    readable var _n_kwwhile: TKwwhile
+    readable var _n_expr: AExpr
+    readable var _n_kwdo: TKwdo
+    readable var _n_block: nullable AExpr = null
+    readable var _n_label: nullable ALabel = null
 end
 class ALoopExpr
 special AExpr
-    readable writable var _n_kwloop: TKwloop
-    readable writable var _n_block: nullable AExpr = null
-    readable writable var _n_label: nullable ALabel = null
+    readable var _n_kwloop: TKwloop
+    readable var _n_block: nullable AExpr = null
+    readable var _n_label: nullable ALabel = null
 end
 class AForExpr
 special AExpr
-    readable writable var _n_kwfor: TKwfor
-    readable writable var _n_id: TId
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable AExpr = null
-    readable writable var _n_label: nullable ALabel = null
+    readable var _n_kwfor: TKwfor
+    readable var _n_id: TId
+    readable var _n_expr: AExpr
+    readable var _n_kwdo: TKwdo
+    readable var _n_block: nullable AExpr = null
+    readable var _n_label: nullable ALabel = null
 end
 class AAssertExpr
 special AExpr
-    readable writable var _n_kwassert: TKwassert
-    readable writable var _n_id: nullable TId = null
-    readable writable var _n_expr: AExpr
-    readable writable var _n_else: nullable AExpr = null
+    readable var _n_kwassert: TKwassert
+    readable var _n_id: nullable TId = null
+    readable var _n_expr: AExpr
+    readable var _n_else: nullable AExpr = null
 end
 class AOnceExpr
 special AExpr
-    readable writable var _n_kwonce: TKwonce
-    readable writable var _n_expr: AExpr
+    readable var _n_kwonce: TKwonce
+    readable var _n_expr: AExpr
 end
 class ASendExpr
 special AExpr
-    readable writable var _n_expr: AExpr
+    readable var _n_expr: AExpr
 end
 class ABinopExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AOrExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AAndExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ANotExpr
 special AExpr
-    readable writable var _n_kwnot: TKwnot
-    readable writable var _n_expr: AExpr
+    readable var _n_kwnot: TKwnot
+    readable var _n_expr: AExpr
 end
 class AEqExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AEeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ANeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ALtExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ALeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AGtExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AGeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AIsaExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_type: AType
+    readable var _n_expr: AExpr
+    readable var _n_type: AType
 end
 class APlusExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AMinusExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AStarshipExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AStarExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ASlashExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class APercentExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AUminusExpr
 special AExpr
-    readable writable var _n_minus: TMinus
-    readable writable var _n_expr: AExpr
+    readable var _n_minus: TMinus
+    readable var _n_expr: AExpr
 end
 class ANewExpr
 special AExpr
-    readable writable var _n_kwnew: TKwnew
-    readable writable var _n_type: AType
-    readable writable var _n_id: nullable TId = null
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_kwnew: TKwnew
+    readable var _n_type: AType
+    readable var _n_id: nullable TId = null
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TAttrid
+    readable var _n_expr: AExpr
+    readable var _n_id: TAttrid
 end
 class AAttrAssignExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TAttrid
-    readable writable var _n_assign: TAssign
-    readable writable var _n_value: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_id: TAttrid
+    readable var _n_assign: TAssign
+    readable var _n_value: AExpr
 end
 class AAttrReassignExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TAttrid
-    readable writable var _n_assign_op: AAssignOp
-    readable writable var _n_value: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_id: TAttrid
+    readable var _n_assign_op: AAssignOp
+    readable var _n_value: AExpr
 end
 class ACallExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
+    readable var _n_expr: AExpr
+    readable var _n_id: TId
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ACallAssignExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_assign: TAssign
-    readable writable var _n_value: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_id: TId
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_assign: TAssign
+    readable var _n_value: AExpr
 end
 class ACallReassignExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_assign_op: AAssignOp
-    readable writable var _n_value: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_id: TId
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_assign_op: AAssignOp
+    readable var _n_value: AExpr
 end
 class ASuperExpr
 special AExpr
-    readable writable var _n_qualified: nullable AQualified = null
-    readable writable var _n_kwsuper: TKwsuper
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_qualified: nullable AQualified = null
+    readable var _n_kwsuper: TKwsuper
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwinit: TKwinit
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_expr: AExpr
+    readable var _n_kwinit: TKwinit
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
+    readable var _n_expr: AExpr
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABraAssignExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_assign: TAssign
-    readable writable var _n_value: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_assign: TAssign
+    readable var _n_value: AExpr
 end
 class ABraReassignExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_assign_op: AAssignOp
-    readable writable var _n_value: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_assign_op: AAssignOp
+    readable var _n_value: AExpr
 end
 class AClosureCallExpr
 special AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
+    readable var _n_id: TId
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
 special AExpr
-    readable writable var _n_id: TId
+    readable var _n_id: TId
 end
 class AVarAssignExpr
 special AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_assign: TAssign
-    readable writable var _n_value: AExpr
+    readable var _n_id: TId
+    readable var _n_assign: TAssign
+    readable var _n_value: AExpr
 end
 class AVarReassignExpr
 special AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_assign_op: AAssignOp
-    readable writable var _n_value: AExpr
+    readable var _n_id: TId
+    readable var _n_assign_op: AAssignOp
+    readable var _n_value: AExpr
 end
 class ARangeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ACrangeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AOrangeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AArrayExpr
 special AExpr
-    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
+    readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
 special AExpr
-    readable writable var _n_kwself: TKwself
+    readable var _n_kwself: TKwself
 end
 class AImplicitSelfExpr
 special AExpr
 end
 class ATrueExpr
 special AExpr
-    readable writable var _n_kwtrue: TKwtrue
+    readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
 special AExpr
-    readable writable var _n_kwfalse: TKwfalse
+    readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
 special AExpr
-    readable writable var _n_kwnull: TKwnull
+    readable var _n_kwnull: TKwnull
 end
 class AIntExpr
 special AExpr
-    readable writable var _n_number: TNumber
+    readable var _n_number: TNumber
 end
 class AFloatExpr
 special AExpr
-    readable writable var _n_float: TFloat
+    readable var _n_float: TFloat
 end
 class ACharExpr
 special AExpr
-    readable writable var _n_char: TChar
+    readable var _n_char: TChar
 end
 class AStringExpr
 special AExpr
-    readable writable var _n_string: TString
+    readable var _n_string: TString
 end
 class AStartStringExpr
 special AExpr
-    readable writable var _n_string: TStartString
+    readable var _n_string: TStartString
 end
 class AMidStringExpr
 special AExpr
-    readable writable var _n_string: TMidString
+    readable var _n_string: TMidString
 end
 class AEndStringExpr
 special AExpr
-    readable writable var _n_string: TEndString
+    readable var _n_string: TEndString
 end
 class ASuperstringExpr
 special AExpr
-    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
+    readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
 special AExpr
-    readable writable var _n_expr: AExpr
+    readable var _n_expr: AExpr
 end
 class AAsCastExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwas: TKwas
-    readable writable var _n_type: AType
+    readable var _n_expr: AExpr
+    readable var _n_kwas: TKwas
+    readable var _n_type: AType
 end
 class AAsNotnullExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwas: TKwas
-    readable writable var _n_kwnot: TKwnot
-    readable writable var _n_kwnull: TKwnull
+    readable var _n_expr: AExpr
+    readable var _n_kwas: TKwas
+    readable var _n_kwnot: TKwnot
+    readable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
 special AExpr
-    readable writable var _n_kwisset: TKwisset
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TAttrid
+    readable var _n_kwisset: TKwisset
+    readable var _n_expr: AExpr
+    readable var _n_id: TAttrid
 end
 class APlusAssignOp
 special AAssignOp
-    readable writable var _n_pluseq: TPluseq
+    readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
 special AAssignOp
-    readable writable var _n_minuseq: TMinuseq
+    readable var _n_minuseq: TMinuseq
 end
 class AClosureDef
 special AClosureDef
-    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: nullable TKwdo = null
-    readable writable var _n_expr: nullable AExpr = null
-    readable writable var _n_label: nullable ALabel = null
+    readable var _n_bang: TBang
+    readable var _n_id: AClosureId
+    readable var _n_ids: List[TId] = new List[TId]
+    readable var _n_kwdo: nullable TKwdo = null
+    readable var _n_expr: nullable AExpr = null
+    readable var _n_label: nullable ALabel = null
 end
 class ASimpleClosureId
 special AClosureId
-    readable writable var _n_id: TId
+    readable var _n_id: TId
 end
 class ABreakClosureId
 special AClosureId
-    readable writable var _n_kwbreak: TKwbreak
+    readable var _n_kwbreak: TKwbreak
 end
 class AQualified
 special AQualified
-    readable writable var _n_id: List[TId] = new List[TId]
-    readable writable var _n_classid: nullable TClassid = null
+    readable var _n_id: List[TId] = new List[TId]
+    readable var _n_classid: nullable TClassid = null
 end
 class ADoc
 special ADoc
-    readable writable var _n_comment: List[TComment] = new List[TComment]
+    readable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
 special Prod
-    readable writable var _n_base: nullable AModule
-    readable writable var _n_eof: EOF
+    readable var _n_base: nullable AModule
+    readable var _n_eof: EOF
 end
index 9173fb0..7a0e574 100644 (file)
@@ -311,28 +311,28 @@ end
 
 class AModule
 special Prod
-    readable writable var _n_packagedecl: nullable APackagedecl = null
-    readable writable var _n_imports: List[AImport] = new List[AImport]
-    readable writable var _n_classdefs: List[AClassdef] = new List[AClassdef]
+    readable var _n_packagedecl: nullable APackagedecl = null
+    readable var _n_imports: List[AImport] = new List[AImport]
+    readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class APackagedecl
 special Prod
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwpackage: TKwpackage
-    readable writable var _n_id: TId
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwpackage: TKwpackage
+    readable var _n_id: TId
 end
 class AImport special Prod end
 class AStdImport
 special AImport
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwimport: TKwimport
-    readable writable var _n_id: TId
+    readable var _n_visibility: AVisibility
+    readable var _n_kwimport: TKwimport
+    readable var _n_id: TId
 end
 class ANoImport
 special AImport
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwimport: TKwimport
-    readable writable var _n_kwend: TKwend
+    readable var _n_visibility: AVisibility
+    readable var _n_kwimport: TKwimport
+    readable var _n_kwend: TKwend
 end
 class AVisibility special Prod end
 class APublicVisibility
@@ -340,367 +340,367 @@ special AVisibility
 end
 class APrivateVisibility
 special AVisibility
-    readable writable var _n_kwprivate: TKwprivate
+    readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
 special AVisibility
-    readable writable var _n_kwprotected: TKwprotected
+    readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
 special AVisibility
-    readable writable var _n_kwintrude: TKwintrude
+    readable var _n_kwintrude: TKwintrude
 end
 class AClassdef special Prod end
 class AStdClassdef
 special AClassdef
-    readable writable var _n_doc: nullable ADoc = null
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_classkind: AClasskind
-    readable writable var _n_id: nullable TClassid = null
-    readable writable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
-    readable writable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
-    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
+    readable var _n_doc: nullable ADoc = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_classkind: AClasskind
+    readable var _n_id: nullable TClassid = null
+    readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
+    readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
+    readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
 special AClassdef
-    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
+    readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
 special AClassdef
-    readable writable var _n_propdefs: List[APropdef] = new List[APropdef]
+    readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AClasskind special Prod end
 class AConcreteClasskind
 special AClasskind
-    readable writable var _n_kwclass: TKwclass
+    readable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
 special AClasskind
-    readable writable var _n_kwabstract: TKwabstract
-    readable writable var _n_kwclass: TKwclass
+    readable var _n_kwabstract: TKwabstract
+    readable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
 special AClasskind
-    readable writable var _n_kwinterface: TKwinterface
+    readable var _n_kwinterface: TKwinterface
 end
 class AUniversalClasskind
 special AClasskind
-    readable writable var _n_kwuniversal: TKwuniversal
+    readable var _n_kwuniversal: TKwuniversal
 end
 class AFormaldef
 special Prod
-    readable writable var _n_id: TClassid
-    readable writable var _n_type: nullable AType = null
+    readable var _n_id: TClassid
+    readable var _n_type: nullable AType = null
 end
 class ASuperclass
 special Prod
-    readable writable var _n_kwspecial: TKwspecial
-    readable writable var _n_type: AType
+    readable var _n_kwspecial: TKwspecial
+    readable var _n_type: AType
 end
 class APropdef special Prod
-    readable writable var _n_doc: nullable ADoc = null
+    readable var _n_doc: nullable ADoc = null
 end
 class AAttrPropdef
 special APropdef
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwvar: TKwvar
-    readable writable var _n_id: TAttrid
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_readable: nullable AAble = null
-    readable writable var _n_writable: nullable AAble = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwvar: TKwvar
+    readable var _n_id: TAttrid
+    readable var _n_type: nullable AType = null
+    readable var _n_readable: nullable AAble = null
+    readable var _n_writable: nullable AAble = null
+    readable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
 special APropdef
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: nullable AVisibility
-    readable writable var _n_methid: nullable AMethid = null
-    readable writable var _n_signature: nullable ASignature
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: nullable AVisibility
+    readable var _n_methid: nullable AMethid = null
+    readable var _n_signature: nullable ASignature
 end
 class ADeferredMethPropdef
 special AMethPropdef
-    readable writable var _n_kwmeth: TKwmeth
+    readable var _n_kwmeth: TKwmeth
 end
 class AInternMethPropdef
 special AMethPropdef
-    readable writable var _n_kwmeth: TKwmeth
+    readable var _n_kwmeth: TKwmeth
 end
 class AExternMethPropdef
 special AMethPropdef
-    readable writable var _n_kwmeth: TKwmeth
-    readable writable var _n_extern: nullable TString = null
+    readable var _n_kwmeth: TKwmeth
+    readable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
 special AMethPropdef
-    readable writable var _n_kwmeth: nullable TKwmeth
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_kwmeth: nullable TKwmeth
+    readable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
 special AConcreteMethPropdef
-    readable writable var _n_kwinit: TKwinit
+    readable var _n_kwinit: TKwinit
 end
 class AMainMethPropdef
 special AConcreteMethPropdef
 end
 class ATypePropdef
 special APropdef
-    readable writable var _n_kwredef: nullable TKwredef = null
-    readable writable var _n_visibility: AVisibility
-    readable writable var _n_kwtype: TKwtype
-    readable writable var _n_id: TClassid
-    readable writable var _n_type: AType
+    readable var _n_kwredef: nullable TKwredef = null
+    readable var _n_visibility: AVisibility
+    readable var _n_kwtype: TKwtype
+    readable var _n_id: TClassid
+    readable var _n_type: AType
 end
 class AAble special Prod
-    readable writable var _n_kwredef: nullable TKwredef = null
+    readable var _n_kwredef: nullable TKwredef = null
 end
 class AReadAble
 special AAble
-    readable writable var _n_kwreadable: TKwreadable
+    readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
 special AAble
-    readable writable var _n_kwwritable: TKwwritable
+    readable var _n_kwwritable: TKwwritable
 end
 class AMethid special Prod end
 class AIdMethid
 special AMethid
-    readable writable var _n_id: TId
+    readable var _n_id: TId
 end
 class APlusMethid
 special AMethid
-    readable writable var _n_plus: TPlus
+    readable var _n_plus: TPlus
 end
 class AMinusMethid
 special AMethid
-    readable writable var _n_minus: TMinus
+    readable var _n_minus: TMinus
 end
 class AStarMethid
 special AMethid
-    readable writable var _n_star: TStar
+    readable var _n_star: TStar
 end
 class ASlashMethid
 special AMethid
-    readable writable var _n_slash: TSlash
+    readable var _n_slash: TSlash
 end
 class APercentMethid
 special AMethid
-    readable writable var _n_percent: TPercent
+    readable var _n_percent: TPercent
 end
 class AEqMethid
 special AMethid
-    readable writable var _n_eq: TEq
+    readable var _n_eq: TEq
 end
 class ANeMethid
 special AMethid
-    readable writable var _n_ne: TNe
+    readable var _n_ne: TNe
 end
 class ALeMethid
 special AMethid
-    readable writable var _n_le: TLe
+    readable var _n_le: TLe
 end
 class AGeMethid
 special AMethid
-    readable writable var _n_ge: TGe
+    readable var _n_ge: TGe
 end
 class ALtMethid
 special AMethid
-    readable writable var _n_lt: TLt
+    readable var _n_lt: TLt
 end
 class AGtMethid
 special AMethid
-    readable writable var _n_gt: TGt
+    readable var _n_gt: TGt
 end
 class ABraMethid
 special AMethid
-    readable writable var _n_obra: TObra
-    readable writable var _n_cbra: TCbra
+    readable var _n_obra: TObra
+    readable var _n_cbra: TCbra
 end
 class AStarshipMethid
 special AMethid
-    readable writable var _n_starship: TStarship
+    readable var _n_starship: TStarship
 end
 class AAssignMethid
 special AMethid
-    readable writable var _n_id: TId
-    readable writable var _n_assign: TAssign
+    readable var _n_id: TId
+    readable var _n_assign: TAssign
 end
 class ABraassignMethid
 special AMethid
-    readable writable var _n_obra: TObra
-    readable writable var _n_cbra: TCbra
-    readable writable var _n_assign: TAssign
+    readable var _n_obra: TObra
+    readable var _n_cbra: TCbra
+    readable var _n_assign: TAssign
 end
 class ASignature
 special Prod
-    readable writable var _n_params: List[AParam] = new List[AParam]
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
+    readable var _n_params: List[AParam] = new List[AParam]
+    readable var _n_type: nullable AType = null
+    readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
 special Prod
-    readable writable var _n_id: TId
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_dotdotdot: nullable TDotdotdot = null
+    readable var _n_id: TId
+    readable var _n_type: nullable AType = null
+    readable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
 special 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
+    readable var _n_kwbreak: nullable TKwbreak = null
+    readable var _n_bang: TBang
+    readable var _n_id: TId
+    readable var _n_signature: ASignature
+    readable var _n_expr: nullable AExpr = null
 end
 class AType
 special Prod
-    readable writable var _n_kwnullable: nullable TKwnullable = null
-    readable writable var _n_id: TClassid
-    readable writable var _n_types: List[AType] = new List[AType]
+    readable var _n_kwnullable: nullable TKwnullable = null
+    readable var _n_id: TClassid
+    readable var _n_types: List[AType] = new List[AType]
 end
 class ALabel
 special Prod
-    readable writable var _n_kwlabel: TKwlabel
-    readable writable var _n_id: TId
+    readable var _n_kwlabel: TKwlabel
+    readable var _n_id: TId
 end
 class AExpr special Prod end
 class ABlockExpr
 special AExpr
-    readable writable var _n_expr: List[AExpr] = new List[AExpr]
+    readable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
 special AExpr
-    readable writable var _n_kwvar: TKwvar
-    readable writable var _n_id: TId
-    readable writable var _n_type: nullable AType = null
-    readable writable var _n_assign: nullable TAssign = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwvar: TKwvar
+    readable var _n_id: TId
+    readable var _n_type: nullable AType = null
+    readable var _n_assign: nullable TAssign = null
+    readable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
 special AExpr
-    readable writable var _n_kwreturn: nullable TKwreturn = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwreturn: nullable TKwreturn = null
+    readable var _n_expr: nullable AExpr = null
 end
 class ALabelable
 special Prod
-    readable writable var _n_label: nullable ALabel = null
+    readable var _n_label: nullable ALabel = null
 end
 class ABreakExpr
 special AExpr
 special ALabelable
-    readable writable var _n_kwbreak: TKwbreak
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwbreak: TKwbreak
+    readable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
 special AExpr
-    readable writable var _n_kwabort: TKwabort
+    readable var _n_kwabort: TKwabort
 end
 class AContinueExpr
 special AExpr
 special ALabelable
-    readable writable var _n_kwcontinue: nullable TKwcontinue = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_kwcontinue: nullable TKwcontinue = null
+    readable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
 special AExpr
 special ALabelable
-    readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_kwdo: TKwdo
+    readable var _n_block: nullable AExpr = null
 end
 class AIfExpr
 special AExpr
-    readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: AExpr
-    readable writable var _n_then: nullable AExpr = null
-    readable writable var _n_else: nullable AExpr = null
+    readable var _n_kwif: TKwif
+    readable var _n_expr: AExpr
+    readable var _n_then: nullable AExpr = null
+    readable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
 special AExpr
-    readable writable var _n_kwif: TKwif
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwthen: TKwthen
-    readable writable var _n_then: AExpr
-    readable writable var _n_kwelse: TKwelse
-    readable writable var _n_else: AExpr
+    readable var _n_kwif: TKwif
+    readable var _n_expr: AExpr
+    readable var _n_kwthen: TKwthen
+    readable var _n_then: AExpr
+    readable var _n_kwelse: TKwelse
+    readable var _n_else: AExpr
 end
 class AWhileExpr
 special AExpr
 special ALabelable
-    readable writable var _n_kwwhile:  TKwwhile
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_kwwhile:  TKwwhile
+    readable var _n_expr: AExpr
+    readable var _n_kwdo: TKwdo
+    readable var _n_block: nullable AExpr = null
 end
 class ALoopExpr
 special AExpr
 special ALabelable
-    readable writable var _n_kwloop: TKwloop
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_kwloop: TKwloop
+    readable var _n_block: nullable AExpr = null
 end
 class AForExpr
 special AExpr
 special ALabelable
-    readable writable var _n_kwfor: TKwfor
-    readable writable var _n_id: TId
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwdo: TKwdo
-    readable writable var _n_block: nullable AExpr = null
+    readable var _n_kwfor: TKwfor
+    readable var _n_id: TId
+    readable var _n_expr: AExpr
+    readable var _n_kwdo: TKwdo
+    readable var _n_block: nullable AExpr = null
 end
 class AAssertExpr
 special AExpr
-    readable writable var _n_kwassert: TKwassert
-    readable writable var _n_id: nullable TId = null
-    readable writable var _n_expr: AExpr
-    readable writable var _n_else: nullable AExpr = null
+    readable var _n_kwassert: TKwassert
+    readable var _n_id: nullable TId = null
+    readable var _n_expr: AExpr
+    readable var _n_else: nullable AExpr = null
 end
 class AAssignFormExpr
 special AExpr
-    readable writable var _n_assign: TAssign
-    readable writable var _n_value: AExpr
+    readable var _n_assign: TAssign
+    readable var _n_value: AExpr
 end
 class AReassignFormExpr
 special AExpr
-    readable writable var _n_assign_op: AAssignOp
-    readable writable var _n_value: AExpr
+    readable var _n_assign_op: AAssignOp
+    readable var _n_value: AExpr
 end
 class AOnceExpr
 special AProxyExpr
-    readable writable var _n_kwonce: TKwonce
+    readable var _n_kwonce: TKwonce
 end
 class ASendExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
+    readable var _n_expr: AExpr
+    readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABinopExpr
 special ASendExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr2: AExpr
 end
 class ABoolExpr
 special AExpr
 end
 class AOrExpr
 special ABoolExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class AAndExpr
 special ABoolExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ANotExpr
 special ABoolExpr
-    readable writable var _n_kwnot: TKwnot
-    readable writable var _n_expr: AExpr
+    readable var _n_kwnot: TKwnot
+    readable var _n_expr: AExpr
 end
 class AEqExpr
 special ABinopExpr
 end
 class AEeExpr
 special ABoolExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ANeExpr
 special ABinopExpr
@@ -719,8 +719,8 @@ special ABinopExpr
 end
 class AIsaExpr
 special ABoolExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_type: AType
+    readable var _n_expr: AExpr
+    readable var _n_type: AType
 end
 class APlusExpr
 special ABinopExpr
@@ -742,19 +742,19 @@ special ABinopExpr
 end
 class AUminusExpr
 special ASendExpr
-    readable writable var _n_minus: TMinus
+    readable var _n_minus: TMinus
 end
 class ANewExpr
 special AExpr
-    readable writable var _n_kwnew: TKwnew
-    readable writable var _n_type: AType
-    readable writable var _n_id: nullable TId = null
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_kwnew: TKwnew
+    readable var _n_type: AType
+    readable var _n_id: nullable TId = null
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrFormExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_id: TAttrid
+    readable var _n_expr: AExpr
+    readable var _n_id: TAttrid
 end
 class AAttrExpr
 special AAttrFormExpr
@@ -765,8 +765,8 @@ special AAssignFormExpr
 end
 class ACallFormExpr
 special ASendExpr
-    readable writable var _n_id: TId
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_id: TId
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrReassignExpr
 special AExpr
@@ -787,18 +787,18 @@ special AReassignFormExpr
 end
 class ASuperExpr
 special AExpr
-    readable writable var _n_qualified: nullable AQualified = null
-    readable writable var _n_kwsuper: TKwsuper
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_qualified: nullable AQualified = null
+    readable var _n_kwsuper: TKwsuper
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
 special ASendExpr
-    readable writable var _n_kwinit: TKwinit
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_kwinit: TKwinit
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraFormExpr
 special ASendExpr
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
 special ABraFormExpr
@@ -809,7 +809,7 @@ special AAssignFormExpr
 end
 class AVarFormExpr
 special AExpr
-    readable writable var _n_id: TId
+    readable var _n_id: TId
 end
 class ABraReassignExpr
 special ABraFormExpr
@@ -817,9 +817,9 @@ special AReassignFormExpr
 end
 class AClosureCallExpr
 special AExpr
-    readable writable var _n_id: TId
-    readable writable var _n_args: List[AExpr] = new List[AExpr]
-    readable writable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
+    readable var _n_id: TId
+    readable var _n_args: List[AExpr] = new List[AExpr]
+    readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
 special AVarFormExpr
@@ -834,8 +834,8 @@ special AReassignFormExpr
 end
 class ARangeExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_expr2: AExpr
+    readable var _n_expr: AExpr
+    readable var _n_expr2: AExpr
 end
 class ACrangeExpr
 special ARangeExpr
@@ -845,126 +845,126 @@ special ARangeExpr
 end
 class AArrayExpr
 special AExpr
-    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
+    readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
 special AExpr
-    readable writable var _n_kwself: nullable TKwself
+    readable var _n_kwself: nullable TKwself
 end
 class AImplicitSelfExpr
 special ASelfExpr
 end
 class ATrueExpr
 special ABoolExpr
-    readable writable var _n_kwtrue: TKwtrue
+    readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
 special ABoolExpr
-    readable writable var _n_kwfalse: TKwfalse
+    readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
 special AExpr
-    readable writable var _n_kwnull: TKwnull
+    readable var _n_kwnull: TKwnull
 end
 class AIntExpr
 special AExpr
-    readable writable var _n_number: TNumber
+    readable var _n_number: TNumber
 end
 class AFloatExpr
 special AExpr
-    readable writable var _n_float: TFloat
+    readable var _n_float: TFloat
 end
 class ACharExpr
 special AExpr
-    readable writable var _n_char: TChar
+    readable var _n_char: TChar
 end
 class AStringFormExpr
 special AExpr
 end
 class AStringExpr
 special AStringFormExpr
-    readable writable var _n_string: TString
+    readable var _n_string: TString
 end
 class AStartStringExpr
 special AStringFormExpr
-    readable writable var _n_string: TStartString
+    readable var _n_string: TStartString
 end
 class AMidStringExpr
 special AStringFormExpr
-    readable writable var _n_string: TMidString
+    readable var _n_string: TMidString
 end
 class AEndStringExpr
 special AStringFormExpr
-    readable writable var _n_string: TEndString
+    readable var _n_string: TEndString
 end
 class ASuperstringExpr
 special AExpr
-    readable writable var _n_exprs: List[AExpr] = new List[AExpr]
+    readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
 special AProxyExpr
 end
 class AProxyExpr
 special AExpr
-    readable writable var _n_expr: AExpr
+    readable var _n_expr: AExpr
 end
 class AAsCastExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwas: TKwas
-    readable writable var _n_type: AType
+    readable var _n_expr: AExpr
+    readable var _n_kwas: TKwas
+    readable var _n_type: AType
 end
 class AAsNotnullExpr
 special AExpr
-    readable writable var _n_expr: AExpr
-    readable writable var _n_kwas: TKwas
-    readable writable var _n_kwnot: TKwnot
-    readable writable var _n_kwnull: TKwnull
+    readable var _n_expr: AExpr
+    readable var _n_kwas: TKwas
+    readable var _n_kwnot: TKwnot
+    readable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
 special AAttrFormExpr
-    readable writable var _n_kwisset: TKwisset
+    readable var _n_kwisset: TKwisset
 end
 class AAssignOp special Prod end
 class APlusAssignOp
 special AAssignOp
-    readable writable var _n_pluseq: TPluseq
+    readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
 special AAssignOp
-    readable writable var _n_minuseq: TMinuseq
+    readable var _n_minuseq: TMinuseq
 end
 class AClosureDef
 special ALabelable
-    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: nullable TKwdo = null
-    readable writable var _n_expr: nullable AExpr = null
+    readable var _n_bang: TBang
+    readable var _n_id: AClosureId
+    readable var _n_ids: List[TId] = new List[TId]
+    readable var _n_kwdo: nullable TKwdo = null
+    readable var _n_expr: nullable AExpr = null
 end
 class AClosureId
 special Prod
 end
 class ASimpleClosureId
 special AClosureId
-    readable writable var _n_id: TId
+    readable var _n_id: TId
 end
 class ABreakClosureId
 special AClosureId
-    readable writable var _n_kwbreak: TKwbreak
+    readable var _n_kwbreak: TKwbreak
 end
 class AQualified
 special Prod
-    readable writable var _n_id: List[TId] = new List[TId]
-    readable writable var _n_classid: nullable TClassid = null
+    readable var _n_id: List[TId] = new List[TId]
+    readable var _n_classid: nullable TClassid = null
 end
 class ADoc
 special Prod
-    readable writable var _n_comment: List[TComment] = new List[TComment]
+    readable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
 special Prod
-    readable writable var _n_base: nullable AModule
-    readable writable var _n_eof: EOF
+    readable var _n_base: nullable AModule
+    readable var _n_eof: EOF
 end
index 30dc2ff..e356c4c 100644 (file)
@@ -29,15 +29,10 @@ redef class ANode
        # Visit all nodes in order.
        # Thus, call "v.visit(e)" for each node e
        fun visit_all(v: Visitor) is abstract
-
-       # Visit all nodes in reverse order.
-       # Thus, call "v.visit(e)" for each node e starting from the last child
-       fun visit_all_reverse(v: Visitor) is abstract
 end
 
 redef class Token
        redef fun visit_all(v: Visitor) do end
-       redef fun visit_all_reverse(v: Visitor) do end
        redef fun replace_child(old_child: ANode, new_child: nullable ANode) do end
 end
 
@@ -72,14 +67,6 @@ class Visitor
 end
 
 redef class AModule
-    redef fun n_packagedecl=(n)
-    do
-        _n_packagedecl = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_amodule (
@@ -155,47 +142,8 @@ redef class AModule
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_packagedecl != null then
-            v.enter_visit(_n_packagedecl.as(not null))
-        end
-       do
-           var i = _n_imports.length
-            while i >= 0 do
-                v.enter_visit(_n_imports[i])
-               i = i - 1
-           end
-       end
-       do
-           var i = _n_classdefs.length
-            while i >= 0 do
-                v.enter_visit(_n_classdefs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class APackagedecl
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwpackage=(n)
-    do
-        _n_kwpackage = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_apackagedecl (
@@ -257,33 +205,8 @@ redef class APackagedecl
         v.enter_visit(_n_kwpackage)
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        v.enter_visit(_n_kwpackage)
-        v.enter_visit(_n_id)
-    end
 end
 redef class AStdImport
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwimport=(n)
-    do
-        _n_kwimport = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astdimport (
@@ -341,31 +264,8 @@ redef class AStdImport
         v.enter_visit(_n_kwimport)
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwimport)
-        v.enter_visit(_n_id)
-    end
 end
 redef class ANoImport
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwimport=(n)
-    do
-        _n_kwimport = n
-       n.parent = self
-    end
-    redef fun n_kwend=(n)
-    do
-        _n_kwend = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_anoimport (
@@ -423,16 +323,8 @@ redef class ANoImport
         v.enter_visit(_n_kwimport)
         v.enter_visit(_n_kwend)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwimport)
-        v.enter_visit(_n_kwend)
-    end
 end
 redef class APublicVisibility
-
     private init empty_init do end
 
     init init_apublicvisibility
@@ -447,18 +339,8 @@ redef class APublicVisibility
     redef fun visit_all(v: Visitor)
     do
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-    end
 end
 redef class APrivateVisibility
-    redef fun n_kwprivate=(n)
-    do
-        _n_kwprivate = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aprivatevisibility (
@@ -488,19 +370,8 @@ redef class APrivateVisibility
     do
         v.enter_visit(_n_kwprivate)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwprivate)
-    end
 end
 redef class AProtectedVisibility
-    redef fun n_kwprotected=(n)
-    do
-        _n_kwprotected = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aprotectedvisibility (
@@ -530,19 +401,8 @@ redef class AProtectedVisibility
     do
         v.enter_visit(_n_kwprotected)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwprotected)
-    end
 end
 redef class AIntrudeVisibility
-    redef fun n_kwintrude=(n)
-    do
-        _n_kwintrude = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aintrudevisibility (
@@ -572,45 +432,8 @@ redef class AIntrudeVisibility
     do
         v.enter_visit(_n_kwintrude)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwintrude)
-    end
 end
 redef class AStdClassdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_classkind=(n)
-    do
-        _n_classkind = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_astdclassdef (
@@ -771,45 +594,8 @@ redef class AStdClassdef
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_classkind)
-        if _n_id != null then
-            v.enter_visit(_n_id.as(not null))
-        end
-       do
-           var i = _n_formaldefs.length
-            while i >= 0 do
-                v.enter_visit(_n_formaldefs[i])
-               i = i - 1
-           end
-       end
-       do
-           var i = _n_superclasses.length
-            while i >= 0 do
-                v.enter_visit(_n_superclasses[i])
-               i = i - 1
-           end
-       end
-       do
-           var i = _n_propdefs.length
-            while i >= 0 do
-                v.enter_visit(_n_propdefs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class ATopClassdef
-
     private init empty_init do end
 
     init init_atopclassdef (
@@ -846,20 +632,8 @@ redef class ATopClassdef
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_propdefs.length
-            while i >= 0 do
-                v.enter_visit(_n_propdefs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AMainClassdef
-
     private init empty_init do end
 
     init init_amainclassdef (
@@ -896,25 +670,8 @@ redef class AMainClassdef
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_propdefs.length
-            while i >= 0 do
-                v.enter_visit(_n_propdefs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AConcreteClasskind
-    redef fun n_kwclass=(n)
-    do
-        _n_kwclass = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aconcreteclasskind (
@@ -944,24 +701,8 @@ redef class AConcreteClasskind
     do
         v.enter_visit(_n_kwclass)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwclass)
-    end
 end
 redef class AAbstractClasskind
-    redef fun n_kwabstract=(n)
-    do
-        _n_kwabstract = n
-       n.parent = self
-    end
-    redef fun n_kwclass=(n)
-    do
-        _n_kwclass = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aabstractclasskind (
@@ -1005,20 +746,8 @@ redef class AAbstractClasskind
         v.enter_visit(_n_kwabstract)
         v.enter_visit(_n_kwclass)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwabstract)
-        v.enter_visit(_n_kwclass)
-    end
 end
 redef class AInterfaceClasskind
-    redef fun n_kwinterface=(n)
-    do
-        _n_kwinterface = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_ainterfaceclasskind (
@@ -1048,19 +777,8 @@ redef class AInterfaceClasskind
     do
         v.enter_visit(_n_kwinterface)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwinterface)
-    end
 end
 redef class AUniversalClasskind
-    redef fun n_kwuniversal=(n)
-    do
-        _n_kwuniversal = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_auniversalclasskind (
@@ -1090,26 +808,8 @@ redef class AUniversalClasskind
     do
         v.enter_visit(_n_kwuniversal)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwuniversal)
-    end
 end
 redef class AFormaldef
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aformaldef (
@@ -1157,27 +857,8 @@ redef class AFormaldef
             v.enter_visit(_n_type.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-        if _n_type != null then
-            v.enter_visit(_n_type.as(not null))
-        end
-    end
 end
 redef class ASuperclass
-    redef fun n_kwspecial=(n)
-    do
-        _n_kwspecial = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_asuperclass (
@@ -1221,72 +902,8 @@ redef class ASuperclass
         v.enter_visit(_n_kwspecial)
         v.enter_visit(_n_type)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwspecial)
-        v.enter_visit(_n_type)
-    end
 end
 redef class AAttrPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_readable=(n)
-    do
-        _n_readable = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_writable=(n)
-    do
-        _n_writable = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwvar=(n)
-    do
-        _n_kwvar = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aattrpropdef (
@@ -1452,63 +1069,8 @@ redef class AAttrPropdef
             v.enter_visit(_n_expr.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_readable != null then
-            v.enter_visit(_n_readable.as(not null))
-        end
-        if _n_writable != null then
-            v.enter_visit(_n_writable.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwvar)
-        v.enter_visit(_n_id)
-        if _n_type != null then
-            v.enter_visit(_n_type.as(not null))
-        end
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-    end
 end
 redef class AMethPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_methid=(n)
-    do
-        _n_methid = n
-       n.parent = self
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_amethpropdef (
@@ -1602,57 +1164,9 @@ redef class AMethPropdef
         v.enter_visit(_n_methid)
         v.enter_visit(_n_signature)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_methid)
-        v.enter_visit(_n_signature)
-    end
-end
-redef class ADeferredMethPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwmeth=(n)
-    do
-        _n_kwmeth = n
-       n.parent = self
-    end
-    redef fun n_methid=(n)
-    do
-        _n_methid = n
-       n.parent = self
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-
-    private init empty_init do end
+end
+redef class ADeferredMethPropdef
+    private init empty_init do end
 
     init init_adeferredmethpropdef (
             n_doc: nullable ADoc,
@@ -1759,57 +1273,8 @@ redef class ADeferredMethPropdef
         v.enter_visit(_n_methid)
         v.enter_visit(_n_signature)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwmeth)
-        v.enter_visit(_n_methid)
-        v.enter_visit(_n_signature)
-    end
 end
 redef class AInternMethPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwmeth=(n)
-    do
-        _n_kwmeth = n
-       n.parent = self
-    end
-    redef fun n_methid=(n)
-    do
-        _n_methid = n
-       n.parent = self
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_ainternmethpropdef (
@@ -1917,64 +1382,8 @@ redef class AInternMethPropdef
         v.enter_visit(_n_methid)
         v.enter_visit(_n_signature)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwmeth)
-        v.enter_visit(_n_methid)
-        v.enter_visit(_n_signature)
-    end
 end
 redef class AExternMethPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwmeth=(n)
-    do
-        _n_kwmeth = n
-       n.parent = self
-    end
-    redef fun n_methid=(n)
-    do
-        _n_methid = n
-       n.parent = self
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-    redef fun n_extern=(n)
-    do
-        _n_extern = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aexternmethpropdef (
@@ -2100,67 +1509,8 @@ redef class AExternMethPropdef
             v.enter_visit(_n_extern.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwmeth)
-        v.enter_visit(_n_methid)
-        v.enter_visit(_n_signature)
-        if _n_extern != null then
-            v.enter_visit(_n_extern.as(not null))
-        end
-    end
 end
 redef class AConcreteMethPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwmeth=(n)
-    do
-        _n_kwmeth = n
-       n.parent = self
-    end
-    redef fun n_methid=(n)
-    do
-        _n_methid = n
-       n.parent = self
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aconcretemethpropdef (
@@ -2286,69 +1636,8 @@ redef class AConcreteMethPropdef
             v.enter_visit(_n_block.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwmeth)
-        v.enter_visit(_n_methid)
-        v.enter_visit(_n_signature)
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-    end
 end
 redef class AConcreteInitPropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwinit=(n)
-    do
-        _n_kwinit = n
-       n.parent = self
-    end
-    redef fun n_methid=(n)
-    do
-        _n_methid = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aconcreteinitpropdef (
@@ -2478,42 +1767,8 @@ redef class AConcreteInitPropdef
             v.enter_visit(_n_block.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwinit)
-        if _n_methid != null then
-            v.enter_visit(_n_methid.as(not null))
-        end
-        v.enter_visit(_n_signature)
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-    end
 end
 redef class AMainMethPropdef
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_amainmethpropdef (
@@ -2565,53 +1820,8 @@ redef class AMainMethPropdef
             v.enter_visit(_n_block.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-    end
 end
 redef class ATypePropdef
-    redef fun n_doc=(n)
-    do
-        _n_doc = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_visibility=(n)
-    do
-        _n_visibility = n
-       n.parent = self
-    end
-    redef fun n_kwtype=(n)
-    do
-        _n_kwtype = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_atypepropdef (
@@ -2719,35 +1929,8 @@ redef class ATypePropdef
         v.enter_visit(_n_id)
         v.enter_visit(_n_type)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_doc != null then
-            v.enter_visit(_n_doc.as(not null))
-        end
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_visibility)
-        v.enter_visit(_n_kwtype)
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_type)
-    end
 end
 redef class AReadAble
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwreadable=(n)
-    do
-        _n_kwreadable = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_areadable (
@@ -2795,29 +1978,8 @@ redef class AReadAble
         end
         v.enter_visit(_n_kwreadable)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_kwreadable)
-    end
 end
 redef class AWriteAble
-    redef fun n_kwredef=(n)
-    do
-        _n_kwredef = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwwritable=(n)
-    do
-        _n_kwwritable = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_awriteable (
@@ -2865,22 +2027,8 @@ redef class AWriteAble
         end
         v.enter_visit(_n_kwwritable)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwredef != null then
-            v.enter_visit(_n_kwredef.as(not null))
-        end
-        v.enter_visit(_n_kwwritable)
-    end
 end
 redef class AIdMethid
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aidmethid (
@@ -2910,19 +2058,8 @@ redef class AIdMethid
     do
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-    end
 end
 redef class APlusMethid
-    redef fun n_plus=(n)
-    do
-        _n_plus = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aplusmethid (
@@ -2952,19 +2089,8 @@ redef class APlusMethid
     do
         v.enter_visit(_n_plus)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_plus)
-    end
 end
 redef class AMinusMethid
-    redef fun n_minus=(n)
-    do
-        _n_minus = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aminusmethid (
@@ -2994,19 +2120,8 @@ redef class AMinusMethid
     do
         v.enter_visit(_n_minus)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_minus)
-    end
 end
 redef class AStarMethid
-    redef fun n_star=(n)
-    do
-        _n_star = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astarmethid (
@@ -3036,19 +2151,8 @@ redef class AStarMethid
     do
         v.enter_visit(_n_star)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_star)
-    end
 end
 redef class ASlashMethid
-    redef fun n_slash=(n)
-    do
-        _n_slash = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aslashmethid (
@@ -3078,19 +2182,8 @@ redef class ASlashMethid
     do
         v.enter_visit(_n_slash)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_slash)
-    end
 end
 redef class APercentMethid
-    redef fun n_percent=(n)
-    do
-        _n_percent = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_apercentmethid (
@@ -3120,19 +2213,8 @@ redef class APercentMethid
     do
         v.enter_visit(_n_percent)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_percent)
-    end
 end
 redef class AEqMethid
-    redef fun n_eq=(n)
-    do
-        _n_eq = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aeqmethid (
@@ -3162,19 +2244,8 @@ redef class AEqMethid
     do
         v.enter_visit(_n_eq)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_eq)
-    end
 end
 redef class ANeMethid
-    redef fun n_ne=(n)
-    do
-        _n_ne = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_anemethid (
@@ -3204,19 +2275,8 @@ redef class ANeMethid
     do
         v.enter_visit(_n_ne)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_ne)
-    end
 end
 redef class ALeMethid
-    redef fun n_le=(n)
-    do
-        _n_le = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_alemethid (
@@ -3246,19 +2306,8 @@ redef class ALeMethid
     do
         v.enter_visit(_n_le)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_le)
-    end
 end
 redef class AGeMethid
-    redef fun n_ge=(n)
-    do
-        _n_ge = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_agemethid (
@@ -3288,19 +2337,8 @@ redef class AGeMethid
     do
         v.enter_visit(_n_ge)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_ge)
-    end
 end
 redef class ALtMethid
-    redef fun n_lt=(n)
-    do
-        _n_lt = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_altmethid (
@@ -3330,19 +2368,8 @@ redef class ALtMethid
     do
         v.enter_visit(_n_lt)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_lt)
-    end
 end
 redef class AGtMethid
-    redef fun n_gt=(n)
-    do
-        _n_gt = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_agtmethid (
@@ -3372,24 +2399,8 @@ redef class AGtMethid
     do
         v.enter_visit(_n_gt)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_gt)
-    end
 end
 redef class ABraMethid
-    redef fun n_obra=(n)
-    do
-        _n_obra = n
-       n.parent = self
-    end
-    redef fun n_cbra=(n)
-    do
-        _n_cbra = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abramethid (
@@ -3433,20 +2444,8 @@ redef class ABraMethid
         v.enter_visit(_n_obra)
         v.enter_visit(_n_cbra)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_obra)
-        v.enter_visit(_n_cbra)
-    end
 end
 redef class AStarshipMethid
-    redef fun n_starship=(n)
-    do
-        _n_starship = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astarshipmethid (
@@ -3476,24 +2475,8 @@ redef class AStarshipMethid
     do
         v.enter_visit(_n_starship)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_starship)
-    end
 end
 redef class AAssignMethid
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aassignmethid (
@@ -3537,30 +2520,8 @@ redef class AAssignMethid
         v.enter_visit(_n_id)
         v.enter_visit(_n_assign)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_assign)
-    end
 end
 redef class ABraassignMethid
-    redef fun n_obra=(n)
-    do
-        _n_obra = n
-       n.parent = self
-    end
-    redef fun n_cbra=(n)
-    do
-        _n_cbra = n
-       n.parent = self
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abraassignmethid (
@@ -3618,23 +2579,8 @@ redef class ABraassignMethid
         v.enter_visit(_n_cbra)
         v.enter_visit(_n_assign)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_obra)
-        v.enter_visit(_n_cbra)
-        v.enter_visit(_n_assign)
-    end
 end
 redef class ASignature
-    redef fun n_type=(n)
-    do
-        _n_type = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_asignature (
@@ -3710,49 +2656,8 @@ redef class ASignature
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_params.length
-            while i >= 0 do
-                v.enter_visit(_n_params[i])
-               i = i - 1
-           end
-       end
-        if _n_type != null then
-            v.enter_visit(_n_type.as(not null))
-        end
-       do
-           var i = _n_closure_decls.length
-            while i >= 0 do
-                v.enter_visit(_n_closure_decls[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AParam
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_dotdotdot=(n)
-    do
-        _n_dotdotdot = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aparam (
@@ -3800,26 +2705,15 @@ redef class AParam
             if new_child != null then
                 new_child.parent = self
                assert new_child isa TDotdotdot
-                _n_dotdotdot = new_child
-           else
-               _n_dotdotdot = null
-            end
-            return
-       end
-    end
-
-    redef fun visit_all(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-        if _n_type != null then
-            v.enter_visit(_n_type.as(not null))
-        end
-        if _n_dotdotdot != null then
-            v.enter_visit(_n_dotdotdot.as(not null))
-        end
+                _n_dotdotdot = new_child
+           else
+               _n_dotdotdot = null
+            end
+            return
+       end
     end
 
-    redef fun visit_all_reverse(v: Visitor)
+    redef fun visit_all(v: Visitor)
     do
         v.enter_visit(_n_id)
         if _n_type != null then
@@ -3831,36 +2725,6 @@ redef class AParam
     end
 end
 redef class AClosureDecl
-    redef fun n_kwbreak=(n)
-    do
-        _n_kwbreak = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_bang=(n)
-    do
-        _n_bang = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_signature=(n)
-    do
-        _n_signature = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aclosuredecl (
@@ -3954,34 +2818,8 @@ redef class AClosureDecl
             v.enter_visit(_n_expr.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwbreak != null then
-            v.enter_visit(_n_kwbreak.as(not null))
-        end
-        v.enter_visit(_n_bang)
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_signature)
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-    end
 end
 redef class AType
-    redef fun n_kwnullable=(n)
-    do
-        _n_kwnullable = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_atype (
@@ -4050,34 +2888,8 @@ redef class AType
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwnullable != null then
-            v.enter_visit(_n_kwnullable.as(not null))
-        end
-        v.enter_visit(_n_id)
-       do
-           var i = _n_types.length
-            while i >= 0 do
-                v.enter_visit(_n_types[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class ALabel
-    redef fun n_kwlabel=(n)
-    do
-        _n_kwlabel = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_alabel (
@@ -4121,15 +2933,8 @@ redef class ALabel
         v.enter_visit(_n_kwlabel)
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwlabel)
-        v.enter_visit(_n_id)
-    end
 end
 redef class ABlockExpr
-
     private init empty_init do end
 
     init init_ablockexpr (
@@ -4166,51 +2971,8 @@ redef class ABlockExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_expr.length
-            while i >= 0 do
-                v.enter_visit(_n_expr[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AVardeclExpr
-    redef fun n_kwvar=(n)
-    do
-        _n_kwvar = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_avardeclexpr (
@@ -4308,38 +3070,8 @@ redef class AVardeclExpr
             v.enter_visit(_n_expr.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwvar)
-        v.enter_visit(_n_id)
-        if _n_type != null then
-            v.enter_visit(_n_type.as(not null))
-        end
-        if _n_assign != null then
-            v.enter_visit(_n_assign.as(not null))
-        end
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-    end
 end
 redef class AReturnExpr
-    redef fun n_kwreturn=(n)
-    do
-        _n_kwreturn = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_areturnexpr (
@@ -4391,38 +3123,8 @@ redef class AReturnExpr
             v.enter_visit(_n_expr.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwreturn != null then
-            v.enter_visit(_n_kwreturn.as(not null))
-        end
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-    end
 end
 redef class ABreakExpr
-    redef fun n_kwbreak=(n)
-    do
-        _n_kwbreak = n
-       n.parent = self
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_abreakexpr (
@@ -4488,25 +3190,8 @@ redef class ABreakExpr
             v.enter_visit(_n_expr.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwbreak)
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-    end
 end
 redef class AAbortExpr
-    redef fun n_kwabort=(n)
-    do
-        _n_kwabort = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aabortexpr (
@@ -4536,35 +3221,8 @@ redef class AAbortExpr
     do
         v.enter_visit(_n_kwabort)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwabort)
-    end
 end
 redef class AContinueExpr
-    redef fun n_kwcontinue=(n)
-    do
-        _n_kwcontinue = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_acontinueexpr (
@@ -4634,41 +3292,8 @@ redef class AContinueExpr
             v.enter_visit(_n_expr.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_kwcontinue != null then
-            v.enter_visit(_n_kwcontinue.as(not null))
-        end
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-    end
 end
 redef class ADoExpr
-    redef fun n_kwdo=(n)
-    do
-        _n_kwdo = n
-       n.parent = self
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_adoexpr (
@@ -4734,44 +3359,8 @@ redef class ADoExpr
             v.enter_visit(_n_label.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwdo)
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-    end
 end
 redef class AIfExpr
-    redef fun n_kwif=(n)
-    do
-        _n_kwif = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_then=(n)
-    do
-        _n_then = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_else=(n)
-    do
-        _n_else = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aifexpr (
@@ -4851,51 +3440,8 @@ redef class AIfExpr
             v.enter_visit(_n_else.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwif)
-        v.enter_visit(_n_expr)
-        if _n_then != null then
-            v.enter_visit(_n_then.as(not null))
-        end
-        if _n_else != null then
-            v.enter_visit(_n_else.as(not null))
-        end
-    end
 end
 redef class AIfexprExpr
-    redef fun n_kwif=(n)
-    do
-        _n_kwif = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_kwthen=(n)
-    do
-        _n_kwthen = n
-       n.parent = self
-    end
-    redef fun n_then=(n)
-    do
-        _n_then = n
-       n.parent = self
-    end
-    redef fun n_kwelse=(n)
-    do
-        _n_kwelse = n
-       n.parent = self
-    end
-    redef fun n_else=(n)
-    do
-        _n_else = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aifexprexpr (
@@ -4995,48 +3541,8 @@ redef class AIfexprExpr
         v.enter_visit(_n_kwelse)
         v.enter_visit(_n_else)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwif)
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_kwthen)
-        v.enter_visit(_n_then)
-        v.enter_visit(_n_kwelse)
-        v.enter_visit(_n_else)
-    end
 end
 redef class AWhileExpr
-    redef fun n_kwwhile=(n)
-    do
-        _n_kwwhile = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_kwdo=(n)
-    do
-        _n_kwdo = n
-       n.parent = self
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_awhileexpr (
@@ -5127,44 +3633,11 @@ redef class AWhileExpr
             v.enter_visit(_n_block.as(not null))
         end
         if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-    end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwwhile)
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_kwdo)
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-    end
-end
-redef class ALoopExpr
-    redef fun n_kwloop=(n)
-    do
-        _n_kwloop = n
-       n.parent = self
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
+            v.enter_visit(_n_label.as(not null))
         end
     end
-
+end
+redef class ALoopExpr
     private init empty_init do end
 
     init init_aloopexpr (
@@ -5230,54 +3703,8 @@ redef class ALoopExpr
             v.enter_visit(_n_label.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwloop)
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-    end
 end
 redef class AForExpr
-    redef fun n_kwfor=(n)
-    do
-        _n_kwfor = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_kwdo=(n)
-    do
-        _n_kwdo = n
-       n.parent = self
-    end
-    redef fun n_block=(n)
-    do
-        _n_block = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aforexpr (
@@ -5385,47 +3812,8 @@ redef class AForExpr
             v.enter_visit(_n_label.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwfor)
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_kwdo)
-        if _n_block != null then
-            v.enter_visit(_n_block.as(not null))
-        end
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-    end
 end
 redef class AAssertExpr
-    redef fun n_kwassert=(n)
-    do
-        _n_kwassert = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_else=(n)
-    do
-        _n_else = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aassertexpr (
@@ -5505,31 +3893,8 @@ redef class AAssertExpr
             v.enter_visit(_n_else.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwassert)
-        if _n_id != null then
-            v.enter_visit(_n_id.as(not null))
-        end
-        v.enter_visit(_n_expr)
-        if _n_else != null then
-            v.enter_visit(_n_else.as(not null))
-        end
-    end
 end
 redef class AOnceExpr
-    redef fun n_kwonce=(n)
-    do
-        _n_kwonce = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aonceexpr (
@@ -5573,20 +3938,8 @@ redef class AOnceExpr
         v.enter_visit(_n_kwonce)
         v.enter_visit(_n_expr)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwonce)
-        v.enter_visit(_n_expr)
-    end
 end
 redef class ASendExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_asendexpr (
@@ -5616,24 +3969,8 @@ redef class ASendExpr
     do
         v.enter_visit(_n_expr)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-    end
 end
 redef class ABinopExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abinopexpr (
@@ -5677,25 +4014,8 @@ redef class ABinopExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AOrExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aorexpr (
@@ -5739,25 +4059,8 @@ redef class AOrExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AAndExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aandexpr (
@@ -5801,25 +4104,8 @@ redef class AAndExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class ANotExpr
-    redef fun n_kwnot=(n)
-    do
-        _n_kwnot = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_anotexpr (
@@ -5863,25 +4149,8 @@ redef class ANotExpr
         v.enter_visit(_n_kwnot)
         v.enter_visit(_n_expr)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwnot)
-        v.enter_visit(_n_expr)
-    end
 end
 redef class AEqExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aeqexpr (
@@ -5925,25 +4194,8 @@ redef class AEqExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AEeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aeeexpr (
@@ -5987,25 +4239,8 @@ redef class AEeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class ANeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aneexpr (
@@ -6049,25 +4284,8 @@ redef class ANeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class ALtExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_altexpr (
@@ -6111,25 +4329,8 @@ redef class ALtExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class ALeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aleexpr (
@@ -6173,25 +4374,8 @@ redef class ALeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AGtExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_agtexpr (
@@ -6235,25 +4419,8 @@ redef class AGtExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AGeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_ageexpr (
@@ -6297,25 +4464,8 @@ redef class AGeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AIsaExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aisaexpr (
@@ -6359,25 +4509,8 @@ redef class AIsaExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_type)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_type)
-    end
 end
 redef class APlusExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aplusexpr (
@@ -6421,25 +4554,8 @@ redef class APlusExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AMinusExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aminusexpr (
@@ -6483,25 +4599,8 @@ redef class AMinusExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AStarshipExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astarshipexpr (
@@ -6545,25 +4644,8 @@ redef class AStarshipExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AStarExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astarexpr (
@@ -6607,25 +4689,8 @@ redef class AStarExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class ASlashExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aslashexpr (
@@ -6669,25 +4734,8 @@ redef class ASlashExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class APercentExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_apercentexpr (
@@ -6731,25 +4779,8 @@ redef class APercentExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AUminusExpr
-    redef fun n_minus=(n)
-    do
-        _n_minus = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_auminusexpr (
@@ -6793,32 +4824,8 @@ redef class AUminusExpr
         v.enter_visit(_n_minus)
         v.enter_visit(_n_expr)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_minus)
-        v.enter_visit(_n_expr)
-    end
 end
 redef class ANewExpr
-    redef fun n_kwnew=(n)
-    do
-        _n_kwnew = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_anewexpr (
@@ -6901,35 +4908,8 @@ redef class ANewExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwnew)
-        v.enter_visit(_n_type)
-        if _n_id != null then
-            v.enter_visit(_n_id.as(not null))
-        end
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AAttrExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aattrexpr (
@@ -6973,35 +4953,8 @@ redef class AAttrExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-    end
 end
 redef class AAttrAssignExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aattrassignexpr (
@@ -7073,37 +5026,8 @@ redef class AAttrAssignExpr
         v.enter_visit(_n_assign)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_assign)
-        v.enter_visit(_n_value)
-    end
 end
 redef class AAttrReassignExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign_op=(n)
-    do
-        _n_assign_op = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aattrreassignexpr (
@@ -7175,27 +5099,8 @@ redef class AAttrReassignExpr
         v.enter_visit(_n_assign_op)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_assign_op)
-        v.enter_visit(_n_value)
-    end
 end
 redef class ACallExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_acallexpr (
@@ -7281,49 +5186,8 @@ redef class ACallExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-       do
-           var i = _n_closure_defs.length
-            while i >= 0 do
-                v.enter_visit(_n_closure_defs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class ACallAssignExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_acallassignexpr (
@@ -7416,44 +5280,8 @@ redef class ACallAssignExpr
         v.enter_visit(_n_assign)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-        v.enter_visit(_n_assign)
-        v.enter_visit(_n_value)
-    end
 end
 redef class ACallReassignExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign_op=(n)
-    do
-        _n_assign_op = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_acallreassignexpr (
@@ -7546,36 +5374,8 @@ redef class ACallReassignExpr
         v.enter_visit(_n_assign_op)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-        v.enter_visit(_n_assign_op)
-        v.enter_visit(_n_value)
-    end
 end
 redef class ASuperExpr
-    redef fun n_qualified=(n)
-    do
-        _n_qualified = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_kwsuper=(n)
-    do
-        _n_kwsuper = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_asuperexpr (
@@ -7644,34 +5444,8 @@ redef class ASuperExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        if _n_qualified != null then
-            v.enter_visit(_n_qualified.as(not null))
-        end
-        v.enter_visit(_n_kwsuper)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AInitExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_kwinit=(n)
-    do
-        _n_kwinit = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_ainitexpr (
@@ -7736,27 +5510,8 @@ redef class AInitExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_kwinit)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class ABraExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abraexpr (
@@ -7828,43 +5583,8 @@ redef class ABraExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-       do
-           var i = _n_closure_defs.length
-            while i >= 0 do
-                v.enter_visit(_n_closure_defs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class ABraAssignExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abraassignexpr (
@@ -7943,38 +5663,8 @@ redef class ABraAssignExpr
         v.enter_visit(_n_assign)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-        v.enter_visit(_n_assign)
-        v.enter_visit(_n_value)
-    end
 end
 redef class ABraReassignExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_assign_op=(n)
-    do
-        _n_assign_op = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abrareassignexpr (
@@ -8053,28 +5743,8 @@ redef class ABraReassignExpr
         v.enter_visit(_n_assign_op)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-        v.enter_visit(_n_assign_op)
-        v.enter_visit(_n_value)
-    end
 end
 redef class AClosureCallExpr
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aclosurecallexpr (
@@ -8146,33 +5816,8 @@ redef class AClosureCallExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-       do
-           var i = _n_args.length
-            while i >= 0 do
-                v.enter_visit(_n_args[i])
-               i = i - 1
-           end
-       end
-       do
-           var i = _n_closure_defs.length
-            while i >= 0 do
-                v.enter_visit(_n_closure_defs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AVarExpr
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_avarexpr (
@@ -8202,29 +5847,8 @@ redef class AVarExpr
     do
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-    end
 end
 redef class AVarAssignExpr
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign=(n)
-    do
-        _n_assign = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_avarassignexpr (
@@ -8282,31 +5906,8 @@ redef class AVarAssignExpr
         v.enter_visit(_n_assign)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_assign)
-        v.enter_visit(_n_value)
-    end
 end
 redef class AVarReassignExpr
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_assign_op=(n)
-    do
-        _n_assign_op = n
-       n.parent = self
-    end
-    redef fun n_value=(n)
-    do
-        _n_value = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_avarreassignexpr (
@@ -8364,26 +5965,8 @@ redef class AVarReassignExpr
         v.enter_visit(_n_assign_op)
         v.enter_visit(_n_value)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-        v.enter_visit(_n_assign_op)
-        v.enter_visit(_n_value)
-    end
 end
-redef class ARangeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
+redef class ARangeExpr
     private init empty_init do end
 
     init init_arangeexpr (
@@ -8427,25 +6010,8 @@ redef class ARangeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class ACrangeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_acrangeexpr (
@@ -8489,25 +6055,8 @@ redef class ACrangeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AOrangeExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_expr2=(n)
-    do
-        _n_expr2 = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aorangeexpr (
@@ -8551,15 +6100,8 @@ redef class AOrangeExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_expr2)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_expr2)
-    end
 end
 redef class AArrayExpr
-
     private init empty_init do end
 
     init init_aarrayexpr (
@@ -8596,25 +6138,8 @@ redef class AArrayExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_exprs.length
-            while i >= 0 do
-                v.enter_visit(_n_exprs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class ASelfExpr
-    redef fun n_kwself=(n)
-    do
-        _n_kwself = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aselfexpr (
@@ -8644,14 +6169,8 @@ redef class ASelfExpr
     do
         v.enter_visit(_n_kwself)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwself)
-    end
 end
 redef class AImplicitSelfExpr
-
     private init empty_init do end
 
     init init_aimplicitselfexpr
@@ -8666,18 +6185,8 @@ redef class AImplicitSelfExpr
     redef fun visit_all(v: Visitor)
     do
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-    end
 end
 redef class ATrueExpr
-    redef fun n_kwtrue=(n)
-    do
-        _n_kwtrue = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_atrueexpr (
@@ -8707,19 +6216,8 @@ redef class ATrueExpr
     do
         v.enter_visit(_n_kwtrue)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwtrue)
-    end
 end
 redef class AFalseExpr
-    redef fun n_kwfalse=(n)
-    do
-        _n_kwfalse = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_afalseexpr (
@@ -8749,19 +6247,8 @@ redef class AFalseExpr
     do
         v.enter_visit(_n_kwfalse)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwfalse)
-    end
 end
 redef class ANullExpr
-    redef fun n_kwnull=(n)
-    do
-        _n_kwnull = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_anullexpr (
@@ -8791,19 +6278,8 @@ redef class ANullExpr
     do
         v.enter_visit(_n_kwnull)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwnull)
-    end
 end
 redef class AIntExpr
-    redef fun n_number=(n)
-    do
-        _n_number = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aintexpr (
@@ -8833,19 +6309,8 @@ redef class AIntExpr
     do
         v.enter_visit(_n_number)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_number)
-    end
 end
 redef class AFloatExpr
-    redef fun n_float=(n)
-    do
-        _n_float = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_afloatexpr (
@@ -8875,19 +6340,8 @@ redef class AFloatExpr
     do
         v.enter_visit(_n_float)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_float)
-    end
 end
 redef class ACharExpr
-    redef fun n_char=(n)
-    do
-        _n_char = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_acharexpr (
@@ -8917,19 +6371,8 @@ redef class ACharExpr
     do
         v.enter_visit(_n_char)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_char)
-    end
 end
 redef class AStringExpr
-    redef fun n_string=(n)
-    do
-        _n_string = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astringexpr (
@@ -8959,19 +6402,8 @@ redef class AStringExpr
     do
         v.enter_visit(_n_string)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_string)
-    end
 end
 redef class AStartStringExpr
-    redef fun n_string=(n)
-    do
-        _n_string = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_astartstringexpr (
@@ -9001,19 +6433,8 @@ redef class AStartStringExpr
     do
         v.enter_visit(_n_string)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_string)
-    end
 end
 redef class AMidStringExpr
-    redef fun n_string=(n)
-    do
-        _n_string = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_amidstringexpr (
@@ -9043,19 +6464,8 @@ redef class AMidStringExpr
     do
         v.enter_visit(_n_string)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_string)
-    end
 end
 redef class AEndStringExpr
-    redef fun n_string=(n)
-    do
-        _n_string = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aendstringexpr (
@@ -9085,14 +6495,8 @@ redef class AEndStringExpr
     do
         v.enter_visit(_n_string)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_string)
-    end
 end
 redef class ASuperstringExpr
-
     private init empty_init do end
 
     init init_asuperstringexpr (
@@ -9129,25 +6533,8 @@ redef class ASuperstringExpr
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_exprs.length
-            while i >= 0 do
-                v.enter_visit(_n_exprs[i])
-               i = i - 1
-           end
-       end
-    end
 end
 redef class AParExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aparexpr (
@@ -9177,29 +6564,8 @@ redef class AParExpr
     do
         v.enter_visit(_n_expr)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-    end
 end
 redef class AAsCastExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_kwas=(n)
-    do
-        _n_kwas = n
-       n.parent = self
-    end
-    redef fun n_type=(n)
-    do
-        _n_type = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aascastexpr (
@@ -9257,36 +6623,8 @@ redef class AAsCastExpr
         v.enter_visit(_n_kwas)
         v.enter_visit(_n_type)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_kwas)
-        v.enter_visit(_n_type)
-    end
 end
 redef class AAsNotnullExpr
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_kwas=(n)
-    do
-        _n_kwas = n
-       n.parent = self
-    end
-    redef fun n_kwnot=(n)
-    do
-        _n_kwnot = n
-       n.parent = self
-    end
-    redef fun n_kwnull=(n)
-    do
-        _n_kwnull = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aasnotnullexpr (
@@ -9358,32 +6696,8 @@ redef class AAsNotnullExpr
         v.enter_visit(_n_kwnot)
         v.enter_visit(_n_kwnull)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_kwas)
-        v.enter_visit(_n_kwnot)
-        v.enter_visit(_n_kwnull)
-    end
 end
 redef class AIssetAttrExpr
-    redef fun n_kwisset=(n)
-    do
-        _n_kwisset = n
-       n.parent = self
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aissetattrexpr (
@@ -9441,21 +6755,8 @@ redef class AIssetAttrExpr
         v.enter_visit(_n_expr)
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwisset)
-        v.enter_visit(_n_expr)
-        v.enter_visit(_n_id)
-    end
 end
 redef class APlusAssignOp
-    redef fun n_pluseq=(n)
-    do
-        _n_pluseq = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aplusassignop (
@@ -9485,19 +6786,8 @@ redef class APlusAssignOp
     do
         v.enter_visit(_n_pluseq)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_pluseq)
-    end
 end
 redef class AMinusAssignOp
-    redef fun n_minuseq=(n)
-    do
-        _n_minuseq = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_aminusassignop (
@@ -9527,45 +6817,8 @@ redef class AMinusAssignOp
     do
         v.enter_visit(_n_minuseq)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_minuseq)
-    end
 end
 redef class AClosureDef
-    redef fun n_bang=(n)
-    do
-        _n_bang = n
-       n.parent = self
-    end
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-    redef fun n_kwdo=(n)
-    do
-        _n_kwdo = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_expr=(n)
-    do
-        _n_expr = n
-        if n != null then
-           n.parent = self
-        end
-    end
-    redef fun n_label=(n)
-    do
-        _n_label = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aclosuredef (
@@ -9684,36 +6937,8 @@ redef class AClosureDef
             v.enter_visit(_n_label.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_bang)
-        v.enter_visit(_n_id)
-       do
-           var i = _n_ids.length
-            while i >= 0 do
-                v.enter_visit(_n_ids[i])
-               i = i - 1
-           end
-       end
-        if _n_kwdo != null then
-            v.enter_visit(_n_kwdo.as(not null))
-        end
-        if _n_expr != null then
-            v.enter_visit(_n_expr.as(not null))
-        end
-        if _n_label != null then
-            v.enter_visit(_n_label.as(not null))
-        end
-    end
 end
 redef class ASimpleClosureId
-    redef fun n_id=(n)
-    do
-        _n_id = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_asimpleclosureid (
@@ -9743,19 +6968,8 @@ redef class ASimpleClosureId
     do
         v.enter_visit(_n_id)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_id)
-    end
 end
 redef class ABreakClosureId
-    redef fun n_kwbreak=(n)
-    do
-        _n_kwbreak = n
-       n.parent = self
-    end
-
     private init empty_init do end
 
     init init_abreakclosureid (
@@ -9785,21 +6999,8 @@ redef class ABreakClosureId
     do
         v.enter_visit(_n_kwbreak)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-        v.enter_visit(_n_kwbreak)
-    end
 end
 redef class AQualified
-    redef fun n_classid=(n)
-    do
-        _n_classid = n
-        if n != null then
-           n.parent = self
-        end
-    end
-
     private init empty_init do end
 
     init init_aqualified (
@@ -9854,23 +7055,8 @@ redef class AQualified
             v.enter_visit(_n_classid.as(not null))
         end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_id.length
-            while i >= 0 do
-                v.enter_visit(_n_id[i])
-               i = i - 1
-           end
-       end
-        if _n_classid != null then
-            v.enter_visit(_n_classid.as(not null))
-        end
-    end
 end
 redef class ADoc
-
     private init empty_init do end
 
     init init_adoc (
@@ -9907,17 +7093,6 @@ redef class ADoc
                 v.enter_visit(n)
            end
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       do
-           var i = _n_comment.length
-            while i >= 0 do
-                v.enter_visit(_n_comment[i])
-               i = i - 1
-           end
-       end
-    end
 end
 
 redef class Start
@@ -9950,12 +7125,4 @@ redef class Start
         end
        v.enter_visit(_n_eof)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       v.enter_visit(_n_eof)
-        if _n_base != null then
-            v.enter_visit(_n_base.as(not null))
-        end
-    end
 end
index d6df697..3feb578 100644 (file)
@@ -62,15 +62,10 @@ redef class PNode
        # Visit all nodes in order.
        # Thus, call "v.visit(e)" for each node e
        fun visit_all(v: Visitor) is abstract
-
-       # Visit all nodes in reverse order.
-       # Thus, call "v.visit(e)" for each node e starting from the last child
-       fun visit_all_reverse(v: Visitor) is abstract
 end
 
 redef class Token
        redef fun visit_all(v: Visitor) do end
-       redef fun visit_all_reverse(v: Visitor) do end
        redef fun replace_child(old_child: PNode, new_child: nullable PNode) do end
 end
 
index c09c801..ef484d0 100644 (file)
@@ -27,12 +27,12 @@ class @ename
 special ${../@ename}
 $ foreach {elem}
 $   if @is_list
-    readable writable var _n_@name: List[@etype] = new List[@etype]
+    readable var _n_@name: List[@etype] = new List[@etype]
 $   else
 $   if @modifier
-    readable writable var _n_@name: nullable @etype = null
+    readable var _n_@name: nullable @etype = null
 $   else
-    readable writable var _n_@name: @etype
+    readable var _n_@name: @etype
 $   end
 $   end
 $ end
@@ -41,8 +41,8 @@ $ end
 
 class Start
 special Prod
-    readable writable var _n_base: nullable $baseprod
-    readable writable var _n_eof: EOF
+    readable var _n_base: nullable $baseprod
+    readable var _n_eof: EOF
 end
 $ end template
 
@@ -50,23 +50,6 @@ $ template make_prods()
 $ set baseprod = {//prod/@ename}
 $ foreach {//alt}
 redef class @ename
-$ foreach {elem}
-$   if @is_list
-$   else
-    redef fun n_@name=(n)
-    do
-        _n_@name = n
-$   if @modifier
-        if n != null then
-           n.parent = self
-        end
-$   else
-       n.parent = self
-$   end
-    end
-$   end
-$ end
-
     private init empty_init do end
 
 $ if {count(elem)!=0}
@@ -158,29 +141,6 @@ $       end
 $     end
 $   end foreach
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-$   foreach {elem}
-$     if @is_list
-       do
-           var i = _n_@{name}.length
-            while i >= 0 do
-                v.enter_visit(_n_@{name}[i])
-               i = i - 1
-           end
-       end
-$     else
-$       if @modifier
-        if _n_@{name} != null then
-            v.enter_visit(_n_@{name}.as(not null))
-        end
-$       else
-        v.enter_visit(_n_@{name})
-$       end
-$     end
-$   end foreach
-    end
 end
 $ end foreach
 
@@ -214,13 +174,5 @@ redef class Start
         end
        v.enter_visit(_n_eof)
     end
-
-    redef fun visit_all_reverse(v: Visitor)
-    do
-       v.enter_visit(_n_eof)
-        if _n_base != null then
-            v.enter_visit(_n_base.as(not null))
-        end
-    end
 end
 $ end template
index 2997594..03247a7 100644 (file)
@@ -36,7 +36,7 @@ $ end template
 $ template make_tokens()
 
 redef class Token
-    readable writable var _text: String
+    readable var _text: String
 
     fun parser_index: Int is abstract
 
@@ -83,7 +83,7 @@ redef class EOF
 end
 
 redef class PError
-    readable writable var _message: String
+    readable var _message: String
 
     init init_error(message: String, loc: Location)
     do