# Production AST nodes full definition.
# This file was generated by SableCC (http://www.sablecc.org/).
-package parser_prod
+module parser_prod
import lexer
intrude import parser_nodes
private import tables
-redef class ANode
- # Parent of the node in the AST
- readable writable var _parent: nullable ANode
-
- # Remove a child from the AST
- fun remove_child(child: ANode)
- do
- replace_child(child, null)
- end
-
- # Replace a child with an other node in the AST
- fun replace_child(old_child: ANode, new_child: nullable ANode) is abstract
-
- # Replace itself with an other node in the AST
- fun replace_with(node: ANode)
- do
- if _parent != null then
- _parent.replace_child(self, node)
- end
- end
-
- # Visit all nodes in order.
- # Thus, call "v.visit(e)" for each node e
- fun visit_all(v: Visitor) is abstract
-end
-
-redef class Token
- redef fun visit_all(v: Visitor) do end
- redef fun replace_child(old_child: ANode, new_child: nullable ANode) do end
-end
-
-redef class Prod
- redef fun replace_with(n: ANode)
- do
- super
- assert n isa Prod
- n.location = location
- end
-end
-
-# Abstract standard visitor
-abstract class Visitor
- # What the visitor do when a node is visited
- # Concrete visitors should redefine this method.
- protected fun visit(e: nullable ANode) is abstract
-
- # Ask the visitor to visit a given node.
- # Usually automatically called by visit_all* methods.
- # This methos should not be redefined
- fun enter_visit(e: nullable ANode)
- do
- var old = _current_node
- _current_node = e
- visit(e)
- _current_node = old
- end
-
- # The current visited node
- readable var _current_node: nullable ANode = null
-end
-
redef class AModule
private init empty_init do end
end
end
+ redef fun n_moduledecl=(node)
+ do
+ _n_moduledecl = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_moduledecl != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwmodule=(node)
+ do
+ _n_kwmodule = node
+ node.parent = self
+ end
+ redef fun n_name=(node)
+ do
+ _n_name = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwimport=(node)
+ do
+ _n_kwimport = node
+ node.parent = self
+ end
+ redef fun n_name=(node)
+ do
+ _n_name = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_visibility)
end
end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwimport=(node)
+ do
+ _n_kwimport = node
+ node.parent = self
+ end
+ redef fun n_kwend=(node)
+ do
+ _n_kwend = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_visibility)
do
end
+
+
redef fun visit_all(v: Visitor)
do
end
end
end
+ redef fun n_kwprivate=(node)
+ do
+ _n_kwprivate = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwprivate)
end
end
+ redef fun n_kwprotected=(node)
+ do
+ _n_kwprotected = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwprotected)
end
end
+ redef fun n_kwintrude=(node)
+ do
+ _n_kwintrude = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwintrude)
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_classkind=(node)
+ do
+ _n_classkind = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_extern_code_block=(node)
+ do
+ _n_extern_code_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwend=(node)
+ do
+ _n_kwend = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_propdefs do
end
end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_propdefs do
end
end
+ redef fun n_kwclass=(node)
+ do
+ _n_kwclass = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwclass)
end
end
+ redef fun n_kwabstract=(node)
+ do
+ _n_kwabstract = node
+ node.parent = self
+ end
+ redef fun n_kwclass=(node)
+ do
+ _n_kwclass = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwabstract)
end
end
+ redef fun n_kwinterface=(node)
+ do
+ _n_kwinterface = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwinterface)
end
end
+ redef fun n_kwenum=(node)
+ do
+ _n_kwenum = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwenum)
end
end
+ redef fun n_kwextern=(node)
+ do
+ _n_kwextern = node
+ node.parent = self
+ end
+ redef fun n_kwclass=(node)
+ do
+ _n_kwclass = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwextern)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_kwsuper=(node)
+ do
+ _n_kwsuper = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwsuper)
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_readable=(node)
+ do
+ _n_readable = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_writable=(node)
+ do
+ _n_writable = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwvar=(node)
+ do
+ _n_kwvar = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_id2=(node)
+ do
+ _n_id2 = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwmeth=(node)
+ do
+ _n_kwmeth = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwmeth=(node)
+ do
+ _n_kwmeth = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwmeth=(node)
+ do
+ _n_kwmeth = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+ redef fun n_extern=(node)
+ do
+ _n_extern = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_extern_calls=(node)
+ do
+ _n_extern_calls = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_extern_code_block=(node)
+ do
+ _n_extern_code_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwmeth=(node)
+ do
+ _n_kwmeth = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwinit=(node)
+ do
+ _n_kwinit = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwnew=(node)
+ do
+ _n_kwnew = node
+ node.parent = self
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_signature=(node)
+ do
+ _n_signature = node
+ node.parent = self
+ end
+ redef fun n_extern=(node)
+ do
+ _n_extern = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_extern_calls=(node)
+ do
+ _n_extern_calls = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_extern_code_block=(node)
+ do
+ _n_extern_code_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_kwredef != null then
end
end
+ redef fun n_doc=(node)
+ do
+ _n_doc = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ node.parent = self
+ end
+ redef fun n_kwtype=(node)
+ do
+ _n_kwtype = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_doc != null then
end
end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwreadable=(node)
+ do
+ _n_kwreadable = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_kwredef != null then
end
end
+ redef fun n_kwredef=(node)
+ do
+ _n_kwredef = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_visibility=(node)
+ do
+ _n_visibility = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwwritable=(node)
+ do
+ _n_kwwritable = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_kwredef != null then
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_plus=(node)
+ do
+ _n_plus = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_plus)
end
end
+ redef fun n_minus=(node)
+ do
+ _n_minus = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_minus)
end
end
+ redef fun n_star=(node)
+ do
+ _n_star = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_star)
end
end
+ redef fun n_slash=(node)
+ do
+ _n_slash = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_slash)
end
end
+ redef fun n_percent=(node)
+ do
+ _n_percent = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_percent)
end
end
+ redef fun n_eq=(node)
+ do
+ _n_eq = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_eq)
end
end
+ redef fun n_ne=(node)
+ do
+ _n_ne = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_ne)
end
end
+ redef fun n_le=(node)
+ do
+ _n_le = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_le)
end
end
+ redef fun n_ge=(node)
+ do
+ _n_ge = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_ge)
end
end
+ redef fun n_lt=(node)
+ do
+ _n_lt = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_lt)
end
end
+ redef fun n_gt=(node)
+ do
+ _n_gt = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_gt)
end
end
+ redef fun n_ll=(node)
+ do
+ _n_ll = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_ll)
end
end
+ redef fun n_gg=(node)
+ do
+ _n_gg = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_gg)
end
end
+ redef fun n_obra=(node)
+ do
+ _n_obra = node
+ node.parent = self
+ end
+ redef fun n_cbra=(node)
+ do
+ _n_cbra = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_obra)
end
end
+ redef fun n_starship=(node)
+ do
+ _n_starship = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_starship)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_obra=(node)
+ do
+ _n_obra = node
+ node.parent = self
+ end
+ redef fun n_cbra=(node)
+ do
+ _n_cbra = node
+ node.parent = self
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_obra)
n_opar: nullable TOpar,
n_params: Collection[Object], # Should be Collection[AParam]
n_cpar: nullable TCpar,
- n_type: nullable AType,
- n_closure_decls: Collection[Object] # Should be Collection[AClosureDecl]
+ n_type: nullable AType
)
do
empty_init
if n_type != null then
n_type.parent = self
end
- for n in n_closure_decls do
- assert n isa AClosureDecl
- _n_closure_decls.add(n)
- n.parent = self
- end
end
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
end
return
end
- for i in [0.._n_closure_decls.length[ do
- if _n_closure_decls[i] == old_child then
- if new_child != null then
- assert new_child isa AClosureDecl
- _n_closure_decls[i] = new_child
- new_child.parent = self
- else
- _n_closure_decls.remove_at(i)
- end
- return
- end
- end
end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_opar != null then
if _n_type != null then
v.enter_visit(_n_type.as(not null))
end
- for n in _n_closure_decls do
- v.enter_visit(n)
- end
end
end
redef class AParam
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_dotdotdot=(node)
+ do
+ _n_dotdotdot = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
end
-redef class AClosureDecl
- private init empty_init do end
-
- init init_aclosuredecl (
- n_kwbreak: nullable TKwbreak,
- n_bang: nullable TBang,
- n_id: nullable TId,
- n_signature: nullable ASignature,
- n_expr: nullable AExpr
- )
- do
- empty_init
- _n_kwbreak = n_kwbreak
- if n_kwbreak != null then
- n_kwbreak.parent = self
- end
- _n_bang = n_bang.as(not null)
- n_bang.parent = self
- _n_id = n_id.as(not null)
- n_id.parent = self
- _n_signature = n_signature.as(not null)
- n_signature.parent = self
- _n_expr = n_expr
- if n_expr != null then
- n_expr.parent = self
- end
- end
-
- redef fun replace_child(old_child: ANode, new_child: nullable ANode)
- do
- if _n_kwbreak == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TKwbreak
- _n_kwbreak = new_child
- else
- _n_kwbreak = null
- end
- return
- end
- if _n_bang == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TBang
- _n_bang = new_child
- else
- abort
- end
- return
- end
- if _n_id == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TId
- _n_id = new_child
- else
- abort
- end
- return
- end
- if _n_signature == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa ASignature
- _n_signature = new_child
- else
- abort
- end
- return
- end
- if _n_expr == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa AExpr
- _n_expr = new_child
- else
- _n_expr = null
- end
- return
- end
- end
-
- redef fun visit_all(v: Visitor)
- do
- if _n_kwbreak != null then
- v.enter_visit(_n_kwbreak.as(not null))
- end
- v.enter_visit(_n_bang)
- v.enter_visit(_n_id)
- v.enter_visit(_n_signature)
- if _n_expr != null then
- v.enter_visit(_n_expr.as(not null))
- end
- end
-end
redef class AType
private init empty_init do end
end
end
+ redef fun n_kwnullable=(node)
+ do
+ _n_kwnullable = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_kwnullable != null then
end
end
+ redef fun n_kwlabel=(node)
+ do
+ _n_kwlabel = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwlabel)
end
end
+ redef fun n_kwend=(node)
+ do
+ _n_kwend = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_expr do
end
end
+ redef fun n_kwvar=(node)
+ do
+ _n_kwvar = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwvar)
end
end
+ redef fun n_kwreturn=(node)
+ do
+ _n_kwreturn = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_kwreturn != null then
end
end
+ redef fun n_kwbreak=(node)
+ do
+ _n_kwbreak = node
+ node.parent = self
+ end
+ redef fun n_label=(node)
+ do
+ _n_label = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwbreak)
end
end
+ redef fun n_kwabort=(node)
+ do
+ _n_kwabort = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwabort)
end
end
+ redef fun n_kwcontinue=(node)
+ do
+ _n_kwcontinue = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_label=(node)
+ do
+ _n_label = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_kwcontinue != null then
end
end
+ redef fun n_kwdo=(node)
+ do
+ _n_kwdo = node
+ node.parent = self
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_label=(node)
+ do
+ _n_label = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwdo)
end
end
+ redef fun n_kwif=(node)
+ do
+ _n_kwif = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_then=(node)
+ do
+ _n_then = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_else=(node)
+ do
+ _n_else = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwif)
end
end
+ redef fun n_kwif=(node)
+ do
+ _n_kwif = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_kwthen=(node)
+ do
+ _n_kwthen = node
+ node.parent = self
+ end
+ redef fun n_then=(node)
+ do
+ _n_then = node
+ node.parent = self
+ end
+ redef fun n_kwelse=(node)
+ do
+ _n_kwelse = node
+ node.parent = self
+ end
+ redef fun n_else=(node)
+ do
+ _n_else = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwif)
end
end
+ redef fun n_kwwhile=(node)
+ do
+ _n_kwwhile = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_kwdo=(node)
+ do
+ _n_kwdo = node
+ node.parent = self
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_label=(node)
+ do
+ _n_label = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwwhile)
end
end
+ redef fun n_kwloop=(node)
+ do
+ _n_kwloop = node
+ node.parent = self
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_label=(node)
+ do
+ _n_label = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwloop)
end
end
+ redef fun n_kwfor=(node)
+ do
+ _n_kwfor = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_kwdo=(node)
+ do
+ _n_kwdo = node
+ node.parent = self
+ end
+ redef fun n_block=(node)
+ do
+ _n_block = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_label=(node)
+ do
+ _n_label = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwfor)
end
end
+ redef fun n_kwassert=(node)
+ do
+ _n_kwassert = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_else=(node)
+ do
+ _n_else = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwassert)
end
end
+ redef fun n_kwonce=(node)
+ do
+ _n_kwonce = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwonce)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
+ redef fun visit_all(v: Visitor)
+ do
+ v.enter_visit(_n_expr)
+ v.enter_visit(_n_expr2)
+ end
+end
+redef class AImpliesExpr
+ private init empty_init do end
+
+ init init_aimpliesexpr (
+ n_expr: nullable AExpr,
+ n_expr2: nullable AExpr
+ )
+ do
+ empty_init
+ _n_expr = n_expr.as(not null)
+ n_expr.parent = self
+ _n_expr2 = n_expr2.as(not null)
+ n_expr2.parent = self
+ end
+
+ redef fun replace_child(old_child: ANode, new_child: nullable ANode)
+ do
+ if _n_expr == old_child then
+ if new_child != null then
+ new_child.parent = self
+ assert new_child isa AExpr
+ _n_expr = new_child
+ else
+ abort
+ end
+ return
+ end
+ if _n_expr2 == old_child then
+ if new_child != null then
+ new_child.parent = self
+ assert new_child isa AExpr
+ _n_expr2 = new_child
+ else
+ abort
+ end
+ return
+ end
+ end
+
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_kwnot=(node)
+ do
+ _n_kwnot = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwnot)
end
end
- redef fun visit_all(v: Visitor)
- do
- v.enter_visit(_n_expr)
- v.enter_visit(_n_expr2)
- end
-end
-redef class AEeExpr
- private init empty_init do end
-
- init init_aeeexpr (
- n_expr: nullable AExpr,
- n_expr2: nullable AExpr
- )
- do
- empty_init
- _n_expr = n_expr.as(not null)
- n_expr.parent = self
- _n_expr2 = n_expr2.as(not null)
- n_expr2.parent = self
- end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
- redef fun replace_child(old_child: ANode, new_child: nullable ANode)
- do
- if _n_expr == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa AExpr
- _n_expr = new_child
- else
- abort
- end
- return
- end
- if _n_expr2 == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa AExpr
- _n_expr2 = new_child
- else
- abort
- end
- return
- end
- end
redef fun visit_all(v: Visitor)
do
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_minus=(node)
+ do
+ _n_minus = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_minus)
end
end
+ redef fun n_kwnew=(node)
+ do
+ _n_kwnew = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwnew)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_assign_op=(node)
+ do
+ _n_assign_op = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
init init_acallexpr (
n_expr: nullable AExpr,
n_id: nullable TId,
- n_args: nullable AExprs,
- n_closure_defs: Collection[Object] # Should be Collection[AClosureDef]
+ n_args: nullable AExprs
)
do
empty_init
n_id.parent = self
_n_args = n_args.as(not null)
n_args.parent = self
- for n in n_closure_defs do
- assert n isa AClosureDef
- _n_closure_defs.add(n)
- n.parent = self
- end
end
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
end
return
end
- for i in [0.._n_closure_defs.length[ do
- if _n_closure_defs[i] == old_child then
- if new_child != null then
- assert new_child isa AClosureDef
- _n_closure_defs[i] = new_child
- new_child.parent = self
- else
- _n_closure_defs.remove_at(i)
- end
- return
- end
- end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
v.enter_visit(_n_id)
v.enter_visit(_n_args)
- for n in _n_closure_defs do
- v.enter_visit(n)
- end
end
end
redef class ACallAssignExpr
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+ redef fun n_assign_op=(node)
+ do
+ _n_assign_op = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_qualified=(node)
+ do
+ _n_qualified = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwsuper=(node)
+ do
+ _n_kwsuper = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_qualified != null then
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_kwinit=(node)
+ do
+ _n_kwinit = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
init init_abraexpr (
n_expr: nullable AExpr,
- n_args: nullable AExprs,
- n_closure_defs: Collection[Object] # Should be Collection[AClosureDef]
+ n_args: nullable AExprs
)
do
empty_init
n_expr.parent = self
_n_args = n_args.as(not null)
n_args.parent = self
- for n in n_closure_defs do
- assert n isa AClosureDef
- _n_closure_defs.add(n)
- n.parent = self
- end
end
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
end
return
end
- for i in [0.._n_closure_defs.length[ do
- if _n_closure_defs[i] == old_child then
- if new_child != null then
- assert new_child isa AClosureDef
- _n_closure_defs[i] = new_child
- new_child.parent = self
- else
- _n_closure_defs.remove_at(i)
- end
- return
- end
- end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
v.enter_visit(_n_args)
- for n in _n_closure_defs do
- v.enter_visit(n)
- end
end
end
redef class ABraAssignExpr
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_args=(node)
+ do
+ _n_args = node
+ node.parent = self
+ end
+ redef fun n_assign_op=(node)
+ do
+ _n_assign_op = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
v.enter_visit(_n_value)
end
end
-redef class AClosureCallExpr
- private init empty_init do end
-
- init init_aclosurecallexpr (
- n_id: nullable TId,
- n_args: nullable AExprs,
- n_closure_defs: Collection[Object] # Should be Collection[AClosureDef]
- )
- do
- empty_init
- _n_id = n_id.as(not null)
- n_id.parent = self
- _n_args = n_args.as(not null)
- n_args.parent = self
- for n in n_closure_defs do
- assert n isa AClosureDef
- _n_closure_defs.add(n)
- n.parent = self
- end
- end
-
- redef fun replace_child(old_child: ANode, new_child: nullable ANode)
- do
- if _n_id == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TId
- _n_id = new_child
- else
- abort
- end
- return
- end
- if _n_args == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa AExprs
- _n_args = new_child
- else
- abort
- end
- return
- end
- for i in [0.._n_closure_defs.length[ do
- if _n_closure_defs[i] == old_child then
- if new_child != null then
- assert new_child isa AClosureDef
- _n_closure_defs[i] = new_child
- new_child.parent = self
- else
- _n_closure_defs.remove_at(i)
- end
- return
- end
- end
- end
-
- redef fun visit_all(v: Visitor)
- do
- v.enter_visit(_n_id)
- v.enter_visit(_n_args)
- for n in _n_closure_defs do
- v.enter_visit(n)
- end
- end
-end
redef class AVarExpr
private init empty_init do end
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_assign=(node)
+ do
+ _n_assign = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
- redef fun visit_all(v: Visitor)
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+ redef fun n_assign_op=(node)
+ do
+ _n_assign_op = node
+ node.parent = self
+ end
+ redef fun n_value=(node)
+ do
+ _n_value = node
+ node.parent = self
+ end
+
+
+ redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
v.enter_visit(_n_assign_op)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_obra=(node)
+ do
+ _n_obra = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+ redef fun n_cbra=(node)
+ do
+ _n_cbra = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_obra)
end
end
+ redef fun n_obra=(node)
+ do
+ _n_obra = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_expr2=(node)
+ do
+ _n_expr2 = node
+ node.parent = self
+ end
+ redef fun n_cbra=(node)
+ do
+ _n_cbra = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_obra)
end
end
+ redef fun n_exprs=(node)
+ do
+ _n_exprs = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_exprs)
end
end
+ redef fun n_kwself=(node)
+ do
+ _n_kwself = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwself)
do
end
+
+
redef fun visit_all(v: Visitor)
do
end
end
end
+ redef fun n_kwtrue=(node)
+ do
+ _n_kwtrue = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwtrue)
end
end
+ redef fun n_kwfalse=(node)
+ do
+ _n_kwfalse = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwfalse)
end
end
+ redef fun n_kwnull=(node)
+ do
+ _n_kwnull = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwnull)
end
end
+ redef fun n_number=(node)
+ do
+ _n_number = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_number)
end
end
+ redef fun n_float=(node)
+ do
+ _n_float = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_float)
end
end
+ redef fun n_char=(node)
+ do
+ _n_char = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_char)
end
end
+ redef fun n_string=(node)
+ do
+ _n_string = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_string)
end
end
+ redef fun n_string=(node)
+ do
+ _n_string = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_string)
end
end
+ redef fun n_string=(node)
+ do
+ _n_string = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_string)
end
end
+ redef fun n_string=(node)
+ do
+ _n_string = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_string)
end
end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_exprs do
end
end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ node.parent = self
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_opar)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_kwas=(node)
+ do
+ _n_kwas = node
+ node.parent = self
+ end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_kwas=(node)
+ do
+ _n_kwas = node
+ node.parent = self
+ end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ node.parent = self
+ end
+ redef fun n_kwnot=(node)
+ do
+ _n_kwnot = node
+ node.parent = self
+ end
+ redef fun n_kwnull=(node)
+ do
+ _n_kwnull = node
+ node.parent = self
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_kwisset=(node)
+ do
+ _n_kwisset = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwisset)
end
end
+ redef fun n_kwdebug=(node)
+ do
+ _n_kwdebug = node
+ node.parent = self
+ end
+ redef fun n_kwtype=(node)
+ do
+ _n_kwtype = node
+ node.parent = self
+ end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwdebug)
end
end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_exprs do
end
end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ node.parent = self
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_opar)
end
end
+ redef fun n_obra=(node)
+ do
+ _n_obra = node
+ node.parent = self
+ end
+ redef fun n_cbra=(node)
+ do
+ _n_cbra = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_obra)
end
end
+ redef fun n_pluseq=(node)
+ do
+ _n_pluseq = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_pluseq)
end
end
- redef fun visit_all(v: Visitor)
- do
- v.enter_visit(_n_minuseq)
- end
-end
-redef class AClosureDef
- private init empty_init do end
-
- init init_aclosuredef (
- n_bang: nullable TBang,
- n_id: nullable AClosureId,
- n_ids: Collection[Object], # Should be Collection[TId]
- n_kwdo: nullable TKwdo,
- n_expr: nullable AExpr,
- n_label: nullable ALabel
- )
- do
- empty_init
- _n_bang = n_bang.as(not null)
- n_bang.parent = self
- _n_id = n_id.as(not null)
- n_id.parent = self
- for n in n_ids do
- assert n isa TId
- _n_ids.add(n)
- n.parent = self
- end
- _n_kwdo = n_kwdo
- if n_kwdo != null then
- n_kwdo.parent = self
- end
- _n_expr = n_expr
- if n_expr != null then
- n_expr.parent = self
- end
- _n_label = n_label
- if n_label != null then
- n_label.parent = self
- end
- end
-
- redef fun replace_child(old_child: ANode, new_child: nullable ANode)
- do
- if _n_bang == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TBang
- _n_bang = new_child
- else
- abort
- end
- return
- end
- if _n_id == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa AClosureId
- _n_id = new_child
- else
- abort
- end
- return
- end
- for i in [0.._n_ids.length[ do
- if _n_ids[i] == old_child then
- if new_child != null then
- assert new_child isa TId
- _n_ids[i] = new_child
- new_child.parent = self
- else
- _n_ids.remove_at(i)
- end
- return
- end
- end
- if _n_kwdo == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TKwdo
- _n_kwdo = new_child
- else
- _n_kwdo = null
- end
- return
- end
- if _n_expr == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa AExpr
- _n_expr = new_child
- else
- _n_expr = null
- end
- return
- end
- if _n_label == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa ALabel
- _n_label = new_child
- else
- _n_label = null
- end
- return
- end
- end
-
- redef fun visit_all(v: Visitor)
- do
- v.enter_visit(_n_bang)
- v.enter_visit(_n_id)
- for n in _n_ids do
- v.enter_visit(n)
- end
- if _n_kwdo != null then
- v.enter_visit(_n_kwdo.as(not null))
- end
- if _n_expr != null then
- v.enter_visit(_n_expr.as(not null))
- end
- if _n_label != null then
- v.enter_visit(_n_label.as(not null))
- end
- end
-end
-redef class ASimpleClosureId
- private init empty_init do end
-
- init init_asimpleclosureid (
- n_id: nullable TId
- )
- do
- empty_init
- _n_id = n_id.as(not null)
- n_id.parent = self
- end
-
- redef fun replace_child(old_child: ANode, new_child: nullable ANode)
- do
- if _n_id == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TId
- _n_id = new_child
- else
- abort
- end
- return
- end
- end
-
- redef fun visit_all(v: Visitor)
- do
- v.enter_visit(_n_id)
- end
-end
-redef class ABreakClosureId
- private init empty_init do end
-
- init init_abreakclosureid (
- n_kwbreak: nullable TKwbreak
- )
- do
- empty_init
- _n_kwbreak = n_kwbreak.as(not null)
- n_kwbreak.parent = self
- end
+ redef fun n_minuseq=(node)
+ do
+ _n_minuseq = node
+ node.parent = self
+ end
- redef fun replace_child(old_child: ANode, new_child: nullable ANode)
- do
- if _n_kwbreak == old_child then
- if new_child != null then
- new_child.parent = self
- assert new_child isa TKwbreak
- _n_kwbreak = new_child
- else
- abort
- end
- return
- end
- end
redef fun visit_all(v: Visitor)
do
- v.enter_visit(_n_kwbreak)
+ v.enter_visit(_n_minuseq)
end
end
redef class AModuleName
end
end
+ redef fun n_quad=(node)
+ do
+ _n_quad = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_quad != null then
end
end
+ redef fun n_kwimport=(node)
+ do
+ _n_kwimport = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwimport)
do
end
+
+
redef fun visit_all(v: Visitor)
do
end
end
end
+ redef fun n_kwsuper=(node)
+ do
+ _n_kwsuper = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwsuper)
end
end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_methid)
private init empty_init do end
init init_afullpropexterncall (
- n_classid: nullable TClassid,
- n_quad: nullable TQuad,
+ n_type: nullable AType,
+ n_dot: nullable TDot,
n_methid: nullable AMethid
)
do
empty_init
- _n_classid = n_classid.as(not null)
- n_classid.parent = self
- _n_quad = n_quad
- if n_quad != null then
- n_quad.parent = self
+ _n_type = n_type.as(not null)
+ n_type.parent = self
+ _n_dot = n_dot
+ if n_dot != null then
+ n_dot.parent = self
end
_n_methid = n_methid.as(not null)
n_methid.parent = self
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
do
- if _n_classid == old_child then
+ if _n_type == old_child then
if new_child != null then
new_child.parent = self
- assert new_child isa TClassid
- _n_classid = new_child
+ assert new_child isa AType
+ _n_type = new_child
else
abort
end
return
end
- if _n_quad == old_child then
+ if _n_dot == old_child then
if new_child != null then
new_child.parent = self
- assert new_child isa TQuad
- _n_quad = new_child
+ assert new_child isa TDot
+ _n_dot = new_child
else
- _n_quad = null
+ _n_dot = null
end
return
end
end
end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_dot=(node)
+ do
+ _n_dot = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_methid=(node)
+ do
+ _n_methid = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
- v.enter_visit(_n_classid)
- if _n_quad != null then
- v.enter_visit(_n_quad.as(not null))
+ v.enter_visit(_n_type)
+ if _n_dot != null then
+ v.enter_visit(_n_dot.as(not null))
end
v.enter_visit(_n_methid)
end
private init empty_init do end
init init_ainitpropexterncall (
- n_classid: nullable TClassid
+ n_type: nullable AType
)
do
empty_init
- _n_classid = n_classid.as(not null)
- n_classid.parent = self
+ _n_type = n_type.as(not null)
+ n_type.parent = self
end
redef fun replace_child(old_child: ANode, new_child: nullable ANode)
do
- if _n_classid == old_child then
+ if _n_type == old_child then
if new_child != null then
new_child.parent = self
- assert new_child isa TClassid
- _n_classid = new_child
+ assert new_child isa AType
+ _n_type = new_child
else
abort
end
end
end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
- v.enter_visit(_n_classid)
+ v.enter_visit(_n_type)
end
end
redef class ACastAsExternCall
init init_acastasexterncall (
n_from_type: nullable AType,
+ n_dot: nullable TDot,
n_kwas: nullable TKwas,
n_to_type: nullable AType
)
empty_init
_n_from_type = n_from_type.as(not null)
n_from_type.parent = self
+ _n_dot = n_dot
+ if n_dot != null then
+ n_dot.parent = self
+ end
_n_kwas = n_kwas.as(not null)
n_kwas.parent = self
_n_to_type = n_to_type.as(not null)
end
return
end
+ if _n_dot == old_child then
+ if new_child != null then
+ new_child.parent = self
+ assert new_child isa TDot
+ _n_dot = new_child
+ else
+ _n_dot = null
+ end
+ return
+ end
if _n_kwas == old_child then
if new_child != null then
new_child.parent = self
end
end
+ redef fun n_from_type=(node)
+ do
+ _n_from_type = node
+ node.parent = self
+ end
+ redef fun n_dot=(node)
+ do
+ _n_dot = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_kwas=(node)
+ do
+ _n_kwas = node
+ node.parent = self
+ end
+ redef fun n_to_type=(node)
+ do
+ _n_to_type = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_from_type)
+ if _n_dot != null then
+ v.enter_visit(_n_dot.as(not null))
+ end
v.enter_visit(_n_kwas)
v.enter_visit(_n_to_type)
end
end
end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_kwas=(node)
+ do
+ _n_kwas = node
+ node.parent = self
+ end
+ redef fun n_kwnullable=(node)
+ do
+ _n_kwnullable = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_type)
end
end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+ redef fun n_kwas=(node)
+ do
+ _n_kwas = node
+ node.parent = self
+ end
+ redef fun n_kwnot=(node)
+ do
+ _n_kwnot = node
+ node.parent = self
+ end
+ redef fun n_kwnullable=(node)
+ do
+ _n_kwnullable = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_type)
end
end
+ redef fun n_kwin=(node)
+ do
+ _n_kwin = node
+ node.parent = self
+ end
+ redef fun n_string=(node)
+ do
+ _n_string = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwin)
end
end
+ redef fun n_in_language=(node)
+ do
+ _n_in_language = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_extern_code_segment=(node)
+ do
+ _n_extern_code_segment = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_in_language != null then
end
end
+ redef fun n_classid=(node)
+ do
+ _n_classid = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_id do
end
end
+
+
redef fun visit_all(v: Visitor)
do
for n in _n_comment do
end
end
+ redef fun n_at=(node)
+ do
+ _n_at = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
if _n_at != null then
end
end
+ redef fun n_atid=(node)
+ do
+ _n_atid = node
+ node.parent = self
+ end
+ redef fun n_opar=(node)
+ do
+ _n_opar = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_cpar=(node)
+ do
+ _n_cpar = node
+ if node != null then
+ node.parent = self
+ end
+ end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ if node != null then
+ node.parent = self
+ end
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_atid)
end
end
+ redef fun n_type=(node)
+ do
+ _n_type = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_type)
end
end
+ redef fun n_expr=(node)
+ do
+ _n_expr = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_expr)
end
end
+ redef fun n_annotations=(node)
+ do
+ _n_annotations = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_annotations)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)
end
end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_id)