From 2c0d252109befba41ac32f53bcdb90c8eb940e4a Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Wed, 25 Jun 2014 22:06:23 -0400 Subject: [PATCH] parser: remove generated old-style accesors. ANodes use new style attributes (with two accesors) Other use old-style attributes with two explicit getter and setters. Using new-style attributes has a too big impact on performance because of the redefined setter Signed-off-by: Jean Privat --- src/parser/parser_abs.nit | 1675 ++++++++++++++++++++++++++++++++----------- src/parser/parser_nodes.nit | 1014 +++++++++++++++++++------- src/parser/parser_prod.nit | 132 ++-- src/parser/xss/prods.xss | 39 +- 4 files changed, 2081 insertions(+), 779 deletions(-) diff --git a/src/parser/parser_abs.nit b/src/parser/parser_abs.nit index 2b11acd..91326e3 100644 --- a/src/parser/parser_abs.nit +++ b/src/parser/parser_abs.nit @@ -340,913 +340,1720 @@ class AAtid super Prod end class AModule super AModule - readable var _n_moduledecl: nullable AModuledecl = null - readable var _n_imports: List[AImport] = new List[AImport] - readable var _n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock] - readable var _n_classdefs: List[AClassdef] = new List[AClassdef] + var _n_moduledecl: nullable AModuledecl = null + fun n_moduledecl: nullable AModuledecl do return _n_moduledecl + fun n_moduledecl=(n_moduledecl: nullable AModuledecl) do _n_moduledecl = n_moduledecl + var n_imports: List[AImport] = new List[AImport] + var n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock] + var n_classdefs: List[AClassdef] = new List[AClassdef] end class AModuledecl super AModuledecl - readable var _n_doc: nullable ADoc = null - readable var _n_kwmodule: TKwmodule - readable var _n_name: AModuleName - readable var _n_annotations: nullable AAnnotations = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwmodule: TKwmodule = null + fun n_kwmodule: TKwmodule do return _n_kwmodule + fun n_kwmodule=(n_kwmodule: TKwmodule) do _n_kwmodule = n_kwmodule + var _n_name: AModuleName = null + fun n_name: AModuleName do return _n_name + fun n_name=(n_name: AModuleName) do _n_name = n_name + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AStdImport super AImport - readable var _n_visibility: AVisibility - readable var _n_kwimport: TKwimport - readable var _n_name: AModuleName - readable var _n_annotations: nullable AAnnotations = null + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwimport: TKwimport = null + fun n_kwimport: TKwimport do return _n_kwimport + fun n_kwimport=(n_kwimport: TKwimport) do _n_kwimport = n_kwimport + var _n_name: AModuleName = null + fun n_name: AModuleName do return _n_name + fun n_name=(n_name: AModuleName) do _n_name = n_name + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ANoImport super AImport - readable var _n_visibility: AVisibility - readable var _n_kwimport: TKwimport - readable var _n_kwend: TKwend + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwimport: TKwimport = null + fun n_kwimport: TKwimport do return _n_kwimport + fun n_kwimport=(n_kwimport: TKwimport) do _n_kwimport = n_kwimport + var _n_kwend: TKwend = null + fun n_kwend: TKwend do return _n_kwend + fun n_kwend=(n_kwend: TKwend) do _n_kwend = n_kwend end class APublicVisibility super AVisibility end class APrivateVisibility super AVisibility - readable var _n_kwprivate: TKwprivate + var _n_kwprivate: TKwprivate = null + fun n_kwprivate: TKwprivate do return _n_kwprivate + fun n_kwprivate=(n_kwprivate: TKwprivate) do _n_kwprivate = n_kwprivate end class AProtectedVisibility super AVisibility - readable var _n_kwprotected: TKwprotected + var _n_kwprotected: TKwprotected = null + fun n_kwprotected: TKwprotected do return _n_kwprotected + fun n_kwprotected=(n_kwprotected: TKwprotected) do _n_kwprotected = n_kwprotected end class AIntrudeVisibility super AVisibility - readable var _n_kwintrude: TKwintrude + var _n_kwintrude: TKwintrude = null + fun n_kwintrude: TKwintrude do return _n_kwintrude + fun n_kwintrude=(n_kwintrude: TKwintrude) do _n_kwintrude = n_kwintrude end class AStdClassdef super AClassdef - 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_annotations: nullable AAnnotations = null - readable var _n_extern_code_block: nullable AExternCodeBlock = null - readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass] - readable var _n_propdefs: List[APropdef] = new List[APropdef] - readable var _n_kwend: TKwend + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_classkind: AClasskind = null + fun n_classkind: AClasskind do return _n_classkind + fun n_classkind=(n_classkind: AClasskind) do _n_classkind = n_classkind + var _n_id: nullable TClassid = null + fun n_id: nullable TClassid do return _n_id + fun n_id=(n_id: nullable TClassid) do _n_id = n_id + var n_formaldefs: List[AFormaldef] = new List[AFormaldef] + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations + var _n_extern_code_block: nullable AExternCodeBlock = null + fun n_extern_code_block: nullable AExternCodeBlock do return _n_extern_code_block + fun n_extern_code_block=(n_extern_code_block: nullable AExternCodeBlock) do _n_extern_code_block = n_extern_code_block + var n_superclasses: List[ASuperclass] = new List[ASuperclass] + var n_propdefs: List[APropdef] = new List[APropdef] + var _n_kwend: TKwend = null + fun n_kwend: TKwend do return _n_kwend + fun n_kwend=(n_kwend: TKwend) do _n_kwend = n_kwend end class ATopClassdef super AClassdef - readable var _n_propdefs: List[APropdef] = new List[APropdef] + var n_propdefs: List[APropdef] = new List[APropdef] end class AMainClassdef super AClassdef - readable var _n_propdefs: List[APropdef] = new List[APropdef] + var n_propdefs: List[APropdef] = new List[APropdef] end class AConcreteClasskind super AClasskind - readable var _n_kwclass: TKwclass + var _n_kwclass: TKwclass = null + fun n_kwclass: TKwclass do return _n_kwclass + fun n_kwclass=(n_kwclass: TKwclass) do _n_kwclass = n_kwclass end class AAbstractClasskind super AClasskind - readable var _n_kwabstract: TKwabstract - readable var _n_kwclass: TKwclass + var _n_kwabstract: TKwabstract = null + fun n_kwabstract: TKwabstract do return _n_kwabstract + fun n_kwabstract=(n_kwabstract: TKwabstract) do _n_kwabstract = n_kwabstract + var _n_kwclass: TKwclass = null + fun n_kwclass: TKwclass do return _n_kwclass + fun n_kwclass=(n_kwclass: TKwclass) do _n_kwclass = n_kwclass end class AInterfaceClasskind super AClasskind - readable var _n_kwinterface: TKwinterface + var _n_kwinterface: TKwinterface = null + fun n_kwinterface: TKwinterface do return _n_kwinterface + fun n_kwinterface=(n_kwinterface: TKwinterface) do _n_kwinterface = n_kwinterface end class AEnumClasskind super AClasskind - readable var _n_kwenum: TKwenum + var _n_kwenum: TKwenum = null + fun n_kwenum: TKwenum do return _n_kwenum + fun n_kwenum=(n_kwenum: TKwenum) do _n_kwenum = n_kwenum end class AExternClasskind super AClasskind - readable var _n_kwextern: TKwextern - readable var _n_kwclass: nullable TKwclass = null + var _n_kwextern: TKwextern = null + fun n_kwextern: TKwextern do return _n_kwextern + fun n_kwextern=(n_kwextern: TKwextern) do _n_kwextern = n_kwextern + var _n_kwclass: nullable TKwclass = null + fun n_kwclass: nullable TKwclass do return _n_kwclass + fun n_kwclass=(n_kwclass: nullable TKwclass) do _n_kwclass = n_kwclass end class AFormaldef super AFormaldef - readable var _n_id: TClassid - readable var _n_type: nullable AType = null - readable var _n_annotations: nullable AAnnotations = null + var _n_id: TClassid = null + fun n_id: TClassid do return _n_id + fun n_id=(n_id: TClassid) do _n_id = n_id + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ASuperclass super ASuperclass - readable var _n_kwsuper: TKwsuper - readable var _n_type: AType - readable var _n_annotations: nullable AAnnotations = null + var _n_kwsuper: TKwsuper = null + fun n_kwsuper: TKwsuper do return _n_kwsuper + fun n_kwsuper=(n_kwsuper: TKwsuper) do _n_kwsuper = n_kwsuper + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AAttrPropdef super APropdef - 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: nullable TAttrid = null - readable var _n_id2: nullable TId = null - readable var _n_type: nullable AType = null - readable var _n_annotations: nullable AAnnotations = null - readable var _n_expr: nullable AExpr = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_readable: nullable AAble = null + fun n_readable: nullable AAble do return _n_readable + fun n_readable=(n_readable: nullable AAble) do _n_readable = n_readable + var _n_writable: nullable AAble = null + fun n_writable: nullable AAble do return _n_writable + fun n_writable=(n_writable: nullable AAble) do _n_writable = n_writable + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwvar: TKwvar = null + fun n_kwvar: TKwvar do return _n_kwvar + fun n_kwvar=(n_kwvar: TKwvar) do _n_kwvar = n_kwvar + var _n_id: nullable TAttrid = null + fun n_id: nullable TAttrid do return _n_id + fun n_id=(n_id: nullable TAttrid) do _n_id = n_id + var _n_id2: nullable TId = null + fun n_id2: nullable TId do return _n_id2 + fun n_id2=(n_id2: nullable TId) do _n_id2 = n_id2 + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr end class AMethPropdef super APropdef - 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 + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature end class ADeferredMethPropdef super APropdef - 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_annotations: nullable AAnnotations = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwmeth: TKwmeth = null + fun n_kwmeth: TKwmeth do return _n_kwmeth + fun n_kwmeth=(n_kwmeth: TKwmeth) do _n_kwmeth = n_kwmeth + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AInternMethPropdef super APropdef - 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 + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwmeth: TKwmeth = null + fun n_kwmeth: TKwmeth do return _n_kwmeth + fun n_kwmeth=(n_kwmeth: TKwmeth) do _n_kwmeth = n_kwmeth + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature end class AInternNewPropdef super APropdef - readable var _n_doc: nullable ADoc = null - readable var _n_kwredef: nullable TKwredef = null - readable var _n_visibility: AVisibility - readable var _n_kwnew: TKwnew - readable var _n_methid: nullable AMethid = null - readable var _n_signature: ASignature + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwnew: TKwnew = null + fun n_kwnew: TKwnew do return _n_kwnew + fun n_kwnew=(n_kwnew: TKwnew) do _n_kwnew = n_kwnew + var _n_methid: nullable AMethid = null + fun n_methid: nullable AMethid do return _n_methid + fun n_methid=(n_methid: nullable AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature end class AExternMethPropdef super APropdef - 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 - readable var _n_extern_calls: nullable AExternCalls = null - readable var _n_extern_code_block: nullable AExternCodeBlock = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwmeth: TKwmeth = null + fun n_kwmeth: TKwmeth do return _n_kwmeth + fun n_kwmeth=(n_kwmeth: TKwmeth) do _n_kwmeth = n_kwmeth + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature + var _n_extern: nullable TString = null + fun n_extern: nullable TString do return _n_extern + fun n_extern=(n_extern: nullable TString) do _n_extern = n_extern + var _n_extern_calls: nullable AExternCalls = null + fun n_extern_calls: nullable AExternCalls do return _n_extern_calls + fun n_extern_calls=(n_extern_calls: nullable AExternCalls) do _n_extern_calls = n_extern_calls + var _n_extern_code_block: nullable AExternCodeBlock = null + fun n_extern_code_block: nullable AExternCodeBlock do return _n_extern_code_block + fun n_extern_code_block=(n_extern_code_block: nullable AExternCodeBlock) do _n_extern_code_block = n_extern_code_block end class AConcreteMethPropdef super APropdef - 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_annotations: nullable AAnnotations = null - readable var _n_block: nullable AExpr = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwmeth: TKwmeth = null + fun n_kwmeth: TKwmeth do return _n_kwmeth + fun n_kwmeth=(n_kwmeth: TKwmeth) do _n_kwmeth = n_kwmeth + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block end class AConcreteInitPropdef super APropdef - 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_annotations: nullable AAnnotations = null - readable var _n_block: nullable AExpr = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwinit: TKwinit = null + fun n_kwinit: TKwinit do return _n_kwinit + fun n_kwinit=(n_kwinit: TKwinit) do _n_kwinit = n_kwinit + var _n_methid: nullable AMethid = null + fun n_methid: nullable AMethid do return _n_methid + fun n_methid=(n_methid: nullable AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block end class AExternInitPropdef super APropdef - readable var _n_doc: nullable ADoc = null - readable var _n_kwredef: nullable TKwredef = null - readable var _n_visibility: AVisibility - readable var _n_kwnew: TKwnew - readable var _n_methid: nullable AMethid = null - readable var _n_signature: ASignature - readable var _n_extern: nullable TString = null - readable var _n_extern_calls: nullable AExternCalls = null - readable var _n_extern_code_block: nullable AExternCodeBlock = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwnew: TKwnew = null + fun n_kwnew: TKwnew do return _n_kwnew + fun n_kwnew=(n_kwnew: TKwnew) do _n_kwnew = n_kwnew + var _n_methid: nullable AMethid = null + fun n_methid: nullable AMethid do return _n_methid + fun n_methid=(n_methid: nullable AMethid) do _n_methid = n_methid + var _n_signature: ASignature = null + fun n_signature: ASignature do return _n_signature + fun n_signature=(n_signature: ASignature) do _n_signature = n_signature + var _n_extern: nullable TString = null + fun n_extern: nullable TString do return _n_extern + fun n_extern=(n_extern: nullable TString) do _n_extern = n_extern + var _n_extern_calls: nullable AExternCalls = null + fun n_extern_calls: nullable AExternCalls do return _n_extern_calls + fun n_extern_calls=(n_extern_calls: nullable AExternCalls) do _n_extern_calls = n_extern_calls + var _n_extern_code_block: nullable AExternCodeBlock = null + fun n_extern_code_block: nullable AExternCodeBlock do return _n_extern_code_block + fun n_extern_code_block=(n_extern_code_block: nullable AExternCodeBlock) do _n_extern_code_block = n_extern_code_block end class AMainMethPropdef super APropdef - readable var _n_kwredef: nullable TKwredef = null - readable var _n_block: nullable AExpr = null + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block end class ATypePropdef super APropdef - 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 - readable var _n_annotations: nullable AAnnotations = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility = null + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwtype: TKwtype = null + fun n_kwtype: TKwtype do return _n_kwtype + fun n_kwtype=(n_kwtype: TKwtype) do _n_kwtype = n_kwtype + var _n_id: TClassid = null + fun n_id: TClassid do return _n_id + fun n_id=(n_id: TClassid) do _n_id = n_id + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AReadAble super AAble - readable var _n_kwredef: nullable TKwredef = null - readable var _n_kwreadable: TKwreadable + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_kwreadable: TKwreadable = null + fun n_kwreadable: TKwreadable do return _n_kwreadable + fun n_kwreadable=(n_kwreadable: TKwreadable) do _n_kwreadable = n_kwreadable end class AWriteAble super AAble - readable var _n_kwredef: nullable TKwredef = null - readable var _n_visibility: nullable AVisibility = null - readable var _n_kwwritable: TKwwritable + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: nullable AVisibility = null + fun n_visibility: nullable AVisibility do return _n_visibility + fun n_visibility=(n_visibility: nullable AVisibility) do _n_visibility = n_visibility + var _n_kwwritable: TKwwritable = null + fun n_kwwritable: TKwwritable do return _n_kwwritable + fun n_kwwritable=(n_kwwritable: TKwwritable) do _n_kwwritable = n_kwwritable end class AIdMethid super AMethid - readable var _n_id: TId + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id end class APlusMethid super AMethid - readable var _n_plus: TPlus + var _n_plus: TPlus = null + fun n_plus: TPlus do return _n_plus + fun n_plus=(n_plus: TPlus) do _n_plus = n_plus end class AMinusMethid super AMethid - readable var _n_minus: TMinus + var _n_minus: TMinus = null + fun n_minus: TMinus do return _n_minus + fun n_minus=(n_minus: TMinus) do _n_minus = n_minus end class AStarMethid super AMethid - readable var _n_star: TStar + var _n_star: TStar = null + fun n_star: TStar do return _n_star + fun n_star=(n_star: TStar) do _n_star = n_star end class ASlashMethid super AMethid - readable var _n_slash: TSlash + var _n_slash: TSlash = null + fun n_slash: TSlash do return _n_slash + fun n_slash=(n_slash: TSlash) do _n_slash = n_slash end class APercentMethid super AMethid - readable var _n_percent: TPercent + var _n_percent: TPercent = null + fun n_percent: TPercent do return _n_percent + fun n_percent=(n_percent: TPercent) do _n_percent = n_percent end class AEqMethid super AMethid - readable var _n_eq: TEq + var _n_eq: TEq = null + fun n_eq: TEq do return _n_eq + fun n_eq=(n_eq: TEq) do _n_eq = n_eq end class ANeMethid super AMethid - readable var _n_ne: TNe + var _n_ne: TNe = null + fun n_ne: TNe do return _n_ne + fun n_ne=(n_ne: TNe) do _n_ne = n_ne end class ALeMethid super AMethid - readable var _n_le: TLe + var _n_le: TLe = null + fun n_le: TLe do return _n_le + fun n_le=(n_le: TLe) do _n_le = n_le end class AGeMethid super AMethid - readable var _n_ge: TGe + var _n_ge: TGe = null + fun n_ge: TGe do return _n_ge + fun n_ge=(n_ge: TGe) do _n_ge = n_ge end class ALtMethid super AMethid - readable var _n_lt: TLt + var _n_lt: TLt = null + fun n_lt: TLt do return _n_lt + fun n_lt=(n_lt: TLt) do _n_lt = n_lt end class AGtMethid super AMethid - readable var _n_gt: TGt + var _n_gt: TGt = null + fun n_gt: TGt do return _n_gt + fun n_gt=(n_gt: TGt) do _n_gt = n_gt end class ALlMethid super AMethid - readable var _n_ll: TLl + var _n_ll: TLl = null + fun n_ll: TLl do return _n_ll + fun n_ll=(n_ll: TLl) do _n_ll = n_ll end class AGgMethid super AMethid - readable var _n_gg: TGg + var _n_gg: TGg = null + fun n_gg: TGg do return _n_gg + fun n_gg=(n_gg: TGg) do _n_gg = n_gg end class ABraMethid super AMethid - readable var _n_obra: TObra - readable var _n_cbra: TCbra + var _n_obra: TObra = null + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TCbra = null + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra end class AStarshipMethid super AMethid - readable var _n_starship: TStarship + var _n_starship: TStarship = null + fun n_starship: TStarship do return _n_starship + fun n_starship=(n_starship: TStarship) do _n_starship = n_starship end class AAssignMethid super AMethid - readable var _n_id: TId - readable var _n_assign: TAssign + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_assign: TAssign = null + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign end class ABraassignMethid super AMethid - readable var _n_obra: TObra - readable var _n_cbra: TCbra - readable var _n_assign: TAssign + var _n_obra: TObra = null + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TCbra = null + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra + var _n_assign: TAssign = null + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign end class ASignature super ASignature - readable var _n_opar: nullable TOpar = null - readable var _n_params: List[AParam] = new List[AParam] - readable var _n_cpar: nullable TCpar = null - readable var _n_type: nullable AType = null + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var n_params: List[AParam] = new List[AParam] + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type end class AParam super AParam - readable var _n_id: TId - readable var _n_type: nullable AType = null - readable var _n_dotdotdot: nullable TDotdotdot = null - readable var _n_annotations: nullable AAnnotations = null + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_dotdotdot: nullable TDotdotdot = null + fun n_dotdotdot: nullable TDotdotdot do return _n_dotdotdot + fun n_dotdotdot=(n_dotdotdot: nullable TDotdotdot) do _n_dotdotdot = n_dotdotdot + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AType super AType - readable var _n_kwnullable: nullable TKwnullable = null - readable var _n_id: TClassid - readable var _n_types: List[AType] = new List[AType] - readable var _n_annotations: nullable AAnnotations = null + var _n_kwnullable: nullable TKwnullable = null + fun n_kwnullable: nullable TKwnullable do return _n_kwnullable + fun n_kwnullable=(n_kwnullable: nullable TKwnullable) do _n_kwnullable = n_kwnullable + var _n_id: TClassid = null + fun n_id: TClassid do return _n_id + fun n_id=(n_id: TClassid) do _n_id = n_id + var n_types: List[AType] = new List[AType] + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ALabel super ALabel - readable var _n_kwlabel: TKwlabel - readable var _n_id: TId + var _n_kwlabel: TKwlabel = null + fun n_kwlabel: TKwlabel do return _n_kwlabel + fun n_kwlabel=(n_kwlabel: TKwlabel) do _n_kwlabel = n_kwlabel + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id end class ABlockExpr super AExpr - readable var _n_expr: List[AExpr] = new List[AExpr] - readable var _n_kwend: nullable TKwend = null + var n_expr: List[AExpr] = new List[AExpr] + var _n_kwend: nullable TKwend = null + fun n_kwend: nullable TKwend do return _n_kwend + fun n_kwend=(n_kwend: nullable TKwend) do _n_kwend = n_kwend end class AVardeclExpr super AExpr - 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 - readable var _n_annotations: nullable AAnnotations = null + var _n_kwvar: TKwvar = null + fun n_kwvar: TKwvar do return _n_kwvar + fun n_kwvar=(n_kwvar: TKwvar) do _n_kwvar = n_kwvar + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_assign: nullable TAssign = null + fun n_assign: nullable TAssign do return _n_assign + fun n_assign=(n_assign: nullable TAssign) do _n_assign = n_assign + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AReturnExpr super AExpr - readable var _n_kwreturn: nullable TKwreturn = null - readable var _n_expr: nullable AExpr = null + var _n_kwreturn: nullable TKwreturn = null + fun n_kwreturn: nullable TKwreturn do return _n_kwreturn + fun n_kwreturn=(n_kwreturn: nullable TKwreturn) do _n_kwreturn = n_kwreturn + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr end class ABreakExpr super AExpr - readable var _n_kwbreak: TKwbreak - readable var _n_label: nullable ALabel = null - readable var _n_expr: nullable AExpr = null + var _n_kwbreak: TKwbreak = null + fun n_kwbreak: TKwbreak do return _n_kwbreak + fun n_kwbreak=(n_kwbreak: TKwbreak) do _n_kwbreak = n_kwbreak + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr end class AAbortExpr super AExpr - readable var _n_kwabort: TKwabort + var _n_kwabort: TKwabort = null + fun n_kwabort: TKwabort do return _n_kwabort + fun n_kwabort=(n_kwabort: TKwabort) do _n_kwabort = n_kwabort end class AContinueExpr super AExpr - readable var _n_kwcontinue: nullable TKwcontinue = null - readable var _n_label: nullable ALabel = null - readable var _n_expr: nullable AExpr = null + var _n_kwcontinue: nullable TKwcontinue = null + fun n_kwcontinue: nullable TKwcontinue do return _n_kwcontinue + fun n_kwcontinue=(n_kwcontinue: nullable TKwcontinue) do _n_kwcontinue = n_kwcontinue + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr end class ADoExpr super AExpr - readable var _n_kwdo: TKwdo - readable var _n_block: nullable AExpr = null - readable var _n_label: nullable ALabel = null + var _n_kwdo: TKwdo = null + fun n_kwdo: TKwdo do return _n_kwdo + fun n_kwdo=(n_kwdo: TKwdo) do _n_kwdo = n_kwdo + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label end class AIfExpr super AExpr - readable var _n_kwif: TKwif - readable var _n_expr: AExpr - readable var _n_then: nullable AExpr = null - readable var _n_else: nullable AExpr = null + var _n_kwif: TKwif = null + fun n_kwif: TKwif do return _n_kwif + fun n_kwif=(n_kwif: TKwif) do _n_kwif = n_kwif + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_then: nullable AExpr = null + fun n_then: nullable AExpr do return _n_then + fun n_then=(n_then: nullable AExpr) do _n_then = n_then + var _n_else: nullable AExpr = null + fun n_else: nullable AExpr do return _n_else + fun n_else=(n_else: nullable AExpr) do _n_else = n_else end class AIfexprExpr super 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 + var _n_kwif: TKwif = null + fun n_kwif: TKwif do return _n_kwif + fun n_kwif=(n_kwif: TKwif) do _n_kwif = n_kwif + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwthen: TKwthen = null + fun n_kwthen: TKwthen do return _n_kwthen + fun n_kwthen=(n_kwthen: TKwthen) do _n_kwthen = n_kwthen + var _n_then: AExpr = null + fun n_then: AExpr do return _n_then + fun n_then=(n_then: AExpr) do _n_then = n_then + var _n_kwelse: TKwelse = null + fun n_kwelse: TKwelse do return _n_kwelse + fun n_kwelse=(n_kwelse: TKwelse) do _n_kwelse = n_kwelse + var _n_else: AExpr = null + fun n_else: AExpr do return _n_else + fun n_else=(n_else: AExpr) do _n_else = n_else end class AWhileExpr super AExpr - 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 + var _n_kwwhile: TKwwhile = null + fun n_kwwhile: TKwwhile do return _n_kwwhile + fun n_kwwhile=(n_kwwhile: TKwwhile) do _n_kwwhile = n_kwwhile + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwdo: TKwdo = null + fun n_kwdo: TKwdo do return _n_kwdo + fun n_kwdo=(n_kwdo: TKwdo) do _n_kwdo = n_kwdo + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label end class ALoopExpr super AExpr - readable var _n_kwloop: TKwloop - readable var _n_block: nullable AExpr = null - readable var _n_label: nullable ALabel = null + var _n_kwloop: TKwloop = null + fun n_kwloop: TKwloop do return _n_kwloop + fun n_kwloop=(n_kwloop: TKwloop) do _n_kwloop = n_kwloop + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label end class AForExpr super AExpr - readable var _n_kwfor: TKwfor - readable var _n_ids: List[TId] = new List[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 + var _n_kwfor: TKwfor = null + fun n_kwfor: TKwfor do return _n_kwfor + fun n_kwfor=(n_kwfor: TKwfor) do _n_kwfor = n_kwfor + var n_ids: List[TId] = new List[TId] + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwdo: TKwdo = null + fun n_kwdo: TKwdo do return _n_kwdo + fun n_kwdo=(n_kwdo: TKwdo) do _n_kwdo = n_kwdo + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label end class AAssertExpr super AExpr - readable var _n_kwassert: TKwassert - readable var _n_id: nullable TId = null - readable var _n_expr: AExpr - readable var _n_else: nullable AExpr = null + var _n_kwassert: TKwassert = null + fun n_kwassert: TKwassert do return _n_kwassert + fun n_kwassert=(n_kwassert: TKwassert) do _n_kwassert = n_kwassert + var _n_id: nullable TId = null + fun n_id: nullable TId do return _n_id + fun n_id=(n_id: nullable TId) do _n_id = n_id + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_else: nullable AExpr = null + fun n_else: nullable AExpr do return _n_else + fun n_else=(n_else: nullable AExpr) do _n_else = n_else end class AOnceExpr super AExpr - readable var _n_kwonce: TKwonce - readable var _n_expr: AExpr + var _n_kwonce: TKwonce = null + fun n_kwonce: TKwonce do return _n_kwonce + fun n_kwonce=(n_kwonce: TKwonce) do _n_kwonce = n_kwonce + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr end class ASendExpr super AExpr - readable var _n_expr: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr end class ABinopExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AOrExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AAndExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AOrElseExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AImpliesExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class ANotExpr super AExpr - readable var _n_kwnot: TKwnot - readable var _n_expr: AExpr + var _n_kwnot: TKwnot = null + fun n_kwnot: TKwnot do return _n_kwnot + fun n_kwnot=(n_kwnot: TKwnot) do _n_kwnot = n_kwnot + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr end class AEqExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class ANeExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class ALtExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class ALeExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class ALlExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AGtExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AGeExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AGgExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AIsaExpr super AExpr - readable var _n_expr: AExpr - readable var _n_type: AType + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type end class APlusExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AMinusExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AStarshipExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AStarExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class ASlashExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class APercentExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 end class AUminusExpr super AExpr - readable var _n_minus: TMinus - readable var _n_expr: AExpr + var _n_minus: TMinus = null + fun n_minus: TMinus do return _n_minus + fun n_minus=(n_minus: TMinus) do _n_minus = n_minus + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr end class ANewExpr super AExpr - readable var _n_kwnew: TKwnew - readable var _n_type: AType - readable var _n_id: nullable TId = null - readable var _n_args: AExprs + var _n_kwnew: TKwnew = null + fun n_kwnew: TKwnew do return _n_kwnew + fun n_kwnew=(n_kwnew: TKwnew) do _n_kwnew = n_kwnew + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_id: nullable TId = null + fun n_id: nullable TId do return _n_id + fun n_id=(n_id: nullable TId) do _n_id = n_id + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args end class AAttrExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TAttrid = null + fun n_id: TAttrid do return _n_id + fun n_id=(n_id: TAttrid) do _n_id = n_id end class AAttrAssignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid - readable var _n_assign: TAssign - readable var _n_value: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TAttrid = null + fun n_id: TAttrid do return _n_id + fun n_id=(n_id: TAttrid) do _n_id = n_id + var _n_assign: TAssign = null + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class AAttrReassignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TAttrid - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TAttrid = null + fun n_id: TAttrid do return _n_id + fun n_id=(n_id: TAttrid) do _n_id = n_id + var _n_assign_op: AAssignOp = null + fun n_assign_op: AAssignOp do return _n_assign_op + fun n_assign_op=(n_assign_op: AAssignOp) do _n_assign_op = n_assign_op + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class ACallExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TId - readable var _n_args: AExprs + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args end class ACallAssignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TId - readable var _n_args: AExprs - readable var _n_assign: TAssign - readable var _n_value: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args + var _n_assign: TAssign = null + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class ACallReassignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_id: TId - readable var _n_args: AExprs - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args + var _n_assign_op: AAssignOp = null + fun n_assign_op: AAssignOp do return _n_assign_op + fun n_assign_op=(n_assign_op: AAssignOp) do _n_assign_op = n_assign_op + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class ASuperExpr super AExpr - readable var _n_qualified: nullable AQualified = null - readable var _n_kwsuper: TKwsuper - readable var _n_args: AExprs + var _n_qualified: nullable AQualified = null + fun n_qualified: nullable AQualified do return _n_qualified + fun n_qualified=(n_qualified: nullable AQualified) do _n_qualified = n_qualified + var _n_kwsuper: TKwsuper = null + fun n_kwsuper: TKwsuper do return _n_kwsuper + fun n_kwsuper=(n_kwsuper: TKwsuper) do _n_kwsuper = n_kwsuper + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args end class AInitExpr super AExpr - readable var _n_expr: AExpr - readable var _n_kwinit: TKwinit - readable var _n_args: AExprs + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwinit: TKwinit = null + fun n_kwinit: TKwinit do return _n_kwinit + fun n_kwinit=(n_kwinit: TKwinit) do _n_kwinit = n_kwinit + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args end class ABraExpr super AExpr - readable var _n_expr: AExpr - readable var _n_args: AExprs + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args end class ABraAssignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_args: AExprs - readable var _n_assign: TAssign - readable var _n_value: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args + var _n_assign: TAssign = null + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class ABraReassignExpr super AExpr - readable var _n_expr: AExpr - readable var _n_args: AExprs - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_args: AExprs = null + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args + var _n_assign_op: AAssignOp = null + fun n_assign_op: AAssignOp do return _n_assign_op + fun n_assign_op=(n_assign_op: AAssignOp) do _n_assign_op = n_assign_op + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class AVarExpr super AExpr - readable var _n_id: TId + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id end class AVarAssignExpr super AExpr - readable var _n_id: TId - readable var _n_assign: TAssign - readable var _n_value: AExpr + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_assign: TAssign = null + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class AVarReassignExpr super AExpr - readable var _n_id: TId - readable var _n_assign_op: AAssignOp - readable var _n_value: AExpr + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_assign_op: AAssignOp = null + fun n_assign_op: AAssignOp do return _n_assign_op + fun n_assign_op=(n_assign_op: AAssignOp) do _n_assign_op = n_assign_op + var _n_value: AExpr = null + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value end class ARangeExpr super AExpr - readable var _n_expr: AExpr - readable var _n_expr2: AExpr - readable var _n_annotations: nullable AAnnotations = null + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ACrangeExpr super AExpr - readable var _n_obra: TObra - readable var _n_expr: AExpr - readable var _n_expr2: AExpr - readable var _n_cbra: TCbra - readable var _n_annotations: nullable AAnnotations = null + var _n_obra: TObra = null + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 + var _n_cbra: TCbra = null + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AOrangeExpr super AExpr - readable var _n_obra: TObra - readable var _n_expr: AExpr - readable var _n_expr2: AExpr - readable var _n_cbra: TObra - readable var _n_annotations: nullable AAnnotations = null + var _n_obra: TObra = null + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr = null + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 + var _n_cbra: TObra = null + fun n_cbra: TObra do return _n_cbra + fun n_cbra=(n_cbra: TObra) do _n_cbra = n_cbra + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AArrayExpr super AExpr - readable var _n_exprs: AExprs - readable var _n_annotations: nullable AAnnotations = null + var _n_exprs: AExprs = null + fun n_exprs: AExprs do return _n_exprs + fun n_exprs=(n_exprs: AExprs) do _n_exprs = n_exprs + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ASelfExpr super AExpr - readable var _n_kwself: TKwself - readable var _n_annotations: nullable AAnnotations = null + var _n_kwself: TKwself = null + fun n_kwself: TKwself do return _n_kwself + fun n_kwself=(n_kwself: TKwself) do _n_kwself = n_kwself + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AImplicitSelfExpr super AExpr end class ATrueExpr super AExpr - readable var _n_kwtrue: TKwtrue - readable var _n_annotations: nullable AAnnotations = null + var _n_kwtrue: TKwtrue = null + fun n_kwtrue: TKwtrue do return _n_kwtrue + fun n_kwtrue=(n_kwtrue: TKwtrue) do _n_kwtrue = n_kwtrue + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AFalseExpr super AExpr - readable var _n_kwfalse: TKwfalse - readable var _n_annotations: nullable AAnnotations = null + var _n_kwfalse: TKwfalse = null + fun n_kwfalse: TKwfalse do return _n_kwfalse + fun n_kwfalse=(n_kwfalse: TKwfalse) do _n_kwfalse = n_kwfalse + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ANullExpr super AExpr - readable var _n_kwnull: TKwnull - readable var _n_annotations: nullable AAnnotations = null + var _n_kwnull: TKwnull = null + fun n_kwnull: TKwnull do return _n_kwnull + fun n_kwnull=(n_kwnull: TKwnull) do _n_kwnull = n_kwnull + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ADecIntExpr super AExpr - readable var _n_number: TNumber - readable var _n_annotations: nullable AAnnotations = null + var _n_number: TNumber = null + fun n_number: TNumber do return _n_number + fun n_number=(n_number: TNumber) do _n_number = n_number + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AHexIntExpr super AExpr - readable var _n_hex_number: THexNumber - readable var _n_annotations: nullable AAnnotations = null + var _n_hex_number: THexNumber = null + fun n_hex_number: THexNumber do return _n_hex_number + fun n_hex_number=(n_hex_number: THexNumber) do _n_hex_number = n_hex_number + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AFloatExpr super AExpr - readable var _n_float: TFloat - readable var _n_annotations: nullable AAnnotations = null + var _n_float: TFloat = null + fun n_float: TFloat do return _n_float + fun n_float=(n_float: TFloat) do _n_float = n_float + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ACharExpr super AExpr - readable var _n_char: TChar - readable var _n_annotations: nullable AAnnotations = null + var _n_char: TChar = null + fun n_char: TChar do return _n_char + fun n_char=(n_char: TChar) do _n_char = n_char + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AStringExpr super AExpr - readable var _n_string: TString - readable var _n_annotations: nullable AAnnotations = null + var _n_string: TString = null + fun n_string: TString do return _n_string + fun n_string=(n_string: TString) do _n_string = n_string + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AStartStringExpr super AExpr - readable var _n_string: TStartString + var _n_string: TStartString = null + fun n_string: TStartString do return _n_string + fun n_string=(n_string: TStartString) do _n_string = n_string end class AMidStringExpr super AExpr - readable var _n_string: TMidString + var _n_string: TMidString = null + fun n_string: TMidString do return _n_string + fun n_string=(n_string: TMidString) do _n_string = n_string end class AEndStringExpr super AExpr - readable var _n_string: TEndString + var _n_string: TEndString = null + fun n_string: TEndString do return _n_string + fun n_string=(n_string: TEndString) do _n_string = n_string end class ASuperstringExpr super AExpr - readable var _n_exprs: List[AExpr] = new List[AExpr] - readable var _n_annotations: nullable AAnnotations = null + var n_exprs: List[AExpr] = new List[AExpr] + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AParExpr super AExpr - readable var _n_opar: TOpar - readable var _n_expr: AExpr - readable var _n_cpar: TCpar - readable var _n_annotations: nullable AAnnotations = null + var _n_opar: TOpar = null + fun n_opar: TOpar do return _n_opar + fun n_opar=(n_opar: TOpar) do _n_opar = n_opar + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_cpar: TCpar = null + fun n_cpar: TCpar do return _n_cpar + fun n_cpar=(n_cpar: TCpar) do _n_cpar = n_cpar + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class AAsCastExpr super AExpr - readable var _n_expr: AExpr - readable var _n_kwas: TKwas - readable var _n_opar: nullable TOpar = null - readable var _n_type: AType - readable var _n_cpar: nullable TCpar = null + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwas: TKwas = null + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar end class AAsNotnullExpr super AExpr - readable var _n_expr: AExpr - readable var _n_kwas: TKwas - readable var _n_opar: nullable TOpar = null - readable var _n_kwnot: TKwnot - readable var _n_kwnull: TKwnull - readable var _n_cpar: nullable TCpar = null + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwas: TKwas = null + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var _n_kwnot: TKwnot = null + fun n_kwnot: TKwnot do return _n_kwnot + fun n_kwnot=(n_kwnot: TKwnot) do _n_kwnot = n_kwnot + var _n_kwnull: TKwnull = null + fun n_kwnull: TKwnull do return _n_kwnull + fun n_kwnull=(n_kwnull: TKwnull) do _n_kwnull = n_kwnull + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar end class AIssetAttrExpr super AExpr - readable var _n_kwisset: TKwisset - readable var _n_expr: AExpr - readable var _n_id: TAttrid + var _n_kwisset: TKwisset = null + fun n_kwisset: TKwisset do return _n_kwisset + fun n_kwisset=(n_kwisset: TKwisset) do _n_kwisset = n_kwisset + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_id: TAttrid = null + fun n_id: TAttrid do return _n_id + fun n_id=(n_id: TAttrid) do _n_id = n_id end class ADebugTypeExpr super AExpr - readable var _n_kwdebug: TKwdebug - readable var _n_kwtype: TKwtype - readable var _n_expr: AExpr - readable var _n_type: AType + var _n_kwdebug: TKwdebug = null + fun n_kwdebug: TKwdebug do return _n_kwdebug + fun n_kwdebug=(n_kwdebug: TKwdebug) do _n_kwdebug = n_kwdebug + var _n_kwtype: TKwtype = null + fun n_kwtype: TKwtype do return _n_kwtype + fun n_kwtype=(n_kwtype: TKwtype) do _n_kwtype = n_kwtype + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type end class AListExprs super AExprs - readable var _n_exprs: List[AExpr] = new List[AExpr] + var n_exprs: List[AExpr] = new List[AExpr] end class AParExprs super AExprs - readable var _n_opar: TOpar - readable var _n_exprs: List[AExpr] = new List[AExpr] - readable var _n_cpar: TCpar + var _n_opar: TOpar = null + fun n_opar: TOpar do return _n_opar + fun n_opar=(n_opar: TOpar) do _n_opar = n_opar + var n_exprs: List[AExpr] = new List[AExpr] + var _n_cpar: TCpar = null + fun n_cpar: TCpar do return _n_cpar + fun n_cpar=(n_cpar: TCpar) do _n_cpar = n_cpar end class ABraExprs super AExprs - readable var _n_obra: TObra - readable var _n_exprs: List[AExpr] = new List[AExpr] - readable var _n_cbra: TCbra + var _n_obra: TObra = null + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var n_exprs: List[AExpr] = new List[AExpr] + var _n_cbra: TCbra = null + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra end class APlusAssignOp super AAssignOp - readable var _n_pluseq: TPluseq + var _n_pluseq: TPluseq = null + fun n_pluseq: TPluseq do return _n_pluseq + fun n_pluseq=(n_pluseq: TPluseq) do _n_pluseq = n_pluseq end class AMinusAssignOp super AAssignOp - readable var _n_minuseq: TMinuseq + var _n_minuseq: TMinuseq = null + fun n_minuseq: TMinuseq do return _n_minuseq + fun n_minuseq=(n_minuseq: TMinuseq) do _n_minuseq = n_minuseq end class AModuleName super AModuleName - readable var _n_quad: nullable TQuad = null - readable var _n_path: List[TId] = new List[TId] - readable var _n_id: TId + var _n_quad: nullable TQuad = null + fun n_quad: nullable TQuad do return _n_quad + fun n_quad=(n_quad: nullable TQuad) do _n_quad = n_quad + var n_path: List[TId] = new List[TId] + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id end class AExternCalls super AExternCalls - readable var _n_kwimport: TKwimport - readable var _n_extern_calls: List[AExternCall] = new List[AExternCall] + var _n_kwimport: TKwimport = null + fun n_kwimport: TKwimport do return _n_kwimport + fun n_kwimport=(n_kwimport: TKwimport) do _n_kwimport = n_kwimport + var n_extern_calls: List[AExternCall] = new List[AExternCall] end class AExternCall super AExternCall end class ASuperExternCall super AExternCall - readable var _n_kwsuper: TKwsuper + var _n_kwsuper: TKwsuper = null + fun n_kwsuper: TKwsuper do return _n_kwsuper + fun n_kwsuper=(n_kwsuper: TKwsuper) do _n_kwsuper = n_kwsuper end class ALocalPropExternCall super AExternCall - readable var _n_methid: AMethid + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid end class AFullPropExternCall super AExternCall - readable var _n_type: AType - readable var _n_dot: nullable TDot = null - readable var _n_methid: AMethid + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_dot: nullable TDot = null + fun n_dot: nullable TDot do return _n_dot + fun n_dot=(n_dot: nullable TDot) do _n_dot = n_dot + var _n_methid: AMethid = null + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid end class AInitPropExternCall super AExternCall - readable var _n_type: AType + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type end class ACastAsExternCall super AExternCall - readable var _n_from_type: AType - readable var _n_dot: nullable TDot = null - readable var _n_kwas: TKwas - readable var _n_to_type: AType + var _n_from_type: AType = null + fun n_from_type: AType do return _n_from_type + fun n_from_type=(n_from_type: AType) do _n_from_type = n_from_type + var _n_dot: nullable TDot = null + fun n_dot: nullable TDot do return _n_dot + fun n_dot=(n_dot: nullable TDot) do _n_dot = n_dot + var _n_kwas: TKwas = null + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_to_type: AType = null + fun n_to_type: AType do return _n_to_type + fun n_to_type=(n_to_type: AType) do _n_to_type = n_to_type end class AAsNullableExternCall super AExternCall - readable var _n_type: AType - readable var _n_kwas: TKwas - readable var _n_kwnullable: TKwnullable + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_kwas: TKwas = null + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_kwnullable: TKwnullable = null + fun n_kwnullable: TKwnullable do return _n_kwnullable + fun n_kwnullable=(n_kwnullable: TKwnullable) do _n_kwnullable = n_kwnullable end class AAsNotNullableExternCall super AExternCall - readable var _n_type: AType - readable var _n_kwas: TKwas - readable var _n_kwnot: TKwnot - readable var _n_kwnullable: TKwnullable + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_kwas: TKwas = null + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_kwnot: TKwnot = null + fun n_kwnot: TKwnot do return _n_kwnot + fun n_kwnot=(n_kwnot: TKwnot) do _n_kwnot = n_kwnot + var _n_kwnullable: TKwnullable = null + fun n_kwnullable: TKwnullable do return _n_kwnullable + fun n_kwnullable=(n_kwnullable: TKwnullable) do _n_kwnullable = n_kwnullable end class AInLanguage super AInLanguage - readable var _n_kwin: TKwin - readable var _n_string: TString + var _n_kwin: TKwin = null + fun n_kwin: TKwin do return _n_kwin + fun n_kwin=(n_kwin: TKwin) do _n_kwin = n_kwin + var _n_string: TString = null + fun n_string: TString do return _n_string + fun n_string=(n_string: TString) do _n_string = n_string end class AExternCodeBlock super AExternCodeBlock - readable var _n_in_language: nullable AInLanguage = null - readable var _n_extern_code_segment: TExternCodeSegment + var _n_in_language: nullable AInLanguage = null + fun n_in_language: nullable AInLanguage do return _n_in_language + fun n_in_language=(n_in_language: nullable AInLanguage) do _n_in_language = n_in_language + var _n_extern_code_segment: TExternCodeSegment = null + fun n_extern_code_segment: TExternCodeSegment do return _n_extern_code_segment + fun n_extern_code_segment=(n_extern_code_segment: TExternCodeSegment) do _n_extern_code_segment = n_extern_code_segment end class AQualified super AQualified - readable var _n_id: List[TId] = new List[TId] - readable var _n_classid: nullable TClassid = null + var n_id: List[TId] = new List[TId] + var _n_classid: nullable TClassid = null + fun n_classid: nullable TClassid do return _n_classid + fun n_classid=(n_classid: nullable TClassid) do _n_classid = n_classid end class ADoc super ADoc - readable var _n_comment: List[TComment] = new List[TComment] + var n_comment: List[TComment] = new List[TComment] end class AAnnotations super AAnnotations - readable var _n_at: nullable TAt = null - readable var _n_opar: nullable TOpar = null - readable var _n_items: List[AAnnotation] = new List[AAnnotation] - readable var _n_cpar: nullable TCpar = null + var _n_at: nullable TAt = null + fun n_at: nullable TAt do return _n_at + fun n_at=(n_at: nullable TAt) do _n_at = n_at + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var n_items: List[AAnnotation] = new List[AAnnotation] + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar end class AAnnotation super AAnnotation - readable var _n_atid: AAtid - readable var _n_opar: nullable TOpar = null - readable var _n_args: List[AAtArg] = new List[AAtArg] - readable var _n_cpar: nullable TCpar = null - readable var _n_annotations: nullable AAnnotations = null + var _n_atid: AAtid = null + fun n_atid: AAtid do return _n_atid + fun n_atid=(n_atid: AAtid) do _n_atid = n_atid + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var n_args: List[AAtArg] = new List[AAtArg] + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations end class ATypeAtArg super AAtArg - readable var _n_type: AType + var _n_type: AType = null + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type end class AExprAtArg super AAtArg - readable var _n_expr: AExpr + var _n_expr: AExpr = null + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr end class AAtAtArg super AAtArg - readable var _n_annotations: AAnnotations + var _n_annotations: AAnnotations = null + fun n_annotations: AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: AAnnotations) do _n_annotations = n_annotations end class AIdAtid super AAtid - readable var _n_id: TId + var _n_id: TId = null + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id end class AKwexternAtid super AAtid - readable var _n_id: TKwextern + var _n_id: TKwextern = null + fun n_id: TKwextern do return _n_id + fun n_id=(n_id: TKwextern) do _n_id = n_id end class AKwinternAtid super AAtid - readable var _n_id: TKwintern + var _n_id: TKwintern = null + fun n_id: TKwintern do return _n_id + fun n_id=(n_id: TKwintern) do _n_id = n_id end class AKwreadableAtid super AAtid - readable var _n_id: TKwreadable + var _n_id: TKwreadable = null + fun n_id: TKwreadable do return _n_id + fun n_id=(n_id: TKwreadable) do _n_id = n_id end class AKwwritableAtid super AAtid - readable var _n_id: TKwwritable + var _n_id: TKwwritable = null + fun n_id: TKwwritable do return _n_id + fun n_id=(n_id: TKwwritable) do _n_id = n_id end class AKwimportAtid super AAtid - readable var _n_id: TKwimport + var _n_id: TKwimport = null + fun n_id: TKwimport do return _n_id + fun n_id=(n_id: TKwimport) do _n_id = n_id end class Start super Prod - readable var _n_base: nullable AModule - readable var _n_eof: EOF - init( - n_base: nullable AModule, - n_eof: EOF) - do - _n_base = n_base - _n_eof = n_eof - end - + var _n_base: nullable AModule + fun n_base: nullable AModule do return _n_base + fun n_base=(n_base: nullable do _n_base = n_base + var _n_eof: EOF + fun n_eof: EOF do return _n_eof + fun n_eof=(n_eof: EOF) do _n_eof = n_eof + init( + n_base: nullable AModule, + n_eof: EOF) + do + _n_base = n_base + _n_eof = n_eof + end end diff --git a/src/parser/parser_nodes.nit b/src/parser/parser_nodes.nit index 21c6dcd..7ea1c4b 100644 --- a/src/parser/parser_nodes.nit +++ b/src/parser/parser_nodes.nit @@ -272,7 +272,9 @@ abstract class Prod fun location=(l: Location) do _location = l # All the annotations attached directly to the node - readable writable var _n_annotations: nullable AAnnotations = null + var _n_annotations: nullable AAnnotations = null + fun n_annotations: nullable AAnnotations do return _n_annotations + fun n_annotations=(n_annotations: nullable AAnnotations) do _n_annotations = n_annotations redef fun replace_with(n: ANode) do @@ -302,7 +304,9 @@ abstract class Visitor end # The current visited node - readable writable var _current_node: nullable ANode = null + var _current_node: nullable ANode = null + fun current_node: nullable ANode do return _current_node + fun current_node=(current_node: nullable ANode) do _current_node = current_node end # Token of end of line (basically `\n`) @@ -687,19 +691,27 @@ end class AModule super Prod - readable writable var _n_moduledecl: nullable AModuledecl = null - readable var _n_imports: ANodes[AImport] = new ANodes[AImport](self) - readable var _n_extern_code_blocks: ANodes[AExternCodeBlock] = new ANodes[AExternCodeBlock](self) - readable var _n_classdefs: ANodes[AClassdef] = new ANodes[AClassdef](self) + var _n_moduledecl: nullable AModuledecl = null + fun n_moduledecl: nullable AModuledecl do return _n_moduledecl + fun n_moduledecl=(n_moduledecl: nullable AModuledecl) do _n_moduledecl = n_moduledecl + var n_imports: ANodes[AImport] = new ANodes[AImport](self) + var n_extern_code_blocks: ANodes[AExternCodeBlock] = new ANodes[AExternCodeBlock](self) + var n_classdefs: ANodes[AClassdef] = new ANodes[AClassdef](self) init do end end # The declaration of the module with the documentation, name, and annotations class AModuledecl super Prod - readable writable var _n_doc: nullable ADoc = null - readable writable var _n_kwmodule: TKwmodule - readable writable var _n_name: AModuleName + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwmodule: TKwmodule + fun n_kwmodule: TKwmodule do return _n_kwmodule + fun n_kwmodule=(n_kwmodule: TKwmodule) do _n_kwmodule = n_kwmodule + var _n_name: AModuleName + fun n_name: AModuleName do return _n_name + fun n_name=(n_name: AModuleName) do _n_name = n_name init do end end @@ -711,18 +723,30 @@ end # A standard import clause. eg `import x` class AStdImport super AImport - readable writable var _n_visibility: AVisibility - readable writable var _n_kwimport: TKwimport - readable writable var _n_name: AModuleName + var _n_visibility: AVisibility + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwimport: TKwimport + fun n_kwimport: TKwimport do return _n_kwimport + fun n_kwimport=(n_kwimport: TKwimport) do _n_kwimport = n_kwimport + var _n_name: AModuleName + fun n_name: AModuleName do return _n_name + fun n_name=(n_name: AModuleName) do _n_name = n_name init do end end # The special import clause of the kernel module. eg `import end` class ANoImport super AImport - readable writable var _n_visibility: AVisibility - readable writable var _n_kwimport: TKwimport - readable writable var _n_kwend: TKwend + var _n_visibility: AVisibility + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_kwimport: TKwimport + fun n_kwimport: TKwimport do return _n_kwimport + fun n_kwimport=(n_kwimport: TKwimport) do _n_kwimport = n_kwimport + var _n_kwend: TKwend + fun n_kwend: TKwend do return _n_kwend + fun n_kwend=(n_kwend: TKwend) do _n_kwend = n_kwend init do end end @@ -740,17 +764,23 @@ class APublicVisibility end class APrivateVisibility super AVisibility - readable writable var _n_kwprivate: TKwprivate + var _n_kwprivate: TKwprivate + fun n_kwprivate: TKwprivate do return _n_kwprivate + fun n_kwprivate=(n_kwprivate: TKwprivate) do _n_kwprivate = n_kwprivate init do end end class AProtectedVisibility super AVisibility - readable writable var _n_kwprotected: TKwprotected + var _n_kwprotected: TKwprotected + fun n_kwprotected: TKwprotected do return _n_kwprotected + fun n_kwprotected=(n_kwprotected: TKwprotected) do _n_kwprotected = n_kwprotected init do end end class AIntrudeVisibility super AVisibility - readable writable var _n_kwintrude: TKwintrude + var _n_kwintrude: TKwintrude + fun n_kwintrude: TKwintrude do return _n_kwintrude + fun n_kwintrude=(n_kwintrude: TKwintrude) do _n_kwintrude = n_kwintrude init do end end @@ -759,22 +789,36 @@ end # There is tow special case of class definition abstract class AClassdef super Prod - readable var _n_propdefs: ANodes[APropdef] = new ANodes[APropdef](self) + var n_propdefs: ANodes[APropdef] = new ANodes[APropdef](self) init do end end # A standard class definition with a name, superclasses and properties class AStdClassdef super 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 var _n_formaldefs: ANodes[AFormaldef] = new ANodes[AFormaldef](self) - readable writable var _n_extern_code_block: nullable AExternCodeBlock = null - readable var _n_superclasses: ANodes[ASuperclass] = new ANodes[ASuperclass](self) - readable writable var _n_kwend: TKwend + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: AVisibility + fun n_visibility: AVisibility do return _n_visibility + fun n_visibility=(n_visibility: AVisibility) do _n_visibility = n_visibility + var _n_classkind: AClasskind + fun n_classkind: AClasskind do return _n_classkind + fun n_classkind=(n_classkind: AClasskind) do _n_classkind = n_classkind + var _n_id: nullable TClassid = null + fun n_id: nullable TClassid do return _n_id + fun n_id=(n_id: nullable TClassid) do _n_id = n_id + var n_formaldefs: ANodes[AFormaldef] = new ANodes[AFormaldef](self) + var _n_extern_code_block: nullable AExternCodeBlock = null + fun n_extern_code_block: nullable AExternCodeBlock do return _n_extern_code_block + fun n_extern_code_block=(n_extern_code_block: nullable AExternCodeBlock) do _n_extern_code_block = n_extern_code_block + var n_superclasses: ANodes[ASuperclass] = new ANodes[ASuperclass](self) + var _n_kwend: TKwend + fun n_kwend: TKwend do return _n_kwend + fun n_kwend=(n_kwend: TKwend) do _n_kwend = n_kwend redef fun hot_location do return n_id.location init do end end @@ -795,75 +839,117 @@ abstract class AClasskind end class AConcreteClasskind super AClasskind - readable writable var _n_kwclass: TKwclass + var _n_kwclass: TKwclass + fun n_kwclass: TKwclass do return _n_kwclass + fun n_kwclass=(n_kwclass: TKwclass) do _n_kwclass = n_kwclass init do end end class AAbstractClasskind super AClasskind - readable writable var _n_kwabstract: TKwabstract - readable writable var _n_kwclass: TKwclass + var _n_kwabstract: TKwabstract + fun n_kwabstract: TKwabstract do return _n_kwabstract + fun n_kwabstract=(n_kwabstract: TKwabstract) do _n_kwabstract = n_kwabstract + var _n_kwclass: TKwclass + fun n_kwclass: TKwclass do return _n_kwclass + fun n_kwclass=(n_kwclass: TKwclass) do _n_kwclass = n_kwclass init do end end class AInterfaceClasskind super AClasskind - readable writable var _n_kwinterface: TKwinterface + var _n_kwinterface: TKwinterface + fun n_kwinterface: TKwinterface do return _n_kwinterface + fun n_kwinterface=(n_kwinterface: TKwinterface) do _n_kwinterface = n_kwinterface init do end end class AEnumClasskind super AClasskind - readable writable var _n_kwenum: TKwenum + var _n_kwenum: TKwenum + fun n_kwenum: TKwenum do return _n_kwenum + fun n_kwenum=(n_kwenum: TKwenum) do _n_kwenum = n_kwenum init do end end class AExternClasskind super AClasskind - readable writable var _n_kwextern: TKwextern - readable writable var _n_kwclass: nullable TKwclass = null + var _n_kwextern: TKwextern + fun n_kwextern: TKwextern do return _n_kwextern + fun n_kwextern=(n_kwextern: TKwextern) do _n_kwextern = n_kwextern + var _n_kwclass: nullable TKwclass = null + fun n_kwclass: nullable TKwclass do return _n_kwclass + fun n_kwclass=(n_kwclass: nullable TKwclass) do _n_kwclass = n_kwclass init do end end # The definition of a formal generic parameter type. eg `X: Y` class AFormaldef super Prod - readable writable var _n_id: TClassid + var _n_id: TClassid + fun n_id: TClassid do return _n_id + fun n_id=(n_id: TClassid) do _n_id = n_id # The bound of the parameter type - readable writable var _n_type: nullable AType = null + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type init do end end # A super-class. eg `super X` class ASuperclass super Prod - readable writable var _n_kwsuper: TKwsuper - readable writable var _n_type: AType + var _n_kwsuper: TKwsuper + fun n_kwsuper: TKwsuper do return _n_kwsuper + fun n_kwsuper=(n_kwsuper: TKwsuper) do _n_kwsuper = n_kwsuper + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type init do end end # The definition of a property abstract class APropdef super Prod - readable writable var _n_doc: nullable ADoc = null - readable writable var _n_kwredef: nullable TKwredef = null - readable writable var _n_visibility: nullable AVisibility = null + var _n_doc: nullable ADoc = null + fun n_doc: nullable ADoc do return _n_doc + fun n_doc=(n_doc: nullable ADoc) do _n_doc = n_doc + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef + var _n_visibility: nullable AVisibility = null + fun n_visibility: nullable AVisibility do return _n_visibility + fun n_visibility=(n_visibility: nullable AVisibility) do _n_visibility = n_visibility end # A definition of an attribute # For historical reason, old-syle and new-style attributes use the same `ANode` sub-class class AAttrPropdef super APropdef - readable writable var _n_kwvar: TKwvar + var _n_kwvar: TKwvar + fun n_kwvar: TKwvar do return _n_kwvar + fun n_kwvar=(n_kwvar: TKwvar) do _n_kwvar = n_kwvar # The identifier for an old-style attribute (null if new-style) - readable writable var _n_id: nullable TAttrid + var _n_id: nullable TAttrid + fun n_id: nullable TAttrid do return _n_id + fun n_id=(n_id: nullable TAttrid) do _n_id = n_id # The identifier for a new-style attribute (null if old-style) - readable writable var _n_id2: nullable TId - - readable writable var _n_type: nullable AType = null - readable writable var _n_readable: nullable AAble = null - readable writable var _n_writable: nullable AAble = null + var _n_id2: nullable TId + fun n_id2: nullable TId do return _n_id2 + fun n_id2=(n_id2: nullable TId) do _n_id2 = n_id2 + + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_readable: nullable AAble = null + fun n_readable: nullable AAble do return _n_readable + fun n_readable=(n_readable: nullable AAble) do _n_readable = n_readable + var _n_writable: nullable AAble = null + fun n_writable: nullable AAble do return _n_writable + fun n_writable=(n_writable: nullable AAble) do _n_writable = n_writable # The initial value, if any - readable writable var _n_expr: nullable AExpr = null + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr redef fun hot_location do if n_id != null then return n_id.location else return n_id2.location @@ -874,15 +960,33 @@ end # A definition of all kind of method (including constructors) abstract class AMethPropdef super APropdef - readable writable var _n_kwmeth: nullable TKwmeth = null - readable writable var _n_kwinit: nullable TKwinit = null - readable writable var _n_kwnew: nullable TKwnew = null - readable writable var _n_methid: nullable AMethid = null - readable writable var _n_signature: nullable ASignature = null - readable writable var _n_block: nullable AExpr = null - readable writable var _n_extern: nullable TString = null - readable writable var _n_extern_calls: nullable AExternCalls = null - readable writable var _n_extern_code_block: nullable AExternCodeBlock = null + var _n_kwmeth: nullable TKwmeth = null + fun n_kwmeth: nullable TKwmeth do return _n_kwmeth + fun n_kwmeth=(n_kwmeth: nullable TKwmeth) do _n_kwmeth = n_kwmeth + var _n_kwinit: nullable TKwinit = null + fun n_kwinit: nullable TKwinit do return _n_kwinit + fun n_kwinit=(n_kwinit: nullable TKwinit) do _n_kwinit = n_kwinit + var _n_kwnew: nullable TKwnew = null + fun n_kwnew: nullable TKwnew do return _n_kwnew + fun n_kwnew=(n_kwnew: nullable TKwnew) do _n_kwnew = n_kwnew + var _n_methid: nullable AMethid = null + fun n_methid: nullable AMethid do return _n_methid + fun n_methid=(n_methid: nullable AMethid) do _n_methid = n_methid + var _n_signature: nullable ASignature = null + fun n_signature: nullable ASignature do return _n_signature + fun n_signature=(n_signature: nullable ASignature) do _n_signature = n_signature + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block + var _n_extern: nullable TString = null + fun n_extern: nullable TString do return _n_extern + fun n_extern=(n_extern: nullable TString) do _n_extern = n_extern + var _n_extern_calls: nullable AExternCalls = null + fun n_extern_calls: nullable AExternCalls do return _n_extern_calls + fun n_extern_calls=(n_extern_calls: nullable AExternCalls) do _n_extern_calls = n_extern_calls + var _n_extern_code_block: nullable AExternCodeBlock = null + fun n_extern_code_block: nullable AExternCodeBlock do return _n_extern_code_block + fun n_extern_code_block=(n_extern_code_block: nullable AExternCodeBlock) do _n_extern_code_block = n_extern_code_block redef fun hot_location do if n_methid != null then @@ -953,8 +1057,10 @@ end # Declaration of callbacks for extern methods class AExternCalls super Prod - readable writable var _n_kwimport: TKwimport - readable var _n_extern_calls: ANodes[AExternCall] = new ANodes[AExternCall](self) + var _n_kwimport: TKwimport + fun n_kwimport: TKwimport do return _n_kwimport + fun n_kwimport=(n_kwimport: TKwimport) do _n_kwimport = n_kwimport + var n_extern_calls: ANodes[AExternCall] = new ANodes[AExternCall](self) init do end end abstract class AExternCall @@ -965,24 +1071,36 @@ abstract class APropExternCall end class ALocalPropExternCall super APropExternCall - readable writable var _n_methid: AMethid + var _n_methid: AMethid + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid init do end end class AFullPropExternCall super APropExternCall - readable writable var _n_type: AType - readable writable var _n_dot: nullable TDot = null - readable writable var _n_methid: AMethid + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_dot: nullable TDot = null + fun n_dot: nullable TDot do return _n_dot + fun n_dot=(n_dot: nullable TDot) do _n_dot = n_dot + var _n_methid: AMethid + fun n_methid: AMethid do return _n_methid + fun n_methid=(n_methid: AMethid) do _n_methid = n_methid init do end end class AInitPropExternCall super APropExternCall - readable writable var _n_type: AType + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type init do end end class ASuperExternCall super AExternCall - readable writable var _n_kwsuper: TKwsuper + var _n_kwsuper: TKwsuper + fun n_kwsuper: TKwsuper do return _n_kwsuper + fun n_kwsuper=(n_kwsuper: TKwsuper) do _n_kwsuper = n_kwsuper init do end end abstract class ACastExternCall @@ -990,56 +1108,92 @@ abstract class ACastExternCall end class ACastAsExternCall super ACastExternCall - readable writable var _n_from_type: AType - readable writable var _n_dot: nullable TDot = null - readable writable var _n_kwas: TKwas - readable writable var _n_to_type: AType + var _n_from_type: AType + fun n_from_type: AType do return _n_from_type + fun n_from_type=(n_from_type: AType) do _n_from_type = n_from_type + var _n_dot: nullable TDot = null + fun n_dot: nullable TDot do return _n_dot + fun n_dot=(n_dot: nullable TDot) do _n_dot = n_dot + var _n_kwas: TKwas + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_to_type: AType + fun n_to_type: AType do return _n_to_type + fun n_to_type=(n_to_type: AType) do _n_to_type = n_to_type init do end end class AAsNullableExternCall super ACastExternCall - readable writable var _n_type: AType - readable writable var _n_kwas: TKwas - readable writable var _n_kwnullable: TKwnullable + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_kwas: TKwas + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_kwnullable: TKwnullable + fun n_kwnullable: TKwnullable do return _n_kwnullable + fun n_kwnullable=(n_kwnullable: TKwnullable) do _n_kwnullable = n_kwnullable init do end end class AAsNotNullableExternCall super ACastExternCall - readable writable var _n_type: AType - readable writable var _n_kwas: TKwas - readable writable var _n_kwnot: TKwnot - readable writable var _n_kwnullable: TKwnullable + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_kwas: TKwas + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_kwnot: TKwnot + fun n_kwnot: TKwnot do return _n_kwnot + fun n_kwnot=(n_kwnot: TKwnot) do _n_kwnot = n_kwnot + var _n_kwnullable: TKwnullable + fun n_kwnullable: TKwnullable do return _n_kwnullable + fun n_kwnullable=(n_kwnullable: TKwnullable) do _n_kwnullable = n_kwnullable init do end end # A definition of a virtual type class ATypePropdef super APropdef - readable writable var _n_kwtype: TKwtype - readable writable var _n_id: TClassid - readable writable var _n_type: AType + var _n_kwtype: TKwtype + fun n_kwtype: TKwtype do return _n_kwtype + fun n_kwtype=(n_kwtype: TKwtype) do _n_kwtype = n_kwtype + var _n_id: TClassid + fun n_id: TClassid do return _n_id + fun n_id=(n_id: TClassid) do _n_id = n_id + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type init do end end # A `writable` or `readable` modifier abstract class AAble super Prod - readable writable var _n_visibility: nullable AVisibility = null - readable writable var _n_kwredef: nullable TKwredef = null + var _n_visibility: nullable AVisibility = null + fun n_visibility: nullable AVisibility do return _n_visibility + fun n_visibility=(n_visibility: nullable AVisibility) do _n_visibility = n_visibility + var _n_kwredef: nullable TKwredef = null + fun n_kwredef: nullable TKwredef do return _n_kwredef + fun n_kwredef=(n_kwredef: nullable TKwredef) do _n_kwredef = n_kwredef init do end end # A `readable` modifier class AReadAble super AAble - readable writable var _n_kwreadable: TKwreadable + var _n_kwreadable: TKwreadable + fun n_kwreadable: TKwreadable do return _n_kwreadable + fun n_kwreadable=(n_kwreadable: TKwreadable) do _n_kwreadable = n_kwreadable init do end end # A `writable` modifier class AWriteAble super AAble - readable writable var _n_kwwritable: TKwwritable + var _n_kwwritable: TKwwritable + fun n_kwwritable: TKwwritable do return _n_kwwritable + fun n_kwwritable=(n_kwwritable: TKwwritable) do _n_kwwritable = n_kwwritable init do end end @@ -1050,136 +1204,200 @@ abstract class AMethid end class AIdMethid super AMethid - readable writable var _n_id: TId + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id init do end end class APlusMethid super AMethid - readable writable var _n_plus: TPlus + var _n_plus: TPlus + fun n_plus: TPlus do return _n_plus + fun n_plus=(n_plus: TPlus) do _n_plus = n_plus init do end end class AMinusMethid super AMethid - readable writable var _n_minus: TMinus + var _n_minus: TMinus + fun n_minus: TMinus do return _n_minus + fun n_minus=(n_minus: TMinus) do _n_minus = n_minus init do end end class AStarMethid super AMethid - readable writable var _n_star: TStar + var _n_star: TStar + fun n_star: TStar do return _n_star + fun n_star=(n_star: TStar) do _n_star = n_star init do end end class ASlashMethid super AMethid - readable writable var _n_slash: TSlash + var _n_slash: TSlash + fun n_slash: TSlash do return _n_slash + fun n_slash=(n_slash: TSlash) do _n_slash = n_slash init do end end class APercentMethid super AMethid - readable writable var _n_percent: TPercent + var _n_percent: TPercent + fun n_percent: TPercent do return _n_percent + fun n_percent=(n_percent: TPercent) do _n_percent = n_percent init do end end class AEqMethid super AMethid - readable writable var _n_eq: TEq + var _n_eq: TEq + fun n_eq: TEq do return _n_eq + fun n_eq=(n_eq: TEq) do _n_eq = n_eq init do end end class ANeMethid super AMethid - readable writable var _n_ne: TNe + var _n_ne: TNe + fun n_ne: TNe do return _n_ne + fun n_ne=(n_ne: TNe) do _n_ne = n_ne init do end end class ALeMethid super AMethid - readable writable var _n_le: TLe + var _n_le: TLe + fun n_le: TLe do return _n_le + fun n_le=(n_le: TLe) do _n_le = n_le init do end end class AGeMethid super AMethid - readable writable var _n_ge: TGe + var _n_ge: TGe + fun n_ge: TGe do return _n_ge + fun n_ge=(n_ge: TGe) do _n_ge = n_ge init do end end class ALtMethid super AMethid - readable writable var _n_lt: TLt + var _n_lt: TLt + fun n_lt: TLt do return _n_lt + fun n_lt=(n_lt: TLt) do _n_lt = n_lt init do end end class AGtMethid super AMethid - readable writable var _n_gt: TGt + var _n_gt: TGt + fun n_gt: TGt do return _n_gt + fun n_gt=(n_gt: TGt) do _n_gt = n_gt init do end end class ALlMethid super AMethid - readable writable var _n_ll: TLl + var _n_ll: TLl + fun n_ll: TLl do return _n_ll + fun n_ll=(n_ll: TLl) do _n_ll = n_ll init do end end class AGgMethid super AMethid - readable writable var _n_gg: TGg + var _n_gg: TGg + fun n_gg: TGg do return _n_gg + fun n_gg=(n_gg: TGg) do _n_gg = n_gg init do end end class ABraMethid super AMethid - readable writable var _n_obra: TObra - readable writable var _n_cbra: TCbra + var _n_obra: TObra + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TCbra + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra init do end end class AStarshipMethid super AMethid - readable writable var _n_starship: TStarship + var _n_starship: TStarship + fun n_starship: TStarship do return _n_starship + fun n_starship=(n_starship: TStarship) do _n_starship = n_starship init do end end class AAssignMethid super AMethid - readable writable var _n_id: TId - readable writable var _n_assign: TAssign + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_assign: TAssign + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign init do end end class ABraassignMethid super AMethid - readable writable var _n_obra: TObra - readable writable var _n_cbra: TCbra - readable writable var _n_assign: TAssign + var _n_obra: TObra + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TCbra + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra + var _n_assign: TAssign + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign init do end end # A signature in a method definition. eg `(x,y:X,z:Z):T` class ASignature super Prod - readable writable var _n_opar: nullable TOpar = null - readable var _n_params: ANodes[AParam] = new ANodes[AParam](self) - readable writable var _n_cpar: nullable TCpar = null - readable writable var _n_type: nullable AType = null + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var n_params: ANodes[AParam] = new ANodes[AParam](self) + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type init do end end # A parameter definition in a signature. eg `x:X` class AParam super Prod - readable writable var _n_id: TId - readable writable var _n_type: nullable AType = null - readable writable var _n_dotdotdot: nullable TDotdotdot = null + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_dotdotdot: nullable TDotdotdot = null + fun n_dotdotdot: nullable TDotdotdot do return _n_dotdotdot + fun n_dotdotdot=(n_dotdotdot: nullable TDotdotdot) do _n_dotdotdot = n_dotdotdot init do end end # A static type. eg `nullable X[Y]` class AType super Prod - readable writable var _n_kwnullable: nullable TKwnullable = null + var _n_kwnullable: nullable TKwnullable = null + fun n_kwnullable: nullable TKwnullable do return _n_kwnullable + fun n_kwnullable=(n_kwnullable: nullable TKwnullable) do _n_kwnullable = n_kwnullable # The name of the class or of the formal type - readable writable var _n_id: TClassid + var _n_id: TClassid + fun n_id: TClassid do return _n_id + fun n_id=(n_id: TClassid) do _n_id = n_id # Type arguments for a generic type - readable var _n_types: ANodes[AType] = new ANodes[AType](self) + var n_types: ANodes[AType] = new ANodes[AType](self) init do end end # A label at the end of a block or in a break/continue statement. eg `label x` class ALabel super Prod - readable writable var _n_kwlabel: TKwlabel - readable writable var _n_id: TId + var _n_kwlabel: TKwlabel + fun n_kwlabel: TKwlabel do return _n_kwlabel + fun n_kwlabel=(n_kwlabel: TKwlabel) do _n_kwlabel = n_kwlabel + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id init do end end @@ -1193,36 +1411,54 @@ end # The last AExpr gives the value of the whole block class ABlockExpr super AExpr - readable var _n_expr: ANodes[AExpr] = new ANodes[AExpr](self) - readable writable var _n_kwend: nullable TKwend = null + var n_expr: ANodes[AExpr] = new ANodes[AExpr](self) + var _n_kwend: nullable TKwend = null + fun n_kwend: nullable TKwend do return _n_kwend + fun n_kwend=(n_kwend: nullable TKwend) do _n_kwend = n_kwend init do end end # A declaration of a local variable. eg `var x: X = y` class AVardeclExpr super 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 + var _n_kwvar: TKwvar + fun n_kwvar: TKwvar do return _n_kwvar + fun n_kwvar=(n_kwvar: TKwvar) do _n_kwvar = n_kwvar + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id + var _n_type: nullable AType = null + fun n_type: nullable AType do return _n_type + fun n_type=(n_type: nullable AType) do _n_type = n_type + var _n_assign: nullable TAssign = null + fun n_assign: nullable TAssign do return _n_assign + fun n_assign=(n_assign: nullable TAssign) do _n_assign = n_assign # The initial value, if any - readable writable var _n_expr: nullable AExpr = null + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr init do end end # A `return` statement. eg `return x` class AReturnExpr super AExpr - readable writable var _n_kwreturn: nullable TKwreturn = null - readable writable var _n_expr: nullable AExpr = null + var _n_kwreturn: nullable TKwreturn = null + fun n_kwreturn: nullable TKwreturn do return _n_kwreturn + fun n_kwreturn=(n_kwreturn: nullable TKwreturn) do _n_kwreturn = n_kwreturn + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr init do end end # Something that has a label. abstract class ALabelable super Prod - readable writable var _n_label: nullable ALabel = null + var _n_label: nullable ALabel = null + fun n_label: nullable ALabel do return _n_label + fun n_label=(n_label: nullable ALabel) do _n_label = n_label init do end end @@ -1230,15 +1466,21 @@ end class ABreakExpr super AExpr super ALabelable - readable writable var _n_kwbreak: TKwbreak - readable writable var _n_expr: nullable AExpr = null + var _n_kwbreak: TKwbreak + fun n_kwbreak: TKwbreak do return _n_kwbreak + fun n_kwbreak=(n_kwbreak: TKwbreak) do _n_kwbreak = n_kwbreak + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr init do end end # An `abort` statement class AAbortExpr super AExpr - readable writable var _n_kwabort: TKwabort + var _n_kwabort: TKwabort + fun n_kwabort: TKwabort do return _n_kwabort + fun n_kwabort=(n_kwabort: TKwabort) do _n_kwabort = n_kwabort init do end end @@ -1246,8 +1488,12 @@ end class AContinueExpr super AExpr super ALabelable - readable writable var _n_kwcontinue: nullable TKwcontinue = null - readable writable var _n_expr: nullable AExpr = null + var _n_kwcontinue: nullable TKwcontinue = null + fun n_kwcontinue: nullable TKwcontinue do return _n_kwcontinue + fun n_kwcontinue=(n_kwcontinue: nullable TKwcontinue) do _n_kwcontinue = n_kwcontinue + var _n_expr: nullable AExpr = null + fun n_expr: nullable AExpr do return _n_expr + fun n_expr=(n_expr: nullable AExpr) do _n_expr = n_expr init do end end @@ -1255,30 +1501,54 @@ end class ADoExpr super AExpr super ALabelable - readable writable var _n_kwdo: TKwdo - readable writable var _n_block: nullable AExpr = null + var _n_kwdo: TKwdo + fun n_kwdo: TKwdo do return _n_kwdo + fun n_kwdo=(n_kwdo: TKwdo) do _n_kwdo = n_kwdo + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block init do end end # A `if` statement class AIfExpr super 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 + var _n_kwif: TKwif + fun n_kwif: TKwif do return _n_kwif + fun n_kwif=(n_kwif: TKwif) do _n_kwif = n_kwif + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_then: nullable AExpr = null + fun n_then: nullable AExpr do return _n_then + fun n_then=(n_then: nullable AExpr) do _n_then = n_then + var _n_else: nullable AExpr = null + fun n_else: nullable AExpr do return _n_else + fun n_else=(n_else: nullable AExpr) do _n_else = n_else init do end end # A `if` expression class AIfexprExpr super 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 + var _n_kwif: TKwif + fun n_kwif: TKwif do return _n_kwif + fun n_kwif=(n_kwif: TKwif) do _n_kwif = n_kwif + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwthen: TKwthen + fun n_kwthen: TKwthen do return _n_kwthen + fun n_kwthen=(n_kwthen: TKwthen) do _n_kwthen = n_kwthen + var _n_then: AExpr + fun n_then: AExpr do return _n_then + fun n_then=(n_then: AExpr) do _n_then = n_then + var _n_kwelse: TKwelse + fun n_kwelse: TKwelse do return _n_kwelse + fun n_kwelse=(n_kwelse: TKwelse) do _n_kwelse = n_kwelse + var _n_else: AExpr + fun n_else: AExpr do return _n_else + fun n_else=(n_else: AExpr) do _n_else = n_else init do end end @@ -1286,10 +1556,18 @@ end class AWhileExpr super AExpr super 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 + var _n_kwwhile: TKwwhile + fun n_kwwhile: TKwwhile do return _n_kwwhile + fun n_kwwhile=(n_kwwhile: TKwwhile) do _n_kwwhile = n_kwwhile + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwdo: TKwdo + fun n_kwdo: TKwdo do return _n_kwdo + fun n_kwdo=(n_kwdo: TKwdo) do _n_kwdo = n_kwdo + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block init do end end @@ -1297,8 +1575,12 @@ end class ALoopExpr super AExpr super ALabelable - readable writable var _n_kwloop: TKwloop - readable writable var _n_block: nullable AExpr = null + var _n_kwloop: TKwloop + fun n_kwloop: TKwloop do return _n_kwloop + fun n_kwloop=(n_kwloop: TKwloop) do _n_kwloop = n_kwloop + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block init do end end @@ -1306,44 +1588,70 @@ end class AForExpr super AExpr super ALabelable - readable writable var _n_kwfor: TKwfor - readable var _n_ids: ANodes[TId] = new ANodes[TId](self) - readable writable var _n_expr: AExpr - readable writable var _n_kwdo: TKwdo - readable writable var _n_block: nullable AExpr = null + var _n_kwfor: TKwfor + fun n_kwfor: TKwfor do return _n_kwfor + fun n_kwfor=(n_kwfor: TKwfor) do _n_kwfor = n_kwfor + var n_ids: ANodes[TId] = new ANodes[TId](self) + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwdo: TKwdo + fun n_kwdo: TKwdo do return _n_kwdo + fun n_kwdo=(n_kwdo: TKwdo) do _n_kwdo = n_kwdo + var _n_block: nullable AExpr = null + fun n_block: nullable AExpr do return _n_block + fun n_block=(n_block: nullable AExpr) do _n_block = n_block init do end end # An `assert` statement class AAssertExpr super 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 + var _n_kwassert: TKwassert + fun n_kwassert: TKwassert do return _n_kwassert + fun n_kwassert=(n_kwassert: TKwassert) do _n_kwassert = n_kwassert + var _n_id: nullable TId = null + fun n_id: nullable TId do return _n_id + fun n_id=(n_id: nullable TId) do _n_id = n_id + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_else: nullable AExpr = null + fun n_else: nullable AExpr do return _n_else + fun n_else=(n_else: nullable AExpr) do _n_else = n_else init do end end # Whatever is a simple assignment. eg `= something` abstract class AAssignFormExpr super AExpr - readable writable var _n_assign: TAssign - readable writable var _n_value: AExpr + var _n_assign: TAssign + fun n_assign: TAssign do return _n_assign + fun n_assign=(n_assign: TAssign) do _n_assign = n_assign + var _n_value: AExpr + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value init do end end # Whatever is a combined assignment. eg `+= something` abstract class AReassignFormExpr super AExpr - readable writable var _n_assign_op: AAssignOp - readable writable var _n_value: AExpr + var _n_assign_op: AAssignOp + fun n_assign_op: AAssignOp do return _n_assign_op + fun n_assign_op=(n_assign_op: AAssignOp) do _n_assign_op = n_assign_op + var _n_value: AExpr + fun n_value: AExpr do return _n_value + fun n_value=(n_value: AExpr) do _n_value = n_value init do end end # A `once` expression. eg `once x` class AOnceExpr super AProxyExpr - readable writable var _n_kwonce: TKwonce + var _n_kwonce: TKwonce + fun n_kwonce: TKwonce do return _n_kwonce + fun n_kwonce=(n_kwonce: TKwonce) do _n_kwonce = n_kwonce init do end end @@ -1352,7 +1660,9 @@ end abstract class ASendExpr super AExpr # The receiver of the method invocation - readable writable var _n_expr: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr init do end end @@ -1361,7 +1671,9 @@ abstract class ABinopExpr super ASendExpr # The second operand of the operation # Note: the receiver (`n_expr`) is the first operand - readable writable var _n_expr2: AExpr + var _n_expr2: AExpr + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 init do end end @@ -1373,40 +1685,60 @@ end # A `or` expression class AOrExpr super ABoolExpr - readable writable var _n_expr: AExpr - readable writable var _n_expr2: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 init do end end # A `and` expression class AAndExpr super ABoolExpr - readable writable var _n_expr: AExpr - readable writable var _n_expr2: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 init do end end # A `or else` expression class AOrElseExpr super ABoolExpr - readable writable var _n_expr: AExpr - readable writable var _n_expr2: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 init do end end # A `implies` expression class AImpliesExpr super ABoolExpr - readable writable var _n_expr: AExpr - readable writable var _n_expr2: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 init do end end # A `not` expression class ANotExpr super ABoolExpr - readable writable var _n_kwnot: TKwnot - readable writable var _n_expr: AExpr + var _n_kwnot: TKwnot + fun n_kwnot: TKwnot do return _n_kwnot + fun n_kwnot=(n_kwnot: TKwnot) do _n_kwnot = n_kwnot + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr init do end end @@ -1453,8 +1785,12 @@ end # A type-ckeck expression. eg `x isa T` class AIsaExpr super ABoolExpr - readable writable var _n_expr: AExpr - readable writable var _n_type: AType + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type init do end end @@ -1491,19 +1827,29 @@ end # A unary minus expression. eg `-x` class AUminusExpr super ASendExpr - readable writable var _n_minus: TMinus + var _n_minus: TMinus + fun n_minus: TMinus do return _n_minus + fun n_minus=(n_minus: TMinus) do _n_minus = n_minus init do end end # An explicit instantiation. eg `new T` class ANewExpr super AExpr - readable writable var _n_kwnew: TKwnew - readable writable var _n_type: AType + var _n_kwnew: TKwnew + fun n_kwnew: TKwnew do return _n_kwnew + fun n_kwnew=(n_kwnew: TKwnew) do _n_kwnew = n_kwnew + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type # The name of the named-constructor, if any - readable writable var _n_id: nullable TId = null - readable writable var _n_args: AExprs + var _n_id: nullable TId = null + fun n_id: nullable TId do return _n_id + fun n_id=(n_id: nullable TId) do _n_id = n_id + var _n_args: AExprs + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args init do end end @@ -1512,10 +1858,14 @@ abstract class AAttrFormExpr super AExpr # The receiver of the attribute - readable writable var _n_expr: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr # The name of the attribute - readable writable var _n_id: TAttrid + var _n_id: TAttrid + fun n_id: TAttrid do return _n_id + fun n_id=(n_id: TAttrid) do _n_id = n_id init do end end @@ -1536,10 +1886,14 @@ abstract class ACallFormExpr super ASendExpr # The name of the method - readable writable var _n_id: TId + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id # The arguments of the call - readable writable var _n_args: AExprs + var _n_args: AExprs + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args init do end end @@ -1581,9 +1935,15 @@ end # A call to `super`. OR a call of a super-constructor class ASuperExpr super AExpr - readable writable var _n_qualified: nullable AQualified = null - readable writable var _n_kwsuper: TKwsuper - readable writable var _n_args: AExprs + var _n_qualified: nullable AQualified = null + fun n_qualified: nullable AQualified do return _n_qualified + fun n_qualified=(n_qualified: nullable AQualified) do _n_qualified = n_qualified + var _n_kwsuper: TKwsuper + fun n_kwsuper: TKwsuper do return _n_kwsuper + fun n_kwsuper=(n_kwsuper: TKwsuper) do _n_kwsuper = n_kwsuper + var _n_args: AExprs + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args init do end end @@ -1591,15 +1951,21 @@ end # Note: because `init` is a keyword and not a `TId`, the explicit call to init cannot be a ACallFormExpr. class AInitExpr super ASendExpr - readable writable var _n_kwinit: TKwinit - readable writable var _n_args: AExprs + var _n_kwinit: TKwinit + fun n_kwinit: TKwinit do return _n_kwinit + fun n_kwinit=(n_kwinit: TKwinit) do _n_kwinit = n_kwinit + var _n_args: AExprs + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args init do end end # Whatever looks-like a call of the brackets `[]` operator. abstract class ABraFormExpr super ASendExpr - readable writable var _n_args: AExprs + var _n_args: AExprs + fun n_args: AExprs do return _n_args + fun n_args=(n_args: AExprs) do _n_args = n_args init do end end @@ -1617,7 +1983,9 @@ end # Whatever is an access to a local variable abstract class AVarFormExpr super AExpr - readable writable var _n_id: TId + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id init do end end @@ -1650,38 +2018,54 @@ end # A literal range, open or closed abstract class ARangeExpr super AExpr - readable writable var _n_expr: AExpr - readable writable var _n_expr2: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_expr2: AExpr + fun n_expr2: AExpr do return _n_expr2 + fun n_expr2=(n_expr2: AExpr) do _n_expr2 = n_expr2 init do end end # A closed literal range. eg `[x..y]` class ACrangeExpr super ARangeExpr - readable writable var _n_obra: TObra - readable writable var _n_cbra: TCbra + var _n_obra: TObra + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TCbra + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra init do end end # An open literal range. eg `[x..y[` class AOrangeExpr super ARangeExpr - readable writable var _n_obra: TObra - readable writable var _n_cbra: TObra + var _n_obra: TObra + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TObra + fun n_cbra: TObra do return _n_cbra + fun n_cbra=(n_cbra: TObra) do _n_cbra = n_cbra init do end end # A literal array. eg. `[x,y,z]` class AArrayExpr super AExpr - readable writable var _n_exprs: AExprs + var _n_exprs: AExprs + fun n_exprs: AExprs do return _n_exprs + fun n_exprs=(n_exprs: AExprs) do _n_exprs = n_exprs init do end end # A read of `self` class ASelfExpr super AExpr - readable writable var _n_kwself: nullable TKwself + var _n_kwself: nullable TKwself + fun n_kwself: nullable TKwself do return _n_kwself + fun n_kwself=(n_kwself: nullable TKwself) do _n_kwself = n_kwself init do end end @@ -1693,19 +2077,25 @@ end # A `true` boolean literal constant class ATrueExpr super ABoolExpr - readable writable var _n_kwtrue: TKwtrue + var _n_kwtrue: TKwtrue + fun n_kwtrue: TKwtrue do return _n_kwtrue + fun n_kwtrue=(n_kwtrue: TKwtrue) do _n_kwtrue = n_kwtrue init do end end # A `false` boolean literal constant class AFalseExpr super ABoolExpr - readable writable var _n_kwfalse: TKwfalse + var _n_kwfalse: TKwfalse + fun n_kwfalse: TKwfalse do return _n_kwfalse + fun n_kwfalse=(n_kwfalse: TKwfalse) do _n_kwfalse = n_kwfalse init do end end # A `null` literal constant class ANullExpr super AExpr - readable writable var _n_kwnull: TKwnull + var _n_kwnull: TKwnull + fun n_kwnull: TKwnull do return _n_kwnull + fun n_kwnull=(n_kwnull: TKwnull) do _n_kwnull = n_kwnull init do end end # An integer literal @@ -1715,31 +2105,41 @@ end # An integer literal in decimal format class ADecIntExpr super AIntExpr - readable writable var _n_number: TNumber + var _n_number: TNumber + fun n_number: TNumber do return _n_number + fun n_number=(n_number: TNumber) do _n_number = n_number init do end end # An integer literal in hexadecimal format class AHexIntExpr super AIntExpr - readable writable var _n_hex_number: THexNumber + var _n_hex_number: THexNumber + fun n_hex_number: THexNumber do return _n_hex_number + fun n_hex_number=(n_hex_number: THexNumber) do _n_hex_number = n_hex_number init do end end # A float literal class AFloatExpr super AExpr - readable writable var _n_float: TFloat + var _n_float: TFloat + fun n_float: TFloat do return _n_float + fun n_float=(n_float: TFloat) do _n_float = n_float init do end end # A character literal class ACharExpr super AExpr - readable writable var _n_char: TChar + var _n_char: TChar + fun n_char: TChar do return _n_char + fun n_char=(n_char: TChar) do _n_char = n_char init do end end # A string literal abstract class AStringFormExpr super AExpr - readable writable var _n_string: Token + var _n_string: Token + fun n_string: Token do return _n_string + fun n_string=(n_string: Token) do _n_string = n_string init do end end @@ -1767,68 +2167,106 @@ end # Each part is modelized a sequence of expression. eg. `["a{, x, }b{, y, }c"]` class ASuperstringExpr super AExpr - readable var _n_exprs: ANodes[AExpr] = new ANodes[AExpr](self) + var n_exprs: ANodes[AExpr] = new ANodes[AExpr](self) init do end end # A simple parenthesis. eg `(x)` class AParExpr super AProxyExpr - readable writable var _n_opar: TOpar - readable writable var _n_cpar: TCpar + var _n_opar: TOpar + fun n_opar: TOpar do return _n_opar + fun n_opar=(n_opar: TOpar) do _n_opar = n_opar + var _n_cpar: TCpar + fun n_cpar: TCpar do return _n_cpar + fun n_cpar=(n_cpar: TCpar) do _n_cpar = n_cpar init do end end # Whatevej just contains (and mimic) an other expression abstract class AProxyExpr super AExpr - readable writable var _n_expr: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr init do end end # A type cast. eg `x.as(T)` class AAsCastExpr super AExpr - readable writable var _n_expr: AExpr - readable writable var _n_kwas: TKwas - readable writable var _n_opar: nullable TOpar = null - readable writable var _n_type: AType - readable writable var _n_cpar: nullable TCpar = null + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwas: TKwas + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar init do end end # A as-not-null cast. eg `x.as(not null)` class AAsNotnullExpr super AExpr - readable writable var _n_expr: AExpr - readable writable var _n_kwas: TKwas - readable writable var _n_opar: nullable TOpar = null - readable writable var _n_kwnot: TKwnot - readable writable var _n_kwnull: TKwnull - readable writable var _n_cpar: nullable TCpar = null + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_kwas: TKwas + fun n_kwas: TKwas do return _n_kwas + fun n_kwas=(n_kwas: TKwas) do _n_kwas = n_kwas + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var _n_kwnot: TKwnot + fun n_kwnot: TKwnot do return _n_kwnot + fun n_kwnot=(n_kwnot: TKwnot) do _n_kwnot = n_kwnot + var _n_kwnull: TKwnull + fun n_kwnull: TKwnull do return _n_kwnull + fun n_kwnull=(n_kwnull: TKwnull) do _n_kwnull = n_kwnull + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar init do end end # A is-set check of old-style attributes. eg `isset x._a` class AIssetAttrExpr super AAttrFormExpr - readable writable var _n_kwisset: TKwisset + var _n_kwisset: TKwisset + fun n_kwisset: TKwisset do return _n_kwisset + fun n_kwisset=(n_kwisset: TKwisset) do _n_kwisset = n_kwisset init do end end # A list of expression separated with commas (arguments for instance) abstract class AExprs super Prod - readable var _n_exprs: ANodes[AExpr] = new ANodes[AExpr](self) + var n_exprs: ANodes[AExpr] = new ANodes[AExpr](self) init do end end class ADebugTypeExpr super AExpr - readable writable var _n_kwdebug: TKwdebug - readable writable var _n_kwtype: TKwtype - readable writable var _n_expr: AExpr - readable writable var _n_type: AType + var _n_kwdebug: TKwdebug + fun n_kwdebug: TKwdebug do return _n_kwdebug + fun n_kwdebug=(n_kwdebug: TKwdebug) do _n_kwdebug = n_kwdebug + var _n_kwtype: TKwtype + fun n_kwtype: TKwtype do return _n_kwtype + fun n_kwtype=(n_kwtype: TKwtype) do _n_kwtype = n_kwtype + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type init do end end @@ -1840,16 +2278,24 @@ end # A list of expressions enclosed in parentheses class AParExprs super AExprs - readable writable var _n_opar: TOpar - readable writable var _n_cpar: TCpar + var _n_opar: TOpar + fun n_opar: TOpar do return _n_opar + fun n_opar=(n_opar: TOpar) do _n_opar = n_opar + var _n_cpar: TCpar + fun n_cpar: TCpar do return _n_cpar + fun n_cpar=(n_cpar: TCpar) do _n_cpar = n_cpar init do end end # A list of expressions enclosed in brackets class ABraExprs super AExprs - readable writable var _n_obra: TObra - readable writable var _n_cbra: TCbra + var _n_obra: TObra + fun n_obra: TObra do return _n_obra + fun n_obra=(n_obra: TObra) do _n_obra = n_obra + var _n_cbra: TCbra + fun n_cbra: TCbra do return _n_cbra + fun n_cbra=(n_cbra: TCbra) do _n_cbra = n_cbra init do end end @@ -1859,39 +2305,59 @@ abstract class AAssignOp end class APlusAssignOp super AAssignOp - readable writable var _n_pluseq: TPluseq + var _n_pluseq: TPluseq + fun n_pluseq: TPluseq do return _n_pluseq + fun n_pluseq=(n_pluseq: TPluseq) do _n_pluseq = n_pluseq init do end end class AMinusAssignOp super AAssignOp - readable writable var _n_minuseq: TMinuseq + var _n_minuseq: TMinuseq + fun n_minuseq: TMinuseq do return _n_minuseq + fun n_minuseq=(n_minuseq: TMinuseq) do _n_minuseq = n_minuseq init do end end class AModuleName super Prod - readable writable var _n_quad: nullable TQuad = null - readable var _n_path: ANodes[TId] = new ANodes[TId](self) - readable writable var _n_id: TId + var _n_quad: nullable TQuad = null + fun n_quad: nullable TQuad do return _n_quad + fun n_quad=(n_quad: nullable TQuad) do _n_quad = n_quad + var n_path: ANodes[TId] = new ANodes[TId](self) + var _n_id: TId + fun n_id: TId do return _n_id + fun n_id=(n_id: TId) do _n_id = n_id init do end end class AInLanguage super Prod - readable writable var _n_kwin: TKwin - readable writable var _n_string: TString + var _n_kwin: TKwin + fun n_kwin: TKwin do return _n_kwin + fun n_kwin=(n_kwin: TKwin) do _n_kwin = n_kwin + var _n_string: TString + fun n_string: TString do return _n_string + fun n_string=(n_string: TString) do _n_string = n_string init do end end class AExternCodeBlock super Prod - readable writable var _n_in_language: nullable AInLanguage = null - readable writable var _n_extern_code_segment: TExternCodeSegment + var _n_in_language: nullable AInLanguage = null + fun n_in_language: nullable AInLanguage do return _n_in_language + fun n_in_language=(n_in_language: nullable AInLanguage) do _n_in_language = n_in_language + var _n_extern_code_segment: TExternCodeSegment + fun n_extern_code_segment: TExternCodeSegment do return _n_extern_code_segment + fun n_extern_code_segment=(n_extern_code_segment: TExternCodeSegment) do _n_extern_code_segment = n_extern_code_segment init do end end class AQualified super Prod - readable writable var _n_quad: nullable TQuad = null - readable var _n_id: ANodes[TId] = new ANodes[TId](self) - readable writable var _n_classid: nullable TClassid = null + var _n_quad: nullable TQuad = null + fun n_quad: nullable TQuad do return _n_quad + fun n_quad=(n_quad: nullable TQuad) do _n_quad = n_quad + var n_id: ANodes[TId] = new ANodes[TId](self) + var _n_classid: nullable TClassid = null + fun n_classid: nullable TClassid do return _n_classid + fun n_classid=(n_classid: nullable TClassid) do _n_classid = n_classid init do end end @@ -1899,24 +2365,36 @@ end # It contains the block of comments just above the declaration class ADoc super Prod - readable var _n_comment: ANodes[TComment] = new ANodes[TComment](self) + var n_comment: ANodes[TComment] = new ANodes[TComment](self) init do end end class AAnnotations super Prod - readable writable var _n_at: nullable TAt = null - readable writable var _n_opar: nullable TOpar = null - readable var _n_items: ANodes[AAnnotation] = new ANodes[AAnnotation](self) - readable writable var _n_cpar: nullable TCpar = null + var _n_at: nullable TAt = null + fun n_at: nullable TAt do return _n_at + fun n_at=(n_at: nullable TAt) do _n_at = n_at + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var n_items: ANodes[AAnnotation] = new ANodes[AAnnotation](self) + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar init do end end class AAnnotation super Prod - readable writable var _n_atid: AAtid - readable writable var _n_opar: nullable TOpar = null - readable var _n_args: ANodes[AAtArg] = new ANodes[AAtArg](self) - readable writable var _n_cpar: nullable TCpar = null + var _n_atid: AAtid + fun n_atid: AAtid do return _n_atid + fun n_atid=(n_atid: AAtid) do _n_atid = n_atid + var _n_opar: nullable TOpar = null + fun n_opar: nullable TOpar do return _n_opar + fun n_opar=(n_opar: nullable TOpar) do _n_opar = n_opar + var n_args: ANodes[AAtArg] = new ANodes[AAtArg](self) + var _n_cpar: nullable TCpar = null + fun n_cpar: nullable TCpar do return _n_cpar + fun n_cpar=(n_cpar: nullable TCpar) do _n_cpar = n_cpar init do end end abstract class AAtArg @@ -1924,12 +2402,16 @@ abstract class AAtArg end class ATypeAtArg super AAtArg - readable writable var _n_type: AType + var _n_type: AType + fun n_type: AType do return _n_type + fun n_type=(n_type: AType) do _n_type = n_type init do end end class AExprAtArg super AAtArg - readable writable var _n_expr: AExpr + var _n_expr: AExpr + fun n_expr: AExpr do return _n_expr + fun n_expr=(n_expr: AExpr) do _n_expr = n_expr init do end end class AAtAtArg @@ -1937,7 +2419,9 @@ class AAtAtArg end abstract class AAtid super Prod - readable writable var _n_id: Token + var _n_id: Token + fun n_id: Token do return _n_id + fun n_id=(n_id: Token) do _n_id = n_id init do end end class AIdAtid @@ -1962,8 +2446,12 @@ end # The root of the AST class Start super Prod - readable writable var _n_base: nullable AModule - readable writable var _n_eof: EOF + var _n_base: nullable AModule + fun n_base: nullable AModule do return _n_base + fun n_base=(n_base: nullable AModule) do _n_base = n_base + var _n_eof: EOF + fun n_eof: EOF do return _n_eof + fun n_eof=(n_eof: EOF) do _n_eof = n_eof init(n_base: nullable AModule, n_eof: EOF) do self._n_base = n_base diff --git a/src/parser/parser_prod.nit b/src/parser/parser_prod.nit index 0aca0b6..2363e3f 100644 --- a/src/parser/parser_prod.nit +++ b/src/parser/parser_prod.nit @@ -16,9 +16,9 @@ redef class AModule do _n_moduledecl = n_moduledecl if n_moduledecl != null then n_moduledecl.parent = self - _n_imports.unsafe_add_all(n_imports) - _n_extern_code_blocks.unsafe_add_all(n_extern_code_blocks) - _n_classdefs.unsafe_add_all(n_classdefs) + self.n_imports.unsafe_add_all(n_imports) + self.n_extern_code_blocks.unsafe_add_all(n_extern_code_blocks) + self.n_classdefs.unsafe_add_all(n_classdefs) end redef fun replace_child(old_child: ANode, new_child: nullable ANode) @@ -27,9 +27,9 @@ redef class AModule n_moduledecl = new_child.as(nullable AModuledecl) return end - if _n_imports.replace_child(old_child, new_child) then return - if _n_extern_code_blocks.replace_child(old_child, new_child) then return - if _n_classdefs.replace_child(old_child, new_child) then return + if n_imports.replace_child(old_child, new_child) then return + if n_extern_code_blocks.replace_child(old_child, new_child) then return + if n_classdefs.replace_child(old_child, new_child) then return end redef fun n_moduledecl=(node) @@ -42,9 +42,9 @@ redef class AModule redef fun visit_all(v: Visitor) do v.enter_visit(_n_moduledecl) - _n_imports.visit_all(v) - _n_extern_code_blocks.visit_all(v) - _n_classdefs.visit_all(v) + n_imports.visit_all(v) + n_extern_code_blocks.visit_all(v) + n_classdefs.visit_all(v) end end redef class AModuledecl @@ -365,13 +365,13 @@ redef class AStdClassdef n_classkind.parent = self _n_id = n_id if n_id != null then n_id.parent = self - _n_formaldefs.unsafe_add_all(n_formaldefs) + self.n_formaldefs.unsafe_add_all(n_formaldefs) _n_annotations = n_annotations if n_annotations != null then n_annotations.parent = self _n_extern_code_block = n_extern_code_block if n_extern_code_block != null then n_extern_code_block.parent = self - _n_superclasses.unsafe_add_all(n_superclasses) - _n_propdefs.unsafe_add_all(n_propdefs) + self.n_superclasses.unsafe_add_all(n_superclasses) + self.n_propdefs.unsafe_add_all(n_propdefs) _n_kwend = n_kwend.as(not null) n_kwend.parent = self end @@ -398,7 +398,7 @@ redef class AStdClassdef n_id = new_child.as(nullable TClassid) return end - if _n_formaldefs.replace_child(old_child, new_child) then return + if n_formaldefs.replace_child(old_child, new_child) then return if _n_annotations == old_child then n_annotations = new_child.as(nullable AAnnotations) return @@ -407,8 +407,8 @@ redef class AStdClassdef n_extern_code_block = new_child.as(nullable AExternCodeBlock) return end - if _n_superclasses.replace_child(old_child, new_child) then return - if _n_propdefs.replace_child(old_child, new_child) then return + if n_superclasses.replace_child(old_child, new_child) then return + if n_propdefs.replace_child(old_child, new_child) then return if _n_kwend == old_child then n_kwend = new_child.as(TKwend) return @@ -464,11 +464,11 @@ redef class AStdClassdef v.enter_visit(_n_visibility) v.enter_visit(_n_classkind) v.enter_visit(_n_id) - _n_formaldefs.visit_all(v) + n_formaldefs.visit_all(v) v.enter_visit(_n_annotations) v.enter_visit(_n_extern_code_block) - _n_superclasses.visit_all(v) - _n_propdefs.visit_all(v) + n_superclasses.visit_all(v) + n_propdefs.visit_all(v) v.enter_visit(_n_kwend) end end @@ -477,19 +477,19 @@ redef class ATopClassdef n_propdefs: Collection[Object] # Should be Collection[APropdef] ) do - _n_propdefs.unsafe_add_all(n_propdefs) + self.n_propdefs.unsafe_add_all(n_propdefs) end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_propdefs.replace_child(old_child, new_child) then return + if n_propdefs.replace_child(old_child, new_child) then return end redef fun visit_all(v: Visitor) do - _n_propdefs.visit_all(v) + n_propdefs.visit_all(v) end end redef class AMainClassdef @@ -497,19 +497,19 @@ redef class AMainClassdef n_propdefs: Collection[Object] # Should be Collection[APropdef] ) do - _n_propdefs.unsafe_add_all(n_propdefs) + self.n_propdefs.unsafe_add_all(n_propdefs) end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_propdefs.replace_child(old_child, new_child) then return + if n_propdefs.replace_child(old_child, new_child) then return end redef fun visit_all(v: Visitor) do - _n_propdefs.visit_all(v) + n_propdefs.visit_all(v) end end redef class AConcreteClasskind @@ -2664,7 +2664,7 @@ redef class ASignature do _n_opar = n_opar if n_opar != null then n_opar.parent = self - _n_params.unsafe_add_all(n_params) + self.n_params.unsafe_add_all(n_params) _n_cpar = n_cpar if n_cpar != null then n_cpar.parent = self _n_type = n_type @@ -2677,7 +2677,7 @@ redef class ASignature n_opar = new_child.as(nullable TOpar) return end - if _n_params.replace_child(old_child, new_child) then return + if n_params.replace_child(old_child, new_child) then return if _n_cpar == old_child then n_cpar = new_child.as(nullable TCpar) return @@ -2708,7 +2708,7 @@ redef class ASignature redef fun visit_all(v: Visitor) do v.enter_visit(_n_opar) - _n_params.visit_all(v) + n_params.visit_all(v) v.enter_visit(_n_cpar) v.enter_visit(_n_type) end @@ -2793,7 +2793,7 @@ redef class AType if n_kwnullable != null then n_kwnullable.parent = self _n_id = n_id.as(not null) n_id.parent = self - _n_types.unsafe_add_all(n_types) + self.n_types.unsafe_add_all(n_types) _n_annotations = n_annotations if n_annotations != null then n_annotations.parent = self end @@ -2808,7 +2808,7 @@ redef class AType n_id = new_child.as(TClassid) return end - if _n_types.replace_child(old_child, new_child) then return + if n_types.replace_child(old_child, new_child) then return if _n_annotations == old_child then n_annotations = new_child.as(nullable AAnnotations) return @@ -2836,7 +2836,7 @@ redef class AType do v.enter_visit(_n_kwnullable) v.enter_visit(_n_id) - _n_types.visit_all(v) + n_types.visit_all(v) v.enter_visit(_n_annotations) end end @@ -2888,14 +2888,14 @@ redef class ABlockExpr n_kwend: nullable TKwend ) do - _n_expr.unsafe_add_all(n_expr) + self.n_expr.unsafe_add_all(n_expr) _n_kwend = n_kwend if n_kwend != null then n_kwend.parent = self end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_expr.replace_child(old_child, new_child) then return + if n_expr.replace_child(old_child, new_child) then return if _n_kwend == old_child then n_kwend = new_child.as(nullable TKwend) return @@ -2911,7 +2911,7 @@ redef class ABlockExpr redef fun visit_all(v: Visitor) do - _n_expr.visit_all(v) + n_expr.visit_all(v) v.enter_visit(_n_kwend) end end @@ -3555,7 +3555,7 @@ redef class AForExpr do _n_kwfor = n_kwfor.as(not null) n_kwfor.parent = self - _n_ids.unsafe_add_all(n_ids) + self.n_ids.unsafe_add_all(n_ids) _n_expr = n_expr.as(not null) n_expr.parent = self _n_kwdo = n_kwdo.as(not null) @@ -3572,7 +3572,7 @@ redef class AForExpr n_kwfor = new_child.as(TKwfor) return end - if _n_ids.replace_child(old_child, new_child) then return + if n_ids.replace_child(old_child, new_child) then return if _n_expr == old_child then n_expr = new_child.as(AExpr) return @@ -3621,7 +3621,7 @@ redef class AForExpr redef fun visit_all(v: Visitor) do v.enter_visit(_n_kwfor) - _n_ids.visit_all(v) + n_ids.visit_all(v) v.enter_visit(_n_expr) v.enter_visit(_n_kwdo) v.enter_visit(_n_block) @@ -6326,14 +6326,14 @@ redef class ASuperstringExpr n_annotations: nullable AAnnotations ) do - _n_exprs.unsafe_add_all(n_exprs) + self.n_exprs.unsafe_add_all(n_exprs) _n_annotations = n_annotations if n_annotations != null then n_annotations.parent = self end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_exprs.replace_child(old_child, new_child) then return + if n_exprs.replace_child(old_child, new_child) then return if _n_annotations == old_child then n_annotations = new_child.as(nullable AAnnotations) return @@ -6349,7 +6349,7 @@ redef class ASuperstringExpr redef fun visit_all(v: Visitor) do - _n_exprs.visit_all(v) + n_exprs.visit_all(v) v.enter_visit(_n_annotations) end end @@ -6724,19 +6724,19 @@ redef class AListExprs n_exprs: Collection[Object] # Should be Collection[AExpr] ) do - _n_exprs.unsafe_add_all(n_exprs) + self.n_exprs.unsafe_add_all(n_exprs) end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_exprs.replace_child(old_child, new_child) then return + if n_exprs.replace_child(old_child, new_child) then return end redef fun visit_all(v: Visitor) do - _n_exprs.visit_all(v) + n_exprs.visit_all(v) end end redef class AParExprs @@ -6748,7 +6748,7 @@ redef class AParExprs do _n_opar = n_opar.as(not null) n_opar.parent = self - _n_exprs.unsafe_add_all(n_exprs) + self.n_exprs.unsafe_add_all(n_exprs) _n_cpar = n_cpar.as(not null) n_cpar.parent = self end @@ -6759,7 +6759,7 @@ redef class AParExprs n_opar = new_child.as(TOpar) return end - if _n_exprs.replace_child(old_child, new_child) then return + if n_exprs.replace_child(old_child, new_child) then return if _n_cpar == old_child then n_cpar = new_child.as(TCpar) return @@ -6781,7 +6781,7 @@ redef class AParExprs redef fun visit_all(v: Visitor) do v.enter_visit(_n_opar) - _n_exprs.visit_all(v) + n_exprs.visit_all(v) v.enter_visit(_n_cpar) end end @@ -6794,7 +6794,7 @@ redef class ABraExprs do _n_obra = n_obra.as(not null) n_obra.parent = self - _n_exprs.unsafe_add_all(n_exprs) + self.n_exprs.unsafe_add_all(n_exprs) _n_cbra = n_cbra.as(not null) n_cbra.parent = self end @@ -6805,7 +6805,7 @@ redef class ABraExprs n_obra = new_child.as(TObra) return end - if _n_exprs.replace_child(old_child, new_child) then return + if n_exprs.replace_child(old_child, new_child) then return if _n_cbra == old_child then n_cbra = new_child.as(TCbra) return @@ -6827,7 +6827,7 @@ redef class ABraExprs redef fun visit_all(v: Visitor) do v.enter_visit(_n_obra) - _n_exprs.visit_all(v) + n_exprs.visit_all(v) v.enter_visit(_n_cbra) end end @@ -6898,7 +6898,7 @@ redef class AModuleName do _n_quad = n_quad if n_quad != null then n_quad.parent = self - _n_path.unsafe_add_all(n_path) + self.n_path.unsafe_add_all(n_path) _n_id = n_id.as(not null) n_id.parent = self end @@ -6909,7 +6909,7 @@ redef class AModuleName n_quad = new_child.as(nullable TQuad) return end - if _n_path.replace_child(old_child, new_child) then return + if n_path.replace_child(old_child, new_child) then return if _n_id == old_child then n_id = new_child.as(TId) return @@ -6931,7 +6931,7 @@ redef class AModuleName redef fun visit_all(v: Visitor) do v.enter_visit(_n_quad) - _n_path.visit_all(v) + n_path.visit_all(v) v.enter_visit(_n_id) end end @@ -6943,7 +6943,7 @@ redef class AExternCalls do _n_kwimport = n_kwimport.as(not null) n_kwimport.parent = self - _n_extern_calls.unsafe_add_all(n_extern_calls) + self.n_extern_calls.unsafe_add_all(n_extern_calls) end redef fun replace_child(old_child: ANode, new_child: nullable ANode) @@ -6952,7 +6952,7 @@ redef class AExternCalls n_kwimport = new_child.as(TKwimport) return end - if _n_extern_calls.replace_child(old_child, new_child) then return + if n_extern_calls.replace_child(old_child, new_child) then return end redef fun n_kwimport=(node) @@ -6965,7 +6965,7 @@ redef class AExternCalls redef fun visit_all(v: Visitor) do v.enter_visit(_n_kwimport) - _n_extern_calls.visit_all(v) + n_extern_calls.visit_all(v) end end redef class AExternCall @@ -7406,14 +7406,14 @@ redef class AQualified n_classid: nullable TClassid ) do - _n_id.unsafe_add_all(n_id) + self.n_id.unsafe_add_all(n_id) _n_classid = n_classid if n_classid != null then n_classid.parent = self end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_id.replace_child(old_child, new_child) then return + if n_id.replace_child(old_child, new_child) then return if _n_classid == old_child then n_classid = new_child.as(nullable TClassid) return @@ -7429,7 +7429,7 @@ redef class AQualified redef fun visit_all(v: Visitor) do - _n_id.visit_all(v) + n_id.visit_all(v) v.enter_visit(_n_classid) end end @@ -7438,19 +7438,19 @@ redef class ADoc n_comment: Collection[Object] # Should be Collection[TComment] ) do - _n_comment.unsafe_add_all(n_comment) + self.n_comment.unsafe_add_all(n_comment) end redef fun replace_child(old_child: ANode, new_child: nullable ANode) do - if _n_comment.replace_child(old_child, new_child) then return + if n_comment.replace_child(old_child, new_child) then return end redef fun visit_all(v: Visitor) do - _n_comment.visit_all(v) + n_comment.visit_all(v) end end redef class AAnnotations @@ -7465,7 +7465,7 @@ redef class AAnnotations if n_at != null then n_at.parent = self _n_opar = n_opar if n_opar != null then n_opar.parent = self - _n_items.unsafe_add_all(n_items) + self.n_items.unsafe_add_all(n_items) _n_cpar = n_cpar if n_cpar != null then n_cpar.parent = self end @@ -7480,7 +7480,7 @@ redef class AAnnotations n_opar = new_child.as(nullable TOpar) return end - if _n_items.replace_child(old_child, new_child) then return + if n_items.replace_child(old_child, new_child) then return if _n_cpar == old_child then n_cpar = new_child.as(nullable TCpar) return @@ -7508,7 +7508,7 @@ redef class AAnnotations do v.enter_visit(_n_at) v.enter_visit(_n_opar) - _n_items.visit_all(v) + n_items.visit_all(v) v.enter_visit(_n_cpar) end end @@ -7525,7 +7525,7 @@ redef class AAnnotation n_atid.parent = self _n_opar = n_opar if n_opar != null then n_opar.parent = self - _n_args.unsafe_add_all(n_args) + self.n_args.unsafe_add_all(n_args) _n_cpar = n_cpar if n_cpar != null then n_cpar.parent = self _n_annotations = n_annotations @@ -7542,7 +7542,7 @@ redef class AAnnotation n_opar = new_child.as(nullable TOpar) return end - if _n_args.replace_child(old_child, new_child) then return + if n_args.replace_child(old_child, new_child) then return if _n_cpar == old_child then n_cpar = new_child.as(nullable TCpar) return @@ -7579,7 +7579,7 @@ redef class AAnnotation do v.enter_visit(_n_atid) v.enter_visit(_n_opar) - _n_args.visit_all(v) + n_args.visit_all(v) v.enter_visit(_n_cpar) v.enter_visit(_n_annotations) end diff --git a/src/parser/xss/prods.xss b/src/parser/xss/prods.xss index f20f214..1d04163 100644 --- a/src/parser/xss/prods.xss +++ b/src/parser/xss/prods.xss @@ -27,12 +27,16 @@ class @ename super ${../@ename} $ foreach {elem} $ if @is_list - readable var _n_@name: List[@etype] = new List[@etype] + var n_@name: List[@etype] = new List[@etype] $ else $ if @modifier - readable var _n_@name: nullable @etype = null + var _n_@name: nullable @etype = null + fun n_@name: nullable @etype do return _n_@name + fun n_@name=(n_@name: nullable @etype) do _n_@name = n_@name $ else - readable var _n_@name: @etype + var _n_@name: @etype = null + fun n_@name: @etype do return _n_@name + fun n_@name=(n_@name: @etype) do _n_@name = n_@name $ end $ end $ end @@ -41,16 +45,19 @@ $ end class Start super Prod - readable var _n_base: nullable $baseprod - readable var _n_eof: EOF - init( - n_base: nullable $baseprod, - n_eof: EOF) - do - _n_base = n_base - _n_eof = n_eof - end - + var _n_base: nullable $baseprod + fun n_base: nullable $baseprod do return _n_base + fun n_base=(n_base: nullable $baseprod_ do _n_base = n_base + var _n_eof: EOF + fun n_eof: EOF do return _n_eof + fun n_eof=(n_eof: EOF) do _n_eof = n_eof + init( + n_base: nullable $baseprod, + n_eof: EOF) + do + _n_base = n_base + _n_eof = n_eof + end end $ end template @@ -74,7 +81,7 @@ $ end do $ foreach {elem} $ if @is_list - _n_@{name}.unsafe_add_all(n_@{name}) + self.n_@{name}.unsafe_add_all(n_@{name}) $ else $ if {@modifier} _n_@name = n_@{name} @@ -91,7 +98,7 @@ $ end do $ foreach {elem} $ if @is_list - if _n_@{name}.replace_child(old_child, new_child) then return + if n_@{name}.replace_child(old_child, new_child) then return $ else if _n_@{name} == old_child then $ if @modifier @@ -125,7 +132,7 @@ $ end foreach do $ foreach {elem} $ if @is_list - _n_@{name}.visit_all(v) + n_@{name}.visit_all(v) $ else v.enter_visit(_n_@{name}) $ end -- 1.7.9.5