From fe5738aed9af78deba48680571bcea789ee963ea Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Wed, 24 Jun 2009 22:27:08 -0400 Subject: [PATCH] nullable: convert lib, tools and tests Add nullable, as(not null) and cie to libs, nitc, nitdoc and tests such that they compile and run without nullable-related warnings. Signed-off-by: Jean Privat --- lib/opts.nit | 20 +- lib/standard/abstract_collection.nit | 7 +- lib/standard/array.nit | 4 +- lib/standard/exec.nit | 2 +- lib/standard/file.nit | 9 +- lib/standard/hash.nit | 19 +- lib/standard/kernel.nit | 4 +- lib/standard/list.nit | 16 +- lib/standard/stream.nit | 2 +- lib/standard/string.nit | 8 +- lib/standard/string_search.nit | 7 +- src/compiling/compiling_base.nit | 26 +- src/compiling/compiling_global.nit | 42 +- src/compiling/compiling_methods.nit | 116 +- src/metamodel/abstractmetamodel.nit | 94 +- src/metamodel/genericity.nit | 8 +- src/metamodel/inheritance.nit | 20 +- src/metamodel/partial_order.nit | 18 +- src/metamodel/static_type.nit | 97 +- src/metamodel/type_formal.nit | 14 +- src/metamodel/vararg.nit | 2 +- src/metamodel/virtualtype.nit | 10 +- src/mmloader.nit | 11 +- src/nitc.nit | 4 +- src/nitdoc.nit | 44 +- src/parser/lexer.nit | 8 +- src/parser/parser.nit | 9263 +++++++++++++++++----------------- src/parser/parser_abs.nit | 602 +-- src/parser/parser_nodes.nit | 414 +- src/parser/parser_prod.nit | 6001 ++++++++-------------- src/parser/parser_tables.nit | 6 +- src/parser/xss/lexer.xss | 8 +- src/parser/xss/nodes.xss | 12 +- src/parser/xss/parser.xss | 39 +- src/parser/xss/prods.xss | 52 +- src/syntax/control_flow.nit | 12 +- src/syntax/escape.nit | 14 +- src/syntax/mmbuilder.nit | 155 +- src/syntax/syntax_base.nit | 99 +- src/syntax/typing.nit | 252 +- tests/base_eq.nit | 2 +- tests/test_kernel.nit | 2 +- tests/test_operators.nit | 2 +- tests/test_print.nit | 2 +- 44 files changed, 7853 insertions(+), 9696 deletions(-) diff --git a/lib/opts.nit b/lib/opts.nit index b4da3f5..5f409e8 100644 --- a/lib/opts.nit +++ b/lib/opts.nit @@ -17,7 +17,7 @@ class Option readable attr _names: Array[String] # Type of the value of the option - type VALUE: Object + type VALUE: nullable Object # Human readable description of the option readable attr _helptext: String @@ -25,17 +25,17 @@ class Option # Is this option mandatory? readable writable attr _mandatory: Bool - # context where the option is located - readable writable attr _context: OptionContext + # Current value of this option + writable attr _value: nullable VALUE # Current value of this option - readable writable attr _value: VALUE + meth value: VALUE do return _value.as(VALUE) # Default value of this option - readable writable attr _default_value: VALUE + readable writable attr _default_value: nullable VALUE # Create a new option - init init_opt(help: String, default: VALUE, names: Array[String]) + init init_opt(help: String, default: nullable VALUE, names: nullable Array[String]) do if names == null then _names = new Array[String] @@ -113,7 +113,6 @@ special Option redef meth read_param(it) do - assert context != null if it.is_ok then value = convert(it.item) it.next @@ -127,7 +126,7 @@ end class OptionString special OptionParameter - redef type VALUE: String + redef type VALUE: nullable String init(help: String, names: String...) do init_opt(help, null, names) @@ -141,7 +140,7 @@ special OptionParameter init(enum: Array[String], help: String, default: Int, names: String...) do - assert enum != null and enum.length > 0 + assert enum.length > 0 _enum = enum.to_a init_opt("{help} <{enum.join(", ")}>", default, names) end @@ -155,7 +154,7 @@ special OptionParameter redef meth pretty_default do if default_value != null then - return " ({_enum[default_value]})" + return " ({_enum[default_value.as(not null)]})" else return "" end @@ -246,7 +245,6 @@ class OptionContext meth add_option(opts: Option...) do for opt in opts do - opt.context = self _options.add(opt) end end diff --git a/lib/standard/abstract_collection.nit b/lib/standard/abstract_collection.nit index 0f88388..10fafb7 100644 --- a/lib/standard/abstract_collection.nit +++ b/lib/standard/abstract_collection.nit @@ -186,7 +186,7 @@ special RemovableCollection[E] meth add(item: E) is abstract # Add each item of `coll`. - meth add_all(coll: Collection[E]) do if coll != null then for i in coll do add(i) + meth add_all(coll: Collection[E]) do for i in coll do add(i) end # Abstract sets. @@ -346,7 +346,7 @@ special SimpleCollection[E] meth push(e: E) is abstract # Add each item of `coll` after the last. - meth append(coll: Collection[E]) do if coll != null then for i in coll do push(i) + meth append(coll: Collection[E]) do for i in coll do push(i) # Remove the last item. meth pop: E is abstract @@ -375,7 +375,7 @@ interface CoupleMap[K, E] special Map[K, E] # Return the couple of the corresponding key # Return null if the key is no associated element - protected meth couple_at(key: K): Couple[K, E] is abstract + protected meth couple_at(key: K): nullable Couple[K, E] is abstract redef meth [](key) do @@ -406,7 +406,6 @@ special MapIterator[K, E] redef meth next do _iter.next - while _iter.is_ok and _iter.item == null do _iter.next end attr _iter: Iterator[Couple[K,E]] diff --git a/lib/standard/array.nit b/lib/standard/array.nit index d95911b..a4b7190 100644 --- a/lib/standard/array.nit +++ b/lib/standard/array.nit @@ -129,7 +129,6 @@ special IndexedCollectionRead[E] redef meth ==(o) do if not o isa AbstractArray[E] or o is null then return false - assert o isa AbstractArray[E] var l = length if o.length != l then return false var i = 0 @@ -306,7 +305,7 @@ special ArrayCapable[E] end # The internal storage. - attr _items: NativeArray[E] = null + attr _items: nullable NativeArray[E] = null # The size of `_items'. attr _capacity: Int = 0 @@ -325,7 +324,6 @@ special IndexedIterator[E] init(a: AbstractArrayRead[E]) do - assert not_nil: a != null _array = a _index = 0 end diff --git a/lib/standard/exec.nit b/lib/standard/exec.nit index 72dd195..0bc9783 100644 --- a/lib/standard/exec.nit +++ b/lib/standard/exec.nit @@ -59,7 +59,7 @@ class Process end # Internal code to handle execusion - protected init execute(command: String, arguments: Array[String], pipeflags: Int) + protected init execute(command: String, arguments: nullable Array[String], pipeflags: Int) do var args = new Buffer var l = 1 # Number of elements in args diff --git a/lib/standard/file.nit b/lib/standard/file.nit index e6df753..bbb45d2 100644 --- a/lib/standard/file.nit +++ b/lib/standard/file.nit @@ -31,9 +31,7 @@ redef class Object # Print an `object' on the standard output (`stdout') and add a newline. protected meth print(object: Object) do - if object != null then - stdout.write(object.to_s) - end + stdout.write(object.to_s) stdout.write("\n") end @@ -54,12 +52,11 @@ end class FStream special IOS special NativeFileCapable - # The path of the file. - readable attr _path: String = null + readable attr _path: nullable String = null # The FILE *. - attr _file: NativeFile = null + attr _file: nullable NativeFile = null meth file_stat: FileStat do return _file.file_stat end diff --git a/lib/standard/hash.nit b/lib/standard/hash.nit index 6f3ef42..363c38a 100644 --- a/lib/standard/hash.nit +++ b/lib/standard/hash.nit @@ -63,25 +63,24 @@ end # A HashCollection is an array of HashNode[K] indexed by the K hash value private class HashCollection[K: Object, N: HashNode[K], E] special Collection[E] -special ArrayCapable[N] - attr _array: NativeArray[N] = null # Used to store items +special ArrayCapable[nullable N] + attr _array: nullable NativeArray[nullable N] = null # Used to store items attr _capacity: Int = 0 # Size of _array redef readable attr _length: Int = 0 # Number of items in the map - readable attr _first_item: N = null # First added item (used to visit items in nice order) - attr _last_item: N = null # Last added item (same) + readable attr _first_item: nullable N = null # First added item (used to visit items in nice order) + attr _last_item: nullable N = null # Last added item (same) # The last index accessed attr _last_accessed_index: Int = -1 # The last key accessed - attr _last_accessed_key: K = null + attr _last_accessed_key: nullable K = null # Return the index of the k element meth index_at(k: K): Int do var arr = _array - assert k != null # Fisrt step: look in the last indexed elt if k == _last_accessed_key then return _last_accessed_index @@ -221,8 +220,8 @@ end private class HashNode[K] meth key: K is abstract type N: HashNode[K] - readable writable attr _next_item: N = null - readable writable attr _prev_item: N = null + readable writable attr _next_item: nullable N = null + readable writable attr _prev_item: nullable N = null end class HashMap[K, V] @@ -358,7 +357,7 @@ special MapIterator[K, V] attr _map: HashMap[K, V] # The current node - attr _node: HashMapNode[K, V] + attr _node: nullable HashMapNode[K, V] init(map: HashMap[K, V]) do @@ -441,7 +440,7 @@ special Iterator[E] attr _set: HashSet[E] # The position in the internal map storage - attr _node: HashSetNode[E] + attr _node: nullable HashSetNode[E] init(set: HashSet[E]) do diff --git a/lib/standard/kernel.nit b/lib/standard/kernel.nit index 1377c71..80a1282 100644 --- a/lib/standard/kernel.nit +++ b/lib/standard/kernel.nit @@ -32,12 +32,12 @@ interface Object # Have `self' and `other' the same value? ## # Implicitely, the default implementation, is == - meth ==(other: Object): Bool do return self is other + meth ==(other: nullable Object): Bool do return self is other # Have `self' and `other' different values? ## # != is equivament with "not =". - meth !=(other: Object): Bool do return not (self == other) + meth !=(other: nullable Object): Bool do return not (self == other) # Display self on stdout (debug only). meth output diff --git a/lib/standard/list.nit b/lib/standard/list.nit index 97caba4..6a0fd19 100644 --- a/lib/standard/list.nit +++ b/lib/standard/list.nit @@ -179,13 +179,13 @@ special IndexedCollection[E] init from(coll: Collection[E]) do append(coll) # The first node of the list - attr _head: ListNode[E] + attr _head: nullable ListNode[E] # The last node of the list - attr _tail: ListNode[E] + attr _tail: nullable ListNode[E] # Get the `i'th node. get `null' otherwise. - private meth get_node(i: Int): ListNode[E] + private meth get_node(i: Int): nullable ListNode[E] do var n = _head if i < 0 then @@ -199,7 +199,7 @@ special IndexedCollection[E] end # get the first node that contains e after 'after', null otherwise - private meth search_node_after(e: E, after: ListNode[E]): ListNode[E] + private meth search_node_after(e: E, after: nullable ListNode[E]): nullable ListNode[E] do var n = after while n != null and n.item != e do n = n.next @@ -256,14 +256,14 @@ special IndexedIterator[E] end # Build a new iterator from `node'. - private init(node: ListNode[E]) + private init(node: nullable ListNode[E]) do _node = node _index = 0 end # The current node of the list - attr _node: ListNode[E] + attr _node: nullable ListNode[E] # The index of the current node redef readable attr _index: Int @@ -278,8 +278,8 @@ special Container[E] end # The next node. - readable writable attr _next: ListNode[E] + readable writable attr _next: nullable ListNode[E] # The previous node. - readable writable attr _prev: ListNode[E] + readable writable attr _prev: nullable ListNode[E] end diff --git a/lib/standard/stream.nit b/lib/standard/stream.nit index 3204e84..45c9f32 100644 --- a/lib/standard/stream.nit +++ b/lib/standard/stream.nit @@ -184,7 +184,7 @@ special IStream redef meth eof do return _buffer_pos >= _buffer.length and end_reached # The buffer - attr _buffer: Buffer = null + attr _buffer: nullable Buffer = null # The current position in the buffer attr _buffer_pos: Int = 0 diff --git a/lib/standard/string.nit b/lib/standard/string.nit index 3b0065c..a55e72a 100644 --- a/lib/standard/string.nit +++ b/lib/standard/string.nit @@ -188,7 +188,6 @@ special AbstractString redef meth ==(o) do if not o isa String or o is null then return false - assert o isa String var l = length if o.length != l then return false var i = 0 @@ -359,7 +358,6 @@ special AbstractArray[Char] redef meth ==(o) do if not o isa Buffer or o is null then return false - assert o isa Buffer var l = length if o.length != l then return false var i = 0 @@ -589,14 +587,14 @@ class StringCapable end redef class Sys - attr _args_cache: IndexedCollection[String] + attr _args_cache: nullable IndexedCollection[String] redef meth args: IndexedCollection[String] do if _args_cache == null then init_args - return _args_cache + return _args_cache.as(not null) end - + # The name of the program as given by the OS meth program_name: String do diff --git a/lib/standard/string_search.nit b/lib/standard/string_search.nit index 94282aa..9279fc2 100644 --- a/lib/standard/string_search.nit +++ b/lib/standard/string_search.nit @@ -25,7 +25,7 @@ class Pattern # Search `self' into `s' from a certain position. # Return null if not found. - meth search_in(s: String, from: Int): Match is abstract + meth search_in(s: String, from: Int): nullable Match is abstract # Search all `self' occucences into `s'. meth search_all_in(s: String): Array[Match] @@ -220,7 +220,6 @@ class Match # Matches `len' characters of `s' from `f'. init(s: String, f: Int, len: Int) do - assert non_null_string: s != null assert positive_length: len >= 0 assert valid_from: f >= 0 assert valid_after: f + len <= s.length @@ -281,12 +280,12 @@ special Pattern end # Like `search_from' but from the first chararter. - meth search(p: Pattern): Match do return p.search_in(self, 0) + meth search(p: Pattern): nullable Match do return p.search_in(self, 0) # Search the given pattern into self from a. # The search starts at `from'. # Return null if not found. - meth search_from(p: Pattern, from: Int): Match do return p.search_in(self, from) + meth search_from(p: Pattern, from: Int): nullable Match do return p.search_in(self, from) # Search all occurences of p into self. # diff --git a/src/compiling/compiling_base.nit b/src/compiling/compiling_base.nit index 20aa0b5..3fcdf8d 100644 --- a/src/compiling/compiling_base.nit +++ b/src/compiling/compiling_base.nit @@ -21,14 +21,14 @@ import syntax private import utils redef class ToolContext - readable writable attr _global: Bool = false - readable writable attr _compdir: String - readable writable attr _clibdir: String - readable writable attr _bindir: String - readable writable attr _output_file: String + readable writable attr _global: Bool = false + readable writable attr _compdir: nullable String = null + readable writable attr _clibdir: nullable String = null + readable writable attr _bindir: nullable String = null + readable writable attr _output_file: nullable String = null readable writable attr _boost: Bool = false readable writable attr _no_cc: Bool = false - readable writable attr _ext_prefix: String + readable writable attr _ext_prefix: String = "" end # Class used to generate files. @@ -163,7 +163,7 @@ end redef class MMLocalClass # Cached primitive_info result - attr _primitive_info_cache: PrimitiveInfo + attr _primitive_info_cache: nullable PrimitiveInfo = null # If primitive_info result cached? attr _primitive_info_b: Bool = false @@ -171,7 +171,7 @@ redef class MMLocalClass # Return the primitive information of the class. # Return null if the class is not primitive # FIXME: Only here since there is no universal type yet - meth primitive_info: PrimitiveInfo + meth primitive_info: nullable PrimitiveInfo do if _primitive_info_b == true then return _primitive_info_cache @@ -288,15 +288,17 @@ end redef class MMLocalProperty # Cacher result of cname - attr _cname_cache: String + attr _cname_cache: nullable String # The mangled name of the method meth cname: String do - if _cname_cache == null then - _cname_cache = cmangle(module.name, local_class.name, name) + var cname = _cname_cache + if cname == null then + cname = cmangle(module.name, local_class.name, name) + _cname_cache = cname end - return _cname_cache + return cname end # C macro used to get the function for the call of a super property diff --git a/src/compiling/compiling_global.nit b/src/compiling/compiling_global.nit index c81ee97..96837be 100644 --- a/src/compiling/compiling_global.nit +++ b/src/compiling/compiling_global.nit @@ -23,7 +23,7 @@ private import syntax # Something that store color of table elements class ColorContext - attr _colors: HashMap[TableElt, Int] = null + attr _colors: HashMap[TableElt, Int] = new HashMap[TableElt, Int] # The color of a table element. meth color(e: TableElt): Int @@ -34,13 +34,12 @@ class ColorContext # Is a table element already colored? meth has_color(e: TableElt): Bool do - return _colors != null and _colors.has_key(e) + return _colors.has_key(e) end # Assign a color to a table element. meth color=(e: TableElt, c: Int) do - if _colors == null then _colors = new HashMap[TableElt, Int] _colors[e] = c var idx = c for i in [0..e.length[ do @@ -60,7 +59,7 @@ special ColorContext readable attr _module: MMModule # FIXME: do something better. - readable writable attr _max_class_table_length: Int + readable writable attr _max_class_table_length: Int = 0 init(module: MMSrcModule) do @@ -86,26 +85,27 @@ special ColorContext readable attr _local_class: MMLocalClass # The identifier of the class - readable writable attr _id: Int + readable writable attr _id: Int = 0 # The full class table of the class - readable attr _class_table: Array[TableElt] = new Array[TableElt] + readable attr _class_table: Array[nullable TableElt] = new Array[nullable TableElt] # The full instance table of the class - readable attr _instance_table: Array[TableElt] = new Array[TableElt] + readable attr _instance_table: Array[nullable TableElt] = new Array[nullable TableElt] # The proper class table part (no superclasses but all refinements) - readable attr _class_layout: TableEltComposite = new TableEltComposite(self) + readable writable attr _class_layout: TableEltComposite = new TableEltComposite(self) # The proper instance table part (no superclasses but all refinements) - readable attr _instance_layout: TableEltComposite = new TableEltComposite(self) + readable writable attr _instance_layout: TableEltComposite = new TableEltComposite(self) init(c: MMLocalClass) do _local_class = c end redef class MMSrcLocalClass # The table element of the subtype check - readable attr _class_color_pos: TableEltClassColor + meth class_color_pos: TableEltClassColor do return _class_color_pos.as(not null) + attr _class_color_pos: nullable TableEltClassColor # The proper local class table part (nor superclasses nor refinments) readable attr _class_layout: Array[TableElt] = new Array[TableElt] @@ -121,8 +121,9 @@ redef class MMSrcLocalClass if global.intro == self then module_table.add(new TableEltClassId(self)) - _class_color_pos = new TableEltClassColor(self) - module_table.add(_class_color_pos) + var cpp = new TableEltClassColor(self) + _class_color_pos = cpp + module_table.add(cpp) clt.add(new TableEltClassInitTable(self)) end for p in src_local_properties do @@ -318,7 +319,7 @@ redef class MMSrcModule return ga end - private meth append_to_table(cc: ColorContext, table: Array[TableElt], cmp: TableEltComposite) + private meth append_to_table(cc: ColorContext, table: Array[nullable TableElt], cmp: TableEltComposite) do for j in [0..cmp.length[ do var e = cmp.item(j) @@ -327,7 +328,7 @@ redef class MMSrcModule end end - private meth build_tables_in(table: Array[TableElt], ga: GlobalAnalysis, c: MMLocalClass, elts: Array[TableElt]) + private meth build_tables_in(table: Array[nullable TableElt], ga: GlobalAnalysis, c: MMLocalClass, elts: Array[TableElt]) do var tab = new HashMap[Int, TableElt] var len = 0 @@ -455,12 +456,11 @@ redef class MMSrcModule print("No main") else var sys = class_by_name(sysname) - # var initm = sys.select_method(once "init".to_symbol) - var mainm = sys.select_method(once "main".to_symbol) - if mainm == null then + var name = once "main".to_symbol + if not sys.has_global_property_by_name(name) then print("No main") else - #v.add_instr("G_sys = NEW_{initm.cname}();") + var mainm = sys.select_method(name) v.add_instr("G_sys = NEW_Sys();") v.add_instr("{mainm.cname}(G_sys);") end @@ -627,8 +627,7 @@ special TableEltProp end end end - assert false - return null + abort end end @@ -874,7 +873,7 @@ redef class MMLocalClass var ctx_old = v.ctx v.ctx = new CContext - var self_var = new ParamVariable(null, null) + var self_var = new ParamVariable(once ("self".to_symbol), null) var self_var_cname = v.cfc.register_variable(self_var) v.nmc.method_params = [self_var] @@ -890,7 +889,6 @@ redef class MMLocalClass # FIXME: Not compatible with sep compilation assert p isa MMSrcAttribute var np = p.node - assert np isa AAttrPropdef var ne = np.n_expr if ne != null then var e = ne.compile_expr(v) diff --git a/src/compiling/compiling_methods.nit b/src/compiling/compiling_methods.nit index 3f79777..65c05b3 100644 --- a/src/compiling/compiling_methods.nit +++ b/src/compiling/compiling_methods.nit @@ -22,7 +22,7 @@ private import syntax redef class CompilerVisitor # Compile a statment node - meth compile_stmt(n: PExpr) + meth compile_stmt(n: nullable PExpr) do if n == null then return #add_instr("/* Compile stmt {n.locate} */") @@ -67,9 +67,9 @@ redef class CompilerVisitor end end - readable writable attr _cfc: CFunctionContext + readable writable attr _cfc: nullable CFunctionContext - readable writable attr _nmc: NitMethodContext + readable writable attr _nmc: nullable NitMethodContext # C outputs written outside the current C function. readable writable attr _out_contexts: Array[CContext] = new Array[CContext] @@ -85,7 +85,7 @@ redef class CompilerVisitor return s.to_s end - meth invoke_super_init_calls_after(start_prop: MMMethod) + meth invoke_super_init_calls_after(start_prop: nullable MMMethod) do var n = nmc.method.node assert n isa AConcreteInitPropdef @@ -107,7 +107,7 @@ redef class CompilerVisitor end j += 1 end - var stop_prop: MMMethod = null + var stop_prop: nullable MMMethod = null if j < n.explicit_super_init_calls.length then stop_prop = n.explicit_super_init_calls[j] end @@ -120,7 +120,7 @@ redef class CompilerVisitor if p.signature.arity == 0 then cargs.add(cfc.varname(nmc.method_params[0])) else - for va in nmc.method_params do + for va in nmc.method_params.as(not null) do cargs.add(cfc.varname(va)) end end @@ -152,7 +152,7 @@ class CFunctionContext attr _varindexes: Map[Variable, Int] = new HashMap[Variable, Int] # Are we currenlty in a closure definition? - readable writable attr _closure: NitMethodContext = null + readable writable attr _closure: nullable NitMethodContext = null # Return the cvariable of a Nit variable meth varname(v: Variable): String @@ -165,7 +165,7 @@ class CFunctionContext end # Return the next available variable - meth get_var(comment: String): String + meth get_var(comment: nullable String): String do var v = variable(_variable_index) _variable_index = _variable_index + 1 @@ -272,30 +272,30 @@ end # A Nit method currenlty compiled class NitMethodContext # Current method compiled - readable attr _method: MMSrcMethod + readable attr _method: nullable MMSrcMethod # Association between parameters and the corresponding variables - readable writable attr _method_params: Array[ParamVariable] + readable writable attr _method_params: nullable Array[ParamVariable] # Where a nit return must branch - readable writable attr _return_label: String - + readable writable attr _return_label: nullable String + # Where a nit break must branch - readable writable attr _break_label: String - + readable writable attr _break_label: nullable String + # Where a nit continue must branch - readable writable attr _continue_label: String + readable writable attr _continue_label: nullable String # Variable where a functionnal nit return must store its value - readable writable attr _return_value: String + readable writable attr _return_value: nullable String # Variable where a functionnal nit break must store its value - readable writable attr _break_value: String + readable writable attr _break_value: nullable String # Variable where a functionnal nit continue must store its value - readable writable attr _continue_value: String + readable writable attr _continue_value: nullable String - init(method: MMSrcMethod) + init(method: nullable MMSrcMethod) do _method = method end @@ -304,7 +304,7 @@ end ############################################################################### redef class ClosureVariable - readable writable attr _ctypename: String + readable writable attr _ctypename: nullable String end redef class MMMethod @@ -331,7 +331,7 @@ redef class MMMethod # Most calls are compiled with a table access, # primitive calles are inlined # == and != are guarded and possibly inlined - private meth intern_compile_call(v: CompilerVisitor, cargs: Array[String]): String + private meth intern_compile_call(v: CompilerVisitor, cargs: Array[String]): nullable String do var i = self if i isa MMSrcMethod then @@ -373,9 +373,9 @@ redef class MMMethod end # Compile a call on self for given arguments and given closures - meth compile_call_and_closures(v: CompilerVisitor, cargs: Array[String], clos_defs: Array[PClosureDef]): String + meth compile_call_and_closures(v: CompilerVisitor, cargs: Array[String], clos_defs: nullable Array[PClosureDef]): nullable String do - var ve: String = null + var ve: String var arity = 0 if clos_defs != null then arity = clos_defs.length @@ -472,7 +472,7 @@ redef class MMAttribute end # Compile a write acces on selffor a given reciever. - meth compile_write_access(v: CompilerVisitor, n: PNode, recv: String, value: String) + meth compile_write_access(v: CompilerVisitor, n: nullable PNode, recv: String, value: String) do v.add_instr("{global.attr_access}({recv}) /*{local_class}::{name}*/ = {value};") end @@ -576,7 +576,7 @@ redef class MMSrcMethod end # Compile the method body inline - meth do_compile_inside(v: CompilerVisitor, params: Array[String]): String is abstract + meth do_compile_inside(v: CompilerVisitor, params: Array[String]): nullable String is abstract end redef class MMReadImplementationMethod @@ -681,7 +681,7 @@ end redef class AMethPropdef # Compile the method body - meth do_compile_inside(v: CompilerVisitor, method: MMSrcMethod, params: Array[String]): String is abstract + meth do_compile_inside(v: CompilerVisitor, method: MMSrcMethod, params: Array[String]): nullable String is abstract end redef class PSignature @@ -695,7 +695,7 @@ redef class ASignature var cname = v.cfc.register_variable(ap.variable) v.nmc.method_params.add(ap.variable) var orig_type = orig_sig[ap.position] - if not orig_type < ap.variable.stype then + if not orig_type < ap.variable.stype.as(not null) then # FIXME: do not test always # FIXME: handle formal types v.add_instr("/* check if p<{ap.variable.stype} with p:{orig_type} */") @@ -723,13 +723,13 @@ redef class AConcreteMethPropdef params.shift v.nmc.method_params = [self_var] + var orig_meth: MMLocalProperty = method.global.intro + var orig_sig = orig_meth.signature_for(method.signature.recv) if n_signature != null then - var orig_meth: MMLocalProperty = method.global.intro - var orig_sig = orig_meth.signature_for(method.signature.recv) n_signature.compile_parameters(v, orig_sig, params) end - var itpos: String = null + var itpos: nullable String = null if self isa AConcreteInitPropdef then itpos = "VAL2OBJ({selfcname})->vft[{method.local_class.global.init_table_pos_id}].i" # v.add_instr("printf(\"{method.full_name}: inittable[%d] = %d\\n\", {itpos}, init_table[{itpos}]);") @@ -747,7 +747,7 @@ redef class AConcreteMethPropdef v.add_instr("init_table[{itpos}] = 1;") end - var ret: String = null + var ret: nullable String = null if method.signature.return_type != null then ret = v.nmc.return_value end @@ -803,7 +803,7 @@ redef class AInternMethPropdef do var c = method.local_class.name var n = method.name - var s: String = null + var s: nullable String = null if c == once "Int".to_symbol then if n == once "object_id".to_symbol then s = "{p[0]}" @@ -1009,7 +1009,7 @@ redef class AVardeclExpr if n_expr == null then v.add_instr("/*{cname} is variable {variable.name}*/") else - var e = v.compile_expr(n_expr) + var e = v.compile_expr(n_expr.as(not null)) v.add_assignment(cname, e) end end @@ -1019,8 +1019,8 @@ redef class AReturnExpr redef meth compile_stmt(v) do if n_expr != null then - var e = v.compile_expr(n_expr) - v.add_assignment(v.nmc.return_value, e) + var e = v.compile_expr(n_expr.as(not null)) + v.add_assignment(v.nmc.return_value.as(not null), e) end if v.cfc.closure == v.nmc then v.add_instr("closctx->has_broke = &({v.nmc.return_value});") v.add_instr("goto {v.nmc.return_label};") @@ -1031,8 +1031,8 @@ redef class ABreakExpr redef meth compile_stmt(v) do if n_expr != null then - var e = v.compile_expr(n_expr) - v.add_assignment(v.nmc.break_value, e) + var e = v.compile_expr(n_expr.as(not null)) + v.add_assignment(v.nmc.break_value.as(not null), e) end if v.cfc.closure == v.nmc then v.add_instr("closctx->has_broke = &({v.nmc.break_value}); closctx->broke_value = *closctx->has_broke;") v.add_instr("goto {v.nmc.break_label};") @@ -1043,8 +1043,8 @@ redef class AContinueExpr redef meth compile_stmt(v) do if n_expr != null then - var e = v.compile_expr(n_expr) - v.add_assignment(v.nmc.continue_value, e) + var e = v.compile_expr(n_expr.as(not null)) + v.add_assignment(v.nmc.continue_value.as(not null), e) end v.add_instr("goto {v.nmc.continue_label};") end @@ -1331,7 +1331,7 @@ redef class AStringFormExpr v.add_instr("else \{") v.indent v.cfc.free_var(cvar) - var e = meth_with_native.compile_constructor_call(v, stype , ["BOX_NativeString(\"{_cstring}\")", "TAG_Int({_cstring_length})"]) + var e = meth_with_native.compile_constructor_call(v, stype, ["BOX_NativeString(\"{_cstring}\")", "TAG_Int({_cstring_length})"]) v.add_assignment(cvar, e) v.add_instr("once_value_{i} = {cvar};") v.unindent @@ -1343,10 +1343,10 @@ redef class AStringFormExpr protected meth string_text: String is abstract # The string in a C native format - protected attr _cstring: String + protected attr _cstring: nullable String # The string length in bytes - protected attr _cstring_length: Int + protected attr _cstring_length: nullable Int # Compute _cstring and _cstring_length using string_text protected meth compute_string_info @@ -1390,7 +1390,7 @@ end redef class ASuperstringExpr redef meth compile_expr(v) do - var array = meth_with_capacity.compile_constructor_call(v, atype, ["TAG_Int({n_exprs.length})"]) + var array = meth_with_capacity.compile_constructor_call(v, atype.as(not null), ["TAG_Int({n_exprs.length})"]) array = v.ensure_var(array, "Array (for super-string)") for ne in n_exprs do @@ -1453,7 +1453,7 @@ redef class ASuperExpr return e end - private meth intern_compile_call(v: CompilerVisitor): String + private meth intern_compile_call(v: CompilerVisitor): nullable String do var arity = v.nmc.method_params.length - 1 if init_in_superclass != null then @@ -1519,7 +1519,7 @@ redef class AAbsAbsSendExpr # Compile each argument and add them to the array meth compile_arguments_in(v: CompilerVisitor, cargs: Array[String]) do - for a in arguments do + for a in arguments.as(not null) do cargs.add(v.compile_expr(a)) end end @@ -1527,14 +1527,14 @@ redef class AAbsAbsSendExpr end redef class ASendExpr - private meth intern_compile_call(v: CompilerVisitor): String + private meth intern_compile_call(v: CompilerVisitor): nullable String do var recv = v.compile_expr(n_expr) var cargs = new Array[String] cargs.add(recv) compile_arguments_in(v, cargs) - var e: String + var e: nullable String if prop_signature.closures.is_empty then e = prop.intern_compile_call(v, cargs) else @@ -1586,7 +1586,7 @@ redef class ANewExpr do var cargs = new Array[String] compile_arguments_in(v, cargs) - return prop.compile_constructor_call(v, stype, cargs) + return prop.compile_constructor_call(v, stype, cargs) end redef meth compile_stmt(v) do abort @@ -1598,12 +1598,12 @@ redef class PClosureDef meth compile_closure(v: CompilerVisitor, closcn: String): String is abstract # Compile the closure definition inside the current C function. - meth do_compile_inside(v: CompilerVisitor, params: Array[String]): String is abstract + meth do_compile_inside(v: CompilerVisitor, params: nullable Array[String]): nullable String is abstract end redef class AClosureDef # The cname of the function - readable attr _cname: String + readable attr _cname: nullable String redef meth compile_closure(v, closcn) do @@ -1715,7 +1715,7 @@ redef class AClosureDef v.add_instr("{v.nmc.continue_label}: while(false);") - var ret: String = null + var ret: nullable String = null if closure.signature.return_type != null then ret = v.nmc.continue_value v.nmc.continue_value = old_cv @@ -1727,12 +1727,12 @@ redef class AClosureDef end redef class PClosureDecl - meth do_compile_inside(v: CompilerVisitor, params: Array[String]): String is abstract + meth do_compile_inside(v: CompilerVisitor, params: Array[String]): nullable String is abstract end redef class AClosureDecl redef meth do_compile_inside(v, params) do - if n_signature != null then n_signature.compile_parameters(v, variable.closure.signature, params) + n_signature.compile_parameters(v, variable.closure.signature, params) var old_cv = v.nmc.continue_value var old_cl = v.nmc.continue_label @@ -1746,7 +1746,7 @@ redef class AClosureDecl v.add_instr("{v.nmc.continue_label}: while(false);") - var ret: String = null + var ret: nullable String = null if variable.closure.signature.return_type != null then ret = v.nmc.continue_value v.nmc.continue_value = old_cv @@ -1758,11 +1758,11 @@ redef class AClosureDecl end redef class AClosureCallExpr - meth intern_compile_call(v: CompilerVisitor): String + meth intern_compile_call(v: CompilerVisitor): nullable String do var cargs = new Array[String] compile_arguments_in(v, cargs) - var va: String = null + var va: nullable String = null if variable.closure.signature.return_type != null then va = v.cfc.get_var("Closure call result value") if variable.closure.is_optional then @@ -1771,7 +1771,7 @@ redef class AClosureCallExpr var n = variable.decl assert n isa AClosureDecl var s = n.do_compile_inside(v, cargs) - if s != null then v.add_assignment(va, s) + if s != null then v.add_assignment(va.as(not null), s) v.unindent v.add_instr("} else \{") v.indent @@ -1788,7 +1788,7 @@ redef class AClosureCallExpr end v.add_instr("if ({ivar}->has_broke) \{") v.indent - if n_closure_defs != null and n_closure_defs.length == 1 then do + if n_closure_defs.length == 1 then do n_closure_defs.first.do_compile_inside(v, null) end if v.cfc.closure == v.nmc then v.add_instr("if ({ivar}->has_broke) \{ closctx->has_broke = {ivar}->has_broke; closctx->broke_value = {ivar}->broke_value;\}") diff --git a/src/metamodel/abstractmetamodel.nit b/src/metamodel/abstractmetamodel.nit index 2c7123a..8d53ece 100644 --- a/src/metamodel/abstractmetamodel.nit +++ b/src/metamodel/abstractmetamodel.nit @@ -38,12 +38,10 @@ class MMContext # All known modules readable attr _modules: Array[MMModule] = new Array[MMModule] - # Register a new module with the modules it depends on + # Register a new module with the modules it depends on meth add_module(module: MMModule, supers: Array[MMModule]) do - assert supers != null _module_hierarchy.add(module, _module_hierarchy.select_smallests(supers)) - assert module.name != null _modules.add(module) module._mhe = _module_hierarchy[module] end @@ -54,7 +52,6 @@ class MMContext # Register a local class meth add_local_class(c: MMLocalClass, sup: Array[MMLocalClass]) do - assert sup != null var csup = new Array[MMLocalClass] var csups = new Array[String] for s in sup do @@ -82,10 +79,10 @@ class MMDirectory # Parent directory # null if none - readable attr _parent: MMDirectory + readable attr _parent: nullable MMDirectory # The module that introduces the directory if any - readable writable attr _owner: MMModule + readable writable attr _owner: nullable MMModule = null # Known modules in the directory readable attr _modules: Map[Symbol, MMModule] = new HashMap[Symbol, MMModule] @@ -97,10 +94,7 @@ class MMDirectory _modules[module.name] = module end - # Directory hierarchy element - readable attr _dhe: PartialOrderElement[MMDirectory] - - init(name: Symbol, path: String, parent: MMDirectory) do + init(name: Symbol, path: String, parent: nullable MMDirectory) do _name = name _path = path _parent = parent @@ -130,7 +124,7 @@ class MMModule readable attr _filename: String # Module dependence hierarchy element - readable attr _mhe: PartialOrderElement[MMModule] + readable attr _mhe: nullable PartialOrderElement[MMModule] # All global classes of the module (defined and imported) readable attr _global_classes: Array[MMGlobalClass] = new Array[MMGlobalClass] @@ -164,12 +158,7 @@ class MMModule _name = name _directory = dir _context = context - - if dir == null then - _full_name = name - else - _full_name = dir.full_name_for(name) - end + _full_name = dir.full_name_for(name) _filename = filename end @@ -219,8 +208,6 @@ class MMModule # Get the local class associated with a global class meth [](c: MMGlobalClass): MMLocalClass do - assert _local_class_by_global != null - assert c != null return _local_class_by_global[c] end @@ -248,7 +235,6 @@ class MMModule # Assign super_classes for a local class meth set_supers_class(c: MMLocalClass, supers: Array[MMLocalClass]) do - assert supers != null var tab = _class_specialization_hierarchy.select_smallests(supers) c._cshe = _class_specialization_hierarchy.add(c,tab) var tab_all = c.crhe.direct_greaters.to_a @@ -259,7 +245,6 @@ class MMModule # Register a local class and its global class in the module private meth register_global_class(c: MMLocalClass) do - assert c.global != null _local_class_by_global[c.global] = c end end @@ -299,9 +284,7 @@ class MMGlobalClass # register a new Local class to local class hierarchy (set the crhe value) private meth register_local_class(c: MMLocalClass) do - assert c.module != null - assert c.crhe == null - var sup = new Array[MMLocalClass] + var sup = new Array[MMLocalClass] for s in class_refinement_hierarchy do if c.module.mhe < s.module and s isa MMConcreteClass then sup.add(s) @@ -351,25 +334,29 @@ class MMLocalClass readable attr _module: MMModule # The global class of the local class - readable attr _global: MMGlobalClass + meth global: MMGlobalClass do return _global.as(not null) + attr _global: nullable MMGlobalClass # The local class refinement hierarchy element - readable attr _crhe: PartialOrderElement[MMLocalClass] + meth crhe: PartialOrderElement[MMLocalClass] do return _crhe.as(not null) + attr _crhe: nullable PartialOrderElement[MMLocalClass] # The local class specialization hierarchy element - readable attr _cshe: PartialOrderElement[MMLocalClass] + meth cshe: PartialOrderElement[MMLocalClass] do return _cshe.as(not null) + attr _cshe: nullable PartialOrderElement[MMLocalClass] # The local class full hierarchy element - readable attr _che: PartialOrderElement[MMLocalClass] + meth che: PartialOrderElement[MMLocalClass] do return _che.as(not null) + attr _che: nullable PartialOrderElement[MMLocalClass] # Association between local properties and global properties - readable attr _local_property_by_global: Map[MMGlobalProperty, MMLocalProperty] + attr _local_property_by_global: Map[MMGlobalProperty, MMLocalProperty] = new HashMap[MMGlobalProperty, MMLocalProperty] # All known global properties - readable attr _global_properties: Set[MMGlobalProperty] + readable attr _global_properties: Set[MMGlobalProperty] = new HashSet[MMGlobalProperty] # Dictionnary of global properties - readable attr _properties_by_name: Map[Symbol, Array[MMGlobalProperty]] + attr _properties_by_name: Map[Symbol, Array[MMGlobalProperty]] = new HashMap[Symbol, Array[MMGlobalProperty]] # Create a new class with a given name and arity protected init(mod: MMModule, name: Symbol, arity: Int) @@ -400,7 +387,6 @@ class MMLocalClass # refined classes for this class meth set_global(g: MMGlobalClass) do - assert g != null _global = g _global.register_local_class(self) _module.register_global_class(self) @@ -433,7 +419,6 @@ class MMLocalClass # TODO: Will disapear when qualified names will be available meth method(na: Symbol): MMGlobalProperty do - assert _properties_by_name != null return _properties_by_name[na].first end @@ -441,7 +426,6 @@ class MMLocalClass # TODO: Will disapear when qualified names will be available meth select_method(name: Symbol): MMMethod do - assert name != null var gp = method(name) var res = self[gp] assert res isa MMMethod @@ -452,7 +436,6 @@ class MMLocalClass # TODO: Will disapear when qualified names will be available meth select_attribute(name: Symbol): MMAttribute do - assert name != null var gp = attribute(name) var res = self[gp] assert res isa MMAttribute @@ -480,11 +463,7 @@ class MMLocalClass # Register a local property and associate it with its global property meth register_local_property(p: MMLocalProperty) do - assert p.global != null - # FIXME: Why a test? - if not _local_property_by_global.has_key(p.global) then - _local_property_by_global[p.global] = p - end + _local_property_by_global[p.global] = p end # Register a global property and associate it with its name @@ -530,10 +509,10 @@ class MMGlobalProperty readable attr _intro: MMLocalProperty # The local class that introduces the global property - meth local_class: MMLocalClass - do - return intro.local_class - end + meth local_class: MMLocalClass + do + return intro.local_class + end # The property redefinition hierarchy readable attr _property_hierarchy: PartialOrder[MMLocalProperty] = new PartialOrder[MMLocalProperty] @@ -541,10 +520,6 @@ class MMGlobalProperty # Create a new global property introduced by a local one protected init(p: MMLocalProperty) do - assert p != null - - _property_hierarchy = new PartialOrder[MMLocalProperty] - _intro = p add_local_property(p, new Array[MMLocalProperty]) end @@ -554,8 +529,6 @@ class MMGlobalProperty # Register a new local property meth add_local_property(i: MMLocalProperty, sup: Array[MMLocalProperty]) do - assert i != null - assert sup != null i._prhe = _property_hierarchy.add(i,sup) end @@ -566,7 +539,7 @@ class MMGlobalProperty meth is_method: Bool do return intro isa MMMethod # Is the global property a constructor (thus also a method)? - readable writable attr _is_init: Bool + readable writable attr _is_init: Bool = false # Is the global property a constructor for a given class? meth is_init_for(c: MMLocalClass): Bool @@ -593,10 +566,15 @@ class MMLocalProperty readable attr _local_class: MMLocalClass # The global property where belong the local property - readable attr _global: MMGlobalProperty + attr _global: nullable MMGlobalProperty + + meth global: MMGlobalProperty do return _global.as(not null) + meth is_global_set: Bool do return _global != null # Redefinition hierarchy of the local property - readable attr _prhe: PartialOrderElement[MMLocalProperty] + attr _prhe: nullable PartialOrderElement[MMLocalProperty] + + meth prhe: PartialOrderElement[MMLocalProperty] do return _prhe.as(not null) # The module of the local property meth module: MMModule do return _local_class.module @@ -604,7 +582,7 @@ class MMLocalProperty # Full expanded name with all qualifications meth full_name: String do - if global == null then + if _global == null then return "{local_class.module}::{local_class}::(?::{name})" else if global.intro == self then return "{local_class.module}::{local_class}::{name}" @@ -616,7 +594,6 @@ class MMLocalProperty # set the global property for this property meth set_global(g: MMGlobalProperty) do - assert g != null _global = g _local_class.register_local_property(self) end @@ -625,10 +602,11 @@ class MMLocalProperty meth new_global do assert _global == null - _global = new MMGlobalProperty(self) - _local_class.register_global_property(_global) + var global = new MMGlobalProperty(self) + _global = global + _local_class.register_global_property(global) end - + redef meth to_s do return name.to_s # Is the concrete property contain a `super' in the body? diff --git a/src/metamodel/genericity.nit b/src/metamodel/genericity.nit index dfff8c3..dd84e14 100644 --- a/src/metamodel/genericity.nit +++ b/src/metamodel/genericity.nit @@ -81,7 +81,7 @@ redef class MMLocalClass do if _base_type_cache == null and is_generic then _base_type_cache = get_instantiate_type(formals_types) - return _base_type_cache + return _base_type_cache.as(not null) else return super end @@ -142,7 +142,6 @@ special MMTypeClass var b = _local_class.for_module(mod) t = b.get_instantiate_type(parms) end - assert t != null return t end @@ -162,8 +161,6 @@ special MMTypeClass return false end for i in [0..t.length[ do - assert _params[i] != null - assert t[i] != null if _params[i] != t[i] then return false end @@ -212,7 +209,6 @@ special MMTypeFormal if module != mod then t = mod[_def_class.global].get_formal(position) end - assert t != null return t end @@ -234,7 +230,6 @@ special MMTypeFormal #end assert old_r isa MMTypeGeneric var reduct = old_r.params[position] - assert reduct != null return reduct end @@ -246,7 +241,6 @@ special MMTypeFormal init(n: Symbol, p: Int, intro: MMLocalClass) do - assert n != null super(n, null) _position = p _def_class = intro diff --git a/src/metamodel/inheritance.nit b/src/metamodel/inheritance.nit index a739844..2b2275b 100644 --- a/src/metamodel/inheritance.nit +++ b/src/metamodel/inheritance.nit @@ -106,14 +106,13 @@ redef class MMLocalClass end end + attr _are_global_properties_inherited: Bool = false + # Inherit global properties for a class meth inherit_global_properties do - if _global_properties != null then return - - _global_properties = new HashSet[MMGlobalProperty] - _properties_by_name = new HashMap[Symbol, Array[MMGlobalProperty]] - _local_property_by_global = new HashMap[MMGlobalProperty, MMLocalProperty] + if _are_global_properties_inherited then return + _are_global_properties_inherited = true var names = _properties_by_name var set = _global_properties @@ -218,10 +217,8 @@ redef class MMLocalClass do assert _crhe != null for ref in _crhe.direct_greaters do - assert ref.cshe != null for sup in ref.cshe.direct_greaters do var cla = sup.for_module(_module) - assert cla != null supers.add(cla) end end @@ -239,7 +236,6 @@ redef class MMLocalClass private meth compute_super_parents(supers: Array[MMLocalClass]) do for p in supers do - assert p != null p.compute_super_classes end end @@ -323,7 +319,6 @@ redef class MMLocalClass private meth inherit_local_property(glob: MMGlobalProperty): MMLocalProperty do assert not _local_property_by_global.has_key(glob) - assert glob != null var impl: MMLocalProperty @@ -389,11 +384,9 @@ redef class MMAncestor # Add this ancestor and it's super one in tab private meth add_in(tab: Array[MMAncestor]) do - assert ancestor: stype != null - assert local_class: stype.local_class != null tab.add(self) stype.local_class.compute_ancestors - for anc in stype.local_class.ancestors do + for anc in stype.local_class.ancestors.as(not null) do var aaa = anc.stype.for_module(stype.module) var a = aaa.adapt_to(stype).for_module(inheriter.module) if a.local_class != inheriter.local_class then @@ -454,9 +447,6 @@ special MMAncestor init(b: MMLocalClass, anc: MMType) do - assert b != null - assert b.module != null - assert anc != null inheriter = b.get_type stype = anc end diff --git a/src/metamodel/partial_order.nit b/src/metamodel/partial_order.nit index 7e7d936..64cefc1 100644 --- a/src/metamodel/partial_order.nit +++ b/src/metamodel/partial_order.nit @@ -95,7 +95,7 @@ special Collection[E] end # Get an array consisting of only minimal elements - meth select_smallests(c: Collection[E]): Array[E] + meth select_smallests(c: nullable Collection[E]): Array[E] do if c == null then return new Array[E] assert has_all(c) @@ -114,9 +114,9 @@ special Collection[E] end return res end - + # Add a new element inferior of some others - meth add(e: E, supers: Collection[E]): PartialOrderElement[E] + meth add(e: E, supers: nullable Collection[E]): PartialOrderElement[E] do assert not has(e) assert supers == null or has_all(supers) @@ -209,7 +209,7 @@ class PartialOrderElement[E] readable attr _greaters: Set[E] # Cached result of greaters_and_self - attr _greaters_and_self_cache: Array[E] + attr _greaters_and_self_cache: nullable Array[E] # Elements that are self or greater than self meth greaters_and_self: Collection[E] @@ -218,7 +218,7 @@ class PartialOrderElement[E] _greaters_and_self_cache = _greaters.to_a _greaters_and_self_cache.add(_value) end - return _greaters_and_self_cache + return _greaters_and_self_cache.as(not null) end # Cached value of _order.length to validade smallers_cache @@ -238,7 +238,7 @@ class PartialOrderElement[E] end # Cached result of linear_extension - attr _linear_extension_cache: Array[E] + attr _linear_extension_cache: nullable Array[E] # Return a linear extension of self # FIXME: Uses the C++ algo that is not good! @@ -262,11 +262,11 @@ class PartialOrderElement[E] end _linear_extension_cache = res end - return _linear_extension_cache + return _linear_extension_cache.as(not null) end # Cached result of reverse_linear_extension - attr _reverse_linear_extension_cache: Array[E] + attr _reverse_linear_extension_cache: nullable Array[E] # Return a reverse linear extension of self # FIXME: Uses the C++ algo that is not good! @@ -281,7 +281,7 @@ class PartialOrderElement[E] res.add(value) _linear_extension_cache = res.to_a end - return _linear_extension_cache + return _linear_extension_cache.as(not null) end # Is value < o according to order? diff --git a/src/metamodel/static_type.nit b/src/metamodel/static_type.nit index c96a1b8..7d57090 100644 --- a/src/metamodel/static_type.nit +++ b/src/metamodel/static_type.nit @@ -22,13 +22,13 @@ intrude import abstractmetamodel redef class MMLocalClass # Cached result of get_type - attr _base_type_cache: MMType + attr _base_type_cache: nullable MMType # Return the type of self for this class meth get_type: MMType do if _base_type_cache == null then _base_type_cache = new MMTypeSimpleClass(self) - return _base_type_cache + return _base_type_cache.as(not null) end # Register a new ancestor @@ -40,7 +40,7 @@ redef class MMLocalClass end # Array of ancestor that associate each superclass with the corresponding ancestor - readable attr _ancestors: Map[MMLocalClass, MMAncestor] + readable attr _ancestors: nullable Map[MMLocalClass, MMAncestor] # The ancestor type for a given superclass meth ancestor(c: MMLocalClass): MMType @@ -51,13 +51,13 @@ end redef class MMLocalProperty # The signature of the property (where it is declared) - readable writable attr _signature: MMSignature + readable writable attr _signature: nullable MMSignature attr _signatures_cache: HashMap[MMType, MMSignature] = new HashMap[MMType, MMSignature] # Return the adapted signature of self for a receiver of type t meth signature_for(t: MMType): MMSignature do - if t == local_class.get_type then return signature + if t == local_class.get_type then return signature.as(not null) if _signatures_cache.has_key(t) then return _signatures_cache[t] @@ -70,34 +70,34 @@ end # Signature for local properties class MMSignature # The type of the reveiver - readable attr _recv: MMType + readable attr _recv: MMType # The parameter types - attr _params: Array[MMType] + attr _params: Array[MMType] # The return type - readable attr _return_type: MMType + readable attr _return_type: nullable MMType # The closure parameters - readable attr _closures: Array[MMClosure] = new Array[MMClosure] + readable attr _closures: Array[MMClosure] = new Array[MMClosure] # Number of parameters meth arity: Int do - assert _params != null return _params.length end # Is self a valid subtype of an other signature meth <(s: MMSignature): Bool do - assert s != null if self == s then return true end assert _recv.module == s.recv.module - if arity != s.arity or (_return_type == null) != (s.return_type == null) then return false - if _return_type != null and not _return_type < s.return_type then + var rt = _return_type + var srt = s.return_type + if arity != s.arity or (rt == null) != (srt == null) then return false + if rt != null and not rt < srt.as(not null) then return false end @@ -124,7 +124,7 @@ class MMSignature redef meth to_s do var s = new Buffer - if _params != null and _params.length > 0 then + if _params.length > 0 then var tmp: String var a = new Array[String].with_capacity(_params.length) for i in [0.._params.length[ do @@ -148,12 +148,9 @@ class MMSignature return self end var mod = r.module - var p = _params - if p != null then - p = new Array[MMType] - for i in _params do - p.add(i.for_module(mod).adapt_to(r)) - end + var p = new Array[MMType] + for i in _params do + p.add(i.for_module(mod).adapt_to(r)) end var rv = _return_type if rv != null then @@ -166,42 +163,36 @@ class MMSignature return res end - attr _not_for_self_cache: MMSignature = null + attr _not_for_self_cache: nullable MMSignature = null # Return a type approximation if the reveiver is not self # Useful for virtual types meth not_for_self: MMSignature do - var res = _not_for_self_cache - if res != null then return res + if _not_for_self_cache != null then return _not_for_self_cache.as(not null) var need_for_self = false - var p = _params - if p != null then - p = new Array[MMType] - for i in _params do - var i2 = i.not_for_self - if i != i2 then need_for_self = true - p.add(i2) - end + var p = new Array[MMType] + for i in _params do + var i2 = i.not_for_self + if i != i2 then need_for_self = true + p.add(i2) end - + var rv = _return_type if rv != null then rv = rv.not_for_self if rv != _return_type then need_for_self = true end - - var clos = _closures - if clos != null then - clos = new Array[MMClosure] - for c in _closures do - var c2 = c.not_for_self - if c2 != c then need_for_self = true - clos.add(c2) - end + + var clos = new Array[MMClosure] + for c in _closures do + var c2 = c.not_for_self + if c2 != c then need_for_self = true + clos.add(c2) end + var res: MMSignature if need_for_self then res = new MMSignature(p, rv, _recv) res.closures.add_all(clos) @@ -213,9 +204,8 @@ class MMSignature return res end - init(params: Array[MMType], return_type: MMType, r: MMType) + init(params: Array[MMType], return_type: nullable MMType, r: MMType) do - assert params != null _params = params _return_type = return_type _recv = r @@ -269,10 +259,16 @@ end # Inheritance relation between two types abstract class MMAncestor # The inherited type - readable writable attr _stype: MMType = null + writable attr _stype: nullable MMType = null + + # The inherited type + meth stype: MMType do return _stype.as(not null) # The inheriter (heir) type - readable writable attr _inheriter: MMType = null + writable attr _inheriter: nullable MMType = null + + # The inheriter (heir) type + meth inheriter: MMType do return _inheriter.as(not null) meth is_reffinement: Bool do return stype.module != stype.module @@ -287,7 +283,7 @@ abstract class MMAncestor redef meth to_s do - if stype == null then + if _stype == null then return local_class.to_s else return stype.to_s @@ -350,7 +346,7 @@ abstract class MMType meth not_for_self: MMType do return self # The nullable version of self (if needed) - attr _as_nullable_cache: MMType = null + attr _as_nullable_cache: nullable MMType = null # IS the type can accept null? meth is_nullable: Bool do return false @@ -423,7 +419,7 @@ class MMTypeClass special MMType redef readable attr _local_class: MMLocalClass redef meth module do return _local_class.module end - redef meth <(t) do return t != null and t.is_supertype(self) + redef meth <(t) do return t.is_supertype(self) redef meth to_s do @@ -432,14 +428,10 @@ special MMType redef meth upcast_for(c) do - assert _local_class != null - assert c != null - var t: MMType = self if _local_class != c then t = _local_class.ancestor(c) end - assert t != null return t end @@ -462,7 +454,6 @@ special MMTypeClass if module != mod then t = _local_class.for_module(mod).get_type end - assert t != null return t end diff --git a/src/metamodel/type_formal.nit b/src/metamodel/type_formal.nit index 987d4fd..5ecf49f 100644 --- a/src/metamodel/type_formal.nit +++ b/src/metamodel/type_formal.nit @@ -31,17 +31,13 @@ special MMType redef meth is_valid do return _bound != null and _bound.is_valid # The name of the type - readable attr _name: Symbol + readable attr _name: Symbol # The type refered - meth bound: MMType - do - assert is_valid - return _bound - end - attr _bound: MMType + meth bound: MMType do return _bound.as(not null) + attr _bound: nullable MMType - redef meth <(t) do return t != null and (t == self or t.is_supertype(_bound)) + redef meth <(t) do return t == self or t.is_supertype(bound) redef meth is_supertype(t) do return _bound.is_supertype(t) redef meth is_nullable do return _bound.is_nullable redef meth direct_type do return _bound.direct_type @@ -49,7 +45,7 @@ special MMType redef meth to_s do return _name.to_s - protected init(name: Symbol, bound: MMType) + protected init(name: Symbol, bound: nullable MMType) do _name = name _bound = bound diff --git a/src/metamodel/vararg.nit b/src/metamodel/vararg.nit index 146784c..8a103b0 100644 --- a/src/metamodel/vararg.nit +++ b/src/metamodel/vararg.nit @@ -44,7 +44,7 @@ redef class MMSignature return s end - redef init(params: Array[MMType], return_type: MMType, r: MMType) + redef init(params, return_type, r) do super _vararg_rank = -1 diff --git a/src/metamodel/virtualtype.nit b/src/metamodel/virtualtype.nit index 752d57f..12a85d7 100644 --- a/src/metamodel/virtualtype.nit +++ b/src/metamodel/virtualtype.nit @@ -29,7 +29,7 @@ end class MMTypeProperty special MMLocalProperty # The virtual static type associated - meth stype_for(recv: MMType): MMVirtualType + meth stype_for(recv: MMType): nullable MMVirtualType do var prop = recv.local_class[global] assert prop isa MMTypeProperty @@ -39,7 +39,7 @@ special MMLocalProperty # Cached results of stype attr _stypes_cache: HashMap[MMType, MMVirtualType] = new HashMap[MMType, MMVirtualType] - private meth real_stype_for(recv: MMType): MMVirtualType + private meth real_stype_for(recv: MMType): nullable MMVirtualType do # If the signature is not build: Circular definition if signature == null then return null @@ -83,7 +83,7 @@ special MMTypeFormal redef meth adapt_to(recv) do - return property.stype_for(recv) + return property.stype_for(recv).as(not null) end end @@ -94,15 +94,13 @@ redef class MMLocalClass if prop.is_virtual_type then return prop end - return null + abort end # Select a virtual type property by its name meth select_virtual_type(name: Symbol): MMTypeProperty do - assert name != null var gp = virtual_type(name) - if gp == null then return null var res = self[gp] assert res isa MMTypeProperty return res diff --git a/src/mmloader.nit b/src/mmloader.nit index 2660eca..13adce2 100644 --- a/src/mmloader.nit +++ b/src/mmloader.nit @@ -50,7 +50,7 @@ special MMContext end # Paths where to locate modules files - readable attr _paths: Array[String] + readable attr _paths: Array[String] = new Array[String] # List of module loaders attr _loaders: Array[ModuleLoader] = new Array[ModuleLoader] @@ -89,7 +89,6 @@ special MMContext option_context.parse(args) # Setup the paths value - _paths = new Array[String] paths.append(opt_path.value) var path_env = once ("NIT_PATH".to_symbol).environ @@ -110,7 +109,7 @@ special MMContext # Load and process a module in a directory (or a parent directory). # If the module is already loaded, just return it without further processing. # If no module is found, just return null without complaining. - private meth try_to_load(module_name: Symbol, dir: MMDirectory): MMModule + private meth try_to_load(module_name: Symbol, dir: MMDirectory): nullable MMModule do # Look in the module directory for m in dir.modules do @@ -190,11 +189,11 @@ special MMContext # Locate, load and analysis a module (and its supermodules). # If the module is already loaded, just return it without further processing. - meth get_module(module_name: Symbol, from: MMModule): MMModule + meth get_module(module_name: Symbol, from: nullable MMModule): MMModule do var m: MMModule if from != null then - var dir = from.directory + var dir: nullable MMDirectory = from.directory while dir != null do var m = try_to_load(module_name, dir) if m != null then return m @@ -237,7 +236,7 @@ class ModuleLoader meth file_type: String is abstract # Try to load a new module directory - meth try_to_load_dir(dirname: Symbol, parent_dir: MMDirectory): MMDirectory + meth try_to_load_dir(dirname: Symbol, parent_dir: MMDirectory): nullable MMDirectory do var fname = "{parent_dir.path}/{dirname}/" if not fname.file_exists then return null diff --git a/src/nitc.nit b/src/nitc.nit index 5c65f1f..087793d 100644 --- a/src/nitc.nit +++ b/src/nitc.nit @@ -44,8 +44,8 @@ special AbstractCompiler output_file = opt_output.value boost = opt_boost.value no_cc = opt_no_cc.value - ext_prefix = opt_extension_prefix.value - if ext_prefix == null then ext_prefix = "" + var ext = opt_extension_prefix.value + if ext != null then ext_prefix = ext else ext_prefix = "" global = opt_global.value compdir = opt_compdir.value if compdir == null then diff --git a/src/nitdoc.nit b/src/nitdoc.nit index df1cad4..4c98a84 100644 --- a/src/nitdoc.nit +++ b/src/nitdoc.nit @@ -26,7 +26,7 @@ import abstracttool class DocContext special AbstractCompiler # Destination directory - readable writable attr _dir: String + readable writable attr _dir: String = "." # Content of a generated file attr _stage_context: StageContext = new StageContext(null) @@ -51,6 +51,7 @@ special AbstractCompiler s.content.add_all(_stage_context.content) s.validate = true end + assert s != null _stage_context = s end @@ -66,13 +67,13 @@ special AbstractCompiler end # Currently computed module - readable attr _module: MMSrcModule + readable attr _module: nullable MMSrcModule # Is the current directory module computed as a simple modude ? - readable writable attr _inside_mode: Bool + readable writable attr _inside_mode: Bool = false # Is the current module computed as a intruded one ? - readable writable attr _intrude_mode: Bool + readable writable attr _intrude_mode: Bool = false # Compued introducing entities (for the index) attr _entities: Array[MMEntity] = new Array[MMEntity] @@ -215,12 +216,13 @@ special AbstractCompiler _sorter.sort(array) end - readable writable attr _owned_modules: Array[MMModule] + readable writable attr _owned_modules: Array[MMModule] = new Array[MMModule] # Return the known_owner for current module # if inside_mode is set, it could be a different result meth known_owner_of(m: MMModule): MMModule do + var module = module if module == null then return m var res = module.known_owner_of(m) if not inside_mode and not intrude_mode and res.directory.owner == module then @@ -252,8 +254,8 @@ special AbstractCompiler redef meth process_options do super - dir = opt_dir.value - if dir == null then dir = "." + var d = opt_dir.value + if d != null then dir = d end end @@ -263,12 +265,12 @@ class StageContext readable attr _content: Array[String] = new Array[String] # Is a normal string already added? - readable writable attr _validate: Bool + readable writable attr _validate: Bool = false # Parent stage is any - readable attr _parent: StageContext + readable attr _parent: nullable StageContext = null - init(parent: StageContext) do _parent = parent + init(parent: nullable StageContext) do _parent = parent end @@ -314,7 +316,7 @@ class MMEntity # The doc node from the AST # Return null is none - meth doc: ADoc do return null + meth doc: nullable ADoc do return null # Human redable location of the entity (module/class/property) meth locate(dctx: DocContext): String do return "" @@ -356,7 +358,7 @@ special MMEntity meth owner(from: MMModule): MMModule do var res = self - var d = directory + var d: nullable MMDirectory = directory while d != null and d != from.directory do var o = d.owner if o != null and o.mhe <= res then res = o @@ -494,10 +496,10 @@ special MMEntity end assert n isa PPropdef var d = n.n_doc - assert d isa ADoc if d == null then return null end + assert d isa ADoc if d.n_comment.is_empty then return null else @@ -545,7 +547,7 @@ redef class MMSrcModule dctx.add_header("Module {self}") dctx.add("

Module {self}

\n
") var s = "" - var d = directory + var d: nullable MMDirectory = directory while d == null do if d.owner != null and (d.owner != self or dctx.inside_mode or dctx.intrude_mode) then s = "{d.owner.html_link(dctx)}::{s}" @@ -558,8 +560,8 @@ redef class MMSrcModule var intrude_modules = new Array[MMModule] var public_modules = new Array[MMModule] var private_modules = new Array[MMModule] - var owned_modules = new Array[MMModule] - dctx.owned_modules = owned_modules + var owned_modules = dctx.owned_modules + owned_modules.clear for m in mhe.greaters do var v = visibility_for(m) if not dctx.inside_mode and not dctx.intrude_mode and m.directory.owner == self then @@ -652,20 +654,16 @@ redef class MMSrcModule redef meth doc do var n = node - if not n isa AModule then - return null - end - assert n isa AModule if n.n_packagedecl == null then return null end var np = n.n_packagedecl assert np isa APackagedecl var d = np.n_doc - assert d isa ADoc if d == null then return null end + assert d isa ADoc if d.n_comment.is_empty then return null else @@ -913,7 +911,7 @@ special MMEntity if c isa MMSrcLocalClass then var km = dctx.known_owner_of(c.module) var kc = km[c.global] - if kc == self or not c isa MMConcreteClass then continue + if kc == self then continue var props: Array[MMLocalProperty] if km == module then if cmap.has_key(kc) then @@ -1079,10 +1077,10 @@ redef class MMSrcLocalClass end assert n isa AClassdef var d = n.n_doc - assert d isa ADoc if d == null then return null end + assert d isa ADoc if d.n_comment.is_empty then return null else diff --git a/src/parser/lexer.nit b/src/parser/lexer.nit index d630582..93a8371 100644 --- a/src/parser/lexer.nit +++ b/src/parser/lexer.nit @@ -1338,7 +1338,7 @@ end # It is better user with the Parser class Lexer # Last peeked token - attr _token: Token + attr _token: nullable Token # Lexer current state attr _state: Int = 0 @@ -1391,7 +1391,7 @@ class Lexer while _token == null do _token = get_token end - return _token + return _token.as(not null) end # Give and consume the next token @@ -1402,11 +1402,11 @@ class Lexer result = get_token end _token = null - return result + return result.as(not null) end # Get a token, or null if it is discarded - private meth get_token: Token + private meth get_token: nullable Token do var dfa_state = 0 diff --git a/src/parser/parser.nit b/src/parser/parser.nit index 3d5face..965e0fb 100644 --- a/src/parser/parser.nit +++ b/src/parser/parser.nit @@ -11,9 +11,9 @@ private class State readable writable attr _state: Int # The node stored with the state in the stack - readable writable attr _nodes: Object + readable writable attr _nodes: nullable Object - init(state: Int, nodes: Object) + init(state: Int, nodes: nullable Object) do _state = state _nodes = nodes @@ -67,7 +67,7 @@ special ParserTable end # Push someting in the state stack - private meth push(numstate: Int, list_node: Object) + private meth push(numstate: Int, list_node: nullable Object) do var pos = _stack_pos + 1 _stack_pos = pos @@ -87,7 +87,7 @@ special ParserTable end # Pop something from the stack state - private meth pop: Object + private meth pop: nullable Object do var res = _stack[_stack_pos].nodes _stack_pos = _stack_pos -1 @@ -99,7 +99,6 @@ special ParserTable do push(0, null) - var ign: List[Token] = null var lexer = _lexer while true do var token = lexer.peek @@ -107,7 +106,6 @@ special ParserTable var last_line = token.line if token isa PError then - assert token isa PError return new Start(null, token) end @@ -152,7 +150,7 @@ special ParserTable return node end end - return null + abort end attr _reduce_table: Array[ReduceAction] @@ -905,11 +903,12 @@ end private class SearchTokensVisitor special Visitor attr _untokenned_nodes: Array[Prod] - attr _last_token: Token - redef meth visit(n: PNode) + attr _last_token: nullable Token = null + redef meth visit(n: nullable PNode) do - if n isa Token then - assert n isa Token + if n == null then + return + else if n isa Token then _last_token = n for no in _untokenned_nodes do no.first_token = n @@ -937,10 +936,10 @@ private class ReduceAction0 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var listnode3 = new Array[Object] var listnode4 = new Array[Object] - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode4 @@ -954,13 +953,13 @@ private class ReduceAction1 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode4 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var pmodulenode1 = new AModule.init_amodule( + assert ppackagedeclnode2 isa nullable PPackagedecl + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode4 @@ -974,20 +973,20 @@ private class ReduceAction2 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode5 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var pmodulenode1 = new AModule.init_amodule( +# end + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode5 @@ -1001,23 +1000,23 @@ private class ReduceAction3 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode5 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var pmodulenode1 = new AModule.init_amodule( +# end + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode5 @@ -1031,20 +1030,20 @@ private class ReduceAction4 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pmodulenode1 = new AModule.init_amodule( +# end + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode5 @@ -1058,23 +1057,23 @@ private class ReduceAction5 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode4 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pmodulenode1 = new AModule.init_amodule( +# end + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode5 @@ -1088,30 +1087,30 @@ private class ReduceAction6 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pmodulenode1 = new AModule.init_amodule( +# end + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode6 @@ -1125,33 +1124,33 @@ private class ReduceAction7 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pmodulenode1 = new AModule.init_amodule( +# end + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode6 @@ -1165,24 +1164,24 @@ private class ReduceAction8 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode7 = new Array[Object] var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist1 - assert ppropdefnode5 isa PPropdef + assert ppropdefnode5 isa nullable PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode6 ) if pclassdefnode4 != null then listnode7.add(pclassdefnode4) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode7 @@ -1196,7 +1195,7 @@ private class ReduceAction9 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop @@ -1204,26 +1203,26 @@ special ReduceAction var listnode8 = new Array[Object] var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist1 - assert ppropdefnode5 isa PPropdef - var listnode6 = nodearraylist3 + assert ppropdefnode5 isa nullable PPropdef + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode8 @@ -1237,27 +1236,27 @@ private class ReduceAction10 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode7 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl + assert ppackagedeclnode2 isa nullable PPackagedecl var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist2 - assert ppropdefnode5 isa PPropdef + assert ppropdefnode5 isa nullable PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode6 ) if pclassdefnode4 != null then listnode7.add(pclassdefnode4) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode7 @@ -1271,7 +1270,7 @@ private class ReduceAction11 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop @@ -1279,29 +1278,29 @@ special ReduceAction var listnode3 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl + assert ppackagedeclnode2 isa nullable PPackagedecl var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist2 - assert ppropdefnode5 isa PPropdef - var listnode6 = nodearraylist4 + assert ppropdefnode5 isa nullable PPropdef + var listnode6 = nodearraylist4 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode8 @@ -1315,34 +1314,34 @@ private class ReduceAction12 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode8 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode8 @@ -1356,44 +1355,44 @@ private class ReduceAction13 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist4 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode9 @@ -1407,7 +1406,7 @@ private class ReduceAction14 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop @@ -1415,29 +1414,29 @@ special ReduceAction var listnode4 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode8 @@ -1451,7 +1450,7 @@ private class ReduceAction15 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -1460,38 +1459,38 @@ special ReduceAction var listnode4 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist5 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode9 @@ -1505,34 +1504,34 @@ private class ReduceAction16 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode8 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) - if listnode4 != null then +# if listnode4 != null then if listnode8.is_empty then listnode8 = listnode4 else listnode8.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode8 @@ -1546,44 +1545,44 @@ private class ReduceAction17 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist4 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) - if listnode4 != null then +# if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode9 @@ -1597,7 +1596,7 @@ private class ReduceAction18 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop @@ -1605,29 +1604,29 @@ special ReduceAction var listnode3 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode4 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) - if listnode4 != null then +# if listnode4 != null then if listnode8.is_empty then listnode8 = listnode4 else listnode8.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode8.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode8 @@ -1641,7 +1640,7 @@ private class ReduceAction19 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -1650,38 +1649,38 @@ special ReduceAction var listnode3 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode4 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist5 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) - if listnode4 != null then +# if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode9 @@ -1695,44 +1694,44 @@ private class ReduceAction20 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist3 - assert ppropdefnode7 isa PPropdef + assert ppropdefnode7 isa nullable PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) - if listnode5 != null then +# if listnode5 != null then if listnode9.is_empty then listnode9 = listnode5 else listnode9.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode9.add(pclassdefnode6) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode9 @@ -1746,7 +1745,7 @@ private class ReduceAction21 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -1754,46 +1753,46 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist3 - assert ppropdefnode7 isa PPropdef - var listnode8 = nodearraylist5 + assert ppropdefnode7 isa nullable PPropdef + var listnode8 = nodearraylist5 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode9 ) - if listnode5 != null then +# if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode10 @@ -1807,7 +1806,7 @@ private class ReduceAction22 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -1816,38 +1815,38 @@ special ReduceAction var listnode4 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist4 - assert ppropdefnode7 isa PPropdef + assert ppropdefnode7 isa nullable PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) - if listnode5 != null then +# if listnode5 != null then if listnode9.is_empty then listnode9 = listnode5 else listnode9.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode9.add(pclassdefnode6) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode9 @@ -1861,7 +1860,7 @@ private class ReduceAction23 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -1871,47 +1870,47 @@ special ReduceAction var listnode4 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist4 - assert ppropdefnode7 isa PPropdef - var listnode8 = nodearraylist6 + assert ppropdefnode7 isa nullable PPropdef + var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode9 ) - if listnode5 != null then +# if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode10 @@ -1925,16 +1924,16 @@ private class ReduceAction24 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var pclassdefnode4 = nodearraylist1 - assert pclassdefnode4 isa PClassdef + assert pclassdefnode4 isa nullable PClassdef if pclassdefnode4 != null then listnode5.add(pclassdefnode4) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode5 @@ -1948,19 +1947,19 @@ private class ReduceAction25 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl + assert ppackagedeclnode2 isa nullable PPackagedecl var pclassdefnode4 = nodearraylist2 - assert pclassdefnode4 isa PClassdef + assert pclassdefnode4 isa nullable PClassdef if pclassdefnode4 != null then listnode5.add(pclassdefnode4) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode5 @@ -1974,26 +1973,26 @@ private class ReduceAction26 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var pclassdefnode5 = nodearraylist2 - assert pclassdefnode5 isa PClassdef + assert pclassdefnode5 isa nullable PClassdef if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode6 @@ -2007,29 +2006,29 @@ private class ReduceAction27 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var pclassdefnode5 = nodearraylist3 - assert pclassdefnode5 isa PClassdef + assert pclassdefnode5 isa nullable PClassdef if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode6 @@ -2043,26 +2042,26 @@ private class ReduceAction28 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode6 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var pclassdefnode5 = nodearraylist2 - assert pclassdefnode5 isa PClassdef - if listnode4 != null then + assert pclassdefnode5 isa nullable PClassdef +# if listnode4 != null then if listnode6.is_empty then listnode6 = listnode4 else listnode6.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode6 @@ -2076,29 +2075,29 @@ private class ReduceAction29 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode6 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode4 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var pclassdefnode5 = nodearraylist3 - assert pclassdefnode5 isa PClassdef - if listnode4 != null then + assert pclassdefnode5 isa nullable PClassdef +# if listnode4 != null then if listnode6.is_empty then listnode6 = listnode4 else listnode6.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode6.add(pclassdefnode5) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode6 @@ -2112,36 +2111,36 @@ private class ReduceAction30 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode7 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var pclassdefnode6 = nodearraylist3 - assert pclassdefnode6 isa PClassdef - if listnode5 != null then + assert pclassdefnode6 isa nullable PClassdef +# if listnode5 != null then if listnode7.is_empty then listnode7 = listnode5 else listnode7.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode7.add(pclassdefnode6) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode7 @@ -2155,7 +2154,7 @@ private class ReduceAction31 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop @@ -2163,31 +2162,31 @@ special ReduceAction var listnode4 = new Array[Object] var listnode7 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var pclassdefnode6 = nodearraylist4 - assert pclassdefnode6 isa PClassdef - if listnode5 != null then + assert pclassdefnode6 isa nullable PClassdef +# if listnode5 != null then if listnode7.is_empty then listnode7 = listnode5 else listnode7.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode7.add(pclassdefnode6) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode7 @@ -2201,7 +2200,7 @@ private class ReduceAction32 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop @@ -2209,22 +2208,22 @@ special ReduceAction var listnode8 = new Array[Object] var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist1 - assert ppropdefnode5 isa PPropdef + assert ppropdefnode5 isa nullable PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode6 ) var pclassdefnode7 = nodearraylist3 - assert pclassdefnode7 isa PClassdef + assert pclassdefnode7 isa nullable PClassdef if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end if pclassdefnode7 != null then listnode8.add(pclassdefnode7) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode8 @@ -2238,7 +2237,7 @@ private class ReduceAction33 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop @@ -2247,31 +2246,31 @@ special ReduceAction var listnode9 = new Array[Object] var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist1 - assert ppropdefnode5 isa PPropdef - var listnode6 = nodearraylist3 + assert ppropdefnode5 isa nullable PPropdef + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist4 - assert pclassdefnode8 isa PClassdef + assert pclassdefnode8 isa nullable PClassdef if pclassdefnode4 != null then listnode9.add(pclassdefnode4) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode9 @@ -2285,7 +2284,7 @@ private class ReduceAction34 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop @@ -2293,25 +2292,25 @@ special ReduceAction var listnode3 = new Array[Object] var listnode8 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl + assert ppackagedeclnode2 isa nullable PPackagedecl var listnode6 = new Array[Object] var ppropdefnode5 = nodearraylist2 - assert ppropdefnode5 isa PPropdef + assert ppropdefnode5 isa nullable PPropdef if ppropdefnode5 != null then listnode6.add(ppropdefnode5) end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode6 ) var pclassdefnode7 = nodearraylist4 - assert pclassdefnode7 isa PClassdef + assert pclassdefnode7 isa nullable PClassdef if pclassdefnode4 != null then listnode8.add(pclassdefnode4) end if pclassdefnode7 != null then listnode8.add(pclassdefnode7) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode8 @@ -2325,7 +2324,7 @@ private class ReduceAction35 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -2334,34 +2333,34 @@ special ReduceAction var listnode3 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl + assert ppackagedeclnode2 isa nullable PPackagedecl var listnode7 = new Array[Object] var ppropdefnode5 = nodearraylist2 - assert ppropdefnode5 isa PPropdef - var listnode6 = nodearraylist4 + assert ppropdefnode5 isa nullable PPropdef + var listnode6 = nodearraylist4 assert listnode6 isa Array[Object] if ppropdefnode5 != null then listnode7.add(ppropdefnode5) end - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pclassdefnode4 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode4: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist5 - assert pclassdefnode8 isa PClassdef + assert pclassdefnode8 isa nullable PClassdef if pclassdefnode4 != null then listnode9.add(pclassdefnode4) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode9 @@ -2375,40 +2374,40 @@ private class ReduceAction36 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode9 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist4 - assert pclassdefnode8 isa PClassdef + assert pclassdefnode8 isa nullable PClassdef if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode9 @@ -2422,7 +2421,7 @@ private class ReduceAction37 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -2430,42 +2429,42 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist4 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist5 - assert pclassdefnode9 isa PClassdef + assert pclassdefnode9 isa nullable PClassdef if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode10 @@ -2479,7 +2478,7 @@ private class ReduceAction38 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -2488,34 +2487,34 @@ special ReduceAction var listnode4 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist5 - assert pclassdefnode8 isa PClassdef + assert pclassdefnode8 isa nullable PClassdef if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode9 @@ -2529,7 +2528,7 @@ private class ReduceAction39 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -2539,43 +2538,43 @@ special ReduceAction var listnode4 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist5 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist6 - assert pclassdefnode9 isa PClassdef + assert pclassdefnode9 isa nullable PClassdef if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode10 @@ -2589,40 +2588,40 @@ private class ReduceAction40 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode9 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist4 - assert pclassdefnode8 isa PClassdef - if listnode4 != null then + assert pclassdefnode8 isa nullable PClassdef +# if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode9 @@ -2636,7 +2635,7 @@ private class ReduceAction41 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -2644,42 +2643,42 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode10 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist2 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist4 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist4 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist5 - assert pclassdefnode9 isa PClassdef - if listnode4 != null then + assert pclassdefnode9 isa nullable PClassdef +# if listnode4 != null then if listnode10.is_empty then listnode10 = listnode4 else listnode10.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode3, listnode10 @@ -2693,7 +2692,7 @@ private class ReduceAction42 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -2702,34 +2701,34 @@ special ReduceAction var listnode3 = new Array[Object] var listnode9 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode4 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode7 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef + assert ppropdefnode6 isa nullable PPropdef if ppropdefnode6 != null then listnode7.add(ppropdefnode6) end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode7 ) var pclassdefnode8 = nodearraylist5 - assert pclassdefnode8 isa PClassdef - if listnode4 != null then + assert pclassdefnode8 isa nullable PClassdef +# if listnode4 != null then if listnode9.is_empty then listnode9 = listnode4 else listnode9.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode9.add(pclassdefnode5) end if pclassdefnode8 != null then listnode9.add(pclassdefnode8) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode9 @@ -2743,7 +2742,7 @@ private class ReduceAction43 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -2753,43 +2752,43 @@ special ReduceAction var listnode3 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode4 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode6 = nodearraylist3 - assert ppropdefnode6 isa PPropdef - var listnode7 = nodearraylist5 + assert ppropdefnode6 isa nullable PPropdef + var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if ppropdefnode6 != null then listnode8.add(ppropdefnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode5 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode5: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist6 - assert pclassdefnode9 isa PClassdef - if listnode4 != null then + assert pclassdefnode9 isa nullable PClassdef +# if listnode4 != null then if listnode10.is_empty then listnode10 = listnode4 else listnode10.append(listnode4) end - end +# end if pclassdefnode5 != null then listnode10.add(pclassdefnode5) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode3, listnode10 @@ -2803,7 +2802,7 @@ private class ReduceAction44 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -2811,42 +2810,42 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode10 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist3 - assert ppropdefnode7 isa PPropdef + assert ppropdefnode7 isa nullable PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist5 - assert pclassdefnode9 isa PClassdef - if listnode5 != null then + assert pclassdefnode9 isa nullable PClassdef +# if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode10 @@ -2860,7 +2859,7 @@ private class ReduceAction45 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -2869,51 +2868,51 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode11 = new Array[Object] - var listnode3 = nodearraylist1 + var listnode3 = nodearraylist1 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist3 - assert ppropdefnode7 isa PPropdef - var listnode8 = nodearraylist5 + assert ppropdefnode7 isa nullable PPropdef + var listnode8 = nodearraylist5 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode9 ) var pclassdefnode10 = nodearraylist6 - assert pclassdefnode10 isa PClassdef - if listnode5 != null then + assert pclassdefnode10 isa nullable PClassdef +# if listnode5 != null then if listnode11.is_empty then listnode11 = listnode5 else listnode11.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode11.add(pclassdefnode6) end if pclassdefnode10 != null then listnode11.add(pclassdefnode10) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( null, listnode4, listnode11 @@ -2927,7 +2926,7 @@ private class ReduceAction46 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -2937,43 +2936,43 @@ special ReduceAction var listnode4 = new Array[Object] var listnode10 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode8 = new Array[Object] var ppropdefnode7 = nodearraylist4 - assert ppropdefnode7 isa PPropdef + assert ppropdefnode7 isa nullable PPropdef if ppropdefnode7 != null then listnode8.add(ppropdefnode7) end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode8 ) var pclassdefnode9 = nodearraylist6 - assert pclassdefnode9 isa PClassdef - if listnode5 != null then + assert pclassdefnode9 isa nullable PClassdef +# if listnode5 != null then if listnode10.is_empty then listnode10 = listnode5 else listnode10.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode10.add(pclassdefnode6) end if pclassdefnode9 != null then listnode10.add(pclassdefnode9) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode10 @@ -2987,7 +2986,7 @@ private class ReduceAction47 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -2998,52 +2997,52 @@ special ReduceAction var listnode4 = new Array[Object] var listnode11 = new Array[Object] var ppackagedeclnode2 = nodearraylist1 - assert ppackagedeclnode2 isa PPackagedecl - var listnode3 = nodearraylist2 + assert ppackagedeclnode2 isa nullable PPackagedecl + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] var listnode9 = new Array[Object] var ppropdefnode7 = nodearraylist4 - assert ppropdefnode7 isa PPropdef - var listnode8 = nodearraylist6 + assert ppropdefnode7 isa nullable PPropdef + var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if ppropdefnode7 != null then listnode9.add(ppropdefnode7) end - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pclassdefnode6 = new ATopClassdef.init_atopclassdef( +# end + var pclassdefnode6: nullable ATopClassdef = new ATopClassdef.init_atopclassdef( listnode9 ) var pclassdefnode10 = nodearraylist7 - assert pclassdefnode10 isa PClassdef - if listnode5 != null then + assert pclassdefnode10 isa nullable PClassdef +# if listnode5 != null then if listnode11.is_empty then listnode11 = listnode5 else listnode11.append(listnode5) end - end +# end if pclassdefnode6 != null then listnode11.add(pclassdefnode6) end if pclassdefnode10 != null then listnode11.add(pclassdefnode10) end - var pmodulenode1 = new AModule.init_amodule( + var pmodulenode1: nullable AModule = new AModule.init_amodule( ppackagedeclnode2, listnode4, listnode11 @@ -3057,19 +3056,19 @@ private class ReduceAction48 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwpackagenode3 = nodearraylist2 - assert tkwpackagenode3 isa TKwpackage + assert tkwpackagenode3 isa nullable TKwpackage var tidnode4 = nodearraylist4 - assert tidnode4 isa TId - var ppackagedeclnode1 = new APackagedecl.init_apackagedecl( + assert tidnode4 isa nullable TId + var ppackagedeclnode1: nullable APackagedecl = new APackagedecl.init_apackagedecl( pdocnode2, tkwpackagenode3, tidnode4 @@ -3083,7 +3082,7 @@ private class ReduceAction49 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -3091,12 +3090,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pvisibilitynode2 = nodearraylist2 - assert pvisibilitynode2 isa PVisibility + assert pvisibilitynode2 isa nullable PVisibility var tkwimportnode3 = nodearraylist3 - assert tkwimportnode3 isa TKwimport + assert tkwimportnode3 isa nullable TKwimport var tidnode4 = nodearraylist5 - assert tidnode4 isa TId - var pimportnode1 = new AImport.init_aimport( + assert tidnode4 isa nullable TId + var pimportnode1: nullable AImport = new AImport.init_aimport( pvisibilitynode2, tkwimportnode3, tidnode4 @@ -3110,7 +3109,7 @@ private class ReduceAction50 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -3118,12 +3117,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pvisibilitynode2 = nodearraylist2 - assert pvisibilitynode2 isa PVisibility + assert pvisibilitynode2 isa nullable PVisibility var tkwimportnode3 = nodearraylist3 - assert tkwimportnode3 isa TKwimport + assert tkwimportnode3 isa nullable TKwimport var tkwendnode4 = nodearraylist5 - assert tkwendnode4 isa TKwend - var pimportnode1 = new ANoImport.init_anoimport( + assert tkwendnode4 isa nullable TKwend + var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport( pvisibilitynode2, tkwimportnode3, tkwendnode4 @@ -3137,15 +3136,15 @@ private class ReduceAction51 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var ppropdefnode2 = nodearraylist1 - assert ppropdefnode2 isa PPropdef + assert ppropdefnode2 isa nullable PPropdef if ppropdefnode2 != null then listnode3.add(ppropdefnode2) end - var pclassdefnode1 = new AMainClassdef.init_amainclassdef( + var pclassdefnode1: nullable AMainClassdef = new AMainClassdef.init_amainclassdef( listnode3 ) node_list = pclassdefnode1 @@ -3157,7 +3156,7 @@ private class ReduceAction52 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(3), node_list) @@ -3168,20 +3167,20 @@ private class ReduceAction53 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode4 = nodearraylist2 - assert pexprnode4 isa PExpr + assert pexprnode4 isa nullable PExpr if pexprnode4 != null then listnode5.add(pexprnode4) end - var pexprnode3 = new ABlockExpr.init_ablockexpr( + var pexprnode3: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode5 ) - var ppropdefnode1 = new AMainMethPropdef.init_amainmethpropdef( + var ppropdefnode1: nullable AMainMethPropdef = new AMainMethPropdef.init_amainmethpropdef( null, pexprnode3 ) @@ -3194,30 +3193,30 @@ private class ReduceAction54 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var pexprnode4 = nodearraylist2 - assert pexprnode4 isa PExpr - var listnode5 = nodearraylist3 + assert pexprnode4 isa nullable PExpr + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] if pexprnode4 != null then listnode6.add(pexprnode4) end - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode3 = new ABlockExpr.init_ablockexpr( +# end + var pexprnode3: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode6 ) - var ppropdefnode1 = new AMainMethPropdef.init_amainmethpropdef( + var ppropdefnode1: nullable AMainMethPropdef = new AMainMethPropdef.init_amainmethpropdef( null, pexprnode3 ) @@ -3230,7 +3229,7 @@ private class ReduceAction55 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -3242,14 +3241,14 @@ special ReduceAction var listnode8 = new Array[Object] var listnode9 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var pclassdefnode1 = new AClassdef.init_aclassdef( + assert tclassidnode6 isa nullable TClassid + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3268,7 +3267,7 @@ private class ReduceAction56 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -3281,16 +3280,16 @@ special ReduceAction var listnode8 = new Array[Object] var listnode9 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var pclassdefnode1 = new AClassdef.init_aclassdef( + assert tclassidnode6 isa nullable TClassid + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -3309,7 +3308,7 @@ private class ReduceAction57 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -3322,23 +3321,23 @@ special ReduceAction var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3357,7 +3356,7 @@ private class ReduceAction58 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -3371,25 +3370,25 @@ special ReduceAction var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -3408,7 +3407,7 @@ private class ReduceAction59 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -3421,23 +3420,23 @@ special ReduceAction var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode8 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3456,7 +3455,7 @@ private class ReduceAction60 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -3470,25 +3469,25 @@ special ReduceAction var listnode9 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode8 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode8 = nodearraylist7 assert listnode8 isa Array[Object] - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -3507,7 +3506,7 @@ private class ReduceAction61 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -3521,32 +3520,32 @@ special ReduceAction var listnode10 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var listnode9 = nodearraylist7 +# end + var listnode9 = nodearraylist7 assert listnode9 isa Array[Object] - if listnode9 != null then +# if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3565,7 +3564,7 @@ private class ReduceAction62 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -3580,34 +3579,34 @@ special ReduceAction var listnode10 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var listnode9 = nodearraylist8 +# end + var listnode9 = nodearraylist8 assert listnode9 isa Array[Object] - if listnode9 != null then +# if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -3626,7 +3625,7 @@ private class ReduceAction63 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -3640,19 +3639,19 @@ special ReduceAction var listnode8 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid + assert tclassidnode6 isa nullable TClassid var ppropdefnode9 = nodearraylist6 - assert ppropdefnode9 isa PPropdef + assert ppropdefnode9 isa nullable PPropdef if ppropdefnode9 != null then listnode10.add(ppropdefnode9) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3671,7 +3670,7 @@ private class ReduceAction64 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -3686,28 +3685,28 @@ special ReduceAction var listnode8 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid + assert tclassidnode6 isa nullable TClassid var ppropdefnode9 = nodearraylist6 - assert ppropdefnode9 isa PPropdef - var listnode10 = nodearraylist8 + assert ppropdefnode9 isa nullable PPropdef + var listnode10 = nodearraylist8 assert listnode10 isa Array[Object] if ppropdefnode9 != null then listnode11.add(ppropdefnode9) end - if listnode10 != null then +# if listnode10 != null then if listnode11.is_empty then listnode11 = listnode10 else listnode11.append(listnode10) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3726,7 +3725,7 @@ private class ReduceAction65 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -3741,21 +3740,21 @@ special ReduceAction var listnode8 = new Array[Object] var listnode10 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid + assert tclassidnode6 isa nullable TClassid var ppropdefnode9 = nodearraylist7 - assert ppropdefnode9 isa PPropdef + assert ppropdefnode9 isa nullable PPropdef if ppropdefnode9 != null then listnode10.add(ppropdefnode9) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -3774,7 +3773,7 @@ private class ReduceAction66 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -3790,30 +3789,30 @@ special ReduceAction var listnode8 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid + assert tclassidnode6 isa nullable TClassid var ppropdefnode9 = nodearraylist7 - assert ppropdefnode9 isa PPropdef - var listnode10 = nodearraylist9 + assert ppropdefnode9 isa nullable PPropdef + var listnode10 = nodearraylist9 assert listnode10 isa Array[Object] if ppropdefnode9 != null then listnode11.add(ppropdefnode9) end - if listnode10 != null then +# if listnode10 != null then if listnode11.is_empty then listnode11 = listnode10 else listnode11.append(listnode10) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -3832,7 +3831,7 @@ private class ReduceAction67 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -3847,28 +3846,28 @@ special ReduceAction var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end +# end var ppropdefnode10 = nodearraylist7 - assert ppropdefnode10 isa PPropdef + assert ppropdefnode10 isa nullable PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3887,7 +3886,7 @@ private class ReduceAction68 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -3903,37 +3902,37 @@ special ReduceAction var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end +# end var ppropdefnode10 = nodearraylist7 - assert ppropdefnode10 isa PPropdef - var listnode11 = nodearraylist9 + assert ppropdefnode10 isa nullable PPropdef + var listnode11 = nodearraylist9 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end - if listnode11 != null then +# if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -3952,7 +3951,7 @@ private class ReduceAction69 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -3968,30 +3967,30 @@ special ReduceAction var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end +# end var ppropdefnode10 = nodearraylist8 - assert ppropdefnode10 isa PPropdef + assert ppropdefnode10 isa nullable PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4010,7 +4009,7 @@ private class ReduceAction70 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -4027,39 +4026,39 @@ special ReduceAction var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end +# end var ppropdefnode10 = nodearraylist8 - assert ppropdefnode10 isa PPropdef - var listnode11 = nodearraylist10 + assert ppropdefnode10 isa nullable PPropdef + var listnode11 = nodearraylist10 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end - if listnode11 != null then +# if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4078,7 +4077,7 @@ private class ReduceAction71 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -4093,28 +4092,28 @@ special ReduceAction var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode8 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end +# end var ppropdefnode10 = nodearraylist7 - assert ppropdefnode10 isa PPropdef + assert ppropdefnode10 isa nullable PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -4133,7 +4132,7 @@ private class ReduceAction72 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -4149,37 +4148,37 @@ special ReduceAction var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode8 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end +# end var ppropdefnode10 = nodearraylist7 - assert ppropdefnode10 isa PPropdef - var listnode11 = nodearraylist9 + assert ppropdefnode10 isa nullable PPropdef + var listnode11 = nodearraylist9 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end - if listnode11 != null then +# if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -4198,7 +4197,7 @@ private class ReduceAction73 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -4214,30 +4213,30 @@ special ReduceAction var listnode9 = new Array[Object] var listnode11 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode8 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode8 = nodearraylist7 assert listnode8 isa Array[Object] - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end +# end var ppropdefnode10 = nodearraylist8 - assert ppropdefnode10 isa PPropdef + assert ppropdefnode10 isa nullable PPropdef if ppropdefnode10 != null then listnode11.add(ppropdefnode10) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4256,7 +4255,7 @@ private class ReduceAction74 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -4273,39 +4272,39 @@ special ReduceAction var listnode9 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode8 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode8 = nodearraylist7 assert listnode8 isa Array[Object] - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end +# end var ppropdefnode10 = nodearraylist8 - assert ppropdefnode10 isa PPropdef - var listnode11 = nodearraylist10 + assert ppropdefnode10 isa nullable PPropdef + var listnode11 = nodearraylist10 assert listnode11 isa Array[Object] if ppropdefnode10 != null then listnode12.add(ppropdefnode10) end - if listnode11 != null then +# if listnode11 != null then if listnode12.is_empty then listnode12 = listnode11 else listnode12.append(listnode11) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4324,7 +4323,7 @@ private class ReduceAction75 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -4340,37 +4339,37 @@ special ReduceAction var listnode10 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var listnode9 = nodearraylist7 +# end + var listnode9 = nodearraylist7 assert listnode9 isa Array[Object] - if listnode9 != null then +# if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end - end +# end var ppropdefnode11 = nodearraylist8 - assert ppropdefnode11 isa PPropdef + assert ppropdefnode11 isa nullable PPropdef if ppropdefnode11 != null then listnode12.add(ppropdefnode11) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -4389,7 +4388,7 @@ private class ReduceAction76 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -4406,46 +4405,46 @@ special ReduceAction var listnode10 = new Array[Object] var listnode13 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist3 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist6 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist6 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var listnode9 = nodearraylist7 +# end + var listnode9 = nodearraylist7 assert listnode9 isa Array[Object] - if listnode9 != null then +# if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end - end +# end var ppropdefnode11 = nodearraylist8 - assert ppropdefnode11 isa PPropdef - var listnode12 = nodearraylist10 + assert ppropdefnode11 isa nullable PPropdef + var listnode12 = nodearraylist10 assert listnode12 isa Array[Object] if ppropdefnode11 != null then listnode13.add(ppropdefnode11) end - if listnode12 != null then +# if listnode12 != null then if listnode13.is_empty then listnode13 = listnode12 else listnode13.append(listnode12) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, null, pvisibilitynode4, @@ -4464,7 +4463,7 @@ private class ReduceAction77 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -4481,39 +4480,39 @@ special ReduceAction var listnode10 = new Array[Object] var listnode12 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var listnode9 = nodearraylist8 +# end + var listnode9 = nodearraylist8 assert listnode9 isa Array[Object] - if listnode9 != null then +# if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end - end +# end var ppropdefnode11 = nodearraylist9 - assert ppropdefnode11 isa PPropdef + assert ppropdefnode11 isa nullable PPropdef if ppropdefnode11 != null then listnode12.add(ppropdefnode11) end - var pclassdefnode1 = new AClassdef.init_aclassdef( + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4532,7 +4531,7 @@ private class ReduceAction78 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist13 = p.pop var nodearraylist12 = p.pop var nodearraylist11 = p.pop @@ -4550,48 +4549,48 @@ special ReduceAction var listnode10 = new Array[Object] var listnode13 = new Array[Object] var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var pclasskindnode5 = nodearraylist4 - assert pclasskindnode5 isa PClasskind + assert pclasskindnode5 isa nullable PClasskind var tclassidnode6 = nodearraylist6 - assert tclassidnode6 isa TClassid - var listnode7 = nodearraylist7 + assert tclassidnode6 isa nullable TClassid + var listnode7 = nodearraylist7 assert listnode7 isa Array[Object] - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var listnode9 = nodearraylist8 +# end + var listnode9 = nodearraylist8 assert listnode9 isa Array[Object] - if listnode9 != null then +# if listnode9 != null then if listnode10.is_empty then listnode10 = listnode9 else listnode10.append(listnode9) end - end +# end var ppropdefnode11 = nodearraylist9 - assert ppropdefnode11 isa PPropdef - var listnode12 = nodearraylist11 + assert ppropdefnode11 isa nullable PPropdef + var listnode12 = nodearraylist11 assert listnode12 isa Array[Object] if ppropdefnode11 != null then listnode13.add(ppropdefnode11) end - if listnode12 != null then +# if listnode12 != null then if listnode13.is_empty then listnode13 = listnode12 else listnode13.append(listnode12) end - end - var pclassdefnode1 = new AClassdef.init_aclassdef( +# end + var pclassdefnode1: nullable AClassdef = new AClassdef.init_aclassdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4610,11 +4609,11 @@ private class ReduceAction79 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwclassnode2 = nodearraylist1 - assert tkwclassnode2 isa TKwclass - var pclasskindnode1 = new AConcreteClasskind.init_aconcreteclasskind( + assert tkwclassnode2 isa nullable TKwclass + var pclasskindnode1: nullable AConcreteClasskind = new AConcreteClasskind.init_aconcreteclasskind( tkwclassnode2 ) node_list = pclasskindnode1 @@ -4626,14 +4625,14 @@ private class ReduceAction80 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwabstractnode2 = nodearraylist1 - assert tkwabstractnode2 isa TKwabstract + assert tkwabstractnode2 isa nullable TKwabstract var tkwclassnode3 = nodearraylist2 - assert tkwclassnode3 isa TKwclass - var pclasskindnode1 = new AAbstractClasskind.init_aabstractclasskind( + assert tkwclassnode3 isa nullable TKwclass + var pclasskindnode1: nullable AAbstractClasskind = new AAbstractClasskind.init_aabstractclasskind( tkwabstractnode2, tkwclassnode3 ) @@ -4646,11 +4645,11 @@ private class ReduceAction81 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwinterfacenode2 = nodearraylist1 - assert tkwinterfacenode2 isa TKwinterface - var pclasskindnode1 = new AInterfaceClasskind.init_ainterfaceclasskind( + assert tkwinterfacenode2 isa nullable TKwinterface + var pclasskindnode1: nullable AInterfaceClasskind = new AInterfaceClasskind.init_ainterfaceclasskind( tkwinterfacenode2 ) node_list = pclasskindnode1 @@ -4662,11 +4661,11 @@ private class ReduceAction82 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwuniversalnode2 = nodearraylist1 - assert tkwuniversalnode2 isa TKwuniversal - var pclasskindnode1 = new AUniversalClasskind.init_auniversalclasskind( + assert tkwuniversalnode2 isa nullable TKwuniversal + var pclasskindnode1: nullable AUniversalClasskind = new AUniversalClasskind.init_auniversalclasskind( tkwuniversalnode2 ) node_list = pclasskindnode1 @@ -4678,7 +4677,7 @@ private class ReduceAction83 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -4686,7 +4685,7 @@ special ReduceAction var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pformaldefnode1 = nodearraylist3 - assert pformaldefnode1 isa PFormaldef + assert pformaldefnode1 isa nullable PFormaldef if pformaldefnode1 != null then listnode2.add(pformaldefnode1) end @@ -4699,7 +4698,7 @@ private class ReduceAction84 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -4708,19 +4707,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pformaldefnode1 = nodearraylist3 - assert pformaldefnode1 isa PFormaldef - var listnode2 = nodearraylist4 + assert pformaldefnode1 isa nullable PFormaldef + var listnode2 = nodearraylist4 assert listnode2 isa Array[Object] if pformaldefnode1 != null then listnode3.add(pformaldefnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(7), node_list) end @@ -4730,12 +4729,12 @@ private class ReduceAction85 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pformaldefnode1 = nodearraylist3 - assert pformaldefnode1 isa PFormaldef + assert pformaldefnode1 isa nullable PFormaldef node_list = pformaldefnode1 p.push(p.go_to(8), node_list) end @@ -4745,11 +4744,11 @@ private class ReduceAction86 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tclassidnode2 = nodearraylist1 - assert tclassidnode2 isa TClassid - var pformaldefnode1 = new AFormaldef.init_aformaldef( + assert tclassidnode2 isa nullable TClassid + var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef( tclassidnode2, null ) @@ -4762,14 +4761,14 @@ private class ReduceAction87 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tclassidnode2 = nodearraylist1 - assert tclassidnode2 isa TClassid + assert tclassidnode2 isa nullable TClassid var ptypenode3 = nodearraylist2 - assert ptypenode3 isa PType - var pformaldefnode1 = new AFormaldef.init_aformaldef( + assert ptypenode3 isa nullable PType + var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef( tclassidnode2, ptypenode3 ) @@ -4782,16 +4781,16 @@ private class ReduceAction88 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwspecialnode2 = nodearraylist2 - assert tkwspecialnode2 isa TKwspecial + assert tkwspecialnode2 isa nullable TKwspecial var ptypenode3 = nodearraylist4 - assert ptypenode3 isa PType - var psuperclassnode1 = new ASuperclass.init_asuperclass( + assert ptypenode3 isa nullable PType + var psuperclassnode1: nullable ASuperclass = new ASuperclass.init_asuperclass( tkwspecialnode2, ptypenode3 ) @@ -4804,11 +4803,11 @@ private class ReduceAction89 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ppropdefnode1 = nodearraylist1 - assert ppropdefnode1 isa PPropdef + assert ppropdefnode1 isa nullable PPropdef node_list = ppropdefnode1 p.push(p.go_to(11), node_list) end @@ -4818,7 +4817,7 @@ private class ReduceAction90 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -4827,18 +4826,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, @@ -4856,7 +4855,7 @@ private class ReduceAction91 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -4866,20 +4865,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist8 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4897,7 +4896,7 @@ private class ReduceAction92 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -4907,18 +4906,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, @@ -4936,7 +4935,7 @@ private class ReduceAction93 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -4947,20 +4946,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist8 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -4978,7 +4977,7 @@ private class ReduceAction94 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -4987,16 +4986,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new ADeferredMethPropdef.init_adeferredmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable ADeferredMethPropdef = new ADeferredMethPropdef.init_adeferredmethpropdef( pdocnode2, null, pvisibilitynode4, @@ -5013,7 +5012,7 @@ private class ReduceAction95 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5023,18 +5022,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new ADeferredMethPropdef.init_adeferredmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable ADeferredMethPropdef = new ADeferredMethPropdef.init_adeferredmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -5051,7 +5050,7 @@ private class ReduceAction96 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -5060,16 +5059,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new AInternMethPropdef.init_ainternmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable AInternMethPropdef = new AInternMethPropdef.init_ainternmethpropdef( pdocnode2, null, pvisibilitynode4, @@ -5086,7 +5085,7 @@ private class ReduceAction97 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5096,18 +5095,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new AInternMethPropdef.init_ainternmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable AInternMethPropdef = new AInternMethPropdef.init_ainternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -5124,7 +5123,7 @@ private class ReduceAction98 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -5133,16 +5132,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, @@ -5160,7 +5159,7 @@ private class ReduceAction99 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5170,18 +5169,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -5199,7 +5198,7 @@ private class ReduceAction100 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5209,18 +5208,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var tstringnode8 = nodearraylist8 - assert tstringnode8 isa TString - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert tstringnode8 isa nullable TString + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, @@ -5238,7 +5237,7 @@ private class ReduceAction101 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -5249,20 +5248,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var tstringnode8 = nodearraylist9 - assert tstringnode8 isa TString - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert tstringnode8 isa nullable TString + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -5280,7 +5279,7 @@ private class ReduceAction102 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -5288,26 +5287,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist5 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5328,7 +5327,7 @@ private class ReduceAction103 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -5337,28 +5336,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5379,27 +5378,27 @@ private class ReduceAction104 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -5420,7 +5419,7 @@ private class ReduceAction105 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -5429,28 +5428,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5471,7 +5470,7 @@ private class ReduceAction106 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5481,30 +5480,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5525,7 +5524,7 @@ private class ReduceAction107 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -5533,22 +5532,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -5569,27 +5568,27 @@ private class ReduceAction108 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -5610,7 +5609,7 @@ private class ReduceAction109 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -5618,22 +5617,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -5654,20 +5653,20 @@ private class ReduceAction110 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist3 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode9 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -5688,7 +5687,7 @@ private class ReduceAction111 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -5697,28 +5696,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5739,7 +5738,7 @@ private class ReduceAction112 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5749,30 +5748,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5793,7 +5792,7 @@ private class ReduceAction113 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -5801,22 +5800,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -5837,7 +5836,7 @@ private class ReduceAction114 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -5847,30 +5846,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5891,7 +5890,7 @@ private class ReduceAction115 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -5902,32 +5901,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist8 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -5948,7 +5947,7 @@ private class ReduceAction116 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -5957,24 +5956,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -5995,7 +5994,7 @@ private class ReduceAction117 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -6003,22 +6002,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -6039,7 +6038,7 @@ private class ReduceAction118 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -6048,24 +6047,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -6086,23 +6085,23 @@ private class ReduceAction119 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist4 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode9 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -6123,7 +6122,7 @@ private class ReduceAction120 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -6132,28 +6131,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist5 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist7 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6174,7 +6173,7 @@ private class ReduceAction121 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -6184,30 +6183,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6228,7 +6227,7 @@ private class ReduceAction122 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -6236,22 +6235,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -6272,7 +6271,7 @@ private class ReduceAction123 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -6282,30 +6281,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6326,7 +6325,7 @@ private class ReduceAction124 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -6337,32 +6336,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6383,7 +6382,7 @@ private class ReduceAction125 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -6392,24 +6391,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -6430,7 +6429,7 @@ private class ReduceAction126 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -6438,22 +6437,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -6474,7 +6473,7 @@ private class ReduceAction127 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -6483,24 +6482,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -6521,23 +6520,23 @@ private class ReduceAction128 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist3 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist5 - assert ptypenode10 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode10 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -6558,7 +6557,7 @@ private class ReduceAction129 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -6568,30 +6567,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6612,7 +6611,7 @@ private class ReduceAction130 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -6623,32 +6622,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6669,7 +6668,7 @@ private class ReduceAction131 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -6678,24 +6677,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -6716,7 +6715,7 @@ private class ReduceAction132 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -6727,32 +6726,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6773,7 +6772,7 @@ private class ReduceAction133 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -6785,34 +6784,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist8 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist10 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -6833,7 +6832,7 @@ private class ReduceAction134 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -6843,26 +6842,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -6883,7 +6882,7 @@ private class ReduceAction135 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -6892,24 +6891,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -6930,7 +6929,7 @@ private class ReduceAction136 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -6940,26 +6939,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -6980,7 +6979,7 @@ private class ReduceAction137 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -6988,18 +6987,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist4 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist6 - assert ptypenode10 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode10 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -7020,7 +7019,7 @@ private class ReduceAction138 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -7031,28 +7030,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist5 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist9 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7073,7 +7072,7 @@ private class ReduceAction139 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -7085,30 +7084,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7129,7 +7128,7 @@ private class ReduceAction140 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -7139,22 +7138,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist8 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -7175,7 +7174,7 @@ private class ReduceAction141 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -7187,30 +7186,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7231,7 +7230,7 @@ private class ReduceAction142 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -7244,32 +7243,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7290,7 +7289,7 @@ private class ReduceAction143 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -7301,24 +7300,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -7339,7 +7338,7 @@ private class ReduceAction144 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -7349,22 +7348,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist8 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -7385,7 +7384,7 @@ private class ReduceAction145 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -7396,24 +7395,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -7434,7 +7433,7 @@ private class ReduceAction146 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -7443,16 +7442,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist3 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var pexprnode11 = nodearraylist7 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -7473,7 +7472,7 @@ private class ReduceAction147 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -7485,30 +7484,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7529,7 +7528,7 @@ private class ReduceAction148 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -7542,32 +7541,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7588,7 +7587,7 @@ private class ReduceAction149 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -7599,24 +7598,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -7637,7 +7636,7 @@ private class ReduceAction150 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -7650,32 +7649,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7696,7 +7695,7 @@ private class ReduceAction151 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -7710,34 +7709,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist8 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -7758,7 +7757,7 @@ private class ReduceAction152 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -7770,26 +7769,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -7810,7 +7809,7 @@ private class ReduceAction153 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -7821,24 +7820,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -7859,7 +7858,7 @@ private class ReduceAction154 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -7871,26 +7870,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -7911,7 +7910,7 @@ private class ReduceAction155 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -7921,18 +7920,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist4 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var pexprnode11 = nodearraylist8 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -7953,7 +7952,7 @@ private class ReduceAction156 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -7965,30 +7964,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist5 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist7 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8009,7 +8008,7 @@ private class ReduceAction157 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -8022,32 +8021,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8068,7 +8067,7 @@ private class ReduceAction158 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -8079,24 +8078,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -8117,7 +8116,7 @@ private class ReduceAction159 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -8130,32 +8129,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8176,7 +8175,7 @@ private class ReduceAction160 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -8190,34 +8189,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8238,7 +8237,7 @@ private class ReduceAction161 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -8250,26 +8249,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -8290,7 +8289,7 @@ private class ReduceAction162 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -8301,24 +8300,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist4 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -8339,7 +8338,7 @@ private class ReduceAction163 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -8351,26 +8350,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -8391,7 +8390,7 @@ private class ReduceAction164 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -8401,18 +8400,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist3 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist5 - assert ptypenode10 isa PType + assert ptypenode10 isa nullable PType var pexprnode11 = nodearraylist8 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -8433,7 +8432,7 @@ private class ReduceAction165 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -8446,32 +8445,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist6 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8492,7 +8491,7 @@ private class ReduceAction166 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -8506,34 +8505,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8554,7 +8553,7 @@ private class ReduceAction167 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -8566,26 +8565,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -8606,7 +8605,7 @@ private class ReduceAction168 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -8620,34 +8619,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist7 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8668,7 +8667,7 @@ private class ReduceAction169 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist13 = p.pop var nodearraylist12 = p.pop var nodearraylist11 = p.pop @@ -8683,36 +8682,36 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwattrnode11 = nodearraylist8 - assert tkwattrnode11 isa TKwattr + assert tkwattrnode11 isa nullable TKwattr var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist10 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist13 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8733,7 +8732,7 @@ private class ReduceAction170 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -8746,28 +8745,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist11 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -8788,7 +8787,7 @@ private class ReduceAction171 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -8800,26 +8799,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist5 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -8840,7 +8839,7 @@ private class ReduceAction172 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -8853,28 +8852,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwattrnode9 = nodearraylist6 - assert tkwattrnode9 isa TKwattr + assert tkwattrnode9 isa nullable TKwattr var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist11 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -8895,7 +8894,7 @@ private class ReduceAction173 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -8906,20 +8905,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwattrnode7 = nodearraylist4 - assert tkwattrnode7 isa TKwattr + assert tkwattrnode7 isa nullable TKwattr var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist6 - assert ptypenode10 isa PType + assert ptypenode10 isa nullable PType var pexprnode11 = nodearraylist9 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -8940,7 +8939,7 @@ private class ReduceAction174 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -8948,26 +8947,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist5 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -8988,7 +8987,7 @@ private class ReduceAction175 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -8997,28 +8996,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9039,27 +9038,27 @@ private class ReduceAction176 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -9080,7 +9079,7 @@ private class ReduceAction177 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -9089,28 +9088,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9131,7 +9130,7 @@ private class ReduceAction178 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -9141,30 +9140,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9185,7 +9184,7 @@ private class ReduceAction179 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -9193,22 +9192,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -9229,27 +9228,27 @@ private class ReduceAction180 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -9270,7 +9269,7 @@ private class ReduceAction181 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -9278,22 +9277,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -9314,20 +9313,20 @@ private class ReduceAction182 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist3 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode9 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -9348,7 +9347,7 @@ private class ReduceAction183 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -9357,28 +9356,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9399,7 +9398,7 @@ private class ReduceAction184 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -9409,30 +9408,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9453,7 +9452,7 @@ private class ReduceAction185 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -9461,22 +9460,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -9497,7 +9496,7 @@ private class ReduceAction186 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -9507,30 +9506,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9551,7 +9550,7 @@ private class ReduceAction187 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -9562,32 +9561,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist8 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode13 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9608,7 +9607,7 @@ private class ReduceAction188 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -9617,24 +9616,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -9655,7 +9654,7 @@ private class ReduceAction189 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -9663,22 +9662,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -9699,7 +9698,7 @@ private class ReduceAction190 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -9708,24 +9707,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode11 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -9746,23 +9745,23 @@ private class ReduceAction191 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist4 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert tattridnode9 isa nullable TAttrid + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -9783,7 +9782,7 @@ private class ReduceAction192 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -9792,28 +9791,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist5 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist7 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9834,7 +9833,7 @@ private class ReduceAction193 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -9844,30 +9843,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9888,7 +9887,7 @@ private class ReduceAction194 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -9896,22 +9895,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -9932,7 +9931,7 @@ private class ReduceAction195 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -9942,30 +9941,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -9986,7 +9985,7 @@ private class ReduceAction196 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -9997,32 +9996,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10043,7 +10042,7 @@ private class ReduceAction197 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -10052,24 +10051,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -10090,7 +10089,7 @@ private class ReduceAction198 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -10098,22 +10097,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -10134,7 +10133,7 @@ private class ReduceAction199 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -10143,24 +10142,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -10181,23 +10180,23 @@ private class ReduceAction200 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist3 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist5 - assert ptypenode10 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode10 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -10218,7 +10217,7 @@ private class ReduceAction201 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -10228,30 +10227,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10272,7 +10271,7 @@ private class ReduceAction202 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -10283,32 +10282,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10329,7 +10328,7 @@ private class ReduceAction203 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -10338,24 +10337,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -10376,7 +10375,7 @@ private class ReduceAction204 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -10387,32 +10386,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10433,7 +10432,7 @@ private class ReduceAction205 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -10445,34 +10444,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist8 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist10 - assert ptypenode14 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode14 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10493,7 +10492,7 @@ private class ReduceAction206 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -10503,26 +10502,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -10543,7 +10542,7 @@ private class ReduceAction207 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -10552,24 +10551,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -10590,7 +10589,7 @@ private class ReduceAction208 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -10600,26 +10599,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode12 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -10640,7 +10639,7 @@ private class ReduceAction209 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -10648,18 +10647,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist4 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist6 - assert ptypenode10 isa PType - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert ptypenode10 isa nullable PType + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -10680,7 +10679,7 @@ private class ReduceAction210 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -10691,28 +10690,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist5 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist9 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10733,7 +10732,7 @@ private class ReduceAction211 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -10745,30 +10744,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10789,7 +10788,7 @@ private class ReduceAction212 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -10799,22 +10798,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist8 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -10835,7 +10834,7 @@ private class ReduceAction213 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -10847,30 +10846,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10891,7 +10890,7 @@ private class ReduceAction214 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -10904,32 +10903,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -10950,7 +10949,7 @@ private class ReduceAction215 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -10961,24 +10960,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -10999,7 +10998,7 @@ private class ReduceAction216 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -11009,22 +11008,22 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist8 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -11045,7 +11044,7 @@ private class ReduceAction217 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -11056,24 +11055,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -11094,7 +11093,7 @@ private class ReduceAction218 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -11103,16 +11102,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist3 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var pexprnode11 = nodearraylist7 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -11133,7 +11132,7 @@ private class ReduceAction219 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -11145,30 +11144,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11189,7 +11188,7 @@ private class ReduceAction220 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -11202,32 +11201,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11248,7 +11247,7 @@ private class ReduceAction221 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -11259,24 +11258,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -11297,7 +11296,7 @@ private class ReduceAction222 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -11310,32 +11309,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11356,7 +11355,7 @@ private class ReduceAction223 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -11370,34 +11369,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist8 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11418,7 +11417,7 @@ private class ReduceAction224 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -11430,26 +11429,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -11470,7 +11469,7 @@ private class ReduceAction225 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -11481,24 +11480,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -11519,7 +11518,7 @@ private class ReduceAction226 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -11531,26 +11530,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -11571,7 +11570,7 @@ private class ReduceAction227 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -11581,18 +11580,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist4 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var pexprnode11 = nodearraylist8 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -11613,7 +11612,7 @@ private class ReduceAction228 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -11625,30 +11624,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist4 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist5 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist6 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist7 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist10 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11669,7 +11668,7 @@ private class ReduceAction229 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -11682,32 +11681,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11728,7 +11727,7 @@ private class ReduceAction230 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -11739,24 +11738,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -11777,7 +11776,7 @@ private class ReduceAction231 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -11790,32 +11789,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11836,7 +11835,7 @@ private class ReduceAction232 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -11850,34 +11849,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -11898,7 +11897,7 @@ private class ReduceAction233 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -11910,26 +11909,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -11950,7 +11949,7 @@ private class ReduceAction234 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -11961,24 +11960,24 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist3 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist4 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist5 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist6 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist9 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -11999,7 +11998,7 @@ private class ReduceAction235 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -12011,26 +12010,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -12051,7 +12050,7 @@ private class ReduceAction236 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -12061,18 +12060,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode6 = nodearraylist2 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist3 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist4 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist5 - assert ptypenode10 isa PType + assert ptypenode10 isa nullable PType var pexprnode11 = nodearraylist8 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -12093,7 +12092,7 @@ private class ReduceAction237 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -12106,32 +12105,32 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist3 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist4 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist5 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist6 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist7 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist8 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist11 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -12152,7 +12151,7 @@ private class ReduceAction238 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -12166,34 +12165,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -12214,7 +12213,7 @@ private class ReduceAction239 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -12226,26 +12225,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwreadablenode5 = nodearraylist2 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( null, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -12266,7 +12265,7 @@ private class ReduceAction240 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -12280,34 +12279,34 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwwritablenode8 = nodearraylist4 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist5 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist6 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist7 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist8 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist9 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist12 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -12328,7 +12327,7 @@ private class ReduceAction241 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist13 = p.pop var nodearraylist12 = p.pop var nodearraylist11 = p.pop @@ -12343,36 +12342,36 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var tkwwritablenode8 = nodearraylist5 - assert tkwwritablenode8 isa TKwwritable - var pablenode6 = new AWriteAble.init_awriteable( + assert tkwwritablenode8 isa nullable TKwwritable + var pablenode6: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode7, tkwwritablenode8 ) var tkwredefnode9 = nodearraylist6 - assert tkwredefnode9 isa TKwredef + assert tkwredefnode9 isa nullable TKwredef var pvisibilitynode10 = nodearraylist7 - assert pvisibilitynode10 isa PVisibility + assert pvisibilitynode10 isa nullable PVisibility var tkwvarnode12 = nodearraylist8 - assert tkwvarnode12 isa TKwvar + assert tkwvarnode12 isa nullable TKwvar var tattridnode13 = nodearraylist9 - assert tattridnode13 isa TAttrid + assert tattridnode13 isa nullable TAttrid var ptypenode14 = nodearraylist10 - assert ptypenode14 isa PType + assert ptypenode14 isa nullable PType var pexprnode15 = nodearraylist13 - assert pexprnode15 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode15 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, pablenode6, @@ -12393,7 +12392,7 @@ private class ReduceAction242 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -12406,28 +12405,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode4 = nodearraylist2 - assert tkwredefnode4 isa TKwredef + assert tkwredefnode4 isa nullable TKwredef var tkwreadablenode5 = nodearraylist3 - assert tkwreadablenode5 isa TKwreadable - var pablenode3 = new AReadAble.init_areadable( + assert tkwreadablenode5 isa nullable TKwreadable + var pablenode3: nullable AReadAble = new AReadAble.init_areadable( tkwredefnode4, tkwreadablenode5 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist11 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, pablenode3, null, @@ -12448,7 +12447,7 @@ private class ReduceAction243 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -12460,26 +12459,26 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwwritablenode6 = nodearraylist2 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( null, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist3 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist4 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist5 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist6 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist7 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist10 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -12500,7 +12499,7 @@ private class ReduceAction244 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -12513,28 +12512,28 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var tkwwritablenode6 = nodearraylist3 - assert tkwwritablenode6 isa TKwwritable - var pablenode4 = new AWriteAble.init_awriteable( + assert tkwwritablenode6 isa nullable TKwwritable + var pablenode4: nullable AWriteAble = new AWriteAble.init_awriteable( tkwredefnode5, tkwwritablenode6 ) var tkwredefnode7 = nodearraylist4 - assert tkwredefnode7 isa TKwredef + assert tkwredefnode7 isa nullable TKwredef var pvisibilitynode8 = nodearraylist5 - assert pvisibilitynode8 isa PVisibility + assert pvisibilitynode8 isa nullable PVisibility var tkwvarnode10 = nodearraylist6 - assert tkwvarnode10 isa TKwvar + assert tkwvarnode10 isa nullable TKwvar var tattridnode11 = nodearraylist7 - assert tattridnode11 isa TAttrid + assert tattridnode11 isa nullable TAttrid var ptypenode12 = nodearraylist8 - assert ptypenode12 isa PType + assert ptypenode12 isa nullable PType var pexprnode13 = nodearraylist11 - assert pexprnode13 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode13 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, pablenode4, @@ -12555,7 +12554,7 @@ private class ReduceAction245 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -12566,20 +12565,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode5 = nodearraylist2 - assert tkwredefnode5 isa TKwredef + assert tkwredefnode5 isa nullable TKwredef var pvisibilitynode6 = nodearraylist3 - assert pvisibilitynode6 isa PVisibility + assert pvisibilitynode6 isa nullable PVisibility var tkwvarnode8 = nodearraylist4 - assert tkwvarnode8 isa TKwvar + assert tkwvarnode8 isa nullable TKwvar var tattridnode9 = nodearraylist5 - assert tattridnode9 isa TAttrid + assert tattridnode9 isa nullable TAttrid var ptypenode10 = nodearraylist6 - assert ptypenode10 isa PType + assert ptypenode10 isa nullable PType var pexprnode11 = nodearraylist9 - assert pexprnode11 isa PExpr - var ppropdefnode1 = new AAttrPropdef.init_aattrpropdef( + assert pexprnode11 isa nullable PExpr + var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef( pdocnode2, null, null, @@ -12600,7 +12599,7 @@ private class ReduceAction246 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -12608,16 +12607,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist3 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var psignaturenode7 = nodearraylist4 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist6 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, @@ -12635,7 +12634,7 @@ private class ReduceAction247 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -12644,18 +12643,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist4 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -12673,7 +12672,7 @@ private class ReduceAction248 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -12682,18 +12681,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist3 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, @@ -12711,7 +12710,7 @@ private class ReduceAction249 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -12721,20 +12720,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist4 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist8 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -12752,7 +12751,7 @@ private class ReduceAction250 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -12761,16 +12760,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist3 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var psignaturenode7 = nodearraylist4 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist6 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, @@ -12788,7 +12787,7 @@ private class ReduceAction251 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -12798,18 +12797,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist4 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -12827,7 +12826,7 @@ private class ReduceAction252 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -12837,18 +12836,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist3 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, null, pvisibilitynode4, @@ -12866,7 +12865,7 @@ private class ReduceAction253 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -12877,20 +12876,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwinitnode5 = nodearraylist4 - assert tkwinitnode5 isa TKwinit + assert tkwinitnode5 isa nullable TKwinit var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist8 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteInitPropdef.init_aconcreteinitpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteInitPropdef = new AConcreteInitPropdef.init_aconcreteinitpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -12908,23 +12907,23 @@ private class ReduceAction254 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwtypenode5 = nodearraylist3 - assert tkwtypenode5 isa TKwtype + assert tkwtypenode5 isa nullable TKwtype var tclassidnode6 = nodearraylist4 - assert tclassidnode6 isa TClassid + assert tclassidnode6 isa nullable TClassid var ptypenode7 = nodearraylist5 - assert ptypenode7 isa PType - var ppropdefnode1 = new ATypePropdef.init_atypepropdef( + assert ptypenode7 isa nullable PType + var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef( pdocnode2, null, pvisibilitynode4, @@ -12941,7 +12940,7 @@ private class ReduceAction255 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -12949,18 +12948,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwtypenode5 = nodearraylist4 - assert tkwtypenode5 isa TKwtype + assert tkwtypenode5 isa nullable TKwtype var tclassidnode6 = nodearraylist5 - assert tclassidnode6 isa TClassid + assert tclassidnode6 isa nullable TClassid var ptypenode7 = nodearraylist6 - assert ptypenode7 isa PType - var ppropdefnode1 = new ATypePropdef.init_atypepropdef( + assert ptypenode7 isa nullable PType + var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -12977,8 +12976,8 @@ private class ReduceAction256 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null - var pvisibilitynode1 = new APublicVisibility.init_apublicvisibility( + var node_list: nullable Object = null + var pvisibilitynode1: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility( ) node_list = pvisibilitynode1 p.push(p.go_to(13), node_list) @@ -12989,12 +12988,12 @@ private class ReduceAction257 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwprivatenode2 = nodearraylist1 - assert tkwprivatenode2 isa TKwprivate - var pvisibilitynode1 = new APrivateVisibility.init_aprivatevisibility( + assert tkwprivatenode2 isa nullable TKwprivate + var pvisibilitynode1: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility( tkwprivatenode2 ) node_list = pvisibilitynode1 @@ -13006,12 +13005,12 @@ private class ReduceAction258 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwprotectednode2 = nodearraylist1 - assert tkwprotectednode2 isa TKwprotected - var pvisibilitynode1 = new AProtectedVisibility.init_aprotectedvisibility( + assert tkwprotectednode2 isa nullable TKwprotected + var pvisibilitynode1: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility( tkwprotectednode2 ) node_list = pvisibilitynode1 @@ -13023,12 +13022,12 @@ private class ReduceAction259 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwintrudenode2 = nodearraylist1 - assert tkwintrudenode2 isa TKwintrude - var pvisibilitynode1 = new AIntrudeVisibility.init_aintrudevisibility( + assert tkwintrudenode2 isa nullable TKwintrude + var pvisibilitynode1: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility( tkwintrudenode2 ) node_list = pvisibilitynode1 @@ -13040,11 +13039,11 @@ private class ReduceAction260 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 - assert tidnode2 isa TId - var pmethidnode1 = new AIdMethid.init_aidmethid( + assert tidnode2 isa nullable TId + var pmethidnode1: nullable AIdMethid = new AIdMethid.init_aidmethid( tidnode2 ) node_list = pmethidnode1 @@ -13056,11 +13055,11 @@ private class ReduceAction261 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tplusnode2 = nodearraylist1 - assert tplusnode2 isa TPlus - var pmethidnode1 = new APlusMethid.init_aplusmethid( + assert tplusnode2 isa nullable TPlus + var pmethidnode1: nullable APlusMethid = new APlusMethid.init_aplusmethid( tplusnode2 ) node_list = pmethidnode1 @@ -13072,11 +13071,11 @@ private class ReduceAction262 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 - assert tminusnode2 isa TMinus - var pmethidnode1 = new AMinusMethid.init_aminusmethid( + assert tminusnode2 isa nullable TMinus + var pmethidnode1: nullable AMinusMethid = new AMinusMethid.init_aminusmethid( tminusnode2 ) node_list = pmethidnode1 @@ -13088,11 +13087,11 @@ private class ReduceAction263 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstarnode2 = nodearraylist1 - assert tstarnode2 isa TStar - var pmethidnode1 = new AStarMethid.init_astarmethid( + assert tstarnode2 isa nullable TStar + var pmethidnode1: nullable AStarMethid = new AStarMethid.init_astarmethid( tstarnode2 ) node_list = pmethidnode1 @@ -13104,11 +13103,11 @@ private class ReduceAction264 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tslashnode2 = nodearraylist1 - assert tslashnode2 isa TSlash - var pmethidnode1 = new ASlashMethid.init_aslashmethid( + assert tslashnode2 isa nullable TSlash + var pmethidnode1: nullable ASlashMethid = new ASlashMethid.init_aslashmethid( tslashnode2 ) node_list = pmethidnode1 @@ -13120,11 +13119,11 @@ private class ReduceAction265 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tpercentnode2 = nodearraylist1 - assert tpercentnode2 isa TPercent - var pmethidnode1 = new APercentMethid.init_apercentmethid( + assert tpercentnode2 isa nullable TPercent + var pmethidnode1: nullable APercentMethid = new APercentMethid.init_apercentmethid( tpercentnode2 ) node_list = pmethidnode1 @@ -13136,11 +13135,11 @@ private class ReduceAction266 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var teqnode2 = nodearraylist1 - assert teqnode2 isa TEq - var pmethidnode1 = new AEqMethid.init_aeqmethid( + assert teqnode2 isa nullable TEq + var pmethidnode1: nullable AEqMethid = new AEqMethid.init_aeqmethid( teqnode2 ) node_list = pmethidnode1 @@ -13152,11 +13151,11 @@ private class ReduceAction267 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tnenode2 = nodearraylist1 - assert tnenode2 isa TNe - var pmethidnode1 = new ANeMethid.init_anemethid( + assert tnenode2 isa nullable TNe + var pmethidnode1: nullable ANeMethid = new ANeMethid.init_anemethid( tnenode2 ) node_list = pmethidnode1 @@ -13168,11 +13167,11 @@ private class ReduceAction268 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tlenode2 = nodearraylist1 - assert tlenode2 isa TLe - var pmethidnode1 = new ALeMethid.init_alemethid( + assert tlenode2 isa nullable TLe + var pmethidnode1: nullable ALeMethid = new ALeMethid.init_alemethid( tlenode2 ) node_list = pmethidnode1 @@ -13184,11 +13183,11 @@ private class ReduceAction269 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tgenode2 = nodearraylist1 - assert tgenode2 isa TGe - var pmethidnode1 = new AGeMethid.init_agemethid( + assert tgenode2 isa nullable TGe + var pmethidnode1: nullable AGeMethid = new AGeMethid.init_agemethid( tgenode2 ) node_list = pmethidnode1 @@ -13200,11 +13199,11 @@ private class ReduceAction270 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tltnode2 = nodearraylist1 - assert tltnode2 isa TLt - var pmethidnode1 = new ALtMethid.init_altmethid( + assert tltnode2 isa nullable TLt + var pmethidnode1: nullable ALtMethid = new ALtMethid.init_altmethid( tltnode2 ) node_list = pmethidnode1 @@ -13216,11 +13215,11 @@ private class ReduceAction271 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tgtnode2 = nodearraylist1 - assert tgtnode2 isa TGt - var pmethidnode1 = new AGtMethid.init_agtmethid( + assert tgtnode2 isa nullable TGt + var pmethidnode1: nullable AGtMethid = new AGtMethid.init_agtmethid( tgtnode2 ) node_list = pmethidnode1 @@ -13232,14 +13231,14 @@ private class ReduceAction272 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tobranode2 = nodearraylist1 - assert tobranode2 isa TObra + assert tobranode2 isa nullable TObra var tcbranode3 = nodearraylist2 - assert tcbranode3 isa TCbra - var pmethidnode1 = new ABraMethid.init_abramethid( + assert tcbranode3 isa nullable TCbra + var pmethidnode1: nullable ABraMethid = new ABraMethid.init_abramethid( tobranode2, tcbranode3 ) @@ -13252,11 +13251,11 @@ private class ReduceAction273 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstarshipnode2 = nodearraylist1 - assert tstarshipnode2 isa TStarship - var pmethidnode1 = new AStarshipMethid.init_astarshipmethid( + assert tstarshipnode2 isa nullable TStarship + var pmethidnode1: nullable AStarshipMethid = new AStarshipMethid.init_astarshipmethid( tstarshipnode2 ) node_list = pmethidnode1 @@ -13268,14 +13267,14 @@ private class ReduceAction274 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 - assert tidnode2 isa TId + assert tidnode2 isa nullable TId var tassignnode3 = nodearraylist2 - assert tassignnode3 isa TAssign - var pmethidnode1 = new AAssignMethid.init_aassignmethid( + assert tassignnode3 isa nullable TAssign + var pmethidnode1: nullable AAssignMethid = new AAssignMethid.init_aassignmethid( tidnode2, tassignnode3 ) @@ -13288,17 +13287,17 @@ private class ReduceAction275 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tobranode2 = nodearraylist1 - assert tobranode2 isa TObra + assert tobranode2 isa nullable TObra var tcbranode3 = nodearraylist2 - assert tcbranode3 isa TCbra + assert tcbranode3 isa nullable TCbra var tassignnode4 = nodearraylist3 - assert tassignnode4 isa TAssign - var pmethidnode1 = new ABraassignMethid.init_abraassignmethid( + assert tassignnode4 isa nullable TAssign + var pmethidnode1: nullable ABraassignMethid = new ABraassignMethid.init_abraassignmethid( tobranode2, tcbranode3, tassignnode4 @@ -13312,20 +13311,20 @@ private class ReduceAction276 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var listnode5 = new Array[Object] - var listnode4 = nodearraylist1 + var listnode4 = nodearraylist1 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var psignaturenode1 = new ASignature.init_asignature( +# end + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode2, null, listnode5 @@ -13339,30 +13338,30 @@ private class ReduceAction277 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode6 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var listnode5 = nodearraylist2 +# end + var listnode5 = nodearraylist2 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var psignaturenode1 = new ASignature.init_asignature( +# end + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode3, null, listnode6 @@ -13376,23 +13375,23 @@ private class ReduceAction278 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var listnode5 = new Array[Object] var ptypenode3 = nodearraylist1 - assert ptypenode3 isa PType - var listnode4 = nodearraylist2 + assert ptypenode3 isa nullable PType + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var psignaturenode1 = new ASignature.init_asignature( +# end + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode2, ptypenode3, listnode5 @@ -13406,33 +13405,33 @@ private class ReduceAction279 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode6 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end var ptypenode4 = nodearraylist2 - assert ptypenode4 isa PType - var listnode5 = nodearraylist3 + assert ptypenode4 isa nullable PType + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var psignaturenode1 = new ASignature.init_asignature( +# end + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode3, ptypenode4, listnode6 @@ -13446,11 +13445,11 @@ private class ReduceAction280 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var listnode4 = new Array[Object] - var psignaturenode1 = new ASignature.init_asignature( + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode2, null, listnode4 @@ -13464,21 +13463,21 @@ private class ReduceAction281 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var psignaturenode1 = new ASignature.init_asignature( +# end + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode3, null, listnode5 @@ -13492,14 +13491,14 @@ private class ReduceAction282 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] var listnode4 = new Array[Object] var ptypenode3 = nodearraylist1 - assert ptypenode3 isa PType - var psignaturenode1 = new ASignature.init_asignature( + assert ptypenode3 isa nullable PType + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode2, ptypenode3, listnode4 @@ -13513,24 +13512,24 @@ private class ReduceAction283 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end var ptypenode4 = nodearraylist2 - assert ptypenode4 isa PType - var psignaturenode1 = new ASignature.init_asignature( + assert ptypenode4 isa nullable PType + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode3, ptypenode4, listnode5 @@ -13544,10 +13543,10 @@ private class ReduceAction284 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var listnode2 = new Array[Object] var listnode4 = new Array[Object] - var psignaturenode1 = new ASignature.init_asignature( + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode2, null, listnode4 @@ -13561,20 +13560,20 @@ private class ReduceAction285 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var psignaturenode1 = new ASignature.init_asignature( +# end + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode3, null, listnode5 @@ -13588,13 +13587,13 @@ private class ReduceAction286 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var listnode4 = new Array[Object] var ptypenode3 = nodearraylist1 - assert ptypenode3 isa PType - var psignaturenode1 = new ASignature.init_asignature( + assert ptypenode3 isa nullable PType + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode2, ptypenode3, listnode4 @@ -13608,23 +13607,23 @@ private class ReduceAction287 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var listnode5 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end var ptypenode4 = nodearraylist2 - assert ptypenode4 isa PType - var psignaturenode1 = new ASignature.init_asignature( + assert ptypenode4 isa nullable PType + var psignaturenode1: nullable ASignature = new ASignature.init_asignature( listnode3, ptypenode4, listnode5 @@ -13638,7 +13637,7 @@ private class ReduceAction288 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -13646,7 +13645,7 @@ special ReduceAction var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pparamnode1 = nodearraylist3 - assert pparamnode1 isa PParam + assert pparamnode1 isa nullable PParam if pparamnode1 != null then listnode2.add(pparamnode1) end @@ -13659,7 +13658,7 @@ private class ReduceAction289 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -13668,19 +13667,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pparamnode1 = nodearraylist3 - assert pparamnode1 isa PParam - var listnode2 = nodearraylist4 + assert pparamnode1 isa nullable PParam + var listnode2 = nodearraylist4 assert listnode2 isa Array[Object] if pparamnode1 != null then listnode3.add(pparamnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(17), node_list) end @@ -13690,7 +13689,7 @@ private class ReduceAction290 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop @@ -13704,12 +13703,12 @@ private class ReduceAction291 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pparamnode1 = nodearraylist3 - assert pparamnode1 isa PParam + assert pparamnode1 isa nullable PParam node_list = pparamnode1 p.push(p.go_to(18), node_list) end @@ -13719,11 +13718,11 @@ private class ReduceAction292 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 - assert tidnode2 isa TId - var pparamnode1 = new AParam.init_aparam( + assert tidnode2 isa nullable TId + var pparamnode1: nullable AParam = new AParam.init_aparam( tidnode2, null, null @@ -13737,14 +13736,14 @@ private class ReduceAction293 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 - assert tidnode2 isa TId + assert tidnode2 isa nullable TId var ptypenode3 = nodearraylist2 - assert ptypenode3 isa PType - var pparamnode1 = new AParam.init_aparam( + assert ptypenode3 isa nullable PType + var pparamnode1: nullable AParam = new AParam.init_aparam( tidnode2, ptypenode3, null @@ -13758,17 +13757,17 @@ private class ReduceAction294 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode2 = nodearraylist1 - assert tidnode2 isa TId + assert tidnode2 isa nullable TId var ptypenode3 = nodearraylist2 - assert ptypenode3 isa PType + assert ptypenode3 isa nullable PType var tdotdotdotnode4 = nodearraylist3 - assert tdotdotdotnode4 isa TDotdotdot - var pparamnode1 = new AParam.init_aparam( + assert tdotdotdotnode4 isa nullable TDotdotdot + var pparamnode1: nullable AParam = new AParam.init_aparam( tidnode2, ptypenode3, tdotdotdotnode4 @@ -13782,19 +13781,19 @@ private class ReduceAction295 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] - var listnode1 = nodearraylist2 + var listnode1 = nodearraylist2 assert listnode1 isa Array[Object] - if listnode1 != null then +# if listnode1 != null then if listnode2.is_empty then listnode2 = listnode1 else listnode2.append(listnode1) end - end +# end node_list = listnode2 p.push(p.go_to(20), node_list) end @@ -13804,19 +13803,19 @@ private class ReduceAction296 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tidnode4 = nodearraylist3 - assert tidnode4 isa TId + assert tidnode4 isa nullable TId var psignaturenode5 = nodearraylist4 - assert psignaturenode5 isa PSignature - var pclosuredeclnode1 = new AClosureDecl.init_aclosuredecl( + assert psignaturenode5 isa nullable PSignature + var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl( tkwwithnode2, null, tidnode4, @@ -13832,7 +13831,7 @@ private class ReduceAction297 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -13840,14 +13839,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwbreaknode3 = nodearraylist2 - assert tkwbreaknode3 isa TKwbreak + assert tkwbreaknode3 isa nullable TKwbreak var tidnode4 = nodearraylist4 - assert tidnode4 isa TId + assert tidnode4 isa nullable TId var psignaturenode5 = nodearraylist5 - assert psignaturenode5 isa PSignature - var pclosuredeclnode1 = new AClosureDecl.init_aclosuredecl( + assert psignaturenode5 isa nullable PSignature + var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl( tkwwithnode2, tkwbreaknode3, tidnode4, @@ -13863,7 +13862,7 @@ private class ReduceAction298 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -13872,14 +13871,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tidnode4 = nodearraylist3 - assert tidnode4 isa TId + assert tidnode4 isa nullable TId var psignaturenode5 = nodearraylist4 - assert psignaturenode5 isa PSignature + assert psignaturenode5 isa nullable PSignature var pexprnode6 = nodearraylist6 - assert pexprnode6 isa PExpr - var pclosuredeclnode1 = new AClosureDecl.init_aclosuredecl( + assert pexprnode6 isa nullable PExpr + var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl( tkwwithnode2, null, tidnode4, @@ -13895,7 +13894,7 @@ private class ReduceAction299 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -13905,16 +13904,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwbreaknode3 = nodearraylist2 - assert tkwbreaknode3 isa TKwbreak + assert tkwbreaknode3 isa nullable TKwbreak var tidnode4 = nodearraylist4 - assert tidnode4 isa TId + assert tidnode4 isa nullable TId var psignaturenode5 = nodearraylist5 - assert psignaturenode5 isa PSignature + assert psignaturenode5 isa nullable PSignature var pexprnode6 = nodearraylist7 - assert pexprnode6 isa PExpr - var pclosuredeclnode1 = new AClosureDecl.init_aclosuredecl( + assert pexprnode6 isa nullable PExpr + var pclosuredeclnode1: nullable AClosureDecl = new AClosureDecl.init_aclosuredecl( tkwwithnode2, tkwbreaknode3, tidnode4, @@ -13930,12 +13929,12 @@ private class ReduceAction300 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tclassidnode3 = nodearraylist1 - assert tclassidnode3 isa TClassid - var ptypenode1 = new AType.init_atype( + assert tclassidnode3 isa nullable TClassid + var ptypenode1: nullable AType = new AType.init_atype( null, tclassidnode3, listnode4 @@ -13949,15 +13948,15 @@ private class ReduceAction301 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwnullablenode2 = nodearraylist1 - assert tkwnullablenode2 isa TKwnullable + assert tkwnullablenode2 isa nullable TKwnullable var tclassidnode3 = nodearraylist2 - assert tclassidnode3 isa TClassid - var ptypenode1 = new AType.init_atype( + assert tclassidnode3 isa nullable TClassid + var ptypenode1: nullable AType = new AType.init_atype( tkwnullablenode2, tclassidnode3, listnode4 @@ -13971,7 +13970,7 @@ private class ReduceAction302 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -13980,17 +13979,17 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tclassidnode3 = nodearraylist1 - assert tclassidnode3 isa TClassid - var listnode4 = nodearraylist4 + assert tclassidnode3 isa nullable TClassid + var listnode4 = nodearraylist4 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var ptypenode1 = new AType.init_atype( +# end + var ptypenode1: nullable AType = new AType.init_atype( null, tclassidnode3, listnode5 @@ -14004,7 +14003,7 @@ private class ReduceAction303 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -14014,19 +14013,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwnullablenode2 = nodearraylist1 - assert tkwnullablenode2 isa TKwnullable + assert tkwnullablenode2 isa nullable TKwnullable var tclassidnode3 = nodearraylist2 - assert tclassidnode3 isa TClassid - var listnode4 = nodearraylist5 + assert tclassidnode3 isa nullable TClassid + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var ptypenode1 = new AType.init_atype( +# end + var ptypenode1: nullable AType = new AType.init_atype( tkwnullablenode2, tclassidnode3, listnode5 @@ -14040,11 +14039,11 @@ private class ReduceAction304 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ptypenode1 = nodearraylist1 - assert ptypenode1 isa PType + assert ptypenode1 isa nullable PType if ptypenode1 != null then listnode2.add(ptypenode1) end @@ -14057,24 +14056,24 @@ private class ReduceAction305 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var ptypenode1 = nodearraylist1 - assert ptypenode1 isa PType - var listnode2 = nodearraylist2 + assert ptypenode1 isa nullable PType + var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] if ptypenode1 != null then listnode3.add(ptypenode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(23), node_list) end @@ -14084,12 +14083,12 @@ private class ReduceAction306 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ptypenode1 = nodearraylist3 - assert ptypenode1 isa PType + assert ptypenode1 isa nullable PType node_list = ptypenode1 p.push(p.go_to(24), node_list) end @@ -14099,12 +14098,12 @@ private class ReduceAction307 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ptypenode1 = nodearraylist3 - assert ptypenode1 isa PType + assert ptypenode1 isa nullable PType node_list = ptypenode1 p.push(p.go_to(25), node_list) end @@ -14114,10 +14113,10 @@ private class ReduceAction308 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(26), node_list) end @@ -14127,18 +14126,18 @@ private class ReduceAction309 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode2 = nodearraylist2 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr if pexprnode2 != null then listnode3.add(pexprnode2) end - var pexprnode1 = new ABlockExpr.init_ablockexpr( + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode3 ) node_list = pexprnode1 @@ -14150,7 +14149,7 @@ private class ReduceAction310 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -14158,20 +14157,20 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist2 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist3 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist3 assert listnode3 isa Array[Object] if pexprnode2 != null then listnode4.add(pexprnode2) end - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var pexprnode1 = new ABlockExpr.init_ablockexpr( +# end + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode4 ) node_list = pexprnode1 @@ -14183,11 +14182,11 @@ private class ReduceAction311 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] - var pexprnode1 = new ABlockExpr.init_ablockexpr( + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode2 ) node_list = pexprnode1 @@ -14199,10 +14198,10 @@ private class ReduceAction312 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] - var pexprnode1 = new ABlockExpr.init_ablockexpr( + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode2 ) node_list = pexprnode1 @@ -14214,11 +14213,11 @@ private class ReduceAction313 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(27), node_list) end @@ -14228,10 +14227,10 @@ private class ReduceAction314 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14241,10 +14240,10 @@ private class ReduceAction315 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14254,11 +14253,11 @@ private class ReduceAction316 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 - assert tkwreturnnode2 isa TKwreturn - var pexprnode1 = new AReturnExpr.init_areturnexpr( + assert tkwreturnnode2 isa nullable TKwreturn + var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr( tkwreturnnode2, null ) @@ -14271,14 +14270,14 @@ private class ReduceAction317 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 - assert tkwreturnnode2 isa TKwreturn + assert tkwreturnnode2 isa nullable TKwreturn var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new AReturnExpr.init_areturnexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr( tkwreturnnode2, pexprnode3 ) @@ -14291,11 +14290,11 @@ private class ReduceAction318 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwbreaknode2 = nodearraylist1 - assert tkwbreaknode2 isa TKwbreak - var pexprnode1 = new ABreakExpr.init_abreakexpr( + assert tkwbreaknode2 isa nullable TKwbreak + var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr( tkwbreaknode2, null ) @@ -14308,14 +14307,14 @@ private class ReduceAction319 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwbreaknode2 = nodearraylist1 - assert tkwbreaknode2 isa TKwbreak + assert tkwbreaknode2 isa nullable TKwbreak var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new ABreakExpr.init_abreakexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr( tkwbreaknode2, pexprnode3 ) @@ -14328,11 +14327,11 @@ private class ReduceAction320 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwabortnode2 = nodearraylist1 - assert tkwabortnode2 isa TKwabort - var pexprnode1 = new AAbortExpr.init_aabortexpr( + assert tkwabortnode2 isa nullable TKwabort + var pexprnode1: nullable AAbortExpr = new AAbortExpr.init_aabortexpr( tkwabortnode2 ) node_list = pexprnode1 @@ -14344,11 +14343,11 @@ private class ReduceAction321 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwcontinuenode2 = nodearraylist1 - assert tkwcontinuenode2 isa TKwcontinue - var pexprnode1 = new AContinueExpr.init_acontinueexpr( + assert tkwcontinuenode2 isa nullable TKwcontinue + var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr( tkwcontinuenode2, null ) @@ -14361,14 +14360,14 @@ private class ReduceAction322 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwcontinuenode2 = nodearraylist1 - assert tkwcontinuenode2 isa TKwcontinue + assert tkwcontinuenode2 isa nullable TKwcontinue var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new AContinueExpr.init_acontinueexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr( tkwcontinuenode2, pexprnode3 ) @@ -14381,10 +14380,10 @@ private class ReduceAction323 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14394,10 +14393,10 @@ private class ReduceAction324 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14407,10 +14406,10 @@ private class ReduceAction325 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14420,10 +14419,10 @@ private class ReduceAction326 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14433,10 +14432,10 @@ private class ReduceAction327 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(28), node_list) end @@ -14446,7 +14445,7 @@ private class ReduceAction328 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -14455,19 +14454,19 @@ special ReduceAction var listnode5 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -14482,25 +14481,25 @@ private class ReduceAction329 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode6 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -14515,7 +14514,7 @@ private class ReduceAction330 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -14525,28 +14524,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -14561,35 +14560,35 @@ private class ReduceAction331 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -14604,22 +14603,22 @@ private class ReduceAction332 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist2 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 @@ -14633,25 +14632,25 @@ private class ReduceAction333 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 - assert pqualifiednode2 isa PQualified + assert pqualifiednode2 isa nullable PQualified var tkwsupernode3 = nodearraylist2 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist3 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 @@ -14665,7 +14664,7 @@ private class ReduceAction334 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -14673,19 +14672,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwinitnode3 = nodearraylist4 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist5 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -14699,24 +14698,24 @@ private class ReduceAction335 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist2 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -14730,11 +14729,11 @@ private class ReduceAction336 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pclosuredefnode1 = nodearraylist1 - assert pclosuredefnode1 isa PClosureDef + assert pclosuredefnode1 isa nullable PClosureDef if pclosuredefnode1 != null then listnode2.add(pclosuredefnode1) end @@ -14747,24 +14746,24 @@ private class ReduceAction337 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pclosuredefnode1 = nodearraylist1 - assert pclosuredefnode1 isa PClosureDef - var listnode2 = nodearraylist2 + assert pclosuredefnode1 isa nullable PClosureDef + var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] if pclosuredefnode1 != null then listnode3.add(pclosuredefnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(29), node_list) end @@ -14774,18 +14773,18 @@ private class ReduceAction338 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwdonode4 = nodearraylist2 - assert tkwdonode4 isa TKwdo + assert tkwdonode4 isa nullable TKwdo var pexprnode5 = nodearraylist3 - assert pexprnode5 isa PExpr - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + assert pexprnode5 isa nullable PExpr + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode3, tkwdonode4, @@ -14800,28 +14799,28 @@ private class ReduceAction339 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith - var listnode3 = nodearraylist2 + assert tkwwithnode2 isa nullable TKwwith + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tkwdonode5 = nodearraylist3 - assert tkwdonode5 isa TKwdo + assert tkwdonode5 isa nullable TKwdo var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + assert pexprnode6 isa nullable PExpr + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode4, tkwdonode5, @@ -14836,7 +14835,7 @@ private class ReduceAction340 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -14844,19 +14843,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwdonode4 = nodearraylist2 - assert tkwdonode4 isa TKwdo + assert tkwdonode4 isa nullable TKwdo var listnode7 = new Array[Object] var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr + assert pexprnode6 isa nullable PExpr if pexprnode6 != null then listnode7.add(pexprnode6) end - var pexprnode5 = new ABlockExpr.init_ablockexpr( + var pexprnode5: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode7 ) - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode3, tkwdonode4, @@ -14871,7 +14870,7 @@ private class ReduceAction341 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -14880,28 +14879,28 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwdonode4 = nodearraylist2 - assert tkwdonode4 isa TKwdo + assert tkwdonode4 isa nullable TKwdo var listnode8 = new Array[Object] var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var listnode7 = nodearraylist5 + assert pexprnode6 isa nullable PExpr + var listnode7 = nodearraylist5 assert listnode7 isa Array[Object] if pexprnode6 != null then listnode8.add(pexprnode6) end - if listnode7 != null then +# if listnode7 != null then if listnode8.is_empty then listnode8 = listnode7 else listnode8.append(listnode7) end - end - var pexprnode5 = new ABlockExpr.init_ablockexpr( +# end + var pexprnode5: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode8 ) - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode3, tkwdonode4, @@ -14916,7 +14915,7 @@ private class ReduceAction342 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -14925,28 +14924,28 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith - var listnode3 = nodearraylist2 + assert tkwwithnode2 isa nullable TKwwith + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tkwdonode5 = nodearraylist3 - assert tkwdonode5 isa TKwdo + assert tkwdonode5 isa nullable TKwdo var listnode8 = new Array[Object] var pexprnode7 = nodearraylist5 - assert pexprnode7 isa PExpr + assert pexprnode7 isa nullable PExpr if pexprnode7 != null then listnode8.add(pexprnode7) end - var pexprnode6 = new ABlockExpr.init_ablockexpr( + var pexprnode6: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode8 ) - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode4, tkwdonode5, @@ -14961,7 +14960,7 @@ private class ReduceAction343 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -14971,37 +14970,37 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith - var listnode3 = nodearraylist2 + assert tkwwithnode2 isa nullable TKwwith + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tkwdonode5 = nodearraylist3 - assert tkwdonode5 isa TKwdo + assert tkwdonode5 isa nullable TKwdo var listnode9 = new Array[Object] var pexprnode7 = nodearraylist5 - assert pexprnode7 isa PExpr - var listnode8 = nodearraylist6 + assert pexprnode7 isa nullable PExpr + var listnode8 = nodearraylist6 assert listnode8 isa Array[Object] if pexprnode7 != null then listnode9.add(pexprnode7) end - if listnode8 != null then +# if listnode8 != null then if listnode9.is_empty then listnode9 = listnode8 else listnode9.append(listnode8) end - end - var pexprnode6 = new ABlockExpr.init_ablockexpr( +# end + var pexprnode6: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode9 ) - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode4, tkwdonode5, @@ -15016,16 +15015,16 @@ private class ReduceAction344 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwdonode4 = nodearraylist2 - assert tkwdonode4 isa TKwdo - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + assert tkwdonode4 isa nullable TKwdo + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode3, tkwdonode4, @@ -15040,26 +15039,26 @@ private class ReduceAction345 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith - var listnode3 = nodearraylist2 + assert tkwwithnode2 isa nullable TKwwith + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tkwdonode5 = nodearraylist3 - assert tkwdonode5 isa TKwdo - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + assert tkwdonode5 isa nullable TKwdo + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode4, tkwdonode5, @@ -15074,14 +15073,14 @@ private class ReduceAction346 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert tidnode3 isa nullable TId + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, null, @@ -15097,17 +15096,17 @@ private class ReduceAction347 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var ptypenode4 = nodearraylist3 - assert ptypenode4 isa PType - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert ptypenode4 isa nullable PType + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, ptypenode4, @@ -15123,21 +15122,21 @@ private class ReduceAction348 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var tassignnode5 = nodearraylist3 - assert tassignnode5 isa TAssign + assert tassignnode5 isa nullable TAssign var pexprnode6 = nodearraylist5 - assert pexprnode6 isa PExpr - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, null, @@ -15153,7 +15152,7 @@ private class ReduceAction349 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15161,16 +15160,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var ptypenode4 = nodearraylist3 - assert ptypenode4 isa PType + assert ptypenode4 isa nullable PType var tassignnode5 = nodearraylist4 - assert tassignnode5 isa TAssign + assert tassignnode5 isa nullable TAssign var pexprnode6 = nodearraylist6 - assert pexprnode6 isa PExpr - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, ptypenode4, @@ -15186,7 +15185,7 @@ private class ReduceAction350 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15194,14 +15193,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var tassignnode4 = nodearraylist5 - assert tassignnode4 isa TAssign + assert tassignnode4 isa nullable TAssign var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrAssignExpr.init_aattrassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr( pexprnode2, tattridnode3, tassignnode4, @@ -15216,19 +15215,19 @@ private class ReduceAction351 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var tassignnode4 = nodearraylist2 - assert tassignnode4 isa TAssign + assert tassignnode4 isa nullable TAssign var pexprnode5 = nodearraylist3 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrAssignExpr.init_aattrassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr( pexprnode2, tattridnode3, tassignnode4, @@ -15243,7 +15242,7 @@ private class ReduceAction352 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -15253,23 +15252,23 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var tassignnode6 = nodearraylist6 - assert tassignnode6 isa TAssign + assert tassignnode6 isa nullable TAssign var pexprnode7 = nodearraylist7 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallAssignExpr.init_acallassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr( pexprnode2, tidnode3, listnode5, @@ -15285,30 +15284,30 @@ private class ReduceAction353 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var tassignnode6 = nodearraylist3 - assert tassignnode6 isa TAssign + assert tassignnode6 isa nullable TAssign var pexprnode7 = nodearraylist4 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallAssignExpr.init_acallassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr( pexprnode2, tidnode3, listnode5, @@ -15324,28 +15323,28 @@ private class ReduceAction354 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tassignnode5 = nodearraylist3 - assert tassignnode5 isa TAssign + assert tassignnode5 isa nullable TAssign var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var pexprnode1 = new ABraAssignExpr.init_abraassignexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr( pexprnode2, listnode4, tassignnode5, @@ -15360,7 +15359,7 @@ private class ReduceAction355 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15368,14 +15367,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var passignopnode4 = nodearraylist5 - assert passignopnode4 isa PAssignOp + assert passignopnode4 isa nullable PAssignOp var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrReassignExpr.init_aattrreassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr( pexprnode2, tattridnode3, passignopnode4, @@ -15390,19 +15389,19 @@ private class ReduceAction356 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var passignopnode4 = nodearraylist2 - assert passignopnode4 isa PAssignOp + assert passignopnode4 isa nullable PAssignOp var pexprnode5 = nodearraylist3 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrReassignExpr.init_aattrreassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr( pexprnode2, tattridnode3, passignopnode4, @@ -15417,7 +15416,7 @@ private class ReduceAction357 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -15427,23 +15426,23 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var passignopnode6 = nodearraylist6 - assert passignopnode6 isa PAssignOp + assert passignopnode6 isa nullable PAssignOp var pexprnode7 = nodearraylist7 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallReassignExpr.init_acallreassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr( pexprnode2, tidnode3, listnode5, @@ -15459,30 +15458,30 @@ private class ReduceAction358 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var passignopnode6 = nodearraylist3 - assert passignopnode6 isa PAssignOp + assert passignopnode6 isa nullable PAssignOp var pexprnode7 = nodearraylist4 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallReassignExpr.init_acallreassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr( pexprnode2, tidnode3, listnode5, @@ -15498,28 +15497,28 @@ private class ReduceAction359 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var passignopnode5 = nodearraylist3 - assert passignopnode5 isa PAssignOp + assert passignopnode5 isa nullable PAssignOp var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var pexprnode1 = new ABraReassignExpr.init_abrareassignexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr( pexprnode2, listnode4, passignopnode5, @@ -15534,11 +15533,11 @@ private class ReduceAction360 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tpluseqnode2 = nodearraylist1 - assert tpluseqnode2 isa TPluseq - var passignopnode1 = new APlusAssignOp.init_aplusassignop( + assert tpluseqnode2 isa nullable TPluseq + var passignopnode1: nullable APlusAssignOp = new APlusAssignOp.init_aplusassignop( tpluseqnode2 ) node_list = passignopnode1 @@ -15550,11 +15549,11 @@ private class ReduceAction361 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tminuseqnode2 = nodearraylist1 - assert tminuseqnode2 isa TMinuseq - var passignopnode1 = new AMinusAssignOp.init_aminusassignop( + assert tminuseqnode2 isa nullable TMinuseq + var passignopnode1: nullable AMinusAssignOp = new AMinusAssignOp.init_aminusassignop( tminuseqnode2 ) node_list = passignopnode1 @@ -15566,14 +15565,14 @@ private class ReduceAction362 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwdonode2 = nodearraylist1 - assert tkwdonode2 isa TKwdo + assert tkwdonode2 isa nullable TKwdo var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new ADoExpr.init_adoexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr( tkwdonode2, pexprnode3 ) @@ -15586,7 +15585,7 @@ private class ReduceAction363 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -15596,14 +15595,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var pexprnode4 = nodearraylist6 - assert pexprnode4 isa PExpr + assert pexprnode4 isa nullable PExpr var pexprnode5 = nodearraylist8 - assert pexprnode5 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, @@ -15618,7 +15617,7 @@ private class ReduceAction364 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15626,12 +15625,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var pexprnode4 = nodearraylist6 - assert pexprnode4 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode4 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, @@ -15646,7 +15645,7 @@ private class ReduceAction365 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -15657,21 +15656,21 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var listnode6 = new Array[Object] var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr + assert pexprnode5 isa nullable PExpr if pexprnode5 != null then listnode6.add(pexprnode5) end - var pexprnode4 = new ABlockExpr.init_ablockexpr( + var pexprnode4: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode6 ) var pexprnode7 = nodearraylist9 - assert pexprnode7 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, @@ -15686,7 +15685,7 @@ private class ReduceAction366 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -15698,30 +15697,30 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var listnode7 = new Array[Object] var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr - var listnode6 = nodearraylist8 + assert pexprnode5 isa nullable PExpr + var listnode6 = nodearraylist8 assert listnode6 isa Array[Object] if pexprnode5 != null then listnode7.add(pexprnode5) end - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode4 = new ABlockExpr.init_ablockexpr( +# end + var pexprnode4: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode7 ) var pexprnode8 = nodearraylist10 - assert pexprnode8 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode8 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, @@ -15736,7 +15735,7 @@ private class ReduceAction367 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15744,12 +15743,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, null, @@ -15764,7 +15763,7 @@ private class ReduceAction368 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -15773,12 +15772,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, null, @@ -15793,11 +15792,11 @@ private class ReduceAction369 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(37), node_list) end @@ -15807,7 +15806,7 @@ private class ReduceAction370 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(37), node_list) @@ -15818,7 +15817,7 @@ private class ReduceAction371 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15826,14 +15825,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwhilenode2 = nodearraylist1 - assert tkwwhilenode2 isa TKwwhile + assert tkwwhilenode2 isa nullable TKwwhile var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tkwdonode4 = nodearraylist5 - assert tkwdonode4 isa TKwdo + assert tkwdonode4 isa nullable TKwdo var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AWhileExpr.init_awhileexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr( tkwwhilenode2, pexprnode3, tkwdonode4, @@ -15848,7 +15847,7 @@ private class ReduceAction372 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -15860,16 +15859,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwfornode2 = nodearraylist1 - assert tkwfornode2 isa TKwfor + assert tkwfornode2 isa nullable TKwfor var tidnode3 = nodearraylist3 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var pexprnode4 = nodearraylist7 - assert pexprnode4 isa PExpr + assert pexprnode4 isa nullable PExpr var tkwdonode5 = nodearraylist9 - assert tkwdonode5 isa TKwdo + assert tkwdonode5 isa nullable TKwdo var pexprnode6 = nodearraylist10 - assert pexprnode6 isa PExpr - var pexprnode1 = new AForExpr.init_aforexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr( tkwfornode2, tidnode3, pexprnode4, @@ -15885,14 +15884,14 @@ private class ReduceAction373 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwassertnode2 = nodearraylist1 - assert tkwassertnode2 isa TKwassert + assert tkwassertnode2 isa nullable TKwassert var pexprnode4 = nodearraylist2 - assert pexprnode4 isa PExpr - var pexprnode1 = new AAssertExpr.init_aassertexpr( + assert pexprnode4 isa nullable PExpr + var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr( tkwassertnode2, null, pexprnode4 @@ -15906,17 +15905,17 @@ private class ReduceAction374 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwassertnode2 = nodearraylist1 - assert tkwassertnode2 isa TKwassert + assert tkwassertnode2 isa nullable TKwassert var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var pexprnode4 = nodearraylist3 - assert pexprnode4 isa PExpr - var pexprnode1 = new AAssertExpr.init_aassertexpr( + assert pexprnode4 isa nullable PExpr + var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr( tkwassertnode2, tidnode3, pexprnode4 @@ -15930,11 +15929,11 @@ private class ReduceAction375 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode1 = nodearraylist1 - assert tidnode1 isa TId + assert tidnode1 isa nullable TId node_list = tidnode1 p.push(p.go_to(41), node_list) end @@ -15944,10 +15943,10 @@ private class ReduceAction376 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(42), node_list) end @@ -15957,7 +15956,7 @@ private class ReduceAction377 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -15967,28 +15966,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -16003,35 +16002,35 @@ private class ReduceAction378 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -16046,33 +16045,33 @@ private class ReduceAction379 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ABraExpr.init_abraexpr( +# end + var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr( pexprnode2, listnode4, listnode6 @@ -16086,10 +16085,10 @@ private class ReduceAction380 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(43), node_list) end @@ -16099,7 +16098,7 @@ private class ReduceAction381 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -16112,18 +16111,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tkwthennode4 = nodearraylist5 - assert tkwthennode4 isa TKwthen + assert tkwthennode4 isa nullable TKwthen var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr + assert pexprnode5 isa nullable PExpr var tkwelsenode6 = nodearraylist9 - assert tkwelsenode6 isa TKwelse + assert tkwelsenode6 isa nullable TKwelse var pexprnode7 = nodearraylist11 - assert pexprnode7 isa PExpr - var pexprnode1 = new AIfexprExpr.init_aifexprexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, @@ -16140,10 +16139,10 @@ private class ReduceAction382 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(44), node_list) end @@ -16153,16 +16152,16 @@ private class ReduceAction383 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOrExpr.init_aorexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) @@ -16175,16 +16174,16 @@ private class ReduceAction384 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AAndExpr.init_aandexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) @@ -16197,10 +16196,10 @@ private class ReduceAction385 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(45), node_list) end @@ -16210,15 +16209,15 @@ private class ReduceAction386 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 - assert tkwnotnode2 isa TKwnot + assert tkwnotnode2 isa nullable TKwnot var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANotExpr.init_anotexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) @@ -16231,10 +16230,10 @@ private class ReduceAction387 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(46), node_list) end @@ -16244,16 +16243,16 @@ private class ReduceAction388 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEqExpr.init_aeqexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) @@ -16266,16 +16265,16 @@ private class ReduceAction389 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEeExpr.init_aeeexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) @@ -16288,16 +16287,16 @@ private class ReduceAction390 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANeExpr.init_aneexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) @@ -16310,16 +16309,16 @@ private class ReduceAction391 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALtExpr.init_altexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) @@ -16332,16 +16331,16 @@ private class ReduceAction392 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALeExpr.init_aleexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) @@ -16354,16 +16353,16 @@ private class ReduceAction393 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGtExpr.init_agtexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) @@ -16376,16 +16375,16 @@ private class ReduceAction394 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGeExpr.init_ageexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) @@ -16398,16 +16397,16 @@ private class ReduceAction395 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarshipExpr.init_astarshipexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) @@ -16420,16 +16419,16 @@ private class ReduceAction396 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var ptypenode3 = nodearraylist4 - assert ptypenode3 isa PType - var pexprnode1 = new AIsaExpr.init_aisaexpr( + assert ptypenode3 isa nullable PType + var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) @@ -16442,10 +16441,10 @@ private class ReduceAction397 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(47), node_list) end @@ -16455,16 +16454,16 @@ private class ReduceAction398 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APlusExpr.init_aplusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) @@ -16477,16 +16476,16 @@ private class ReduceAction399 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AMinusExpr.init_aminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) @@ -16499,10 +16498,10 @@ private class ReduceAction400 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(48), node_list) end @@ -16512,16 +16511,16 @@ private class ReduceAction401 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarExpr.init_astarexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) @@ -16534,16 +16533,16 @@ private class ReduceAction402 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ASlashExpr.init_aslashexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) @@ -16556,16 +16555,16 @@ private class ReduceAction403 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APercentExpr.init_apercentexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) @@ -16578,10 +16577,10 @@ private class ReduceAction404 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(49), node_list) end @@ -16591,15 +16590,15 @@ private class ReduceAction405 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 - assert tminusnode2 isa TMinus + assert tminusnode2 isa nullable TMinus var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AUminusExpr.init_auminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) @@ -16612,15 +16611,15 @@ private class ReduceAction406 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 - assert tkwoncenode2 isa TKwonce + assert tkwoncenode2 isa nullable TKwonce var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOnceExpr.init_aonceexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) @@ -16633,10 +16632,10 @@ private class ReduceAction407 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(50), node_list) end @@ -16646,26 +16645,26 @@ private class ReduceAction408 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType - var listnode5 = nodearraylist4 + assert ptypenode3 isa nullable PType + var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, @@ -16680,19 +16679,19 @@ private class ReduceAction409 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset + assert tkwissetnode2 isa nullable TKwisset var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tattridnode4 = nodearraylist5 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -16706,16 +16705,16 @@ private class ReduceAction410 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset - var pexprnode3 = new AImplicitSelfExpr.init_aimplicitselfexpr( + assert tkwissetnode2 isa nullable TKwisset + var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode4 = nodearraylist2 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -16729,16 +16728,16 @@ private class ReduceAction411 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -16751,13 +16750,13 @@ private class ReduceAction412 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -16770,7 +16769,7 @@ private class ReduceAction413 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -16779,19 +16778,19 @@ special ReduceAction var listnode5 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -16806,25 +16805,25 @@ private class ReduceAction414 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode6 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -16839,22 +16838,22 @@ private class ReduceAction415 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist2 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 @@ -16868,25 +16867,25 @@ private class ReduceAction416 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 - assert pqualifiednode2 isa PQualified + assert pqualifiednode2 isa nullable PQualified var tkwsupernode3 = nodearraylist2 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist3 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 @@ -16900,7 +16899,7 @@ private class ReduceAction417 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -16908,19 +16907,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwinitnode3 = nodearraylist4 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist5 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -16934,24 +16933,24 @@ private class ReduceAction418 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist2 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -16965,23 +16964,23 @@ private class ReduceAction419 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var pexprnode1 = new ABraExpr.init_abraexpr( +# end + var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr( pexprnode2, listnode4, listnode5 @@ -16995,7 +16994,7 @@ private class ReduceAction420 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -17005,21 +17004,21 @@ special ReduceAction var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType + assert ptypenode3 isa nullable PType var tidnode4 = nodearraylist6 - assert tidnode4 isa TId - var listnode5 = nodearraylist7 + assert tidnode4 isa nullable TId + var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, @@ -17034,7 +17033,7 @@ private class ReduceAction421 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -17045,10 +17044,10 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist3 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist7 - assert pexprnode3 isa PExpr - var pexprnode1 = new ACrangeExpr.init_acrangeexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr( pexprnode2, pexprnode3 ) @@ -17061,7 +17060,7 @@ private class ReduceAction422 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -17072,10 +17071,10 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist3 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist7 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOrangeExpr.init_aorangeexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr( pexprnode2, pexprnode3 ) @@ -17088,19 +17087,19 @@ private class ReduceAction423 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var pexprnode1 = new AArrayExpr.init_aarrayexpr( +# end + var pexprnode1: nullable AArrayExpr = new AArrayExpr.init_aarrayexpr( listnode3 ) node_list = pexprnode1 @@ -17112,11 +17111,11 @@ private class ReduceAction424 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 - assert tkwselfnode2 isa TKwself - var pexprnode1 = new ASelfExpr.init_aselfexpr( + assert tkwselfnode2 isa nullable TKwself + var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 @@ -17128,11 +17127,11 @@ private class ReduceAction425 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 - assert tkwtruenode2 isa TKwtrue - var pexprnode1 = new ATrueExpr.init_atrueexpr( + assert tkwtruenode2 isa nullable TKwtrue + var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 @@ -17144,11 +17143,11 @@ private class ReduceAction426 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 - assert tkwfalsenode2 isa TKwfalse - var pexprnode1 = new AFalseExpr.init_afalseexpr( + assert tkwfalsenode2 isa nullable TKwfalse + var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 @@ -17160,11 +17159,11 @@ private class ReduceAction427 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 - assert tkwnullnode2 isa TKwnull - var pexprnode1 = new ANullExpr.init_anullexpr( + assert tkwnullnode2 isa nullable TKwnull + var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 @@ -17176,11 +17175,11 @@ private class ReduceAction428 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 - assert tnumbernode2 isa TNumber - var pexprnode1 = new AIntExpr.init_aintexpr( + assert tnumbernode2 isa nullable TNumber + var pexprnode1: nullable AIntExpr = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 @@ -17192,11 +17191,11 @@ private class ReduceAction429 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 - assert tfloatnode2 isa TFloat - var pexprnode1 = new AFloatExpr.init_afloatexpr( + assert tfloatnode2 isa nullable TFloat + var pexprnode1: nullable AFloatExpr = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 @@ -17208,11 +17207,11 @@ private class ReduceAction430 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 - assert tcharnode2 isa TChar - var pexprnode1 = new ACharExpr.init_acharexpr( + assert tcharnode2 isa nullable TChar + var pexprnode1: nullable ACharExpr = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 @@ -17224,11 +17223,11 @@ private class ReduceAction431 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 - assert tstringnode2 isa TString - var pexprnode1 = new AStringExpr.init_astringexpr( + assert tstringnode2 isa nullable TString + var pexprnode1: nullable AStringExpr = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 @@ -17240,10 +17239,10 @@ private class ReduceAction432 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(51), node_list) end @@ -17253,12 +17252,12 @@ private class ReduceAction433 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(51), node_list) end @@ -17268,7 +17267,7 @@ private class ReduceAction434 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -17280,12 +17279,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var ptypenode4 = nodearraylist8 - assert ptypenode4 isa PType - var pexprnode1 = new AAsCastExpr.init_aascastexpr( + assert ptypenode4 isa nullable PType + var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr( pexprnode2, tkwasnode3, ptypenode4 @@ -17299,7 +17298,7 @@ private class ReduceAction435 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -17313,14 +17312,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var tkwnotnode4 = nodearraylist8 - assert tkwnotnode4 isa TKwnot + assert tkwnotnode4 isa nullable TKwnot var tkwnullnode5 = nodearraylist10 - assert tkwnullnode5 isa TKwnull - var pexprnode1 = new AAsNotnullExpr.init_aasnotnullexpr( + assert tkwnullnode5 isa nullable TKwnull + var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr( pexprnode2, tkwasnode3, tkwnotnode4, @@ -17335,25 +17334,25 @@ private class ReduceAction436 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - if listnode2 != null then + assert pexprnode3 isa nullable PExpr +# if listnode2 != null then if listnode4.is_empty then listnode4 = listnode2 else listnode4.append(listnode2) end - end +# end if pexprnode3 != null then listnode4.add(pexprnode3) end - var pexprnode1 = new ASuperstringExpr.init_asuperstringexpr( + var pexprnode1: nullable ASuperstringExpr = new ASuperstringExpr.init_asuperstringexpr( listnode4 ) node_list = pexprnode1 @@ -17365,35 +17364,35 @@ private class ReduceAction437 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - var listnode3 = nodearraylist2 + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] var pexprnode4 = nodearraylist3 - assert pexprnode4 isa PExpr - if listnode2 != null then + assert pexprnode4 isa nullable PExpr +# if listnode2 != null then if listnode5.is_empty then listnode5 = listnode2 else listnode5.append(listnode2) end - end - if listnode3 != null then +# end +# if listnode3 != null then if listnode5.is_empty then listnode5 = listnode3 else listnode5.append(listnode3) end - end +# end if pexprnode4 != null then listnode5.add(pexprnode4) end - var pexprnode1 = new ASuperstringExpr.init_asuperstringexpr( + var pexprnode1: nullable ASuperstringExpr = new ASuperstringExpr.init_asuperstringexpr( listnode5 ) node_list = pexprnode1 @@ -17405,16 +17404,16 @@ private class ReduceAction438 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr var pexprnode2 = nodearraylist3 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr if pexprnode1 != null then listnode3.add(pexprnode1) end @@ -17430,11 +17429,11 @@ private class ReduceAction439 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstartstringnode2 = nodearraylist1 - assert tstartstringnode2 isa TStartString - var pexprnode1 = new AStartStringExpr.init_astartstringexpr( + assert tstartstringnode2 isa nullable TStartString + var pexprnode1: nullable AStartStringExpr = new AStartStringExpr.init_astartstringexpr( tstartstringnode2 ) node_list = pexprnode1 @@ -17446,16 +17445,16 @@ private class ReduceAction440 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr var pexprnode2 = nodearraylist3 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr if pexprnode1 != null then listnode3.add(pexprnode1) end @@ -17471,11 +17470,11 @@ private class ReduceAction441 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tmidstringnode2 = nodearraylist1 - assert tmidstringnode2 isa TMidString - var pexprnode1 = new AMidStringExpr.init_amidstringexpr( + assert tmidstringnode2 isa nullable TMidString + var pexprnode1: nullable AMidStringExpr = new AMidStringExpr.init_amidstringexpr( tmidstringnode2 ) node_list = pexprnode1 @@ -17487,11 +17486,11 @@ private class ReduceAction442 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tendstringnode2 = nodearraylist1 - assert tendstringnode2 isa TEndString - var pexprnode1 = new AEndStringExpr.init_aendstringexpr( + assert tendstringnode2 isa nullable TEndString + var pexprnode1: nullable AEndStringExpr = new AEndStringExpr.init_aendstringexpr( tendstringnode2 ) node_list = pexprnode1 @@ -17503,7 +17502,7 @@ private class ReduceAction443 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -17511,7 +17510,7 @@ special ReduceAction var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end @@ -17524,7 +17523,7 @@ private class ReduceAction444 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -17533,19 +17532,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr - var listnode2 = nodearraylist5 + assert pexprnode1 isa nullable PExpr + var listnode2 = nodearraylist5 assert listnode2 isa Array[Object] if pexprnode1 != null then listnode3.add(pexprnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(58), node_list) end @@ -17555,7 +17554,7 @@ private class ReduceAction445 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop @@ -17569,7 +17568,7 @@ private class ReduceAction446 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(58), node_list) @@ -17580,7 +17579,7 @@ private class ReduceAction447 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -17588,7 +17587,7 @@ special ReduceAction var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end @@ -17601,7 +17600,7 @@ private class ReduceAction448 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -17610,19 +17609,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr - var listnode2 = nodearraylist5 + assert pexprnode1 isa nullable PExpr + var listnode2 = nodearraylist5 assert listnode2 isa Array[Object] if pexprnode1 != null then listnode3.add(pexprnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(59), node_list) end @@ -17632,11 +17631,11 @@ private class ReduceAction449 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end @@ -17649,7 +17648,7 @@ private class ReduceAction450 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop @@ -17663,7 +17662,7 @@ private class ReduceAction451 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var listnode1 = new Array[Object] node_list = listnode1 p.push(p.go_to(59), node_list) @@ -17674,7 +17673,7 @@ private class ReduceAction452 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -17682,7 +17681,7 @@ special ReduceAction var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end @@ -17695,7 +17694,7 @@ private class ReduceAction453 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -17704,19 +17703,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr - var listnode2 = nodearraylist5 + assert pexprnode1 isa nullable PExpr + var listnode2 = nodearraylist5 assert listnode2 isa Array[Object] if pexprnode1 != null then listnode3.add(pexprnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(60), node_list) end @@ -17726,13 +17725,13 @@ private class ReduceAction454 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist3 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(61), node_list) end @@ -17742,11 +17741,11 @@ private class ReduceAction455 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tidnode1 = nodearraylist1 - assert tidnode1 isa TId + assert tidnode1 isa nullable TId if tidnode1 != null then listnode2.add(tidnode1) end @@ -17759,24 +17758,24 @@ private class ReduceAction456 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var tidnode2 = nodearraylist5 - assert tidnode2 isa TId - if listnode1 != null then + assert tidnode2 isa nullable TId +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if tidnode2 != null then listnode3.add(tidnode2) end @@ -17789,12 +17788,12 @@ private class ReduceAction457 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tclassidnode3 = nodearraylist1 - assert tclassidnode3 isa TClassid - var pqualifiednode1 = new AQualified.init_aqualified( + assert tclassidnode3 isa nullable TClassid + var pqualifiednode1: nullable AQualified = new AQualified.init_aqualified( listnode2, tclassidnode3 ) @@ -17807,22 +17806,22 @@ private class ReduceAction458 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end var tclassidnode4 = nodearraylist2 - assert tclassidnode4 isa TClassid - var pqualifiednode1 = new AQualified.init_aqualified( + assert tclassidnode4 isa nullable TClassid + var pqualifiednode1: nullable AQualified = new AQualified.init_aqualified( listnode3, tclassidnode4 ) @@ -17835,19 +17834,19 @@ private class ReduceAction459 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var pqualifiednode1 = new AQualified.init_aqualified( +# end + var pqualifiednode1: nullable AQualified = new AQualified.init_aqualified( listnode3, null ) @@ -17860,12 +17859,12 @@ private class ReduceAction460 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tidnode1 = nodearraylist1 - assert tidnode1 isa TId + assert tidnode1 isa nullable TId node_list = tidnode1 p.push(p.go_to(64), node_list) end @@ -17875,12 +17874,12 @@ private class ReduceAction461 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tclassidnode1 = nodearraylist1 - assert tclassidnode1 isa TClassid + assert tclassidnode1 isa nullable TClassid node_list = tclassidnode1 p.push(p.go_to(65), node_list) end @@ -17890,7 +17889,7 @@ private class ReduceAction462 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop p.push(p.go_to(66), node_list) end @@ -17900,7 +17899,7 @@ private class ReduceAction463 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop p.push(p.go_to(66), node_list) end @@ -17910,19 +17909,19 @@ private class ReduceAction464 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode2 = nodearraylist1 + var listnode2 = nodearraylist1 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var pdocnode1 = new ADoc.init_adoc( +# end + var pdocnode1: nullable ADoc = new ADoc.init_adoc( listnode3 ) node_list = pdocnode1 @@ -17934,20 +17933,20 @@ private class ReduceAction465 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode2 = nodearraylist2 + var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end - var pdocnode1 = new ADoc.init_adoc( +# end + var pdocnode1: nullable ADoc = new ADoc.init_adoc( listnode3 ) node_list = pdocnode1 @@ -17959,7 +17958,7 @@ private class ReduceAction466 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop node_list = null p.push(p.go_to(67), node_list) @@ -17970,7 +17969,7 @@ private class ReduceAction467 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null node_list = null p.push(p.go_to(68), node_list) end @@ -17980,10 +17979,10 @@ private class ReduceAction468 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pdocnode1 = nodearraylist1 - assert pdocnode1 isa PDoc + assert pdocnode1 isa nullable PDoc node_list = pdocnode1 p.push(p.go_to(68), node_list) end @@ -17993,7 +17992,7 @@ private class ReduceAction469 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop p.push(p.go_to(69), node_list) @@ -18004,7 +18003,7 @@ private class ReduceAction470 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop @@ -18016,7 +18015,7 @@ private class ReduceAction471 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop p.push(p.go_to(69), node_list) end @@ -18026,11 +18025,11 @@ private class ReduceAction472 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var ppropdefnode1 = nodearraylist1 - assert ppropdefnode1 isa PPropdef + assert ppropdefnode1 isa nullable PPropdef node_list = ppropdefnode1 p.push(p.go_to(70), node_list) end @@ -18040,7 +18039,7 @@ private class ReduceAction473 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -18049,18 +18048,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, @@ -18078,7 +18077,7 @@ private class ReduceAction474 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -18088,20 +18087,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist8 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -18119,7 +18118,7 @@ private class ReduceAction475 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -18129,18 +18128,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist7 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, null, pvisibilitynode4, @@ -18158,7 +18157,7 @@ private class ReduceAction476 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -18169,20 +18168,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var pexprnode8 = nodearraylist8 - assert pexprnode8 isa PExpr - var ppropdefnode1 = new AConcreteMethPropdef.init_aconcretemethpropdef( + assert pexprnode8 isa nullable PExpr + var ppropdefnode1: nullable AConcreteMethPropdef = new AConcreteMethPropdef.init_aconcretemethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -18200,7 +18199,7 @@ private class ReduceAction477 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -18209,16 +18208,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, @@ -18236,7 +18235,7 @@ private class ReduceAction478 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -18246,18 +18245,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert psignaturenode7 isa nullable PSignature + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -18275,7 +18274,7 @@ private class ReduceAction479 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -18285,18 +18284,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var pvisibilitynode4 = nodearraylist2 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist3 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist4 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist5 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var tstringnode8 = nodearraylist8 - assert tstringnode8 isa TString - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert tstringnode8 isa nullable TString + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, null, pvisibilitynode4, @@ -18314,7 +18313,7 @@ private class ReduceAction480 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist9 = p.pop var nodearraylist8 = p.pop var nodearraylist7 = p.pop @@ -18325,20 +18324,20 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pdocnode2 = nodearraylist1 - assert pdocnode2 isa PDoc + assert pdocnode2 isa nullable PDoc var tkwredefnode3 = nodearraylist2 - assert tkwredefnode3 isa TKwredef + assert tkwredefnode3 isa nullable TKwredef var pvisibilitynode4 = nodearraylist3 - assert pvisibilitynode4 isa PVisibility + assert pvisibilitynode4 isa nullable PVisibility var tkwmethnode5 = nodearraylist4 - assert tkwmethnode5 isa TKwmeth + assert tkwmethnode5 isa nullable TKwmeth var pmethidnode6 = nodearraylist5 - assert pmethidnode6 isa PMethid + assert pmethidnode6 isa nullable PMethid var psignaturenode7 = nodearraylist6 - assert psignaturenode7 isa PSignature + assert psignaturenode7 isa nullable PSignature var tstringnode8 = nodearraylist9 - assert tstringnode8 isa TString - var ppropdefnode1 = new AExternMethPropdef.init_aexternmethpropdef( + assert tstringnode8 isa nullable TString + var ppropdefnode1: nullable AExternMethPropdef = new AExternMethPropdef.init_aexternmethpropdef( pdocnode2, tkwredefnode3, pvisibilitynode4, @@ -18356,12 +18355,12 @@ private class ReduceAction481 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tclassidnode3 = nodearraylist1 - assert tclassidnode3 isa TClassid - var ptypenode1 = new AType.init_atype( + assert tclassidnode3 isa nullable TClassid + var ptypenode1: nullable AType = new AType.init_atype( null, tclassidnode3, listnode4 @@ -18375,15 +18374,15 @@ private class ReduceAction482 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwnullablenode2 = nodearraylist1 - assert tkwnullablenode2 isa TKwnullable + assert tkwnullablenode2 isa nullable TKwnullable var tclassidnode3 = nodearraylist2 - assert tclassidnode3 isa TClassid - var ptypenode1 = new AType.init_atype( + assert tclassidnode3 isa nullable TClassid + var ptypenode1: nullable AType = new AType.init_atype( tkwnullablenode2, tclassidnode3, listnode4 @@ -18397,10 +18396,10 @@ private class ReduceAction483 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(73), node_list) end @@ -18410,7 +18409,7 @@ private class ReduceAction484 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -18420,28 +18419,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -18456,35 +18455,35 @@ private class ReduceAction485 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -18499,10 +18498,10 @@ private class ReduceAction486 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(74), node_list) end @@ -18512,7 +18511,7 @@ private class ReduceAction487 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -18525,18 +18524,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tkwthennode4 = nodearraylist5 - assert tkwthennode4 isa TKwthen + assert tkwthennode4 isa nullable TKwthen var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr + assert pexprnode5 isa nullable PExpr var tkwelsenode6 = nodearraylist9 - assert tkwelsenode6 isa TKwelse + assert tkwelsenode6 isa nullable TKwelse var pexprnode7 = nodearraylist11 - assert pexprnode7 isa PExpr - var pexprnode1 = new AIfexprExpr.init_aifexprexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, @@ -18553,10 +18552,10 @@ private class ReduceAction488 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(75), node_list) end @@ -18566,16 +18565,16 @@ private class ReduceAction489 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOrExpr.init_aorexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) @@ -18588,16 +18587,16 @@ private class ReduceAction490 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AAndExpr.init_aandexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) @@ -18610,10 +18609,10 @@ private class ReduceAction491 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(76), node_list) end @@ -18623,15 +18622,15 @@ private class ReduceAction492 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 - assert tkwnotnode2 isa TKwnot + assert tkwnotnode2 isa nullable TKwnot var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANotExpr.init_anotexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) @@ -18644,10 +18643,10 @@ private class ReduceAction493 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(77), node_list) end @@ -18657,16 +18656,16 @@ private class ReduceAction494 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEqExpr.init_aeqexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) @@ -18679,16 +18678,16 @@ private class ReduceAction495 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEeExpr.init_aeeexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) @@ -18701,16 +18700,16 @@ private class ReduceAction496 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANeExpr.init_aneexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) @@ -18723,16 +18722,16 @@ private class ReduceAction497 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALtExpr.init_altexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) @@ -18745,16 +18744,16 @@ private class ReduceAction498 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALeExpr.init_aleexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) @@ -18767,16 +18766,16 @@ private class ReduceAction499 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGtExpr.init_agtexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) @@ -18789,16 +18788,16 @@ private class ReduceAction500 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGeExpr.init_ageexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) @@ -18811,16 +18810,16 @@ private class ReduceAction501 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarshipExpr.init_astarshipexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) @@ -18833,16 +18832,16 @@ private class ReduceAction502 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var ptypenode3 = nodearraylist4 - assert ptypenode3 isa PType - var pexprnode1 = new AIsaExpr.init_aisaexpr( + assert ptypenode3 isa nullable PType + var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) @@ -18855,10 +18854,10 @@ private class ReduceAction503 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(78), node_list) end @@ -18868,16 +18867,16 @@ private class ReduceAction504 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APlusExpr.init_aplusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) @@ -18890,16 +18889,16 @@ private class ReduceAction505 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AMinusExpr.init_aminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) @@ -18912,10 +18911,10 @@ private class ReduceAction506 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(79), node_list) end @@ -18925,16 +18924,16 @@ private class ReduceAction507 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarExpr.init_astarexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) @@ -18947,16 +18946,16 @@ private class ReduceAction508 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ASlashExpr.init_aslashexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) @@ -18969,16 +18968,16 @@ private class ReduceAction509 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APercentExpr.init_apercentexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) @@ -18991,10 +18990,10 @@ private class ReduceAction510 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(80), node_list) end @@ -19004,15 +19003,15 @@ private class ReduceAction511 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 - assert tminusnode2 isa TMinus + assert tminusnode2 isa nullable TMinus var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AUminusExpr.init_auminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) @@ -19025,15 +19024,15 @@ private class ReduceAction512 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 - assert tkwoncenode2 isa TKwonce + assert tkwoncenode2 isa nullable TKwonce var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOnceExpr.init_aonceexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) @@ -19046,10 +19045,10 @@ private class ReduceAction513 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(81), node_list) end @@ -19059,26 +19058,26 @@ private class ReduceAction514 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType - var listnode5 = nodearraylist4 + assert ptypenode3 isa nullable PType + var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, @@ -19093,19 +19092,19 @@ private class ReduceAction515 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset + assert tkwissetnode2 isa nullable TKwisset var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tattridnode4 = nodearraylist5 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -19119,16 +19118,16 @@ private class ReduceAction516 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset - var pexprnode3 = new AImplicitSelfExpr.init_aimplicitselfexpr( + assert tkwissetnode2 isa nullable TKwisset + var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode4 = nodearraylist2 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -19142,16 +19141,16 @@ private class ReduceAction517 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -19164,13 +19163,13 @@ private class ReduceAction518 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -19183,7 +19182,7 @@ private class ReduceAction519 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -19192,19 +19191,19 @@ special ReduceAction var listnode5 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -19219,25 +19218,25 @@ private class ReduceAction520 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode6 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -19252,22 +19251,22 @@ private class ReduceAction521 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist2 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 @@ -19281,25 +19280,25 @@ private class ReduceAction522 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 - assert pqualifiednode2 isa PQualified + assert pqualifiednode2 isa nullable PQualified var tkwsupernode3 = nodearraylist2 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist3 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 @@ -19313,7 +19312,7 @@ private class ReduceAction523 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -19321,19 +19320,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwinitnode3 = nodearraylist4 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist5 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -19347,24 +19346,24 @@ private class ReduceAction524 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist2 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -19378,7 +19377,7 @@ private class ReduceAction525 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -19388,21 +19387,21 @@ special ReduceAction var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType + assert ptypenode3 isa nullable PType var tidnode4 = nodearraylist6 - assert tidnode4 isa TId - var listnode5 = nodearraylist7 + assert tidnode4 isa nullable TId + var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, @@ -19417,11 +19416,11 @@ private class ReduceAction526 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 - assert tkwselfnode2 isa TKwself - var pexprnode1 = new ASelfExpr.init_aselfexpr( + assert tkwselfnode2 isa nullable TKwself + var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 @@ -19433,11 +19432,11 @@ private class ReduceAction527 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 - assert tkwtruenode2 isa TKwtrue - var pexprnode1 = new ATrueExpr.init_atrueexpr( + assert tkwtruenode2 isa nullable TKwtrue + var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 @@ -19449,11 +19448,11 @@ private class ReduceAction528 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 - assert tkwfalsenode2 isa TKwfalse - var pexprnode1 = new AFalseExpr.init_afalseexpr( + assert tkwfalsenode2 isa nullable TKwfalse + var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 @@ -19465,11 +19464,11 @@ private class ReduceAction529 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 - assert tkwnullnode2 isa TKwnull - var pexprnode1 = new ANullExpr.init_anullexpr( + assert tkwnullnode2 isa nullable TKwnull + var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 @@ -19481,11 +19480,11 @@ private class ReduceAction530 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 - assert tnumbernode2 isa TNumber - var pexprnode1 = new AIntExpr.init_aintexpr( + assert tnumbernode2 isa nullable TNumber + var pexprnode1: nullable AIntExpr = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 @@ -19497,11 +19496,11 @@ private class ReduceAction531 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 - assert tfloatnode2 isa TFloat - var pexprnode1 = new AFloatExpr.init_afloatexpr( + assert tfloatnode2 isa nullable TFloat + var pexprnode1: nullable AFloatExpr = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 @@ -19513,11 +19512,11 @@ private class ReduceAction532 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 - assert tcharnode2 isa TChar - var pexprnode1 = new ACharExpr.init_acharexpr( + assert tcharnode2 isa nullable TChar + var pexprnode1: nullable ACharExpr = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 @@ -19529,11 +19528,11 @@ private class ReduceAction533 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 - assert tstringnode2 isa TString - var pexprnode1 = new AStringExpr.init_astringexpr( + assert tstringnode2 isa nullable TString + var pexprnode1: nullable AStringExpr = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 @@ -19545,10 +19544,10 @@ private class ReduceAction534 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(82), node_list) end @@ -19558,12 +19557,12 @@ private class ReduceAction535 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist2 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(82), node_list) end @@ -19573,7 +19572,7 @@ private class ReduceAction536 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -19585,12 +19584,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var ptypenode4 = nodearraylist8 - assert ptypenode4 isa PType - var pexprnode1 = new AAsCastExpr.init_aascastexpr( + assert ptypenode4 isa nullable PType + var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr( pexprnode2, tkwasnode3, ptypenode4 @@ -19604,7 +19603,7 @@ private class ReduceAction537 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -19618,14 +19617,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var tkwnotnode4 = nodearraylist8 - assert tkwnotnode4 isa TKwnot + assert tkwnotnode4 isa nullable TKwnot var tkwnullnode5 = nodearraylist10 - assert tkwnullnode5 isa TKwnull - var pexprnode1 = new AAsNotnullExpr.init_aasnotnullexpr( + assert tkwnullnode5 isa nullable TKwnull + var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr( pexprnode2, tkwasnode3, tkwnotnode4, @@ -19640,10 +19639,10 @@ private class ReduceAction538 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(83), node_list) end @@ -19653,18 +19652,18 @@ private class ReduceAction539 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pexprnode2 = nodearraylist2 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr if pexprnode2 != null then listnode3.add(pexprnode2) end - var pexprnode1 = new ABlockExpr.init_ablockexpr( + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode3 ) node_list = pexprnode1 @@ -19676,7 +19675,7 @@ private class ReduceAction540 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -19684,20 +19683,20 @@ special ReduceAction var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist2 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist3 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist3 assert listnode3 isa Array[Object] if pexprnode2 != null then listnode4.add(pexprnode2) end - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var pexprnode1 = new ABlockExpr.init_ablockexpr( +# end + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode4 ) node_list = pexprnode1 @@ -19709,11 +19708,11 @@ private class ReduceAction541 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode2 = new Array[Object] - var pexprnode1 = new ABlockExpr.init_ablockexpr( + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode2 ) node_list = pexprnode1 @@ -19725,10 +19724,10 @@ private class ReduceAction542 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] - var pexprnode1 = new ABlockExpr.init_ablockexpr( + var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr( listnode2 ) node_list = pexprnode1 @@ -19740,10 +19739,10 @@ private class ReduceAction543 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19753,10 +19752,10 @@ private class ReduceAction544 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19766,11 +19765,11 @@ private class ReduceAction545 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 - assert tkwreturnnode2 isa TKwreturn - var pexprnode1 = new AReturnExpr.init_areturnexpr( + assert tkwreturnnode2 isa nullable TKwreturn + var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr( tkwreturnnode2, null ) @@ -19783,14 +19782,14 @@ private class ReduceAction546 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwreturnnode2 = nodearraylist1 - assert tkwreturnnode2 isa TKwreturn + assert tkwreturnnode2 isa nullable TKwreturn var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new AReturnExpr.init_areturnexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr( tkwreturnnode2, pexprnode3 ) @@ -19803,11 +19802,11 @@ private class ReduceAction547 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwbreaknode2 = nodearraylist1 - assert tkwbreaknode2 isa TKwbreak - var pexprnode1 = new ABreakExpr.init_abreakexpr( + assert tkwbreaknode2 isa nullable TKwbreak + var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr( tkwbreaknode2, null ) @@ -19820,14 +19819,14 @@ private class ReduceAction548 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwbreaknode2 = nodearraylist1 - assert tkwbreaknode2 isa TKwbreak + assert tkwbreaknode2 isa nullable TKwbreak var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new ABreakExpr.init_abreakexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr( tkwbreaknode2, pexprnode3 ) @@ -19840,11 +19839,11 @@ private class ReduceAction549 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwabortnode2 = nodearraylist1 - assert tkwabortnode2 isa TKwabort - var pexprnode1 = new AAbortExpr.init_aabortexpr( + assert tkwabortnode2 isa nullable TKwabort + var pexprnode1: nullable AAbortExpr = new AAbortExpr.init_aabortexpr( tkwabortnode2 ) node_list = pexprnode1 @@ -19856,11 +19855,11 @@ private class ReduceAction550 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwcontinuenode2 = nodearraylist1 - assert tkwcontinuenode2 isa TKwcontinue - var pexprnode1 = new AContinueExpr.init_acontinueexpr( + assert tkwcontinuenode2 isa nullable TKwcontinue + var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr( tkwcontinuenode2, null ) @@ -19873,14 +19872,14 @@ private class ReduceAction551 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwcontinuenode2 = nodearraylist1 - assert tkwcontinuenode2 isa TKwcontinue + assert tkwcontinuenode2 isa nullable TKwcontinue var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new AContinueExpr.init_acontinueexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr( tkwcontinuenode2, pexprnode3 ) @@ -19893,10 +19892,10 @@ private class ReduceAction552 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19906,10 +19905,10 @@ private class ReduceAction553 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19919,10 +19918,10 @@ private class ReduceAction554 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19932,10 +19931,10 @@ private class ReduceAction555 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19945,10 +19944,10 @@ private class ReduceAction556 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(84), node_list) end @@ -19958,7 +19957,7 @@ private class ReduceAction557 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -19967,19 +19966,19 @@ special ReduceAction var listnode5 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -19994,25 +19993,25 @@ private class ReduceAction558 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode6 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -20027,7 +20026,7 @@ private class ReduceAction559 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -20037,28 +20036,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -20073,35 +20072,35 @@ private class ReduceAction560 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -20116,22 +20115,22 @@ private class ReduceAction561 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist2 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 @@ -20145,25 +20144,25 @@ private class ReduceAction562 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 - assert pqualifiednode2 isa PQualified + assert pqualifiednode2 isa nullable PQualified var tkwsupernode3 = nodearraylist2 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist3 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 @@ -20177,7 +20176,7 @@ private class ReduceAction563 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -20185,19 +20184,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwinitnode3 = nodearraylist4 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist5 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -20211,24 +20210,24 @@ private class ReduceAction564 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist2 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -20242,11 +20241,11 @@ private class ReduceAction565 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pclosuredefnode1 = nodearraylist1 - assert pclosuredefnode1 isa PClosureDef + assert pclosuredefnode1 isa nullable PClosureDef if pclosuredefnode1 != null then listnode2.add(pclosuredefnode1) end @@ -20259,24 +20258,24 @@ private class ReduceAction566 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var pclosuredefnode1 = nodearraylist1 - assert pclosuredefnode1 isa PClosureDef - var listnode2 = nodearraylist2 + assert pclosuredefnode1 isa nullable PClosureDef + var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] if pclosuredefnode1 != null then listnode3.add(pclosuredefnode1) end - if listnode2 != null then +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(85), node_list) end @@ -20286,18 +20285,18 @@ private class ReduceAction567 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith + assert tkwwithnode2 isa nullable TKwwith var tkwdonode4 = nodearraylist2 - assert tkwdonode4 isa TKwdo + assert tkwdonode4 isa nullable TKwdo var pexprnode5 = nodearraylist3 - assert pexprnode5 isa PExpr - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + assert pexprnode5 isa nullable PExpr + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode3, tkwdonode4, @@ -20312,28 +20311,28 @@ private class ReduceAction568 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var tkwwithnode2 = nodearraylist1 - assert tkwwithnode2 isa TKwwith - var listnode3 = nodearraylist2 + assert tkwwithnode2 isa nullable TKwwith + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tkwdonode5 = nodearraylist3 - assert tkwdonode5 isa TKwdo + assert tkwdonode5 isa nullable TKwdo var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var pclosuredefnode1 = new AClosureDef.init_aclosuredef( + assert pexprnode6 isa nullable PExpr + var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef( tkwwithnode2, listnode4, tkwdonode5, @@ -20348,14 +20347,14 @@ private class ReduceAction569 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert tidnode3 isa nullable TId + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, null, @@ -20371,17 +20370,17 @@ private class ReduceAction570 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var ptypenode4 = nodearraylist3 - assert ptypenode4 isa PType - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert ptypenode4 isa nullable PType + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, ptypenode4, @@ -20397,21 +20396,21 @@ private class ReduceAction571 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var tassignnode5 = nodearraylist3 - assert tassignnode5 isa TAssign + assert tassignnode5 isa nullable TAssign var pexprnode6 = nodearraylist5 - assert pexprnode6 isa PExpr - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, null, @@ -20427,7 +20426,7 @@ private class ReduceAction572 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -20435,16 +20434,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwvarnode2 = nodearraylist1 - assert tkwvarnode2 isa TKwvar + assert tkwvarnode2 isa nullable TKwvar var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var ptypenode4 = nodearraylist3 - assert ptypenode4 isa PType + assert ptypenode4 isa nullable PType var tassignnode5 = nodearraylist4 - assert tassignnode5 isa TAssign + assert tassignnode5 isa nullable TAssign var pexprnode6 = nodearraylist6 - assert pexprnode6 isa PExpr - var pexprnode1 = new AVardeclExpr.init_avardeclexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr( tkwvarnode2, tidnode3, ptypenode4, @@ -20460,7 +20459,7 @@ private class ReduceAction573 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -20468,14 +20467,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var tassignnode4 = nodearraylist5 - assert tassignnode4 isa TAssign + assert tassignnode4 isa nullable TAssign var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrAssignExpr.init_aattrassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr( pexprnode2, tattridnode3, tassignnode4, @@ -20490,19 +20489,19 @@ private class ReduceAction574 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var tassignnode4 = nodearraylist2 - assert tassignnode4 isa TAssign + assert tassignnode4 isa nullable TAssign var pexprnode5 = nodearraylist3 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrAssignExpr.init_aattrassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr( pexprnode2, tattridnode3, tassignnode4, @@ -20517,7 +20516,7 @@ private class ReduceAction575 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -20527,23 +20526,23 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var tassignnode6 = nodearraylist6 - assert tassignnode6 isa TAssign + assert tassignnode6 isa nullable TAssign var pexprnode7 = nodearraylist7 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallAssignExpr.init_acallassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr( pexprnode2, tidnode3, listnode5, @@ -20559,30 +20558,30 @@ private class ReduceAction576 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var tassignnode6 = nodearraylist3 - assert tassignnode6 isa TAssign + assert tassignnode6 isa nullable TAssign var pexprnode7 = nodearraylist4 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallAssignExpr.init_acallassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr( pexprnode2, tidnode3, listnode5, @@ -20598,28 +20597,28 @@ private class ReduceAction577 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var tassignnode5 = nodearraylist3 - assert tassignnode5 isa TAssign + assert tassignnode5 isa nullable TAssign var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var pexprnode1 = new ABraAssignExpr.init_abraassignexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr( pexprnode2, listnode4, tassignnode5, @@ -20634,7 +20633,7 @@ private class ReduceAction578 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -20642,14 +20641,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var passignopnode4 = nodearraylist5 - assert passignopnode4 isa PAssignOp + assert passignopnode4 isa nullable PAssignOp var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrReassignExpr.init_aattrreassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr( pexprnode2, tattridnode3, passignopnode4, @@ -20664,19 +20663,19 @@ private class ReduceAction579 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid + assert tattridnode3 isa nullable TAttrid var passignopnode4 = nodearraylist2 - assert passignopnode4 isa PAssignOp + assert passignopnode4 isa nullable PAssignOp var pexprnode5 = nodearraylist3 - assert pexprnode5 isa PExpr - var pexprnode1 = new AAttrReassignExpr.init_aattrreassignexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr( pexprnode2, tattridnode3, passignopnode4, @@ -20691,7 +20690,7 @@ private class ReduceAction580 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -20701,23 +20700,23 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var passignopnode6 = nodearraylist6 - assert passignopnode6 isa PAssignOp + assert passignopnode6 isa nullable PAssignOp var pexprnode7 = nodearraylist7 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallReassignExpr.init_acallreassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr( pexprnode2, tidnode3, listnode5, @@ -20733,30 +20732,30 @@ private class ReduceAction581 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end +# end var passignopnode6 = nodearraylist3 - assert passignopnode6 isa PAssignOp + assert passignopnode6 isa nullable PAssignOp var pexprnode7 = nodearraylist4 - assert pexprnode7 isa PExpr - var pexprnode1 = new ACallReassignExpr.init_acallreassignexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr( pexprnode2, tidnode3, listnode5, @@ -20772,28 +20771,28 @@ private class ReduceAction582 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end +# end var passignopnode5 = nodearraylist3 - assert passignopnode5 isa PAssignOp + assert passignopnode5 isa nullable PAssignOp var pexprnode6 = nodearraylist4 - assert pexprnode6 isa PExpr - var pexprnode1 = new ABraReassignExpr.init_abrareassignexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr( pexprnode2, listnode4, passignopnode5, @@ -20808,14 +20807,14 @@ private class ReduceAction583 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwdonode2 = nodearraylist1 - assert tkwdonode2 isa TKwdo + assert tkwdonode2 isa nullable TKwdo var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr - var pexprnode1 = new ADoExpr.init_adoexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr( tkwdonode2, pexprnode3 ) @@ -20828,7 +20827,7 @@ private class ReduceAction584 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist8 = p.pop var nodearraylist7 = p.pop var nodearraylist6 = p.pop @@ -20838,14 +20837,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var pexprnode4 = nodearraylist6 - assert pexprnode4 isa PExpr + assert pexprnode4 isa nullable PExpr var pexprnode5 = nodearraylist8 - assert pexprnode5 isa PExpr - var pexprnode1 = new AIfExpr.init_aifexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr( tkwifnode2, pexprnode3, pexprnode4, @@ -20860,7 +20859,7 @@ private class ReduceAction585 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -20868,14 +20867,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwwhilenode2 = nodearraylist1 - assert tkwwhilenode2 isa TKwwhile + assert tkwwhilenode2 isa nullable TKwwhile var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tkwdonode4 = nodearraylist5 - assert tkwdonode4 isa TKwdo + assert tkwdonode4 isa nullable TKwdo var pexprnode5 = nodearraylist6 - assert pexprnode5 isa PExpr - var pexprnode1 = new AWhileExpr.init_awhileexpr( + assert pexprnode5 isa nullable PExpr + var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr( tkwwhilenode2, pexprnode3, tkwdonode4, @@ -20890,7 +20889,7 @@ private class ReduceAction586 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -20902,16 +20901,16 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwfornode2 = nodearraylist1 - assert tkwfornode2 isa TKwfor + assert tkwfornode2 isa nullable TKwfor var tidnode3 = nodearraylist3 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var pexprnode4 = nodearraylist7 - assert pexprnode4 isa PExpr + assert pexprnode4 isa nullable PExpr var tkwdonode5 = nodearraylist9 - assert tkwdonode5 isa TKwdo + assert tkwdonode5 isa nullable TKwdo var pexprnode6 = nodearraylist10 - assert pexprnode6 isa PExpr - var pexprnode1 = new AForExpr.init_aforexpr( + assert pexprnode6 isa nullable PExpr + var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr( tkwfornode2, tidnode3, pexprnode4, @@ -20927,14 +20926,14 @@ private class ReduceAction587 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwassertnode2 = nodearraylist1 - assert tkwassertnode2 isa TKwassert + assert tkwassertnode2 isa nullable TKwassert var pexprnode4 = nodearraylist2 - assert pexprnode4 isa PExpr - var pexprnode1 = new AAssertExpr.init_aassertexpr( + assert pexprnode4 isa nullable PExpr + var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr( tkwassertnode2, null, pexprnode4 @@ -20948,17 +20947,17 @@ private class ReduceAction588 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwassertnode2 = nodearraylist1 - assert tkwassertnode2 isa TKwassert + assert tkwassertnode2 isa nullable TKwassert var tidnode3 = nodearraylist2 - assert tidnode3 isa TId + assert tidnode3 isa nullable TId var pexprnode4 = nodearraylist3 - assert pexprnode4 isa PExpr - var pexprnode1 = new AAssertExpr.init_aassertexpr( + assert pexprnode4 isa nullable PExpr + var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr( tkwassertnode2, tidnode3, pexprnode4 @@ -20972,10 +20971,10 @@ private class ReduceAction589 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(94), node_list) end @@ -20985,7 +20984,7 @@ private class ReduceAction590 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -20995,28 +20994,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -21031,35 +21030,35 @@ private class ReduceAction591 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -21074,33 +21073,33 @@ private class ReduceAction592 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode4 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr - var listnode3 = nodearraylist2 + assert pexprnode2 isa nullable PExpr + var listnode3 = nodearraylist2 assert listnode3 isa Array[Object] - if listnode3 != null then +# if listnode3 != null then if listnode4.is_empty then listnode4 = listnode3 else listnode4.append(listnode3) end - end - var listnode5 = nodearraylist3 +# end + var listnode5 = nodearraylist3 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ABraExpr.init_abraexpr( +# end + var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr( pexprnode2, listnode4, listnode6 @@ -21114,10 +21113,10 @@ private class ReduceAction593 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(95), node_list) end @@ -21127,7 +21126,7 @@ private class ReduceAction594 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -21137,28 +21136,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -21173,35 +21172,35 @@ private class ReduceAction595 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -21216,10 +21215,10 @@ private class ReduceAction596 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(96), node_list) end @@ -21229,7 +21228,7 @@ private class ReduceAction597 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -21239,28 +21238,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -21275,35 +21274,35 @@ private class ReduceAction598 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -21318,10 +21317,10 @@ private class ReduceAction599 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(97), node_list) end @@ -21331,7 +21330,7 @@ private class ReduceAction600 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -21344,18 +21343,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tkwthennode4 = nodearraylist5 - assert tkwthennode4 isa TKwthen + assert tkwthennode4 isa nullable TKwthen var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr + assert pexprnode5 isa nullable PExpr var tkwelsenode6 = nodearraylist9 - assert tkwelsenode6 isa TKwelse + assert tkwelsenode6 isa nullable TKwelse var pexprnode7 = nodearraylist11 - assert pexprnode7 isa PExpr - var pexprnode1 = new AIfexprExpr.init_aifexprexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, @@ -21372,10 +21371,10 @@ private class ReduceAction601 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(98), node_list) end @@ -21385,16 +21384,16 @@ private class ReduceAction602 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOrExpr.init_aorexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) @@ -21407,16 +21406,16 @@ private class ReduceAction603 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AAndExpr.init_aandexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) @@ -21429,10 +21428,10 @@ private class ReduceAction604 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(99), node_list) end @@ -21442,15 +21441,15 @@ private class ReduceAction605 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 - assert tkwnotnode2 isa TKwnot + assert tkwnotnode2 isa nullable TKwnot var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANotExpr.init_anotexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) @@ -21463,10 +21462,10 @@ private class ReduceAction606 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(100), node_list) end @@ -21476,16 +21475,16 @@ private class ReduceAction607 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEqExpr.init_aeqexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) @@ -21498,16 +21497,16 @@ private class ReduceAction608 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEeExpr.init_aeeexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) @@ -21520,16 +21519,16 @@ private class ReduceAction609 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANeExpr.init_aneexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) @@ -21542,16 +21541,16 @@ private class ReduceAction610 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALtExpr.init_altexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) @@ -21564,16 +21563,16 @@ private class ReduceAction611 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALeExpr.init_aleexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) @@ -21586,16 +21585,16 @@ private class ReduceAction612 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGtExpr.init_agtexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) @@ -21608,16 +21607,16 @@ private class ReduceAction613 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGeExpr.init_ageexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) @@ -21630,16 +21629,16 @@ private class ReduceAction614 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarshipExpr.init_astarshipexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) @@ -21652,16 +21651,16 @@ private class ReduceAction615 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var ptypenode3 = nodearraylist4 - assert ptypenode3 isa PType - var pexprnode1 = new AIsaExpr.init_aisaexpr( + assert ptypenode3 isa nullable PType + var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) @@ -21674,10 +21673,10 @@ private class ReduceAction616 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(101), node_list) end @@ -21687,16 +21686,16 @@ private class ReduceAction617 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APlusExpr.init_aplusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) @@ -21709,16 +21708,16 @@ private class ReduceAction618 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AMinusExpr.init_aminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) @@ -21731,10 +21730,10 @@ private class ReduceAction619 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(102), node_list) end @@ -21744,16 +21743,16 @@ private class ReduceAction620 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarExpr.init_astarexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) @@ -21766,16 +21765,16 @@ private class ReduceAction621 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ASlashExpr.init_aslashexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) @@ -21788,16 +21787,16 @@ private class ReduceAction622 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APercentExpr.init_apercentexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) @@ -21810,10 +21809,10 @@ private class ReduceAction623 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(103), node_list) end @@ -21823,15 +21822,15 @@ private class ReduceAction624 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 - assert tminusnode2 isa TMinus + assert tminusnode2 isa nullable TMinus var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AUminusExpr.init_auminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) @@ -21844,15 +21843,15 @@ private class ReduceAction625 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 - assert tkwoncenode2 isa TKwonce + assert tkwoncenode2 isa nullable TKwonce var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOnceExpr.init_aonceexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) @@ -21865,10 +21864,10 @@ private class ReduceAction626 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(104), node_list) end @@ -21878,26 +21877,26 @@ private class ReduceAction627 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType - var listnode5 = nodearraylist4 + assert ptypenode3 isa nullable PType + var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, @@ -21912,19 +21911,19 @@ private class ReduceAction628 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset + assert tkwissetnode2 isa nullable TKwisset var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tattridnode4 = nodearraylist5 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -21938,16 +21937,16 @@ private class ReduceAction629 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset - var pexprnode3 = new AImplicitSelfExpr.init_aimplicitselfexpr( + assert tkwissetnode2 isa nullable TKwisset + var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode4 = nodearraylist2 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -21961,16 +21960,16 @@ private class ReduceAction630 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist4 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -21983,13 +21982,13 @@ private class ReduceAction631 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tattridnode3 = nodearraylist1 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -22002,7 +22001,7 @@ private class ReduceAction632 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -22011,19 +22010,19 @@ special ReduceAction var listnode5 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -22038,25 +22037,25 @@ private class ReduceAction633 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode6 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -22071,22 +22070,22 @@ private class ReduceAction634 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist2 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 @@ -22100,25 +22099,25 @@ private class ReduceAction635 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 - assert pqualifiednode2 isa PQualified + assert pqualifiednode2 isa nullable PQualified var tkwsupernode3 = nodearraylist2 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist3 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 @@ -22132,7 +22131,7 @@ private class ReduceAction636 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist5 = p.pop var nodearraylist4 = p.pop var nodearraylist3 = p.pop @@ -22140,19 +22139,19 @@ special ReduceAction var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwinitnode3 = nodearraylist4 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist5 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -22166,24 +22165,24 @@ private class ReduceAction637 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tkwinitnode3 = nodearraylist1 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist2 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -22197,7 +22196,7 @@ private class ReduceAction638 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -22207,21 +22206,21 @@ special ReduceAction var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType + assert ptypenode3 isa nullable PType var tidnode4 = nodearraylist6 - assert tidnode4 isa TId - var listnode5 = nodearraylist7 + assert tidnode4 isa nullable TId + var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, @@ -22236,11 +22235,11 @@ private class ReduceAction639 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 - assert tkwselfnode2 isa TKwself - var pexprnode1 = new ASelfExpr.init_aselfexpr( + assert tkwselfnode2 isa nullable TKwself + var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 @@ -22252,11 +22251,11 @@ private class ReduceAction640 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 - assert tkwtruenode2 isa TKwtrue - var pexprnode1 = new ATrueExpr.init_atrueexpr( + assert tkwtruenode2 isa nullable TKwtrue + var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 @@ -22268,11 +22267,11 @@ private class ReduceAction641 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 - assert tkwfalsenode2 isa TKwfalse - var pexprnode1 = new AFalseExpr.init_afalseexpr( + assert tkwfalsenode2 isa nullable TKwfalse + var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 @@ -22284,11 +22283,11 @@ private class ReduceAction642 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 - assert tkwnullnode2 isa TKwnull - var pexprnode1 = new ANullExpr.init_anullexpr( + assert tkwnullnode2 isa nullable TKwnull + var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 @@ -22300,11 +22299,11 @@ private class ReduceAction643 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 - assert tnumbernode2 isa TNumber - var pexprnode1 = new AIntExpr.init_aintexpr( + assert tnumbernode2 isa nullable TNumber + var pexprnode1: nullable AIntExpr = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 @@ -22316,11 +22315,11 @@ private class ReduceAction644 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 - assert tfloatnode2 isa TFloat - var pexprnode1 = new AFloatExpr.init_afloatexpr( + assert tfloatnode2 isa nullable TFloat + var pexprnode1: nullable AFloatExpr = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 @@ -22332,11 +22331,11 @@ private class ReduceAction645 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 - assert tcharnode2 isa TChar - var pexprnode1 = new ACharExpr.init_acharexpr( + assert tcharnode2 isa nullable TChar + var pexprnode1: nullable ACharExpr = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 @@ -22348,11 +22347,11 @@ private class ReduceAction646 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 - assert tstringnode2 isa TString - var pexprnode1 = new AStringExpr.init_astringexpr( + assert tstringnode2 isa nullable TString + var pexprnode1: nullable AStringExpr = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 @@ -22364,10 +22363,10 @@ private class ReduceAction647 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(105), node_list) end @@ -22377,7 +22376,7 @@ private class ReduceAction648 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -22389,12 +22388,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var ptypenode4 = nodearraylist8 - assert ptypenode4 isa PType - var pexprnode1 = new AAsCastExpr.init_aascastexpr( + assert ptypenode4 isa nullable PType + var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr( pexprnode2, tkwasnode3, ptypenode4 @@ -22408,7 +22407,7 @@ private class ReduceAction649 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -22422,14 +22421,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var tkwnotnode4 = nodearraylist8 - assert tkwnotnode4 isa TKwnot + assert tkwnotnode4 isa nullable TKwnot var tkwnullnode5 = nodearraylist10 - assert tkwnullnode5 isa TKwnull - var pexprnode1 = new AAsNotnullExpr.init_aasnotnullexpr( + assert tkwnullnode5 isa nullable TKwnull + var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr( pexprnode2, tkwasnode3, tkwnotnode4, @@ -22444,10 +22443,10 @@ private class ReduceAction650 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(106), node_list) end @@ -22457,7 +22456,7 @@ private class ReduceAction651 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -22467,28 +22466,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -22503,35 +22502,35 @@ private class ReduceAction652 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -22546,10 +22545,10 @@ private class ReduceAction653 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(107), node_list) end @@ -22559,7 +22558,7 @@ private class ReduceAction654 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist11 = p.pop var nodearraylist10 = p.pop var nodearraylist9 = p.pop @@ -22572,18 +22571,18 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwifnode2 = nodearraylist1 - assert tkwifnode2 isa TKwif + assert tkwifnode2 isa nullable TKwif var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tkwthennode4 = nodearraylist5 - assert tkwthennode4 isa TKwthen + assert tkwthennode4 isa nullable TKwthen var pexprnode5 = nodearraylist7 - assert pexprnode5 isa PExpr + assert pexprnode5 isa nullable PExpr var tkwelsenode6 = nodearraylist9 - assert tkwelsenode6 isa TKwelse + assert tkwelsenode6 isa nullable TKwelse var pexprnode7 = nodearraylist11 - assert pexprnode7 isa PExpr - var pexprnode1 = new AIfexprExpr.init_aifexprexpr( + assert pexprnode7 isa nullable PExpr + var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr( tkwifnode2, pexprnode3, tkwthennode4, @@ -22600,10 +22599,10 @@ private class ReduceAction655 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(108), node_list) end @@ -22613,16 +22612,16 @@ private class ReduceAction656 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOrExpr.init_aorexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr( pexprnode2, pexprnode3 ) @@ -22635,16 +22634,16 @@ private class ReduceAction657 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AAndExpr.init_aandexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr( pexprnode2, pexprnode3 ) @@ -22657,10 +22656,10 @@ private class ReduceAction658 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(109), node_list) end @@ -22670,15 +22669,15 @@ private class ReduceAction659 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwnotnode2 = nodearraylist1 - assert tkwnotnode2 isa TKwnot + assert tkwnotnode2 isa nullable TKwnot var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANotExpr.init_anotexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr( tkwnotnode2, pexprnode3 ) @@ -22691,10 +22690,10 @@ private class ReduceAction660 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(110), node_list) end @@ -22704,16 +22703,16 @@ private class ReduceAction661 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEqExpr.init_aeqexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr( pexprnode2, pexprnode3 ) @@ -22726,16 +22725,16 @@ private class ReduceAction662 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AEeExpr.init_aeeexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AEeExpr = new AEeExpr.init_aeeexpr( pexprnode2, pexprnode3 ) @@ -22748,16 +22747,16 @@ private class ReduceAction663 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ANeExpr.init_aneexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr( pexprnode2, pexprnode3 ) @@ -22770,16 +22769,16 @@ private class ReduceAction664 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALtExpr.init_altexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr( pexprnode2, pexprnode3 ) @@ -22792,16 +22791,16 @@ private class ReduceAction665 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ALeExpr.init_aleexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr( pexprnode2, pexprnode3 ) @@ -22814,16 +22813,16 @@ private class ReduceAction666 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGtExpr.init_agtexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr( pexprnode2, pexprnode3 ) @@ -22836,16 +22835,16 @@ private class ReduceAction667 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AGeExpr.init_ageexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr( pexprnode2, pexprnode3 ) @@ -22858,16 +22857,16 @@ private class ReduceAction668 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarshipExpr.init_astarshipexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr( pexprnode2, pexprnode3 ) @@ -22880,16 +22879,16 @@ private class ReduceAction669 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var ptypenode3 = nodearraylist4 - assert ptypenode3 isa PType - var pexprnode1 = new AIsaExpr.init_aisaexpr( + assert ptypenode3 isa nullable PType + var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr( pexprnode2, ptypenode3 ) @@ -22902,10 +22901,10 @@ private class ReduceAction670 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(111), node_list) end @@ -22915,16 +22914,16 @@ private class ReduceAction671 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APlusExpr.init_aplusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr( pexprnode2, pexprnode3 ) @@ -22937,16 +22936,16 @@ private class ReduceAction672 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AMinusExpr.init_aminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr( pexprnode2, pexprnode3 ) @@ -22959,10 +22958,10 @@ private class ReduceAction673 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(112), node_list) end @@ -22972,16 +22971,16 @@ private class ReduceAction674 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new AStarExpr.init_astarexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr( pexprnode2, pexprnode3 ) @@ -22994,16 +22993,16 @@ private class ReduceAction675 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new ASlashExpr.init_aslashexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr( pexprnode2, pexprnode3 ) @@ -23016,16 +23015,16 @@ private class ReduceAction676 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var pexprnode3 = nodearraylist4 - assert pexprnode3 isa PExpr - var pexprnode1 = new APercentExpr.init_apercentexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr( pexprnode2, pexprnode3 ) @@ -23038,10 +23037,10 @@ private class ReduceAction677 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(113), node_list) end @@ -23051,15 +23050,15 @@ private class ReduceAction678 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tminusnode2 = nodearraylist1 - assert tminusnode2 isa TMinus + assert tminusnode2 isa nullable TMinus var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AUminusExpr.init_auminusexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr( tminusnode2, pexprnode3 ) @@ -23072,15 +23071,15 @@ private class ReduceAction679 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwoncenode2 = nodearraylist1 - assert tkwoncenode2 isa TKwonce + assert tkwoncenode2 isa nullable TKwonce var pexprnode3 = nodearraylist3 - assert pexprnode3 isa PExpr - var pexprnode1 = new AOnceExpr.init_aonceexpr( + assert pexprnode3 isa nullable PExpr + var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr( tkwoncenode2, pexprnode3 ) @@ -23093,10 +23092,10 @@ private class ReduceAction680 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(114), node_list) end @@ -23106,26 +23105,26 @@ private class ReduceAction681 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist4 = p.pop var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType - var listnode5 = nodearraylist4 + assert ptypenode3 isa nullable PType + var listnode5 = nodearraylist4 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, null, @@ -23140,17 +23139,17 @@ private class ReduceAction682 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var tkwissetnode2 = nodearraylist1 - assert tkwissetnode2 isa TKwisset + assert tkwissetnode2 isa nullable TKwisset var pexprnode3 = nodearraylist2 - assert pexprnode3 isa PExpr + assert pexprnode3 isa nullable PExpr var tattridnode4 = nodearraylist3 - assert tattridnode4 isa TAttrid - var pexprnode1 = new AIssetAttrExpr.init_aissetattrexpr( + assert tattridnode4 isa nullable TAttrid + var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr( tkwissetnode2, pexprnode3, tattridnode4 @@ -23164,14 +23163,14 @@ private class ReduceAction683 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tattridnode3 = nodearraylist2 - assert tattridnode3 isa TAttrid - var pexprnode1 = new AAttrExpr.init_aattrexpr( + assert tattridnode3 isa nullable TAttrid + var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr( pexprnode2, tattridnode3 ) @@ -23184,26 +23183,26 @@ private class ReduceAction684 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode6 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist2 - assert tidnode3 isa TId - var listnode4 = nodearraylist3 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -23218,22 +23217,22 @@ private class ReduceAction685 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var tkwsupernode3 = nodearraylist1 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist2 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( null, tkwsupernode3, listnode5 @@ -23247,25 +23246,25 @@ private class ReduceAction686 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pqualifiednode2 = nodearraylist1 - assert pqualifiednode2 isa PQualified + assert pqualifiednode2 isa nullable PQualified var tkwsupernode3 = nodearraylist2 - assert tkwsupernode3 isa TKwsuper - var listnode4 = nodearraylist3 + assert tkwsupernode3 isa nullable TKwsuper + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new ASuperExpr.init_asuperexpr( +# end + var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr( pqualifiednode2, tkwsupernode3, listnode5 @@ -23279,25 +23278,25 @@ private class ReduceAction687 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwinitnode3 = nodearraylist2 - assert tkwinitnode3 isa TKwinit - var listnode4 = nodearraylist3 + assert tkwinitnode3 isa nullable TKwinit + var listnode4 = nodearraylist3 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var pexprnode1 = new AInitExpr.init_ainitexpr( +# end + var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr( pexprnode2, tkwinitnode3, listnode5 @@ -23311,7 +23310,7 @@ private class ReduceAction688 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist7 = p.pop var nodearraylist6 = p.pop var nodearraylist5 = p.pop @@ -23321,21 +23320,21 @@ special ReduceAction var nodearraylist1 = p.pop var listnode6 = new Array[Object] var tkwnewnode2 = nodearraylist1 - assert tkwnewnode2 isa TKwnew + assert tkwnewnode2 isa nullable TKwnew var ptypenode3 = nodearraylist3 - assert ptypenode3 isa PType + assert ptypenode3 isa nullable PType var tidnode4 = nodearraylist6 - assert tidnode4 isa TId - var listnode5 = nodearraylist7 + assert tidnode4 isa nullable TId + var listnode5 = nodearraylist7 assert listnode5 isa Array[Object] - if listnode5 != null then +# if listnode5 != null then if listnode6.is_empty then listnode6 = listnode5 else listnode6.append(listnode5) end - end - var pexprnode1 = new ANewExpr.init_anewexpr( +# end + var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr( tkwnewnode2, ptypenode3, tidnode4, @@ -23350,11 +23349,11 @@ private class ReduceAction689 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwselfnode2 = nodearraylist1 - assert tkwselfnode2 isa TKwself - var pexprnode1 = new ASelfExpr.init_aselfexpr( + assert tkwselfnode2 isa nullable TKwself + var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr( tkwselfnode2 ) node_list = pexprnode1 @@ -23366,11 +23365,11 @@ private class ReduceAction690 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwtruenode2 = nodearraylist1 - assert tkwtruenode2 isa TKwtrue - var pexprnode1 = new ATrueExpr.init_atrueexpr( + assert tkwtruenode2 isa nullable TKwtrue + var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr( tkwtruenode2 ) node_list = pexprnode1 @@ -23382,11 +23381,11 @@ private class ReduceAction691 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwfalsenode2 = nodearraylist1 - assert tkwfalsenode2 isa TKwfalse - var pexprnode1 = new AFalseExpr.init_afalseexpr( + assert tkwfalsenode2 isa nullable TKwfalse + var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr( tkwfalsenode2 ) node_list = pexprnode1 @@ -23398,11 +23397,11 @@ private class ReduceAction692 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tkwnullnode2 = nodearraylist1 - assert tkwnullnode2 isa TKwnull - var pexprnode1 = new ANullExpr.init_anullexpr( + assert tkwnullnode2 isa nullable TKwnull + var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr( tkwnullnode2 ) node_list = pexprnode1 @@ -23414,11 +23413,11 @@ private class ReduceAction693 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tnumbernode2 = nodearraylist1 - assert tnumbernode2 isa TNumber - var pexprnode1 = new AIntExpr.init_aintexpr( + assert tnumbernode2 isa nullable TNumber + var pexprnode1: nullable AIntExpr = new AIntExpr.init_aintexpr( tnumbernode2 ) node_list = pexprnode1 @@ -23430,11 +23429,11 @@ private class ReduceAction694 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tfloatnode2 = nodearraylist1 - assert tfloatnode2 isa TFloat - var pexprnode1 = new AFloatExpr.init_afloatexpr( + assert tfloatnode2 isa nullable TFloat + var pexprnode1: nullable AFloatExpr = new AFloatExpr.init_afloatexpr( tfloatnode2 ) node_list = pexprnode1 @@ -23446,11 +23445,11 @@ private class ReduceAction695 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tcharnode2 = nodearraylist1 - assert tcharnode2 isa TChar - var pexprnode1 = new ACharExpr.init_acharexpr( + assert tcharnode2 isa nullable TChar + var pexprnode1: nullable ACharExpr = new ACharExpr.init_acharexpr( tcharnode2 ) node_list = pexprnode1 @@ -23462,11 +23461,11 @@ private class ReduceAction696 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var tstringnode2 = nodearraylist1 - assert tstringnode2 isa TString - var pexprnode1 = new AStringExpr.init_astringexpr( + assert tstringnode2 isa nullable TString + var pexprnode1: nullable AStringExpr = new AStringExpr.init_astringexpr( tstringnode2 ) node_list = pexprnode1 @@ -23478,10 +23477,10 @@ private class ReduceAction697 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(115), node_list) end @@ -23491,7 +23490,7 @@ private class ReduceAction698 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist10 = p.pop var nodearraylist9 = p.pop var nodearraylist8 = p.pop @@ -23503,12 +23502,12 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var ptypenode4 = nodearraylist8 - assert ptypenode4 isa PType - var pexprnode1 = new AAsCastExpr.init_aascastexpr( + assert ptypenode4 isa nullable PType + var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr( pexprnode2, tkwasnode3, ptypenode4 @@ -23522,7 +23521,7 @@ private class ReduceAction699 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist12 = p.pop var nodearraylist11 = p.pop var nodearraylist10 = p.pop @@ -23536,14 +23535,14 @@ special ReduceAction var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tkwasnode3 = nodearraylist4 - assert tkwasnode3 isa TKwas + assert tkwasnode3 isa nullable TKwas var tkwnotnode4 = nodearraylist8 - assert tkwnotnode4 isa TKwnot + assert tkwnotnode4 isa nullable TKwnot var tkwnullnode5 = nodearraylist10 - assert tkwnullnode5 isa TKwnull - var pexprnode1 = new AAsNotnullExpr.init_aasnotnullexpr( + assert tkwnullnode5 isa nullable TKwnull + var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr( pexprnode2, tkwasnode3, tkwnotnode4, @@ -23558,12 +23557,12 @@ private class ReduceAction700 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(116), node_list) end @@ -23573,8 +23572,8 @@ private class ReduceAction701 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null - var pexprnode1 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var node_list: nullable Object = null + var pexprnode1: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) node_list = pexprnode1 p.push(p.go_to(116), node_list) @@ -23585,10 +23584,10 @@ private class ReduceAction702 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(117), node_list) end @@ -23598,7 +23597,7 @@ private class ReduceAction703 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -23608,28 +23607,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -23644,35 +23643,35 @@ private class ReduceAction704 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -23687,10 +23686,10 @@ private class ReduceAction705 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr node_list = pexprnode1 p.push(p.go_to(118), node_list) end @@ -23700,7 +23699,7 @@ private class ReduceAction706 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist6 = p.pop var nodearraylist5 = p.pop var nodearraylist4 = p.pop @@ -23710,28 +23709,28 @@ special ReduceAction var listnode5 = new Array[Object] var listnode7 = new Array[Object] var pexprnode2 = nodearraylist1 - assert pexprnode2 isa PExpr + assert pexprnode2 isa nullable PExpr var tidnode3 = nodearraylist4 - assert tidnode3 isa TId - var listnode4 = nodearraylist5 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist5 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist6 +# end + var listnode6 = nodearraylist6 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -23746,35 +23745,35 @@ private class ReduceAction707 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist3 = p.pop var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode5 = new Array[Object] var listnode7 = new Array[Object] - var pexprnode2 = new AImplicitSelfExpr.init_aimplicitselfexpr( + var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr( ) var tidnode3 = nodearraylist1 - assert tidnode3 isa TId - var listnode4 = nodearraylist2 + assert tidnode3 isa nullable TId + var listnode4 = nodearraylist2 assert listnode4 isa Array[Object] - if listnode4 != null then +# if listnode4 != null then if listnode5.is_empty then listnode5 = listnode4 else listnode5.append(listnode4) end - end - var listnode6 = nodearraylist3 +# end + var listnode6 = nodearraylist3 assert listnode6 isa Array[Object] - if listnode6 != null then +# if listnode6 != null then if listnode7.is_empty then listnode7 = listnode6 else listnode7.append(listnode6) end - end - var pexprnode1 = new ACallExpr.init_acallexpr( +# end + var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr( pexprnode2, tidnode3, listnode5, @@ -23789,11 +23788,11 @@ private class ReduceAction708 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pimportnode1 = nodearraylist1 - assert pimportnode1 isa PImport + assert pimportnode1 isa nullable PImport if pimportnode1 != null then listnode2.add(pimportnode1) end @@ -23806,21 +23805,21 @@ private class ReduceAction709 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pimportnode2 = nodearraylist2 - assert pimportnode2 isa PImport - if listnode1 != null then + assert pimportnode2 isa nullable PImport +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pimportnode2 != null then listnode3.add(pimportnode2) end @@ -23833,11 +23832,11 @@ private class ReduceAction710 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pclassdefnode1 = nodearraylist1 - assert pclassdefnode1 isa PClassdef + assert pclassdefnode1 isa nullable PClassdef if pclassdefnode1 != null then listnode2.add(pclassdefnode1) end @@ -23850,21 +23849,21 @@ private class ReduceAction711 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pclassdefnode2 = nodearraylist2 - assert pclassdefnode2 isa PClassdef - if listnode1 != null then + assert pclassdefnode2 isa nullable PClassdef +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pclassdefnode2 != null then listnode3.add(pclassdefnode2) end @@ -23877,11 +23876,11 @@ private class ReduceAction712 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var psuperclassnode1 = nodearraylist1 - assert psuperclassnode1 isa PSuperclass + assert psuperclassnode1 isa nullable PSuperclass if psuperclassnode1 != null then listnode2.add(psuperclassnode1) end @@ -23894,21 +23893,21 @@ private class ReduceAction713 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var psuperclassnode2 = nodearraylist2 - assert psuperclassnode2 isa PSuperclass - if listnode1 != null then + assert psuperclassnode2 isa nullable PSuperclass +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if psuperclassnode2 != null then listnode3.add(psuperclassnode2) end @@ -23921,11 +23920,11 @@ private class ReduceAction714 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pformaldefnode1 = nodearraylist1 - assert pformaldefnode1 isa PFormaldef + assert pformaldefnode1 isa nullable PFormaldef if pformaldefnode1 != null then listnode2.add(pformaldefnode1) end @@ -23938,21 +23937,21 @@ private class ReduceAction715 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pformaldefnode2 = nodearraylist2 - assert pformaldefnode2 isa PFormaldef - if listnode1 != null then + assert pformaldefnode2 isa nullable PFormaldef +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pformaldefnode2 != null then listnode3.add(pformaldefnode2) end @@ -23965,11 +23964,11 @@ private class ReduceAction716 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ppropdefnode1 = nodearraylist1 - assert ppropdefnode1 isa PPropdef + assert ppropdefnode1 isa nullable PPropdef if ppropdefnode1 != null then listnode2.add(ppropdefnode1) end @@ -23982,21 +23981,21 @@ private class ReduceAction717 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var ppropdefnode2 = nodearraylist2 - assert ppropdefnode2 isa PPropdef - if listnode1 != null then + assert ppropdefnode2 isa nullable PPropdef +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if ppropdefnode2 != null then listnode3.add(ppropdefnode2) end @@ -24009,11 +24008,11 @@ private class ReduceAction718 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pparamnode1 = nodearraylist1 - assert pparamnode1 isa PParam + assert pparamnode1 isa nullable PParam if pparamnode1 != null then listnode2.add(pparamnode1) end @@ -24026,21 +24025,21 @@ private class ReduceAction719 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pparamnode2 = nodearraylist2 - assert pparamnode2 isa PParam - if listnode1 != null then + assert pparamnode2 isa nullable PParam +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pparamnode2 != null then listnode3.add(pparamnode2) end @@ -24053,11 +24052,11 @@ private class ReduceAction720 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pclosuredeclnode1 = nodearraylist1 - assert pclosuredeclnode1 isa PClosureDecl + assert pclosuredeclnode1 isa nullable PClosureDecl if pclosuredeclnode1 != null then listnode2.add(pclosuredeclnode1) end @@ -24070,21 +24069,21 @@ private class ReduceAction721 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pclosuredeclnode2 = nodearraylist2 - assert pclosuredeclnode2 isa PClosureDecl - if listnode1 != null then + assert pclosuredeclnode2 isa nullable PClosureDecl +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pclosuredeclnode2 != null then listnode3.add(pclosuredeclnode2) end @@ -24097,11 +24096,11 @@ private class ReduceAction722 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ptypenode1 = nodearraylist1 - assert ptypenode1 isa PType + assert ptypenode1 isa nullable PType if ptypenode1 != null then listnode2.add(ptypenode1) end @@ -24114,21 +24113,21 @@ private class ReduceAction723 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var ptypenode2 = nodearraylist2 - assert ptypenode2 isa PType - if listnode1 != null then + assert ptypenode2 isa nullable PType +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if ptypenode2 != null then listnode3.add(ptypenode2) end @@ -24141,11 +24140,11 @@ private class ReduceAction724 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end @@ -24158,21 +24157,21 @@ private class ReduceAction725 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pexprnode2 = nodearraylist2 - assert pexprnode2 isa PExpr - if listnode1 != null then + assert pexprnode2 isa nullable PExpr +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pexprnode2 != null then listnode3.add(pexprnode2) end @@ -24185,18 +24184,18 @@ private class ReduceAction726 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] - if listnode1 != null then +# if listnode1 != null then if listnode2.is_empty then listnode2 = listnode1 else listnode2.append(listnode1) end - end +# end node_list = listnode2 p.push(p.go_to(128), node_list) end @@ -24206,28 +24205,28 @@ private class ReduceAction727 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] - var listnode2 = nodearraylist2 + var listnode2 = nodearraylist2 assert listnode2 isa Array[Object] - if listnode1 != null then +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end - if listnode2 != null then +# end +# if listnode2 != null then if listnode3.is_empty then listnode3 = listnode2 else listnode3.append(listnode2) end - end +# end node_list = listnode3 p.push(p.go_to(128), node_list) end @@ -24237,11 +24236,11 @@ private class ReduceAction728 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var pexprnode1 = nodearraylist1 - assert pexprnode1 isa PExpr + assert pexprnode1 isa nullable PExpr if pexprnode1 != null then listnode2.add(pexprnode1) end @@ -24254,21 +24253,21 @@ private class ReduceAction729 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var pexprnode2 = nodearraylist2 - assert pexprnode2 isa PExpr - if listnode1 != null then + assert pexprnode2 isa nullable PExpr +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if pexprnode2 != null then listnode3.add(pexprnode2) end @@ -24281,11 +24280,11 @@ private class ReduceAction730 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tidnode1 = nodearraylist1 - assert tidnode1 isa TId + assert tidnode1 isa nullable TId if tidnode1 != null then listnode2.add(tidnode1) end @@ -24298,21 +24297,21 @@ private class ReduceAction731 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var tidnode2 = nodearraylist2 - assert tidnode2 isa TId - if listnode1 != null then + assert tidnode2 isa nullable TId +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if tidnode2 != null then listnode3.add(tidnode2) end @@ -24325,11 +24324,11 @@ private class ReduceAction732 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var tcommentnode1 = nodearraylist1 - assert tcommentnode1 isa TComment + assert tcommentnode1 isa nullable TComment if tcommentnode1 != null then listnode2.add(tcommentnode1) end @@ -24342,21 +24341,21 @@ private class ReduceAction733 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var tcommentnode2 = nodearraylist2 - assert tcommentnode2 isa TComment - if listnode1 != null then + assert tcommentnode2 isa nullable TComment +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if tcommentnode2 != null then listnode3.add(tcommentnode2) end @@ -24369,11 +24368,11 @@ private class ReduceAction734 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var teolnode1 = nodearraylist1 - assert teolnode1 isa TEol + assert teolnode1 isa nullable TEol if teolnode1 != null then listnode2.add(teolnode1) end @@ -24386,21 +24385,21 @@ private class ReduceAction735 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var teolnode2 = nodearraylist2 - assert teolnode2 isa TEol - if listnode1 != null then + assert teolnode2 isa nullable TEol +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if teolnode2 != null then listnode3.add(teolnode2) end @@ -24413,11 +24412,11 @@ private class ReduceAction736 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist1 = p.pop var listnode2 = new Array[Object] var ppropdefnode1 = nodearraylist1 - assert ppropdefnode1 isa PPropdef + assert ppropdefnode1 isa nullable PPropdef if ppropdefnode1 != null then listnode2.add(ppropdefnode1) end @@ -24430,21 +24429,21 @@ private class ReduceAction737 special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null var nodearraylist2 = p.pop var nodearraylist1 = p.pop var listnode3 = new Array[Object] - var listnode1 = nodearraylist1 + var listnode1 = nodearraylist1 assert listnode1 isa Array[Object] var ppropdefnode2 = nodearraylist2 - assert ppropdefnode2 isa PPropdef - if listnode1 != null then + assert ppropdefnode2 isa nullable PPropdef +# if listnode1 != null then if listnode3.is_empty then listnode3 = listnode1 else listnode3.append(listnode1) end - end +# end if ppropdefnode2 != null then listnode3.add(ppropdefnode2) end diff --git a/src/parser/parser_abs.nit b/src/parser/parser_abs.nit index 7862435..60b2fa9 100644 --- a/src/parser/parser_abs.nit +++ b/src/parser/parser_abs.nit @@ -305,676 +305,676 @@ class PDoc special Prod end class AModule special PModule - readable writable attr _n_packagedecl: PPackagedecl = null - readable writable attr _n_imports: List[PImport] = null - readable writable attr _n_classdefs: List[PClassdef] = null + readable writable attr _n_packagedecl: nullable PPackagedecl = null + readable writable attr _n_imports: List[PImport] = new List[PImport] + readable writable attr _n_classdefs: List[PClassdef] = new List[PClassdef] end class APackagedecl special PPackagedecl - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwpackage: TKwpackage = null - readable writable attr _n_id: TId = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwpackage: TKwpackage + readable writable attr _n_id: TId end class AImport special PImport - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwimport: TKwimport = null - readable writable attr _n_id: TId = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwimport: TKwimport + readable writable attr _n_id: TId end class ANoImport special PImport - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwimport: TKwimport = null - readable writable attr _n_kwend: TKwend = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwimport: TKwimport + readable writable attr _n_kwend: TKwend end class APublicVisibility special PVisibility end class APrivateVisibility special PVisibility - readable writable attr _n_kwprivate: TKwprivate = null + readable writable attr _n_kwprivate: TKwprivate end class AProtectedVisibility special PVisibility - readable writable attr _n_kwprotected: TKwprotected = null + readable writable attr _n_kwprotected: TKwprotected end class AIntrudeVisibility special PVisibility - readable writable attr _n_kwintrude: TKwintrude = null + readable writable attr _n_kwintrude: TKwintrude end class AClassdef special PClassdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_classkind: PClasskind = null - readable writable attr _n_id: TClassid = null - readable writable attr _n_formaldefs: List[PFormaldef] = null - readable writable attr _n_superclasses: List[PSuperclass] = null - readable writable attr _n_propdefs: List[PPropdef] = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_classkind: PClasskind + readable writable attr _n_id: nullable TClassid = null + readable writable attr _n_formaldefs: List[PFormaldef] = new List[PFormaldef] + readable writable attr _n_superclasses: List[PSuperclass] = new List[PSuperclass] + readable writable attr _n_propdefs: List[PPropdef] = new List[PPropdef] end class ATopClassdef special PClassdef - readable writable attr _n_propdefs: List[PPropdef] = null + readable writable attr _n_propdefs: List[PPropdef] = new List[PPropdef] end class AMainClassdef special PClassdef - readable writable attr _n_propdefs: List[PPropdef] = null + readable writable attr _n_propdefs: List[PPropdef] = new List[PPropdef] end class AConcreteClasskind special PClasskind - readable writable attr _n_kwclass: TKwclass = null + readable writable attr _n_kwclass: TKwclass end class AAbstractClasskind special PClasskind - readable writable attr _n_kwabstract: TKwabstract = null - readable writable attr _n_kwclass: TKwclass = null + readable writable attr _n_kwabstract: TKwabstract + readable writable attr _n_kwclass: TKwclass end class AInterfaceClasskind special PClasskind - readable writable attr _n_kwinterface: TKwinterface = null + readable writable attr _n_kwinterface: TKwinterface end class AUniversalClasskind special PClasskind - readable writable attr _n_kwuniversal: TKwuniversal = null + readable writable attr _n_kwuniversal: TKwuniversal end class AFormaldef special PFormaldef - readable writable attr _n_id: TClassid = null - readable writable attr _n_type: PType = null + readable writable attr _n_id: TClassid + readable writable attr _n_type: nullable PType = null end class ASuperclass special PSuperclass - readable writable attr _n_kwspecial: TKwspecial = null - readable writable attr _n_type: PType = null + readable writable attr _n_kwspecial: TKwspecial + readable writable attr _n_type: PType end class AAttrPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_readable: PAble = null - readable writable attr _n_writable: PAble = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwattr: TKwattr = null - readable writable attr _n_kwvar: TKwvar = null - readable writable attr _n_id: TAttrid = null - readable writable attr _n_type: PType = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_readable: nullable PAble = null + readable writable attr _n_writable: nullable PAble = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwattr: nullable TKwattr = null + readable writable attr _n_kwvar: nullable TKwvar = null + readable writable attr _n_id: TAttrid + readable writable attr _n_type: nullable PType = null + readable writable attr _n_expr: nullable PExpr = null end class AMethPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_methid: PMethid + readable writable attr _n_signature: PSignature end class ADeferredMethPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwmeth: TKwmeth = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwmeth: TKwmeth + readable writable attr _n_methid: PMethid + readable writable attr _n_signature: PSignature end class AInternMethPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwmeth: TKwmeth = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwmeth: TKwmeth + readable writable attr _n_methid: PMethid + readable writable attr _n_signature: PSignature end class AExternMethPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwmeth: TKwmeth = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null - readable writable attr _n_extern: TString = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwmeth: TKwmeth + readable writable attr _n_methid: PMethid + readable writable attr _n_signature: PSignature + readable writable attr _n_extern: nullable TString = null end class AConcreteMethPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwmeth: TKwmeth = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwmeth: TKwmeth + readable writable attr _n_methid: PMethid + readable writable attr _n_signature: PSignature + readable writable attr _n_block: nullable PExpr = null end class AConcreteInitPropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwinit: TKwinit = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwinit: TKwinit + readable writable attr _n_methid: nullable PMethid = null + readable writable attr _n_signature: PSignature + readable writable attr _n_block: nullable PExpr = null end class AMainMethPropdef special PPropdef - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_block: nullable PExpr = null end class ATypePropdef special PPropdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwtype: TKwtype = null - readable writable attr _n_id: TClassid = null - readable writable attr _n_type: PType = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwtype: TKwtype + readable writable attr _n_id: TClassid + readable writable attr _n_type: PType end class AReadAble special PAble - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_kwreadable: TKwreadable = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_kwreadable: TKwreadable end class AWriteAble special PAble - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_kwwritable: TKwwritable = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_kwwritable: TKwwritable end class AIdMethid special PMethid - readable writable attr _n_id: TId = null + readable writable attr _n_id: TId end class APlusMethid special PMethid - readable writable attr _n_plus: TPlus = null + readable writable attr _n_plus: TPlus end class AMinusMethid special PMethid - readable writable attr _n_minus: TMinus = null + readable writable attr _n_minus: TMinus end class AStarMethid special PMethid - readable writable attr _n_star: TStar = null + readable writable attr _n_star: TStar end class ASlashMethid special PMethid - readable writable attr _n_slash: TSlash = null + readable writable attr _n_slash: TSlash end class APercentMethid special PMethid - readable writable attr _n_percent: TPercent = null + readable writable attr _n_percent: TPercent end class AEqMethid special PMethid - readable writable attr _n_eq: TEq = null + readable writable attr _n_eq: TEq end class ANeMethid special PMethid - readable writable attr _n_ne: TNe = null + readable writable attr _n_ne: TNe end class ALeMethid special PMethid - readable writable attr _n_le: TLe = null + readable writable attr _n_le: TLe end class AGeMethid special PMethid - readable writable attr _n_ge: TGe = null + readable writable attr _n_ge: TGe end class ALtMethid special PMethid - readable writable attr _n_lt: TLt = null + readable writable attr _n_lt: TLt end class AGtMethid special PMethid - readable writable attr _n_gt: TGt = null + readable writable attr _n_gt: TGt end class ABraMethid special PMethid - readable writable attr _n_obra: TObra = null - readable writable attr _n_cbra: TCbra = null + readable writable attr _n_obra: TObra + readable writable attr _n_cbra: TCbra end class AStarshipMethid special PMethid - readable writable attr _n_starship: TStarship = null + readable writable attr _n_starship: TStarship end class AAssignMethid special PMethid - readable writable attr _n_id: TId = null - readable writable attr _n_assign: TAssign = null + readable writable attr _n_id: TId + readable writable attr _n_assign: TAssign end class ABraassignMethid special PMethid - readable writable attr _n_obra: TObra = null - readable writable attr _n_cbra: TCbra = null - readable writable attr _n_assign: TAssign = null + readable writable attr _n_obra: TObra + readable writable attr _n_cbra: TCbra + readable writable attr _n_assign: TAssign end class ASignature special PSignature - readable writable attr _n_params: List[PParam] = null - readable writable attr _n_type: PType = null - readable writable attr _n_closure_decls: List[PClosureDecl] = null + readable writable attr _n_params: List[PParam] = new List[PParam] + readable writable attr _n_type: nullable PType = null + readable writable attr _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl] end class AParam special PParam - readable writable attr _n_id: TId = null - readable writable attr _n_type: PType = null - readable writable attr _n_dotdotdot: TDotdotdot = null + readable writable attr _n_id: TId + readable writable attr _n_type: nullable PType = null + readable writable attr _n_dotdotdot: nullable TDotdotdot = null end class AClosureDecl special PClosureDecl - readable writable attr _n_kwwith: TKwwith = null - readable writable attr _n_kwbreak: TKwbreak = null - readable writable attr _n_id: TId = null - readable writable attr _n_signature: PSignature = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwwith: TKwwith + readable writable attr _n_kwbreak: nullable TKwbreak = null + readable writable attr _n_id: TId + readable writable attr _n_signature: PSignature + readable writable attr _n_expr: nullable PExpr = null end class AType special PType - readable writable attr _n_kwnullable: TKwnullable = null - readable writable attr _n_id: TClassid = null - readable writable attr _n_types: List[PType] = null + readable writable attr _n_kwnullable: nullable TKwnullable = null + readable writable attr _n_id: TClassid + readable writable attr _n_types: List[PType] = new List[PType] end class ABlockExpr special PExpr - readable writable attr _n_expr: List[PExpr] = null + readable writable attr _n_expr: List[PExpr] = new List[PExpr] end class AVardeclExpr special PExpr - readable writable attr _n_kwvar: TKwvar = null - readable writable attr _n_id: TId = null - readable writable attr _n_type: PType = null - readable writable attr _n_assign: TAssign = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwvar: TKwvar + readable writable attr _n_id: TId + readable writable attr _n_type: nullable PType = null + readable writable attr _n_assign: nullable TAssign = null + readable writable attr _n_expr: nullable PExpr = null end class AReturnExpr special PExpr - readable writable attr _n_kwreturn: TKwreturn = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwreturn: TKwreturn + readable writable attr _n_expr: nullable PExpr = null end class ABreakExpr special PExpr - readable writable attr _n_kwbreak: TKwbreak = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwbreak: TKwbreak + readable writable attr _n_expr: nullable PExpr = null end class AAbortExpr special PExpr - readable writable attr _n_kwabort: TKwabort = null + readable writable attr _n_kwabort: TKwabort end class AContinueExpr special PExpr - readable writable attr _n_kwcontinue: TKwcontinue = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwcontinue: TKwcontinue + readable writable attr _n_expr: nullable PExpr = null end class ADoExpr special PExpr - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_block: nullable PExpr = null end class AIfExpr special PExpr - readable writable attr _n_kwif: TKwif = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_then: PExpr = null - readable writable attr _n_else: PExpr = null + readable writable attr _n_kwif: TKwif + readable writable attr _n_expr: PExpr + readable writable attr _n_then: nullable PExpr = null + readable writable attr _n_else: nullable PExpr = null end class AIfexprExpr special PExpr - readable writable attr _n_kwif: TKwif = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwthen: TKwthen = null - readable writable attr _n_then: PExpr = null - readable writable attr _n_kwelse: TKwelse = null - readable writable attr _n_else: PExpr = null + readable writable attr _n_kwif: TKwif + readable writable attr _n_expr: PExpr + readable writable attr _n_kwthen: TKwthen + readable writable attr _n_then: PExpr + readable writable attr _n_kwelse: TKwelse + readable writable attr _n_else: PExpr end class AWhileExpr special PExpr - readable writable attr _n_kwwhile: TKwwhile = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwwhile: TKwwhile + readable writable attr _n_expr: PExpr + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_block: nullable PExpr = null end class AForExpr special PExpr - readable writable attr _n_kwfor: TKwfor = null - readable writable attr _n_id: TId = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwfor: TKwfor + readable writable attr _n_id: TId + readable writable attr _n_expr: PExpr + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_block: nullable PExpr = null end class AAssertExpr special PExpr - readable writable attr _n_kwassert: TKwassert = null - readable writable attr _n_id: TId = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwassert: TKwassert + readable writable attr _n_id: nullable TId = null + readable writable attr _n_expr: PExpr end class AOnceExpr special PExpr - readable writable attr _n_kwonce: TKwonce = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwonce: TKwonce + readable writable attr _n_expr: PExpr end class ASendExpr special PExpr - readable writable attr _n_expr: PExpr = null + readable writable attr _n_expr: PExpr end class ABinopExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AOrExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AAndExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ANotExpr special PExpr - readable writable attr _n_kwnot: TKwnot = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwnot: TKwnot + readable writable attr _n_expr: PExpr end class AEqExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AEeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ANeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ALtExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ALeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AGtExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AGeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AIsaExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_type: PType = null + readable writable attr _n_expr: PExpr + readable writable attr _n_type: PType end class APlusExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AMinusExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AStarshipExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AStarExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ASlashExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class APercentExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AUminusExpr special PExpr - readable writable attr _n_minus: TMinus = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_minus: TMinus + readable writable attr _n_expr: PExpr end class ANewExpr special PExpr - readable writable attr _n_kwnew: TKwnew = null - readable writable attr _n_type: PType = null - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_kwnew: TKwnew + readable writable attr _n_type: PType + readable writable attr _n_id: nullable TId = null + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class AAttrExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TAttrid = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TAttrid end class AAttrAssignExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TAttrid = null - readable writable attr _n_assign: TAssign = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TAttrid + readable writable attr _n_assign: TAssign + readable writable attr _n_value: PExpr end class AAttrReassignExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TAttrid = null - readable writable attr _n_assign_op: PAssignOp = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TAttrid + readable writable attr _n_assign_op: PAssignOp + readable writable attr _n_value: PExpr end class ACallExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_closure_defs: List[PClosureDef] = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TId + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class ACallAssignExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_assign: TAssign = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TId + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_assign: TAssign + readable writable attr _n_value: PExpr end class ACallReassignExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_assign_op: PAssignOp = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TId + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_assign_op: PAssignOp + readable writable attr _n_value: PExpr end class ASuperExpr special PExpr - readable writable attr _n_qualified: PQualified = null - readable writable attr _n_kwsuper: TKwsuper = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_qualified: nullable PQualified = null + readable writable attr _n_kwsuper: TKwsuper + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class AInitExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwinit: TKwinit = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_expr: PExpr + readable writable attr _n_kwinit: TKwinit + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class ABraExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_closure_defs: List[PClosureDef] = null + readable writable attr _n_expr: PExpr + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class ABraAssignExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_assign: TAssign = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_assign: TAssign + readable writable attr _n_value: PExpr end class ABraReassignExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_assign_op: PAssignOp = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_assign_op: PAssignOp + readable writable attr _n_value: PExpr end class AClosureCallExpr special PExpr - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_closure_defs: List[PClosureDef] = null + readable writable attr _n_id: TId + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class AVarExpr special PExpr - readable writable attr _n_id: TId = null + readable writable attr _n_id: TId end class AVarAssignExpr special PExpr - readable writable attr _n_id: TId = null - readable writable attr _n_assign: TAssign = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_id: TId + readable writable attr _n_assign: TAssign + readable writable attr _n_value: PExpr end class AVarReassignExpr special PExpr - readable writable attr _n_id: TId = null - readable writable attr _n_assign_op: PAssignOp = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_id: TId + readable writable attr _n_assign_op: PAssignOp + readable writable attr _n_value: PExpr end class ARangeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ACrangeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AOrangeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AArrayExpr special PExpr - readable writable attr _n_exprs: List[PExpr] = null + readable writable attr _n_exprs: List[PExpr] = new List[PExpr] end class ASelfExpr special PExpr - readable writable attr _n_kwself: TKwself = null + readable writable attr _n_kwself: TKwself end class AImplicitSelfExpr special PExpr end class ATrueExpr special PExpr - readable writable attr _n_kwtrue: TKwtrue = null + readable writable attr _n_kwtrue: TKwtrue end class AFalseExpr special PExpr - readable writable attr _n_kwfalse: TKwfalse = null + readable writable attr _n_kwfalse: TKwfalse end class ANullExpr special PExpr - readable writable attr _n_kwnull: TKwnull = null + readable writable attr _n_kwnull: TKwnull end class AIntExpr special PExpr - readable writable attr _n_number: TNumber = null + readable writable attr _n_number: TNumber end class AFloatExpr special PExpr - readable writable attr _n_float: TFloat = null + readable writable attr _n_float: TFloat end class ACharExpr special PExpr - readable writable attr _n_char: TChar = null + readable writable attr _n_char: TChar end class AStringExpr special PExpr - readable writable attr _n_string: TString = null + readable writable attr _n_string: TString end class AStartStringExpr special PExpr - readable writable attr _n_string: TStartString = null + readable writable attr _n_string: TStartString end class AMidStringExpr special PExpr - readable writable attr _n_string: TMidString = null + readable writable attr _n_string: TMidString end class AEndStringExpr special PExpr - readable writable attr _n_string: TEndString = null + readable writable attr _n_string: TEndString end class ASuperstringExpr special PExpr - readable writable attr _n_exprs: List[PExpr] = null + readable writable attr _n_exprs: List[PExpr] = new List[PExpr] end class AParExpr special PExpr - readable writable attr _n_expr: PExpr = null + readable writable attr _n_expr: PExpr end class AAsCastExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwas: TKwas = null - readable writable attr _n_type: PType = null + readable writable attr _n_expr: PExpr + readable writable attr _n_kwas: TKwas + readable writable attr _n_type: PType end class AAsNotnullExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwas: TKwas = null - readable writable attr _n_kwnot: TKwnot = null - readable writable attr _n_kwnull: TKwnull = null + readable writable attr _n_expr: PExpr + readable writable attr _n_kwas: TKwas + readable writable attr _n_kwnot: TKwnot + readable writable attr _n_kwnull: TKwnull end class AIssetAttrExpr special PExpr - readable writable attr _n_kwisset: TKwisset = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TAttrid = null + readable writable attr _n_kwisset: TKwisset + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TAttrid end class APlusAssignOp special PAssignOp - readable writable attr _n_pluseq: TPluseq = null + readable writable attr _n_pluseq: TPluseq end class AMinusAssignOp special PAssignOp - readable writable attr _n_minuseq: TMinuseq = null + readable writable attr _n_minuseq: TMinuseq end class AClosureDef special PClosureDef - readable writable attr _n_kwwith: TKwwith = null - readable writable attr _n_id: List[TId] = null - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwwith: TKwwith + readable writable attr _n_id: List[TId] = new List[TId] + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_expr: nullable PExpr = null end class AQualified special PQualified - readable writable attr _n_id: List[TId] = null - readable writable attr _n_classid: TClassid = null + readable writable attr _n_id: List[TId] = new List[TId] + readable writable attr _n_classid: nullable TClassid = null end class ADoc special PDoc - readable writable attr _n_comment: List[TComment] = null + readable writable attr _n_comment: List[TComment] = new List[TComment] end class Start special Prod - readable writable attr _n_base: PModule + readable writable attr _n_base: nullable PModule readable writable attr _n_eof: EOF end diff --git a/src/parser/parser_nodes.nit b/src/parser/parser_nodes.nit index 6e2f6ac..376838c 100644 --- a/src/parser/parser_nodes.nit +++ b/src/parser/parser_nodes.nit @@ -291,17 +291,17 @@ class PClasskind special Prod end class PFormaldef special Prod end class PSuperclass special Prod end class PPropdef special Prod - readable writable attr _n_doc: PDoc = null + readable writable attr _n_doc: nullable PDoc = null end class PAble special Prod - readable writable attr _n_kwredef: TKwredef = null + readable writable attr _n_kwredef: nullable TKwredef = null end class PMethid special Prod end class PSignature special Prod end class PParam special Prod - readable writable attr _n_id: TId = null - readable writable attr _n_type: PType = null + readable writable attr _n_id: TId + readable writable attr _n_type: nullable PType = null end class PClosureDecl special Prod end class PType special Prod end @@ -313,365 +313,365 @@ class PDoc special Prod end class AModule special PModule - readable writable attr _n_packagedecl: PPackagedecl = null - readable writable attr _n_imports: List[PImport] = null - readable writable attr _n_classdefs: List[PClassdef] = null + readable writable attr _n_packagedecl: nullable PPackagedecl = null + readable writable attr _n_imports: List[PImport] = new List[PImport] + readable writable attr _n_classdefs: List[PClassdef] = new List[PClassdef] end class APackagedecl special PPackagedecl - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwpackage: TKwpackage = null - readable writable attr _n_id: TId = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwpackage: TKwpackage + readable writable attr _n_id: TId end class AImport special PImport - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwimport: TKwimport = null - readable writable attr _n_id: TId = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwimport: TKwimport + readable writable attr _n_id: TId end class ANoImport special PImport - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwimport: TKwimport = null - readable writable attr _n_kwend: TKwend = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwimport: TKwimport + readable writable attr _n_kwend: TKwend end class APublicVisibility special PVisibility end class APrivateVisibility special PVisibility - readable writable attr _n_kwprivate: TKwprivate = null + readable writable attr _n_kwprivate: TKwprivate end class AProtectedVisibility special PVisibility - readable writable attr _n_kwprotected: TKwprotected = null + readable writable attr _n_kwprotected: TKwprotected end class AIntrudeVisibility special PVisibility - readable writable attr _n_kwintrude: TKwintrude = null + readable writable attr _n_kwintrude: TKwintrude end class AClassdef special PClassdef - readable writable attr _n_doc: PDoc = null - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_classkind: PClasskind = null - readable writable attr _n_id: TClassid = null - readable writable attr _n_formaldefs: List[PFormaldef] = null - readable writable attr _n_superclasses: List[PSuperclass] = null - readable writable attr _n_propdefs: List[PPropdef] = null + readable writable attr _n_doc: nullable PDoc = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_classkind: PClasskind + readable writable attr _n_id: nullable TClassid = null + readable writable attr _n_formaldefs: List[PFormaldef] = new List[PFormaldef] + readable writable attr _n_superclasses: List[PSuperclass] = new List[PSuperclass] + readable writable attr _n_propdefs: List[PPropdef] = new List[PPropdef] end class ATopClassdef special PClassdef - readable writable attr _n_propdefs: List[PPropdef] = null + readable writable attr _n_propdefs: List[PPropdef] = new List[PPropdef] end class AMainClassdef special PClassdef - readable writable attr _n_propdefs: List[PPropdef] = null + readable writable attr _n_propdefs: List[PPropdef] = new List[PPropdef] end class AConcreteClasskind special PClasskind - readable writable attr _n_kwclass: TKwclass = null + readable writable attr _n_kwclass: TKwclass end class AAbstractClasskind special PClasskind - readable writable attr _n_kwabstract: TKwabstract = null - readable writable attr _n_kwclass: TKwclass = null + readable writable attr _n_kwabstract: TKwabstract + readable writable attr _n_kwclass: TKwclass end class AInterfaceClasskind special PClasskind - readable writable attr _n_kwinterface: TKwinterface = null + readable writable attr _n_kwinterface: TKwinterface end class AUniversalClasskind special PClasskind - readable writable attr _n_kwuniversal: TKwuniversal = null + readable writable attr _n_kwuniversal: TKwuniversal end class AFormaldef special PFormaldef - readable writable attr _n_id: TClassid = null - readable writable attr _n_type: PType = null + readable writable attr _n_id: TClassid + readable writable attr _n_type: nullable PType = null end class ASuperclass special PSuperclass - readable writable attr _n_kwspecial: TKwspecial = null - readable writable attr _n_type: PType = null + readable writable attr _n_kwspecial: TKwspecial + readable writable attr _n_type: PType end class AAttrPropdef special PPropdef - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwattr: TKwattr = null - readable writable attr _n_kwvar: TKwvar = null - readable writable attr _n_id: TAttrid = null - readable writable attr _n_type: PType = null - readable writable attr _n_readable: PAble = null - readable writable attr _n_writable: PAble = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwattr: nullable TKwattr = null + readable writable attr _n_kwvar: nullable TKwvar = null + readable writable attr _n_id: TAttrid + readable writable attr _n_type: nullable PType = null + readable writable attr _n_readable: nullable PAble = null + readable writable attr _n_writable: nullable PAble = null + readable writable attr _n_expr: nullable PExpr = null end class AMethPropdef special PPropdef - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_methid: PMethid = null - readable writable attr _n_signature: PSignature = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: nullable PVisibility + readable writable attr _n_methid: nullable PMethid = null + readable writable attr _n_signature: nullable PSignature end class ADeferredMethPropdef special AMethPropdef - readable writable attr _n_kwmeth: TKwmeth = null + readable writable attr _n_kwmeth: TKwmeth end class AInternMethPropdef special AMethPropdef - readable writable attr _n_kwmeth: TKwmeth = null + readable writable attr _n_kwmeth: TKwmeth end class AExternMethPropdef special AMethPropdef - readable writable attr _n_kwmeth: TKwmeth = null - readable writable attr _n_extern: TString = null + readable writable attr _n_kwmeth: TKwmeth + readable writable attr _n_extern: nullable TString = null end class AConcreteMethPropdef special AMethPropdef - readable writable attr _n_kwmeth: TKwmeth = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwmeth: nullable TKwmeth + readable writable attr _n_block: nullable PExpr = null end class AConcreteInitPropdef special AConcreteMethPropdef - readable writable attr _n_kwinit: TKwinit = null + readable writable attr _n_kwinit: TKwinit end class AMainMethPropdef special AConcreteMethPropdef end class ATypePropdef special PPropdef - readable writable attr _n_kwredef: TKwredef = null - readable writable attr _n_visibility: PVisibility = null - readable writable attr _n_kwtype: TKwtype = null - readable writable attr _n_id: TClassid = null - readable writable attr _n_type: PType = null + readable writable attr _n_kwredef: nullable TKwredef = null + readable writable attr _n_visibility: PVisibility + readable writable attr _n_kwtype: TKwtype + readable writable attr _n_id: TClassid + readable writable attr _n_type: PType end class AReadAble special PAble - readable writable attr _n_kwreadable: TKwreadable = null + readable writable attr _n_kwreadable: TKwreadable end class AWriteAble special PAble - readable writable attr _n_kwwritable: TKwwritable = null + readable writable attr _n_kwwritable: TKwwritable end class AIdMethid special PMethid - readable writable attr _n_id: TId = null + readable writable attr _n_id: TId end class APlusMethid special PMethid - readable writable attr _n_plus: TPlus = null + readable writable attr _n_plus: TPlus end class AMinusMethid special PMethid - readable writable attr _n_minus: TMinus = null + readable writable attr _n_minus: TMinus end class AStarMethid special PMethid - readable writable attr _n_star: TStar = null + readable writable attr _n_star: TStar end class ASlashMethid special PMethid - readable writable attr _n_slash: TSlash = null + readable writable attr _n_slash: TSlash end class APercentMethid special PMethid - readable writable attr _n_percent: TPercent = null + readable writable attr _n_percent: TPercent end class AEqMethid special PMethid - readable writable attr _n_eq: TEq = null + readable writable attr _n_eq: TEq end class ANeMethid special PMethid - readable writable attr _n_ne: TNe = null + readable writable attr _n_ne: TNe end class ALeMethid special PMethid - readable writable attr _n_le: TLe = null + readable writable attr _n_le: TLe end class AGeMethid special PMethid - readable writable attr _n_ge: TGe = null + readable writable attr _n_ge: TGe end class ALtMethid special PMethid - readable writable attr _n_lt: TLt = null + readable writable attr _n_lt: TLt end class AGtMethid special PMethid - readable writable attr _n_gt: TGt = null + readable writable attr _n_gt: TGt end class ABraMethid special PMethid - readable writable attr _n_obra: TObra = null - readable writable attr _n_cbra: TCbra = null + readable writable attr _n_obra: TObra + readable writable attr _n_cbra: TCbra end class AStarshipMethid special PMethid - readable writable attr _n_starship: TStarship = null + readable writable attr _n_starship: TStarship end class AAssignMethid special PMethid - readable writable attr _n_id: TId = null - readable writable attr _n_assign: TAssign = null + readable writable attr _n_id: TId + readable writable attr _n_assign: TAssign end class ABraassignMethid special PMethid - readable writable attr _n_obra: TObra = null - readable writable attr _n_cbra: TCbra = null - readable writable attr _n_assign: TAssign = null + readable writable attr _n_obra: TObra + readable writable attr _n_cbra: TCbra + readable writable attr _n_assign: TAssign end class ASignature special PSignature - readable writable attr _n_params: List[PParam] = null - readable writable attr _n_type: PType = null - readable writable attr _n_closure_decls: List[PClosureDecl] = null + readable writable attr _n_params: List[PParam] = new List[PParam] + readable writable attr _n_type: nullable PType = null + readable writable attr _n_closure_decls: List[PClosureDecl] = new List[PClosureDecl] end class AParam special PParam - readable writable attr _n_dotdotdot: TDotdotdot = null + readable writable attr _n_dotdotdot: nullable TDotdotdot = null end class AClosureDecl special PClosureDecl - readable writable attr _n_kwwith: TKwwith = null - readable writable attr _n_kwbreak: TKwbreak = null - readable writable attr _n_id: TId = null - readable writable attr _n_signature: PSignature = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwwith: TKwwith + readable writable attr _n_kwbreak: nullable TKwbreak = null + readable writable attr _n_id: TId + readable writable attr _n_signature: PSignature + readable writable attr _n_expr: nullable PExpr = null end class AType special PType - readable writable attr _n_kwnullable: TKwnullable = null - readable writable attr _n_id: TClassid = null - readable writable attr _n_types: List[PType] = null + readable writable attr _n_kwnullable: nullable TKwnullable = null + readable writable attr _n_id: TClassid + readable writable attr _n_types: List[PType] = new List[PType] end class ABlockExpr special PExpr - readable writable attr _n_expr: List[PExpr] = null + readable writable attr _n_expr: List[PExpr] = new List[PExpr] end class AVardeclExpr special PExpr - readable writable attr _n_kwvar: TKwvar = null - readable writable attr _n_id: TId = null - readable writable attr _n_type: PType = null - readable writable attr _n_assign: TAssign = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwvar: TKwvar + readable writable attr _n_id: TId + readable writable attr _n_type: nullable PType = null + readable writable attr _n_assign: nullable TAssign = null + readable writable attr _n_expr: nullable PExpr = null end class AReturnExpr special PExpr - readable writable attr _n_kwreturn: TKwreturn = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwreturn: TKwreturn + readable writable attr _n_expr: nullable PExpr = null end class ABreakExpr special PExpr - readable writable attr _n_kwbreak: TKwbreak = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwbreak: TKwbreak + readable writable attr _n_expr: nullable PExpr = null end class AAbortExpr special PExpr - readable writable attr _n_kwabort: TKwabort = null + readable writable attr _n_kwabort: TKwabort end class AContinueExpr special PExpr - readable writable attr _n_kwcontinue: TKwcontinue = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwcontinue: TKwcontinue + readable writable attr _n_expr: nullable PExpr = null end class ADoExpr special PExpr - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_block: nullable PExpr = null end class AIfExpr special PExpr - readable writable attr _n_kwif: TKwif = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_then: PExpr = null - readable writable attr _n_else: PExpr = null + readable writable attr _n_kwif: TKwif + readable writable attr _n_expr: PExpr + readable writable attr _n_then: nullable PExpr = null + readable writable attr _n_else: nullable PExpr = null end class AIfexprExpr special PExpr - readable writable attr _n_kwif: TKwif = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwthen: TKwthen = null - readable writable attr _n_then: PExpr = null - readable writable attr _n_kwelse: TKwelse = null - readable writable attr _n_else: PExpr = null + readable writable attr _n_kwif: TKwif + readable writable attr _n_expr: PExpr + readable writable attr _n_kwthen: TKwthen + readable writable attr _n_then: PExpr + readable writable attr _n_kwelse: TKwelse + readable writable attr _n_else: PExpr end class AWhileExpr special PExpr - readable writable attr _n_kwwhile: TKwwhile = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwwhile: TKwwhile + readable writable attr _n_expr: PExpr + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_block: nullable PExpr = null end class AForExpr special PExpr - readable writable attr _n_kwfor: TKwfor = null - readable writable attr _n_id: TId = null - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_block: PExpr = null + readable writable attr _n_kwfor: TKwfor + readable writable attr _n_id: TId + readable writable attr _n_expr: PExpr + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_block: nullable PExpr = null end class AAssertExpr special PExpr - readable writable attr _n_kwassert: TKwassert = null - readable writable attr _n_id: TId = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwassert: TKwassert + readable writable attr _n_id: nullable TId = null + readable writable attr _n_expr: PExpr end class AAssignFormExpr special PExpr - readable writable attr _n_assign: TAssign = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_assign: TAssign + readable writable attr _n_value: PExpr end class AReassignFormExpr special PExpr - readable writable attr _n_assign_op: PAssignOp = null - readable writable attr _n_value: PExpr = null + readable writable attr _n_assign_op: PAssignOp + readable writable attr _n_value: PExpr end class AOnceExpr special AProxyExpr - readable writable attr _n_kwonce: TKwonce = null + readable writable attr _n_kwonce: TKwonce end class ASendExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_closure_defs: List[PClosureDef] = null + readable writable attr _n_expr: PExpr + readable writable attr _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class ABinopExpr special ASendExpr - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr2: PExpr end class ABoolExpr special PExpr end class AOrExpr special ABoolExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class AAndExpr special ABoolExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ANotExpr special ABoolExpr - readable writable attr _n_kwnot: TKwnot = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwnot: TKwnot + readable writable attr _n_expr: PExpr end class AEqExpr special ABinopExpr end class AEeExpr special ABoolExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ANeExpr special ABinopExpr @@ -690,8 +690,8 @@ special ABinopExpr end class AIsaExpr special ABoolExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_type: PType = null + readable writable attr _n_expr: PExpr + readable writable attr _n_type: PType end class APlusExpr special ABinopExpr @@ -713,31 +713,31 @@ special ABinopExpr end class AUminusExpr special ASendExpr - readable writable attr _n_minus: TMinus = null + readable writable attr _n_minus: TMinus end class ANewExpr special PExpr - readable writable attr _n_kwnew: TKwnew = null - readable writable attr _n_type: PType = null - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_kwnew: TKwnew + readable writable attr _n_type: PType + readable writable attr _n_id: nullable TId = null + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class AAttrFormExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_id: TAttrid = null + readable writable attr _n_expr: PExpr + readable writable attr _n_id: TAttrid end class AAttrExpr special AAttrFormExpr end class AAttrAssignExpr -special AAttrFormExpr -special AAssignFormExpr +special AAttrFormExpr +special AAssignFormExpr end class ACallFormExpr special ASendExpr - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_id: TId + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class AAttrReassignExpr special PExpr @@ -758,18 +758,18 @@ special AReassignFormExpr end class ASuperExpr special PExpr - readable writable attr _n_qualified: PQualified = null - readable writable attr _n_kwsuper: TKwsuper = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_qualified: nullable PQualified = null + readable writable attr _n_kwsuper: TKwsuper + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class AInitExpr special ASendExpr - readable writable attr _n_kwinit: TKwinit = null - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_kwinit: TKwinit + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class ABraFormExpr special ASendExpr - readable writable attr _n_args: List[PExpr] = null + readable writable attr _n_args: List[PExpr] = new List[PExpr] end class ABraExpr special ABraFormExpr @@ -780,7 +780,7 @@ special AAssignFormExpr end class AVarFormExpr special PExpr - readable writable attr _n_id: TId = null + readable writable attr _n_id: TId end class ABraReassignExpr special ABraFormExpr @@ -788,9 +788,9 @@ special AReassignFormExpr end class AClosureCallExpr special PExpr - readable writable attr _n_id: TId = null - readable writable attr _n_args: List[PExpr] = null - readable writable attr _n_closure_defs: List[PClosureDef] = null + readable writable attr _n_id: TId + readable writable attr _n_args: List[PExpr] = new List[PExpr] + readable writable attr _n_closure_defs: List[PClosureDef] = new List[PClosureDef] end class AVarExpr special AVarFormExpr @@ -805,8 +805,8 @@ special AReassignFormExpr end class ARangeExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_expr2: PExpr = null + readable writable attr _n_expr: PExpr + readable writable attr _n_expr2: PExpr end class ACrangeExpr special ARangeExpr @@ -816,113 +816,113 @@ special ARangeExpr end class AArrayExpr special PExpr - readable writable attr _n_exprs: List[PExpr] = null + readable writable attr _n_exprs: List[PExpr] = new List[PExpr] end class ASelfExpr special PExpr - readable writable attr _n_kwself: TKwself = null + readable writable attr _n_kwself: nullable TKwself end class AImplicitSelfExpr special ASelfExpr end class ATrueExpr special ABoolExpr - readable writable attr _n_kwtrue: TKwtrue = null + readable writable attr _n_kwtrue: TKwtrue end class AFalseExpr special ABoolExpr - readable writable attr _n_kwfalse: TKwfalse = null + readable writable attr _n_kwfalse: TKwfalse end class ANullExpr special PExpr - readable writable attr _n_kwnull: TKwnull = null + readable writable attr _n_kwnull: TKwnull end class AIntExpr special PExpr - readable writable attr _n_number: TNumber = null + readable writable attr _n_number: TNumber end class AFloatExpr special PExpr - readable writable attr _n_float: TFloat = null + readable writable attr _n_float: TFloat end class ACharExpr special PExpr - readable writable attr _n_char: TChar = null + readable writable attr _n_char: TChar end class AStringFormExpr special PExpr end class AStringExpr special AStringFormExpr - readable writable attr _n_string: TString = null + readable writable attr _n_string: TString end class AStartStringExpr special AStringFormExpr - readable writable attr _n_string: TStartString = null + readable writable attr _n_string: TStartString end class AMidStringExpr special AStringFormExpr - readable writable attr _n_string: TMidString = null + readable writable attr _n_string: TMidString end class AEndStringExpr special AStringFormExpr - readable writable attr _n_string: TEndString = null + readable writable attr _n_string: TEndString end class ASuperstringExpr special PExpr - readable writable attr _n_exprs: List[PExpr] = null + readable writable attr _n_exprs: List[PExpr] = new List[PExpr] end class AParExpr special AProxyExpr end class AProxyExpr special PExpr - readable writable attr _n_expr: PExpr = null + readable writable attr _n_expr: PExpr end class AAsCastExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwas: TKwas = null - readable writable attr _n_type: PType = null + readable writable attr _n_expr: PExpr + readable writable attr _n_kwas: TKwas + readable writable attr _n_type: PType end class AAsNotnullExpr special PExpr - readable writable attr _n_expr: PExpr = null - readable writable attr _n_kwas: TKwas = null - readable writable attr _n_kwnot: TKwnot = null - readable writable attr _n_kwnull: TKwnull = null + readable writable attr _n_expr: PExpr + readable writable attr _n_kwas: TKwas + readable writable attr _n_kwnot: TKwnot + readable writable attr _n_kwnull: TKwnull end class AIssetAttrExpr special AAttrFormExpr - readable writable attr _n_kwisset: TKwisset = null + readable writable attr _n_kwisset: TKwisset end class APlusAssignOp special PAssignOp - readable writable attr _n_pluseq: TPluseq = null + readable writable attr _n_pluseq: TPluseq end class AMinusAssignOp special PAssignOp - readable writable attr _n_minuseq: TMinuseq = null + readable writable attr _n_minuseq: TMinuseq end class AClosureDef special PClosureDef - readable writable attr _n_kwwith: TKwwith = null - readable writable attr _n_id: List[TId] = null - readable writable attr _n_kwdo: TKwdo = null - readable writable attr _n_expr: PExpr = null + readable writable attr _n_kwwith: TKwwith + readable writable attr _n_id: List[TId] = new List[TId] + readable writable attr _n_kwdo: TKwdo + readable writable attr _n_expr: nullable PExpr = null end class AQualified special PQualified - readable writable attr _n_id: List[TId] = null - readable writable attr _n_classid: TClassid = null + readable writable attr _n_id: List[TId] = new List[TId] + readable writable attr _n_classid: nullable TClassid = null end class ADoc special PDoc - readable writable attr _n_comment: List[TComment] = null + readable writable attr _n_comment: List[TComment] = new List[TComment] end class Start special Prod - readable writable attr _n_base: PModule + readable writable attr _n_base: nullable PModule readable writable attr _n_eof: EOF end diff --git a/src/parser/parser_prod.nit b/src/parser/parser_prod.nit index 9ca77ac..13dd582 100644 --- a/src/parser/parser_prod.nit +++ b/src/parser/parser_prod.nit @@ -7,7 +7,7 @@ intrude import parser_nodes redef class PNode # Parent of the node in the AST - readable writable attr _parent: PNode + readable writable attr _parent: nullable PNode # Remove a child from the AST meth remove_child(child: PNode) @@ -16,7 +16,7 @@ redef class PNode end # Replace a child with an other node in the AST - meth replace_child(old_child: PNode, new_child: PNode) is abstract + meth replace_child(old_child: PNode, new_child: nullable PNode) is abstract # Replace itself with an other node in the AST meth replace_with(node: PNode) @@ -50,7 +50,7 @@ end redef class Token redef meth visit_all(v: Visitor) do end redef meth visit_all_reverse(v: Visitor) do end - redef meth replace_child(old_child: PNode, new_child: PNode) do end + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do end redef meth locate: String do @@ -62,10 +62,10 @@ end redef class Prod # The first token of the production node - readable writable attr _first_token: Token + readable writable attr _first_token: nullable Token # The last token of the production node - readable writable attr _last_token: Token + readable writable attr _last_token: nullable Token redef meth locate: String do @@ -106,11 +106,11 @@ class Visitor # Ask the visitor to visit a given node. # Usually automatically called by visit_all* methods. # Concrete visitors should redefine this method. - meth visit(e: PNode) is abstract + meth visit(e: nullable PNode) is abstract end redef class AModule - redef meth n_packagedecl=(n: PPackagedecl) + redef meth n_packagedecl=(n) do _n_packagedecl = n if n != null then @@ -121,7 +121,7 @@ redef class AModule private init empty_init do end init init_amodule ( - n_packagedecl: PPackagedecl , + n_packagedecl: nullable PPackagedecl , n_imports: Collection[Object] , # Should be Collection[PImport] n_classdefs: Collection[Object] # Should be Collection[PClassdef] ) @@ -131,13 +131,11 @@ redef class AModule if n_packagedecl != null then n_packagedecl.parent = self end - _n_imports = new List[PImport] for n in n_imports do assert n isa PImport _n_imports.add(n) n.parent = self end - _n_classdefs = new List[PClassdef] for n in n_classdefs do assert n isa PClassdef _n_classdefs.add(n) @@ -145,9 +143,8 @@ redef class AModule end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_packagedecl == old_child then if new_child != null then new_child.parent = self @@ -187,7 +184,7 @@ redef class AModule redef meth visit_all(v: Visitor) do if _n_packagedecl != null then - v.visit(_n_packagedecl) + v.visit(_n_packagedecl.as(not null)) end for n in _n_imports do v.visit(n) @@ -200,7 +197,7 @@ redef class AModule redef meth visit_all_reverse(v: Visitor) do if _n_packagedecl != null then - v.visit(_n_packagedecl) + v.visit(_n_packagedecl.as(not null)) end do var i = _n_imports.length @@ -219,34 +216,30 @@ redef class AModule end end redef class APackagedecl - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwpackage=(n: TKwpackage) + redef meth n_kwpackage=(n) do _n_kwpackage = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_apackagedecl ( - n_doc: PDoc , - n_kwpackage: TKwpackage , - n_id: TId + n_doc: nullable PDoc , + n_kwpackage: nullable TKwpackage , + n_id: nullable TId ) do empty_init @@ -254,19 +247,14 @@ redef class APackagedecl if n_doc != null then n_doc.parent = self end - _n_kwpackage = n_kwpackage - if n_kwpackage != null then - n_kwpackage.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_kwpackage = n_kwpackage.as(not null) + n_kwpackage.parent = self + _n_id = n_id.as(not null) + n_id.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -283,7 +271,7 @@ redef class APackagedecl assert new_child isa TKwpackage _n_kwpackage = new_child else - _n_kwpackage = null + abort end return end @@ -293,7 +281,7 @@ redef class APackagedecl assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -302,85 +290,64 @@ redef class APackagedecl redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) - end - if _n_kwpackage != null then - v.visit(_n_kwpackage) - end - if _n_id != null then - v.visit(_n_id) + v.visit(_n_doc.as(not null)) end + v.visit(_n_kwpackage) + v.visit(_n_id) end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) - end - if _n_kwpackage != null then - v.visit(_n_kwpackage) - end - if _n_id != null then - v.visit(_n_id) + v.visit(_n_doc.as(not null)) end + v.visit(_n_kwpackage) + v.visit(_n_id) end end redef class AImport - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwimport=(n: TKwimport) + redef meth n_kwimport=(n) do _n_kwimport = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aimport ( - n_visibility: PVisibility , - n_kwimport: TKwimport , - n_id: TId + n_visibility: nullable PVisibility , + n_kwimport: nullable TKwimport , + n_id: nullable TId ) do empty_init - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwimport = n_kwimport - if n_kwimport != null then - n_kwimport.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwimport = n_kwimport.as(not null) + n_kwimport.parent = self + _n_id = n_id.as(not null) + n_id.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_visibility == old_child then if new_child != null then new_child.parent = self assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -390,7 +357,7 @@ redef class AImport assert new_child isa TKwimport _n_kwimport = new_child else - _n_kwimport = null + abort end return end @@ -400,7 +367,7 @@ redef class AImport assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -408,86 +375,61 @@ redef class AImport redef meth visit_all(v: Visitor) do - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwimport != null then - v.visit(_n_kwimport) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_visibility) + v.visit(_n_kwimport) + v.visit(_n_id) end redef meth visit_all_reverse(v: Visitor) do - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwimport != null then - v.visit(_n_kwimport) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_visibility) + v.visit(_n_kwimport) + v.visit(_n_id) end end redef class ANoImport - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwimport=(n: TKwimport) + redef meth n_kwimport=(n) do _n_kwimport = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwend=(n: TKwend) + redef meth n_kwend=(n) do _n_kwend = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_anoimport ( - n_visibility: PVisibility , - n_kwimport: TKwimport , - n_kwend: TKwend + n_visibility: nullable PVisibility , + n_kwimport: nullable TKwimport , + n_kwend: nullable TKwend ) do empty_init - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwimport = n_kwimport - if n_kwimport != null then - n_kwimport.parent = self - end - _n_kwend = n_kwend - if n_kwend != null then - n_kwend.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwimport = n_kwimport.as(not null) + n_kwimport.parent = self + _n_kwend = n_kwend.as(not null) + n_kwend.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_visibility == old_child then if new_child != null then new_child.parent = self assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -497,7 +439,7 @@ redef class ANoImport assert new_child isa TKwimport _n_kwimport = new_child else - _n_kwimport = null + abort end return end @@ -507,7 +449,7 @@ redef class ANoImport assert new_child isa TKwend _n_kwend = new_child else - _n_kwend = null + abort end return end @@ -515,28 +457,16 @@ redef class ANoImport redef meth visit_all(v: Visitor) do - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwimport != null then - v.visit(_n_kwimport) - end - if _n_kwend != null then - v.visit(_n_kwend) - end + v.visit(_n_visibility) + v.visit(_n_kwimport) + v.visit(_n_kwend) end redef meth visit_all_reverse(v: Visitor) do - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwimport != null then - v.visit(_n_kwimport) - end - if _n_kwend != null then - v.visit(_n_kwend) - end + v.visit(_n_visibility) + v.visit(_n_kwimport) + v.visit(_n_kwend) end end redef class APublicVisibility @@ -548,9 +478,8 @@ redef class APublicVisibility empty_init end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null end redef meth visit_all(v: Visitor) @@ -562,37 +491,32 @@ redef class APublicVisibility end end redef class APrivateVisibility - redef meth n_kwprivate=(n: TKwprivate) + redef meth n_kwprivate=(n) do _n_kwprivate = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aprivatevisibility ( - n_kwprivate: TKwprivate + n_kwprivate: nullable TKwprivate ) do empty_init - _n_kwprivate = n_kwprivate - if n_kwprivate != null then - n_kwprivate.parent = self - end + _n_kwprivate = n_kwprivate.as(not null) + n_kwprivate.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwprivate == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwprivate _n_kwprivate = new_child else - _n_kwprivate = null + abort end return end @@ -600,50 +524,41 @@ redef class APrivateVisibility redef meth visit_all(v: Visitor) do - if _n_kwprivate != null then - v.visit(_n_kwprivate) - end + v.visit(_n_kwprivate) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwprivate != null then - v.visit(_n_kwprivate) - end + v.visit(_n_kwprivate) end end redef class AProtectedVisibility - redef meth n_kwprotected=(n: TKwprotected) + redef meth n_kwprotected=(n) do _n_kwprotected = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aprotectedvisibility ( - n_kwprotected: TKwprotected + n_kwprotected: nullable TKwprotected ) do empty_init - _n_kwprotected = n_kwprotected - if n_kwprotected != null then - n_kwprotected.parent = self - end + _n_kwprotected = n_kwprotected.as(not null) + n_kwprotected.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwprotected == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwprotected _n_kwprotected = new_child else - _n_kwprotected = null + abort end return end @@ -651,50 +566,41 @@ redef class AProtectedVisibility redef meth visit_all(v: Visitor) do - if _n_kwprotected != null then - v.visit(_n_kwprotected) - end + v.visit(_n_kwprotected) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwprotected != null then - v.visit(_n_kwprotected) - end + v.visit(_n_kwprotected) end end redef class AIntrudeVisibility - redef meth n_kwintrude=(n: TKwintrude) + redef meth n_kwintrude=(n) do _n_kwintrude = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aintrudevisibility ( - n_kwintrude: TKwintrude + n_kwintrude: nullable TKwintrude ) do empty_init - _n_kwintrude = n_kwintrude - if n_kwintrude != null then - n_kwintrude.parent = self - end + _n_kwintrude = n_kwintrude.as(not null) + n_kwintrude.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwintrude == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwintrude _n_kwintrude = new_child else - _n_kwintrude = null + abort end return end @@ -702,48 +608,40 @@ redef class AIntrudeVisibility redef meth visit_all(v: Visitor) do - if _n_kwintrude != null then - v.visit(_n_kwintrude) - end + v.visit(_n_kwintrude) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwintrude != null then - v.visit(_n_kwintrude) - end + v.visit(_n_kwintrude) end end redef class AClassdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_classkind=(n: PClasskind) + redef meth n_classkind=(n) do _n_classkind = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TClassid) + redef meth n_id=(n) do _n_id = n if n != null then @@ -754,11 +652,11 @@ redef class AClassdef private init empty_init do end init init_aclassdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_classkind: PClasskind , - n_id: TClassid , + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_classkind: nullable PClasskind , + n_id: nullable TClassid , n_formaldefs: Collection[Object] , # Should be Collection[PFormaldef] n_superclasses: Collection[Object] , # Should be Collection[PSuperclass] n_propdefs: Collection[Object] # Should be Collection[PPropdef] @@ -773,31 +671,24 @@ redef class AClassdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_classkind = n_classkind - if n_classkind != null then - n_classkind.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_classkind = n_classkind.as(not null) + n_classkind.parent = self _n_id = n_id if n_id != null then n_id.parent = self end - _n_formaldefs = new List[PFormaldef] for n in n_formaldefs do assert n isa PFormaldef _n_formaldefs.add(n) n.parent = self end - _n_superclasses = new List[PSuperclass] for n in n_superclasses do assert n isa PSuperclass _n_superclasses.add(n) n.parent = self end - _n_propdefs = new List[PPropdef] for n in n_propdefs do assert n isa PPropdef _n_propdefs.add(n) @@ -805,9 +696,8 @@ redef class AClassdef end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -834,7 +724,7 @@ redef class AClassdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -844,7 +734,7 @@ redef class AClassdef assert new_child isa PClasskind _n_classkind = new_child else - _n_classkind = null + abort end return end @@ -899,19 +789,15 @@ redef class AClassdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_classkind != null then - v.visit(_n_classkind) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_classkind) if _n_id != null then - v.visit(_n_id) + v.visit(_n_id.as(not null)) end for n in _n_formaldefs do v.visit(n) @@ -927,19 +813,15 @@ redef class AClassdef redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_classkind != null then - v.visit(_n_classkind) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_classkind) if _n_id != null then - v.visit(_n_id) + v.visit(_n_id.as(not null)) end do var i = _n_formaldefs.length @@ -973,7 +855,6 @@ redef class ATopClassdef ) do empty_init - _n_propdefs = new List[PPropdef] for n in n_propdefs do assert n isa PPropdef _n_propdefs.add(n) @@ -981,9 +862,8 @@ redef class ATopClassdef end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_propdefs.length[ do if _n_propdefs[i] == old_child then if new_child != null then @@ -1025,7 +905,6 @@ redef class AMainClassdef ) do empty_init - _n_propdefs = new List[PPropdef] for n in n_propdefs do assert n isa PPropdef _n_propdefs.add(n) @@ -1033,9 +912,8 @@ redef class AMainClassdef end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_propdefs.length[ do if _n_propdefs[i] == old_child then if new_child != null then @@ -1069,37 +947,32 @@ redef class AMainClassdef end end redef class AConcreteClasskind - redef meth n_kwclass=(n: TKwclass) + redef meth n_kwclass=(n) do _n_kwclass = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aconcreteclasskind ( - n_kwclass: TKwclass + n_kwclass: nullable TKwclass ) do empty_init - _n_kwclass = n_kwclass - if n_kwclass != null then - n_kwclass.parent = self - end + _n_kwclass = n_kwclass.as(not null) + n_kwclass.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwclass == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwclass _n_kwclass = new_child else - _n_kwclass = null + abort end return end @@ -1107,62 +980,49 @@ redef class AConcreteClasskind redef meth visit_all(v: Visitor) do - if _n_kwclass != null then - v.visit(_n_kwclass) - end + v.visit(_n_kwclass) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwclass != null then - v.visit(_n_kwclass) - end + v.visit(_n_kwclass) end end redef class AAbstractClasskind - redef meth n_kwabstract=(n: TKwabstract) + redef meth n_kwabstract=(n) do _n_kwabstract = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwclass=(n: TKwclass) + redef meth n_kwclass=(n) do _n_kwclass = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aabstractclasskind ( - n_kwabstract: TKwabstract , - n_kwclass: TKwclass + n_kwabstract: nullable TKwabstract , + n_kwclass: nullable TKwclass ) do empty_init - _n_kwabstract = n_kwabstract - if n_kwabstract != null then - n_kwabstract.parent = self - end - _n_kwclass = n_kwclass - if n_kwclass != null then - n_kwclass.parent = self - end + _n_kwabstract = n_kwabstract.as(not null) + n_kwabstract.parent = self + _n_kwclass = n_kwclass.as(not null) + n_kwclass.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwabstract == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwabstract _n_kwabstract = new_child else - _n_kwabstract = null + abort end return end @@ -1172,7 +1032,7 @@ redef class AAbstractClasskind assert new_child isa TKwclass _n_kwclass = new_child else - _n_kwclass = null + abort end return end @@ -1180,56 +1040,43 @@ redef class AAbstractClasskind redef meth visit_all(v: Visitor) do - if _n_kwabstract != null then - v.visit(_n_kwabstract) - end - if _n_kwclass != null then - v.visit(_n_kwclass) - end + v.visit(_n_kwabstract) + v.visit(_n_kwclass) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwabstract != null then - v.visit(_n_kwabstract) - end - if _n_kwclass != null then - v.visit(_n_kwclass) - end + v.visit(_n_kwabstract) + v.visit(_n_kwclass) end end redef class AInterfaceClasskind - redef meth n_kwinterface=(n: TKwinterface) + redef meth n_kwinterface=(n) do _n_kwinterface = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_ainterfaceclasskind ( - n_kwinterface: TKwinterface + n_kwinterface: nullable TKwinterface ) do empty_init - _n_kwinterface = n_kwinterface - if n_kwinterface != null then - n_kwinterface.parent = self - end + _n_kwinterface = n_kwinterface.as(not null) + n_kwinterface.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwinterface == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwinterface _n_kwinterface = new_child else - _n_kwinterface = null + abort end return end @@ -1237,50 +1084,41 @@ redef class AInterfaceClasskind redef meth visit_all(v: Visitor) do - if _n_kwinterface != null then - v.visit(_n_kwinterface) - end + v.visit(_n_kwinterface) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwinterface != null then - v.visit(_n_kwinterface) - end + v.visit(_n_kwinterface) end end redef class AUniversalClasskind - redef meth n_kwuniversal=(n: TKwuniversal) + redef meth n_kwuniversal=(n) do _n_kwuniversal = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_auniversalclasskind ( - n_kwuniversal: TKwuniversal + n_kwuniversal: nullable TKwuniversal ) do empty_init - _n_kwuniversal = n_kwuniversal - if n_kwuniversal != null then - n_kwuniversal.parent = self - end + _n_kwuniversal = n_kwuniversal.as(not null) + n_kwuniversal.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwuniversal == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwuniversal _n_kwuniversal = new_child else - _n_kwuniversal = null + abort end return end @@ -1288,27 +1126,21 @@ redef class AUniversalClasskind redef meth visit_all(v: Visitor) do - if _n_kwuniversal != null then - v.visit(_n_kwuniversal) - end + v.visit(_n_kwuniversal) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwuniversal != null then - v.visit(_n_kwuniversal) - end + v.visit(_n_kwuniversal) end end redef class AFormaldef - redef meth n_id=(n: TClassid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n if n != null then @@ -1319,31 +1151,28 @@ redef class AFormaldef private init empty_init do end init init_aformaldef ( - n_id: TClassid , - n_type: PType + n_id: nullable TClassid , + n_type: nullable PType ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self _n_type = n_type if n_type != null then n_type.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_id == old_child then if new_child != null then new_child.parent = self assert new_child isa TClassid _n_id = new_child else - _n_id = null + abort end return end @@ -1361,68 +1190,55 @@ redef class AFormaldef redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end end end redef class ASuperclass - redef meth n_kwspecial=(n: TKwspecial) + redef meth n_kwspecial=(n) do _n_kwspecial = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_asuperclass ( - n_kwspecial: TKwspecial , - n_type: PType + n_kwspecial: nullable TKwspecial , + n_type: nullable PType ) do empty_init - _n_kwspecial = n_kwspecial - if n_kwspecial != null then - n_kwspecial.parent = self - end - _n_type = n_type - if n_type != null then - n_type.parent = self - end + _n_kwspecial = n_kwspecial.as(not null) + n_kwspecial.parent = self + _n_type = n_type.as(not null) + n_type.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwspecial == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwspecial _n_kwspecial = new_child else - _n_kwspecial = null + abort end return end @@ -1432,7 +1248,7 @@ redef class ASuperclass assert new_child isa PType _n_type = new_child else - _n_type = null + abort end return end @@ -1440,89 +1256,77 @@ redef class ASuperclass redef meth visit_all(v: Visitor) do - if _n_kwspecial != null then - v.visit(_n_kwspecial) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_kwspecial) + v.visit(_n_type) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwspecial != null then - v.visit(_n_kwspecial) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_kwspecial) + v.visit(_n_type) end end redef class AAttrPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_readable=(n: PAble) + redef meth n_readable=(n) do _n_readable = n if n != null then n.parent = self end end - redef meth n_writable=(n: PAble) + redef meth n_writable=(n) do _n_writable = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwattr=(n: TKwattr) + redef meth n_kwattr=(n) do _n_kwattr = n if n != null then n.parent = self end end - redef meth n_kwvar=(n: TKwvar) + redef meth n_kwvar=(n) do _n_kwvar = n if n != null then n.parent = self end end - redef meth n_id=(n: TAttrid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n if n != null then n.parent = self end end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -1533,16 +1337,16 @@ redef class AAttrPropdef private init empty_init do end init init_aattrpropdef ( - n_doc: PDoc , - n_readable: PAble , - n_writable: PAble , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwattr: TKwattr , - n_kwvar: TKwvar , - n_id: TAttrid , - n_type: PType , - n_expr: PExpr + n_doc: nullable PDoc , + n_readable: nullable PAble , + n_writable: nullable PAble , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwattr: nullable TKwattr , + n_kwvar: nullable TKwvar , + n_id: nullable TAttrid , + n_type: nullable PType , + n_expr: nullable PExpr ) do empty_init @@ -1562,10 +1366,8 @@ redef class AAttrPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self _n_kwattr = n_kwattr if n_kwattr != null then n_kwattr.parent = self @@ -1574,10 +1376,8 @@ redef class AAttrPropdef if n_kwvar != null then n_kwvar.parent = self end - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self _n_type = n_type if n_type != null then n_type.parent = self @@ -1588,9 +1388,8 @@ redef class AAttrPropdef end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -1637,7 +1436,7 @@ redef class AAttrPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -1667,7 +1466,7 @@ redef class AAttrPropdef assert new_child isa TAttrid _n_id = new_child else - _n_id = null + abort end return end @@ -1696,116 +1495,102 @@ redef class AAttrPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_readable != null then - v.visit(_n_readable) + v.visit(_n_readable.as(not null)) end if _n_writable != null then - v.visit(_n_writable) + v.visit(_n_writable.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) if _n_kwattr != null then - v.visit(_n_kwattr) + v.visit(_n_kwattr.as(not null)) end if _n_kwvar != null then - v.visit(_n_kwvar) - end - if _n_id != null then - v.visit(_n_id) + v.visit(_n_kwvar.as(not null)) end + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_readable != null then - v.visit(_n_readable) + v.visit(_n_readable.as(not null)) end if _n_writable != null then - v.visit(_n_writable) + v.visit(_n_writable.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) if _n_kwattr != null then - v.visit(_n_kwattr) + v.visit(_n_kwattr.as(not null)) end if _n_kwvar != null then - v.visit(_n_kwvar) - end - if _n_id != null then - v.visit(_n_id) + v.visit(_n_kwvar.as(not null)) end + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class AMethPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_methid=(n: PMethid) + redef meth n_methid=(n) do _n_methid = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_amethpropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_methid: PMethid , - n_signature: PSignature + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_methid: nullable PMethid , + n_signature: nullable PSignature ) do empty_init @@ -1817,23 +1602,16 @@ redef class AMethPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_methid = n_methid - if n_methid != null then - n_methid.parent = self - end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_methid = n_methid.as(not null) + n_methid.parent = self + _n_signature = n_signature.as(not null) + n_signature.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -1860,7 +1638,7 @@ redef class AMethPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -1870,7 +1648,7 @@ redef class AMethPropdef assert new_child isa PMethid _n_methid = new_child else - _n_methid = null + abort end return end @@ -1880,7 +1658,7 @@ redef class AMethPropdef assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -1889,94 +1667,74 @@ redef class AMethPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_methid) + v.visit(_n_signature) end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_methid) + v.visit(_n_signature) end end redef class ADeferredMethPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwmeth=(n: TKwmeth) + redef meth n_kwmeth=(n) do _n_kwmeth = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_methid=(n: PMethid) + redef meth n_methid=(n) do _n_methid = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_adeferredmethpropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwmeth: TKwmeth , - n_methid: PMethid , - n_signature: PSignature + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwmeth: nullable TKwmeth , + n_methid: nullable PMethid , + n_signature: nullable PSignature ) do empty_init @@ -1988,27 +1746,18 @@ redef class ADeferredMethPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwmeth = n_kwmeth - if n_kwmeth != null then - n_kwmeth.parent = self - end - _n_methid = n_methid - if n_methid != null then - n_methid.parent = self - end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwmeth = n_kwmeth.as(not null) + n_kwmeth.parent = self + _n_methid = n_methid.as(not null) + n_methid.parent = self + _n_signature = n_signature.as(not null) + n_signature.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -2035,7 +1784,7 @@ redef class ADeferredMethPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -2045,7 +1794,7 @@ redef class ADeferredMethPropdef assert new_child isa TKwmeth _n_kwmeth = new_child else - _n_kwmeth = null + abort end return end @@ -2055,7 +1804,7 @@ redef class ADeferredMethPropdef assert new_child isa PMethid _n_methid = new_child else - _n_methid = null + abort end return end @@ -2065,7 +1814,7 @@ redef class ADeferredMethPropdef assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -2074,100 +1823,76 @@ redef class ADeferredMethPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) end end redef class AInternMethPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwmeth=(n: TKwmeth) + redef meth n_kwmeth=(n) do _n_kwmeth = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_methid=(n: PMethid) + redef meth n_methid=(n) do _n_methid = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_ainternmethpropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwmeth: TKwmeth , - n_methid: PMethid , - n_signature: PSignature + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwmeth: nullable TKwmeth , + n_methid: nullable PMethid , + n_signature: nullable PSignature ) do empty_init @@ -2179,27 +1904,18 @@ redef class AInternMethPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwmeth = n_kwmeth - if n_kwmeth != null then - n_kwmeth.parent = self - end - _n_methid = n_methid - if n_methid != null then - n_methid.parent = self - end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwmeth = n_kwmeth.as(not null) + n_kwmeth.parent = self + _n_methid = n_methid.as(not null) + n_methid.parent = self + _n_signature = n_signature.as(not null) + n_signature.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -2226,7 +1942,7 @@ redef class AInternMethPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -2236,7 +1952,7 @@ redef class AInternMethPropdef assert new_child isa TKwmeth _n_kwmeth = new_child else - _n_kwmeth = null + abort end return end @@ -2246,7 +1962,7 @@ redef class AInternMethPropdef assert new_child isa PMethid _n_methid = new_child else - _n_methid = null + abort end return end @@ -2256,7 +1972,7 @@ redef class AInternMethPropdef assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -2265,91 +1981,67 @@ redef class AInternMethPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) end end redef class AExternMethPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwmeth=(n: TKwmeth) + redef meth n_kwmeth=(n) do _n_kwmeth = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_methid=(n: PMethid) + redef meth n_methid=(n) do _n_methid = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_extern=(n: TString) + redef meth n_extern=(n) do _n_extern = n if n != null then @@ -2360,13 +2052,13 @@ redef class AExternMethPropdef private init empty_init do end init init_aexternmethpropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwmeth: TKwmeth , - n_methid: PMethid , - n_signature: PSignature , - n_extern: TString + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwmeth: nullable TKwmeth , + n_methid: nullable PMethid , + n_signature: nullable PSignature , + n_extern: nullable TString ) do empty_init @@ -2378,31 +2070,22 @@ redef class AExternMethPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwmeth = n_kwmeth - if n_kwmeth != null then - n_kwmeth.parent = self - end - _n_methid = n_methid - if n_methid != null then - n_methid.parent = self - end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwmeth = n_kwmeth.as(not null) + n_kwmeth.parent = self + _n_methid = n_methid.as(not null) + n_methid.parent = self + _n_signature = n_signature.as(not null) + n_signature.parent = self _n_extern = n_extern if n_extern != null then n_extern.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -2429,7 +2112,7 @@ redef class AExternMethPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -2439,7 +2122,7 @@ redef class AExternMethPropdef assert new_child isa TKwmeth _n_kwmeth = new_child else - _n_kwmeth = null + abort end return end @@ -2449,7 +2132,7 @@ redef class AExternMethPropdef assert new_child isa PMethid _n_methid = new_child else - _n_methid = null + abort end return end @@ -2459,7 +2142,7 @@ redef class AExternMethPropdef assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -2478,97 +2161,73 @@ redef class AExternMethPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) if _n_extern != null then - v.visit(_n_extern) + v.visit(_n_extern.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) if _n_extern != null then - v.visit(_n_extern) + v.visit(_n_extern.as(not null)) end end end redef class AConcreteMethPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwmeth=(n: TKwmeth) + redef meth n_kwmeth=(n) do _n_kwmeth = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_methid=(n: PMethid) + redef meth n_methid=(n) do _n_methid = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_block=(n: PExpr) + redef meth n_block=(n) do _n_block = n if n != null then @@ -2579,13 +2238,13 @@ redef class AConcreteMethPropdef private init empty_init do end init init_aconcretemethpropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwmeth: TKwmeth , - n_methid: PMethid , - n_signature: PSignature , - n_block: PExpr + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwmeth: nullable TKwmeth , + n_methid: nullable PMethid , + n_signature: nullable PSignature , + n_block: nullable PExpr ) do empty_init @@ -2597,31 +2256,22 @@ redef class AConcreteMethPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwmeth = n_kwmeth - if n_kwmeth != null then - n_kwmeth.parent = self - end - _n_methid = n_methid - if n_methid != null then - n_methid.parent = self - end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwmeth = n_kwmeth.as(not null) + n_kwmeth.parent = self + _n_methid = n_methid.as(not null) + n_methid.parent = self + _n_signature = n_signature.as(not null) + n_signature.parent = self _n_block = n_block if n_block != null then n_block.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -2648,7 +2298,7 @@ redef class AConcreteMethPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -2658,7 +2308,7 @@ redef class AConcreteMethPropdef assert new_child isa TKwmeth _n_kwmeth = new_child else - _n_kwmeth = null + abort end return end @@ -2668,7 +2318,7 @@ redef class AConcreteMethPropdef assert new_child isa PMethid _n_methid = new_child else - _n_methid = null + abort end return end @@ -2678,7 +2328,7 @@ redef class AConcreteMethPropdef assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -2697,97 +2347,75 @@ redef class AConcreteMethPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwmeth != null then - v.visit(_n_kwmeth) - end - if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwmeth) + v.visit(_n_methid) + v.visit(_n_signature) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end end redef class AConcreteInitPropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwinit=(n: TKwinit) + redef meth n_kwinit=(n) do _n_kwinit = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_methid=(n: PMethid) + redef meth n_methid=(n) do _n_methid = n if n != null then n.parent = self end end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_block=(n: PExpr) + redef meth n_block=(n) do _n_block = n if n != null then @@ -2798,13 +2426,13 @@ redef class AConcreteInitPropdef private init empty_init do end init init_aconcreteinitpropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwinit: TKwinit , - n_methid: PMethid , - n_signature: PSignature , - n_block: PExpr + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwinit: nullable TKwinit , + n_methid: nullable PMethid , + n_signature: nullable PSignature , + n_block: nullable PExpr ) do empty_init @@ -2816,31 +2444,24 @@ redef class AConcreteInitPropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwinit = n_kwinit - if n_kwinit != null then - n_kwinit.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwinit = n_kwinit.as(not null) + n_kwinit.parent = self _n_methid = n_methid if n_methid != null then n_methid.parent = self end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _n_signature = n_signature.as(not null) + n_signature.parent = self _n_block = n_block if n_block != null then n_block.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -2867,7 +2488,7 @@ redef class AConcreteInitPropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -2877,7 +2498,7 @@ redef class AConcreteInitPropdef assert new_child isa TKwinit _n_kwinit = new_child else - _n_kwinit = null + abort end return end @@ -2897,7 +2518,7 @@ redef class AConcreteInitPropdef assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -2916,62 +2537,50 @@ redef class AConcreteInitPropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwinit != null then - v.visit(_n_kwinit) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwinit) if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_methid.as(not null)) end + v.visit(_n_signature) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwinit != null then - v.visit(_n_kwinit) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwinit) if _n_methid != null then - v.visit(_n_methid) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_methid.as(not null)) end + v.visit(_n_signature) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end end redef class AMainMethPropdef - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_block=(n: PExpr) + redef meth n_block=(n) do _n_block = n if n != null then @@ -2982,8 +2591,8 @@ redef class AMainMethPropdef private init empty_init do end init init_amainmethpropdef ( - n_kwredef: TKwredef , - n_block: PExpr + n_kwredef: nullable TKwredef , + n_block: nullable PExpr ) do empty_init @@ -2997,9 +2606,8 @@ redef class AMainMethPropdef end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwredef == old_child then if new_child != null then new_child.parent = self @@ -3025,76 +2633,68 @@ redef class AMainMethPropdef redef meth visit_all(v: Visitor) do if _n_kwredef != null then - v.visit(_n_kwredef) + v.visit(_n_kwredef.as(not null)) end if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_kwredef != null then - v.visit(_n_kwredef) + v.visit(_n_kwredef.as(not null)) end if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end end redef class ATypePropdef - redef meth n_doc=(n: PDoc) + redef meth n_doc=(n) do _n_doc = n if n != null then n.parent = self end end - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_visibility=(n: PVisibility) + redef meth n_visibility=(n) do _n_visibility = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwtype=(n: TKwtype) + redef meth n_kwtype=(n) do _n_kwtype = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TClassid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_atypepropdef ( - n_doc: PDoc , - n_kwredef: TKwredef , - n_visibility: PVisibility , - n_kwtype: TKwtype , - n_id: TClassid , - n_type: PType + n_doc: nullable PDoc , + n_kwredef: nullable TKwredef , + n_visibility: nullable PVisibility , + n_kwtype: nullable TKwtype , + n_id: nullable TClassid , + n_type: nullable PType ) do empty_init @@ -3106,27 +2706,18 @@ redef class ATypePropdef if n_kwredef != null then n_kwredef.parent = self end - _n_visibility = n_visibility - if n_visibility != null then - n_visibility.parent = self - end - _n_kwtype = n_kwtype - if n_kwtype != null then - n_kwtype.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_type = n_type - if n_type != null then - n_type.parent = self - end + _n_visibility = n_visibility.as(not null) + n_visibility.parent = self + _n_kwtype = n_kwtype.as(not null) + n_kwtype.parent = self + _n_id = n_id.as(not null) + n_id.parent = self + _n_type = n_type.as(not null) + n_type.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_doc == old_child then if new_child != null then new_child.parent = self @@ -3153,7 +2744,7 @@ redef class ATypePropdef assert new_child isa PVisibility _n_visibility = new_child else - _n_visibility = null + abort end return end @@ -3163,7 +2754,7 @@ redef class ATypePropdef assert new_child isa TKwtype _n_kwtype = new_child else - _n_kwtype = null + abort end return end @@ -3173,7 +2764,7 @@ redef class ATypePropdef assert new_child isa TClassid _n_id = new_child else - _n_id = null + abort end return end @@ -3183,7 +2774,7 @@ redef class ATypePropdef assert new_child isa PType _n_type = new_child else - _n_type = null + abort end return end @@ -3192,68 +2783,50 @@ redef class ATypePropdef redef meth visit_all(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwtype != null then - v.visit(_n_kwtype) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_type != null then - v.visit(_n_type) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwtype) + v.visit(_n_id) + v.visit(_n_type) end redef meth visit_all_reverse(v: Visitor) do if _n_doc != null then - v.visit(_n_doc) + v.visit(_n_doc.as(not null)) end if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_visibility != null then - v.visit(_n_visibility) - end - if _n_kwtype != null then - v.visit(_n_kwtype) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_type != null then - v.visit(_n_type) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_visibility) + v.visit(_n_kwtype) + v.visit(_n_id) + v.visit(_n_type) end end redef class AReadAble - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_kwreadable=(n: TKwreadable) + redef meth n_kwreadable=(n) do _n_kwreadable = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_areadable ( - n_kwredef: TKwredef , - n_kwreadable: TKwreadable + n_kwredef: nullable TKwredef , + n_kwreadable: nullable TKwreadable ) do empty_init @@ -3261,15 +2834,12 @@ redef class AReadAble if n_kwredef != null then n_kwredef.parent = self end - _n_kwreadable = n_kwreadable - if n_kwreadable != null then - n_kwreadable.parent = self - end + _n_kwreadable = n_kwreadable.as(not null) + n_kwreadable.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwredef == old_child then if new_child != null then new_child.parent = self @@ -3286,7 +2856,7 @@ redef class AReadAble assert new_child isa TKwreadable _n_kwreadable = new_child else - _n_kwreadable = null + abort end return end @@ -3295,44 +2865,38 @@ redef class AReadAble redef meth visit_all(v: Visitor) do if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_kwreadable != null then - v.visit(_n_kwreadable) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_kwreadable) end redef meth visit_all_reverse(v: Visitor) do if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_kwreadable != null then - v.visit(_n_kwreadable) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_kwreadable) end end redef class AWriteAble - redef meth n_kwredef=(n: TKwredef) + redef meth n_kwredef=(n) do _n_kwredef = n if n != null then n.parent = self end end - redef meth n_kwwritable=(n: TKwwritable) + redef meth n_kwwritable=(n) do _n_kwwritable = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_awriteable ( - n_kwredef: TKwredef , - n_kwwritable: TKwwritable + n_kwredef: nullable TKwredef , + n_kwwritable: nullable TKwwritable ) do empty_init @@ -3340,15 +2904,12 @@ redef class AWriteAble if n_kwredef != null then n_kwredef.parent = self end - _n_kwwritable = n_kwwritable - if n_kwwritable != null then - n_kwwritable.parent = self - end + _n_kwwritable = n_kwwritable.as(not null) + n_kwwritable.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwredef == old_child then if new_child != null then new_child.parent = self @@ -3365,7 +2926,7 @@ redef class AWriteAble assert new_child isa TKwwritable _n_kwwritable = new_child else - _n_kwwritable = null + abort end return end @@ -3374,55 +2935,46 @@ redef class AWriteAble redef meth visit_all(v: Visitor) do if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_kwwritable != null then - v.visit(_n_kwwritable) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_kwwritable) end redef meth visit_all_reverse(v: Visitor) do if _n_kwredef != null then - v.visit(_n_kwredef) - end - if _n_kwwritable != null then - v.visit(_n_kwwritable) + v.visit(_n_kwredef.as(not null)) end + v.visit(_n_kwwritable) end end redef class AIdMethid - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aidmethid ( - n_id: TId + n_id: nullable TId ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -3430,50 +2982,41 @@ redef class AIdMethid redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) end end redef class APlusMethid - redef meth n_plus=(n: TPlus) + redef meth n_plus=(n) do _n_plus = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aplusmethid ( - n_plus: TPlus + n_plus: nullable TPlus ) do empty_init - _n_plus = n_plus - if n_plus != null then - n_plus.parent = self - end + _n_plus = n_plus.as(not null) + n_plus.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_plus == old_child then if new_child != null then new_child.parent = self assert new_child isa TPlus _n_plus = new_child else - _n_plus = null + abort end return end @@ -3481,50 +3024,41 @@ redef class APlusMethid redef meth visit_all(v: Visitor) do - if _n_plus != null then - v.visit(_n_plus) - end + v.visit(_n_plus) end redef meth visit_all_reverse(v: Visitor) do - if _n_plus != null then - v.visit(_n_plus) - end + v.visit(_n_plus) end end redef class AMinusMethid - redef meth n_minus=(n: TMinus) + redef meth n_minus=(n) do _n_minus = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aminusmethid ( - n_minus: TMinus + n_minus: nullable TMinus ) do empty_init - _n_minus = n_minus - if n_minus != null then - n_minus.parent = self - end + _n_minus = n_minus.as(not null) + n_minus.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_minus == old_child then if new_child != null then new_child.parent = self assert new_child isa TMinus _n_minus = new_child else - _n_minus = null + abort end return end @@ -3532,50 +3066,41 @@ redef class AMinusMethid redef meth visit_all(v: Visitor) do - if _n_minus != null then - v.visit(_n_minus) - end + v.visit(_n_minus) end redef meth visit_all_reverse(v: Visitor) do - if _n_minus != null then - v.visit(_n_minus) - end + v.visit(_n_minus) end end redef class AStarMethid - redef meth n_star=(n: TStar) + redef meth n_star=(n) do _n_star = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_astarmethid ( - n_star: TStar + n_star: nullable TStar ) do empty_init - _n_star = n_star - if n_star != null then - n_star.parent = self - end + _n_star = n_star.as(not null) + n_star.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_star == old_child then if new_child != null then new_child.parent = self assert new_child isa TStar _n_star = new_child else - _n_star = null + abort end return end @@ -3583,50 +3108,41 @@ redef class AStarMethid redef meth visit_all(v: Visitor) do - if _n_star != null then - v.visit(_n_star) - end + v.visit(_n_star) end redef meth visit_all_reverse(v: Visitor) do - if _n_star != null then - v.visit(_n_star) - end + v.visit(_n_star) end end redef class ASlashMethid - redef meth n_slash=(n: TSlash) + redef meth n_slash=(n) do _n_slash = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aslashmethid ( - n_slash: TSlash + n_slash: nullable TSlash ) do empty_init - _n_slash = n_slash - if n_slash != null then - n_slash.parent = self - end + _n_slash = n_slash.as(not null) + n_slash.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_slash == old_child then if new_child != null then new_child.parent = self assert new_child isa TSlash _n_slash = new_child else - _n_slash = null + abort end return end @@ -3634,50 +3150,41 @@ redef class ASlashMethid redef meth visit_all(v: Visitor) do - if _n_slash != null then - v.visit(_n_slash) - end + v.visit(_n_slash) end redef meth visit_all_reverse(v: Visitor) do - if _n_slash != null then - v.visit(_n_slash) - end + v.visit(_n_slash) end end redef class APercentMethid - redef meth n_percent=(n: TPercent) + redef meth n_percent=(n) do _n_percent = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_apercentmethid ( - n_percent: TPercent + n_percent: nullable TPercent ) do empty_init - _n_percent = n_percent - if n_percent != null then - n_percent.parent = self - end + _n_percent = n_percent.as(not null) + n_percent.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_percent == old_child then if new_child != null then new_child.parent = self assert new_child isa TPercent _n_percent = new_child else - _n_percent = null + abort end return end @@ -3685,50 +3192,41 @@ redef class APercentMethid redef meth visit_all(v: Visitor) do - if _n_percent != null then - v.visit(_n_percent) - end + v.visit(_n_percent) end redef meth visit_all_reverse(v: Visitor) do - if _n_percent != null then - v.visit(_n_percent) - end + v.visit(_n_percent) end end redef class AEqMethid - redef meth n_eq=(n: TEq) + redef meth n_eq=(n) do _n_eq = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aeqmethid ( - n_eq: TEq + n_eq: nullable TEq ) do empty_init - _n_eq = n_eq - if n_eq != null then - n_eq.parent = self - end + _n_eq = n_eq.as(not null) + n_eq.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_eq == old_child then if new_child != null then new_child.parent = self assert new_child isa TEq _n_eq = new_child else - _n_eq = null + abort end return end @@ -3736,50 +3234,41 @@ redef class AEqMethid redef meth visit_all(v: Visitor) do - if _n_eq != null then - v.visit(_n_eq) - end + v.visit(_n_eq) end redef meth visit_all_reverse(v: Visitor) do - if _n_eq != null then - v.visit(_n_eq) - end + v.visit(_n_eq) end end redef class ANeMethid - redef meth n_ne=(n: TNe) + redef meth n_ne=(n) do _n_ne = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_anemethid ( - n_ne: TNe + n_ne: nullable TNe ) do empty_init - _n_ne = n_ne - if n_ne != null then - n_ne.parent = self - end + _n_ne = n_ne.as(not null) + n_ne.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_ne == old_child then if new_child != null then new_child.parent = self assert new_child isa TNe _n_ne = new_child else - _n_ne = null + abort end return end @@ -3787,50 +3276,41 @@ redef class ANeMethid redef meth visit_all(v: Visitor) do - if _n_ne != null then - v.visit(_n_ne) - end + v.visit(_n_ne) end redef meth visit_all_reverse(v: Visitor) do - if _n_ne != null then - v.visit(_n_ne) - end + v.visit(_n_ne) end end redef class ALeMethid - redef meth n_le=(n: TLe) + redef meth n_le=(n) do _n_le = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_alemethid ( - n_le: TLe + n_le: nullable TLe ) do empty_init - _n_le = n_le - if n_le != null then - n_le.parent = self - end + _n_le = n_le.as(not null) + n_le.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_le == old_child then if new_child != null then new_child.parent = self assert new_child isa TLe _n_le = new_child else - _n_le = null + abort end return end @@ -3838,50 +3318,41 @@ redef class ALeMethid redef meth visit_all(v: Visitor) do - if _n_le != null then - v.visit(_n_le) - end + v.visit(_n_le) end redef meth visit_all_reverse(v: Visitor) do - if _n_le != null then - v.visit(_n_le) - end + v.visit(_n_le) end end redef class AGeMethid - redef meth n_ge=(n: TGe) + redef meth n_ge=(n) do _n_ge = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_agemethid ( - n_ge: TGe + n_ge: nullable TGe ) do empty_init - _n_ge = n_ge - if n_ge != null then - n_ge.parent = self - end + _n_ge = n_ge.as(not null) + n_ge.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_ge == old_child then if new_child != null then new_child.parent = self assert new_child isa TGe _n_ge = new_child else - _n_ge = null + abort end return end @@ -3889,50 +3360,41 @@ redef class AGeMethid redef meth visit_all(v: Visitor) do - if _n_ge != null then - v.visit(_n_ge) - end + v.visit(_n_ge) end redef meth visit_all_reverse(v: Visitor) do - if _n_ge != null then - v.visit(_n_ge) - end + v.visit(_n_ge) end end redef class ALtMethid - redef meth n_lt=(n: TLt) + redef meth n_lt=(n) do _n_lt = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_altmethid ( - n_lt: TLt + n_lt: nullable TLt ) do empty_init - _n_lt = n_lt - if n_lt != null then - n_lt.parent = self - end + _n_lt = n_lt.as(not null) + n_lt.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_lt == old_child then if new_child != null then new_child.parent = self assert new_child isa TLt _n_lt = new_child else - _n_lt = null + abort end return end @@ -3940,50 +3402,41 @@ redef class ALtMethid redef meth visit_all(v: Visitor) do - if _n_lt != null then - v.visit(_n_lt) - end + v.visit(_n_lt) end redef meth visit_all_reverse(v: Visitor) do - if _n_lt != null then - v.visit(_n_lt) - end + v.visit(_n_lt) end end redef class AGtMethid - redef meth n_gt=(n: TGt) + redef meth n_gt=(n) do _n_gt = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_agtmethid ( - n_gt: TGt + n_gt: nullable TGt ) do empty_init - _n_gt = n_gt - if n_gt != null then - n_gt.parent = self - end + _n_gt = n_gt.as(not null) + n_gt.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_gt == old_child then if new_child != null then new_child.parent = self assert new_child isa TGt _n_gt = new_child else - _n_gt = null + abort end return end @@ -3991,62 +3444,49 @@ redef class AGtMethid redef meth visit_all(v: Visitor) do - if _n_gt != null then - v.visit(_n_gt) - end + v.visit(_n_gt) end redef meth visit_all_reverse(v: Visitor) do - if _n_gt != null then - v.visit(_n_gt) - end + v.visit(_n_gt) end end redef class ABraMethid - redef meth n_obra=(n: TObra) + redef meth n_obra=(n) do _n_obra = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_cbra=(n: TCbra) + redef meth n_cbra=(n) do _n_cbra = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_abramethid ( - n_obra: TObra , - n_cbra: TCbra + n_obra: nullable TObra , + n_cbra: nullable TCbra ) do empty_init - _n_obra = n_obra - if n_obra != null then - n_obra.parent = self - end - _n_cbra = n_cbra - if n_cbra != null then - n_cbra.parent = self - end + _n_obra = n_obra.as(not null) + n_obra.parent = self + _n_cbra = n_cbra.as(not null) + n_cbra.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_obra == old_child then if new_child != null then new_child.parent = self assert new_child isa TObra _n_obra = new_child else - _n_obra = null + abort end return end @@ -4056,7 +3496,7 @@ redef class ABraMethid assert new_child isa TCbra _n_cbra = new_child else - _n_cbra = null + abort end return end @@ -4064,56 +3504,43 @@ redef class ABraMethid redef meth visit_all(v: Visitor) do - if _n_obra != null then - v.visit(_n_obra) - end - if _n_cbra != null then - v.visit(_n_cbra) - end + v.visit(_n_obra) + v.visit(_n_cbra) end redef meth visit_all_reverse(v: Visitor) do - if _n_obra != null then - v.visit(_n_obra) - end - if _n_cbra != null then - v.visit(_n_cbra) - end + v.visit(_n_obra) + v.visit(_n_cbra) end end redef class AStarshipMethid - redef meth n_starship=(n: TStarship) + redef meth n_starship=(n) do _n_starship = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_astarshipmethid ( - n_starship: TStarship + n_starship: nullable TStarship ) do empty_init - _n_starship = n_starship - if n_starship != null then - n_starship.parent = self - end + _n_starship = n_starship.as(not null) + n_starship.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_starship == old_child then if new_child != null then new_child.parent = self assert new_child isa TStarship _n_starship = new_child else - _n_starship = null + abort end return end @@ -4121,62 +3548,49 @@ redef class AStarshipMethid redef meth visit_all(v: Visitor) do - if _n_starship != null then - v.visit(_n_starship) - end + v.visit(_n_starship) end redef meth visit_all_reverse(v: Visitor) do - if _n_starship != null then - v.visit(_n_starship) - end + v.visit(_n_starship) end end redef class AAssignMethid - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aassignmethid ( - n_id: TId , - n_assign: TAssign + n_id: nullable TId , + n_assign: nullable TAssign ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_assign = n_assign - if n_assign != null then - n_assign.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self + _n_assign = n_assign.as(not null) + n_assign.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -4186,7 +3600,7 @@ redef class AAssignMethid assert new_child isa TAssign _n_assign = new_child else - _n_assign = null + abort end return end @@ -4194,80 +3608,59 @@ redef class AAssignMethid redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end - if _n_assign != null then - v.visit(_n_assign) - end + v.visit(_n_id) + v.visit(_n_assign) end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end - if _n_assign != null then - v.visit(_n_assign) - end + v.visit(_n_id) + v.visit(_n_assign) end end redef class ABraassignMethid - redef meth n_obra=(n: TObra) + redef meth n_obra=(n) do _n_obra = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_cbra=(n: TCbra) + redef meth n_cbra=(n) do _n_cbra = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_abraassignmethid ( - n_obra: TObra , - n_cbra: TCbra , - n_assign: TAssign + n_obra: nullable TObra , + n_cbra: nullable TCbra , + n_assign: nullable TAssign ) do empty_init - _n_obra = n_obra - if n_obra != null then - n_obra.parent = self - end - _n_cbra = n_cbra - if n_cbra != null then - n_cbra.parent = self - end - _n_assign = n_assign - if n_assign != null then - n_assign.parent = self - end + _n_obra = n_obra.as(not null) + n_obra.parent = self + _n_cbra = n_cbra.as(not null) + n_cbra.parent = self + _n_assign = n_assign.as(not null) + n_assign.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_obra == old_child then if new_child != null then new_child.parent = self assert new_child isa TObra _n_obra = new_child else - _n_obra = null + abort end return end @@ -4277,7 +3670,7 @@ redef class ABraassignMethid assert new_child isa TCbra _n_cbra = new_child else - _n_cbra = null + abort end return end @@ -4287,7 +3680,7 @@ redef class ABraassignMethid assert new_child isa TAssign _n_assign = new_child else - _n_assign = null + abort end return end @@ -4295,32 +3688,20 @@ redef class ABraassignMethid redef meth visit_all(v: Visitor) do - if _n_obra != null then - v.visit(_n_obra) - end - if _n_cbra != null then - v.visit(_n_cbra) - end - if _n_assign != null then - v.visit(_n_assign) - end + v.visit(_n_obra) + v.visit(_n_cbra) + v.visit(_n_assign) end redef meth visit_all_reverse(v: Visitor) do - if _n_obra != null then - v.visit(_n_obra) - end - if _n_cbra != null then - v.visit(_n_cbra) - end - if _n_assign != null then - v.visit(_n_assign) - end + v.visit(_n_obra) + v.visit(_n_cbra) + v.visit(_n_assign) end end redef class ASignature - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n if n != null then @@ -4332,12 +3713,11 @@ redef class ASignature init init_asignature ( n_params: Collection[Object] , # Should be Collection[PParam] - n_type: PType , + n_type: nullable PType , n_closure_decls: Collection[Object] # Should be Collection[PClosureDecl] ) do empty_init - _n_params = new List[PParam] for n in n_params do assert n isa PParam _n_params.add(n) @@ -4347,7 +3727,6 @@ redef class ASignature if n_type != null then n_type.parent = self end - _n_closure_decls = new List[PClosureDecl] for n in n_closure_decls do assert n isa PClosureDecl _n_closure_decls.add(n) @@ -4355,9 +3734,8 @@ redef class ASignature end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_params.length[ do if _n_params[i] == old_child then if new_child != null then @@ -4400,7 +3778,7 @@ redef class ASignature v.visit(n) end if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end for n in _n_closure_decls do v.visit(n) @@ -4417,7 +3795,7 @@ redef class ASignature end end if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end do var i = _n_closure_decls.length @@ -4429,21 +3807,19 @@ redef class ASignature end end redef class AParam - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n if n != null then n.parent = self end end - redef meth n_dotdotdot=(n: TDotdotdot) + redef meth n_dotdotdot=(n) do _n_dotdotdot = n if n != null then @@ -4454,16 +3830,14 @@ redef class AParam private init empty_init do end init init_aparam ( - n_id: TId , - n_type: PType , - n_dotdotdot: TDotdotdot + n_id: nullable TId , + n_type: nullable PType , + n_dotdotdot: nullable TDotdotdot ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self _n_type = n_type if n_type != null then n_type.parent = self @@ -4474,16 +3848,15 @@ redef class AParam end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -4511,60 +3884,50 @@ redef class AParam redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end if _n_dotdotdot != null then - v.visit(_n_dotdotdot) + v.visit(_n_dotdotdot.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end if _n_dotdotdot != null then - v.visit(_n_dotdotdot) + v.visit(_n_dotdotdot.as(not null)) end end end redef class AClosureDecl - redef meth n_kwwith=(n: TKwwith) + redef meth n_kwwith=(n) do _n_kwwith = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwbreak=(n: TKwbreak) + redef meth n_kwbreak=(n) do _n_kwbreak = n if n != null then n.parent = self end end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_signature=(n: PSignature) + redef meth n_signature=(n) do _n_signature = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -4575,46 +3938,39 @@ redef class AClosureDecl private init empty_init do end init init_aclosuredecl ( - n_kwwith: TKwwith , - n_kwbreak: TKwbreak , - n_id: TId , - n_signature: PSignature , - n_expr: PExpr + n_kwwith: nullable TKwwith , + n_kwbreak: nullable TKwbreak , + n_id: nullable TId , + n_signature: nullable PSignature , + n_expr: nullable PExpr ) do empty_init - _n_kwwith = n_kwwith - if n_kwwith != null then - n_kwwith.parent = self - end + _n_kwwith = n_kwwith.as(not null) + n_kwwith.parent = self _n_kwbreak = n_kwbreak if n_kwbreak != null then n_kwbreak.parent = self end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_signature = n_signature - if n_signature != null then - n_signature.parent = self - end + _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 meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwwith == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwwith _n_kwwith = new_child else - _n_kwwith = null + abort end return end @@ -4634,7 +3990,7 @@ redef class AClosureDecl assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -4644,7 +4000,7 @@ redef class AClosureDecl assert new_child isa PSignature _n_signature = new_child else - _n_signature = null + abort end return end @@ -4662,63 +4018,49 @@ redef class AClosureDecl redef meth visit_all(v: Visitor) do - if _n_kwwith != null then - v.visit(_n_kwwith) - end + v.visit(_n_kwwith) if _n_kwbreak != null then - v.visit(_n_kwbreak) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwbreak.as(not null)) end + v.visit(_n_id) + v.visit(_n_signature) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwwith != null then - v.visit(_n_kwwith) - end + v.visit(_n_kwwith) if _n_kwbreak != null then - v.visit(_n_kwbreak) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_signature != null then - v.visit(_n_signature) + v.visit(_n_kwbreak.as(not null)) end + v.visit(_n_id) + v.visit(_n_signature) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class AType - redef meth n_kwnullable=(n: TKwnullable) + redef meth n_kwnullable=(n) do _n_kwnullable = n if n != null then n.parent = self end end - redef meth n_id=(n: TClassid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_atype ( - n_kwnullable: TKwnullable , - n_id: TClassid , + n_kwnullable: nullable TKwnullable , + n_id: nullable TClassid , n_types: Collection[Object] # Should be Collection[PType] ) do @@ -4727,11 +4069,8 @@ redef class AType if n_kwnullable != null then n_kwnullable.parent = self end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_types = new List[PType] + _n_id = n_id.as(not null) + n_id.parent = self for n in n_types do assert n isa PType _n_types.add(n) @@ -4739,9 +4078,8 @@ redef class AType end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwnullable == old_child then if new_child != null then new_child.parent = self @@ -4758,7 +4096,7 @@ redef class AType assert new_child isa TClassid _n_id = new_child else - _n_id = null + abort end return end @@ -4779,11 +4117,9 @@ redef class AType redef meth visit_all(v: Visitor) do if _n_kwnullable != null then - v.visit(_n_kwnullable) - end - if _n_id != null then - v.visit(_n_id) + v.visit(_n_kwnullable.as(not null)) end + v.visit(_n_id) for n in _n_types do v.visit(n) end @@ -4792,11 +4128,9 @@ redef class AType redef meth visit_all_reverse(v: Visitor) do if _n_kwnullable != null then - v.visit(_n_kwnullable) - end - if _n_id != null then - v.visit(_n_id) + v.visit(_n_kwnullable.as(not null)) end + v.visit(_n_id) do var i = _n_types.length while i >= 0 do @@ -4815,7 +4149,6 @@ redef class ABlockExpr ) do empty_init - _n_expr = new List[PExpr] for n in n_expr do assert n isa PExpr _n_expr.add(n) @@ -4823,9 +4156,8 @@ redef class ABlockExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_expr.length[ do if _n_expr[i] == old_child then if new_child != null then @@ -4859,35 +4191,31 @@ redef class ABlockExpr end end redef class AVardeclExpr - redef meth n_kwvar=(n: TKwvar) + redef meth n_kwvar=(n) do _n_kwvar = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n if n != null then n.parent = self end end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n if n != null then n.parent = self end end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -4898,22 +4226,18 @@ redef class AVardeclExpr private init empty_init do end init init_avardeclexpr ( - n_kwvar: TKwvar , - n_id: TId , - n_type: PType , - n_assign: TAssign , - n_expr: PExpr + n_kwvar: nullable TKwvar , + n_id: nullable TId , + n_type: nullable PType , + n_assign: nullable TAssign , + n_expr: nullable PExpr ) do empty_init - _n_kwvar = n_kwvar - if n_kwvar != null then - n_kwvar.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_kwvar = n_kwvar.as(not null) + n_kwvar.parent = self + _n_id = n_id.as(not null) + n_id.parent = self _n_type = n_type if n_type != null then n_type.parent = self @@ -4928,16 +4252,15 @@ redef class AVardeclExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwvar == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwvar _n_kwvar = new_child else - _n_kwvar = null + abort end return end @@ -4947,7 +4270,7 @@ redef class AVardeclExpr assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -4985,51 +4308,41 @@ redef class AVardeclExpr redef meth visit_all(v: Visitor) do - if _n_kwvar != null then - v.visit(_n_kwvar) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_kwvar) + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end if _n_assign != null then - v.visit(_n_assign) + v.visit(_n_assign.as(not null)) end if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwvar != null then - v.visit(_n_kwvar) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_kwvar) + v.visit(_n_id) if _n_type != null then - v.visit(_n_type) + v.visit(_n_type.as(not null)) end if _n_assign != null then - v.visit(_n_assign) + v.visit(_n_assign.as(not null)) end if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class AReturnExpr - redef meth n_kwreturn=(n: TKwreturn) + redef meth n_kwreturn=(n) do _n_kwreturn = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -5040,31 +4353,28 @@ redef class AReturnExpr private init empty_init do end init init_areturnexpr ( - n_kwreturn: TKwreturn , - n_expr: PExpr + n_kwreturn: nullable TKwreturn , + n_expr: nullable PExpr ) do empty_init - _n_kwreturn = n_kwreturn - if n_kwreturn != null then - n_kwreturn.parent = self - end + _n_kwreturn = n_kwreturn.as(not null) + n_kwreturn.parent = self _n_expr = n_expr if n_expr != null then n_expr.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwreturn == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwreturn _n_kwreturn = new_child else - _n_kwreturn = null + abort end return end @@ -5082,33 +4392,27 @@ redef class AReturnExpr redef meth visit_all(v: Visitor) do - if _n_kwreturn != null then - v.visit(_n_kwreturn) - end + v.visit(_n_kwreturn) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwreturn != null then - v.visit(_n_kwreturn) - end + v.visit(_n_kwreturn) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class ABreakExpr - redef meth n_kwbreak=(n: TKwbreak) + redef meth n_kwbreak=(n) do _n_kwbreak = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -5119,31 +4423,28 @@ redef class ABreakExpr private init empty_init do end init init_abreakexpr ( - n_kwbreak: TKwbreak , - n_expr: PExpr + n_kwbreak: nullable TKwbreak , + n_expr: nullable PExpr ) do empty_init - _n_kwbreak = n_kwbreak - if n_kwbreak != null then - n_kwbreak.parent = self - end + _n_kwbreak = n_kwbreak.as(not null) + n_kwbreak.parent = self _n_expr = n_expr if n_expr != null then n_expr.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 + abort end return end @@ -5161,56 +4462,47 @@ redef class ABreakExpr redef meth visit_all(v: Visitor) do - if _n_kwbreak != null then - v.visit(_n_kwbreak) - end + v.visit(_n_kwbreak) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwbreak != null then - v.visit(_n_kwbreak) - end + v.visit(_n_kwbreak) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class AAbortExpr - redef meth n_kwabort=(n: TKwabort) + redef meth n_kwabort=(n) do _n_kwabort = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aabortexpr ( - n_kwabort: TKwabort + n_kwabort: nullable TKwabort ) do empty_init - _n_kwabort = n_kwabort - if n_kwabort != null then - n_kwabort.parent = self - end + _n_kwabort = n_kwabort.as(not null) + n_kwabort.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwabort == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwabort _n_kwabort = new_child else - _n_kwabort = null + abort end return end @@ -5218,27 +4510,21 @@ redef class AAbortExpr redef meth visit_all(v: Visitor) do - if _n_kwabort != null then - v.visit(_n_kwabort) - end + v.visit(_n_kwabort) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwabort != null then - v.visit(_n_kwabort) - end + v.visit(_n_kwabort) end end redef class AContinueExpr - redef meth n_kwcontinue=(n: TKwcontinue) + redef meth n_kwcontinue=(n) do _n_kwcontinue = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -5249,31 +4535,28 @@ redef class AContinueExpr private init empty_init do end init init_acontinueexpr ( - n_kwcontinue: TKwcontinue , - n_expr: PExpr + n_kwcontinue: nullable TKwcontinue , + n_expr: nullable PExpr ) do empty_init - _n_kwcontinue = n_kwcontinue - if n_kwcontinue != null then - n_kwcontinue.parent = self - end + _n_kwcontinue = n_kwcontinue.as(not null) + n_kwcontinue.parent = self _n_expr = n_expr if n_expr != null then n_expr.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwcontinue == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwcontinue _n_kwcontinue = new_child else - _n_kwcontinue = null + abort end return end @@ -5291,33 +4574,27 @@ redef class AContinueExpr redef meth visit_all(v: Visitor) do - if _n_kwcontinue != null then - v.visit(_n_kwcontinue) - end + v.visit(_n_kwcontinue) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwcontinue != null then - v.visit(_n_kwcontinue) - end + v.visit(_n_kwcontinue) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class ADoExpr - redef meth n_kwdo=(n: TKwdo) + redef meth n_kwdo=(n) do _n_kwdo = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_block=(n: PExpr) + redef meth n_block=(n) do _n_block = n if n != null then @@ -5328,31 +4605,28 @@ redef class ADoExpr private init empty_init do end init init_adoexpr ( - n_kwdo: TKwdo , - n_block: PExpr + n_kwdo: nullable TKwdo , + n_block: nullable PExpr ) do empty_init - _n_kwdo = n_kwdo - if n_kwdo != null then - n_kwdo.parent = self - end + _n_kwdo = n_kwdo.as(not null) + n_kwdo.parent = self _n_block = n_block if n_block != null then n_block.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 + abort end return end @@ -5370,47 +4644,39 @@ redef class ADoExpr redef meth visit_all(v: Visitor) do - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwdo) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwdo) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end end redef class AIfExpr - redef meth n_kwif=(n: TKwif) + redef meth n_kwif=(n) do _n_kwif = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_then=(n: PExpr) + redef meth n_then=(n) do _n_then = n if n != null then n.parent = self end end - redef meth n_else=(n: PExpr) + redef meth n_else=(n) do _n_else = n if n != null then @@ -5421,21 +4687,17 @@ redef class AIfExpr private init empty_init do end init init_aifexpr ( - n_kwif: TKwif , - n_expr: PExpr , - n_then: PExpr , - n_else: PExpr + n_kwif: nullable TKwif , + n_expr: nullable PExpr , + n_then: nullable PExpr , + n_else: nullable PExpr ) do empty_init - _n_kwif = n_kwif - if n_kwif != null then - n_kwif.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_kwif = n_kwif.as(not null) + n_kwif.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self _n_then = n_then if n_then != null then n_then.parent = self @@ -5446,16 +4708,15 @@ redef class AIfExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwif == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwif _n_kwif = new_child else - _n_kwif = null + abort end return end @@ -5465,7 +4726,7 @@ redef class AIfExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -5493,128 +4754,95 @@ redef class AIfExpr redef meth visit_all(v: Visitor) do - if _n_kwif != null then - v.visit(_n_kwif) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_kwif) + v.visit(_n_expr) if _n_then != null then - v.visit(_n_then) + v.visit(_n_then.as(not null)) end if _n_else != null then - v.visit(_n_else) + v.visit(_n_else.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwif != null then - v.visit(_n_kwif) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_kwif) + v.visit(_n_expr) if _n_then != null then - v.visit(_n_then) + v.visit(_n_then.as(not null)) end if _n_else != null then - v.visit(_n_else) + v.visit(_n_else.as(not null)) end end end redef class AIfexprExpr - redef meth n_kwif=(n: TKwif) + redef meth n_kwif=(n) do _n_kwif = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwthen=(n: TKwthen) + redef meth n_kwthen=(n) do _n_kwthen = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_then=(n: PExpr) + redef meth n_then=(n) do _n_then = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwelse=(n: TKwelse) + redef meth n_kwelse=(n) do _n_kwelse = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_else=(n: PExpr) + redef meth n_else=(n) do _n_else = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aifexprexpr ( - n_kwif: TKwif , - n_expr: PExpr , - n_kwthen: TKwthen , - n_then: PExpr , - n_kwelse: TKwelse , - n_else: PExpr + n_kwif: nullable TKwif , + n_expr: nullable PExpr , + n_kwthen: nullable TKwthen , + n_then: nullable PExpr , + n_kwelse: nullable TKwelse , + n_else: nullable PExpr ) do empty_init - _n_kwif = n_kwif - if n_kwif != null then - n_kwif.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_kwthen = n_kwthen - if n_kwthen != null then - n_kwthen.parent = self - end - _n_then = n_then - if n_then != null then - n_then.parent = self - end - _n_kwelse = n_kwelse - if n_kwelse != null then - n_kwelse.parent = self - end - _n_else = n_else - if n_else != null then - n_else.parent = self - end - end - - redef meth replace_child(old_child: PNode, new_child: PNode) + _n_kwif = n_kwif.as(not null) + n_kwif.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_kwthen = n_kwthen.as(not null) + n_kwthen.parent = self + _n_then = n_then.as(not null) + n_then.parent = self + _n_kwelse = n_kwelse.as(not null) + n_kwelse.parent = self + _n_else = n_else.as(not null) + n_else.parent = self + end + + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwif == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwif _n_kwif = new_child else - _n_kwif = null + abort end return end @@ -5624,7 +4852,7 @@ redef class AIfexprExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -5634,7 +4862,7 @@ redef class AIfexprExpr assert new_child isa TKwthen _n_kwthen = new_child else - _n_kwthen = null + abort end return end @@ -5644,7 +4872,7 @@ redef class AIfexprExpr assert new_child isa PExpr _n_then = new_child else - _n_then = null + abort end return end @@ -5654,7 +4882,7 @@ redef class AIfexprExpr assert new_child isa TKwelse _n_kwelse = new_child else - _n_kwelse = null + abort end return end @@ -5664,7 +4892,7 @@ redef class AIfexprExpr assert new_child isa PExpr _n_else = new_child else - _n_else = null + abort end return end @@ -5672,71 +4900,41 @@ redef class AIfexprExpr redef meth visit_all(v: Visitor) do - if _n_kwif != null then - v.visit(_n_kwif) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwthen != null then - v.visit(_n_kwthen) - end - if _n_then != null then - v.visit(_n_then) - end - if _n_kwelse != null then - v.visit(_n_kwelse) - end - if _n_else != null then - v.visit(_n_else) - end + v.visit(_n_kwif) + v.visit(_n_expr) + v.visit(_n_kwthen) + v.visit(_n_then) + v.visit(_n_kwelse) + v.visit(_n_else) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwif != null then - v.visit(_n_kwif) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwthen != null then - v.visit(_n_kwthen) - end - if _n_then != null then - v.visit(_n_then) - end - if _n_kwelse != null then - v.visit(_n_kwelse) - end - if _n_else != null then - v.visit(_n_else) - end + v.visit(_n_kwif) + v.visit(_n_expr) + v.visit(_n_kwthen) + v.visit(_n_then) + v.visit(_n_kwelse) + v.visit(_n_else) end end redef class AWhileExpr - redef meth n_kwwhile=(n: TKwwhile) + redef meth n_kwwhile=(n) do _n_kwwhile = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwdo=(n: TKwdo) + redef meth n_kwdo=(n) do _n_kwdo = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_block=(n: PExpr) + redef meth n_block=(n) do _n_block = n if n != null then @@ -5747,41 +4945,34 @@ redef class AWhileExpr private init empty_init do end init init_awhileexpr ( - n_kwwhile: TKwwhile , - n_expr: PExpr , - n_kwdo: TKwdo , - n_block: PExpr + n_kwwhile: nullable TKwwhile , + n_expr: nullable PExpr , + n_kwdo: nullable TKwdo , + n_block: nullable PExpr ) do empty_init - _n_kwwhile = n_kwwhile - if n_kwwhile != null then - n_kwwhile.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_kwdo = n_kwdo - if n_kwdo != null then - n_kwdo.parent = self - end + _n_kwwhile = n_kwwhile.as(not null) + n_kwwhile.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_kwdo = n_kwdo.as(not null) + n_kwdo.parent = self _n_block = n_block if n_block != null then n_block.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwwhile == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwwhile _n_kwwhile = new_child else - _n_kwwhile = null + abort end return end @@ -5791,7 +4982,7 @@ redef class AWhileExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -5801,7 +4992,7 @@ redef class AWhileExpr assert new_child isa TKwdo _n_kwdo = new_child else - _n_kwdo = null + abort end return end @@ -5819,66 +5010,46 @@ redef class AWhileExpr redef meth visit_all(v: Visitor) do - if _n_kwwhile != null then - v.visit(_n_kwwhile) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwwhile) + v.visit(_n_expr) + v.visit(_n_kwdo) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwwhile != null then - v.visit(_n_kwwhile) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwwhile) + v.visit(_n_expr) + v.visit(_n_kwdo) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end end redef class AForExpr - redef meth n_kwfor=(n: TKwfor) + redef meth n_kwfor=(n) do _n_kwfor = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwdo=(n: TKwdo) + redef meth n_kwdo=(n) do _n_kwdo = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_block=(n: PExpr) + redef meth n_block=(n) do _n_block = n if n != null then @@ -5889,46 +5060,37 @@ redef class AForExpr private init empty_init do end init init_aforexpr ( - n_kwfor: TKwfor , - n_id: TId , - n_expr: PExpr , - n_kwdo: TKwdo , - n_block: PExpr + n_kwfor: nullable TKwfor , + n_id: nullable TId , + n_expr: nullable PExpr , + n_kwdo: nullable TKwdo , + n_block: nullable PExpr ) do empty_init - _n_kwfor = n_kwfor - if n_kwfor != null then - n_kwfor.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_kwdo = n_kwdo - if n_kwdo != null then - n_kwdo.parent = self - end + _n_kwfor = n_kwfor.as(not null) + n_kwfor.parent = self + _n_id = n_id.as(not null) + n_id.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_kwdo = n_kwdo.as(not null) + n_kwdo.parent = self _n_block = n_block if n_block != null then n_block.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwfor == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwfor _n_kwfor = new_child else - _n_kwfor = null + abort end return end @@ -5938,7 +5100,7 @@ redef class AForExpr assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -5948,7 +5110,7 @@ redef class AForExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -5958,7 +5120,7 @@ redef class AForExpr assert new_child isa TKwdo _n_kwdo = new_child else - _n_kwdo = null + abort end return end @@ -5976,98 +5138,73 @@ redef class AForExpr redef meth visit_all(v: Visitor) do - if _n_kwfor != null then - v.visit(_n_kwfor) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwfor) + v.visit(_n_id) + v.visit(_n_expr) + v.visit(_n_kwdo) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwfor != null then - v.visit(_n_kwfor) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwfor) + v.visit(_n_id) + v.visit(_n_expr) + v.visit(_n_kwdo) if _n_block != null then - v.visit(_n_block) + v.visit(_n_block.as(not null)) end end end redef class AAssertExpr - redef meth n_kwassert=(n: TKwassert) + redef meth n_kwassert=(n) do _n_kwassert = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n if n != null then n.parent = self end end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aassertexpr ( - n_kwassert: TKwassert , - n_id: TId , - n_expr: PExpr + n_kwassert: nullable TKwassert , + n_id: nullable TId , + n_expr: nullable PExpr ) do empty_init - _n_kwassert = n_kwassert - if n_kwassert != null then - n_kwassert.parent = self - end + _n_kwassert = n_kwassert.as(not null) + n_kwassert.parent = self _n_id = n_id if n_id != null then n_id.parent = self end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwassert == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwassert _n_kwassert = new_child else - _n_kwassert = null + abort end return end @@ -6087,7 +5224,7 @@ redef class AAssertExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6095,74 +5232,57 @@ redef class AAssertExpr redef meth visit_all(v: Visitor) do - if _n_kwassert != null then - v.visit(_n_kwassert) - end + v.visit(_n_kwassert) if _n_id != null then - v.visit(_n_id) - end - if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_id.as(not null)) end + v.visit(_n_expr) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwassert != null then - v.visit(_n_kwassert) - end + v.visit(_n_kwassert) if _n_id != null then - v.visit(_n_id) - end - if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_id.as(not null)) end + v.visit(_n_expr) end end redef class AOnceExpr - redef meth n_kwonce=(n: TKwonce) + redef meth n_kwonce=(n) do _n_kwonce = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aonceexpr ( - n_kwonce: TKwonce , - n_expr: PExpr + n_kwonce: nullable TKwonce , + n_expr: nullable PExpr ) do empty_init - _n_kwonce = n_kwonce - if n_kwonce != null then - n_kwonce.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_kwonce = n_kwonce.as(not null) + n_kwonce.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwonce == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwonce _n_kwonce = new_child else - _n_kwonce = null + abort end return end @@ -6172,7 +5292,7 @@ redef class AOnceExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6180,56 +5300,43 @@ redef class AOnceExpr redef meth visit_all(v: Visitor) do - if _n_kwonce != null then - v.visit(_n_kwonce) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_kwonce) + v.visit(_n_expr) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwonce != null then - v.visit(_n_kwonce) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_kwonce) + v.visit(_n_expr) end end redef class ASendExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_asendexpr ( - n_expr: PExpr + n_expr: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6237,62 +5344,49 @@ redef class ASendExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) end end redef class ABinopExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_abinopexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6302,7 +5396,7 @@ redef class ABinopExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6310,68 +5404,51 @@ redef class ABinopExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AOrExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aorexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6381,7 +5458,7 @@ redef class AOrExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6389,68 +5466,51 @@ redef class AOrExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AAndExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aandexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6460,7 +5520,7 @@ redef class AAndExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6468,68 +5528,51 @@ redef class AAndExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class ANotExpr - redef meth n_kwnot=(n: TKwnot) + redef meth n_kwnot=(n) do _n_kwnot = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_anotexpr ( - n_kwnot: TKwnot , - n_expr: PExpr + n_kwnot: nullable TKwnot , + n_expr: nullable PExpr ) do empty_init - _n_kwnot = n_kwnot - if n_kwnot != null then - n_kwnot.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_kwnot = n_kwnot.as(not null) + n_kwnot.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwnot == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwnot _n_kwnot = new_child else - _n_kwnot = null + abort end return end @@ -6539,7 +5582,7 @@ redef class ANotExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6547,68 +5590,51 @@ redef class ANotExpr redef meth visit_all(v: Visitor) do - if _n_kwnot != null then - v.visit(_n_kwnot) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_kwnot) + v.visit(_n_expr) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwnot != null then - v.visit(_n_kwnot) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_kwnot) + v.visit(_n_expr) end end redef class AEqExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aeqexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6618,7 +5644,7 @@ redef class AEqExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6626,68 +5652,51 @@ redef class AEqExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AEeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aeeexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6697,7 +5706,7 @@ redef class AEeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6705,68 +5714,51 @@ redef class AEeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class ANeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aneexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6776,7 +5768,7 @@ redef class ANeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6784,68 +5776,51 @@ redef class ANeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class ALtExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_altexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6855,7 +5830,7 @@ redef class ALtExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6863,68 +5838,51 @@ redef class ALtExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class ALeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aleexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -6934,7 +5892,7 @@ redef class ALeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -6942,68 +5900,51 @@ redef class ALeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AGtExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_agtexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7013,7 +5954,7 @@ redef class AGtExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7021,68 +5962,51 @@ redef class AGtExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AGeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_ageexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7092,7 +6016,7 @@ redef class AGeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7100,68 +6024,51 @@ redef class AGeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AIsaExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aisaexpr ( - n_expr: PExpr , - n_type: PType + n_expr: nullable PExpr , + n_type: nullable PType ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_type = n_type - if n_type != null then - n_type.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_type = n_type.as(not null) + n_type.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7171,7 +6078,7 @@ redef class AIsaExpr assert new_child isa PType _n_type = new_child else - _n_type = null + abort end return end @@ -7179,68 +6086,51 @@ redef class AIsaExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_expr) + v.visit(_n_type) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_expr) + v.visit(_n_type) end end redef class APlusExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aplusexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7250,7 +6140,7 @@ redef class APlusExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7258,68 +6148,51 @@ redef class APlusExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AMinusExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aminusexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7329,7 +6202,7 @@ redef class AMinusExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7337,68 +6210,51 @@ redef class AMinusExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AStarshipExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_astarshipexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7408,7 +6264,7 @@ redef class AStarshipExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7416,68 +6272,51 @@ redef class AStarshipExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AStarExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_astarexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7487,7 +6326,7 @@ redef class AStarExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7495,68 +6334,51 @@ redef class AStarExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class ASlashExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aslashexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7566,7 +6388,7 @@ redef class ASlashExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7574,68 +6396,51 @@ redef class ASlashExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class APercentExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_apercentexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7645,7 +6450,7 @@ redef class APercentExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -7653,68 +6458,51 @@ redef class APercentExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AUminusExpr - redef meth n_minus=(n: TMinus) + redef meth n_minus=(n) do _n_minus = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_auminusexpr ( - n_minus: TMinus , - n_expr: PExpr + n_minus: nullable TMinus , + n_expr: nullable PExpr ) do empty_init - _n_minus = n_minus - if n_minus != null then - n_minus.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_minus = n_minus.as(not null) + n_minus.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_minus == old_child then if new_child != null then new_child.parent = self assert new_child isa TMinus _n_minus = new_child else - _n_minus = null + abort end return end @@ -7724,7 +6512,7 @@ redef class AUminusExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7732,40 +6520,28 @@ redef class AUminusExpr redef meth visit_all(v: Visitor) do - if _n_minus != null then - v.visit(_n_minus) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_minus) + v.visit(_n_expr) end redef meth visit_all_reverse(v: Visitor) do - if _n_minus != null then - v.visit(_n_minus) - end - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_minus) + v.visit(_n_expr) end end redef class ANewExpr - redef meth n_kwnew=(n: TKwnew) + redef meth n_kwnew=(n) do _n_kwnew = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n if n != null then @@ -7776,26 +6552,21 @@ redef class ANewExpr private init empty_init do end init init_anewexpr ( - n_kwnew: TKwnew , - n_type: PType , - n_id: TId , + n_kwnew: nullable TKwnew , + n_type: nullable PType , + n_id: nullable TId , n_args: Collection[Object] # Should be Collection[PExpr] ) do empty_init - _n_kwnew = n_kwnew - if n_kwnew != null then - n_kwnew.parent = self - end - _n_type = n_type - if n_type != null then - n_type.parent = self - end + _n_kwnew = n_kwnew.as(not null) + n_kwnew.parent = self + _n_type = n_type.as(not null) + n_type.parent = self _n_id = n_id if n_id != null then n_id.parent = self end - _n_args = new List[PExpr] for n in n_args do assert n isa PExpr _n_args.add(n) @@ -7803,16 +6574,15 @@ redef class ANewExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwnew == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwnew _n_kwnew = new_child else - _n_kwnew = null + abort end return end @@ -7822,7 +6592,7 @@ redef class ANewExpr assert new_child isa PType _n_type = new_child else - _n_type = null + abort end return end @@ -7852,14 +6622,10 @@ redef class ANewExpr redef meth visit_all(v: Visitor) do - if _n_kwnew != null then - v.visit(_n_kwnew) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_kwnew) + v.visit(_n_type) if _n_id != null then - v.visit(_n_id) + v.visit(_n_id.as(not null)) end for n in _n_args do v.visit(n) @@ -7868,14 +6634,10 @@ redef class ANewExpr redef meth visit_all_reverse(v: Visitor) do - if _n_kwnew != null then - v.visit(_n_kwnew) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_kwnew) + v.visit(_n_type) if _n_id != null then - v.visit(_n_id) + v.visit(_n_id.as(not null)) end do var i = _n_args.length @@ -7887,49 +6649,40 @@ redef class ANewExpr end end redef class AAttrExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TAttrid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aattrexpr ( - n_expr: PExpr , - n_id: TAttrid + n_expr: nullable PExpr , + n_id: nullable TAttrid ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -7939,7 +6692,7 @@ redef class AAttrExpr assert new_child isa TAttrid _n_id = new_child else - _n_id = null + abort end return end @@ -7947,92 +6700,67 @@ redef class AAttrExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) end end redef class AAttrAssignExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TAttrid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aattrassignexpr ( - n_expr: PExpr , - n_id: TAttrid , - n_assign: TAssign , - n_value: PExpr + n_expr: nullable PExpr , + n_id: nullable TAttrid , + n_assign: nullable TAssign , + n_value: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_assign = n_assign - if n_assign != null then - n_assign.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self + _n_assign = n_assign.as(not null) + n_assign.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8042,7 +6770,7 @@ redef class AAttrAssignExpr assert new_child isa TAttrid _n_id = new_child else - _n_id = null + abort end return end @@ -8052,7 +6780,7 @@ redef class AAttrAssignExpr assert new_child isa TAssign _n_assign = new_child else - _n_assign = null + abort end return end @@ -8062,7 +6790,7 @@ redef class AAttrAssignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -8070,104 +6798,71 @@ redef class AAttrAssignExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_expr) + v.visit(_n_id) + v.visit(_n_assign) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_expr) + v.visit(_n_id) + v.visit(_n_assign) + v.visit(_n_value) end end redef class AAttrReassignExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TAttrid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign_op=(n: PAssignOp) + redef meth n_assign_op=(n) do _n_assign_op = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aattrreassignexpr ( - n_expr: PExpr , - n_id: TAttrid , - n_assign_op: PAssignOp , - n_value: PExpr + n_expr: nullable PExpr , + n_id: nullable TAttrid , + n_assign_op: nullable PAssignOp , + n_value: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_assign_op = n_assign_op - if n_assign_op != null then - n_assign_op.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self + _n_assign_op = n_assign_op.as(not null) + n_assign_op.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8177,7 +6872,7 @@ redef class AAttrReassignExpr assert new_child isa TAttrid _n_id = new_child else - _n_id = null + abort end return end @@ -8187,7 +6882,7 @@ redef class AAttrReassignExpr assert new_child isa PAssignOp _n_assign_op = new_child else - _n_assign_op = null + abort end return end @@ -8197,7 +6892,7 @@ redef class AAttrReassignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -8205,77 +6900,51 @@ redef class AAttrReassignExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_expr) + v.visit(_n_id) + v.visit(_n_assign_op) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_expr) + v.visit(_n_id) + v.visit(_n_assign_op) + v.visit(_n_value) end end redef class ACallExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_acallexpr ( - n_expr: PExpr , - n_id: TId , + n_expr: nullable PExpr , + n_id: nullable TId , n_args: Collection[Object] , # Should be Collection[PExpr] n_closure_defs: Collection[Object] # Should be Collection[PClosureDef] ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_closure_defs = new List[PClosureDef] for n in n_closure_defs do assert n isa PClosureDef _n_closure_defs.add(n) @@ -8283,16 +6952,15 @@ redef class ACallExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8302,7 +6970,7 @@ redef class ACallExpr assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -8334,12 +7002,8 @@ redef class ACallExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) for n in _n_args do v.visit(n) end @@ -8350,12 +7014,8 @@ redef class ACallExpr redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) do var i = _n_args.length while i >= 0 do @@ -8373,80 +7033,62 @@ redef class ACallExpr end end redef class ACallAssignExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_acallassignexpr ( - n_expr: PExpr , - n_id: TId , + n_expr: nullable PExpr , + n_id: nullable TId , n_args: Collection[Object] , # Should be Collection[PExpr] - n_assign: TAssign , - n_value: PExpr + n_assign: nullable TAssign , + n_value: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_assign = n_assign - if n_assign != null then - n_assign.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_assign = n_assign.as(not null) + n_assign.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8456,7 +7098,7 @@ redef class ACallAssignExpr assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -8478,7 +7120,7 @@ redef class ACallAssignExpr assert new_child isa TAssign _n_assign = new_child else - _n_assign = null + abort end return end @@ -8488,7 +7130,7 @@ redef class ACallAssignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -8496,31 +7138,19 @@ redef class ACallAssignExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) for n in _n_args do v.visit(n) end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) do var i = _n_args.length while i >= 0 do @@ -8528,89 +7158,67 @@ redef class ACallAssignExpr i = i - 1 end end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign) + v.visit(_n_value) end end redef class ACallReassignExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign_op=(n: PAssignOp) + redef meth n_assign_op=(n) do _n_assign_op = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_acallreassignexpr ( - n_expr: PExpr , - n_id: TId , + n_expr: nullable PExpr , + n_id: nullable TId , n_args: Collection[Object] , # Should be Collection[PExpr] - n_assign_op: PAssignOp , - n_value: PExpr + n_assign_op: nullable PAssignOp , + n_value: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_assign_op = n_assign_op - if n_assign_op != null then - n_assign_op.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_assign_op = n_assign_op.as(not null) + n_assign_op.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8620,7 +7228,7 @@ redef class ACallReassignExpr assert new_child isa TId _n_id = new_child else - _n_id = null + abort end return end @@ -8642,7 +7250,7 @@ redef class ACallReassignExpr assert new_child isa PAssignOp _n_assign_op = new_child else - _n_assign_op = null + abort end return end @@ -8652,7 +7260,7 @@ redef class ACallReassignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -8660,31 +7268,19 @@ redef class ACallReassignExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) for n in _n_args do v.visit(n) end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign_op) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_expr) + v.visit(_n_id) do var i = _n_args.length while i >= 0 do @@ -8692,35 +7288,29 @@ redef class ACallReassignExpr i = i - 1 end end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign_op) + v.visit(_n_value) end end redef class ASuperExpr - redef meth n_qualified=(n: PQualified) + redef meth n_qualified=(n) do _n_qualified = n if n != null then n.parent = self end end - redef meth n_kwsuper=(n: TKwsuper) + redef meth n_kwsuper=(n) do _n_kwsuper = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_asuperexpr ( - n_qualified: PQualified , - n_kwsuper: TKwsuper , + n_qualified: nullable PQualified , + n_kwsuper: nullable TKwsuper , n_args: Collection[Object] # Should be Collection[PExpr] ) do @@ -8729,11 +7319,8 @@ redef class ASuperExpr if n_qualified != null then n_qualified.parent = self end - _n_kwsuper = n_kwsuper - if n_kwsuper != null then - n_kwsuper.parent = self - end - _n_args = new List[PExpr] + _n_kwsuper = n_kwsuper.as(not null) + n_kwsuper.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) @@ -8741,9 +7328,8 @@ redef class ASuperExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_qualified == old_child then if new_child != null then new_child.parent = self @@ -8760,7 +7346,7 @@ redef class ASuperExpr assert new_child isa TKwsuper _n_kwsuper = new_child else - _n_kwsuper = null + abort end return end @@ -8781,11 +7367,9 @@ redef class ASuperExpr redef meth visit_all(v: Visitor) do if _n_qualified != null then - v.visit(_n_qualified) - end - if _n_kwsuper != null then - v.visit(_n_kwsuper) + v.visit(_n_qualified.as(not null)) end + v.visit(_n_kwsuper) for n in _n_args do v.visit(n) end @@ -8794,11 +7378,9 @@ redef class ASuperExpr redef meth visit_all_reverse(v: Visitor) do if _n_qualified != null then - v.visit(_n_qualified) - end - if _n_kwsuper != null then - v.visit(_n_kwsuper) + v.visit(_n_qualified.as(not null)) end + v.visit(_n_kwsuper) do var i = _n_args.length while i >= 0 do @@ -8809,39 +7391,30 @@ redef class ASuperExpr end end redef class AInitExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwinit=(n: TKwinit) + redef meth n_kwinit=(n) do _n_kwinit = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_ainitexpr ( - n_expr: PExpr , - n_kwinit: TKwinit , + n_expr: nullable PExpr , + n_kwinit: nullable TKwinit , n_args: Collection[Object] # Should be Collection[PExpr] ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_kwinit = n_kwinit - if n_kwinit != null then - n_kwinit.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_kwinit = n_kwinit.as(not null) + n_kwinit.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) @@ -8849,16 +7422,15 @@ redef class AInitExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8868,7 +7440,7 @@ redef class AInitExpr assert new_child isa TKwinit _n_kwinit = new_child else - _n_kwinit = null + abort end return end @@ -8888,12 +7460,8 @@ redef class AInitExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwinit != null then - v.visit(_n_kwinit) - end + v.visit(_n_expr) + v.visit(_n_kwinit) for n in _n_args do v.visit(n) end @@ -8901,12 +7469,8 @@ redef class AInitExpr redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwinit != null then - v.visit(_n_kwinit) - end + v.visit(_n_expr) + v.visit(_n_kwinit) do var i = _n_args.length while i >= 0 do @@ -8917,34 +7481,28 @@ redef class AInitExpr end end redef class ABraExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_abraexpr ( - n_expr: PExpr , + n_expr: nullable PExpr , n_args: Collection[Object] , # Should be Collection[PExpr] n_closure_defs: Collection[Object] # Should be Collection[PClosureDef] ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_closure_defs = new List[PClosureDef] for n in n_closure_defs do assert n isa PClosureDef _n_closure_defs.add(n) @@ -8952,16 +7510,15 @@ redef class ABraExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -8993,9 +7550,7 @@ redef class ABraExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) for n in _n_args do v.visit(n) end @@ -9006,9 +7561,7 @@ redef class ABraExpr redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) do var i = _n_args.length while i >= 0 do @@ -9026,68 +7579,54 @@ redef class ABraExpr end end redef class ABraAssignExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_abraassignexpr ( - n_expr: PExpr , + n_expr: nullable PExpr , n_args: Collection[Object] , # Should be Collection[PExpr] - n_assign: TAssign , - n_value: PExpr + n_assign: nullable TAssign , + n_value: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_assign = n_assign - if n_assign != null then - n_assign.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_assign = n_assign.as(not null) + n_assign.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -9109,7 +7648,7 @@ redef class ABraAssignExpr assert new_child isa TAssign _n_assign = new_child else - _n_assign = null + abort end return end @@ -9119,7 +7658,7 @@ redef class ABraAssignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -9127,25 +7666,17 @@ redef class ABraAssignExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) for n in _n_args do v.visit(n) end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) do var i = _n_args.length while i >= 0 do @@ -9153,77 +7684,59 @@ redef class ABraAssignExpr i = i - 1 end end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign) + v.visit(_n_value) end end redef class ABraReassignExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign_op=(n: PAssignOp) + redef meth n_assign_op=(n) do _n_assign_op = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_abrareassignexpr ( - n_expr: PExpr , + n_expr: nullable PExpr , n_args: Collection[Object] , # Should be Collection[PExpr] - n_assign_op: PAssignOp , - n_value: PExpr + n_assign_op: nullable PAssignOp , + n_value: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_args = new List[PExpr] + _n_expr = n_expr.as(not null) + n_expr.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_assign_op = n_assign_op - if n_assign_op != null then - n_assign_op.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_assign_op = n_assign_op.as(not null) + n_assign_op.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -9245,7 +7758,7 @@ redef class ABraReassignExpr assert new_child isa PAssignOp _n_assign_op = new_child else - _n_assign_op = null + abort end return end @@ -9255,7 +7768,7 @@ redef class ABraReassignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -9263,25 +7776,17 @@ redef class ABraReassignExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) for n in _n_args do v.visit(n) end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign_op) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) do var i = _n_args.length while i >= 0 do @@ -9289,43 +7794,33 @@ redef class ABraReassignExpr i = i - 1 end end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_assign_op) + v.visit(_n_value) end end redef class AClosureCallExpr - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aclosurecallexpr ( - n_id: TId , + n_id: nullable TId , n_args: Collection[Object] , # Should be Collection[PExpr] n_closure_defs: Collection[Object] # Should be Collection[PClosureDef] ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_args = new List[PExpr] + _n_id = n_id.as(not null) + n_id.parent = self for n in n_args do assert n isa PExpr _n_args.add(n) n.parent = self end - _n_closure_defs = new List[PClosureDef] for n in n_closure_defs do assert n isa PClosureDef _n_closure_defs.add(n) @@ -9333,16 +7828,15 @@ redef class AClosureCallExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -9374,9 +7868,7 @@ redef class AClosureCallExpr redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) for n in _n_args do v.visit(n) end @@ -9387,9 +7879,7 @@ redef class AClosureCallExpr redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) do var i = _n_args.length while i >= 0 do @@ -9407,37 +7897,32 @@ redef class AClosureCallExpr end end redef class AVarExpr - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_avarexpr ( - n_id: TId + n_id: nullable TId ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -9445,74 +7930,57 @@ redef class AVarExpr redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_id) end end redef class AVarAssignExpr - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign=(n: TAssign) + redef meth n_assign=(n) do _n_assign = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_avarassignexpr ( - n_id: TId , - n_assign: TAssign , - n_value: PExpr + n_id: nullable TId , + n_assign: nullable TAssign , + n_value: nullable PExpr ) do empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_assign = n_assign - if n_assign != null then - n_assign.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + _n_id = n_id.as(not null) + n_id.parent = self + _n_assign = n_assign.as(not null) + n_assign.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -9522,7 +7990,7 @@ redef class AVarAssignExpr assert new_child isa TAssign _n_assign = new_child else - _n_assign = null + abort end return end @@ -9532,7 +8000,7 @@ redef class AVarAssignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -9540,86 +8008,61 @@ redef class AVarAssignExpr redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_id) + v.visit(_n_assign) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end - if _n_assign != null then - v.visit(_n_assign) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_id) + v.visit(_n_assign) + v.visit(_n_value) end end redef class AVarReassignExpr - redef meth n_id=(n: TId) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_assign_op=(n: PAssignOp) + redef meth n_assign_op=(n) do _n_assign_op = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_value=(n: PExpr) + redef meth n_value=(n) do _n_value = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_avarreassignexpr ( - n_id: TId , - n_assign_op: PAssignOp , - n_value: PExpr + n_id: nullable TId , + n_assign_op: nullable PAssignOp , + n_value: nullable PExpr ) do - empty_init - _n_id = n_id - if n_id != null then - n_id.parent = self - end - _n_assign_op = n_assign_op - if n_assign_op != null then - n_assign_op.parent = self - end - _n_value = n_value - if n_value != null then - n_value.parent = self - end + empty_init + _n_id = n_id.as(not null) + n_id.parent = self + _n_assign_op = n_assign_op.as(not null) + n_assign_op.parent = self + _n_value = n_value.as(not null) + n_value.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null 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 - _n_id = null + abort end return end @@ -9629,7 +8072,7 @@ redef class AVarReassignExpr assert new_child isa PAssignOp _n_assign_op = new_child else - _n_assign_op = null + abort end return end @@ -9639,7 +8082,7 @@ redef class AVarReassignExpr assert new_child isa PExpr _n_value = new_child else - _n_value = null + abort end return end @@ -9647,74 +8090,53 @@ redef class AVarReassignExpr redef meth visit_all(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_id) + v.visit(_n_assign_op) + v.visit(_n_value) end redef meth visit_all_reverse(v: Visitor) do - if _n_id != null then - v.visit(_n_id) - end - if _n_assign_op != null then - v.visit(_n_assign_op) - end - if _n_value != null then - v.visit(_n_value) - end + v.visit(_n_id) + v.visit(_n_assign_op) + v.visit(_n_value) end end redef class ARangeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_arangeexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -9724,7 +8146,7 @@ redef class ARangeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -9732,68 +8154,51 @@ redef class ARangeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class ACrangeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_acrangeexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -9803,7 +8208,7 @@ redef class ACrangeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -9811,68 +8216,51 @@ redef class ACrangeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AOrangeExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr2=(n: PExpr) + redef meth n_expr2=(n) do _n_expr2 = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aorangeexpr ( - n_expr: PExpr , - n_expr2: PExpr + n_expr: nullable PExpr , + n_expr2: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_expr2 = n_expr2 - if n_expr2 != null then - n_expr2.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_expr2 = n_expr2.as(not null) + n_expr2.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -9882,7 +8270,7 @@ redef class AOrangeExpr assert new_child isa PExpr _n_expr2 = new_child else - _n_expr2 = null + abort end return end @@ -9890,22 +8278,14 @@ redef class AOrangeExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_expr2 != null then - v.visit(_n_expr2) - end + v.visit(_n_expr) + v.visit(_n_expr2) end end redef class AArrayExpr @@ -9917,7 +8297,6 @@ redef class AArrayExpr ) do empty_init - _n_exprs = new List[PExpr] for n in n_exprs do assert n isa PExpr _n_exprs.add(n) @@ -9925,9 +8304,8 @@ redef class AArrayExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_exprs.length[ do if _n_exprs[i] == old_child then if new_child != null then @@ -9961,37 +8339,32 @@ redef class AArrayExpr end end redef class ASelfExpr - redef meth n_kwself=(n: TKwself) + redef meth n_kwself=(n) do _n_kwself = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aselfexpr ( - n_kwself: TKwself + n_kwself: nullable TKwself ) do empty_init - _n_kwself = n_kwself - if n_kwself != null then - n_kwself.parent = self - end + _n_kwself = n_kwself.as(not null) + n_kwself.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwself == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwself _n_kwself = new_child else - _n_kwself = null + abort end return end @@ -9999,16 +8372,12 @@ redef class ASelfExpr redef meth visit_all(v: Visitor) do - if _n_kwself != null then - v.visit(_n_kwself) - end + v.visit(_n_kwself) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwself != null then - v.visit(_n_kwself) - end + v.visit(_n_kwself) end end redef class AImplicitSelfExpr @@ -10020,9 +8389,8 @@ redef class AImplicitSelfExpr empty_init end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null end redef meth visit_all(v: Visitor) @@ -10034,37 +8402,32 @@ redef class AImplicitSelfExpr end end redef class ATrueExpr - redef meth n_kwtrue=(n: TKwtrue) + redef meth n_kwtrue=(n) do _n_kwtrue = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_atrueexpr ( - n_kwtrue: TKwtrue + n_kwtrue: nullable TKwtrue ) do empty_init - _n_kwtrue = n_kwtrue - if n_kwtrue != null then - n_kwtrue.parent = self - end + _n_kwtrue = n_kwtrue.as(not null) + n_kwtrue.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwtrue == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwtrue _n_kwtrue = new_child else - _n_kwtrue = null + abort end return end @@ -10072,50 +8435,41 @@ redef class ATrueExpr redef meth visit_all(v: Visitor) do - if _n_kwtrue != null then - v.visit(_n_kwtrue) - end + v.visit(_n_kwtrue) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwtrue != null then - v.visit(_n_kwtrue) - end + v.visit(_n_kwtrue) end end redef class AFalseExpr - redef meth n_kwfalse=(n: TKwfalse) + redef meth n_kwfalse=(n) do _n_kwfalse = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_afalseexpr ( - n_kwfalse: TKwfalse + n_kwfalse: nullable TKwfalse ) do empty_init - _n_kwfalse = n_kwfalse - if n_kwfalse != null then - n_kwfalse.parent = self - end + _n_kwfalse = n_kwfalse.as(not null) + n_kwfalse.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwfalse == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwfalse _n_kwfalse = new_child else - _n_kwfalse = null + abort end return end @@ -10123,50 +8477,41 @@ redef class AFalseExpr redef meth visit_all(v: Visitor) do - if _n_kwfalse != null then - v.visit(_n_kwfalse) - end + v.visit(_n_kwfalse) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwfalse != null then - v.visit(_n_kwfalse) - end + v.visit(_n_kwfalse) end end redef class ANullExpr - redef meth n_kwnull=(n: TKwnull) + redef meth n_kwnull=(n) do _n_kwnull = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_anullexpr ( - n_kwnull: TKwnull + n_kwnull: nullable TKwnull ) do empty_init - _n_kwnull = n_kwnull - if n_kwnull != null then - n_kwnull.parent = self - end + _n_kwnull = n_kwnull.as(not null) + n_kwnull.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwnull == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwnull _n_kwnull = new_child else - _n_kwnull = null + abort end return end @@ -10174,50 +8519,41 @@ redef class ANullExpr redef meth visit_all(v: Visitor) do - if _n_kwnull != null then - v.visit(_n_kwnull) - end + v.visit(_n_kwnull) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwnull != null then - v.visit(_n_kwnull) - end + v.visit(_n_kwnull) end end redef class AIntExpr - redef meth n_number=(n: TNumber) + redef meth n_number=(n) do _n_number = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aintexpr ( - n_number: TNumber + n_number: nullable TNumber ) do empty_init - _n_number = n_number - if n_number != null then - n_number.parent = self - end + _n_number = n_number.as(not null) + n_number.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_number == old_child then if new_child != null then new_child.parent = self assert new_child isa TNumber _n_number = new_child else - _n_number = null + abort end return end @@ -10225,50 +8561,41 @@ redef class AIntExpr redef meth visit_all(v: Visitor) do - if _n_number != null then - v.visit(_n_number) - end + v.visit(_n_number) end redef meth visit_all_reverse(v: Visitor) do - if _n_number != null then - v.visit(_n_number) - end + v.visit(_n_number) end end redef class AFloatExpr - redef meth n_float=(n: TFloat) + redef meth n_float=(n) do _n_float = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_afloatexpr ( - n_float: TFloat + n_float: nullable TFloat ) do empty_init - _n_float = n_float - if n_float != null then - n_float.parent = self - end + _n_float = n_float.as(not null) + n_float.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_float == old_child then if new_child != null then new_child.parent = self assert new_child isa TFloat _n_float = new_child else - _n_float = null + abort end return end @@ -10276,50 +8603,41 @@ redef class AFloatExpr redef meth visit_all(v: Visitor) do - if _n_float != null then - v.visit(_n_float) - end + v.visit(_n_float) end redef meth visit_all_reverse(v: Visitor) do - if _n_float != null then - v.visit(_n_float) - end + v.visit(_n_float) end end redef class ACharExpr - redef meth n_char=(n: TChar) + redef meth n_char=(n) do _n_char = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_acharexpr ( - n_char: TChar + n_char: nullable TChar ) do empty_init - _n_char = n_char - if n_char != null then - n_char.parent = self - end + _n_char = n_char.as(not null) + n_char.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_char == old_child then if new_child != null then new_child.parent = self assert new_child isa TChar _n_char = new_child else - _n_char = null + abort end return end @@ -10327,50 +8645,41 @@ redef class ACharExpr redef meth visit_all(v: Visitor) do - if _n_char != null then - v.visit(_n_char) - end + v.visit(_n_char) end redef meth visit_all_reverse(v: Visitor) do - if _n_char != null then - v.visit(_n_char) - end + v.visit(_n_char) end end redef class AStringExpr - redef meth n_string=(n: TString) + redef meth n_string=(n) do _n_string = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_astringexpr ( - n_string: TString + n_string: nullable TString ) do empty_init - _n_string = n_string - if n_string != null then - n_string.parent = self - end + _n_string = n_string.as(not null) + n_string.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_string == old_child then if new_child != null then new_child.parent = self assert new_child isa TString _n_string = new_child else - _n_string = null + abort end return end @@ -10378,50 +8687,41 @@ redef class AStringExpr redef meth visit_all(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end redef meth visit_all_reverse(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end end redef class AStartStringExpr - redef meth n_string=(n: TStartString) + redef meth n_string=(n) do _n_string = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_astartstringexpr ( - n_string: TStartString + n_string: nullable TStartString ) do empty_init - _n_string = n_string - if n_string != null then - n_string.parent = self - end + _n_string = n_string.as(not null) + n_string.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_string == old_child then if new_child != null then new_child.parent = self assert new_child isa TStartString _n_string = new_child else - _n_string = null + abort end return end @@ -10429,50 +8729,41 @@ redef class AStartStringExpr redef meth visit_all(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end redef meth visit_all_reverse(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end end redef class AMidStringExpr - redef meth n_string=(n: TMidString) + redef meth n_string=(n) do _n_string = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_amidstringexpr ( - n_string: TMidString + n_string: nullable TMidString ) do empty_init - _n_string = n_string - if n_string != null then - n_string.parent = self - end + _n_string = n_string.as(not null) + n_string.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_string == old_child then if new_child != null then new_child.parent = self assert new_child isa TMidString _n_string = new_child else - _n_string = null + abort end return end @@ -10480,50 +8771,41 @@ redef class AMidStringExpr redef meth visit_all(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end redef meth visit_all_reverse(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end end redef class AEndStringExpr - redef meth n_string=(n: TEndString) + redef meth n_string=(n) do _n_string = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aendstringexpr ( - n_string: TEndString + n_string: nullable TEndString ) do empty_init - _n_string = n_string - if n_string != null then - n_string.parent = self - end + _n_string = n_string.as(not null) + n_string.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_string == old_child then if new_child != null then new_child.parent = self assert new_child isa TEndString _n_string = new_child else - _n_string = null + abort end return end @@ -10531,16 +8813,12 @@ redef class AEndStringExpr redef meth visit_all(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end redef meth visit_all_reverse(v: Visitor) do - if _n_string != null then - v.visit(_n_string) - end + v.visit(_n_string) end end redef class ASuperstringExpr @@ -10552,7 +8830,6 @@ redef class ASuperstringExpr ) do empty_init - _n_exprs = new List[PExpr] for n in n_exprs do assert n isa PExpr _n_exprs.add(n) @@ -10560,9 +8837,8 @@ redef class ASuperstringExpr end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_exprs.length[ do if _n_exprs[i] == old_child then if new_child != null then @@ -10596,37 +8872,32 @@ redef class ASuperstringExpr end end redef class AParExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aparexpr ( - n_expr: PExpr + n_expr: nullable PExpr ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -10634,74 +8905,57 @@ redef class AParExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end + v.visit(_n_expr) end end redef class AAsCastExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwas=(n: TKwas) + redef meth n_kwas=(n) do _n_kwas = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_type=(n: PType) + redef meth n_type=(n) do _n_type = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aascastexpr ( - n_expr: PExpr , - n_kwas: TKwas , - n_type: PType + n_expr: nullable PExpr , + n_kwas: nullable TKwas , + n_type: nullable PType ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_kwas = n_kwas - if n_kwas != null then - n_kwas.parent = self - end - _n_type = n_type - if n_type != null then - n_type.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_kwas = n_kwas.as(not null) + n_kwas.parent = self + _n_type = n_type.as(not null) + n_type.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -10711,7 +8965,7 @@ redef class AAsCastExpr assert new_child isa TKwas _n_kwas = new_child else - _n_kwas = null + abort end return end @@ -10721,7 +8975,7 @@ redef class AAsCastExpr assert new_child isa PType _n_type = new_child else - _n_type = null + abort end return end @@ -10729,98 +8983,69 @@ redef class AAsCastExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwas != null then - v.visit(_n_kwas) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_expr) + v.visit(_n_kwas) + v.visit(_n_type) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwas != null then - v.visit(_n_kwas) - end - if _n_type != null then - v.visit(_n_type) - end + v.visit(_n_expr) + v.visit(_n_kwas) + v.visit(_n_type) end end redef class AAsNotnullExpr - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwas=(n: TKwas) + redef meth n_kwas=(n) do _n_kwas = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwnot=(n: TKwnot) + redef meth n_kwnot=(n) do _n_kwnot = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwnull=(n: TKwnull) + redef meth n_kwnull=(n) do _n_kwnull = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aasnotnullexpr ( - n_expr: PExpr , - n_kwas: TKwas , - n_kwnot: TKwnot , - n_kwnull: TKwnull + n_expr: nullable PExpr , + n_kwas: nullable TKwas , + n_kwnot: nullable TKwnot , + n_kwnull: nullable TKwnull ) do empty_init - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_kwas = n_kwas - if n_kwas != null then - n_kwas.parent = self - end - _n_kwnot = n_kwnot - if n_kwnot != null then - n_kwnot.parent = self - end - _n_kwnull = n_kwnull - if n_kwnull != null then - n_kwnull.parent = self - end + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_kwas = n_kwas.as(not null) + n_kwas.parent = self + _n_kwnot = n_kwnot.as(not null) + n_kwnot.parent = self + _n_kwnull = n_kwnull.as(not null) + n_kwnull.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_expr == old_child then if new_child != null then new_child.parent = self assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -10830,7 +9055,7 @@ redef class AAsNotnullExpr assert new_child isa TKwas _n_kwas = new_child else - _n_kwas = null + abort end return end @@ -10840,7 +9065,7 @@ redef class AAsNotnullExpr assert new_child isa TKwnot _n_kwnot = new_child else - _n_kwnot = null + abort end return end @@ -10850,7 +9075,7 @@ redef class AAsNotnullExpr assert new_child isa TKwnull _n_kwnull = new_child else - _n_kwnull = null + abort end return end @@ -10858,92 +9083,63 @@ redef class AAsNotnullExpr redef meth visit_all(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwas != null then - v.visit(_n_kwas) - end - if _n_kwnot != null then - v.visit(_n_kwnot) - end - if _n_kwnull != null then - v.visit(_n_kwnull) - end + v.visit(_n_expr) + v.visit(_n_kwas) + v.visit(_n_kwnot) + v.visit(_n_kwnull) end redef meth visit_all_reverse(v: Visitor) do - if _n_expr != null then - v.visit(_n_expr) - end - if _n_kwas != null then - v.visit(_n_kwas) - end - if _n_kwnot != null then - v.visit(_n_kwnot) - end - if _n_kwnull != null then - v.visit(_n_kwnull) - end + v.visit(_n_expr) + v.visit(_n_kwas) + v.visit(_n_kwnot) + v.visit(_n_kwnull) end end redef class AIssetAttrExpr - redef meth n_kwisset=(n: TKwisset) + redef meth n_kwisset=(n) do _n_kwisset = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_id=(n: TAttrid) + redef meth n_id=(n) do _n_id = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aissetattrexpr ( - n_kwisset: TKwisset , - n_expr: PExpr , - n_id: TAttrid + n_kwisset: nullable TKwisset , + n_expr: nullable PExpr , + n_id: nullable TAttrid ) do empty_init - _n_kwisset = n_kwisset - if n_kwisset != null then - n_kwisset.parent = self - end - _n_expr = n_expr - if n_expr != null then - n_expr.parent = self - end - _n_id = n_id - if n_id != null then - n_id.parent = self - end + _n_kwisset = n_kwisset.as(not null) + n_kwisset.parent = self + _n_expr = n_expr.as(not null) + n_expr.parent = self + _n_id = n_id.as(not null) + n_id.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwisset == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwisset _n_kwisset = new_child else - _n_kwisset = null + abort end return end @@ -10953,7 +9149,7 @@ redef class AIssetAttrExpr assert new_child isa PExpr _n_expr = new_child else - _n_expr = null + abort end return end @@ -10963,7 +9159,7 @@ redef class AIssetAttrExpr assert new_child isa TAttrid _n_id = new_child else - _n_id = null + abort end return end @@ -10971,62 +9167,45 @@ redef class AIssetAttrExpr redef meth visit_all(v: Visitor) do - if _n_kwisset != null then - v.visit(_n_kwisset) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_kwisset) + v.visit(_n_expr) + v.visit(_n_id) end redef meth visit_all_reverse(v: Visitor) do - if _n_kwisset != null then - v.visit(_n_kwisset) - end - if _n_expr != null then - v.visit(_n_expr) - end - if _n_id != null then - v.visit(_n_id) - end + v.visit(_n_kwisset) + v.visit(_n_expr) + v.visit(_n_id) end end redef class APlusAssignOp - redef meth n_pluseq=(n: TPluseq) + redef meth n_pluseq=(n) do _n_pluseq = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aplusassignop ( - n_pluseq: TPluseq + n_pluseq: nullable TPluseq ) do empty_init - _n_pluseq = n_pluseq - if n_pluseq != null then - n_pluseq.parent = self - end + _n_pluseq = n_pluseq.as(not null) + n_pluseq.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_pluseq == old_child then if new_child != null then new_child.parent = self assert new_child isa TPluseq _n_pluseq = new_child else - _n_pluseq = null + abort end return end @@ -11034,50 +9213,41 @@ redef class APlusAssignOp redef meth visit_all(v: Visitor) do - if _n_pluseq != null then - v.visit(_n_pluseq) - end + v.visit(_n_pluseq) end redef meth visit_all_reverse(v: Visitor) do - if _n_pluseq != null then - v.visit(_n_pluseq) - end + v.visit(_n_pluseq) end end redef class AMinusAssignOp - redef meth n_minuseq=(n: TMinuseq) + redef meth n_minuseq=(n) do _n_minuseq = n - if n != null then - n.parent = self - end + n.parent = self end private init empty_init do end init init_aminusassignop ( - n_minuseq: TMinuseq + n_minuseq: nullable TMinuseq ) do empty_init - _n_minuseq = n_minuseq - if n_minuseq != null then - n_minuseq.parent = self - end + _n_minuseq = n_minuseq.as(not null) + n_minuseq.parent = self end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_minuseq == old_child then if new_child != null then new_child.parent = self assert new_child isa TMinuseq _n_minuseq = new_child else - _n_minuseq = null + abort end return end @@ -11085,34 +9255,26 @@ redef class AMinusAssignOp redef meth visit_all(v: Visitor) do - if _n_minuseq != null then - v.visit(_n_minuseq) - end + v.visit(_n_minuseq) end redef meth visit_all_reverse(v: Visitor) do - if _n_minuseq != null then - v.visit(_n_minuseq) - end + v.visit(_n_minuseq) end end redef class AClosureDef - redef meth n_kwwith=(n: TKwwith) + redef meth n_kwwith=(n) do _n_kwwith = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_kwdo=(n: TKwdo) + redef meth n_kwdo=(n) do _n_kwdo = n - if n != null then - n.parent = self - end + n.parent = self end - redef meth n_expr=(n: PExpr) + redef meth n_expr=(n) do _n_expr = n if n != null then @@ -11123,43 +9285,37 @@ redef class AClosureDef private init empty_init do end init init_aclosuredef ( - n_kwwith: TKwwith , + n_kwwith: nullable TKwwith , n_id: Collection[Object] , # Should be Collection[TId] - n_kwdo: TKwdo , - n_expr: PExpr + n_kwdo: nullable TKwdo , + n_expr: nullable PExpr ) do empty_init - _n_kwwith = n_kwwith - if n_kwwith != null then - n_kwwith.parent = self - end - _n_id = new List[TId] + _n_kwwith = n_kwwith.as(not null) + n_kwwith.parent = self for n in n_id do assert n isa TId _n_id.add(n) n.parent = self end - _n_kwdo = n_kwdo - if n_kwdo != null then - n_kwdo.parent = self - end + _n_kwdo = n_kwdo.as(not null) + n_kwdo.parent = self _n_expr = n_expr if n_expr != null then n_expr.parent = self end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_kwwith == old_child then if new_child != null then new_child.parent = self assert new_child isa TKwwith _n_kwwith = new_child else - _n_kwwith = null + abort end return end @@ -11181,7 +9337,7 @@ redef class AClosureDef assert new_child isa TKwdo _n_kwdo = new_child else - _n_kwdo = null + abort end return end @@ -11199,25 +9355,19 @@ redef class AClosureDef redef meth visit_all(v: Visitor) do - if _n_kwwith != null then - v.visit(_n_kwwith) - end + v.visit(_n_kwwith) for n in _n_id do v.visit(n) end - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwdo) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do - if _n_kwwith != null then - v.visit(_n_kwwith) - end + v.visit(_n_kwwith) do var i = _n_id.length while i >= 0 do @@ -11225,16 +9375,14 @@ redef class AClosureDef i = i - 1 end end - if _n_kwdo != null then - v.visit(_n_kwdo) - end + v.visit(_n_kwdo) if _n_expr != null then - v.visit(_n_expr) + v.visit(_n_expr.as(not null)) end end end redef class AQualified - redef meth n_classid=(n: TClassid) + redef meth n_classid=(n) do _n_classid = n if n != null then @@ -11246,11 +9394,10 @@ redef class AQualified init init_aqualified ( n_id: Collection[Object] , # Should be Collection[TId] - n_classid: TClassid + n_classid: nullable TClassid ) do empty_init - _n_id = new List[TId] for n in n_id do assert n isa TId _n_id.add(n) @@ -11262,9 +9409,8 @@ redef class AQualified end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_id.length[ do if _n_id[i] == old_child then if new_child != null then @@ -11295,7 +9441,7 @@ redef class AQualified v.visit(n) end if _n_classid != null then - v.visit(_n_classid) + v.visit(_n_classid.as(not null)) end end @@ -11309,7 +9455,7 @@ redef class AQualified end end if _n_classid != null then - v.visit(_n_classid) + v.visit(_n_classid.as(not null)) end end end @@ -11322,7 +9468,6 @@ redef class ADoc ) do empty_init - _n_comment = new List[TComment] for n in n_comment do assert n isa TComment _n_comment.add(n) @@ -11330,9 +9475,8 @@ redef class ADoc end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null for i in [0.._n_comment.length[ do if _n_comment[i] == old_child then if new_child != null then @@ -11368,16 +9512,15 @@ end redef class Start init( - n_base: PModule, + n_base: nullable PModule, n_eof: EOF) do _n_base = n_base _n_eof = n_eof end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_base == old_child then if new_child == null then else @@ -11393,14 +9536,14 @@ redef class Start redef meth visit_all(v: Visitor) do if _n_base != null then - v.visit(_n_base) + v.visit(_n_base.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_base != null then - v.visit(_n_base) + v.visit(_n_base.as(not null)) end end end diff --git a/src/parser/parser_tables.nit b/src/parser/parser_tables.nit index f1040fa..f1c6b59 100644 --- a/src/parser/parser_tables.nit +++ b/src/parser/parser_tables.nit @@ -4,7 +4,7 @@ package parser_tables # Parser that build a full AST abstract class ParserTable - attr _action_table: Array[Array[Int]] = null + attr _action_table: Array[Array[Int]] private meth build_action_table do _action_table = once [ @@ -18117,7 +18117,7 @@ abstract class ParserTable ] end - attr _goto_table: Array[Array[Int]] = null + attr _goto_table: Array[Array[Int]] private meth build_goto_table do _goto_table = once [ @@ -19942,4 +19942,6 @@ abstract class ParserTable 0 , 1 , 1 , 2 , 3 , 3 , 2 , 2 , 4 , 5 , 6 , 7 , 8 , 3 , 4 , 1 , 1 , 2 , 9 , 8 , 3 , 4 , 10 , 11 , 12 , 13 , 14 , 15 , 15 , 15 , 16 , 16 , 10 , 17 , 17 , 17 , 18 , 19 , 20 , 11 , 21 , 21 , 21 , 21 , 19 , 16 , 22 , 23 , 24 , 21 , 21 , 21 , 21 , 16 , 25 , 26 , 18 , 18 , 18 , 18 , 18 , 18 , 18 , 27 , 21 , 28 , 16 , 21 , 29 , 30 , 29 , 30 , 1 , 31 , 31 , 32 , 3 , 2 , 8 , 4 , 2 , 4 , 33 , 8 , 1 , 1 , 1 , 32 , 2 , 8 , 4 , 2 , 8 , 34 , 14 , 35 , 16 , 36 , 20 , 37 , 35 , 38 , 38 , 38 , 38 , 39 , 40 , 37 , 41 , 38 , 38 , 38 , 38 , 38 , 38 , 21 , 18 , 29 , 42 , 43 , 43 , 43 , 44 , 45 , 45 , 45 , 38 , 46 , 18 , 18 , 18 , 47 , 48 , 49 , 49 , 49 , 19 , 19 , 14 , 50 , 16 , 51 , 20 , 52 , 50 , 53 , 52 , 54 , 21 , 18 , 18 , 55 , 55 , 55 , 56 , 57 , 57 , 57 , 58 , 29 , 18 , 18 , 59 , 19 , 18 , 60 , 21 , 18 , 61 , 62 , 21 , 19 , 63 , 64 , 24 , 65 , 19 , 19 , 19 , 19 , 66 , 67 , 68 , 67 , 67 , 69 , 67 , 26 , 70 , 2 , 26 , 16 , 71 , 24 , 16 , 72 , 28 , 16 , 72 , 28 , 19 , 11 , 22 , 30 , 29 , 1 , 2 , 73 , 32 , 8 , 32 , 32 , 2 , 8 , 46 , 32 , 2 , 32 , 32 , 2 , 8 , 32 , 8 , 40 , 38 , 19 , 74 , 60 , 75 , 38 , 20 , 38 , 76 , 77 , 75 , 38 , 35 , 36 , 36 , 37 , 20 , 37 , 37 , 37 , 37 , 37 , 37 , 37 , 37 , 37 , 37 , 37 , 37 , 71 , 69 , 67 , 18 , 8 , 20 , 16 , 78 , 79 , 80 , 81 , 19 , 82 , 60 , 83 , 21 , 27 , 83 , 84 , 51 , 51 , 52 , 20 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 71 , 84 , 50 , 19 , 18 , 85 , 86 , 76 , 21 , 21 , 71 , 21 , 87 , 29 , 30 , 19 , 19 , 88 , 18 , 18 , 89 , 18 , 18 , 90 , 67 , 91 , 92 , 92 , 92 , 92 , 92 , 92 , 92 , 92 , 92 , 92 , 92 , 92 , 93 , 92 , 85 , 26 , 26 , 2 , 19 , 94 , 19 , 19 , 19 , 28 , 72 , 95 , 21 , 18 , 96 , 97 , 32 , 2 , 32 , 2 , 32 , 32 , 2 , 32 , 2 , 2 , 32 , 32 , 2 , 32 , 3 , 77 , 79 , 43 , 35 , 45 , 60 , 71 , 98 , 99 , 45 , 38 , 74 , 74 , 75 , 60 , 75 , 75 , 75 , 75 , 75 , 75 , 75 , 75 , 75 , 75 , 75 , 75 , 94 , 92 , 85 , 47 , 8 , 60 , 19 , 16 , 100 , 101 , 102 , 79 , 55 , 103 , 57 , 71 , 57 , 18 , 82 , 82 , 83 , 60 , 83 , 83 , 83 , 83 , 83 , 83 , 83 , 83 , 83 , 83 , 83 , 83 , 94 , 18 , 86 , 20 , 10 , 94 , 104 , 18 , 18 , 13 , 105 , 105 , 18 , 8 , 8 , 93 , 92 , 106 , 107 , 108 , 107 , 109 , 110 , 111 , 112 , 11 , 113 , 114 , 24 , 18 , 18 , 95 , 28 , 97 , 2 , 2 , 32 , 2 , 2 , 2 , 32 , 2 , 72 , 99 , 100 , 10 , 45 , 76 , 94 , 115 , 43 , 43 , 116 , 43 , 45 , 45 , 116 , 116 , 116 , 116 , 116 , 116 , 116 , 45 , 45 , 45 , 35 , 113 , 35 , 38 , 107 , 111 , 18 , 47 , 117 , 18 , 19 , 118 , 13 , 16 , 100 , 57 , 94 , 55 , 55 , 119 , 55 , 57 , 57 , 119 , 119 , 119 , 119 , 119 , 119 , 119 , 57 , 57 , 57 , 50 , 120 , 21 , 20 , 60 , 14 , 50 , 121 , 16 , 122 , 123 , 124 , 18 , 125 , 13 , 126 , 3 , 3 , 92 , 127 , 128 , 13 , 107 , 109 , 110 , 107 , 110 , 129 , 110 , 110 , 67 , 130 , 130 , 8 , 131 , 130 , 124 , 21 , 18 , 132 , 24 , 65 , 19 , 19 , 28 , 2 , 2 , 115 , 16 , 14 , 38 , 98 , 115 , 38 , 132 , 38 , 128 , 13 , 130 , 8 , 131 , 130 , 18 , 18 , 18 , 133 , 13 , 14 , 16 , 13 , 16 , 10 , 134 , 134 , 134 , 135 , 19 , 133 , 136 , 24 , 18 , 18 , 27 , 29 , 137 , 138 , 138 , 138 , 138 , 138 , 138 , 138 , 138 , 18 , 19 , 16 , 21 , 84 , 60 , 112 , 139 , 50 , 21 , 19 , 140 , 121 , 123 , 8 , 18 , 125 , 10 , 108 , 141 , 99 , 142 , 143 , 107 , 110 , 10 , 14 , 110 , 85 , 8 , 131 , 130 , 144 , 20 , 4 , 145 , 146 , 147 , 148 , 130 , 8 , 131 , 149 , 19 , 19 , 18 , 18 , 18 , 72 , 115 , 19 , 35 , 98 , 149 , 142 , 143 , 8 , 131 , 130 , 144 , 4 , 8 , 131 , 135 , 135 , 47 , 138 , 138 , 150 , 19 , 18 , 19 , 14 , 151 , 135 , 152 , 138 , 138 , 138 , 153 , 19 , 138 , 135 , 24 , 42 , 19 , 19 , 71 , 24 , 133 , 8 , 18 , 13 , 80 , 19 , 18 , 139 , 20 , 112 , 112 , 91 , 21 , 154 , 155 , 16 , 156 , 20 , 157 , 155 , 158 , 158 , 158 , 158 , 159 , 19 , 157 , 160 , 158 , 158 , 158 , 158 , 158 , 158 , 29 , 161 , 162 , 162 , 162 , 163 , 164 , 164 , 164 , 158 , 125 , 8 , 8 , 14 , 165 , 10 , 99 , 62 , 99 , 8 , 8 , 14 , 166 , 167 , 112 , 144 , 4 , 8 , 131 , 144 , 8 , 168 , 144 , 60 , 146 , 147 , 148 , 169 , 147 , 170 , 171 , 170 , 69 , 85 , 172 , 173 , 172 , 144 , 4 , 174 , 18 , 18 , 72 , 175 , 38 , 174 , 8 , 8 , 144 , 4 , 8 , 131 , 168 , 144 , 144 , 4 , 135 , 8 , 16 , 176 , 79 , 80 , 81 , 177 , 71 , 177 , 138 , 19 , 19 , 88 , 89 , 138 , 138 , 138 , 138 , 94 , 19 , 19 , 135 , 137 , 8 , 18 , 101 , 175 , 91 , 60 , 112 , 178 , 123 , 158 , 19 , 179 , 60 , 180 , 158 , 20 , 158 , 76 , 62 , 180 , 158 , 155 , 181 , 156 , 156 , 157 , 20 , 157 , 157 , 157 , 157 , 157 , 157 , 157 , 157 , 157 , 157 , 157 , 157 , 71 , 125 , 125 , 8 , 105 , 99 , 14 , 108 , 99 , 62 , 166 , 80 , 182 , 80 , 112 , 67 , 112 , 91 , 112 , 168 , 144 , 144 , 4 , 144 , 4 , 144 , 168 , 130 , 169 , 147 , 170 , 171 , 170 , 69 , 85 , 172 , 173 , 172 , 147 , 170 , 171 , 170 , 172 , 172 , 170 , 172 , 172 , 92 , 183 , 184 , 185 , 101 , 184 , 168 , 144 , 186 , 187 , 138 , 186 , 187 , 168 , 144 , 144 , 4 , 4 , 168 , 168 , 144 , 47 , 8 , 19 , 16 , 100 , 101 , 102 , 138 , 94 , 138 , 138 , 138 , 13 , 105 , 138 , 133 , 188 , 24 , 138 , 138 , 18 , 137 , 13 , 138 , 178 , 112 , 79 , 162 , 85 , 155 , 155 , 164 , 60 , 71 , 158 , 164 , 158 , 21 , 21 , 179 , 179 , 180 , 60 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 94 , 125 , 99 , 108 , 80 , 13 , 110 , 80 , 85 , 130 , 112 , 91 , 4 , 168 , 168 , 144 , 4 , 147 , 170 , 171 , 170 , 172 , 172 , 170 , 172 , 172 , 92 , 183 , 184 , 185 , 101 , 184 , 171 , 170 , 172 , 172 , 170 , 172 , 172 , 184 , 184 , 172 , 172 , 184 , 184 , 107 , 8 , 16 , 189 , 101 , 13 , 16 , 189 , 4 , 168 , 190 , 62 , 191 , 190 , 62 , 4 , 168 , 168 , 144 , 4 , 4 , 168 , 135 , 47 , 138 , 19 , 118 , 13 , 16 , 192 , 125 , 138 , 13 , 135 , 24 , 42 , 19 , 19 , 18 , 18 , 16 , 100 , 155 , 10 , 164 , 76 , 94 , 162 , 162 , 193 , 162 , 164 , 164 , 193 , 193 , 193 , 193 , 193 , 193 , 193 , 164 , 164 , 164 , 155 , 113 , 155 , 158 , 13 , 110 , 8 , 112 , 130 , 4 , 4 , 168 , 171 , 170 , 172 , 172 , 170 , 172 , 172 , 184 , 184 , 172 , 172 , 184 , 184 , 107 , 8 , 16 , 189 , 101 , 13 , 16 , 189 , 170 , 172 , 172 , 184 , 184 , 172 , 172 , 184 , 184 , 16 , 189 , 16 , 189 , 184 , 184 , 16 , 189 , 16 , 189 , 194 , 13 , 19 , 16 , 13 , 143 , 19 , 16 , 4 , 187 , 21 , 195 , 187 , 38 , 4 , 4 , 168 , 4 , 135 , 138 , 138 , 138 , 19 , 177 , 8 , 125 , 138 , 19 , 19 , 138 , 138 , 138 , 19 , 16 , 14 , 158 , 158 , 132 , 158 , 8 , 110 , 4 , 170 , 172 , 172 , 184 , 184 , 172 , 172 , 184 , 184 , 16 , 189 , 16 , 189 , 184 , 184 , 16 , 189 , 16 , 189 , 194 , 13 , 19 , 16 , 13 , 143 , 19 , 16 , 172 , 172 , 184 , 184 , 16 , 189 , 16 , 189 , 184 , 184 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 8 , 8 , 142 , 143 , 8 , 19 , 143 , 8 , 8 , 19 , 62 , 42 , 62 , 4 , 13 , 80 , 138 , 125 , 8 , 8 , 138 , 138 , 196 , 19 , 155 , 149 , 110 , 172 , 172 , 184 , 184 , 16 , 189 , 16 , 189 , 184 , 184 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 8 , 8 , 142 , 143 , 8 , 19 , 143 , 8 , 8 , 19 , 184 , 184 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 8 , 8 , 21 , 38 , 138 , 101 , 125 , 125 , 8 , 175 , 158 , 174 , 184 , 184 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 8 , 8 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 19 , 8 , 19 , 8 , 8 , 13 , 125 , 138 , 186 , 187 , 16 , 189 , 16 , 189 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 19 , 8 , 19 , 8 , 8 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 8 , 138 , 122 , 190 , 62 , 19 , 16 , 19 , 16 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 8 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 8 , 140 , 187 , 158 , 8 , 19 , 8 , 19 , 8 , 8 , 8 , 8 , 8 , 8 , 161 , 62 , 8 , 8 , 158 ] end + + init do end end diff --git a/src/parser/xss/lexer.xss b/src/parser/xss/lexer.xss index d962dce..fccb57c 100644 --- a/src/parser/xss/lexer.xss +++ b/src/parser/xss/lexer.xss @@ -22,7 +22,7 @@ $ template make_lexer() # It is better user with the Parser class Lexer # Last peeked token - attr _token: Token + attr _token: nullable Token # Lexer current state attr _state: Int = 0 @@ -77,7 +77,7 @@ $ end foreach while _token == null do _token = get_token end - return _token + return _token.as(not null) end # Give and consume the next token @@ -88,11 +88,11 @@ $ end foreach result = get_token end _token = null - return result + return result.as(not null) end # Get a token, or null if it is discarded - private meth get_token: Token + private meth get_token: nullable Token do var dfa_state = 0 diff --git a/src/parser/xss/nodes.xss b/src/parser/xss/nodes.xss index 71d4836..8b0d044 100644 --- a/src/parser/xss/nodes.xss +++ b/src/parser/xss/nodes.xss @@ -35,7 +35,7 @@ $ end template $ template make_nodes() redef class PNode # Parent of the node in the AST - readable writable attr _parent: PNode + readable writable attr _parent: nullable PNode # Remove a child from the AST meth remove_child(child: PNode) @@ -44,7 +44,7 @@ redef class PNode end # Replace a child with an other node in the AST - meth replace_child(old_child: PNode, new_child: PNode) is abstract + meth replace_child(old_child: PNode, new_child: nullable PNode) is abstract # Replace itself with an other node in the AST meth replace_with(node: PNode) @@ -78,7 +78,7 @@ end redef class Token redef meth visit_all(v: Visitor) do end redef meth visit_all_reverse(v: Visitor) do end - redef meth replace_child(old_child: PNode, new_child: PNode) do end + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do end redef meth locate: String do @@ -90,10 +90,10 @@ end redef class Prod # The first token of the production node - readable writable attr _first_token: Token + readable writable attr _first_token: nullable Token # The last token of the production node - readable writable attr _last_token: Token + readable writable attr _last_token: nullable Token redef meth locate: String do @@ -134,7 +134,7 @@ class Visitor # Ask the visitor to visit a given node. # Usually automatically called by visit_all* methods. # Concrete visitors should redefine this method. - meth visit(e: PNode) is abstract + meth visit(e: nullable PNode) is abstract end $ end template diff --git a/src/parser/xss/parser.xss b/src/parser/xss/parser.xss index c4df56c..2ba5317 100644 --- a/src/parser/xss/parser.xss +++ b/src/parser/xss/parser.xss @@ -24,9 +24,9 @@ private class State readable writable attr _state: Int # The node stored with the state in the stack - readable writable attr _nodes: Object + readable writable attr _nodes: nullable Object - init(state: Int, nodes: Object) + init(state: Int, nodes: nullable Object) do _state = state _nodes = nodes @@ -80,7 +80,7 @@ special ParserTable end # Push someting in the state stack - private meth push(numstate: Int, list_node: Object) + private meth push(numstate: Int, list_node: nullable Object) do var pos = _stack_pos + 1 _stack_pos = pos @@ -100,7 +100,7 @@ special ParserTable end # Pop something from the stack state - private meth pop: Object + private meth pop: nullable Object do var res = _stack[_stack_pos].nodes _stack_pos = _stack_pos -1 @@ -112,7 +112,6 @@ special ParserTable do push(0, null) - var ign: List[Token] = null var lexer = _lexer while true do var token = lexer.peek @@ -120,7 +119,6 @@ special ParserTable var last_line = token.line if token isa PError then - assert token isa PError return new Start(null, token) end @@ -165,7 +163,7 @@ special ParserTable return node end end - return null + abort end attr _reduce_table: Array[ReduceAction] @@ -183,11 +181,12 @@ end private class SearchTokensVisitor special Visitor attr _untokenned_nodes: Array[Prod] - attr _last_token: Token - redef meth visit(n: PNode) + attr _last_token: nullable Token = null + redef meth visit(n: nullable PNode) do - if n isa Token then - assert n isa Token + if n == null then + return + else if n isa Token then _last_token = n for no in _untokenned_nodes do no.first_token = n @@ -216,19 +215,19 @@ private class ReduceAction@index special ReduceAction redef meth action(p: Parser) do - var node_list: Object = null + var node_list: nullable Object = null $ foreach {action} $ choose $ when {@cmd='POP'} var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = p.pop $ end $ when {@cmd='FETCHLIST'} - var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = ${translate(@from,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} + var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = ${translate(@from,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} assert ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} isa Array[Object] $ end $ when {@cmd='FETCHNODE'} var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = ${translate(@from,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} - assert ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} isa @etype + assert ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} isa nullable @etype $ end $ when {@cmd='ADDNODE'} if ${translate(@node,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} != null then @@ -236,19 +235,19 @@ $ when {@cmd='ADDNODE'} end $ end $ when {@cmd='ADDLIST'} - if ${translate(@fromlist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} != null then +# if ${translate(@fromlist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} != null then if ${translate(@tolist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}.is_empty then ${translate(@tolist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = ${translate(@fromlist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} else ${translate(@tolist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}.append(${translate(@fromlist,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}) end - end +# end $ end $ when {@cmd='MAKELIST'} var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = new Array[Object] $ end $ when {@cmd='MAKENODE'} - var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")} = new @etype.init_${translate(@etype,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}( + var ${translate(@result,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}: nullable @etype = new @etype.init_${translate(@etype,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}( $ foreach {arg} $ if @null null[-sep ','-] @@ -280,7 +279,7 @@ $ end template $ template make_parser_tables() # Parser that build a full AST abstract class ParserTable - attr _action_table: Array[Array[Int]] = null + attr _action_table: Array[Array[Int]] private meth build_action_table do _action_table = once [ @@ -301,7 +300,7 @@ $ end foreach end $ end foreach - attr _goto_table: Array[Array[Int]] = null + attr _goto_table: Array[Array[Int]] private meth build_goto_table do _goto_table = once [ @@ -330,5 +329,7 @@ $ end [-foreach {parser_data/errors/i}-]${.} [-sep ','-] [-end-] ] end + + init do end end $ end template diff --git a/src/parser/xss/prods.xss b/src/parser/xss/prods.xss index c03b85a..cd2f9df 100644 --- a/src/parser/xss/prods.xss +++ b/src/parser/xss/prods.xss @@ -28,9 +28,13 @@ class @ename special ${../@ename} $ foreach {elem} $ if @is_list - readable writable attr _n_@name: List[@etype] = null + readable writable attr _n_@name: List[@etype] = new List[@etype] $ else - readable writable attr _n_@name: @etype = null +$ if @modifier + readable writable attr _n_@name: nullable @etype = null +$ else + readable writable attr _n_@name: @etype +$ end $ end $ end end @@ -38,7 +42,7 @@ $ end class Start special Prod - readable writable attr _n_base: $baseprod + readable writable attr _n_base: nullable $baseprod readable writable attr _n_eof: EOF end $ end template @@ -50,12 +54,16 @@ redef class @ename $ foreach {elem} $ if @is_list $ else - redef meth n_@name=(n: @etype) + redef meth n_@name=(n) do _n_@name = n +$ if @modifier if n != null then n.parent = self end +$ else + n.parent = self +$ end end $ end $ end @@ -68,7 +76,7 @@ $ foreach {elem} $ if {@is_list} n_@{name}: Collection[Object] [-sep ','-] # Should be Collection[@etype] $ else - n_@{name}: @etype [-sep ','-] + n_@{name}: nullable @etype [-sep ','-] $ end $ end ) @@ -79,24 +87,27 @@ $ end empty_init $ foreach {elem} $ if @is_list - _n_@{name} = new List[@{etype}] for n in n_@{name} do assert n isa @{etype} _n_@{name}.add(n) n.parent = self end $ else +$ if {@modifier} _n_@name = n_@{name} if n_@{name} != null then n_@{name}.parent = self end +$ else + _n_@name = n_@{name}.as(not null) + n_@{name}.parent = self +$ end $ end $ end end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null $ foreach {elem} $ if @is_list for i in [0.._n_@{name}.length[ do @@ -118,7 +129,11 @@ $ else assert new_child isa @etype _n_@{name} = new_child else +$ if @modifier _n_@{name} = null +$ else + abort +$ end end return end @@ -134,9 +149,13 @@ $ if @is_list v.visit(n) end $ else +$ if @modifier if _n_@{name} != null then - v.visit(_n_@{name}) + v.visit(_n_@{name}.as(not null)) end +$ else + v.visit(_n_@{name}) +$ end $ end $ end foreach end @@ -153,9 +172,13 @@ $ if @is_list end end $ else +$ if @modifier if _n_@{name} != null then - v.visit(_n_@{name}) + v.visit(_n_@{name}.as(not null)) end +$ else + v.visit(_n_@{name}) +$ end $ end $ end foreach end @@ -164,16 +187,15 @@ $ end foreach redef class Start init( - n_base: $baseprod, + n_base: nullable $baseprod, n_eof: EOF) do _n_base = n_base _n_eof = n_eof end - redef meth replace_child(old_child: PNode, new_child: PNode) + redef meth replace_child(old_child: PNode, new_child: nullable PNode) do - assert old_child != null if _n_base == old_child then if new_child == null then else @@ -189,14 +211,14 @@ redef class Start redef meth visit_all(v: Visitor) do if _n_base != null then - v.visit(_n_base) + v.visit(_n_base.as(not null)) end end redef meth visit_all_reverse(v: Visitor) do if _n_base != null then - v.visit(_n_base) + v.visit(_n_base.as(not null)) end end end diff --git a/src/syntax/control_flow.nit b/src/syntax/control_flow.nit index 4ac5723..bed98a0 100644 --- a/src/syntax/control_flow.nit +++ b/src/syntax/control_flow.nit @@ -24,7 +24,7 @@ import syntax_base abstract class VariableContext # Look for the variable from its name # Return null if nothing found - meth [](s: Symbol): Variable + meth [](s: Symbol): nullable Variable do if _dico.has_key(s) then return _dico[s] @@ -64,7 +64,7 @@ abstract class VariableContext # The effective static type of a given variable # May be different from the declaration static type - meth stype(v: Variable): MMType + meth stype(v: Variable): nullable MMType do if _stypes.has_key(v) then return _stypes[v] @@ -75,7 +75,7 @@ abstract class VariableContext # Set effective static type of a given variable # May be different from the declaration static type - meth stype=(v: Variable, t: MMType) + meth stype=(v: Variable, t: nullable MMType) do _stypes[v] = t end @@ -87,7 +87,7 @@ abstract class VariableContext attr _all_variables: Set[Variable] # Updated static type of variables - attr _stypes: Map[Variable, MMType] = new HashMap[Variable, MMType] + attr _stypes: Map[Variable, nullable MMType] = new HashMap[Variable, nullable MMType] # Build a new VariableContext meth sub(node: PNode): SubVariableContext @@ -170,9 +170,9 @@ abstract class VariableContext # NOP else if s1 == s2 then stype(v) = s1 - else if s1 < s2 then + else if s2 == null or s1 < s2 then stype(v) = s2 - else if s2 < s1 then + else if s1 == null or s2 < s1 then stype(v) = s1 else stype(v) = basectx.stype(v) diff --git a/src/syntax/escape.nit b/src/syntax/escape.nit index 2d04967..ced1bf5 100644 --- a/src/syntax/escape.nit +++ b/src/syntax/escape.nit @@ -58,7 +58,7 @@ end # For and while use this class. closures uses the EscapableClosure subclass. class EscapableBlock # The syntax node of the block - readable attr _node: PNode = null + readable attr _node: PNode # Is self a break closure ? meth is_break_block: Bool do return false @@ -66,10 +66,10 @@ class EscapableBlock # Collected expressions used in breaks. # null if break does not accept values. # break_list is used to store expressions used in break statments and perform type checks latter - meth break_list: Array[PExpr] do return null + meth break_list: nullable Array[PExpr] do return null # The static type required by the continue statement (if any) - meth continue_stype: MMType do return null + meth continue_stype: nullable MMType do return null init(node: PNode) do @@ -85,11 +85,11 @@ special EscapableBlock redef meth is_break_block do return _closure.is_break - redef readable attr _break_list: Array[PExpr] + redef readable attr _break_list: nullable Array[PExpr] redef meth continue_stype do return _closure.signature.return_type - init(node: PNode, closure: MMClosure, break_list: Array[PExpr]) + init(node: PNode, closure: MMClosure, break_list: nullable Array[PExpr]) do super(node) _closure = closure @@ -102,13 +102,13 @@ end class AEscapeExpr special PNode # The associated escapable block - readable attr _escapable_block: EscapableBlock + readable attr _escapable_block: nullable EscapableBlock # The name of the keyword meth kwname: String is abstract # Compute, set and return the _abelable_node value - meth compute_escapable_block(lctx: EscapableContext): EscapableBlock + meth compute_escapable_block(lctx: EscapableContext): nullable EscapableBlock do var block: EscapableBlock if lctx.is_empty then diff --git a/src/syntax/mmbuilder.nit b/src/syntax/mmbuilder.nit index 99be10f..064a4c0 100644 --- a/src/syntax/mmbuilder.nit +++ b/src/syntax/mmbuilder.nit @@ -185,7 +185,6 @@ redef class MMSrcLocalClass for a in src_local_properties do if a isa MMSrcAttribute then var n = a.node - assert n isa AAttrPropdef if n.n_expr == null then unassigned_attributes.add(a) end end @@ -204,7 +203,7 @@ redef class MMSrcLocalClass supers = che.order.select_smallests(supers) # A mixin class can only have 0 or 1 most specific non-mixin superclass - var superclass: MMLocalClass = null # This most specific non-mixin superclass (if any) + var superclass: nullable MMLocalClass = null # This most specific non-mixin superclass (if any) if supers.length > 1 then v.error(nodes.first, "Error: Explicit constructor required in {self} since multiple inheritance of constructor is forbiden. Conflicting classes are {supers.join(", ")}. Costructors are {super_constructors.join(", ")}.") @@ -219,7 +218,7 @@ redef class MMSrcLocalClass make_visible_an_inherited_global_property(gp) end end - global.mixin_of = superclass.global + global.mixin_of = superclass.as(not null).global # FIXME Dear! this should break! else # v.error(nodes.first, "Error, constructor required in {self} since no anonimous init found in {sc}.") @@ -244,15 +243,11 @@ redef class MMSrcLocalClass # Intro or redefinition ? if has_global_property_by_name(pname) then - var globs = properties_by_name[pname] - if globs.length > 1 then - v.error(prop.node, "Name error: {self} inherits {globs.length} global properties named {pname}.") - end - var g = globs.first + var g = get_property_by_name(pname) prop.inherit_global(g) end - if prop.global == null then + if not prop.is_global_set then prop.new_global prop.global.is_init = prop.is_init end @@ -266,10 +261,10 @@ redef class MMLocalProperty end redef class MMImplicitInit - readable attr _super_init: MMLocalProperty = null + readable attr _super_init: nullable MMLocalProperty = null redef meth accept_property_visitor(v) do - var base: MMLocalProperty = null + var base: nullable MMLocalProperty = null for p in super_inits do if p.signature.arity > 0 then if base == null then @@ -290,7 +285,9 @@ redef class MMImplicitInit end end for a in unassigned_attributes do - params.add(a.signature.return_type) + var sig = a.signature + if sig == null then return # Broken attribute definition + params.add(sig.return_type.as(not null)) end signature = new MMSignature(params, null, local_class.get_type) end @@ -319,10 +316,10 @@ end private class ClassBuilderVisitor special AbsSyntaxVisitor # Current class arity - readable writable attr _local_class_arity: Int + readable writable attr _local_class_arity: Int = 0 # Current class formal parameters - readable writable attr _formals: Map[Symbol, MMTypeFormalParameter] + readable writable attr _formals: nullable Map[Symbol, MMTypeFormalParameter] redef meth visit(n) do n.accept_class_builder(self) init(tc, m) do super @@ -395,7 +392,7 @@ private class SignatureBuilder readable writable attr _closure_decls: Array[AClosureDecl] = new Array[AClosureDecl] # Current signature - readable writable attr _signature: MMSignature = null + readable writable attr _signature: nullable MMSignature = null end ############################################################################### @@ -416,7 +413,7 @@ redef class AModule # Import super-modules var module_names_to_import = new Array[Symbol] var module_visibility = new HashMap[Symbol, Int] - var no_import: PImport = null + var no_import: nullable PImport = null for i in n_imports do var n = i.module_name if n != null then @@ -457,7 +454,7 @@ end redef class PImport # Imported module name (or null) - meth module_name: Symbol is abstract + meth module_name: nullable Symbol is abstract # Visibility level (intrude/public/private) meth visibility_level: Int is abstract @@ -498,7 +495,8 @@ end redef class PClassdef - redef readable attr _local_class: MMSrcLocalClass + redef meth local_class: MMSrcLocalClass do return _local_class.as(not null) + attr _local_class: nullable MMSrcLocalClass # Name of the class meth name: Symbol is abstract @@ -534,13 +532,12 @@ redef class PClassdef end _local_class = local_class v.local_class_arity = 0 - v.formals = new HashMap[Symbol, MMTypeFormalParameter] + v.formals = local_class.formal_dict ##### super ##### - _local_class.formal_dict = v.formals v.formals = null end @@ -668,7 +665,7 @@ end redef class AFormaldef # The associated formal generic parameter (MM entity) - attr _formal: MMSrcTypeFormalParameter + attr _formal: nullable MMSrcTypeFormalParameter redef meth accept_class_builder(v) do @@ -690,14 +687,14 @@ redef class AFormaldef if n_type == null then _formal.bound = v.module.type_any.as_nullable else - _formal.bound = n_type.get_stype(v) + _formal.bound = n_type.get_stype(v).as(not null) end else var ob = o.get_formal(_formal.position).bound.for_module(v.module) if n_type == null then _formal.bound = ob else - _formal.bound = n_type.get_stype(v) + _formal.bound = n_type.get_stype(v).as(not null) if _formal.bound != ob then v.error(self, "Redef error: Cannot change formal parameter type of class {c}; got {_formal.bound}, expected {ob}.") end @@ -707,12 +704,13 @@ redef class AFormaldef end redef class ASuperclass - readable attr _ancestor: MMSrcAncestor + readable attr _ancestor: nullable MMSrcAncestor redef meth accept_class_specialization_builder(v) do super var c = n_type.get_local_class(v) + if c == null then return var ancestor = new MMSrcAncestor(self, c) _ancestor = ancestor v.local_class.add_direct_parent(ancestor) @@ -785,10 +783,8 @@ redef class PPropdef v.error(v.signature_builder.untyped_params.first, "Error: Untyped parameter.") else prop.signature = new MMSignature(new Array[MMType], null, v.local_class.get_type) - if v.signature_builder.closure_decls != null then - for clos in v.signature_builder.closure_decls do - prop.signature.closures.add(clos.variable.closure) - end + for clos in v.signature_builder.closure_decls do + prop.signature.closures.add(clos.variable.closure) end end end @@ -908,27 +904,31 @@ redef class PPropdef end redef class AAttrPropdef - redef readable attr _readmethod: MMSrcMethod - redef readable attr _writemethod: MMSrcMethod - redef readable attr _prop: MMSrcAttribute + redef readable attr _readmethod: nullable MMSrcMethod + redef readable attr _writemethod: nullable MMSrcMethod + attr _prop: nullable MMSrcAttribute + redef meth prop do return _prop.as(not null) redef meth accept_property_builder(v) do super var name = n_id.to_symbol - var prop = new MMSrcAttribute(name, v.local_class, self) + var lc = v.local_class + var prop = new MMSrcAttribute(name, lc, self) _prop = prop v.local_class.add_src_local_property(v, prop) if n_readable != null then name = n_id.text.substring_from(1).to_symbol - _readmethod = new MMReadImplementationMethod(name, v.local_class, self) - v.local_class.add_src_local_property(v, _readmethod) + var readmethod = new MMReadImplementationMethod(name, lc, self) + _readmethod = readmethod + v.local_class.add_src_local_property(v, readmethod) end if n_writable != null then name = (n_id.text.substring_from(1) + "=").to_symbol - _writemethod = new MMWriteImplementationMethod(name, v.local_class, self) - v.local_class.add_src_local_property(v, _writemethod) + var writemethod = new MMWriteImplementationMethod(name, lc, self) + _writemethod = writemethod + v.local_class.add_src_local_property(v, writemethod) end end @@ -937,31 +937,35 @@ redef class AAttrPropdef super var t: MMType if n_type != null then - t = n_type.get_stype(v) + var t0 = n_type.get_stype(v) + if t0 != null then t = t0 else return else v.error(self, "Not yet implemented: Attribute definition {_prop.local_class}::{_prop} requires an explicit type.") return end + var prop = prop var signature = new MMSignature(new Array[MMType], t, v.local_class.get_type) - _prop.signature = signature + prop.signature = signature var visibility_level = n_visibility.level - process_and_check(v, _prop, n_kwredef != null, visibility_level) + process_and_check(v, prop, n_kwredef != null, visibility_level) if n_readable != null then - _readmethod.signature = signature - process_and_check(v, _readmethod, n_readable.n_kwredef != null, visibility_level) - n_type.check_visibility(v, _readmethod) + var m = _readmethod.as(not null) + m.signature = signature + process_and_check(v, m, n_readable.n_kwredef != null, visibility_level) + n_type.check_visibility(v, m) end if n_writable != null then - _writemethod.signature = new MMSignature(new Array[MMType].with_items(t), null, v.local_class.get_type) - process_and_check(v, _writemethod, n_writable.n_kwredef != null, visibility_level) - n_type.check_visibility(v, _writemethod) + var m = _writemethod.as(not null) + m.signature = new MMSignature(new Array[MMType].with_items(t), null, v.local_class.get_type) + process_and_check(v, m, n_writable.n_kwredef != null, visibility_level) + n_type.check_visibility(v, m) end end redef meth accept_abs_syntax_visitor(v) do - v.local_property = prop + v.local_property = _prop super v.local_property = null end @@ -969,30 +973,33 @@ end redef class AMethPropdef # Name of the method - readable attr _name: Symbol + readable attr _name: nullable Symbol - redef readable attr _method: MMMethSrcMethod + attr _method: nullable MMMethSrcMethod + redef meth method do return _method.as(not null) redef meth accept_property_builder(v) do super + var name: Symbol if n_methid == null then if self isa AConcreteInitPropdef then - _name = once "init".to_symbol + name = once "init".to_symbol else - _name = once "main".to_symbol + name = once "main".to_symbol end - else - _name = n_methid.name + else + name = n_methid.name.as(not null) # FIXME: Add the 'unary' keyword if n_methid.name == (once "-".to_symbol) then var ns = n_signature if ns isa ASignature and ns.n_params.length == 0 then - _name = once "unary -".to_symbol + name = once "unary -".to_symbol end end end - var prop = new MMMethSrcMethod(_name, v.local_class, self) + _name = name + var prop = new MMMethSrcMethod(name, v.local_class, self) _method = prop v.local_class.add_src_local_property(v, prop) end @@ -1005,19 +1012,19 @@ redef class AMethPropdef if v.signature_builder.signature == null then #_method.signature = new MMSignature(new Array[MMType], null, v.local_class.get_type) else - _method.signature = v.signature_builder.signature + method.signature = v.signature_builder.signature.as(not null) end var visibility_level = 1 if n_visibility != null and n_visibility.level > 1 then visibility_level = n_visibility.level end - process_and_check(v, _method, n_kwredef != null, visibility_level) - if n_signature != null then n_signature.check_visibility(v, _method) + process_and_check(v, method, n_kwredef != null, visibility_level) + if n_signature != null then n_signature.check_visibility(v, method) end redef meth accept_abs_syntax_visitor(v) do - v.local_property = method + v.local_property = _method super v.local_property = null end @@ -1033,7 +1040,8 @@ redef class AMainMethPropdef end redef class ATypePropdef - redef readable attr _prop: MMSrcTypeProperty + redef meth prop do return _prop.as(not null) + attr _prop: nullable MMSrcTypeProperty redef meth accept_property_builder(v) do @@ -1048,14 +1056,14 @@ redef class ATypePropdef do super var signature = new MMSignature(new Array[MMType], n_type.get_stype(v), v.local_class.get_type) - _prop.signature = signature + prop.signature = signature var visibility_level = n_visibility.level - process_and_check(v, _prop, n_kwredef != null, visibility_level) + process_and_check(v, prop, n_kwredef != null, visibility_level) end redef meth accept_abs_syntax_visitor(v) do - v.local_property = prop + v.local_property = _prop super v.local_property = null end @@ -1077,7 +1085,7 @@ end redef class PMethid # Method name - readable attr _name: Symbol + readable attr _name: nullable Symbol redef meth accept_property_builder(v) do @@ -1105,9 +1113,9 @@ redef class ASignature else if not v.signature_builder.params.is_empty or n_type != null then var pars = new Array[MMType] for p in v.signature_builder.params do - pars.add(p.stype) + pars.add(p.stype.as(not null)) end - var ret: MMType = null + var ret: nullable MMType = null if n_type != null then ret = n_type.get_stype(v) end @@ -1132,12 +1140,13 @@ redef class ASignature end redef class PParam - redef readable attr _position: Int + redef readable attr _position: Int = 0 - redef readable attr _variable: ParamVariable + redef meth variable: ParamVariable do return _variable.as(not null) + attr _variable: nullable ParamVariable # The type of the parameter in signature - readable writable attr _stype: MMType + readable writable attr _stype: nullable MMType redef meth accept_property_verifier(v) do @@ -1147,7 +1156,7 @@ redef class PParam v.signature_builder.params.add(self) v.signature_builder.untyped_params.add(self) if n_type != null then - var stype = n_type.get_stype(v) + var stype = n_type.get_stype(v).as(not null) for p in v.signature_builder.untyped_params do p.stype = stype if is_vararg then @@ -1156,7 +1165,7 @@ redef class PParam else v.error(self, "Error: A vararg parameter is already defined.") end - stype = v.type_array(stype) + stype = v.type_array(stype) end p.variable.stype = stype end @@ -1172,7 +1181,8 @@ redef class AParam end redef class AClosureDecl - redef readable attr _variable: ClosureVariable + redef meth variable: ClosureVariable do return _variable.as(not null) + attr _variable: nullable ClosureVariable redef meth accept_property_verifier(v) do @@ -1188,7 +1198,7 @@ redef class AClosureDecl end # Add the finalizer to the closure signature - var finalize_sig = new MMSignature(new Array[MMType], null, null) + var finalize_sig = new MMSignature(new Array[MMType], null, v.module.type_any) # FIXME should be no receiver var finalizer_clos = new MMClosure(finalize_sig, false, true) sig.closures.add(finalizer_clos) @@ -1211,7 +1221,6 @@ redef class AType var t = get_stype(v) if t == null then return var bc = t.local_class - if bc == null then return if bc.global.visibility_level >= 3 then v.error(self, "Access error: Class {bc} is private and cannot be used in the signature of the non-private property {p}.") end diff --git a/src/syntax/syntax_base.nit b/src/syntax/syntax_base.nit index 0b53c0a..21cfba4 100644 --- a/src/syntax/syntax_base.nit +++ b/src/syntax/syntax_base.nit @@ -63,10 +63,10 @@ special MMConcreteClass readable attr _nodes: Array[PClassdef] # Concrete NIT source generic formal parameter by name - readable writable attr _formal_dict: Map[Symbol, MMTypeFormalParameter] + readable attr _formal_dict: Map[Symbol, MMTypeFormalParameter] = new HashMap[Symbol, MMTypeFormalParameter] # Concrete NIT source properties by name - readable attr _src_local_properties: Map[Symbol, MMLocalProperty] + readable attr _src_local_properties: Map[Symbol, MMLocalProperty] init(mod: MMSrcModule, n: Symbol, cla: PClassdef, a: Int) do @@ -101,7 +101,7 @@ end redef class MMLocalProperty # The attached node (if any) - meth node: PNode do return null + meth node: nullable PNode do return null # Is the concrete method defined as init meth is_init: Bool do return false @@ -156,8 +156,8 @@ end class MMMethSrcMethod special MMSrcMethod redef meth is_init do return _node isa AConcreteInitPropdef - redef readable attr _node: AMethPropdef - init(name: Symbol, cla: MMLocalClass, n: AMethPropdef) + redef readable attr _node: nullable AMethPropdef + init(name: Symbol, cla: MMLocalClass, n: nullable AMethPropdef) do super(name, cla) _node = n @@ -193,22 +193,20 @@ end # Local variables abstract class Variable # Name of the variable - readable attr _name: Symbol + readable attr _name: Symbol # Declaration AST node - readable attr _decl: PNode + readable attr _decl: nullable PNode # Static type - readable writable attr _stype: MMType + readable writable attr _stype: nullable MMType redef meth to_s do return _name.to_s meth kind: String is abstract - init(n: Symbol, d: PNode) + init(n: Symbol, d: nullable PNode) do - #assert n != null - #assert d != null _name = n _decl = d end @@ -225,7 +223,7 @@ end class ParamVariable special Variable redef meth kind do return once "parameter" - init(n: Symbol, d: PNode) do super + init(n: Symbol, d: nullable PNode) do super end # Automatic variable (like in the 'for' statement) @@ -323,43 +321,45 @@ special Visitor end # The current module - readable writable attr _module: MMSrcModule + readable attr _module: MMSrcModule # The current class - readable writable attr _local_class: MMSrcLocalClass + meth local_class: MMSrcLocalClass do return _local_class.as(not null) + writable attr _local_class: nullable MMSrcLocalClass # The current property - readable writable attr _local_property: MMLocalProperty + meth local_property: MMLocalProperty do return _local_property.as(not null) + writable attr _local_property: nullable MMLocalProperty # The current tool configuration/status readable attr _tc: ToolContext # Display an error for a given syntax node - meth error(n: PNode, s: String) + meth error(n: nullable PNode, s: String) do _tc.error("{locate(n)}: {s}") end # Display a warning for a given syntax node - meth warning(n: PNode, s: String) + meth warning(n: nullable PNode, s: String) do _tc.warning("{locate(n)}: {s}") end # - meth locate(n: PNode): String + meth locate(n: nullable PNode): String do if n != null then return n.locate return _module.filename end # Check conformity and display error - meth check_conform(n: PNode, subtype: MMType, stype: MMType): Bool + meth check_conform(n: PNode, subtype: nullable MMType, stype: nullable MMType): Bool do if stype == null or subtype == null then return false end - if subtype < stype then + if subtype < stype then return true end # Do not enforce nullable subtype rules yet @@ -392,8 +392,9 @@ special Visitor end # Combine check_conform and check_expr - meth check_conform_expr(n: PExpr, stype: MMType): Bool + meth check_conform_expr(n: PExpr, stype: nullable MMType): Bool do + if stype == null then return false if check_expr(n) then return check_conform(n, n.stype, stype) else return false end @@ -407,9 +408,9 @@ special Visitor # Int, Int, Object => return Object # Int, Float => display error, return null # nullable Int, Object => return nullable Object - meth check_conform_multiexpr(stype: MMType, nodes: Collection[PExpr]): MMType + meth check_conform_multiexpr(stype: nullable MMType, nodes: Collection[PExpr]): nullable MMType do - var node: PExpr = null # candidate node + var node: nullable PExpr = null # candidate node for n in nodes do if not check_expr(n) then return null var ntype = n.stype @@ -418,13 +419,13 @@ special Visitor stype = stype.as_nullable ntype = ntype.as_nullable end - if stype == null or (ntype != null and stype < ntype) then + if stype == null or stype < ntype then stype = ntype node = n end end for n in nodes do - if not n.stype < stype then + if not n.stype < stype.as(not null) then if node == null then error(n, "Type error: no most general type. Got {n.stype} and {stype}.") else @@ -450,16 +451,16 @@ redef class PNode end redef class Token - attr _symbol: Symbol + attr _symbol_cache: nullable Symbol # Symbol associated with the text # Lazily computed meth to_symbol: Symbol do - var s = _symbol + var s = _symbol_cache if s == null then s = text.to_symbol - _symbol = s + _symbol_cache = s end return s end @@ -475,10 +476,10 @@ redef class AAttrPropdef meth prop: MMSrcAttribute is abstract # Associated read accessor (MM entity) - meth readmethod: MMSrcMethod is abstract + meth readmethod: nullable MMSrcMethod is abstract # Associated write accessor (MM entity) - meth writemethod: MMSrcMethod is abstract + meth writemethod: nullable MMSrcMethod is abstract end redef class AMethPropdef @@ -511,17 +512,17 @@ redef class PType # Retrieve the local class corresponding to the type. # Display an error and return null if there is no class # Display an error and return null if the type is not class based (formal one) - meth get_local_class(v: AbsSyntaxVisitor): MMLocalClass is abstract + meth get_local_class(v: AbsSyntaxVisitor): nullable MMLocalClass is abstract # Retrieve corresponding static type. # Display an error and return null if there is a problem - meth get_stype(v: AbsSyntaxVisitor): MMType is abstract + meth get_stype(v: AbsSyntaxVisitor): nullable MMType is abstract # Retrieve corresponding static type. # Display an error and return null if there is a problem # But do not performs any subtype check. # get_unchecked_stype should be called to check that the static type is fully valid - meth get_unchecked_stype(v: AbsSyntaxVisitor): MMType is abstract + meth get_unchecked_stype(v: AbsSyntaxVisitor): nullable MMType is abstract # Check that a static definition type is conform with regard to formal types # Useful with get_unchecked_stype @@ -530,7 +531,7 @@ redef class PType end redef class AType - attr _stype_cache: MMType + attr _stype_cache: nullable MMType = null attr _stype_cached: Bool = false redef meth get_local_class(v) @@ -539,7 +540,7 @@ redef class AType var mod = v.module var cla = v.local_class - if (cla.formal_dict != null and cla.formal_dict.has_key(name)) or (cla.global_properties != null and cla.has_global_property_by_name(name)) then + if cla.formal_dict.has_key(name) or cla.has_global_property_by_name(name) then v.error(n_id, "Type error: {name} is a formal type") _stype_cached = true return null @@ -564,7 +565,7 @@ redef class AType var name = n_id.to_symbol var mod = v.module var cla = v.local_class - var t: MMType + var t: nullable MMType if cla.formal_dict.has_key(name) then if n_types.length > 0 then @@ -577,7 +578,7 @@ redef class AType return t end - if cla.global_properties != null and cla.has_global_property_by_name(name) then + if cla.has_global_property_by_name(name) then if n_types.length > 0 then v.error(self, "Type error: formal type {name} cannot have formal parameters.") return null @@ -604,7 +605,9 @@ redef class AType if arity > 0 then var tab = new Array[MMType] for p in n_types do - tab.add(p.get_unchecked_stype(v)) + var t2 = p.get_unchecked_stype(v) + if t2 == null then return null + tab.add(t2) end t = local_class.get_instantiate_type(tab) else @@ -661,33 +664,39 @@ end redef class AVardeclExpr # Assiociated local variable - readable writable attr _variable: VarVariable + meth variable: VarVariable is abstract + #readable writable attr _variable: nullable VarVariable end redef class AForExpr # Associated automatic local variable - readable writable attr _variable: AutoVariable + meth variable: AutoVariable is abstract + #readable writable attr _variable: nullable AutoVariable end redef class ASelfExpr # Associated local variable - readable writable attr _variable: ParamVariable + meth variable: ParamVariable is abstract + #readable writable attr _variable: nullable ParamVariable end redef class AVarFormExpr # Associated local variable - readable writable attr _variable: Variable + meth variable: Variable is abstract + #readable writable attr _variable: nullable Variable end redef class AClosureCallExpr # Associated closure variable - readable writable attr _variable: ClosureVariable + meth variable: ClosureVariable is abstract + #readable writable attr _variable: nullable ClosureVariable end redef class PClosureDef # Associated closure - readable writable attr _closure: MMClosure + #readable writable attr _closure: nullable MMClosure + meth closure: MMClosure is abstract # Automatic variables - readable writable attr _variables: Array[AutoVariable] + readable writable attr _variables: nullable Array[AutoVariable] end diff --git a/src/syntax/typing.nit b/src/syntax/typing.nit index 6717511..878de83 100644 --- a/src/syntax/typing.nit +++ b/src/syntax/typing.nit @@ -44,25 +44,28 @@ special AbsSyntaxVisitor end # Current knowledge about variables names and types - readable writable attr _variable_ctx: VariableContext + meth variable_ctx: VariableContext do return _variable_ctx.as(not null) + writable attr _variable_ctx: nullable VariableContext # Non-bypassable knowledge about variables names and types - readable writable attr _base_variable_ctx: VariableContext + meth base_variable_ctx: VariableContext do return _base_variable_ctx.as(not null) + writable attr _base_variable_ctx: nullable VariableContext # Current knowledge about escapable blocks readable writable attr _escapable_ctx: EscapableContext = new EscapableContext(self) # The current reciever - readable writable attr _self_var: ParamVariable + meth self_var: ParamVariable do return _self_var.as(not null) + writable attr _self_var: nullable ParamVariable # Block of the current method - readable writable attr _top_block: PExpr + readable writable attr _top_block: nullable PExpr # List of explicit invocation of constructors of super-classes - readable writable attr _explicit_super_init_calls: Array[MMMethod] + readable writable attr _explicit_super_init_calls: nullable Array[MMMethod] # Is a other constructor of the same class invoked - readable writable attr _explicit_other_init_call: Bool + readable writable attr _explicit_other_init_call: Bool = false # Make the if_true_variable_ctx of the expression effective private meth use_if_true_variable_ctx(e: PExpr) @@ -83,7 +86,7 @@ special AbsSyntaxVisitor init(tc, module) do super - private meth get_default_constructor_for(n: PNode, c: MMLocalClass, prop: MMSrcMethod): MMMethod + private meth get_default_constructor_for(n: PNode, c: MMLocalClass, prop: MMSrcMethod): nullable MMMethod do var v = self #var prop = v.local_property @@ -97,7 +100,7 @@ special AbsSyntaxVisitor var gps = gp.signature_for(c.get_type) assert gp isa MMSrcMethod var garity = gps.arity - if prop != null and gp.name == prop.name then + if gp.name == prop.name then if garity == 0 or (parity == garity and prop.signature < gps) then return gp else @@ -159,13 +162,14 @@ redef class AAttrPropdef do super if n_expr != null then - v.check_conform_expr(n_expr, prop.signature.return_type) + v.check_conform_expr(n_expr.as(not null), prop.signature.return_type.as(not null)) end end end redef class AMethPropdef - redef readable attr _self_var: ParamVariable + redef meth self_var do return _self_var.as(not null) + attr _self_var: nullable ParamVariable redef meth accept_typing(v) do v.variable_ctx = new RootVariableContext(v, self) @@ -199,8 +203,8 @@ redef class AConcreteInitPropdef else var i = 0 var l = explicit_super_init_calls.length - var cur_m: MMMethod = null - var cur_c: MMLocalClass = null + var cur_m: nullable MMMethod = null + var cur_c: nullable MMLocalClass = null if i < l then cur_m = explicit_super_init_calls[i] cur_c = cur_m.global.intro.local_class.for_module(v.module) @@ -212,7 +216,7 @@ redef class AConcreteInitPropdef j += 1 else if cur_c != null and (c.cshe <= cur_c or cur_c.global.is_mixin) then if c == cur_c then j += 1 - super_init_calls.add(cur_m) + super_init_calls.add(cur_m.as(not null)) i += 1 if i < l then cur_m = explicit_super_init_calls[i] @@ -236,16 +240,13 @@ end redef class PParam redef meth after_typing(v) do - # TODO: why the test? - if v.variable_ctx != null then - v.variable_ctx.add(variable) - end + v.variable_ctx.add(variable) end end redef class AClosureDecl # The corresponding escapable object - readable attr _escapable: EscapableBlock + readable attr _escapable: nullable EscapableBlock redef meth accept_typing(v) do @@ -257,8 +258,9 @@ redef class AClosureDecl v.base_variable_ctx = v.variable_ctx v.variable_ctx = v.variable_ctx.sub(self) - _escapable = new EscapableClosure(self, variable.closure, null) - v.escapable_ctx.push(_escapable) + var escapable = new EscapableClosure(self, variable.closure, null) + _escapable = escapable + v.escapable_ctx.push(escapable) super @@ -280,7 +282,9 @@ redef class AClosureDecl end redef class PType - readable attr _stype: MMType + meth stype: MMType do return _stype.as(not null) + attr _stype: nullable MMType + redef meth after_typing(v) do _stype = get_stype(v) @@ -300,9 +304,9 @@ redef class PExpr print "{locate}: is_statement" abort end - return _stype + return _stype.as(not null) end - attr _stype: MMType + attr _stype: nullable MMType # Is the expression the implicit receiver meth is_implicit_self: Bool do return false @@ -311,30 +315,33 @@ redef class PExpr meth is_self: Bool do return false # The variable accessed is any - meth its_variable: Variable do return null + meth its_variable: nullable Variable do return null # The variable type information if current boolean expression is true - readable private attr _if_true_variable_ctx: VariableContext + readable private attr _if_true_variable_ctx: nullable VariableContext # The variable type information if current boolean expression is false - readable private attr _if_false_variable_ctx: VariableContext + readable private attr _if_false_variable_ctx: nullable VariableContext end redef class AVardeclExpr + attr _variable: nullable VarVariable + redef meth variable do return _variable.as(not null) + redef meth after_typing(v) do var va = new VarVariable(n_id.to_symbol, self) - variable = va + _variable = va v.variable_ctx.add(va) if n_expr != null then v.variable_ctx.mark_is_set(va) if n_type != null then va.stype = n_type.stype if n_expr != null then - v.check_conform_expr(n_expr, va.stype) + v.check_conform_expr(n_expr.as(not null), va.stype) end else - if not v.check_expr(n_expr) then return + if not v.check_expr(n_expr.as(not null)) then return va.stype = n_expr.stype end _is_typed = true @@ -366,12 +373,13 @@ redef class AReturnExpr do v.variable_ctx.unreash = true var t = v.local_property.signature.return_type - if n_expr == null and t != null then + var e = n_expr + if e == null and t != null then v.error(self, "Error: Return without value in a function.") - else if n_expr != null and t == null then + else if e != null and t == null then v.error(self, "Error: Return with value in a procedure.") - else if n_expr != null and t != null then - v.check_conform_expr(n_expr, t) + else if e != null and t != null then + v.check_conform_expr(e, t) end _is_typed = true end @@ -395,7 +403,7 @@ redef class AContinueExpr else if n_expr != null and t == null then v.error(self, "Error: continue without value required in this block.") else if n_expr != null and t != null then - v.check_conform_expr(n_expr, t) + v.check_conform_expr(n_expr.as(not null), t) end _is_typed = true end @@ -415,7 +423,7 @@ redef class ABreakExpr v.error(self, "Error: break without value required in this block.") else if n_expr != null and bl != null then # Typing check can only be done later - bl.add(n_expr) + bl.add(n_expr.as(not null)) end _is_typed = true end @@ -440,7 +448,7 @@ redef class AIfExpr # Process the 'then' if n_then != null then - v.variable_ctx = v.variable_ctx.sub(n_then) + v.variable_ctx = v.variable_ctx.sub(n_then.as(not null)) v.visit(n_then) end @@ -453,7 +461,7 @@ redef class AIfExpr # Process the 'else' if n_else != null then - v.variable_ctx = v.variable_ctx.sub(n_else) + v.variable_ctx = v.variable_ctx.sub(n_else.as(not null)) v.visit(n_else) end @@ -466,12 +474,13 @@ end redef class AWhileExpr # The corresponding escapable block - readable attr _escapable: EscapableBlock + readable attr _escapable: nullable EscapableBlock redef meth accept_typing(v) do - _escapable = new EscapableBlock(self) - v.escapable_ctx.push(_escapable) + var escapable = new EscapableBlock(self) + _escapable = escapable + v.escapable_ctx.push(escapable) var old_var_ctx = v.variable_ctx var old_base_var_ctx = v.base_variable_ctx v.base_variable_ctx = v.variable_ctx @@ -486,7 +495,7 @@ redef class AWhileExpr # Process inside if n_block != null then - v.variable_ctx = v.variable_ctx.sub(n_block) + v.variable_ctx = v.variable_ctx.sub(n_block.as(not null)) v.visit(n_block) end @@ -498,36 +507,45 @@ redef class AWhileExpr end redef class AForExpr - # The corresponding escapable block - readable attr _escapable: EscapableBlock + attr _variable: nullable AutoVariable + redef meth variable do return _variable.as(not null) - readable attr _meth_iterator: MMMethod - readable attr _meth_is_ok: MMMethod - readable attr _meth_item: MMMethod - readable attr _meth_next: MMMethod + # The corresponding escapable block + readable attr _escapable: nullable EscapableBlock + + attr _meth_iterator: nullable MMMethod + meth meth_iterator: MMMethod do return _meth_iterator.as(not null) + attr _meth_is_ok: nullable MMMethod + meth meth_is_ok: MMMethod do return _meth_is_ok.as(not null) + attr _meth_item: nullable MMMethod + meth meth_item: MMMethod do return _meth_item.as(not null) + attr _meth_next: nullable MMMethod + meth meth_next: MMMethod do return _meth_next.as(not null) redef meth accept_typing(v) do - _escapable = new EscapableBlock(self) - v.escapable_ctx.push(_escapable) + var escapable = new EscapableBlock(self) + _escapable = escapable + v.escapable_ctx.push(escapable) var old_var_ctx = v.variable_ctx var old_base_var_ctx = v.base_variable_ctx v.base_variable_ctx = v.variable_ctx v.variable_ctx = v.variable_ctx.sub(self) var va = new AutoVariable(n_id.to_symbol, self) - variable = va + _variable = va v.variable_ctx.add(va) v.visit(n_expr) if not v.check_conform_expr(n_expr, v.type_collection) then return var expr_type = n_expr.stype + _meth_iterator = expr_type.local_class.select_method(once ("iterator".to_symbol)) if _meth_iterator == null then v.error(self, "Error: Collection MUST have an iterate method") return end - var iter_type = _meth_iterator.signature_for(expr_type).return_type + var iter_type = _meth_iterator.signature_for(expr_type).return_type.as(not null) _meth_is_ok = iter_type.local_class.select_method(once ("is_ok".to_symbol)) if _meth_is_ok == null then v.error(self, "Error: {iter_type} MUST have an is_ok method") @@ -566,6 +584,11 @@ redef class AAssertExpr end end +redef class AVarFormExpr + attr _variable: nullable Variable + redef meth variable do return _variable.as(not null) +end + redef class AVarExpr redef meth its_variable do return variable @@ -598,7 +621,7 @@ redef class AReassignFormExpr # Compute and check method used through the reassigment operator # On success return the static type of the result of the reassigment operator # Else display an error and return null - private meth do_rvalue_typing(v: TypingVisitor, type_lvalue: MMType): MMType + private meth do_rvalue_typing(v: TypingVisitor, type_lvalue: nullable MMType): nullable MMType do if type_lvalue == null then return null @@ -618,7 +641,7 @@ redef class AReassignFormExpr end # Method used through the reassigment operator (once computed) - readable attr _assign_method: MMMethod + readable attr _assign_method: nullable MMMethod end redef class AVarReassignExpr @@ -652,11 +675,14 @@ redef class AMinusAssignOp end redef class ASelfExpr + attr _variable: nullable ParamVariable + redef meth variable do return _variable.as(not null) + redef meth its_variable do return variable redef meth after_typing(v) do - variable = v.self_var + _variable = v.self_var _stype = v.variable_ctx.stype(variable) _is_typed = true end @@ -782,7 +808,8 @@ redef class ACharExpr end redef class AStringFormExpr - readable attr _meth_with_native: MMMethod + attr _meth_with_native: nullable MMMethod + meth meth_with_native: MMMethod do return _meth_with_native.as(not null) redef meth after_typing(v) do _stype = v.type_string @@ -793,17 +820,22 @@ redef class AStringFormExpr end redef class ASuperstringExpr - readable attr _meth_with_capacity: MMMethod - readable attr _meth_add: MMMethod - readable attr _meth_to_s: MMMethod - readable attr _atype: MMType + meth meth_with_capacity: MMMethod do return _meth_with_capacity.as(not null) + attr _meth_with_capacity: nullable MMMethod + meth meth_add: MMMethod do return _meth_add.as(not null) + attr _meth_add: nullable MMMethod + meth meth_to_s: MMMethod do return _meth_to_s.as(not null) + attr _meth_to_s: nullable MMMethod + readable attr _atype: nullable MMType redef meth after_typing(v) do - _stype = v.type_string - _atype = v.type_array(_stype) - _meth_with_capacity = _atype.local_class.select_method(once "with_capacity".to_symbol) + var stype = v.type_string + _stype = stype + var atype = v.type_array(stype) + _atype = atype + _meth_with_capacity = atype.local_class.select_method(once "with_capacity".to_symbol) if _meth_with_capacity == null then v.error(self, "{_atype} MUST have a with_capacity method.") - _meth_add = _atype.local_class.select_method(once "add".to_symbol) + _meth_add = atype.local_class.select_method(once "add".to_symbol) if _meth_add == null then v.error(self, "{_atype} MUST have an add method.") _meth_to_s = v.type_object.local_class.select_method(once "to_s".to_symbol) if _meth_to_s == null then v.error(self, "Object MUST have a to_s method.") @@ -820,14 +852,15 @@ redef class ANullExpr end redef class AArrayExpr - readable attr _meth_with_capacity: MMMethod - readable attr _meth_add: MMMethod + meth meth_with_capacity: MMMethod do return _meth_with_capacity.as(not null) + attr _meth_with_capacity: nullable MMMethod + meth meth_add: MMMethod do return _meth_add.as(not null) + attr _meth_add: nullable MMMethod redef meth after_typing(v) do var stype = v.check_conform_multiexpr(null, n_exprs) - if stype == null then return - do_typing(v, stype) + if stype != null then do_typing(v, stype) end private meth do_typing(v: TypingVisitor, element_type: MMType) @@ -844,7 +877,8 @@ redef class AArrayExpr end redef class ARangeExpr - readable attr _meth_init: MMMethod + meth meth_init: MMMethod do return _meth_init.as(not null) + attr _meth_init: nullable MMMethod redef meth after_typing(v) do if not v.check_expr(n_expr) or not v.check_expr(n_expr2) then return @@ -882,7 +916,7 @@ end redef class ASuperExpr special ASuperInitCall # readable attr _prop: MMSrcMethod - readable attr _init_in_superclass: MMMethod + readable attr _init_in_superclass: nullable MMMethod redef meth after_typing(v) do var precs: Array[MMLocalProperty] = v.local_property.prhe.direct_greaters @@ -909,7 +943,7 @@ special ASuperInitCall _init_in_superclass = p register_super_init_call(v, p) if n_args.length > 0 then - var signature = get_signature(v, v.self_var.stype, p, true) + var signature = get_signature(v, v.self_var.stype.as(not null), p, true) _arguments = process_signature(v, signature, p.name, n_args.to_a) end else @@ -917,19 +951,19 @@ special ASuperInitCall return end - if precs.first.signature_for(v.self_var.stype).return_type != null then + if precs.first.signature_for(v.self_var.stype.as(not null)).return_type != null then var stypes = new Array[MMType] - var stype: MMType = null + var stype: nullable MMType = null for prop in precs do assert prop isa MMMethod - var t = prop.signature_for(v.self_var.stype).return_type.for_module(v.module).adapt_to(v.local_property.signature.recv) + var t = prop.signature_for(v.self_var.stype.as(not null)).return_type.for_module(v.module).adapt_to(v.local_property.signature.recv) stypes.add(t) if stype == null or stype < t then stype = t end end for t in stypes do - v.check_conform(self, t, stype) + v.check_conform(self, t, stype.as(not null)) end _stype = stype end @@ -942,10 +976,10 @@ end redef class AAttrFormExpr # Attribute accessed - readable attr _prop: MMAttribute + readable attr _prop: nullable MMAttribute # Attribute type of the acceded attribute - readable attr _attr_type: MMType + readable attr _attr_type: nullable MMType # Compute the attribute accessed private meth do_typing(v: TypingVisitor) @@ -1017,13 +1051,13 @@ end class AAbsAbsSendExpr special PExpr # The signature of the called property - readable attr _prop_signature: MMSignature + readable attr _prop_signature: nullable MMSignature # The real arguments used (after star transformation) (once computed) - readable attr _arguments: Array[PExpr] + readable attr _arguments: nullable Array[PExpr] # Check the conformity of a set of arguments `raw_args' to a signature. - private meth process_signature(v: TypingVisitor, psig: MMSignature, name: Symbol, raw_args: Array[PExpr]): Array[PExpr] + private meth process_signature(v: TypingVisitor, psig: MMSignature, name: Symbol, raw_args: nullable Array[PExpr]): nullable Array[PExpr] do var par_vararg = psig.vararg_rank var par_arity = psig.arity @@ -1060,7 +1094,7 @@ special PExpr end # Check the conformity of a set of defined closures - private meth process_closures(v: TypingVisitor, psig: MMSignature, name: Symbol, cd: Array[PClosureDef]): MMType + private meth process_closures(v: TypingVisitor, psig: MMSignature, name: Symbol, cd: nullable Array[PClosureDef]): nullable MMType do var t = psig.return_type var cs = psig.closures # Declared closures @@ -1075,7 +1109,7 @@ special PExpr v.error(self, "Error: {name} requires {cs.length} blocks, {cd.length} found.") else # Initialize the break list if a value is required for breaks (ie. if the method is a function) - var break_list: Array[ABreakExpr] = null + var break_list: nullable Array[ABreakExpr] = null if t != null then break_list = new Array[ABreakExpr] # Process each closure definition @@ -1103,12 +1137,11 @@ end class AAbsSendExpr special AAbsAbsSendExpr # Compute the called global property - private meth do_typing(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, recv_is_self: Bool, name: Symbol, raw_args: Array[PExpr], closure_defs: Array[PClosureDef]) + private meth do_typing(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, recv_is_self: Bool, name: Symbol, raw_args: nullable Array[PExpr], closure_defs: nullable Array[PClosureDef]) do var prop = get_property(v, type_recv, is_implicit_self, name) if prop == null then return var sig = get_signature(v, type_recv, prop, recv_is_self) - if sig == null then return var args = process_signature(v, sig, prop.name, raw_args) if args == null then return var rtype = process_closures(v, sig, prop.name, closure_defs) @@ -1119,11 +1152,10 @@ special AAbsAbsSendExpr _return_type = rtype end - private meth get_property(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, name: Symbol): MMMethod + private meth get_property(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, name: Symbol): nullable MMMethod do - if type_recv == null then return null var lc = type_recv.local_class - var prop: MMMethod = null + var prop: nullable MMMethod = null if lc.has_global_property_by_name(name) then prop = lc.select_method(name) if prop == null and v.local_property.global.is_init then var props = type_recv.local_class.super_methods_named(name) @@ -1158,10 +1190,10 @@ special AAbsAbsSendExpr end # The invoked method (once computed) - readable attr _prop: MMMethod + readable attr _prop: nullable MMMethod # The return type (if any) (once computed) - readable attr _return_type: MMType + readable attr _return_type: nullable MMType end # A possible call of constructor in a super class @@ -1174,9 +1206,10 @@ special AAbsSendExpr v.error(self, "Error: Constructor invocation {property} must not be in nested block.") end var cla = v.module[property.global.intro.local_class.global] - var prev_class: MMLocalClass = null - if not v.explicit_super_init_calls.is_empty then - prev_class = v.explicit_super_init_calls.last.global.intro.local_class + var prev_class: nullable MMLocalClass = null + var esic = v.explicit_super_init_calls.as(not null) + if not esic.is_empty then + prev_class = esic.last.global.intro.local_class end var order = v.local_class.cshe.reverse_linear_extension if cla == v.local_class then @@ -1194,7 +1227,7 @@ special AAbsSendExpr if not last_is_found then v.error(self, "Error: Constructor of {c} must be invoked before constructor of {prev_class}") end - v.explicit_super_init_calls.add(property) + esic.add(property) break end end @@ -1207,8 +1240,8 @@ redef class ANewExpr special AAbsSendExpr redef meth after_typing(v) do + if n_type._stype == null then return var t = n_type.stype - if t == null then return if t.local_class.global.is_abstract then v.error(self, "Error: try to instantiate abstract class {t.local_class}.") return @@ -1239,10 +1272,10 @@ special ASuperInitCall meth name: Symbol is abstract # Raw arguments used (withour star transformation) - meth raw_arguments: Array[PExpr] is abstract + meth raw_arguments: nullable Array[PExpr] is abstract # Closure definitions - meth closure_defs: Array[PClosureDef] do return null + meth closure_defs: nullable Array[PClosureDef] do return null redef meth after_typing(v) do @@ -1253,7 +1286,8 @@ special ASuperInitCall do if not v.check_expr(n_expr) then return do_typing(v, n_expr.stype, n_expr.is_implicit_self, n_expr.is_self, name, raw_arguments, closure_defs) - if prop == null then return + if _prop == null then return + var prop = _prop.as(not null) if prop.global.is_init then if not v.local_property.global.is_init then @@ -1273,12 +1307,13 @@ end class ASendReassignExpr special ASendExpr special AReassignFormExpr - readable attr _read_prop: MMMethod + readable attr _read_prop: nullable MMMethod redef meth do_all_typing(v) do if not v.check_expr(n_expr) then return var raw_args = raw_arguments do_typing(v, n_expr.stype, n_expr.is_implicit_self, n_expr.is_self, name, raw_args, null) + var prop = _prop if prop == null then return if prop.global.is_init then if not v.local_property.global.is_init then @@ -1287,7 +1322,7 @@ special AReassignFormExpr v.error(self, "Error: constructor {prop} is not invoken on 'self'.") end end - var t = prop.signature_for(n_expr.stype).return_type + var t = prop.signature_for(n_expr.stype).return_type.as(not null) if not n_expr.is_self then t = t.not_for_self var t2 = do_rvalue_typing(v, t) @@ -1299,7 +1334,6 @@ special AReassignFormExpr raw_args.add(n_value) do_typing(v, n_expr.stype, n_expr.is_implicit_self, n_expr.is_self, "{name}=".to_symbol, raw_args, null) - if prop == null then return if prop.global.is_init then if not v.local_property.global.is_init then v.error(self, "Error: try to invoke constructor {prop} in a method.") @@ -1407,14 +1441,14 @@ end redef class ACallFormExpr redef meth after_typing(v) do - if n_expr != null and n_expr.is_implicit_self then + if n_expr.is_implicit_self then var name = n_id.to_symbol var variable = v.variable_ctx[name] if variable != null then if variable isa ClosureVariable then var n = new AClosureCallExpr.init_aclosurecallexpr(n_id, n_args, n_closure_defs) replace_with(n) - n.variable = variable + n._variable = variable n.after_typing(v) return else @@ -1423,7 +1457,7 @@ redef class ACallFormExpr return end var vform = variable_create(variable) - vform.variable = variable + vform._variable = variable replace_with(vform) vform.after_typing(v) return @@ -1436,7 +1470,7 @@ redef class ACallFormExpr redef meth closure_defs do - if n_closure_defs == null or n_closure_defs.is_empty then + if n_closure_defs.is_empty then return null else return n_closure_defs.to_a @@ -1509,6 +1543,9 @@ end redef class AClosureCallExpr special AAbsAbsSendExpr + attr _variable: nullable ClosureVariable + redef meth variable do return _variable.as(not null) + redef meth after_typing(v) do var va = variable @@ -1527,10 +1564,13 @@ special AAbsAbsSendExpr end redef class PClosureDef + attr _closure: nullable MMClosure + redef meth closure do return _closure.as(not null) + # The corresponding escapable object - readable attr _escapable: EscapableBlock + readable attr _escapable: nullable EscapableBlock - attr _accept_typing2: Bool + attr _accept_typing2: Bool = false redef meth accept_typing(v) do # Typing is deferred, wait accept_typing2(v) @@ -1551,7 +1591,7 @@ redef class AClosureDef return end - closure = esc.closure + _closure = esc.closure var old_var_ctx = v.variable_ctx var old_base_var_ctx = v.base_variable_ctx diff --git a/tests/base_eq.nit b/tests/base_eq.nit index 20d0306..0b0a618 100644 --- a/tests/base_eq.nit +++ b/tests/base_eq.nit @@ -27,7 +27,7 @@ end class B special A - redef meth ==(a: Object): Bool + redef meth ==(a: nullable Object): Bool do if not a isa B then return false diff --git a/tests/test_kernel.nit b/tests/test_kernel.nit index 7dde9d5..2d48bd9 100644 --- a/tests/test_kernel.nit +++ b/tests/test_kernel.nit @@ -22,7 +22,7 @@ class Foo 10.output end - redef meth ==(o: Object): Bool + redef meth ==(o: nullable Object): Bool do return true end diff --git a/tests/test_operators.nit b/tests/test_operators.nit index c0b974d..2a2a403 100644 --- a/tests/test_operators.nit +++ b/tests/test_operators.nit @@ -46,7 +46,7 @@ class A 5.output return self end - redef meth ==(a: Object): Bool + redef meth ==(a: nullable Object): Bool do 7.output return true diff --git a/tests/test_print.nit b/tests/test_print.nit index eac89d2..3045dd8 100644 --- a/tests/test_print.nit +++ b/tests/test_print.nit @@ -20,5 +20,5 @@ print('1') print("1") print(true) print(false) -print(null) +print("") print(["1"]) -- 1.7.9.5