Merge branch 'pu/parameter-names' into wip
authorJean Privat <jean@pryen.org>
Wed, 12 Oct 2011 20:34:13 +0000 (16:34 -0400)
committerJean Privat <jean@pryen.org>
Thu, 13 Oct 2011 00:21:59 +0000 (20:21 -0400)
Conflicts:
src/syntax/mmbuilder.nit
tests/sav/base_init_linext2_alt2.sav
tests/sav/base_init_linext2_alt4.sav
tests/sav/base_for_custom_alt3.sav
tests/sav/base_for_custom_alt4.sav
tests/sav/test_parser_args1.sav
tests/sav/test_parser_args2.sav

319 files changed:
Changelog
VERSION
bin/gccx
clib/gc.c
doc/developpez/modules/modules.tex
doc/developpez/nit.tex
doc/developpez/poo/listings/abstract1_c.nit
doc/developpez/poo/listings/abstract2_c.nit
doc/developpez/poo/listings/polymorphisme_c.nit
doc/developpez/poo/listings/type3_s.nit
doc/developpez/poo/listings/type6_s.nit
doc/developpez/poo/poo.tex
doc/developpez/presentation/presentation.tex
doc/developpez/syntaxe/syntaxe.tex
doc/nitreference/nitreference-main.tex
examples/README
examples/int_stack.nit [new file with mode: 0644]
lib/standard/string_search.nit
src/compiling/compiling.nit
src/compiling/compiling_global.nit
src/compiling/compiling_icode.nit
src/location.nit
src/metamodel/static_type.nit
src/mmloader.nit
src/parser/lexer.nit
src/parser/nit.sablecc3xx
src/parser/parser.nit
src/parser/parser_abs.nit
src/parser/parser_nodes.nit
src/parser/parser_prod.nit
src/parser/tables_nit.c
src/parser/xss/lexer.xss
src/parser/xss/parser.xss
src/syntax/icode_generation.nit
src/syntax/mmbuilder.nit
src/syntax/syntax.nit
src/syntax/syntax_base.nit
src/syntax/typing.nit
src/test_parser.nit [moved from src/parser/test_parser.nit with 91% similarity]
tests/Makefile
tests/base_attr7.nit [new file with mode: 0644]
tests/base_for_custom.nit [new file with mode: 0644]
tests/base_upcast.nit [new file with mode: 0644]
tests/base_upcast2.nit [new file with mode: 0644]
tests/error_class_generic.nit [new file with mode: 0644]
tests/error_inh_loop.nit
tests/error_redef.nit [new file with mode: 0644]
tests/error_redef2.nit [new file with mode: 0644]
tests/error_signature.nit [new file with mode: 0644]
tests/error_type_unk.nit [new file with mode: 0644]
tests/sav/base_attr5_alt1.sav
tests/sav/base_attr5_alt11.sav
tests/sav/base_attr5_alt12.sav
tests/sav/base_attr5_alt13.sav
tests/sav/base_attr5_alt14.sav
tests/sav/base_attr5_alt16.sav
tests/sav/base_attr5_alt21.sav
tests/sav/base_attr5_alt22.sav
tests/sav/base_attr5_alt23.sav
tests/sav/base_attr5_alt24.sav
tests/sav/base_attr5_alt25.sav
tests/sav/base_attr5_alt3.sav
tests/sav/base_attr5_alt5.sav
tests/sav/base_attr5_alt6.sav
tests/sav/base_attr7.sav [new file with mode: 0644]
tests/sav/base_attr7_alt1.sav [new file with mode: 0644]
tests/sav/base_attr7_alt2.sav [new file with mode: 0644]
tests/sav/base_attr7_alt3.sav [new file with mode: 0644]
tests/sav/base_control_flow_alt1.sav
tests/sav/base_for_custom.sav [new file with mode: 0644]
tests/sav/base_for_custom_alt1.sav [new file with mode: 0644]
tests/sav/base_for_custom_alt2.sav [new file with mode: 0644]
tests/sav/base_for_custom_alt3.sav [new file with mode: 0644]
tests/sav/base_for_custom_alt4.sav [new file with mode: 0644]
tests/sav/base_for_custom_alt5.sav [new file with mode: 0644]
tests/sav/base_init_inherit2_alt3.sav
tests/sav/base_init_inherit3.sav
tests/sav/base_init_linext2_alt2.sav
tests/sav/base_init_linext2_alt4.sav
tests/sav/base_init_simple_alt1.sav
tests/sav/base_upcast.sav [new file with mode: 0644]
tests/sav/base_upcast2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt10.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt6.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt7.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt8.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt1_alt9.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt10.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt6.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt7.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt8.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt2_alt9.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt10.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt6.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt7.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt8.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt3_alt9.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt10.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt6.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt7.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt8.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt4_alt9.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt10.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt6.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt7.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt8.sav [new file with mode: 0644]
tests/sav/base_upcast2_1alt5_alt9.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt1.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt10.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt2.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt3.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt4.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt5.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt6.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt7.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt8.sav [new file with mode: 0644]
tests/sav/base_upcast2_alt9.sav [new file with mode: 0644]
tests/sav/base_upcast_alt1.sav [new file with mode: 0644]
tests/sav/error_attr_2def.sav
tests/sav/error_class_generic.sav [new file with mode: 0644]
tests/sav/error_class_generic_alt1.sav [new file with mode: 0644]
tests/sav/error_class_generic_alt2.sav [new file with mode: 0644]
tests/sav/error_class_generic_alt3.sav [new file with mode: 0644]
tests/sav/error_class_generic_alt4.sav [new file with mode: 0644]
tests/sav/error_class_generic_alt5.sav [new file with mode: 0644]
tests/sav/error_class_generic_alt6.sav [new file with mode: 0644]
tests/sav/error_cons_arity.sav
tests/sav/error_cons_arity2.sav
tests/sav/error_constraint.sav
tests/sav/error_defs_alt1.sav
tests/sav/error_defs_alt2.sav
tests/sav/error_defs_alt3.sav
tests/sav/error_defs_alt4.sav
tests/sav/error_defs_alt5.sav
tests/sav/error_defs_alt6.sav
tests/sav/error_defs_alt7.sav
tests/sav/error_defs_alt8.sav
tests/sav/error_expr_not_ok.sav
tests/sav/error_expr_not_ok_alt2.sav
tests/sav/error_expr_not_ok_alt3.sav
tests/sav/error_expr_not_ok_alt4.sav
tests/sav/error_expr_not_ok_alt5.sav
tests/sav/error_expr_not_ok_alt6.sav
tests/sav/error_for_coll.sav
tests/sav/error_fun_ret.sav
tests/sav/error_fun_ret2.sav
tests/sav/error_fun_ret3.sav
tests/sav/error_fun_ret4.sav
tests/sav/error_fun_ret5.sav
tests/sav/error_kern_attr_any.sav
tests/sav/error_kern_attr_int.sav
tests/sav/error_meth_2def.sav
tests/sav/error_meth_2def2.sav
tests/sav/error_needed_types_alt8.sav
tests/sav/error_redef.sav [new file with mode: 0644]
tests/sav/error_redef2.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt1.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt2.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt3.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt4.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt5.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt6.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt7.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt8.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt1_alt9.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt1.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt2.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt3.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt4.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt5.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt6.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt7.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt8.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt2_alt9.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt1.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt2.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt3.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt4.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt5.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt6.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt7.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt8.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt3_alt9.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt1.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt2.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt3.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt4.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt5.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt6.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt7.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt8.sav [new file with mode: 0644]
tests/sav/error_redef2_1alt4_alt9.sav [new file with mode: 0644]
tests/sav/error_redef2_alt1.sav [new file with mode: 0644]
tests/sav/error_redef2_alt2.sav [new file with mode: 0644]
tests/sav/error_redef2_alt3.sav [new file with mode: 0644]
tests/sav/error_redef2_alt4.sav [new file with mode: 0644]
tests/sav/error_redef2_alt5.sav [new file with mode: 0644]
tests/sav/error_redef2_alt6.sav [new file with mode: 0644]
tests/sav/error_redef2_alt7.sav [new file with mode: 0644]
tests/sav/error_redef2_alt8.sav [new file with mode: 0644]
tests/sav/error_redef2_alt9.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt1.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt2.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt3.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt4.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt5.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt6.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt7.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt8.sav [new file with mode: 0644]
tests/sav/error_redef_1alt1_alt9.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt1.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt2.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt3.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt4.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt5.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt6.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt7.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt8.sav [new file with mode: 0644]
tests/sav/error_redef_1alt2_alt9.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt1.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt2.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt3.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt4.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt5.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt6.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt7.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt8.sav [new file with mode: 0644]
tests/sav/error_redef_1alt3_alt9.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt1.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt2.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt3.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt4.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt5.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt6.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt7.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt8.sav [new file with mode: 0644]
tests/sav/error_redef_1alt4_alt9.sav [new file with mode: 0644]
tests/sav/error_redef_alt1.sav [new file with mode: 0644]
tests/sav/error_redef_alt2.sav [new file with mode: 0644]
tests/sav/error_redef_alt3.sav [new file with mode: 0644]
tests/sav/error_redef_alt4.sav [new file with mode: 0644]
tests/sav/error_redef_alt5.sav [new file with mode: 0644]
tests/sav/error_redef_alt6.sav [new file with mode: 0644]
tests/sav/error_redef_alt7.sav [new file with mode: 0644]
tests/sav/error_redef_alt8.sav [new file with mode: 0644]
tests/sav/error_redef_alt9.sav [new file with mode: 0644]
tests/sav/error_ref_attr.sav
tests/sav/error_ref_fun.sav
tests/sav/error_ref_param.sav
tests/sav/error_ref_proc.sav
tests/sav/error_ref_ret.sav
tests/sav/error_signature.sav [new file with mode: 0644]
tests/sav/error_spe_attr.sav
tests/sav/error_spe_fun.sav
tests/sav/error_spe_param.sav
tests/sav/error_spe_param2.sav
tests/sav/error_spe_proc.sav
tests/sav/error_spe_ret.sav
tests/sav/error_type_unk.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt1.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt2.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt3.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt4.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt5.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt6.sav [new file with mode: 0644]
tests/sav/error_type_unk_alt7.sav [new file with mode: 0644]
tests/sav/int_stack.sav [new file with mode: 0644]
tests/sav/nitc.sav
tests/sav/nitdoc.sav
tests/sav/test_multiconstraint.sav
tests/sav/test_multiconstraint_inh.sav
tests/sav/test_multiconstraint_ref.sav
tests/sav/test_multiconstraint_ref2.sav
tests/sav/test_paire.fail
tests/sav/test_parser.sav [new file with mode: 0644]
tests/sav/test_parser_args1.sav [new file with mode: 0644]
tests/sav/test_parser_args2.sav [new file with mode: 0644]
tests/test_parser.args [new file with mode: 0644]
tests/test_variance_param.nit
tests/test_variance_ret.nit
tests/tests.sh

index da6c23d..cb31d6f 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,6 @@
+version 0.4.1-git
+ * Devel version
+
 version 0.4
  * New style attributes
  * Documentation
diff --git a/VERSION b/VERSION
index 1811f96..9833c4c 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-v0.4
+v0.4.1-git
index ef8af1f..4ec4d8c 100755 (executable)
--- a/bin/gccx
+++ b/bin/gccx
@@ -19,7 +19,7 @@
 
 OPTS="-g" # option for compiler call
 objs="" # List of .o files
-CC="gcc --ansi --pedantic -Wall -Wextra -Wformat-security -Wcast-align -Wno-uninitialized -Wno-unused-variable -Wno-unused-label -Wno-unused-parameter -Wno-missing-field-initializers" # Default compiler call
+CC="gcc --ansi --pedantic -Wall -Wextra -Wformat-security -Wcast-align -Wno-uninitialized -Wno-unused-variable -Wno-unused-label -Wno-unused-parameter -Wno-missing-field-initializers -Wno-array-bounds -Wno-unused-but-set-variable" # Default compiler call
 ext="_savo _sav" # Default flavor to reuse
 out="a.out"  # Default output binary filename
 dir="" # Default tmp dir
index 8f65664..19f2d9e 100644 (file)
--- a/clib/gc.c
+++ b/clib/gc.c
@@ -80,7 +80,6 @@ static val_t GC_evacuation(obj_t object) {
        bigint objectSize;
        val_t newAdress;
        Nit_NativeArray array;
-       BOX_struct box;
 
        assert(ISOBJ(object) && !ISNULL(object));
        if (GET_MARKBIT(object) != (bigint)0) {
@@ -92,7 +91,6 @@ static val_t GC_evacuation(obj_t object) {
                        array = (Nit_NativeArray)object;
                        size = sizeof(struct Nit_NativeArray) + ((array->size - 1) * sizeof(val_t));
                } else if (OBJ_IS_BOX(object)) {
-                       box = (BOX_struct)object;
                        size = sizeof(struct TBOX_struct);
                } else {
                        objectSize = (bigint)((object)[0].vft[1].i);
index f0c9342..d08ad2a 100644 (file)
@@ -1,20 +1,20 @@
 \part{Modules de la bibliothèque standard Nit}
 
 \chapter{Kernel}
-Le module |kernel| est Ã  la base de toute la hiérarchie objet de Nit, c'est donc un module de base. Par exemple, il contient les classes fondamentales tel que |Bool|, |Char|, |Float|, |Int|, |Object|...
+Le module |kernel| est Ã  la base de toute la hiérarchie objet de Nit, c'est donc un module de base. Par exemple, il contient les classes fondamentales telles que |Bool|, |Char|, |Float|, |Int|, |Object|...
 
 Faisons un tour rapide des classes principales du module |kernel| :
 \begin{description}
     \item[Object]C'est la super classe implicite de toutes les classes en Nit : toutes ces méthodes sont donc héritées par toutes les classes.
     \item[Bool]Représente les booléens. Les seules instances possibles de cette classe sont |true| et |false|. Les booléens sont souvent utilisés dans les branchements conditionnels et les boucles.
     \item[Char]Représente les caractères.
-    \item[Comparable]C'est l'ancêtre de toutes les classes qui peuvent Ãªtre comparés selon un ordre total.
+    \item[Comparable]C'est l'ancêtre de toutes les classes dont les instances peuvent Ãªtre comparées selon un ordre total.
     \item[Discrete]L'ancêtre de toutes les classes représentant des ensembles dénombrables comme les entiers ou l'alphabet.
     \item[Float]Représente les nombres Ã  virgule flottante.
     \item[Int]Représente les nombres entiers.
 \end{description}
 
-Les classes du module |kernel| sont fréquemment raffinées dans les autres modules de la librairie standard.
+Les classes du module |kernel| sont fréquemment raffinées dans les autres modules de la bibliothèque standard.
 
 \chapter{String}
 Ce module introduit les classes permettant de manipuler les chaînes de caractères.
@@ -24,14 +24,14 @@ La classe principale du module string est |String|.
 Le module string raffine les classes |Array|, |Collection|, |Float|, |Int|, |Map| et |Object| pour y rajouter la méthode |to_s|.
 
 \chapter{Maths}
-Le module math raffine les classes Object, Int et Float pour y rajouter une série de méthodes en rapport avec les mathématiques. Elle est automatiquement importée avec la libraire standard.
+Le module math raffine les classes Object, Int et Float pour y rajouter une série de méthodes en rapport avec les mathématiques. Elle est automatiquement importée avec la bibliothèque standard.
 
 \section{Variables mathématiques}
 Le module math raffine la classes Object pour lui rajouter la méthode |pi| (3.141592) :
 \lstinputlisting[language=Nit]{./modules/listings/pi1_c.nit}
 
 \section{Fonctions trigonométriques}
-Les méthodes sin(), cos(), tan(), asin(), acos(), atan() permettent d'effectuer les opérations trigonométriques.Les angles doivent Ãªtre exprimés en radians. Pour convertir des degrés en radian, il suffit de les multiplier par pi/180.
+Les méthodes sin(), cos(), tan(), asin(), acos(), atan() permettent d'effectuer les opérations trigonométriques. Les angles doivent Ãªtre exprimés en radians. Pour convertir des degrés en radian, il suffit de les multiplier par pi/180.
 
 Exemple :
 \lstinputlisting[language=Nit]{./modules/listings/cos1_c.nit}
@@ -49,7 +49,7 @@ Les collections sont bas
 
 \section{Interfaces des collections}
 \subsection{Interface Collection}
-Cette interface définit des méthodes pour des objets qui gèrent des Ã©léments d'une façon assez générale. Elle est la super interface de plusieurs interfaces de la libraire standard. Plusieurs classes qui gèrent une collection implémentent une interface qui hérite de l'interface Collection.
+Cette interface définit des méthodes pour des objets qui gèrent des Ã©léments d'une façon assez générale. Elle est la super interface de plusieurs interfaces de la bibliothèque standard. Plusieurs classes qui gèrent une collection implémentent une interface qui hérite de l'interface Collection.
 
 Cette interface définit plusieurs méthodes :
 
@@ -122,7 +122,7 @@ Cette interface introduit des m
 \end{tabularx}
 
 \section{Séquences}
-Les séquences sont des collections indexées et ordonnées. La notion d'index est importante, elle précise que chaque valeur est associé Ã  une sorte d'étiquette numérique permettant de la retrouver. L'ordre de la séquence est donc induit par l'ordre des Ã©tiquettes.
+Les séquences sont des collections indexées et ordonnées. La notion d'index est importante, elle précise que chaque valeur est associée Ã  une sorte d'étiquette numérique permettant de la retrouver. L'ordre de la séquence est donc induit par l'ordre des Ã©tiquettes.
 
 L'interface Sequence introduit les méthodes suivantes :
 
@@ -134,11 +134,11 @@ L'interface Sequence introduit les m
     \hline
     first:E & Retourne le premier Ã©lément de la séquence. \\
     \hline
-    first=(E) & Définie le premier Ã©lément de la séquence. \\
+    first=(E) & Définit le premier Ã©lément de la séquence. \\
     \hline
     last:E & Retourne le dernier Ã©lément de la séquence. \\
     \hline    
-    last=(E) & Définie le dernier Ã©lément de la séquence. \\
+    last=(E) & Définit le dernier Ã©lément de la séquence. \\
     \hline
     pop:E & Retourne et retire le dernier Ã©lément de la séquence. \\
     \hline
@@ -161,9 +161,9 @@ Voici un exemple d'utilisation d'une liste :
 \lstinputlisting[language=Nit]{./modules/listings/list1_c.nit}
 
 \subsection{Tableaux}
-Les tableaux représentent des collections d'objets dont la taille est dynamique. Les tableaux sont gérées grâce Ã  la classe Array.
+Les tableaux représentent des collections d'objets dont la taille est dynamique. Les tableaux sont gérés grâce Ã  la classe Array.
 
-Chaque objet de type Array gère une capacité qui est le nombre total d'élément qu'il est possible d'insérer avant d'agrandir le tableau. Cette capacité a donc une relation avec le nombre d'éléments contenus dans la collection. Lors d'un ajout dans la collection, cette capacité et le nombre d'éléments de la collection déterminent si le tableau doit Ãªtre agrandi. Si un nombre important d'élément doit Ãªtre ajouté, il est possible de forcer l'agrandissement de cette capacité avec la méthode |enlarge|. Son usage Ã©vite une perte de temps liée au recalcul de la taille de la collection. 
+Chaque objet de type Array gère une capacité qui est le nombre total d'éléments qu'il est possible d'insérer avant d'agrandir le tableau. Cette capacité a donc une relation avec le nombre d'éléments contenus dans la collection. Lors d'un ajout dans la collection, cette capacité et le nombre d'éléments de la collection déterminent si le tableau doit Ãªtre agrandi. Si un nombre important d'éléments doit Ãªtre ajouté, il est possible de forcer l'agrandissement de cette capacité avec la méthode |enlarge|. Son usage Ã©vite une perte de temps liée au recalcul de la taille de la collection. 
 
 Exemple :
 \lstinputlisting[language=Nit]{./modules/listings/array1_c.nit}
@@ -172,9 +172,9 @@ Un constructeur permet de pr
 \lstinputlisting[language=Nit]{./modules/listings/array2_c.nit}
 
 \section{Ensembles}
-Un ensemble (Set) est une collection qui n'autorise pas l'insertion de doublons.
+Un ensemble (Set) est une collection qui n'autorise pas la présence de doublons.
 
-L'interface Set définit les méthodes d'une collection qui n'accepte pas de doublons dans ces Ã©léments. Elle hérite de l'interface Collection mais elle ne définie pas de nouvelle méthode. Pour déterminer si un Ã©lément est déjà inséré dans la collection, la comparaison est basée sur les valeurs des Ã©léments. 
+L'interface Set définit les méthodes d'une collection qui n'accepte pas de doublons dans ces Ã©léments. Elle hérite de l'interface Collection mais elle ne définit pas de nouvelle méthode. Pour déterminer si un Ã©lément est déjà présent dans la collection, la comparaison est basée sur les valeurs des Ã©léments. 
 
 L'interface Set possède deux implémentations concrètes : 
 
index e3033a7..d90f7a2 100644 (file)
@@ -1,10 +1,9 @@
 \documentclass[letterpaper,11pt]{doc_nit}
-\usepackage{../nit_version}
  
 % Titre du document et auteur
 \title{Développez en Nit}
 \author{Université du Québec Ã  Montréal}
-\date{\today\\\nitversion}
+\date{v0.5}
 
 % Début du document
 \begin{document}
@@ -67,4 +66,4 @@ La version la plus r
 \input{./licence.tex}
 
 % Fin du document
-\end{document}
+\end{document}
\ No newline at end of file
index f4769b6..9dc5bcf 100644 (file)
@@ -6,7 +6,7 @@ abstract class ClasseAbstraite
 end
 
 class ClasseComplete
-special ClasseAbstraite
+       super ClasseAbstraite
 end
 
 var o = new ClasseComplete
index 781b2b4..5fbd61c 100644 (file)
@@ -3,7 +3,7 @@ class MaClasse
 end
 
 class MonAutreClasse
-special MaClasse
+       super MaClasse
        redef fun methode(i: Int): Int 
        do
                return i
index 60811f1..3aca530 100644 (file)
@@ -28,8 +28,16 @@ class Cercle
                rayon = r
        end
 
-       redef fun aire: Float 
+       redef fun aire: Float 
        do
                return  pi * rayon * rayon
        end
 end
+
+var forme: Forme
+
+forme = new Carre(10.0)
+print forme.aire # Affiche "100"
+
+forme = new Cercle(10.0)
+print forme.aire # Affiche "314.15"
index 607eb81..9ace3cd 100644 (file)
@@ -1,3 +1,3 @@
-class XMLDocument special Graph end
+class XMLDocument super Graph end
 
-class XMLNode special Node end
+class XMLNode super Node end
index 69fec03..25acb5d 100644 (file)
@@ -12,12 +12,12 @@ end
 class Node end
 
 class XMLDocument 
-       special Graph 
+       super Graph 
 
        redef type NODE: XMLNode
 end
 
-class XMLNode special Node end
+class XMLNode super Node end
 
 var doc = new XMLDocument
 
index 34d57b9..b5e11bb 100644 (file)
@@ -2,17 +2,17 @@
 \chapter{Concept de classe}\r
 L'idée de base de la programmation orientée objet est de rassembler dans une même entité les données et les traitements qui s'y appliquent. Dans cette partie, nous allons voir comment Nit permet de développer en objet.\r
 \r
-Une classe est le support de l'encapsulation : c'est un ensemble de données et de fonction regroupées dans une même entité. Une classe est une description abstraite d'un objet. Les fonctions qui opèrent sur les données sont appelées des méthodes. Les données en elles-mêmes sont appelées des attributs. Les attributs et les méthodes représentent les propriétés de la classe. Instancier une classe consiste Ã  créer un objet sur son modèle.\r
+Une classe est le support de l'encapsulation : c'est un ensemble de données et de fonction regroupées dans une même entité. Une classe est une description abstraite d'un ensemble d'objet ayant des propriétés communes. Les fonctions qui opèrent sur les données sont appelées des méthodes. Les données en elles-mêmes sont appelées des attributs. Les attributs et les méthodes représentent les propriétés de la classe.\r
 \r
 Rappelons qu'en Nit absolument TOUT est objet.\r
 \r
 Pour accéder Ã  une classe il faut en déclarer une instance ou objet.\r
 \r
-Une classe se compose en deux parties : un en-tête et un corps. Le corps peut Ãªtre divisé en deux sections : la déclaration de ses propriétés (attributs et la définition des méthodes. Les méthodes et les données sont pourvues d'attributs de visibilité qui gère leur accessibilité par les composants hors de la classe.\r
+Une classe se compose de deux parties : un en-tête et un corps. Le corps peut Ãªtre divisé en deux sections : la déclaration de ses propriétés (attributs) et la définition des méthodes. Les méthodes et les données sont pourvues d'attributs de visibilité qui gèrent leur accessibilité par les composants hors de la classe.\r
 \r
 Une classe comporte donc sa déclaration, des attributs et la définition de ses méthodes.\r
 \r
-En Nit, toutes les classes héritent forcément de la classe |Object|. Cette relation d'héritage est implicite, c'est Ã  dire qu'il n'y a pas besoin de la déclarer.\r
+En Nit, toutes les classes héritent forcément de la classe |Object|. Cette relation d'héritage est implicite, c'est Ã  dire qu'il n'est pas nécessaire de la déclarer.\r
 \r
 \section{Syntaxe et déclaration d'une classe}\r
 La syntaxe de déclaration d'un classe est la suivante :\r
@@ -33,7 +33,7 @@ Le mot cl
 L'ordre des méthodes dans une classe n'a pas d'importance. Si dans une classe, on rencontre d'abord la méthode A puis la méthode B, B peut Ãªtre appelée sans problème dans A.\r
 \r
 \chapter{Objets}\r
-La classe est la description d'un objet. Un objet est une instance d'une classe. Pour chaque instance d'une classe, le code est le même, seules les données (valeurs des attributs) sont différentes Ã  chaque objet.\r
+La classe est la description d'un objet. Un objet est une instance d'une classe. Pour chaque instance d'une classe, le code est le même, seules les données (valeurs des attributs) sont différentes pour chaque objet.\r
 \r
 \section{Instancier une classe : créer un objet}\r
 L'opérateur |new| se charge de créer une nouvelle instance d'une classe et de l'associer Ã  une variable.\r
@@ -44,7 +44,7 @@ Exemple :
 Cela n'est pas obligatoire grâce au typage adaptatif (voir chapitre~\ref{typage-adaptatif} \nameref{typage-adaptatif}) mais on peut aussi préciser le type sur la variable qui va recevoir l'instance :\r
 \lstinputlisting[language=Nit]{./poo/listings/new2_s.nit}\r
 \r
-En Nit, toutes les classes sont instanciées par allocation dynamique Ã  part les types universels (voir chapitre~\ref{universal} \nameref{universal}). Dans l'exemple précédent, la variable |instance| contient une référence sur la classe instanciée (contient l'adresse de l'objet qu'elle désigne : attention toutefois, il n'est pas possible de manipuler ou d'effectuer des opérations directement sur cette adresse comme en C).\r
+En Nit, toutes les classes sont instanciées par allocation dynamique Ã  part les types universels (voir chapitre~\ref{universal} \nameref{universal}). Dans l'exemple précédent, la variable |instance| contient une référence sur un objet de la classe instanciée (contient l'adresse de l'objet qu'elle désigne : attention toutefois, il n'est pas possible de manipuler ou d'effectuer des opérations directement sur cette adresse comme en C).\r
 \r
 \lstinputlisting[language=Nit]{./poo/listings/new3_s.nit}\r
 \r
@@ -61,30 +61,32 @@ La dur
 \end{description}\r
 \r
 \section{Références et comparaison d'objets}\r
-Les variables de  type objet que l'on déclare ne contiennent pas un objet mais une référence vers cet objet. Lorsque l'on Ã©crit |instance1 = instance2|, on copie la référence |instance1| dans |instance2| : |instance1| et |instance2| pointent sur le même objet. Par défaut, l'opérateur |==| permet de comparer ces références. Deux objets avec des propriétés identiques sont deux objets distincts.\r
+Les variables de  type objet que l'on déclare ne contiennent pas un objet mais une référence vers cet objet. Lorsque l'on Ã©crit |instance1 = instance2|, on copie la référence |instance1| dans |instance2| : |instance1| et |instance2| pointent sur le même objet. Par défaut, l'opérateur |==| est celui de la classe |Object| et permet de comparer ces références. Deux objets avec des propriétés identiques sont deux objets distincts.\r
 \r
 \lstinputlisting[language=Nit]{./poo/listings/comparaison1_s.nit}\r
 Si on souhaite comparer deux objets en se basant sur la valeur de leurs attributs, il est possible de redéfinir l'opérateur |==| dans leur classe (voir section~\ref{redef-operateur} \nameref{redef-operateur}).\r
 \r
-Par exemple, l'opérateur |==| a Ã©té redéfinit pour la classe String il est donc possible de comparer deux String en se basant sur leurs valeurs :\r
+Par exemple, l'opérateur |==| a Ã©té redéfini pour la classe String il est donc possible de comparer deux String en se basant sur leurs valeurs :\r
 \lstinputlisting[language=Nit, linerange=1-5]{./poo/listings/comparaison2_c.nit}\r
 \r
-Il est possible de comparer le type de deux objets, c'est Ã  dire de vérifier si deux objets sont de la même classe ou non. Pour cela nous allons utiliser la méthode |is_same_type(o:Object)|. Cette méthode est introduite dans la classe |Object|, comme toutes les classes en héritent implicitement, elle est disponible dans toutes les classes.\r
+Il est possible de comparer le type de deux objets, c'est Ã  dire de vérifier si deux objets sont de la même classe ou non. Pour cela il faut utiliser la méthode |is_same_type(o:Object)|. Cette méthode est introduite dans la classe |Object|, comme toutes les classes en héritent implicitement, elle est disponible dans toutes les classes.\r
 \r
 \lstinputlisting[language=Nit, linerange=8-9, firstnumber=last]{./poo/listings/comparaison2_c.nit}\r
 \r
 Pour vérifier que deux variables sont en fait des références vers le même objet, il est possible d'utiliser le mot-clé |is| :\r
-\lstinputlisting[language=Nit, linerange=6, firstnumber=last]{./poo/listings/comparaison2_c.nit}\r
+\lstinputlisting[language=Nit, linerange=6-6, firstnumber=last]{./poo/listings/comparaison2_c.nit}\r
 \r
-\section{Objet null}\r
-En Nit, il existe une particularité pour l'objet |null|. Contrairement Ã  Java il ne peut pas Ãªtre utilisé Ã  la place de n'importe où. En effet, Nit propose un mécanisme permettant de limiter statiquement les erreurs fréquentes de type |nullPointerException|.\r
+\section{Types nullable}\r
+En Nit, il existe une particularité pour la valeur |null|. Contrairement Ã  Java il ne peut pas Ãªtre utilisé n'importe où. En effet, Nit propose un mécanisme permettant de limiter statiquement les erreurs fréquentes de type |nullPointerException|.\r
 \r
 Pour qu'une variable puisse prendre la valeur |null|, elle doit avoir Ã©té déclarée explicitement avec le type |nullable| :\r
 \lstinputlisting[language=Nit]{./poo/listings/nullable1_c.nit}\r
 Dans l'exemple précédent, si on omet de préciser le type comme |nullable|, le compilateur Nit lèvera une erreur au moment de la compilation.\r
 \r
+La valeur |null| peut donc Ãªtre utilisée avec n'importe quel type \textit{nullable} mais aucun message ne peut Ãªtre envoyé Ã  |null|.\r
+\r
 \chapter{Modificateurs d'accès}\r
-Les modificateurs d'accès assurent le contrôle des conditions d'héritage, d'accès aux Ã©léments et de modification de données par les autres classes. Ils s'appliquent aussi bien aux classes, qu'aux méthodes et attributs.\r
+Les modificateurs d'accès assurent le contrôle des conditions d'héritage, d'accès aux Ã©léments et de modification de données par les autres classes. Ils s'appliquent aussi bien aux classes qu'aux méthodes et attributs.\r
 \r
 \section{Visibilité des entités}\r
 De nombreux langages orientés objet introduisent des attributs de visibilité pour réglementer l'accès aux classes et aux objets, aux méthodes et aux données.\r
@@ -93,8 +95,8 @@ Il existe 2 modificateurs qui peuvent 
 \r
 %TODO reformuler\r
 \begin{description}\r
-    \item[Par défaut : public] Il n'existe pas de mot clé pour définir ce niveau, qui est le niveau par défaut lorsqu'aucun modificateur n'est précisé. Un attribut ou une méthode déclaré public est visible par tous les autres objets. Dans la philosophie orientée objet aucun attribut ne devrait Ãªtre déclaré public : il est préférable d'écrire des méthodes pour le consulter et le modifier.\r
-    \item[protected] Si un attribut ou une méthode est déclarée |protected|, seules les méthodes de ses sous classes pourront y accéder.\r
+    \item[Par défaut : public] Il n'existe pas de mot clé pour définir ce niveau, qui est le niveau par défaut lorsqu'aucun modificateur n'est précisé. Un attribut ou une méthode public est visible par tous les autres objets. Dans la philosophie orientée objet, aucun attribut ne devrait Ãªtre déclaré public : il est préférable d'écrire des méthodes pour le consulter et le modifier.\r
+    \item[protected] Si un attribut ou une méthode est déclaré |protected|, seules les méthodes des sous classes pourront y accéder.\r
     \item[private] C'est le niveau de protection le plus fort. Les composants ne sont visibles qu'à l'intérieur du fichier où est définie la classe.\r
 \end{description}\r
 \r
@@ -123,14 +125,14 @@ La syntaxe de la d
 \section{Types retournés}\r
 Le type retourné correspond au type de l'objet qui est renvoyé par la méthode. Si la méthode ne retourne rien, alors on ne précise pas le type retourné.\r
 \r
-La valeur de retour de la méthode doit Ãªtre transmise par l'instruction |return|. Elle indique la valeur que prend la méthode et termine celle ci : toutes les instructions qui suivent |return| ne seront pas exécutées. Si des instructions sont placées après le mot clé |return|, une erreur |unreachable statement| sera levée lors de la compilation.\r
+La valeur de retour de la méthode doit Ãªtre transmise par l'instruction |return|. Elle indique la valeur que prend la méthode et termine celle ci : les instructions qui suivent |return| Ã  l'intérieur du même bloc ne seront pas exécutées. Si des instructions sont placées après le mot clé |return|, une erreur |unreachable statement| sera levée lors de la compilation.\r
 \r
 \lstinputlisting[language=Nit]{./poo/listings/methode1_c.nit}\r
 \r
 Il est possible d'inclure une instruction |return| dans une méthode sensée ne rien retourner : cela permet de quitter la méthode.\r
 \r
 \section{Passage de paramètres}\r
-Les paramètres des méthodes sont déclarés entre parenthèses et séparés par des virgules. Le type et le nombre de paramètres déclarés doivent correspondre au type et au nombre de paramètres transmis. Si un méthode n'accepte pas de paramètres, il suffit de ne pas indiquer de parenthèses :\r
+Les paramètres des méthodes sont déclarés entre parenthèses et séparés par des virgules. Le type et le nombre de paramètres déclarés doivent correspondre au type et au nombre de paramètres transmis. Si une méthode n'accepte pas de paramètres, il suffit de ne pas indiquer de parenthèses :\r
 \lstinputlisting[language=Nit]{./poo/listings/methode2_c.nit}\r
 \r
 Si plusieurs paramètres ont le même type, il est possible de le factoriser :\r
@@ -138,7 +140,7 @@ Si plusieurs param
 \r
 Il n'est pas possible d'indiquer des valeurs par défaut dans les paramètres. \r
 \r
-Lorsqu'un objet est passé comme paramètre Ã  une méthode, cette dernière reçoit une référence qui désigne son emplacement mémoire d'origine et qui est une copie de la variable. Il est possible de modifier l'objet grâce Ã  ces méthodes mais il n'est pas possible de remplacer la référence contenue dans la variable passée en paramètre : ce changement n'aura lieu que localement Ã  la méthode.\r
+Lorsqu'un objet est passé comme paramètre Ã  une méthode, cette dernière reçoit une référence qui désigne son emplacement mémoire d'origine. Il est possible de modifier l'objet grâce Ã  ces méthodes mais il n'est pas possible de remplacer la référence contenue dans la variable passée en paramètre : ce changement n'aura lieu que localement Ã  la méthode.\r
 \r
 \section{Envoi de message}\r
 Un message est Ã©mis lorsqu'on demande Ã  un objet d'exécuter l'une de ses méthodes.\r
@@ -152,17 +154,17 @@ Quand l'appel de m
 \lstinputlisting[language=Nit]{./poo/listings/methode8_c.nit}\r
 \r
 \section{Nombre variable de paramètres}\r
-Il est possible d'indiquer qu'une méthode peut recevoir un nombre variable de paramètre grâce Ã  l'opérateur |...|. Le paramètre sera alors considéré comme un tableau du type spécifié. L'envoi de message pourra alors contenir aucun, un ou plusieurs arguments pour le paramètre ainsi déclaré.\r
+Il est possible d'indiquer qu'une méthode peut recevoir un nombre variable de paramètre grâce Ã  l'opérateur |...|. Le paramètre sera alors considéré comme un tableau du type spécifié. L'envoi de message pourra alors contenir zéro, un ou plusieurs arguments pour le paramètre ainsi déclaré.\r
 \r
 \lstinputlisting[language=Nit]{./poo/listings/methode9_c.nit}\r
 \r
-Seulement un seul paramètre variable est autorisé dans une signature.\r
+Un seul paramètre variable est autorisé dans une signature.\r
 \r
 \section{Enchaînement de références}\r
 Il est possible d'enchaîner les envois de messages aux retours des méthodes :\r
 \lstinputlisting[language=Nit]{./poo/listings/methode5_c.nit}\r
 \r
-Ici on appelle la méthode to\_upper de l'objet retourné par la méthode substring de l'objet "abcd".\r
+Ici on appelle la méthode \textit{to\_upper} de l'objet retourné par la méthode \textit{substring} de l'objet \textit{"abcd"}.\r
 \r
 \section{Mot-clé self}\r
 \r
@@ -230,7 +232,7 @@ Pour les getters, c'est la visibilit
 Voici un exemple d'utilisation des getters automatiques :\r
 \lstinputlisting[language=Nit]{./poo/listings/accesseurs2_c.nit}\r
 \r
-Pour les setters, ils sont toujours générés comme Ã©tant |private|. Pour changer cette visibilité, il est nécessaire de préciser l'attribut comme |writable| en lui rajoutant la visibilité souhaitée :\r
+Pour les setters, ils sont toujours générer comme Ã©tant |private|. Pour changer cette visibilité, il est nécessaire de préciser l'attribut comme |writable| en lui rajoutant la visibilité souhaitée :\r
 \begin{description}\r
     \item[writable] Le setter automatique sera généré avec la visibilité public.\r
     \item[protected writable] Le setter automatique sera généré avec la visibilité |protected|.\r
@@ -241,12 +243,12 @@ Voici un exemple d'utilisation des setters automatiques :
 \lstinputlisting[language=Nit]{./poo/listings/accesseurs3_c.nit}\r
 \r
 \section{Redéfinition d'attributs}\r
-Les accesseurs automatiques sont des considérés comme des méthodes normales, ils peuvent donc Ãªtre hérités et redéfinis. De plus les accesseurs automatiques peuvent Ãªtre utilisés pour redéfinir des accesseurs manuels. |redef var| permet de préciser une redéfinition du getter alors que |redef writable| permet de redéfinir le setter :\r
+Les accesseurs automatiques sont considérés comme des méthodes normales, ils peuvent donc Ãªtre hérités et redéfinis. De plus les accesseurs automatiques peuvent Ãªtre utilisés pour redéfinir des accesseurs manuels. |redef var| permet de préciser une redéfinition du getter alors que |redef writable| permet de redéfinir le setter :\r
 \lstinputlisting[language=Nit]{./poo/listings/accesseurs4_c.nit}\r
 \r
 \section{Opérateur isset}\r
 \r
-Pour vérifier si un opérateur a Ã©té initialisée, on peut utiliser l'opérateur |isset| :\r
+Pour vérifier si un attribut a Ã©té initialisé, on peut utiliser l'opérateur |isset| :\r
 \lstinputlisting[language=Nit,]{./poo/listings/isset_c.nit}\r
 \r
 \chapter{Constructeurs}\r
@@ -318,7 +320,7 @@ Si l'on veut conserver pour une propri
 \r
 \section{Redéfinition de méthodes}\r
 \label{redef}\r
-La redéfinition d'une méthode héritée doit impérativement conserver la déclaration de la méthode parent (type et nombre de paramètres et la valeur de retour doivent Ãªtre identiques). Si la signature de la méthode change, ce n'est plus une redéfinition mais une surcharge (et rappelez-vous : ce n'est pas autorisé en Nit !).\r
+La redéfinition d'une méthode héritée doit impérativement conserver la déclaration de la méthode parent (type et nombre de paramètres et la valeur de retour doivent Ãªtre identiques). Si la signature de la méthode change, ce n'est plus une redéfinition mais une surcharge... et rappelez-vous : ce n'est pas autorisé en Nit.\r
 \r
 Pour redéfinir une méthode, il suffit d'utiliser le mot-clé |redef| :\r
 \lstinputlisting[language=Nit]{./poo/listings/redef1_c.nit}\r
@@ -334,18 +336,18 @@ Lors de la red
 %\lstinputlisting[language=Nit]{./poo/listings/redef5_c.nit}\r
 \r
 \section{Polymorphisme}\r
-Le polymorphisme est la capacité, pour un même message de correspondre Ã  plusieurs formes de traitements selon l'objet auquel ce message est adressé. La gestion du polymorphisme est assurée dynamiquement Ã  l'exécution.\r
+Le polymorphisme est la capacité, pour un même message, de correspondre Ã  plusieurs formes de traitements selon l'objet auquel ce message est adressé. La gestion du polymorphisme est assurée dynamiquement Ã  l'exécution.\r
 \r
 L'idée est de partir d'un type et de le modifier. Par exemple, on peut créer une classe de base, puis faire des classes dérivées :\r
-\lstinputlisting[language=Nit]{./poo/listings/polymorphisme_c.nit}\r
+\lstinputlisting[language=Nit, linerange=1-35]{./poo/listings/polymorphisme_c.nit}\r
 \r
 On peut ensuite traiter les objets de la même manière quelques soit leur type dynamique :\r
-\lstinputlisting[language=Nit, linerange=39-43, firstnumber=last]{./poo/listings/polymorphisme_c.nit}\r
+\lstinputlisting[language=Nit, linerange=37-43, firstnumber=last]{./poo/listings/polymorphisme_c.nit}\r
 \r
 L'héritage définit un sous-typage implicite de la classe fille vers la classe mère : on peut affecter Ã  une référence d'une classe n'importe quel objet d'une de ses sous classes.\r
 \r
 \section{Coercition}\r
-La coercition (conversion de type) peut Ãªtre utilisé dans le cadre d'un cast standard grâce au mot-clé |as| :\r
+La coercition (conversion de type) peut Ãªtre utilisée dans le cadre d'un cast standard grâce au mot-clé |as| :\r
 \lstinputlisting[language=Nit]{./poo/listings/coercition1_c.nit}\r
 \r
 L'inconvénient de cette méthode est que si l'objet n'avait pas Ã©té dynamiquement typé en tant que Vache, une erreur d'exécution serait survenue lors du cast puisque celui-ci aurait Ã©choué.\r
@@ -391,7 +393,7 @@ Int et Bool sont deux exemples de types universels.
 \chapter{Généricité et types virtuels}\r
 \r
 \section{Généricité}\r
-Le principe de la généricité est de factoriser les méthodes pouvant s'appliquer Ã  n'importe quelle variable quelque soit sont type en Ã©vitant les problèmes de coercition.\r
+Le principe de la généricité est de factoriser les méthodes pouvant s'appliquer Ã  n'importe quelle variable quel que soit son type en Ã©vitant les problèmes de coercition.\r
 \r
 \subsection{Généricité simple}\r
 Prenons un exemple de classe non générique :\r
@@ -400,7 +402,7 @@ Prenons un exemple de classe non g
 Si nous souhaitons pouvoir utiliser cette classe avec d'autres objets que des |String|, il serait possible de se baser sur le type le plus haut dans la hiérarchie Nit, c'est Ã  dire |Object| :\r
 \lstinputlisting[language=Nit, linerange=1-3]{./poo/listings/gen2_c.nit}\r
 \r
-Voyons maintenant ce qu'il se passe quand nous utilisons cette classe avec des |Int| :\r
+Voyons maintenant ce qui se passe quand nous utilisons cette classe avec des |Int| :\r
 \lstinputlisting[language=Nit, linerange=5-7, firstnumber=last]{./poo/listings/gen2_c.nit}\r
 \r
 Vous remarquerez qu'il est nécessaire d'utiliser un cast pour utiliser le retour du |getter| de l'attribut |valeur| puisque celui-ci est de type |Object|. Ce n'est pas pratique et potentiellement dangereux pour la stabilité du programme puisque le risque d'erreur d'exécution sur un cast qui a Ã©choué augmente.\r
@@ -412,7 +414,7 @@ Voici le code de la classe d
 \r
 Dans cette classe, le T n'est pas encore défini, cela se fera Ã  l'instanciation. Par contre, une fois instancié avec un type, l'objet ne pourra travailler qu'avec le type de données spécifié Ã  l'instanciation.\r
 \r
-La déclaration d'une classe générique se fait en utilisant précisant le type joker (représenté par n'importe quel mot) entre crochet |[T]|. Il suffit ensuite d'implémenter les méthodes comme nous le ferions habituellement mais en remplaçant les types par le joker que nous avons défini dans la déclaration de la classe.\r
+La déclaration d'une classe générique se fait en précisant le type joker (représenté par n'importe quel mot) entre crochet |[T]|. Il suffit ensuite d'implémenter les méthodes comme nous le ferions habituellement mais en remplaçant les types par le joker que nous avons défini dans la déclaration de la classe.\r
 \r
 Voyons comment utiliser notre classe générique avec des entiers :\r
 \lstinputlisting[language=Nit, linerange=5-6, firstnumber=last]{./poo/listings/gen3_c.nit}\r
@@ -441,7 +443,7 @@ Nit supporte aussi la g
 \lstinputlisting[language=Nit]{./poo/listings/gen5_c.nit}\r
 \r
 \section{Types virtuels}\r
-Les types virtuels permettent définir au sein d'une classe un champ qui va contenir un type plutôt d'un objet. Ce champ peut ensuite Ãªtre utilisé pour typer les paramètres et les types de retour des méthodes. Sa valeur sera exploitée Ã  la compilation pour définir quel est le type Ã  utiliser.\r
+Les types virtuels permettent définir au sein d'une classe un champ qui va contenir un type plutôt d'un objet. Ce champ peut ensuite Ãªtre utilisé pour typer les paramètres et les types de retour des méthodes. Sa valeur sera exploitée Ã  la compilation pour définir le type Ã  utiliser.\r
 \r
 Exemple d'utilisation d'un type virtuel :\r
 \lstinputlisting[language=Nit]{./poo/listings/type1_c.nit}\r
@@ -488,7 +490,7 @@ Si le nom du module diff
 Pour l'instant il n'est pas possible d'importer des modules se trouvant dans un autre répertoire que celui où se trouvent les fichiers sources.\r
 \r
 \subsection{Import privé}\r
-Si on utilise le mot-clé |private| devant le |import|, le module sera importé dans le module courant comme privé. C'est Ã  dire que tous les modules qui importeront le module courant ne verrons pas les classes et les propriétés importées.\r
+Si on utilise le mot-clé |private| devant le |import|, le module sera importé dans le module courant comme privé. C'est Ã  dire que les modules qui importeront le module courant ne verrons pas les classes et les propriétés importées.\r
 \r
 \subsection{Import intrusif}\r
 L'utilisation du mot-clé |intrude| avant l'import d'un module permet d'importer le module en mode intrusif, c'est Ã  dire d'ignorer toutes les restrictions liées Ã  la visibilité. Ainsi les méthodes déclarées |private| seront considérées comme publiques.\r
index d90a8fe..7fa039c 100644 (file)
@@ -1,7 +1,7 @@
 \part{Présentation de Nit}\r
 \r
 \chapter{Caractéristiques}\r
-Nit est un langage de programmation orienté objet dont la syntaxe est proche de celle des langages de scripts. Le but de Nit est de proposer un langage de programmation robuste typage statique, où la structure n'est pas une torture.\r
+Nit est un langage de programmation orienté objet dont la syntaxe est proche de celle des langages de scripts. Le but de Nit est de proposer un langage de programmation robuste Ã  typage statique, où la structure n'est pas une torture.\r
 \begin{description}\r
        \item[Nit est compilé]Le code source de Nit est compilé pour Ãªtre ensuite traduit en C.\r
        \item[Nit est orienté objet]Comme la plupart des langages récents, Nit est orienté objet. Chaque fichier source contient la définition d'une ou plusieurs classes qui sont utilisées les unes avec les autres pour former une application. En Nit, TOUT est objet (Et oui même a = 0, c'est de l'objet).\r
@@ -16,15 +16,15 @@ Nit est un langage de programmation orient
 \end{quote}\r
 \r
 \chapter{Historique}\r
-Nit est le descendant direct de PRM développé en 2005 au LIRMM en France. Il s'agit d'un langage jouet servant Ã  expérimenter des traits de langage et des techniques d'implémentation.\r
+Nit est le descendant direct de PRM développé en 2005 au LIRMM en France. Il s'agissait d'un langage jouet servant Ã  expérimenter des traits de langage et des techniques d'implémentation.\r
 \r
-En 2008 nait Nit un langage plus généraliste développé conjointement par l'UQAM et le LIRMM. Il Ã©tend PRM en y ajoutant utilisabilité et robustesse.\r
+En 2008 nait Nit un langage plus généraliste développé conjointement Ã  l'UQAM et au LIRMM. Il Ã©tend PRM en y ajoutant utilisabilité et robustesse.\r
 \r
-Aujourd'hui, en 2011, le développement de Nit continu...\r
+Aujourd'hui, en 2011, le développement de Nit continue...\r
 \r
 \r
 \chapter{Installation de Nit}\r
-Le compilateur Nit est librement accessible grâce Ã  Git : \r
+Le compilateur Nit est librement accessible grâce Ã  git : \r
 \begin{description}\r
        \item[Protocole GIT]\url{git://nitlanguage.org/nit.git}\r
        \item[Protocole HTTP]\url{http://nitlanguage.org/nit.git}\r
@@ -51,7 +51,7 @@ $ make
 Ã‡a y est, le compilateur Nit est maintenant installé sur votre ordinateur !\r
 \r
 \chapter{Compilation et exécution}\r
-Un programme Nit est composé d'un ou plus généralement plusieurs fichiers source. N'importe quel Ã©diteur de texte peut Ãªtre utilisé pour Ã©diter un fichier Nit.\r
+Un programme Nit est composé d'un ou plus généralement plusieurs fichiers source. N'importe quel Ã©diteur de texte peut Ãªtre utilisé pour modifier un fichier Nit.\r
 \r
 Ces fichiers source possèdent l'extension \og .nit \fg. Ils peuvent contenir du code, une ou plusieurs classes et/ou modules.\r
 \r
index fb5a837..b9ec45e 100644 (file)
@@ -1,4 +1,4 @@
-\part{Syntaxe et Ã©léments de bases de Nit}\r
+\part{Syntaxe et Ã©léments de base de Nit}\r
 \r
 \chapter{Syntaxe}\r
 \r
@@ -25,7 +25,7 @@ Chaque objet, classe, module ou variable est associ
 \r
 Attention : Le compilateur lèvera une exception si une variable commence par une majuscule.\r
 \r
-Un identificateur ne peut pas appartenir Ã  la liste des mots clés réservé du langage Nit :\r
+Un identificateur ne peut pas appartenir Ã  la liste des mots clés réservés du langage Nit :\r
 \begin{multicols}{4}\r
   \begin{itemize}\r
       \item |abort|\r
@@ -87,7 +87,7 @@ Quelques r
 \begin{itemize}\r
     \item On préfèrera utiliser la notation basée sur le soulignement pour les variables. Par exemple : |ma_variable| ;\r
     \item Les types, comme les noms des classes seront Ã©crits en \og CamelCase \fg. Par exemple : |MaClasse| ;\r
-    \item L'indentation est faite avec le caractère de tabulation et est afficher comme 8 espaces ;\r
+    \item L'indentation est faite avec le caractère de tabulation et est affichée comme 8 espaces ;\r
     \item Les opérateurs sont entourés d'espaces. Par exemple : |4 + 5| ou |x = 5| ;\r
     \item Les spécificateurs de type (|:|) et les virgules (|,|) ont un espace après mais pas avant. Par exemple : |var x: X| ou |[1, 2, 3]| ;\r
     \item Les parenthèses (|()|) et les crochets (|[]|) ne prennent pas d'espaces ;\r
@@ -102,7 +102,7 @@ Il peuvent s'utiliser seulement sur une ligne ou alors en fin de ligne comme le
 \r
 A l'heure actuelle, Nit ne supporte pas les commentaires multi-lignes.\r
 \r
-\chapter{Éléments de bases de Nit}\r
+\chapter{Éléments de base de Nit}\r
 \r
 \section{Déclaration et utilisation des variables}\r
 \r
@@ -133,7 +133,7 @@ Exemple d'utilisation du mot cl
 Vous remarquerez qu'en Nit, il n'est pas nécessaire d'utiliser les parenthèses si le constructeur ne prend pas de paramètres.\r
 \r
 \section{Type nullable}\r
-Pour Ã©viter les exceptions |nullPointerException| qui peuvent Ãªtre très fréquentes sur d'autres langages, Nit impose au développeur de préciser si une variable a le droit de prendre la valeur |null|.\r
+Pour Ã©viter les exceptions |nullPointerException| qui peuvent Ãªtre fréquentes sur d'autres langages, Nit impose au développeur de préciser si une variable a le droit de prendre la valeur |null|.\r
 \r
 Pour préciser qu'une variable peut prendre la valeur |null|, il faut utiliser le mot clé |nullable|.\r
 \r
@@ -207,7 +207,7 @@ L'usage des parenth
        \r
 \section{Structures de contrôles}\r
 \r
-Comme les autres langages de développement, Nit propose un ensemble d'instruction qui permettent d'organiser et de structurer les traitements. L'usage de ces instructions est similaire Ã  celui rencontré Ã  leur Ã©quivalent dans d'autres langages.\r
+Comme les autres langages de développement, Nit propose un ensemble d'instructions qui permettent d'organiser et de structurer les traitements. L'usage de ces instructions est similaire Ã  celui rencontré Ã  leur Ã©quivalent dans d'autres langages.\r
 \r
 \subsection{Boucles}\r
 \subsubsection{While}\r
@@ -235,7 +235,7 @@ Le |for| peut lui aussi s'
 \lstinputlisting[language=Nit, linerange=18]{./syntaxe/listings/for_c.nit}\r
 \r
 \subsubsection{Loop}\r
-Les boucles infinies sont souvent utilisés accompagnées de l'instruction |break|. Elles sont utiles pour implémenter les boucles de type \og jusqu'à \fg |untill| ou pour simuler le |exit when| de Ada.\r
+Les boucles infinies sont souvent utilisés accompagnées de l'instruction |break|. Elles sont utiles pour implémenter les boucles de type \og jusqu'à \fg \textit{untill} ou pour simuler le \textit{exit when} de Ada.\r
 \r
 \lstinputlisting[language=Nit]{./syntaxe/listings/loop_c.nit}\r
 \r
@@ -253,7 +253,7 @@ Exemple :
 On peut aussi utiliser des clauses |else if| pour chaîner plusieurs tests :\r
 \lstinputlisting[language=Nit, linerange=9-17]{./syntaxe/listings/if_c.nit}\r
 \r
-Attention : Si on utilise un |else| ou un |else if|, l'instruction ne peut pas Ãªtre Ã©crit \og OnLiner \fg.\r
+Attention : Si on utilise un |else| ou un |else if|, l'instruction ne peut pas Ãªtre Ã©crit \textit{On Liner}.\r
 \r
 \subsection{Débranchements}\r
 |continue| permet de passer immédiatement Ã  l'itération suivante dans une boucle |for|, |while| ou |loop| :\r
@@ -271,7 +271,7 @@ On peut aussi utiliser les labels de la m
 L'instruction |abort| permet d'arrêter le programme en lançant une erreur fatale.\r
 \r
 \subsection{Assertions}\r
-L'instruction |assert| vérifie si une expression booléenne est vrai, sinon elle arrêtera le programme comme |abort|. Elle peut Ãªtre combinée Ã  une close |else| pour exécuter du code avant d'arrêter le programme :\r
+L'instruction |assert| vérifie si une expression booléenne est vrai, sinon elle arrêtera le programme comme |abort|. Elle peut Ãªtre combinée Ã  une clause |else| pour exécuter du code avant d'arrêter le programme :\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/assert_c.nit}\r
 \r
 Comme on peut le voir dans l'exemple précédent, une Ã©tiquette peut Ãªtre précisée pour Ãªtre affichée dans le message d'erreur.\r
@@ -294,15 +294,15 @@ Ce m
 \r
 Attention, en Nit, la première case du tableau est la case 0 !\r
 \r
+\subsection{Parcours d'un tableau}\r
+On peut parcourir les tableaux grâce Ã  une boucle |for| :\r
+\lstinputlisting[language=Nit, linerange=3-5, firstnumber=last]{./syntaxe/listings/array2_c.nit}\r
+\r
 \subsection{Initialisation explicite d'un tableau}\r
 Il existe une manière plus rapide de créer les tableaux en initialisant explicitement le tableau avec les valeurs qu'il doit contenir.\r
 \r
 \lstinputlisting[language=Nit, linerange=1]{./syntaxe/listings/array2_c.nit}\r
 \r
-\subsection{Parcours d'un tableau}\r
-On peut parcourir les tableaux grâce Ã  une boucle |for| :\r
-\lstinputlisting[language=Nit, linerange=3-5, firstnumber=last]{./syntaxe/listings/array2_c.nit}\r
-\r
 %\section{Intervalles}\r
 %TODO vérifier et faire\r
 %Il est possible de déclarer des intervalles |Range| basés sur des types discrets (comme |Int| par exemple). Il existe deux types d'intervalles : les intervalles ouverts |[1..5[| qui excluent le dernier Ã©lément, et les intervalles fermés |[1..5]| qui incluent le dernier Ã©lément.\r
@@ -311,27 +311,27 @@ On peut parcourir les tableaux gr
 \r
 \r
 \section{Conversions de types}\r
-En Nit, il n'existe pas de mot clé de transtypage. Les conversions de types se font par des méthodes. La bibliothèque standard fournit une série de classe qui contiennent des méthodes de manipulation et de conversion de types.\r
+En Nit, il n'existe pas de mot clé de transtypage. Les conversions de types se font par des méthodes. La bibliothèque standard fournit une série de classes qui contiennent des méthodes de manipulation et de conversion de types.\r
 \r
 \begin{tabularx}{\linewidth}{|c|X|}\r
        \hline\r
        \textbf{Classe} & \textbf{Rôle} \\\r
        \hline\r
-       Char & pour les caractères \\\r
+       \textit{Char} & pour les caractères \\\r
        \hline\r
-       String & pour les chaînes de caractères \\\r
+       \textit{String} & pour les chaînes de caractères \\\r
        \hline\r
-       Int & pour les entiers \\\r
+       \textit{Int} & pour les entiers \\\r
        \hline\r
-       Float & pour les nombres Ã  virgule flottante \\\r
+       \textit{Float} & pour les nombres Ã  virgule flottante \\\r
        \hline\r
 \end{tabularx}\r
 \r
-Par exemple la classe Int propose les méthodes suivantes :\r
+Par exemple la classe \textit{Int} propose les méthodes suivantes :\r
 \begin{description}\r
-       \item[Int.to\_c:Char] Retourne le caractère correspondant.\r
-       \item[Int.to\_f:Float] Retourne l'entier sous forme de |Float|.\r
-       \item[Int.to\_s:String] Retourne l'entier sous forme de |String|.\r
+       \item[Int.to\_c: Char] Retourne le caractère correspondant.\r
+       \item[Int.to\_f: Float] Retourne l'entier sous forme de |Float|.\r
+       \item[Int.to\_s: String] Retourne l'entier sous forme de |String|.\r
 \end{description}\r
 \r
 \section{Manipulation de chaînes de caractères}\r
@@ -357,7 +357,7 @@ Attention, Nit ne supporte que l'encodage UTF-8 !
 \r
 \subsection{Caractères spéciaux}\r
 \r
-Dans un chaîne de caractères, plusieurs caractères particuliers doivent Ãªtre Ã©chappés grâce au caractère |\| pour Ãªtre utilisés. \r
+Dans une chaîne de caractères, plusieurs caractères particuliers doivent Ãªtre Ã©chappés grâce au caractère |\| pour Ãªtre utilisés. \r
 \r
 Le tableau ci-dessous recense les principaux caractères Ã  Ã©chapper :\r
 \r
@@ -396,7 +396,7 @@ Pour concat
 Par exemple avec un Int :\r
 \lstinputlisting[language=Nit, linerange=7-7]{./syntaxe/listings/string_c.nit}\r
 \r
-Une notation allégée permet de concaténer une variable ou une expression avec une chaine de caractère :\r
+Une notation particulière permet d'inclure une variable ou une expression dans une chaine de caractères :\r
 \lstinputlisting[language=Nit, linerange=9-10]{./syntaxe/listings/string_c.nit}\r
 \r
 La notation allégée appelle implicitement la méthode |to_s| sur les types autres que |String| :\r
@@ -406,11 +406,11 @@ La notation all
 \r
 \subsection{Comparaison de chaînes de caractères}\r
 \r
-En Nit il est possible de comparer deux chaînes de caractères directement grâce Ã  l'opérateur |==|. Contrairement Ã  Java par exemple, Nit va comparer la valeur des objets String est non pas les objets en eux-mêmes.\r
+En Nit il est possible de comparer deux chaînes de caractères directement grâce Ã  l'opérateur |==|. Contrairement Ã  Java par exemple, Nit va comparer la valeur des objets String est non pas les références vers les objets.\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/string2_c.nit}\r
 \r
 \subsection{Autres opérations sur les chaînes de caractères}\r
-Les méthodes |to_upper| et |to_lower| permettent respectivement d'obtenir une chaîne tout en majuscule ou tout en minuscule.\r
+Les méthodes |to_upper| et |to_lower| permettent respectivement d'obtenir une chaîne toute en majuscule ou toute en minuscule.\r
 \r
 La méthodes |length| permet d'obtenir la taille de la chaîne.\r
 \r
@@ -427,7 +427,7 @@ Nit est le premier langage 
 Par exemple :\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/typage_c.nit}\r
 \r
-Les instructions de contrôle de flot vont eux aussi agir sur le typage de la variable :\r
+Les instructions de contrôle de flot vont elles aussi agir sur le typage de la variable :\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/typage2_c.nit}\r
 \r
 Le typage adaptatif fonctionne aussi avec les types nullables :\r
index 9db1697..e83e4ac 100644 (file)
@@ -148,7 +148,7 @@ print "i={i}; i+1={i+1}" # outputs "i=5; i+1=6"
 
 All objects have a @to_s@ method that converts the object to a String.
 @print@ is a top-level method\goto{toplevel} that takes any number of arguments\goto{vararg} and prints to the standard output.
-@print@ always add a newline, an other top-level method, @printn@ does not add the newline.
+@print@ always add a newline, another top-level method, @printn@, does not add the newline.
 
 \begin{lst}
 var x: String
@@ -193,7 +193,7 @@ b.add(20)
 print b[0] # outputs "10"
 print b.length # outputs "6"
 b[1] = 30
-print a.join(", ") # outputs "10, 30, 2, 3, 4, 20"
+print b.join(", ") # outputs "10, 30, 2, 3, 4, 20"
 \end{lst}
 
 Note that the type of literal arrays is deduced using the static type combination rule\goto{combination}.
@@ -248,10 +248,10 @@ Nit heavily refers to the control flow in its specification:
 \item Adaptive typing\goto{adaptive typing}.
 \end{itemize}
 
-Some structure alters the control flow but are not described in this section: @and@, @or@, @not@\goto{Bool}, @or else@\goto{or else} and @return@\goto{return}.
+Some structures alter the control flow but are not described in this section: @and@, @or@, @not@\goto{Bool}, @or else@\goto{or else} and @return@\goto{return}.
 
 Note that the control flow is determined only from the position, the order and the nesting of the control structures.
-The real value of the expressions used has no effect.
+The real value of the expressions used has no effect on the control flow analyses.
 \begin{multicols}{2}
 \begin{lst}
 if true then
@@ -326,7 +326,7 @@ for x in [1, 4, 6] do
 end
 \end{lst}
 
-In fact, @for@ is a syntax sugar for a closure\goto{closure}.
+In fact, @for@ is syntactic sugar for a closure\goto{closure}.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{loop}\label{loop}
@@ -366,8 +366,8 @@ end
 Unlabeled @break@ exits the current @for@, @while@, @loop@, or closure\goto{closure}.
 Unlabeled @continue@ skips the current @for@, @while@, @loop@, or closure.
 
-@label@ can be precised with @break@ or @continue@ to designate a specific control structure (not necessary the current one). 
-The corresponding @label@ must be set after the @end@ keyword of the designated control structure.
+@label@ can be used with @break@ or @continue@ to act on a specific control structure (not necessary the current one). 
+The corresponding @label@ must be defined after the @end@ keyword of the designated control structure.
 
 \begin{lst}
 for i in [0..width[ do
@@ -491,7 +491,7 @@ var t: Object = 5 # Upper bound is Object
 t = "Hello" # OK
 \end{lst}
 
-The adaptive typing flow is straightforward, therefore loops (@for@\goto{for}, @while@\goto{for}, @loop@\goto{for}) and closures\goto{closure} have a special requirement: on enter, the upper bound is set to the current static type; on exit, the upper bound is reset to its previous value.
+The adaptive typing flow is straightforward, therefore loops (@for@\goto{for}, @while@\goto{for}, @loop@\goto{for}) and closures\goto{closure} have a special requirement: on entry, the upper bound is set to the current static type; on exit, the upper bound is reset to its previous value.
 
 \begin{lst}
 var x: Object = ...
@@ -503,7 +503,7 @@ while x > 0 do
        x -= 1 # OK
        x = "Hello" # Compile error: expected Int
 end
-# static type is Int, bound released to Object
+# static type is Int, bound reset to Object
 x = "Hello" # OK
 \end{lst}
 
@@ -536,7 +536,7 @@ for i in a do
 end
 \end{lst}
 
-A funnier example:
+An interesting example:
 \begin{lst}
 var max = 0
 for i in whatever do
@@ -546,7 +546,7 @@ for i in whatever do
 end
 \end{lst}
 
-Note that a type adaptation occurs only in an @isa@ if the target type is more specific that the current type.
+Note that type adaptation occurs only in an @isa@ if the target type is more specific that the current type.
 \begin{lst}
 var a: Collection[Int] = ...
 if a isa Comparable then
@@ -561,8 +561,8 @@ end
 \subsection{Nullable Types}\label{null}\label{nullable}\label{or else}\label{not null}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-@null@ is a literal value that requires an explicit type acceptance.
-However, thanks to adaptive typing, it can be mainly automatic.
+@null@ is a literal value that is only accepted by some specific static types.
+However, thanks to adaptive typing, the static type management can be mainly automatic.
 
 @nullable@ annotates types that can accept @null@ or an expression of a compatible nullable static type.
 
@@ -573,11 +573,11 @@ x = 1 # OK
 y = 1 # OK
 x = null # OK
 y = null # Compile error
-x = y # Compile error
-y = x # OK
+x = y # OK
+y = x # Compile error
 \end{lst}
 
-Adaptive typing works very well with nullable types.
+Adaptive typing works well with nullable types.
 
 \begin{lst}
 var x
@@ -589,7 +589,7 @@ end
 # The static type of x is nullable Int
 \end{lst}
 
-Moreover, alike the @isa@ keyword, the @==@ and @!=@ operators can adapt the static type of a variable when compared to @null@.
+Moreover, like the @isa@ keyword, the @==@ and @!=@ operators can adapt the static type of a variable when compared to @null@.
 
 \begin{lst}
 var x: nullable Int = whatever
@@ -600,7 +600,7 @@ end
 # The static type of x is nullable Int
 \end{lst}
 
-And a last example:
+And another example:
 \begin{lst}
 var x: nullable Int = whatever
 loop
@@ -626,7 +626,7 @@ Note that nullable types require a special management for attributes and constru
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 @as@ casts an expression to a type.
-It is either cast successfully or there is an @abort@\goto{abort}.
+The expression is either casted successfully or there is an @abort@\goto{abort}.
 
 \begin{lst}
 var x: Object = 5 # static type of x is Object
@@ -634,7 +634,7 @@ print x.as(Int) * 10 # outputs 50
 print x.as(String) # aborts: cast failed
 \end{lst}
 
-Note that @as@ does not change the objects nor does perform conversion.
+Note that @as@ does not change the object nor does perform conversion.
 \begin{lst}
 var x: Object = 5 # static type of x is Object
 print x.as(Int) + 10 # outputs "15"
@@ -696,8 +696,8 @@ var a2 = [1, "1"] # Compile error:
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-@module@ declares the name of modules.
-While optional it is recommended to use it, at least to put a documentation\goto{comment}.
+@module@ declares the name of a module.
+While optional it is recommended to use it, at least for documentation purpose\goto{comment}.
 The basename of the source file must match the name declared with @module@.
 The extension of the source file must be @nit@.
 
@@ -723,23 +723,23 @@ By importing a module, the importer module can see and use classes and propertie
 \item @import@ indicates a public importation.
 Importers of a given module will also import its publicly imported modules.
 %Modules that import the current module will implicitly also import the other module.
-An analogy will be using @#include@ in a header file (@.h@) in C/C++.
+An analogy is using @#include@ in a header file (@.h@) in C/C++.
 \item @private import@ indicates a private importation.
 Importers of a given module will not automatically import its privately imported modules.
-An analogy will be using @#include@ in a body file (@.c@) in C/C++.
+An analogy is using @#include@ in a body file (@.c@) in C/C++.
 %Modules that import the current module will not see the classes and properties imported.
 %However, while the classes and properties imported are invisible, the information that the module import an other one is still public and required to compile and run the program.
 \item @intrude import@ indicates an intrusive importation.
 @intrude@ @import@ bypasses the @private@ visibility and gives to the importer module a full access on the imported module.
 Such an import may only be considered when modules are strongly bounded and developed together.
-The closest, but insufficient, analogy will be something like including a body file in a body file in C/C++.
+The closest, but insufficient, analogy is something like including a body file in a body file in C/C++.
 \end{itemize}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Visibility}\label{visibility}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-By default, all classes\goto{class}, methods\goto{fun}, constructors\goto{init} and virtual types\goto{type} are public whitch means freely usable by any importer module.
+By default, all classes\goto{class}, methods\goto{fun}, constructors\goto{init} and virtual types\goto{type} are public which means freely usable by any importer module.
 Once something is public it belongs to the API of the module and should not be changed.
 
 @private@ indicates classes and methods that do not belong to the API.
@@ -819,12 +819,12 @@ In order to guarantee the coherence in the visibility, the following rules apply
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-@interface@, @abstract class@, @class@ and @enum@ are the four kinds of classes. All these classes can be in multiple inheritance, can define new methods and redefine inherited method (yes, even interfaces). Here is the difference:
+@interface@, @abstract class@, @class@ and @enum@ are the four kinds of classes. All these classes can be in multiple inheritance, can define new methods and redefine inherited method (yes, even interfaces). Here are the differences:
 \begin{itemize}
 \item interfaces can only specialize other interfaces, cannot have attributes, cannot have constructors, cannot be instantiated.
 \item abstract classes cannot specialize enums, can have attributes, must have constructors, cannot be instantiated.
-\item concrete classes (ie. @class@) cannot specialize enums, can have attributes, must have constructors, can be instantiated.
-\item enums (eg. @Int@ or @Bool@) can only specialize interfaces, cannot have attributes, cannot have constructors, have proper instances but they are not instantiated by the programmer---it means no @new Int@. Note that at this point there is no user-defined enums.
+\item concrete classes (i.e. @class@) cannot specialize enums, can have attributes, must have constructors, can be instantiated.
+\item enums (e.g. @Int@ or @Bool@) can only specialize interfaces, cannot have attributes, cannot have constructors, have proper instances but they are not instantiated by the programmer---it means no @new Int@. Note that at this point there is no user-defined enums.
 \end{itemize}
 
 All kinds of classes must have a name, can have some superclasses and can have some definitions of properties.
@@ -860,7 +860,7 @@ Refining a class means:
 \end{itemize}
 
 Note that the kind\goto{class} or the visibility\goto{visibility} of a class cannot be changed by a refinement.
-Therefore, it is authorized to just write @redef class X@ whatever is the kind or the visibility of @X@.
+Therefore, it is allowed to just write @redef class X@ whatever is the kind or the visibility of @X@.
 
 In programs, the real instantiated classes are always the combination of all their refinements.
 %This is quite powerful and permit a programing style only found in some dynamically typed languages or aspect-oriented languages.
@@ -911,7 +911,7 @@ They can be assigned and are subject to adaptive typing.
 @self@, the current receiver, is a special parameter.
 It is not assignable but is subject to adaptive typing.
 
-@return@ exits the method and return to the caller.
+@return@ exits the method and returns to the caller.
 In a function, the return value must be provided with a return in all control flow paths\goto{control flow}.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -922,7 +922,7 @@ Calling a method is usually done with the dotted notation @x.foo(y, z)@.
 The dotted notation can be chained.
 
 A method call with no argument does not need parentheses.
-Moreover, even with arguments the parentheses are not required in the principal method of a statement.
+Moreover, even with arguments, the parentheses are not required in the principal method of a statement.
 \begin{lst}
 var a = [1]
 a.add 5 # no () for add
@@ -1096,7 +1096,7 @@ a.bar(b) += c # equiv. a.bar(b) = a.bar(b) + c
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 A method can accept a variable number of arguments using ellipsis (@...@).
-The definition use @x: Foo...@ where x is the name of the parameter and @Foo@ a type.
+The definition use @x: Foo...@ where @x@ is the name of the parameter and @Foo@ a type.
 Inside the body, the static type of @x@ is @Array[Foo]@.
 The caller can use 0, 1, or more arguments for the parameter @x@.
 Only one ellipsis is allowed in a signature.
@@ -1114,15 +1114,14 @@ foo(1, 2) # outputs "1;;2"
 \subsection{Top-level Methods and Main Body}\label{toplevel}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-Some function, like @print@ are usable everywhere simply without using a specific receiver.
+Some functions, like @print@, are usable everywhere simply without using a specific receiver.
 Such methods are just defined outside any classes.
-In fact these methods are implicitly defined in the Object interface, therefore inherited by all classes, therefore usable everywhere.
+In fact, these methods are implicitly defined in the @Object@ interface, therefore inherited by all classes, therefore usable everywhere.
 However, this principle may change in a future version.
 
 In a module, the main body is a bunch of statements at the end of a file.
-The main body of the main module is the entry point of a program.
-In fact the main method of a program is implicitly defined as the redefinition of the method @main@ of the @Sys@ class.
-The start of the program is in fact the implicit statement @(Sys.new).main@.
+The main body of the main module is the program entry point.
+In fact, the main method of a program is implicitly defined as the redefinition of the method @main@ of the @Sys@ class; and the start of the program is the implicit statement @(Sys.new).main@.
 Note that because it is a redefinition, the main part can use @super@\goto{super} to call the ``previous'' main part in the imported modules.
 If there is no main part in a module, it is inherited from imported modules.
 
@@ -1151,8 +1150,7 @@ print sum(4, 5)
 The body of @intern@ methods is provided by the compiler itself for performance or bootstrap reasons.
 For the same reasons, some intern methods, like @+@ in @Int@\goto{Int} are not redefinable.
 
-The body of @extern@ methods is provided by libraries written in C.
-Especially the system libraries required for input/output.
+The body of @extern@ methods is provided by libraries written in C; for instance, the system libraries required for input/output.
 Extern methods are always redefinable.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1180,7 +1178,7 @@ end
 \end{lst}
 
 Note that from an API point of view, there is no way to distinguish the read access of an attribute with a normal method neither to distinguish a write access of an attribute with a setter.
-Therefore, the read access of an attribute is caller a getter while the write access is called a setter.
+Therefore, the read access of an attribute is called a getter while the write access is called a setter.
 \begin{lst}
 var x = foo.bar # Is bar an attribute or a method?
 foo.bar = y # Is bar an attribute or a setter?
@@ -1191,9 +1189,9 @@ foo.bar = y # Is bar an attribute or a setter?
 \subsection{Visibility of Attributes}\label{attribute visibility}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-By default, the getter is public and the setter is private.
-The visibility of the getter can be precised with the @private@ or @protected@ keywords.
-The visibility of the setter can be specified with an additional @writable@ keyword.
+By default, a getter is public and a setter is private.
+The visibility of getters can be precised with the @private@ or @protected@ keywords.
+The visibility of setters can be specified with an additional @writable@ keyword.
 
 \begin{lst}
 class Foo
@@ -1236,7 +1234,7 @@ end
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 @init@ declares constructors in concrete and in abstract classes.
-The role of the constructors is to basically initialize the attributes of the class.
+The role of constructors is basically to initialize the attributes of the class.
 Constructors can have: a visibility (by default it is public), a name (by default, constructors are anonymous) and parameters.
 They cannot have a return value.
 
@@ -1258,9 +1256,9 @@ var x = new Foo(4) # invoke init
 var y = new Foo.herp # invoke herp
 var z = new Foo.derp(1, 2) # invoke derp
 \end{lst}
-Note that syntactically, @new Bar@ means ``instantiate Bar with the anonymous constructor'', and @new Bar.foo@ means ``instantiate Bar with the constructor named foo'', but @(new Bar).foo@ means ``instantiate Bar with the anonymous constructor then call the method foo on the result''.
+Note that syntactically, @new Bar@ means ``instantiate @Bar@ with the anonymous constructor'', and @new Bar.foo@ means ``instantiate @Bar@ with the constructor named @foo@'', but @(new Bar).foo@ means ``instantiate @Bar@ with the anonymous constructor then call the method @foo@ on the result''.
 
-Constructor can also be called by other constructors in order to factorize or delegate parts of the construction process.
+Constructors can also be called by other constructors in order to factorize or delegate parts of the construction process.
 In other constructors, @init@ denotes the anonymous constructor.
 \begin{lst}
 class Foo
@@ -1315,7 +1313,7 @@ var f = new Foo
 \subsection{Free and Inherited Constructors}\label{init inheritance}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-When there is no constructor defined in a concrete class or in an abstract class that specialize only interfaces (@Object@ is always a superclass), a free anonymous constructor is implicitly declared.
+When there is no constructor defined in a concrete class or in an abstract class that specializes only interfaces (@Object@ is always a superclass), a free anonymous constructor is implicitly declared.
 This free constructor gathers all attributes without a initial value and assign them in order.
 If all attributes have an initial value (or if there is no attributes), the free constructor has no parameters.
 
@@ -1329,7 +1327,7 @@ end
 var f = new Foo(5, "five") # OK
 \end{lst}
 
-When there is no constructors defined in a concrete class or in an abstract class, and that this class has only one direct superclass that is a concrete class or an abstract class, and that all attributes defined in this class have an initial value, then all constructors of the superclass are inherited.
+When there is no constructors defined in a concrete class or in an abstract class, and this class has only one direct superclass that is a concrete class or an abstract class, and all attributes defined in this class have an initial value, then all constructors of the superclass are inherited.
 
 \begin{lst}
 class Bar
@@ -1390,7 +1388,7 @@ For example, @Pair[Int]@ is a subtype of @Pair[Object]@.
 
 @type@ declares a virtual types in a class.
 A bound type is mandatory.
-Virtual types can then be used as a regular type in the class and its subclasses.
+Virtual types can then be used as regular types in the class and its subclasses.
 Subclasses can also redefine it with a more specific bound type.
 One can see a virtual type as an internal formal generic parameter or as a redefinable \textit{typedef}.
 
@@ -1415,7 +1413,7 @@ print b.derp + 1 # outputs 6
 
 Closures are pieces of code that are passed to methods as additional arguments.
 Closures are defined and used with the @!@ character.
-The following example shows the use of the @sort@ method of arrays (defined in the Nit standard library).
+The following example shows the use of the @sort@ method for arrays (defined in the Nit standard library).
 
 \begin{lst}
 var a = [4, 2, 9, 6]
@@ -1425,10 +1423,10 @@ a.sort !cmp(x, y) = y <=> x
 print a.join(", ") # outputs "9, 6, 4, 2"
 \end{lst}
 
-@!cmp@ indicates the closure parameter of the function sort.
-The documentation of the method @sort@ says that @!cmp@ is used by @sort@ to know how to compare two elements.
+@!cmp@ indicates the closure parameter of the @sort@ method.
+The documentation of the @sort@ method says that @!cmp@ is used to compare two elements.
 Thus, @sort@ provides to @!cmp@ two elements and expects a Boolean result. %saying if the first element provided should be sorted before the second element provided.
-Therefore, when invoking @sort@, the programmer gets two automatic variables (one associated to each element) and is expected to return a Boolean.
+%Therefore, when invoking @sort@, the programmer gets two automatic variables (one associated to each element) and is expected to return a Boolean.
 
 Closures can also be used to perform work.
 In the following example, @file_open@ is used to open a file for reading.
@@ -1445,11 +1443,14 @@ file_open(fname) !work(f) do
 end
 \end{lst}
 
+Note that a method can have multiple closures.
+Syntactically, a closure is ended by the start of another closure or by the @end@ keyword that terminates the list of the closures.
+In the one-liner version, there is no @end@ but only one closure can be used.
 
 Closures can access visible variables.
 In the following example, the @iterate@ procedure asks for an @!each@ closure that is executed on each element of a @Collection@.
 In fact, the @for@ control structure is a call of the @iterate@ method.
-The two following examples are strictly equivalent.
+The following two examples are thus strictly equivalent.
 
 \begin{multicols}{2}
 \begin{lst}
@@ -1478,9 +1479,8 @@ print sum # outputs "15"
 @break@ and @continue@ are extended to closures.
 
 @continue@ exits the closure.
-If the closure expects a return value, @continue@ is also used to return the correct value.
-As with method definition, closure allows one-liners.
-Moreover, the @do continue value@ syntax can be replaced by @= value@ as in the first @sort@ example.
+If the closure expects a return value, @continue@ can also be used to return the correct value.
+As with method definition, the @do continue value@ syntax can be replaced by @= value@ as in the first @sort@ example.
 
 
 @break@ exits completely the called method.
@@ -1495,7 +1495,7 @@ The return type of the whole expression is the combination\goto{combination} of
 Closure parameters are declared with their signature between the prototype and the @do@ of the method.
 Closure invocations in the body of the method simply use the closure name (without the @!@) like a standard call.
 More than one closure parameter can be declared.
-Each one has to be declared on a separate line.
+Each has to be declared on a separate line.
 %At the method invocations, the closure name is used to associate each closure definition with each closure parameter.
 The order of the closure definitions does not matter.
 
@@ -1546,7 +1546,7 @@ end
 \subsection{Default Closures}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-A default closure can be given along with the closure parameter declaration in method.
+A default closure can be given along with the closure parameter declaration in a method.
 If there is no default closure, then the corresponding closure argument is mandatory.
 Otherwise, if there is a default closure, the corresponding closure argument is optional.
 
@@ -1600,7 +1600,7 @@ end
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 To conclude the explanation about closures, the last example shows the bracket operator\goto{operator} (@[]@) of the @Map@ interface.
-A map, like @HashMap@ is used to implement a dictionary that associates some objects (keys) to some other objects (items).
+A map, like @HashMap@, is used to implement a dictionary that associates some objects (keys) to some other objects (items).
 The operator returns the item associated to key.
 The operator has a @!def@ closure that is executed when the key is not found.
 @!def@ is expected to return the item associated with the new key so it can be stored in the hashmap then returned.
@@ -1627,14 +1627,14 @@ var x5 = map[7] # aborts since '7' was not associated
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-The specification of Nit is not yet finished.
-The major following features need at least to be implemented and documented:
+The specification of Nit is not yet completed.
+At least the major following features need to be implemented and documented:
 \begin{itemize}
-\item User-defined @enum@ with full specialization.
-\item Union an intersection types.
+\item User-defined @enum@.
+\item Union and intersection types.
 \item A usable native interface to bind Nit with system libraries and other languages.
 \end{itemize}
-Moreover, a language also need a complete and stable standard library.
+Moreover, the language also needs a complete and stable standard library.
 
 Some other topics also need a deeper analysis : exceptions, threads, parallelism, contracts, etc.
 
index c7c58cb..809a118 100644 (file)
@@ -3,6 +3,7 @@
 * fibonacci.nit: refine Int, the class of all integers, to add a Fibonacci function.
 * procedural_array.nit: simple use of arrays without defining new classes.
 * clock.nit: a simple class to track time on a wall clock.
+* int_stack.nit: simple class for a stack of integers implemented with a linked list.
 * clock_more.nit: refine clock to add comparability between clocks.
 * circular_list.nit: simple use of generic classes and nullable types to implement a double-linked circular list.
 
diff --git a/examples/int_stack.nit b/examples/int_stack.nit
new file mode 100644 (file)
index 0000000..1109bbb
--- /dev/null
@@ -0,0 +1,100 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# An example that defines and uses stacks of integers.
+# The implementation is done with a simple linked list.
+# It features: free constructors, nullable types and some adaptive typing.
+module int_stack
+
+# A stack of integer implemented by a simple linked list.
+# Note that this is only a toy class since a real linked list will gain to use
+# generics and extends interfaces, like Collection, from the standard library.
+class IntStack
+       # The head node of the list.
+       # Null means that the stack is empty.
+       private var head: nullable ISNode = null
+
+       # Add a new integer in the stack.
+       fun push(val: Int)
+       do
+               self.head = new ISNode(val, self.head)
+       end
+
+       # Remove and return the last pushed integer.
+       # Return null if the stack is empty.
+       fun pop: nullable Int
+       do
+               var head = self.head
+               if head == null then return null
+               # Note: the followings are statically safe because of the
+               # previous 'if'.
+               var val = head.val
+               self.head = head.next
+               return val
+       end
+
+       # Return the sum of all integers of the stack.
+       # Return 0 if the stack is empty.
+       fun sumall: Int
+       do
+               var sum = 0
+               var cur = self.head
+               while cur != null do
+                       # Note: the followings are statically safe because of
+                       # the condition of the 'while'.
+                       sum += cur.val
+                       cur = cur.next
+               end
+               return sum
+       end
+
+       # Note: Because all attributes have a default value, a free constructor
+       # "init()" is implicitly defined.
+end
+
+# A node of a IntStack
+private class ISNode
+       # The integer value stored in the node.
+       var val: Int
+
+       # The next node, if any.
+       var next: nullable ISNode
+
+       # Note: A free constructor "init(val: Int, next: nullable ISNode)" is
+       # implicitly defined.
+end
+
+var l = new IntStack
+l.push(1)
+l.push(2)
+l.push(3)
+
+print l.sumall
+
+# Note: the 'for' control structure cannot be used on IntStack in its current state.
+# It requires a more advanced topic.
+# However, why not using the 'loop' control structure?
+loop
+       var i = l.pop
+       if i == null then break
+       # The following is statically safe because of the previous 'if'.
+       print i * 10
+end
+
+# Note: 'or else' is used to give an alternative of a null expression.
+l.push(5)
+print l.pop or else 0 # l.pop gives 5, so print 5
+print l.pop or else 0 # l.pop gives null, so print the alternative: 0
+
+
index d37ac7b..162beec 100644 (file)
@@ -17,7 +17,7 @@ package string_search
 import string
 
 # Patterns are string motifs.
-class Pattern
+interface Pattern
        # Search `self' into `s' from a certain position.
        # Return the position of the first character of the matching section.
        # Return -1 if not found.
index 8dcadba..a6b9a71 100644 (file)
@@ -97,7 +97,7 @@ redef class MMModule
                var v = new CompilerVisitor(self, cprogram)
                v.add_decl("#include <nit_common.h>")
 
-               var native_name = location.file.strip_extension(".nit")
+               var native_name = location.file.filename.strip_extension(".nit")
                var native_header = native_name + "_nit.h"
                if native_header.file_exists then
                        v.add_decl("#include <{native_header.basename("")}>")
index da63476..1a5aa73 100644 (file)
@@ -116,7 +116,7 @@ redef class MMModule
        # Compile module file for the current module
        fun compile_local_table_to_c(v: CompilerVisitor)
        do
-               v.add_instr("const char *LOCATE_{name} = \"{location.file}\";")
+               v.add_instr("const char *LOCATE_{name} = \"{location.file.filename}\";")
 
                if v.program.tc.use_SFT_optimization or local_table.is_empty then
                        return
index 00e87c4..40894fe 100644 (file)
@@ -168,7 +168,7 @@ class I2CCompilerVisitor
                if l != null then
                        visitor.add_indent(w)
                        w.add("/* ")
-                       w.add(l.file)
+                       w.add(l.file.filename)
                        w.add(":")
                        w.add(l.line_start.to_s)
                        w.add(" */\n")
index c6e4dee..0603050 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# This module is used to model Nit source-file and locations in source-file
 package location
 
+# A raw text Nit source file
+class SourceFile
+       # The path of the source
+       var filename: String
+
+       # The content of the source
+       var string: String
+
+       # Create a new sourcefile using a filename and a stream
+       init(filename: String, stream: IStream)
+       do
+               self.filename = filename
+               string = stream.read_all
+               line_starts[0] = 0
+       end
+
+       # Position of each line start
+       var line_starts: Array[Int] = new Array[Int]
+end
+
+# A location inside a source file
 class Location
        super Comparable
        redef type OTHER: Location
 
-       readable var _file: String
+       readable var _file: nullable SourceFile
        readable var _line_start: Int
        readable var _line_end: Int
        readable var _column_start: Int
        readable var _column_end: Int
 
-       init(f: String, line_s: Int, line_e: Int, column_s: Int, column_e: Int) do
+       init(f: nullable SourceFile, line_s: Int, line_e: Int, column_s: Int, column_e: Int) do
                _file = f
                _line_start = line_s
                _line_end = line_e
@@ -34,7 +56,7 @@ class Location
                _column_end = column_e
        end
 
-       init with_file(f: String) do init(f,0,0,0,0)
+       init with_file(f: SourceFile) do init(f,0,0,0,0)
 
        redef fun ==(other: nullable Object): Bool do
                if other == null then return false
@@ -68,8 +90,11 @@ class Location
        end
 
        redef fun to_s: String do
-               var file_part = file
-               if file_part.length > 0 then file_part += ":"
+               var file_part = ""
+               if file != null then
+                       file_part = file.filename
+                       if file.filename.length > 0 then file_part += ":"
+               end
 
                if line_start == line_end then
                        if column_start == column_end then
@@ -85,7 +110,7 @@ class Location
        fun relative_to(loc: nullable Location): String do
                var relative: Location
                if loc != null and loc.file == self.file then
-                       relative = new Location("", self.line_start, self.line_end, self.column_start, self.column_end)
+                       relative = new Location(null, self.line_start, self.line_end, self.column_start, self.column_end)
                else
                        relative = new Location(self.file, self.line_start, self.line_end, self.column_start, self.column_end)
                end
index df18ab0..e3abaf0 100644 (file)
@@ -362,9 +362,9 @@ abstract class MMType
        # 'c' Must be a super-class of self
        # Example:
        #   class A[E]
-       #   class B[F] special A[F]
-       #   class C[G] special B[String]
-       #   class D special C[Float]
+       #   class B[F] super A[F]
+       #   class C[G] super B[String]
+       #   class D super C[Float]
        # 'A[Int]'.upcast_for('A') -> 'A[Int]'
        # 'A[Int]'.upcast_for('B') -> abort
        # 'B[Int]'.upcast_for('B') -> 'B[Int]'
index 9a6eeb1..678ecc7 100644 (file)
@@ -37,7 +37,8 @@ class Message
                return location.as(not null) < other.location.as(not null)
        end
 
-       redef fun to_s: String do
+       redef fun to_s: String
+       do
                var l = location
                if l == null then
                        return text
@@ -45,6 +46,50 @@ class Message
                        return "{l}: {text}"
                end
        end
+
+       fun to_color_string: String
+       do
+               var esc = 27.ascii
+               var red = "{esc}[0;31m"
+               var bred = "{esc}[1;31m"
+               var green = "{esc}[0;32m"
+               var yellow = "{esc}[0;33m"
+               var def = "{esc}[0m"
+
+               var l = location
+               if l == null then
+                       return text
+               else if l.file == null then
+                       return "{yellow}{l}{def}: {text}"
+               else
+                       var i = location.line_start
+                       var line_start = l.file.line_starts[i-1]
+                       var line_end = line_start
+                       var string = l.file.string
+                       while line_end+1 < string.length and string[line_end+1] != '\n' and string[line_end+1] != '\r' do
+                               line_end += 1
+                       end
+                       print "{i-1}: {line_start} && {line_end}"
+                       var lstart = string.substring(line_start, location.column_start - 1)
+                       var cend
+                       if i != location.line_end then
+                               cend = line_end - line_start + 1
+                       else
+                               cend = location.column_end
+                       end
+                       var lmid = string.substring(line_start + location.column_start - 1, cend - location.column_start + 1)
+                       var lend = string.substring(line_start + cend, line_end - line_start - cend + 1)
+                       var indent = new Buffer
+                       for j in [line_start..line_start+location.column_start-1[ do
+                               if string[j] == '\t' then
+                                       indent.add '\t'
+                               else
+                                       indent.add ' '
+                               end
+                       end
+                       return "{yellow}{l}{def}: {text}\n\t{lstart}{bred}{lmid}{def}{lend}\n\t{indent}^"
+               end
+       end
 end
 
 # Global context for tools
@@ -69,7 +114,11 @@ class ToolContext
                        _message_sorter.sort(_messages)
 
                        for m in _messages do
-                               stderr.write("{m}\n")
+                               if opt_no_color.value then
+                                       stderr.write("{m}\n")
+                               else
+                                       stderr.write("{m.to_color_string}\n")
+                               end
                        end
 
                        _messages.clear
@@ -83,6 +132,7 @@ class ToolContext
        do
                _messages.add(new Message(l,s))
                _error_count = _error_count + 1
+               if opt_stop_on_first_error.value then check_errors
        end
 
        # Add an error, show errors and quit
@@ -102,6 +152,7 @@ class ToolContext
                else
                        _error_count = _error_count + 1
                end
+               if opt_stop_on_first_error.value then check_errors
        end
 
        # Display an info
@@ -148,13 +199,19 @@ class ToolContext
        # Option --verbose
        readable var _opt_verbose: OptionCount = new OptionCount("Verbose", "-v", "--verbose")
 
+       # Option --stop-on-first-error
+       readable var _opt_stop_on_first_error: OptionBool = new OptionBool("Stop on first error", "--stop-on-first-error")
+
+       # Option --no-color
+       readable var _opt_no_color: OptionBool = new OptionBool("Do not use color to display errors and warnings", "--no-color")
+
        # Verbose level
        readable var _verbose_level: Int = 0
 
        init
        do
                super
-               option_context.add_option(opt_warn, opt_path, opt_log, opt_log_dir, opt_only_parse, opt_only_metamodel, opt_help, opt_version, opt_verbose)
+               option_context.add_option(opt_warn, opt_stop_on_first_error, opt_no_color, opt_path, opt_log, opt_log_dir, opt_only_parse, opt_only_metamodel, opt_help, opt_version, opt_verbose)
        end
 
        # Parse and process the options given on the command line
index e66dc87..5b830d1 100644 (file)
@@ -1207,17 +1207,11 @@ class Lexer
        # Lexer current state
        var _state: Int = 0
 
-       # Name of the stream (as given to tokens)
-       readable var _filename: String
+       # The source file
+       readable var _file: SourceFile
 
-       # Input stream where character are read
-       var _stream: IStream
-
-       # Pushback buffer to store unread character
-       var _stream_buf: Buffer
-
-       # Number of character stored in the pushback buffer
-       var _stream_pos: Int
+       # Current character in the stream
+       var _stream_pos: Int = 0
 
        # Current line number in the input stream
        var _line: Int = 0
@@ -1228,23 +1222,13 @@ class Lexer
        # Was the last character a cariage-return?
        var _cr: Bool = false
 
-       # If the end of stream?
-       var _eof: Bool = false
-
-       # Current working text read from the input stream
-       var _text: Buffer
-
        # Constante state values
        private fun state_initial: Int do return 0 end
 
        # Create a new lexer for a stream (and a name)
-       init(stream: IStream, fname: String)
+       init(file: SourceFile)
        do
-               _filename = fname
-               _text = new Buffer
-               _stream = stream
-               _stream_pos = -1
-               _stream_buf = new Buffer
+               _file = file
        end
 
        # Give the next token (but do not consume it)
@@ -1272,8 +1256,12 @@ class Lexer
        do
                var dfa_state = 0
 
+               var sp = _stream_pos
+               var start_stream_pos = sp
                var start_pos = _pos
                var start_line = _line
+               var string = _file.string
+               var string_len = string.length
 
                var accept_state = -1
                var accept_token = -1
@@ -1281,34 +1269,35 @@ class Lexer
                var accept_pos = -1
                var accept_line = -1
 
-               var text = _text
-               text.clear
-
                loop
-                       var c = get_char
+                       if sp >= string_len then
+                               dfa_state = -1
+                       else
+                               var c = string[sp].ascii
+                               sp += 1
 
-                       if c != -1 then
                                var cr = _cr
                                var line = _line
                                var pos = _pos
                                if c == 10 then
                                        if cr then
                                                cr = false
+                                               _file.line_starts[line] = sp
                                        else
                                                line = line + 1
                                                pos = 0
+                                               _file.line_starts[line] = sp
                                        end
                                else if c == 13 then
                                        line = line + 1
                                        pos = 0
                                        cr = true
+                                       _file.line_starts[line] = sp
                                else
                                        pos = pos + 1
                                        cr = false
                                end
 
-                               text.add(c.ascii)
-
                                loop
                                        var old_state = dfa_state
                                        if dfa_state < -1 then
@@ -1341,8 +1330,6 @@ class Lexer
                                _cr = cr
                                _line = line
                                _pos = pos
-                       else
-                               dfa_state = -1
                        end
 
                        if dfa_state >= 0 then
@@ -1350,29 +1337,29 @@ class Lexer
                                if tok != -1 then
                                        accept_state = dfa_state
                                        accept_token = tok
-                                       accept_length = text.length
+                                       accept_length = sp - start_stream_pos
                                        accept_pos = _pos
                                        accept_line = _line
                                end
                        else
                                if accept_state != -1 then
-                                       var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
+                                       var location = new Location(_file, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
                                        _pos = accept_pos
                                        _line = accept_line
-                                       push_back(accept_length)
+                                       _stream_pos = start_stream_pos + accept_length
                                        if accept_token == 0 then
                                                return null
                                        end
                                        if accept_token == 1 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TEol.init_tk(token_text, location)
                                        end
                                        if accept_token == 2 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TComment.init_tk(token_text, location)
                                        end
                                        if accept_token == 3 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TKwmodule.init_tk(token_text, location)
                                        end
                                        if accept_token == 4 then
@@ -1388,7 +1375,7 @@ class Lexer
                                                return new TKwinterface.init_tk(location)
                                        end
                                        if accept_token == 8 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TKwenum.init_tk(token_text, location)
                                        end
                                        if accept_token == 9 then
@@ -1605,48 +1592,50 @@ class Lexer
                                                return new TBang.init_tk(location)
                                        end
                                        if accept_token == 80 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TClassid.init_tk(token_text, location)
                                        end
                                        if accept_token == 81 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TId.init_tk(token_text, location)
                                        end
                                        if accept_token == 82 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TAttrid.init_tk(token_text, location)
                                        end
                                        if accept_token == 83 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TNumber.init_tk(token_text, location)
                                        end
                                        if accept_token == 84 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TFloat.init_tk(token_text, location)
                                        end
                                        if accept_token == 85 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TChar.init_tk(token_text, location)
                                        end
                                        if accept_token == 86 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TString.init_tk(token_text, location)
                                        end
                                        if accept_token == 87 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TStartString.init_tk(token_text, location)
                                        end
                                        if accept_token == 88 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TMidString.init_tk(token_text, location)
                                        end
                                        if accept_token == 89 then
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new TEndString.init_tk(token_text, location)
                                        end
                                else
-                                       var location = new Location(_filename, start_line + 1, start_line + 1, start_pos + 1, start_pos + 1)
-                                       if text.length > 0 then
+                                       _stream_pos = sp
+                                       var location = new Location(_file, start_line + 1, start_line + 1, start_pos + 1, start_pos + 1)
+                                       if sp > start_stream_pos then
+                                               var text = string.substring(start_stream_pos, sp-start_stream_pos)
                                                var token = new AError.init_error("Syntax error: unknown token {text}.", location)
                                                return token
                                        else
@@ -1657,45 +1646,5 @@ class Lexer
                        end
                end
        end
-
-       # Read the next character.
-       # The character is read from the stream of from the pushback buffer.
-       private fun get_char: Int
-       do
-               if _eof then
-                       return -1
-               end
-
-               var result: Int
-
-               var sp = _stream_pos
-               if sp >= 0 then
-                       var res = _stream_buf[_stream_pos]
-                       _stream_pos = sp - 1
-                       result = res.ascii
-               else
-                       result = _stream.read_char
-               end
-
-               if result == -1 then
-                       _eof = true
-               end
-
-               return result
-       end
-
-       # Unread some characters.
-       # Unread characters are stored in the pushback buffer.
-       private fun push_back(accept_length: Int)
-       do
-               var length = _text.length
-               var i = length - 1
-               while i >= accept_length do
-                       _eof = false
-                       _stream_pos = _stream_pos + 1
-                       _stream_buf[_stream_pos] = _text[i]
-                       i = i - 1
-               end
-       end
 end
 
index 88619c5..6455b05 100644 (file)
@@ -409,8 +409,8 @@ while~withelse {-> expr}
        ;
 
 for~withelse {-> expr}
-       = kwfor no id [n2]:no kwin [n3]:no expr [n4]:no kwdo stmtso_withend label {-> New expr.for(kwfor, id, expr, kwdo, stmtso_withend.expr, label)}
-       | {nolabel} kwfor no id [n2]:no kwin [n3]:no expr [n4]:no kwdo stmtso~withelse {-> New expr.for(kwfor, id, expr, kwdo, stmtso~withelse.expr, Null)}
+       = kwfor no [ids]:idlist [n2]:no kwin [n3]:no expr [n4]:no kwdo stmtso_withend label {-> New expr.for(kwfor, [ids.id], expr, kwdo, stmtso_withend.expr, label)}
+       | {nolabel} kwfor no [ids]:idlist [n2]:no kwin [n3]:no expr [n4]:no kwdo stmtso~withelse {-> New expr.for(kwfor, [ids.id], expr, kwdo, stmtso~withelse.expr, Null)}
        ;
 
 assert~withelse {-> expr}
@@ -651,7 +651,7 @@ expr        = {block} expr*
        | {ifexpr} kwif expr kwthen [then]:expr kwelse [else]:expr
        | {while} kwwhile expr kwdo [block]:expr? label?
        | {loop} kwloop [block]:expr? label?
-       | {for} kwfor id expr kwdo [block]:expr? label?
+       | {for} kwfor [ids]:id* expr kwdo [block]:expr? label?
        | {assert} kwassert id? expr [else]:expr?
        | {once} kwonce expr 
        | {send} expr 
index 5f4bd00..f9e9f33 100644 (file)
@@ -397,452 +397,462 @@ class Parser
                        new ReduceAction244(37),
                        new ReduceAction245(37),
                        new ReduceAction246(37),
-                       new ReduceAction247(38),
-                       new ReduceAction248(38),
-                       new ReduceAction249(38),
+                       new ReduceAction247(37),
+                       new ReduceAction248(37),
+                       new ReduceAction249(37),
                        new ReduceAction250(38),
-                       new ReduceAction251(39),
-                       new ReduceAction252(39),
-                       new ReduceAction253(40),
-                       new ReduceAction254(41),
-                       new ReduceAction255(41),
-                       new ReduceAction256(41),
-                       new ReduceAction257(41),
-                       new ReduceAction258(42),
-                       new ReduceAction259(42),
-                       new ReduceAction260(42),
-                       new ReduceAction261(42),
-                       new ReduceAction262(42),
+                       new ReduceAction251(38),
+                       new ReduceAction252(38),
+                       new ReduceAction253(38),
+                       new ReduceAction254(38),
+                       new ReduceAction255(38),
+                       new ReduceAction256(39),
+                       new ReduceAction257(39),
+                       new ReduceAction258(40),
+                       new ReduceAction259(41),
+                       new ReduceAction260(41),
+                       new ReduceAction261(41),
+                       new ReduceAction262(41),
                        new ReduceAction263(42),
                        new ReduceAction264(42),
                        new ReduceAction265(42),
                        new ReduceAction266(42),
                        new ReduceAction267(42),
-                       new ReduceAction268(43),
-                       new ReduceAction269(43),
-                       new ReduceAction270(44),
-                       new ReduceAction271(44),
-                       new ReduceAction272(45),
-                       new ReduceAction273(45),
-                       new ReduceAction274(45),
-                       new ReduceAction275(45),
-                       new ReduceAction276(45),
+                       new ReduceAction268(42),
+                       new ReduceAction269(42),
+                       new ReduceAction270(42),
+                       new ReduceAction271(42),
+                       new ReduceAction272(42),
+                       new ReduceAction273(43),
+                       new ReduceAction274(43),
+                       new ReduceAction275(44),
+                       new ReduceAction276(44),
+                       new ReduceAction277(45),
+                       new ReduceAction278(45),
+                       new ReduceAction279(45),
+                       new ReduceAction280(45),
+                       new ReduceAction281(45),
                        new ReduceAction210(46),
                        new ReduceAction36(46),
-                       new ReduceAction279(47),
-                       new ReduceAction280(47),
-                       new ReduceAction281(48),
-                       new ReduceAction282(48),
-                       new ReduceAction283(49),
-                       new ReduceAction284(49),
-                       new ReduceAction285(50),
-                       new ReduceAction286(50),
-                       new ReduceAction287(50),
-                       new ReduceAction288(50),
-                       new ReduceAction289(51),
+                       new ReduceAction284(47),
+                       new ReduceAction285(47),
+                       new ReduceAction286(48),
+                       new ReduceAction287(48),
+                       new ReduceAction288(49),
+                       new ReduceAction289(49),
+                       new ReduceAction290(49),
+                       new ReduceAction291(49),
+                       new ReduceAction292(50),
+                       new ReduceAction293(50),
+                       new ReduceAction294(50),
+                       new ReduceAction295(50),
+                       new ReduceAction296(51),
                        new ReduceAction205(52),
                        new ReduceAction232(52),
                        new ReduceAction233(52),
-                       new ReduceAction293(52),
+                       new ReduceAction300(52),
                        new ReduceAction205(53),
-                       new ReduceAction295(53),
+                       new ReduceAction302(53),
                        new ReduceAction205(54),
-                       new ReduceAction297(54),
-                       new ReduceAction298(54),
-                       new ReduceAction299(54),
+                       new ReduceAction304(54),
+                       new ReduceAction305(54),
+                       new ReduceAction306(54),
                        new ReduceAction205(55),
-                       new ReduceAction301(55),
+                       new ReduceAction308(55),
                        new ReduceAction205(56),
-                       new ReduceAction303(56),
-                       new ReduceAction304(56),
-                       new ReduceAction305(56),
-                       new ReduceAction306(56),
-                       new ReduceAction307(56),
-                       new ReduceAction308(56),
-                       new ReduceAction309(56),
                        new ReduceAction310(56),
                        new ReduceAction311(56),
                        new ReduceAction312(56),
                        new ReduceAction313(56),
+                       new ReduceAction314(56),
+                       new ReduceAction315(56),
+                       new ReduceAction316(56),
+                       new ReduceAction317(56),
+                       new ReduceAction318(56),
+                       new ReduceAction319(56),
+                       new ReduceAction320(56),
                        new ReduceAction205(57),
-                       new ReduceAction315(57),
-                       new ReduceAction316(57),
+                       new ReduceAction322(57),
+                       new ReduceAction323(57),
                        new ReduceAction205(58),
-                       new ReduceAction318(58),
-                       new ReduceAction319(58),
-                       new ReduceAction320(58),
+                       new ReduceAction325(58),
+                       new ReduceAction326(58),
+                       new ReduceAction327(58),
                        new ReduceAction205(59),
-                       new ReduceAction322(59),
-                       new ReduceAction323(59),
+                       new ReduceAction329(59),
+                       new ReduceAction330(59),
                        new ReduceAction205(60),
-                       new ReduceAction325(60),
-                       new ReduceAction326(60),
-                       new ReduceAction327(60),
-                       new ReduceAction328(61),
-                       new ReduceAction329(61),
+                       new ReduceAction332(60),
+                       new ReduceAction333(60),
+                       new ReduceAction334(60),
+                       new ReduceAction335(61),
+                       new ReduceAction336(61),
                        new ReduceAction230(61),
                        new ReduceAction231(61),
                        new ReduceAction234(61),
                        new ReduceAction235(61),
                        new ReduceAction236(61),
                        new ReduceAction237(61),
-                       new ReduceAction336(61),
-                       new ReduceAction337(61),
-                       new ReduceAction338(61),
-                       new ReduceAction339(61),
-                       new ReduceAction340(61),
-                       new ReduceAction341(61),
-                       new ReduceAction342(61),
                        new ReduceAction343(61),
                        new ReduceAction344(61),
                        new ReduceAction345(61),
                        new ReduceAction346(61),
                        new ReduceAction347(61),
                        new ReduceAction348(61),
-                       new ReduceAction205(61),
-                       new ReduceAction202(61),
+                       new ReduceAction349(61),
+                       new ReduceAction350(61),
                        new ReduceAction351(61),
                        new ReduceAction352(61),
-                       new ReduceAction353(62),
-                       new ReduceAction354(62),
-                       new ReduceAction355(63),
-                       new ReduceAction356(64),
-                       new ReduceAction355(65),
-                       new ReduceAction358(66),
-                       new ReduceAction359(67),
-                       new ReduceAction360(68),
-                       new ReduceAction361(68),
+                       new ReduceAction353(61),
+                       new ReduceAction354(61),
+                       new ReduceAction355(61),
+                       new ReduceAction205(61),
+                       new ReduceAction202(61),
+                       new ReduceAction358(61),
+                       new ReduceAction359(61),
+                       new ReduceAction360(62),
+                       new ReduceAction361(62),
+                       new ReduceAction362(63),
+                       new ReduceAction363(64),
+                       new ReduceAction362(65),
+                       new ReduceAction365(66),
+                       new ReduceAction366(67),
+                       new ReduceAction367(68),
+                       new ReduceAction368(68),
                        new ReduceAction181(68),
-                       new ReduceAction363(68),
-                       new ReduceAction360(69),
-                       new ReduceAction361(69),
-                       new ReduceAction366(69),
+                       new ReduceAction370(68),
+                       new ReduceAction367(69),
+                       new ReduceAction368(69),
+                       new ReduceAction373(69),
                        new ReduceAction181(69),
-                       new ReduceAction363(69),
-                       new ReduceAction360(70),
-                       new ReduceAction361(70),
-                       new ReduceAction371(71),
-                       new ReduceAction372(72),
-                       new ReduceAction373(72),
-                       new ReduceAction374(73),
-                       new ReduceAction375(73),
-                       new ReduceAction376(74),
-                       new ReduceAction377(74),
-                       new ReduceAction378(74),
-                       new ReduceAction379(75),
-                       new ReduceAction380(76),
-                       new ReduceAction381(77),
-                       new ReduceAction381(77),
-                       new ReduceAction383(78),
-                       new ReduceAction384(78),
-                       new ReduceAction36(78),
+                       new ReduceAction370(69),
+                       new ReduceAction367(70),
+                       new ReduceAction368(70),
+                       new ReduceAction378(71),
+                       new ReduceAction379(72),
+                       new ReduceAction380(72),
+                       new ReduceAction381(73),
+                       new ReduceAction382(73),
+                       new ReduceAction383(73),
+                       new ReduceAction384(74),
+                       new ReduceAction385(75),
+                       new ReduceAction386(76),
+                       new ReduceAction386(76),
+                       new ReduceAction388(77),
+                       new ReduceAction389(77),
+                       new ReduceAction36(77),
+                       new ReduceAction391(78),
+                       new ReduceAction392(78),
+                       new ReduceAction393(79),
+                       new ReduceAction394(79),
                        new ReduceAction386(79),
-                       new ReduceAction387(79),
-                       new ReduceAction388(80),
-                       new ReduceAction389(80),
-                       new ReduceAction381(80),
-                       new ReduceAction66(81),
-                       new ReduceAction67(82),
-                       new ReduceAction68(82),
-                       new ReduceAction69(82),
-                       new ReduceAction70(82),
-                       new ReduceAction71(82),
-                       new ReduceAction72(82),
-                       new ReduceAction77(82),
-                       new ReduceAction78(82),
-                       new ReduceAction79(82),
-                       new ReduceAction80(82),
-                       new ReduceAction167(83),
-                       new ReduceAction168(83),
-                       new ReduceAction169(83),
-                       new ReduceAction170(83),
-                       new ReduceAction194(84),
-                       new ReduceAction195(84),
+                       new ReduceAction66(80),
+                       new ReduceAction67(81),
+                       new ReduceAction68(81),
+                       new ReduceAction69(81),
+                       new ReduceAction70(81),
+                       new ReduceAction71(81),
+                       new ReduceAction72(81),
+                       new ReduceAction77(81),
+                       new ReduceAction78(81),
+                       new ReduceAction79(81),
+                       new ReduceAction80(81),
+                       new ReduceAction167(82),
+                       new ReduceAction168(82),
+                       new ReduceAction169(82),
+                       new ReduceAction170(82),
+                       new ReduceAction194(83),
+                       new ReduceAction195(83),
+                       new ReduceAction205(84),
+                       new ReduceAction232(84),
+                       new ReduceAction233(84),
                        new ReduceAction205(85),
-                       new ReduceAction232(85),
-                       new ReduceAction233(85),
+                       new ReduceAction302(85),
                        new ReduceAction205(86),
-                       new ReduceAction295(86),
+                       new ReduceAction304(86),
+                       new ReduceAction305(86),
+                       new ReduceAction306(86),
                        new ReduceAction205(87),
-                       new ReduceAction297(87),
-                       new ReduceAction298(87),
-                       new ReduceAction299(87),
+                       new ReduceAction308(87),
                        new ReduceAction205(88),
-                       new ReduceAction301(88),
+                       new ReduceAction310(88),
+                       new ReduceAction311(88),
+                       new ReduceAction312(88),
+                       new ReduceAction313(88),
+                       new ReduceAction314(88),
+                       new ReduceAction315(88),
+                       new ReduceAction316(88),
+                       new ReduceAction317(88),
+                       new ReduceAction318(88),
+                       new ReduceAction319(88),
+                       new ReduceAction320(88),
                        new ReduceAction205(89),
-                       new ReduceAction303(89),
-                       new ReduceAction304(89),
-                       new ReduceAction305(89),
-                       new ReduceAction306(89),
-                       new ReduceAction307(89),
-                       new ReduceAction308(89),
-                       new ReduceAction309(89),
-                       new ReduceAction310(89),
-                       new ReduceAction311(89),
-                       new ReduceAction312(89),
-                       new ReduceAction313(89),
+                       new ReduceAction322(89),
+                       new ReduceAction323(89),
                        new ReduceAction205(90),
-                       new ReduceAction315(90),
-                       new ReduceAction316(90),
+                       new ReduceAction325(90),
+                       new ReduceAction326(90),
+                       new ReduceAction327(90),
                        new ReduceAction205(91),
-                       new ReduceAction318(91),
-                       new ReduceAction319(91),
-                       new ReduceAction320(91),
+                       new ReduceAction329(91),
+                       new ReduceAction330(91),
                        new ReduceAction205(92),
-                       new ReduceAction322(92),
-                       new ReduceAction323(92),
+                       new ReduceAction332(92),
+                       new ReduceAction333(92),
+                       new ReduceAction334(92),
+                       new ReduceAction335(93),
+                       new ReduceAction336(93),
+                       new ReduceAction230(93),
+                       new ReduceAction231(93),
+                       new ReduceAction234(93),
+                       new ReduceAction235(93),
+                       new ReduceAction236(93),
+                       new ReduceAction237(93),
+                       new ReduceAction344(93),
+                       new ReduceAction348(93),
+                       new ReduceAction349(93),
+                       new ReduceAction350(93),
+                       new ReduceAction351(93),
+                       new ReduceAction352(93),
+                       new ReduceAction353(93),
+                       new ReduceAction354(93),
+                       new ReduceAction355(93),
                        new ReduceAction205(93),
-                       new ReduceAction325(93),
-                       new ReduceAction326(93),
-                       new ReduceAction327(93),
-                       new ReduceAction328(94),
-                       new ReduceAction329(94),
-                       new ReduceAction230(94),
-                       new ReduceAction231(94),
-                       new ReduceAction234(94),
-                       new ReduceAction235(94),
-                       new ReduceAction236(94),
-                       new ReduceAction237(94),
-                       new ReduceAction337(94),
-                       new ReduceAction341(94),
-                       new ReduceAction342(94),
-                       new ReduceAction343(94),
-                       new ReduceAction344(94),
-                       new ReduceAction345(94),
-                       new ReduceAction346(94),
-                       new ReduceAction347(94),
-                       new ReduceAction348(94),
-                       new ReduceAction205(94),
+                       new ReduceAction202(93),
+                       new ReduceAction358(93),
+                       new ReduceAction359(93),
                        new ReduceAction202(94),
-                       new ReduceAction351(94),
-                       new ReduceAction352(94),
-                       new ReduceAction202(95),
-                       new ReduceAction203(95),
-                       new ReduceAction204(95),
+                       new ReduceAction203(94),
+                       new ReduceAction204(94),
+                       new ReduceAction205(94),
                        new ReduceAction205(95),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction213(96),
-                       new ReduceAction214(96),
-                       new ReduceAction215(96),
-                       new ReduceAction216(96),
-                       new ReduceAction217(96),
-                       new ReduceAction218(96),
-                       new ReduceAction219(96),
-                       new ReduceAction220(96),
-                       new ReduceAction221(96),
-                       new ReduceAction222(96),
-                       new ReduceAction223(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction205(96),
-                       new ReduceAction230(96),
-                       new ReduceAction231(96),
-                       new ReduceAction232(96),
-                       new ReduceAction233(96),
-                       new ReduceAction234(96),
-                       new ReduceAction235(96),
-                       new ReduceAction236(96),
-                       new ReduceAction237(96),
-                       new ReduceAction239(97),
-                       new ReduceAction240(97),
-                       new ReduceAction241(98),
-                       new ReduceAction242(98),
-                       new ReduceAction243(98),
-                       new ReduceAction244(98),
-                       new ReduceAction245(98),
-                       new ReduceAction246(98),
-                       new ReduceAction253(99),
-                       new ReduceAction254(100),
-                       new ReduceAction255(100),
-                       new ReduceAction256(100),
-                       new ReduceAction257(100),
-                       new ReduceAction258(101),
-                       new ReduceAction259(101),
-                       new ReduceAction260(101),
-                       new ReduceAction261(101),
-                       new ReduceAction262(101),
-                       new ReduceAction263(101),
-                       new ReduceAction264(101),
-                       new ReduceAction265(101),
-                       new ReduceAction266(101),
-                       new ReduceAction267(101),
-                       new ReduceAction270(102),
-                       new ReduceAction271(102),
-                       new ReduceAction272(103),
-                       new ReduceAction279(104),
-                       new ReduceAction280(104),
-                       new ReduceAction281(105),
-                       new ReduceAction282(105),
-                       new ReduceAction283(106),
-                       new ReduceAction284(106),
-                       new ReduceAction285(107),
-                       new ReduceAction286(107),
+                       new ReduceAction205(95),
+                       new ReduceAction213(95),
+                       new ReduceAction214(95),
+                       new ReduceAction215(95),
+                       new ReduceAction216(95),
+                       new ReduceAction217(95),
+                       new ReduceAction218(95),
+                       new ReduceAction219(95),
+                       new ReduceAction220(95),
+                       new ReduceAction221(95),
+                       new ReduceAction222(95),
+                       new ReduceAction223(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction205(95),
+                       new ReduceAction230(95),
+                       new ReduceAction231(95),
+                       new ReduceAction232(95),
+                       new ReduceAction233(95),
+                       new ReduceAction234(95),
+                       new ReduceAction235(95),
+                       new ReduceAction236(95),
+                       new ReduceAction237(95),
+                       new ReduceAction239(96),
+                       new ReduceAction240(96),
+                       new ReduceAction241(97),
+                       new ReduceAction242(97),
+                       new ReduceAction243(97),
+                       new ReduceAction244(97),
+                       new ReduceAction245(97),
+                       new ReduceAction246(97),
+                       new ReduceAction247(97),
+                       new ReduceAction248(97),
+                       new ReduceAction249(97),
+                       new ReduceAction258(98),
+                       new ReduceAction259(99),
+                       new ReduceAction260(99),
+                       new ReduceAction261(99),
+                       new ReduceAction262(99),
+                       new ReduceAction263(100),
+                       new ReduceAction264(100),
+                       new ReduceAction265(100),
+                       new ReduceAction266(100),
+                       new ReduceAction267(100),
+                       new ReduceAction268(100),
+                       new ReduceAction269(100),
+                       new ReduceAction270(100),
+                       new ReduceAction271(100),
+                       new ReduceAction272(100),
+                       new ReduceAction275(101),
+                       new ReduceAction276(101),
+                       new ReduceAction277(102),
+                       new ReduceAction284(103),
+                       new ReduceAction285(103),
+                       new ReduceAction286(104),
+                       new ReduceAction287(104),
+                       new ReduceAction288(105),
+                       new ReduceAction289(105),
+                       new ReduceAction290(105),
+                       new ReduceAction291(105),
+                       new ReduceAction292(106),
+                       new ReduceAction293(106),
+                       new ReduceAction205(107),
+                       new ReduceAction232(107),
+                       new ReduceAction233(107),
+                       new ReduceAction300(107),
                        new ReduceAction205(108),
                        new ReduceAction232(108),
                        new ReduceAction233(108),
-                       new ReduceAction293(108),
-                       new ReduceAction205(109),
-                       new ReduceAction232(109),
-                       new ReduceAction233(109),
+                       new ReduceAction202(109),
+                       new ReduceAction203(109),
+                       new ReduceAction204(109),
                        new ReduceAction202(110),
                        new ReduceAction203(110),
                        new ReduceAction204(110),
-                       new ReduceAction202(111),
-                       new ReduceAction203(111),
-                       new ReduceAction204(111),
+                       new ReduceAction205(111),
+                       new ReduceAction232(111),
+                       new ReduceAction233(111),
                        new ReduceAction205(112),
-                       new ReduceAction232(112),
-                       new ReduceAction233(112),
+                       new ReduceAction302(112),
                        new ReduceAction205(113),
-                       new ReduceAction295(113),
+                       new ReduceAction304(113),
+                       new ReduceAction305(113),
+                       new ReduceAction306(113),
                        new ReduceAction205(114),
-                       new ReduceAction297(114),
-                       new ReduceAction298(114),
-                       new ReduceAction299(114),
+                       new ReduceAction308(114),
                        new ReduceAction205(115),
-                       new ReduceAction301(115),
+                       new ReduceAction310(115),
+                       new ReduceAction311(115),
+                       new ReduceAction312(115),
+                       new ReduceAction313(115),
+                       new ReduceAction314(115),
+                       new ReduceAction315(115),
+                       new ReduceAction316(115),
+                       new ReduceAction317(115),
+                       new ReduceAction318(115),
+                       new ReduceAction319(115),
+                       new ReduceAction320(115),
                        new ReduceAction205(116),
-                       new ReduceAction303(116),
-                       new ReduceAction304(116),
-                       new ReduceAction305(116),
-                       new ReduceAction306(116),
-                       new ReduceAction307(116),
-                       new ReduceAction308(116),
-                       new ReduceAction309(116),
-                       new ReduceAction310(116),
-                       new ReduceAction311(116),
-                       new ReduceAction312(116),
-                       new ReduceAction313(116),
+                       new ReduceAction322(116),
+                       new ReduceAction323(116),
                        new ReduceAction205(117),
-                       new ReduceAction315(117),
-                       new ReduceAction316(117),
+                       new ReduceAction325(117),
+                       new ReduceAction326(117),
+                       new ReduceAction327(117),
                        new ReduceAction205(118),
-                       new ReduceAction318(118),
-                       new ReduceAction319(118),
-                       new ReduceAction320(118),
+                       new ReduceAction329(118),
+                       new ReduceAction330(118),
                        new ReduceAction205(119),
-                       new ReduceAction322(119),
-                       new ReduceAction323(119),
+                       new ReduceAction332(119),
+                       new ReduceAction333(119),
+                       new ReduceAction334(119),
+                       new ReduceAction335(120),
+                       new ReduceAction336(120),
+                       new ReduceAction230(120),
+                       new ReduceAction231(120),
+                       new ReduceAction234(120),
+                       new ReduceAction235(120),
+                       new ReduceAction236(120),
+                       new ReduceAction237(120),
+                       new ReduceAction343(120),
+                       new ReduceAction344(120),
+                       new ReduceAction348(120),
+                       new ReduceAction349(120),
+                       new ReduceAction350(120),
+                       new ReduceAction351(120),
+                       new ReduceAction352(120),
+                       new ReduceAction353(120),
+                       new ReduceAction354(120),
+                       new ReduceAction355(120),
                        new ReduceAction205(120),
-                       new ReduceAction325(120),
-                       new ReduceAction326(120),
-                       new ReduceAction327(120),
-                       new ReduceAction328(121),
-                       new ReduceAction329(121),
-                       new ReduceAction230(121),
-                       new ReduceAction231(121),
-                       new ReduceAction234(121),
-                       new ReduceAction235(121),
-                       new ReduceAction236(121),
-                       new ReduceAction237(121),
-                       new ReduceAction336(121),
-                       new ReduceAction337(121),
-                       new ReduceAction341(121),
-                       new ReduceAction342(121),
-                       new ReduceAction343(121),
-                       new ReduceAction344(121),
-                       new ReduceAction345(121),
-                       new ReduceAction346(121),
-                       new ReduceAction347(121),
-                       new ReduceAction348(121),
+                       new ReduceAction358(120),
+                       new ReduceAction359(120),
                        new ReduceAction205(121),
-                       new ReduceAction351(121),
-                       new ReduceAction352(121),
+                       new ReduceAction232(121),
+                       new ReduceAction233(121),
                        new ReduceAction205(122),
-                       new ReduceAction232(122),
-                       new ReduceAction233(122),
+                       new ReduceAction302(122),
                        new ReduceAction205(123),
-                       new ReduceAction295(123),
+                       new ReduceAction304(123),
+                       new ReduceAction305(123),
+                       new ReduceAction306(123),
                        new ReduceAction205(124),
-                       new ReduceAction297(124),
-                       new ReduceAction298(124),
-                       new ReduceAction299(124),
+                       new ReduceAction308(124),
                        new ReduceAction205(125),
-                       new ReduceAction301(125),
+                       new ReduceAction310(125),
+                       new ReduceAction311(125),
+                       new ReduceAction312(125),
+                       new ReduceAction313(125),
+                       new ReduceAction314(125),
+                       new ReduceAction315(125),
+                       new ReduceAction316(125),
+                       new ReduceAction317(125),
+                       new ReduceAction318(125),
+                       new ReduceAction319(125),
+                       new ReduceAction320(125),
                        new ReduceAction205(126),
-                       new ReduceAction303(126),
-                       new ReduceAction304(126),
-                       new ReduceAction305(126),
-                       new ReduceAction306(126),
-                       new ReduceAction307(126),
-                       new ReduceAction308(126),
-                       new ReduceAction309(126),
-                       new ReduceAction310(126),
-                       new ReduceAction311(126),
-                       new ReduceAction312(126),
-                       new ReduceAction313(126),
+                       new ReduceAction322(126),
+                       new ReduceAction323(126),
                        new ReduceAction205(127),
-                       new ReduceAction315(127),
-                       new ReduceAction316(127),
+                       new ReduceAction325(127),
+                       new ReduceAction326(127),
+                       new ReduceAction327(127),
                        new ReduceAction205(128),
-                       new ReduceAction318(128),
-                       new ReduceAction319(128),
-                       new ReduceAction320(128),
+                       new ReduceAction329(128),
+                       new ReduceAction330(128),
                        new ReduceAction205(129),
-                       new ReduceAction322(129),
-                       new ReduceAction323(129),
+                       new ReduceAction332(129),
+                       new ReduceAction647(129),
+                       new ReduceAction648(130),
+                       new ReduceAction649(130),
+                       new ReduceAction234(130),
+                       new ReduceAction235(130),
+                       new ReduceAction652(130),
+                       new ReduceAction344(130),
+                       new ReduceAction348(130),
+                       new ReduceAction349(130),
+                       new ReduceAction350(130),
+                       new ReduceAction351(130),
+                       new ReduceAction352(130),
+                       new ReduceAction353(130),
+                       new ReduceAction354(130),
+                       new ReduceAction355(130),
                        new ReduceAction205(130),
-                       new ReduceAction325(130),
-                       new ReduceAction637(130),
-                       new ReduceAction638(131),
-                       new ReduceAction639(131),
-                       new ReduceAction234(131),
-                       new ReduceAction235(131),
-                       new ReduceAction642(131),
-                       new ReduceAction337(131),
-                       new ReduceAction341(131),
-                       new ReduceAction342(131),
-                       new ReduceAction343(131),
-                       new ReduceAction344(131),
-                       new ReduceAction345(131),
-                       new ReduceAction346(131),
-                       new ReduceAction347(131),
-                       new ReduceAction348(131),
-                       new ReduceAction205(131),
-                       new ReduceAction351(131),
-                       new ReduceAction352(131),
-                       new ReduceAction655(132),
-                       new ReduceAction656(132),
+                       new ReduceAction358(130),
+                       new ReduceAction359(130),
+                       new ReduceAction665(131),
+                       new ReduceAction666(131),
+                       new ReduceAction205(132),
+                       new ReduceAction232(132),
+                       new ReduceAction233(132),
                        new ReduceAction205(133),
                        new ReduceAction232(133),
                        new ReduceAction233(133),
-                       new ReduceAction205(134),
-                       new ReduceAction232(134),
-                       new ReduceAction233(134),
-                       new ReduceAction663(135),
-                       new ReduceAction664(135),
-                       new ReduceAction665(136),
-                       new ReduceAction666(136),
-                       new ReduceAction667(137),
-                       new ReduceAction668(137),
-                       new ReduceAction669(138),
-                       new ReduceAction670(138),
-                       new ReduceAction667(139),
-                       new ReduceAction668(139),
-                       new ReduceAction673(140),
-                       new ReduceAction674(140),
-                       new ReduceAction675(141),
-                       new ReduceAction676(141),
-                       new ReduceAction677(142),
-                       new ReduceAction678(142),
-                       new ReduceAction198(143),
-                       new ReduceAction680(143),
-                       new ReduceAction366(144),
-                       new ReduceAction682(144),
+                       new ReduceAction673(134),
+                       new ReduceAction674(134),
+                       new ReduceAction675(135),
+                       new ReduceAction676(135),
+                       new ReduceAction677(136),
+                       new ReduceAction678(136),
+                       new ReduceAction679(137),
+                       new ReduceAction680(137),
+                       new ReduceAction677(138),
+                       new ReduceAction678(138),
+                       new ReduceAction683(139),
+                       new ReduceAction684(139),
+                       new ReduceAction685(140),
+                       new ReduceAction686(140),
+                       new ReduceAction687(141),
+                       new ReduceAction688(141),
+                       new ReduceAction198(142),
+                       new ReduceAction690(142),
+                       new ReduceAction373(143),
+                       new ReduceAction692(143),
+                       new ReduceAction693(144),
+                       new ReduceAction694(144),
                        new ReduceAction373(145),
-                       new ReduceAction684(145),
-                       new ReduceAction366(146),
-                       new ReduceAction682(146),
-                       new ReduceAction374(147),
-                       new ReduceAction688(147),
-                       new ReduceAction689(148),
-                       new ReduceAction690(148),
-                       new ReduceAction691(149),
-                       new ReduceAction692(149)
+                       new ReduceAction692(145),
+                       new ReduceAction379(146),
+                       new ReduceAction698(146),
+                       new ReduceAction699(147),
+                       new ReduceAction700(147),
+                       new ReduceAction701(148),
+                       new ReduceAction702(148)
                )
        end
 end
@@ -953,6 +963,8 @@ private abstract class ReduceAction
                l1.append(l2)
                return l1
        end
+       var _goto: Int
+       init(g: Int) do _goto = g
 end
 
 private class ReduceAction0
@@ -970,8 +982,6 @@ private class ReduceAction0
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction1
        super ReduceAction
@@ -991,8 +1001,6 @@ private class ReduceAction1
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction2
        super ReduceAction
@@ -1013,8 +1021,6 @@ private class ReduceAction2
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction3
        super ReduceAction
@@ -1038,8 +1044,6 @@ private class ReduceAction3
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction4
        super ReduceAction
@@ -1060,8 +1064,6 @@ private class ReduceAction4
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction5
        super ReduceAction
@@ -1085,8 +1087,6 @@ private class ReduceAction5
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction6
        super ReduceAction
@@ -1111,8 +1111,6 @@ private class ReduceAction6
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction7
        super ReduceAction
@@ -1140,8 +1138,6 @@ private class ReduceAction7
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction8
        super ReduceAction
@@ -1169,8 +1165,6 @@ private class ReduceAction8
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction9
        super ReduceAction
@@ -1201,8 +1195,6 @@ private class ReduceAction9
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction10
        super ReduceAction
@@ -1234,8 +1226,6 @@ private class ReduceAction10
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction11
        super ReduceAction
@@ -1270,8 +1260,6 @@ private class ReduceAction11
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction12
        super ReduceAction
@@ -1303,8 +1291,6 @@ private class ReduceAction12
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction13
        super ReduceAction
@@ -1339,8 +1325,6 @@ private class ReduceAction13
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction14
        super ReduceAction
@@ -1376,8 +1360,6 @@ private class ReduceAction14
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction15
        super ReduceAction
@@ -1416,8 +1398,6 @@ private class ReduceAction15
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction16
        super ReduceAction
@@ -1440,8 +1420,6 @@ private class ReduceAction16
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction17
        super ReduceAction
@@ -1467,8 +1445,6 @@ private class ReduceAction17
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction18
        super ReduceAction
@@ -1495,8 +1471,6 @@ private class ReduceAction18
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction19
        super ReduceAction
@@ -1526,8 +1500,6 @@ private class ReduceAction19
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction20
        super ReduceAction
@@ -1554,8 +1526,6 @@ private class ReduceAction20
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction21
        super ReduceAction
@@ -1585,8 +1555,6 @@ private class ReduceAction21
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction22
        super ReduceAction
@@ -1617,8 +1585,6 @@ private class ReduceAction22
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction23
        super ReduceAction
@@ -1652,8 +1618,6 @@ private class ReduceAction23
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction24
        super ReduceAction
@@ -1687,8 +1651,6 @@ private class ReduceAction24
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction25
        super ReduceAction
@@ -1725,8 +1687,6 @@ private class ReduceAction25
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction26
        super ReduceAction
@@ -1764,8 +1724,6 @@ private class ReduceAction26
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction27
        super ReduceAction
@@ -1806,8 +1764,6 @@ private class ReduceAction27
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction28
        super ReduceAction
@@ -1845,8 +1801,6 @@ private class ReduceAction28
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction29
        super ReduceAction
@@ -1887,8 +1841,6 @@ private class ReduceAction29
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction30
        super ReduceAction
@@ -1930,8 +1882,6 @@ private class ReduceAction30
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction31
        super ReduceAction
@@ -1976,8 +1926,6 @@ private class ReduceAction31
                                        node_list = pmodulenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction32
        super ReduceAction
@@ -2003,8 +1951,6 @@ private class ReduceAction32
                                        node_list = pmoduledeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction33
        super ReduceAction
@@ -2031,8 +1977,6 @@ private class ReduceAction33
                                        node_list = pimportnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction34
        super ReduceAction
@@ -2059,8 +2003,6 @@ private class ReduceAction34
                                        node_list = pimportnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction35
        super ReduceAction
@@ -2080,8 +2022,6 @@ private class ReduceAction35
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction36
        super ReduceAction
@@ -2092,8 +2032,6 @@ private class ReduceAction36
                                        node_list = null
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction37
        super ReduceAction
@@ -2111,8 +2049,6 @@ private class ReduceAction37
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction39
        super ReduceAction
@@ -2150,8 +2086,6 @@ private class ReduceAction39
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction40
        super ReduceAction
@@ -2192,8 +2126,6 @@ private class ReduceAction40
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction41
        super ReduceAction
@@ -2235,8 +2167,6 @@ private class ReduceAction41
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction42
        super ReduceAction
@@ -2281,8 +2211,6 @@ private class ReduceAction42
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction43
        super ReduceAction
@@ -2324,8 +2252,6 @@ private class ReduceAction43
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction44
        super ReduceAction
@@ -2370,8 +2296,6 @@ private class ReduceAction44
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction45
        super ReduceAction
@@ -2417,8 +2341,6 @@ private class ReduceAction45
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction46
        super ReduceAction
@@ -2467,8 +2389,6 @@ private class ReduceAction46
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction47
        super ReduceAction
@@ -2510,8 +2430,6 @@ private class ReduceAction47
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction48
        super ReduceAction
@@ -2556,8 +2474,6 @@ private class ReduceAction48
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction49
        super ReduceAction
@@ -2603,8 +2519,6 @@ private class ReduceAction49
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction50
        super ReduceAction
@@ -2653,8 +2567,6 @@ private class ReduceAction50
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction51
        super ReduceAction
@@ -2700,8 +2612,6 @@ private class ReduceAction51
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction52
        super ReduceAction
@@ -2750,8 +2660,6 @@ private class ReduceAction52
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction53
        super ReduceAction
@@ -2801,8 +2709,6 @@ private class ReduceAction53
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction54
        super ReduceAction
@@ -2855,8 +2761,6 @@ private class ReduceAction54
                                        node_list = pclassdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction55
        super ReduceAction
@@ -2872,8 +2776,6 @@ private class ReduceAction55
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction56
        super ReduceAction
@@ -2893,8 +2795,6 @@ private class ReduceAction56
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction57
        super ReduceAction
@@ -2910,8 +2810,6 @@ private class ReduceAction57
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction58
        super ReduceAction
@@ -2927,8 +2825,6 @@ private class ReduceAction58
                                        node_list = pclasskindnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction59
        super ReduceAction
@@ -2948,8 +2844,6 @@ private class ReduceAction59
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction60
        super ReduceAction
@@ -2973,8 +2867,6 @@ private class ReduceAction60
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction61
        super ReduceAction
@@ -2988,8 +2880,6 @@ private class ReduceAction61
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction62
        super ReduceAction
@@ -3006,8 +2896,6 @@ private class ReduceAction62
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction63
        super ReduceAction
@@ -3027,8 +2915,6 @@ private class ReduceAction63
                                        node_list = pformaldefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction64
        super ReduceAction
@@ -3051,8 +2937,6 @@ private class ReduceAction64
                                        node_list = psuperclassnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction65
        super ReduceAction
@@ -3075,8 +2959,6 @@ private class ReduceAction65
                                        node_list = psuperclassnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction66
        super ReduceAction
@@ -3089,8 +2971,6 @@ private class ReduceAction66
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction67
        super ReduceAction
@@ -3128,8 +3008,6 @@ private class ReduceAction67
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction68
        super ReduceAction
@@ -3170,8 +3048,6 @@ private class ReduceAction68
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction69
        super ReduceAction
@@ -3210,8 +3086,6 @@ private class ReduceAction69
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction70
        super ReduceAction
@@ -3253,8 +3127,6 @@ private class ReduceAction70
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction71
        super ReduceAction
@@ -3293,8 +3165,6 @@ private class ReduceAction71
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction72
        super ReduceAction
@@ -3336,8 +3206,6 @@ private class ReduceAction72
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction73
        super ReduceAction
@@ -3372,8 +3240,6 @@ private class ReduceAction73
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction74
        super ReduceAction
@@ -3411,8 +3277,6 @@ private class ReduceAction74
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction75
        super ReduceAction
@@ -3447,8 +3311,6 @@ private class ReduceAction75
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction76
        super ReduceAction
@@ -3486,8 +3348,6 @@ private class ReduceAction76
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction77
        super ReduceAction
@@ -3523,8 +3383,6 @@ private class ReduceAction77
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction78
        super ReduceAction
@@ -3563,8 +3421,6 @@ private class ReduceAction78
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction79
        super ReduceAction
@@ -3603,8 +3459,6 @@ private class ReduceAction79
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction80
        super ReduceAction
@@ -3646,8 +3500,6 @@ private class ReduceAction80
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction81
        super ReduceAction
@@ -3681,8 +3533,6 @@ private class ReduceAction81
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction82
        super ReduceAction
@@ -3719,8 +3569,6 @@ private class ReduceAction82
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction83
        super ReduceAction
@@ -3757,8 +3605,6 @@ private class ReduceAction83
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction84
        super ReduceAction
@@ -3798,8 +3644,6 @@ private class ReduceAction84
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction85
        super ReduceAction
@@ -3836,8 +3680,6 @@ private class ReduceAction85
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction86
        super ReduceAction
@@ -3877,8 +3719,6 @@ private class ReduceAction86
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction87
        super ReduceAction
@@ -3918,8 +3758,6 @@ private class ReduceAction87
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction88
        super ReduceAction
@@ -3962,8 +3800,6 @@ private class ReduceAction88
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction89
        super ReduceAction
@@ -4000,8 +3836,6 @@ private class ReduceAction89
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction90
        super ReduceAction
@@ -4041,8 +3875,6 @@ private class ReduceAction90
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction91
        super ReduceAction
@@ -4082,8 +3914,6 @@ private class ReduceAction91
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction92
        super ReduceAction
@@ -4126,8 +3956,6 @@ private class ReduceAction92
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction93
        super ReduceAction
@@ -4167,8 +3995,6 @@ private class ReduceAction93
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction94
        super ReduceAction
@@ -4211,8 +4037,6 @@ private class ReduceAction94
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction95
        super ReduceAction
@@ -4255,8 +4079,6 @@ private class ReduceAction95
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction96
        super ReduceAction
@@ -4302,8 +4124,6 @@ private class ReduceAction96
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction97
        super ReduceAction
@@ -4342,8 +4162,6 @@ private class ReduceAction97
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction98
        super ReduceAction
@@ -4385,8 +4203,6 @@ private class ReduceAction98
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction99
        super ReduceAction
@@ -4428,8 +4244,6 @@ private class ReduceAction99
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction100
        super ReduceAction
@@ -4474,8 +4288,6 @@ private class ReduceAction100
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction101
        super ReduceAction
@@ -4517,8 +4329,6 @@ private class ReduceAction101
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction102
        super ReduceAction
@@ -4563,8 +4373,6 @@ private class ReduceAction102
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction103
        super ReduceAction
@@ -4609,8 +4417,6 @@ private class ReduceAction103
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction104
        super ReduceAction
@@ -4658,8 +4464,6 @@ private class ReduceAction104
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction105
        super ReduceAction
@@ -4701,8 +4505,6 @@ private class ReduceAction105
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction106
        super ReduceAction
@@ -4747,8 +4549,6 @@ private class ReduceAction106
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction107
        super ReduceAction
@@ -4793,8 +4593,6 @@ private class ReduceAction107
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction108
        super ReduceAction
@@ -4842,8 +4640,6 @@ private class ReduceAction108
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction109
        super ReduceAction
@@ -4888,8 +4684,6 @@ private class ReduceAction109
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction110
        super ReduceAction
@@ -4937,8 +4731,6 @@ private class ReduceAction110
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction111
        super ReduceAction
@@ -4986,8 +4778,6 @@ private class ReduceAction111
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction112
        super ReduceAction
@@ -5038,8 +4828,6 @@ private class ReduceAction112
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction113
        super ReduceAction
@@ -5073,8 +4861,6 @@ private class ReduceAction113
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction114
        super ReduceAction
@@ -5111,8 +4897,6 @@ private class ReduceAction114
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction115
        super ReduceAction
@@ -5149,8 +4933,6 @@ private class ReduceAction115
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction116
        super ReduceAction
@@ -5190,8 +4972,6 @@ private class ReduceAction116
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction117
        super ReduceAction
@@ -5228,8 +5008,6 @@ private class ReduceAction117
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction118
        super ReduceAction
@@ -5269,8 +5047,6 @@ private class ReduceAction118
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction119
        super ReduceAction
@@ -5310,8 +5086,6 @@ private class ReduceAction119
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction120
        super ReduceAction
@@ -5354,8 +5128,6 @@ private class ReduceAction120
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction121
        super ReduceAction
@@ -5394,8 +5166,6 @@ private class ReduceAction121
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction122
        super ReduceAction
@@ -5437,8 +5207,6 @@ private class ReduceAction122
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction123
        super ReduceAction
@@ -5480,8 +5248,6 @@ private class ReduceAction123
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction124
        super ReduceAction
@@ -5526,8 +5292,6 @@ private class ReduceAction124
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction125
        super ReduceAction
@@ -5569,8 +5333,6 @@ private class ReduceAction125
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction126
        super ReduceAction
@@ -5615,8 +5377,6 @@ private class ReduceAction126
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction127
        super ReduceAction
@@ -5661,8 +5421,6 @@ private class ReduceAction127
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction128
        super ReduceAction
@@ -5710,8 +5468,6 @@ private class ReduceAction128
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction129
        super ReduceAction
@@ -5746,8 +5502,6 @@ private class ReduceAction129
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction130
        super ReduceAction
@@ -5785,8 +5539,6 @@ private class ReduceAction130
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction131
        super ReduceAction
@@ -5824,8 +5576,6 @@ private class ReduceAction131
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction132
        super ReduceAction
@@ -5866,8 +5616,6 @@ private class ReduceAction132
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction133
        super ReduceAction
@@ -5903,8 +5651,6 @@ private class ReduceAction133
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction134
        super ReduceAction
@@ -5943,8 +5689,6 @@ private class ReduceAction134
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction135
        super ReduceAction
@@ -5983,8 +5727,6 @@ private class ReduceAction135
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction136
        super ReduceAction
@@ -6026,8 +5768,6 @@ private class ReduceAction136
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction137
        super ReduceAction
@@ -6060,8 +5800,6 @@ private class ReduceAction137
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction138
        super ReduceAction
@@ -6097,8 +5835,6 @@ private class ReduceAction138
                                        node_list = ppropdefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction139
        super ReduceAction
@@ -6115,8 +5851,6 @@ private class ReduceAction139
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction140
        super ReduceAction
@@ -6136,8 +5870,6 @@ private class ReduceAction140
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction141
        super ReduceAction
@@ -6155,8 +5887,6 @@ private class ReduceAction141
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction142
        super ReduceAction
@@ -6177,8 +5907,6 @@ private class ReduceAction142
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction143
        super ReduceAction
@@ -6199,8 +5927,6 @@ private class ReduceAction143
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction144
        super ReduceAction
@@ -6224,8 +5950,6 @@ private class ReduceAction144
                                        node_list = pablenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction145
        super ReduceAction
@@ -6237,8 +5961,6 @@ private class ReduceAction145
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction146
        super ReduceAction
@@ -6255,8 +5977,6 @@ private class ReduceAction146
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction147
        super ReduceAction
@@ -6273,8 +5993,6 @@ private class ReduceAction147
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction148
        super ReduceAction
@@ -6291,8 +6009,6 @@ private class ReduceAction148
                                        node_list = pvisibilitynode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction149
        super ReduceAction
@@ -6308,8 +6024,6 @@ private class ReduceAction149
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction150
        super ReduceAction
@@ -6325,8 +6039,6 @@ private class ReduceAction150
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction151
        super ReduceAction
@@ -6342,8 +6054,6 @@ private class ReduceAction151
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction152
        super ReduceAction
@@ -6359,8 +6069,6 @@ private class ReduceAction152
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction153
        super ReduceAction
@@ -6376,8 +6084,6 @@ private class ReduceAction153
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction154
        super ReduceAction
@@ -6393,8 +6099,6 @@ private class ReduceAction154
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction155
        super ReduceAction
@@ -6410,8 +6114,6 @@ private class ReduceAction155
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction156
        super ReduceAction
@@ -6427,8 +6129,6 @@ private class ReduceAction156
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction157
        super ReduceAction
@@ -6444,8 +6144,6 @@ private class ReduceAction157
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction158
        super ReduceAction
@@ -6461,8 +6159,6 @@ private class ReduceAction158
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction159
        super ReduceAction
@@ -6478,8 +6174,6 @@ private class ReduceAction159
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction160
        super ReduceAction
@@ -6495,8 +6189,6 @@ private class ReduceAction160
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction161
        super ReduceAction
@@ -6512,8 +6204,6 @@ private class ReduceAction161
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction162
        super ReduceAction
@@ -6529,8 +6219,6 @@ private class ReduceAction162
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction163
        super ReduceAction
@@ -6550,8 +6238,6 @@ private class ReduceAction163
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction164
        super ReduceAction
@@ -6567,8 +6253,6 @@ private class ReduceAction164
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction165
        super ReduceAction
@@ -6588,8 +6272,6 @@ private class ReduceAction165
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction166
        super ReduceAction
@@ -6613,8 +6295,6 @@ private class ReduceAction166
                                        node_list = pmethidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction167
        super ReduceAction
@@ -6638,8 +6318,6 @@ private class ReduceAction167
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction168
        super ReduceAction
@@ -6667,8 +6345,6 @@ private class ReduceAction168
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction169
        super ReduceAction
@@ -6689,8 +6365,6 @@ private class ReduceAction169
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction170
        super ReduceAction
@@ -6715,8 +6389,6 @@ private class ReduceAction170
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction171
        super ReduceAction
@@ -6737,8 +6409,6 @@ private class ReduceAction171
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction172
        super ReduceAction
@@ -6763,8 +6433,6 @@ private class ReduceAction172
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction173
        super ReduceAction
@@ -6782,8 +6450,6 @@ private class ReduceAction173
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction174
        super ReduceAction
@@ -6805,8 +6471,6 @@ private class ReduceAction174
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction175
        super ReduceAction
@@ -6823,8 +6487,6 @@ private class ReduceAction175
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction176
        super ReduceAction
@@ -6845,8 +6507,6 @@ private class ReduceAction176
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction177
        super ReduceAction
@@ -6866,8 +6526,6 @@ private class ReduceAction177
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction178
        super ReduceAction
@@ -6891,8 +6549,6 @@ private class ReduceAction178
                                        node_list = psignaturenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction179
        super ReduceAction
@@ -6912,8 +6568,6 @@ private class ReduceAction179
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction180
        super ReduceAction
@@ -6937,8 +6591,6 @@ private class ReduceAction180
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction181
        super ReduceAction
@@ -6952,8 +6604,6 @@ private class ReduceAction181
                                        node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction182
        super ReduceAction
@@ -6967,8 +6617,6 @@ private class ReduceAction182
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction183
        super ReduceAction
@@ -6986,8 +6634,6 @@ private class ReduceAction183
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction184
        super ReduceAction
@@ -7008,8 +6654,6 @@ private class ReduceAction184
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction185
        super ReduceAction
@@ -7033,8 +6677,6 @@ private class ReduceAction185
                                        node_list = pparamnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction186
        super ReduceAction
@@ -7050,8 +6692,6 @@ private class ReduceAction186
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction187
        super ReduceAction
@@ -7078,8 +6718,6 @@ private class ReduceAction187
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction188
        super ReduceAction
@@ -7109,8 +6747,6 @@ private class ReduceAction188
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction189
        super ReduceAction
@@ -7141,8 +6777,6 @@ private class ReduceAction189
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction190
        super ReduceAction
@@ -7176,8 +6810,6 @@ private class ReduceAction190
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction191
        super ReduceAction
@@ -7209,8 +6841,6 @@ private class ReduceAction191
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction192
        super ReduceAction
@@ -7245,8 +6875,6 @@ private class ReduceAction192
                                        node_list = pclosuredeclnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction193
        super ReduceAction
@@ -7263,8 +6891,6 @@ private class ReduceAction193
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction194
        super ReduceAction
@@ -7283,8 +6909,6 @@ private class ReduceAction194
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction195
        super ReduceAction
@@ -7306,8 +6930,6 @@ private class ReduceAction195
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction196
        super ReduceAction
@@ -7334,8 +6956,6 @@ private class ReduceAction196
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction197
        super ReduceAction
@@ -7365,8 +6985,6 @@ private class ReduceAction197
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction198
        super ReduceAction
@@ -7382,8 +7000,6 @@ private class ReduceAction198
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction199
        super ReduceAction
@@ -7403,8 +7019,6 @@ private class ReduceAction199
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction200
        super ReduceAction
@@ -7418,8 +7032,6 @@ private class ReduceAction200
                                        node_list = ptypenode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction202
        super ReduceAction
@@ -7433,8 +7045,6 @@ private class ReduceAction202
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction203
        super ReduceAction
@@ -7450,8 +7060,6 @@ private class ReduceAction203
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction204
        super ReduceAction
@@ -7466,8 +7074,6 @@ private class ReduceAction204
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction205
        super ReduceAction
@@ -7479,8 +7085,6 @@ private class ReduceAction205
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction206
        super ReduceAction
@@ -7500,8 +7104,6 @@ private class ReduceAction206
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction207
        super ReduceAction
@@ -7525,8 +7127,6 @@ private class ReduceAction207
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction208
        super ReduceAction
@@ -7547,8 +7147,6 @@ private class ReduceAction208
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction209
        super ReduceAction
@@ -7573,8 +7171,6 @@ private class ReduceAction209
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction210
        super ReduceAction
@@ -7587,8 +7183,6 @@ private class ReduceAction210
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction213
        super ReduceAction
@@ -7605,8 +7199,6 @@ private class ReduceAction213
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction214
        super ReduceAction
@@ -7626,8 +7218,6 @@ private class ReduceAction214
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction215
        super ReduceAction
@@ -7645,8 +7235,6 @@ private class ReduceAction215
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction216
        super ReduceAction
@@ -7667,8 +7255,6 @@ private class ReduceAction216
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction217
        super ReduceAction
@@ -7689,8 +7275,6 @@ private class ReduceAction217
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction218
        super ReduceAction
@@ -7714,8 +7298,6 @@ private class ReduceAction218
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction219
        super ReduceAction
@@ -7731,8 +7313,6 @@ private class ReduceAction219
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction220
        super ReduceAction
@@ -7750,8 +7330,6 @@ private class ReduceAction220
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction221
        super ReduceAction
@@ -7772,8 +7350,6 @@ private class ReduceAction221
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction222
        super ReduceAction
@@ -7794,8 +7370,6 @@ private class ReduceAction222
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction223
        super ReduceAction
@@ -7819,8 +7393,6 @@ private class ReduceAction223
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction230
        super ReduceAction
@@ -7850,8 +7422,6 @@ private class ReduceAction230
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction231
        super ReduceAction
@@ -7878,8 +7448,6 @@ private class ReduceAction231
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction232
        super ReduceAction
@@ -7913,8 +7481,6 @@ private class ReduceAction232
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction233
        super ReduceAction
@@ -7945,8 +7511,6 @@ private class ReduceAction233
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction234
        super ReduceAction
@@ -7969,8 +7533,6 @@ private class ReduceAction234
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction235
        super ReduceAction
@@ -7996,8 +7558,6 @@ private class ReduceAction235
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction236
        super ReduceAction
@@ -8025,8 +7585,6 @@ private class ReduceAction236
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction237
        super ReduceAction
@@ -8051,8 +7609,6 @@ private class ReduceAction237
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction238
        super ReduceAction
@@ -8072,8 +7628,6 @@ private class ReduceAction238
                                        node_list = plabelnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction239
        super ReduceAction
@@ -8089,8 +7643,6 @@ private class ReduceAction239
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction240
        super ReduceAction
@@ -8110,8 +7662,6 @@ private class ReduceAction240
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction241
        super ReduceAction
@@ -8145,14 +7695,14 @@ private class ReduceAction241
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction242
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
                                        var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
@@ -8164,14 +7714,14 @@ private class ReduceAction242
                                        assert tbangnode2 isa nullable TBang
                                        var pclosureidnode3 = nodearraylist2
                                        assert pclosureidnode3 isa nullable AClosureId
-                                       var listnode4 = nodearraylist3
+                                       var listnode4 = nodearraylist4
                                        assert listnode4 isa Array[Object]
                                        listnode5 = concat(listnode5, listnode4)
-                                       var tkwdonode6 = nodearraylist4
+                                       var tkwdonode6 = nodearraylist6
                                        assert tkwdonode6 isa nullable TKwdo
-                                       var pexprnode7 = nodearraylist5
+                                       var pexprnode7 = nodearraylist7
                                        assert pexprnode7 isa nullable AExpr
-                                       var plabelnode8 = nodearraylist6
+                                       var plabelnode8 = nodearraylist8
                                        assert plabelnode8 isa nullable ALabel
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tbangnode2,
@@ -8184,46 +7734,115 @@ private class ReduceAction242
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction243
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var listnode4 = new Array[Object]
+                                       var listnode5 = new Array[Object]
                                        var tbangnode2 = nodearraylist1
                                        assert tbangnode2 isa nullable TBang
                                        var pclosureidnode3 = nodearraylist2
                                        assert pclosureidnode3 isa nullable AClosureId
-                                       var tkwdonode5 = nodearraylist3
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode4 = nodearraylist3
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist4
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist5
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist6
+                                       assert plabelnode8 isa nullable ALabel
                                        var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
                                                tbangnode2,
                                                pclosureidnode3,
-                                               listnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               null
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
                                        )
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 private class ReduceAction244
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        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 tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var tkwdonode5 = nodearraylist3
+                                       assert tkwdonode5 isa nullable TKwdo
+                                       var pexprnode6 = nodearraylist4
+                                       assert pexprnode6 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode4,
+                                               tkwdonode5,
+                                               pexprnode6,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction245
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist7
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction246
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
@@ -8252,10 +7871,8 @@ private class ReduceAction244
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction245
+private class ReduceAction247
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8283,10 +7900,43 @@ private class ReduceAction245
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction246
+private class ReduceAction248
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               null,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction249
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8318,10 +7968,8 @@ private class ReduceAction246
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction247
+private class ReduceAction250
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8351,10 +7999,45 @@ private class ReduceAction247
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction248
+private class ReduceAction251
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist8
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction252
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8388,10 +8071,8 @@ private class ReduceAction248
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction249
+private class ReduceAction253
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8418,10 +8099,42 @@ private class ReduceAction249
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction250
+private class ReduceAction254
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode5 = new Array[Object]
+                                       var tbangnode2 = nodearraylist1
+                                       assert tbangnode2 isa nullable TBang
+                                       var pclosureidnode3 = nodearraylist2
+                                       assert pclosureidnode3 isa nullable AClosureId
+                                       var listnode4 = nodearraylist4
+                                       assert listnode4 isa Array[Object]
+                                       listnode5 = concat(listnode5, listnode4)
+                                       var tkwdonode6 = nodearraylist6
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pclosuredefnode1: nullable AClosureDef = new AClosureDef.init_aclosuredef(
+                                               tbangnode2,
+                                               pclosureidnode3,
+                                               listnode5,
+                                               tkwdonode6,
+                                               null,
+                                               null
+                                       )
+                                       node_list = pclosuredefnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction255
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8452,10 +8165,8 @@ private class ReduceAction250
                                        node_list = pclosuredefnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction251
+private class ReduceAction256
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8469,10 +8180,8 @@ private class ReduceAction251
                                        node_list = pclosureidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction252
+private class ReduceAction257
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8486,10 +8195,8 @@ private class ReduceAction252
                                        node_list = pclosureidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction253
+private class ReduceAction258
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8505,10 +8212,8 @@ private class ReduceAction253
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction254
+private class ReduceAction259
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8529,10 +8234,8 @@ private class ReduceAction254
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction255
+private class ReduceAction260
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8556,10 +8259,8 @@ private class ReduceAction255
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction256
+private class ReduceAction261
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8587,10 +8288,8 @@ private class ReduceAction256
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction257
+private class ReduceAction262
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8621,10 +8320,8 @@ private class ReduceAction257
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction258
+private class ReduceAction263
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8652,10 +8349,8 @@ private class ReduceAction258
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction259
+private class ReduceAction264
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8680,10 +8375,8 @@ private class ReduceAction259
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction260
+private class ReduceAction265
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8717,10 +8410,8 @@ private class ReduceAction260
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction261
+private class ReduceAction266
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8751,10 +8442,8 @@ private class ReduceAction261
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction262
+private class ReduceAction267
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8782,10 +8471,8 @@ private class ReduceAction262
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction263
+private class ReduceAction268
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8813,10 +8500,8 @@ private class ReduceAction263
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction264
+private class ReduceAction269
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8841,10 +8526,8 @@ private class ReduceAction264
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction265
+private class ReduceAction270
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8878,10 +8561,8 @@ private class ReduceAction265
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction266
+private class ReduceAction271
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8912,10 +8593,8 @@ private class ReduceAction266
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction267
+private class ReduceAction272
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8943,10 +8622,8 @@ private class ReduceAction267
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction268
+private class ReduceAction273
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8960,10 +8637,8 @@ private class ReduceAction268
                                        node_list = passignopnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction269
+private class ReduceAction274
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -8977,10 +8652,8 @@ private class ReduceAction269
                                        node_list = passignopnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction270
+private class ReduceAction275
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9002,10 +8675,8 @@ private class ReduceAction270
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction271
+private class ReduceAction276
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9024,10 +8695,8 @@ private class ReduceAction271
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction272
+private class ReduceAction277
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9057,10 +8726,8 @@ private class ReduceAction272
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction273
+private class ReduceAction278
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9086,10 +8753,8 @@ private class ReduceAction273
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction274
+private class ReduceAction279
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9119,10 +8784,8 @@ private class ReduceAction274
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction275
+private class ReduceAction280
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9148,10 +8811,8 @@ private class ReduceAction275
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction276
+private class ReduceAction281
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9178,10 +8839,8 @@ private class ReduceAction276
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction279
+private class ReduceAction284
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9203,10 +8862,8 @@ private class ReduceAction279
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction280
+private class ReduceAction285
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9224,11 +8881,9 @@ private class ReduceAction280
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
+       end
 end
-private class ReduceAction281
+private class ReduceAction286
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9260,10 +8915,8 @@ private class ReduceAction281
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction282
+private class ReduceAction287
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9292,14 +8945,14 @@ private class ReduceAction282
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction283
+private class ReduceAction288
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist13 = p.pop
+                                       var nodearraylist12 = p.pop
                                        var nodearraylist11 = p.pop
                                        var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
@@ -9311,37 +8964,38 @@ private class ReduceAction283
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tkwfornode2 = nodearraylist1
                                        assert tkwfornode2 isa nullable TKwfor
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tkwdonode5 = nodearraylist9
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable AExpr
-                                       var plabelnode7 = nodearraylist11
-                                       assert plabelnode7 isa nullable ALabel
+                                       var listnode3 = nodearraylist4
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist9
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist11
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist12
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist13
+                                       assert plabelnode8 isa nullable ALabel
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
-                                               tidnode3,
-                                               pexprnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
-                                               plabelnode7
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction284
+private class ReduceAction289
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist11 = p.pop
                                        var nodearraylist10 = p.pop
                                        var nodearraylist9 = p.pop
                                        var nodearraylist8 = p.pop
@@ -9352,31 +9006,113 @@ private class ReduceAction284
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
                                        var tkwfornode2 = nodearraylist1
                                        assert tkwfornode2 isa nullable TKwfor
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprnode4 = nodearraylist7
-                                       assert pexprnode4 isa nullable AExpr
-                                       var tkwdonode5 = nodearraylist9
-                                       assert tkwdonode5 isa nullable TKwdo
-                                       var pexprnode6 = nodearraylist10
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist9
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist10
+                                       assert pexprnode7 isa nullable AExpr
+                                       var plabelnode8 = nodearraylist11
+                                       assert plabelnode8 isa nullable ALabel
                                        var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
                                                tkwfornode2,
-                                               tidnode3,
-                                               pexprnode4,
-                                               tkwdonode5,
-                                               pexprnode6,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               plabelnode8
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction290
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist12 = p.pop
+                                       var nodearraylist11 = p.pop
+                                       var nodearraylist10 = p.pop
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist4
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist9
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist11
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist12
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
                                                null
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction285
+private class ReduceAction291
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist10 = p.pop
+                                       var nodearraylist9 = p.pop
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var listnode4 = new Array[Object]
+                                       var tkwfornode2 = nodearraylist1
+                                       assert tkwfornode2 isa nullable TKwfor
+                                       var listnode3 = nodearraylist3
+                                       assert listnode3 isa Array[Object]
+                                       listnode4 = concat(listnode4, listnode3)
+                                       var pexprnode5 = nodearraylist7
+                                       assert pexprnode5 isa nullable AExpr
+                                       var tkwdonode6 = nodearraylist9
+                                       assert tkwdonode6 isa nullable TKwdo
+                                       var pexprnode7 = nodearraylist10
+                                       assert pexprnode7 isa nullable AExpr
+                                       var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
+                                               tkwfornode2,
+                                               listnode4,
+                                               pexprnode5,
+                                               tkwdonode6,
+                                               pexprnode7,
+                                               null
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction292
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9400,10 +9136,8 @@ private class ReduceAction285
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction286
+private class ReduceAction293
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9430,10 +9164,8 @@ private class ReduceAction286
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction287
+private class ReduceAction294
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9453,10 +9185,8 @@ private class ReduceAction287
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction288
+private class ReduceAction295
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9479,10 +9209,8 @@ private class ReduceAction288
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction289
+private class ReduceAction296
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9493,10 +9221,8 @@ private class ReduceAction289
                                        node_list = tidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction293
+private class ReduceAction300
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9522,10 +9248,8 @@ private class ReduceAction293
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction295
+private class ReduceAction302
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9564,10 +9288,8 @@ private class ReduceAction295
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction297
+private class ReduceAction304
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9587,10 +9309,8 @@ private class ReduceAction297
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction298
+private class ReduceAction305
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9610,10 +9330,8 @@ private class ReduceAction298
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction299
+private class ReduceAction306
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9634,10 +9352,8 @@ private class ReduceAction299
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction301
+private class ReduceAction308
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9656,10 +9372,8 @@ private class ReduceAction301
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction303
+private class ReduceAction310
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9679,10 +9393,8 @@ private class ReduceAction303
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction304
+private class ReduceAction311
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9702,10 +9414,8 @@ private class ReduceAction304
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction305
+private class ReduceAction312
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9725,10 +9435,8 @@ private class ReduceAction305
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction306
+private class ReduceAction313
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9748,10 +9456,8 @@ private class ReduceAction306
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction307
+private class ReduceAction314
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9771,10 +9477,8 @@ private class ReduceAction307
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction308
+private class ReduceAction315
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9794,10 +9498,8 @@ private class ReduceAction308
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction309
+private class ReduceAction316
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9817,10 +9519,8 @@ private class ReduceAction309
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction310
+private class ReduceAction317
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9840,10 +9540,8 @@ private class ReduceAction310
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction311
+private class ReduceAction318
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9863,10 +9561,8 @@ private class ReduceAction311
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction312
+private class ReduceAction319
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9886,10 +9582,8 @@ private class ReduceAction312
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction313
+private class ReduceAction320
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9909,10 +9603,8 @@ private class ReduceAction313
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction315
+private class ReduceAction322
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9932,10 +9624,8 @@ private class ReduceAction315
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction316
+private class ReduceAction323
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9955,10 +9645,8 @@ private class ReduceAction316
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction318
+private class ReduceAction325
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -9978,10 +9666,8 @@ private class ReduceAction318
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction319
+private class ReduceAction326
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10001,10 +9687,8 @@ private class ReduceAction319
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction320
+private class ReduceAction327
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10024,10 +9708,8 @@ private class ReduceAction320
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction322
+private class ReduceAction329
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10046,10 +9728,8 @@ private class ReduceAction322
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction323
+private class ReduceAction330
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10068,10 +9748,8 @@ private class ReduceAction323
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction325
+private class ReduceAction332
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10097,10 +9775,8 @@ private class ReduceAction325
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction326
+private class ReduceAction333
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10124,10 +9800,8 @@ private class ReduceAction326
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction327
+private class ReduceAction334
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10148,10 +9822,8 @@ private class ReduceAction327
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction328
+private class ReduceAction335
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10171,10 +9843,8 @@ private class ReduceAction328
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction329
+private class ReduceAction336
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10191,10 +9861,8 @@ private class ReduceAction329
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction336
+private class ReduceAction343
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10216,10 +9884,8 @@ private class ReduceAction336
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction337
+private class ReduceAction344
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10249,11 +9915,9 @@ private class ReduceAction337
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
+       end
 end
-private class ReduceAction338
+private class ReduceAction345
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10278,10 +9942,8 @@ private class ReduceAction338
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction339
+private class ReduceAction346
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10306,10 +9968,8 @@ private class ReduceAction339
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction340
+private class ReduceAction347
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10325,10 +9985,8 @@ private class ReduceAction340
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction341
+private class ReduceAction348
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10342,10 +10000,8 @@ private class ReduceAction341
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction342
+private class ReduceAction349
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10359,10 +10015,8 @@ private class ReduceAction342
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction343
+private class ReduceAction350
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10376,10 +10030,8 @@ private class ReduceAction343
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction344
+private class ReduceAction351
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10393,10 +10045,8 @@ private class ReduceAction344
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction345
+private class ReduceAction352
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10410,10 +10060,8 @@ private class ReduceAction345
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction346
+private class ReduceAction353
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10427,10 +10075,8 @@ private class ReduceAction346
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction347
+private class ReduceAction354
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10444,10 +10090,8 @@ private class ReduceAction347
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction348
+private class ReduceAction355
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10461,10 +10105,8 @@ private class ReduceAction348
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction351
+private class ReduceAction358
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10493,10 +10135,8 @@ private class ReduceAction351
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction352
+private class ReduceAction359
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10530,10 +10170,8 @@ private class ReduceAction352
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction353
+private class ReduceAction360
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10555,10 +10193,8 @@ private class ReduceAction353
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction354
+private class ReduceAction361
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10584,10 +10220,8 @@ private class ReduceAction354
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction355
+private class ReduceAction362
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10608,10 +10242,8 @@ private class ReduceAction355
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction356
+private class ReduceAction363
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10625,10 +10257,8 @@ private class ReduceAction356
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction358
+private class ReduceAction365
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10642,10 +10272,8 @@ private class ReduceAction358
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction359
+private class ReduceAction366
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10659,10 +10287,8 @@ private class ReduceAction359
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction360
+private class ReduceAction367
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10680,10 +10306,8 @@ private class ReduceAction360
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction361
+private class ReduceAction368
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10705,10 +10329,8 @@ private class ReduceAction361
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction363
+private class ReduceAction370
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10717,10 +10339,8 @@ private class ReduceAction363
                                        node_list = listnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction366
+private class ReduceAction373
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10734,10 +10354,8 @@ private class ReduceAction366
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction371
+private class ReduceAction378
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10750,44 +10368,8 @@ private class ReduceAction371
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
-end
-private class ReduceAction372
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist3 = p.pop
-                                       var nodearraylist2 = p.pop
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var listnode1 = nodearraylist2
-                                       assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
-end
-private class ReduceAction373
-       super ReduceAction
-       redef fun action(p: Parser)
-       do
-                                       var node_list: nullable Object = null
-                                       var nodearraylist1 = p.pop
-                                       var listnode2 = new Array[Object]
-                                       var listnode1 = nodearraylist1
-                                       assert listnode1 isa Array[Object]
-                                       listnode2 = concat(listnode2, listnode1)
-                                       node_list = listnode2
-                                       p.push(p.go_to(_goto), node_list)
-       end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction374
+private class ReduceAction379
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10801,10 +10383,8 @@ private class ReduceAction374
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction375
+private class ReduceAction380
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10825,10 +10405,8 @@ private class ReduceAction375
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction376
+private class ReduceAction381
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10844,10 +10422,8 @@ private class ReduceAction376
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction377
+private class ReduceAction382
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10867,10 +10443,8 @@ private class ReduceAction377
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction378
+private class ReduceAction383
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10887,10 +10461,8 @@ private class ReduceAction378
                                        node_list = pqualifiednode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction379
+private class ReduceAction384
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10902,10 +10474,8 @@ private class ReduceAction379
                                        node_list = tidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction380
+private class ReduceAction385
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10917,10 +10487,8 @@ private class ReduceAction380
                                        node_list = tclassidnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction381
+private class ReduceAction386
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10928,10 +10496,8 @@ private class ReduceAction381
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction383
+private class ReduceAction388
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10947,10 +10513,8 @@ private class ReduceAction383
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction384
+private class ReduceAction389
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10967,10 +10531,8 @@ private class ReduceAction384
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction386
+private class ReduceAction391
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10978,10 +10540,8 @@ private class ReduceAction386
                                        node_list = null
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction387
+private class ReduceAction392
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -10991,10 +10551,8 @@ private class ReduceAction387
                                        node_list = pdocnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction388
+private class ReduceAction393
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11003,10 +10561,8 @@ private class ReduceAction388
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction389
+private class ReduceAction394
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11016,10 +10572,8 @@ private class ReduceAction389
                                        var nodearraylist1 = p.pop
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction637
+private class ReduceAction647
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11041,10 +10595,8 @@ private class ReduceAction637
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction638
+private class ReduceAction648
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11062,10 +10614,8 @@ private class ReduceAction638
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction639
+private class ReduceAction649
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11091,10 +10641,8 @@ private class ReduceAction639
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction642
+private class ReduceAction652
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11118,10 +10666,8 @@ private class ReduceAction642
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction655
+private class ReduceAction665
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11133,10 +10679,8 @@ private class ReduceAction655
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction656
+private class ReduceAction666
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11146,10 +10690,8 @@ private class ReduceAction656
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction663
+private class ReduceAction673
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11163,10 +10705,8 @@ private class ReduceAction663
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction664
+private class ReduceAction674
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11184,10 +10724,8 @@ private class ReduceAction664
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction665
+private class ReduceAction675
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11201,10 +10739,8 @@ private class ReduceAction665
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction666
+private class ReduceAction676
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11222,10 +10758,8 @@ private class ReduceAction666
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction667
+private class ReduceAction677
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11239,10 +10773,8 @@ private class ReduceAction667
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction668
+private class ReduceAction678
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11260,10 +10792,8 @@ private class ReduceAction668
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction669
+private class ReduceAction679
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11277,10 +10807,8 @@ private class ReduceAction669
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction670
+private class ReduceAction680
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11298,10 +10826,8 @@ private class ReduceAction670
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction673
+private class ReduceAction683
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11315,10 +10841,8 @@ private class ReduceAction673
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction674
+private class ReduceAction684
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11336,10 +10860,8 @@ private class ReduceAction674
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction675
+private class ReduceAction685
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11353,10 +10875,8 @@ private class ReduceAction675
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction676
+private class ReduceAction686
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11374,10 +10894,8 @@ private class ReduceAction676
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction677
+private class ReduceAction687
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11391,10 +10909,8 @@ private class ReduceAction677
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction678
+private class ReduceAction688
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11412,10 +10928,8 @@ private class ReduceAction678
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction680
+private class ReduceAction690
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11433,10 +10947,8 @@ private class ReduceAction680
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction682
+private class ReduceAction692
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11454,10 +10966,22 @@ private class ReduceAction682
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction684
+private class ReduceAction693
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist1 = p.pop
+                                       var listnode2 = new Array[Object]
+                                       var listnode1 = nodearraylist1
+                                       assert listnode1 isa Array[Object]
+                                       listnode2 = concat(listnode2, listnode1)
+                                       node_list = listnode2
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction694
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11474,10 +10998,8 @@ private class ReduceAction684
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction688
+private class ReduceAction698
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11495,10 +11017,8 @@ private class ReduceAction688
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction689
+private class ReduceAction699
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11512,10 +11032,8 @@ private class ReduceAction689
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction690
+private class ReduceAction700
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11533,10 +11051,8 @@ private class ReduceAction690
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction691
+private class ReduceAction701
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11550,10 +11066,8 @@ private class ReduceAction691
                                        node_list = listnode2
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
-private class ReduceAction692
+private class ReduceAction702
        super ReduceAction
        redef fun action(p: Parser)
        do
@@ -11571,6 +11085,4 @@ private class ReduceAction692
                                        node_list = listnode3
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
index 977ddd2..25965bb 100644 (file)
@@ -681,7 +681,7 @@ end
 class AForExpr
        super AExpr
     readable var _n_kwfor: TKwfor
-    readable var _n_id: TId
+    readable var _n_ids: List[TId] = new List[TId]
     readable var _n_expr: AExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
index 7bc6b4a..a5f09ca 100644 (file)
@@ -27,6 +27,8 @@ abstract class ANode
        # Location is set during AST building. Once built, location cannon be null
        # However, manual instanciated nodes may need mode care
        fun location: Location do return _location.as(not null)
+       # The location of the important part of the node (identifier or whatever)
+       fun hot_location: Location do return location
 end
 
 # Ancestor of all tokens
@@ -326,6 +328,7 @@ class AModuledecl
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwmodule: TKwmodule
     readable var _n_id: TId
+    redef fun hot_location do return n_id.location
 end
 class AImport super Prod end
 class AStdImport
@@ -367,6 +370,7 @@ class AStdClassdef
     readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
     readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
+    redef fun hot_location do return n_id.location
 end
 class ATopClassdef
        super AClassdef
@@ -419,6 +423,10 @@ class AAttrPropdef
     readable var _n_readable: nullable AAble = null
     readable var _n_writable: nullable AAble = null
     readable var _n_expr: nullable AExpr = null
+    redef fun hot_location
+    do
+           if n_id != null then return n_id.location else return n_id2.location
+    end
 end
 class AMethPropdef
        super APropdef
@@ -426,6 +434,14 @@ class AMethPropdef
     readable var _n_visibility: nullable AVisibility
     readable var _n_methid: nullable AMethid = null
     readable var _n_signature: nullable ASignature
+    redef fun hot_location
+    do
+           if n_methid != null then
+                   return n_methid.location
+           else
+                   return location
+           end
+    end
 end
 class ADeferredMethPropdef
        super AMethPropdef
@@ -448,6 +464,7 @@ end
 class AConcreteInitPropdef
        super AConcreteMethPropdef
     readable var _n_kwinit: TKwinit
+    redef fun hot_location do return n_kwinit.location
 end
 class AMainMethPropdef
        super AConcreteMethPropdef
@@ -658,7 +675,7 @@ class AForExpr
        super AExpr
        super ALabelable
     readable var _n_kwfor: TKwfor
-    readable var _n_id: TId
+    readable var _n_ids: List[TId] = new List[TId]
     readable var _n_expr: AExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
index 847a005..655a8ab 100644 (file)
@@ -3834,7 +3834,7 @@ redef class AForExpr
 
     init init_aforexpr (
             n_kwfor: nullable TKwfor,
-            n_id: nullable TId,
+            n_ids: Collection[Object], # Should be Collection[TId]
             n_expr: nullable AExpr,
             n_kwdo: nullable TKwdo,
             n_block: nullable AExpr,
@@ -3844,8 +3844,11 @@ redef class AForExpr
         empty_init
         _n_kwfor = n_kwfor.as(not null)
        n_kwfor.parent = self
-        _n_id = n_id.as(not null)
-       n_id.parent = self
+       for n in n_ids do
+               assert n isa TId
+               _n_ids.add(n)
+               n.parent = self
+       end
         _n_expr = n_expr.as(not null)
        n_expr.parent = self
         _n_kwdo = n_kwdo.as(not null)
@@ -3872,16 +3875,18 @@ redef class AForExpr
             end
             return
        end
-        if _n_id == old_child then
-            if new_child != null then
-                new_child.parent = self
-               assert new_child isa TId
-                _n_id = new_child
-           else
-               abort
+        for i in [0.._n_ids.length[ do
+            if _n_ids[i] == old_child then
+                if new_child != null then
+                   assert new_child isa TId
+                    _n_ids[i] = new_child
+                    new_child.parent = self
+                else
+                    _n_ids.remove_at(i)
+                end
+                return
             end
-            return
-       end
+        end
         if _n_expr == old_child then
             if new_child != null then
                 new_child.parent = self
@@ -3927,7 +3932,9 @@ redef class AForExpr
     redef fun visit_all(v: Visitor)
     do
         v.enter_visit(_n_kwfor)
-        v.enter_visit(_n_id)
+            for n in _n_ids do
+                v.enter_visit(n)
+           end
         v.enter_visit(_n_expr)
         v.enter_visit(_n_kwdo)
         if _n_block != null then
index d7c20a8..0bae57b 100644 (file)
@@ -1742,18 +1742,18 @@ const int lexer_accept_table[] = {
 
 static int parser_action_row1[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 0
 };
 static int parser_action_row2[] = {
        1,
-       -1, 1, 691
+       -1, 1, 701
 };
 static int parser_action_row3[] = {
        1,
-       -1, 1, 689
+       -1, 1, 699
 };
 static int parser_action_row4[] = {
        2,
@@ -1762,14 +1762,14 @@ static int parser_action_row4[] = {
 };
 static int parser_action_row5[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 1
 };
 static int parser_action_row6[] = {
        1,
-       -1, 1, 663
+       -1, 1, 673
 };
 static int parser_action_row7[] = {
        1,
@@ -1781,11 +1781,11 @@ static int parser_action_row8[] = {
 };
 static int parser_action_row9[] = {
        1,
-       -1, 1, 665
+       -1, 1, 675
 };
 static int parser_action_row10[] = {
        2,
-       -1, 1, 387,
+       -1, 1, 392,
        89, 1, 36
 };
 static int parser_action_row11[] = {
@@ -1827,12 +1827,12 @@ static int parser_action_row11[] = {
 };
 static int parser_action_row12[] = {
        2,
-       -1, 1, 385,
+       -1, 1, 390,
        1, 0, 2
 };
 static int parser_action_row13[] = {
        1,
-       -1, 1, 667
+       -1, 1, 677
 };
 static int parser_action_row14[] = {
        3,
@@ -1842,34 +1842,34 @@ static int parser_action_row14[] = {
 };
 static int parser_action_row15[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 2
 };
 static int parser_action_row16[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 4
 };
 static int parser_action_row17[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 8
 };
 static int parser_action_row18[] = {
        3,
-       -1, 1, 383,
+       -1, 1, 388,
        0, 0, 1,
        1, 0, 93
 };
 static int parser_action_row19[] = {
        2,
-       -1, 1, 390,
+       -1, 1, 395,
        0, 0, 95
 };
 static int parser_action_row20[] = {
@@ -1914,34 +1914,34 @@ static int parser_action_row21[] = {
 };
 static int parser_action_row22[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 3
 };
 static int parser_action_row23[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 5
 };
 static int parser_action_row24[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 9
 };
 static int parser_action_row25[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row26[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -1954,8 +1954,8 @@ static int parser_action_row26[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -2015,31 +2015,31 @@ static int parser_action_row29[] = {
 };
 static int parser_action_row30[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row31[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row32[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row33[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row34[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
@@ -2080,7 +2080,7 @@ static int parser_action_row35[] = {
 };
 static int parser_action_row36[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
@@ -2196,13 +2196,13 @@ static int parser_action_row41[] = {
 };
 static int parser_action_row42[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row43[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -2215,8 +2215,8 @@ static int parser_action_row43[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -2229,19 +2229,19 @@ static int parser_action_row43[] = {
 };
 static int parser_action_row44[] = {
        1,
-       -1, 1, 341
+       -1, 1, 348
 };
 static int parser_action_row45[] = {
        1,
-       -1, 1, 342
+       -1, 1, 349
 };
 static int parser_action_row46[] = {
        1,
-       -1, 1, 343
+       -1, 1, 350
 };
 static int parser_action_row47[] = {
        1,
-       -1, 1, 344
+       -1, 1, 351
 };
 static int parser_action_row48[] = {
        23,
@@ -2271,7 +2271,7 @@ static int parser_action_row48[] = {
 };
 static int parser_action_row49[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
@@ -2282,10 +2282,10 @@ static int parser_action_row50[] = {
 };
 static int parser_action_row51[] = {
        28,
-       -1, 1, 363,
-       0, 1, 368,
-       1, 1, 368,
-       9, 1, 368,
+       -1, 1, 370,
+       0, 1, 375,
+       1, 1, 375,
+       9, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -2300,7 +2300,7 @@ static int parser_action_row51[] = {
        51, 0, 115,
        57, 0, 191,
        65, 0, 116,
-       78, 1, 368,
+       78, 1, 375,
        79, 0, 49,
        80, 0, 117,
        81, 0, 118,
@@ -2309,34 +2309,34 @@ static int parser_action_row51[] = {
        84, 0, 121,
        85, 0, 122,
        86, 0, 56,
-       89, 1, 368
+       89, 1, 375
 };
 static int parser_action_row52[] = {
        4,
-       -1, 1, 329,
+       -1, 1, 336,
        58, 0, 194,
        59, 0, 195,
        60, 0, 196
 };
 static int parser_action_row53[] = {
        1,
-       -1, 1, 345
+       -1, 1, 352
 };
 static int parser_action_row54[] = {
        1,
-       -1, 1, 346
+       -1, 1, 353
 };
 static int parser_action_row55[] = {
        1,
-       -1, 1, 347
+       -1, 1, 354
 };
 static int parser_action_row56[] = {
        1,
-       -1, 1, 348
+       -1, 1, 355
 };
 static int parser_action_row57[] = {
        1,
-       -1, 1, 356
+       -1, 1, 363
 };
 static int parser_action_row58[] = {
        7,
@@ -2402,7 +2402,7 @@ static int parser_action_row70[] = {
 };
 static int parser_action_row71[] = {
        1,
-       -1, 1, 349
+       -1, 1, 356
 };
 static int parser_action_row72[] = {
        3,
@@ -2412,13 +2412,13 @@ static int parser_action_row72[] = {
 };
 static int parser_action_row73[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row74[] = {
        1,
-       -1, 1, 340
+       -1, 1, 347
 };
 static int parser_action_row75[] = {
        2,
@@ -2427,39 +2427,39 @@ static int parser_action_row75[] = {
 };
 static int parser_action_row76[] = {
        1,
-       -1, 1, 687
+       -1, 1, 697
 };
 static int parser_action_row77[] = {
        1,
-       -1, 1, 376
+       -1, 1, 381
 };
 static int parser_action_row78[] = {
        3,
-       -1, 1, 378,
+       -1, 1, 383,
        79, 0, 49,
        80, 0, 219
 };
 static int parser_action_row79[] = {
        3,
-       -1, 1, 384,
+       -1, 1, 389,
        0, 0, 1,
        1, 0, 93
 };
 static int parser_action_row80[] = {
        1,
-       -1, 1, 382
+       -1, 1, 387
 };
 static int parser_action_row81[] = {
        1,
-       -1, 1, 381
+       -1, 1, 386
 };
 static int parser_action_row82[] = {
        1,
-       -1, 1, 391
+       -1, 1, 396
 };
 static int parser_action_row83[] = {
        1,
-       -1, 1, 664
+       -1, 1, 674
 };
 static int parser_action_row84[] = {
        1,
@@ -2467,14 +2467,14 @@ static int parser_action_row84[] = {
 };
 static int parser_action_row85[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 6
 };
 static int parser_action_row86[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 10
@@ -2485,7 +2485,7 @@ static int parser_action_row87[] = {
 };
 static int parser_action_row88[] = {
        1,
-       -1, 1, 666
+       -1, 1, 676
 };
 static int parser_action_row89[] = {
        33,
@@ -2525,7 +2525,7 @@ static int parser_action_row89[] = {
 };
 static int parser_action_row90[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 12
@@ -2572,20 +2572,20 @@ static int parser_action_row92[] = {
 };
 static int parser_action_row93[] = {
        1,
-       -1, 1, 668
+       -1, 1, 678
 };
 static int parser_action_row94[] = {
        1,
-       -1, 1, 690
+       -1, 1, 700
 };
 static int parser_action_row95[] = {
        2,
-       -1, 1, 388,
+       -1, 1, 393,
        0, 0, 95
 };
 static int parser_action_row96[] = {
        1,
-       -1, 1, 692
+       -1, 1, 702
 };
 static int parser_action_row97[] = {
        1,
@@ -2593,14 +2593,14 @@ static int parser_action_row97[] = {
 };
 static int parser_action_row98[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 7
 };
 static int parser_action_row99[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 11
@@ -2611,7 +2611,7 @@ static int parser_action_row100[] = {
 };
 static int parser_action_row101[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 13
@@ -2622,7 +2622,7 @@ static int parser_action_row102[] = {
 };
 static int parser_action_row103[] = {
        1,
-       -1, 1, 387
+       -1, 1, 392
 };
 static int parser_action_row104[] = {
        2,
@@ -2631,53 +2631,53 @@ static int parser_action_row104[] = {
 };
 static int parser_action_row105[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
 static int parser_action_row106[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row107[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row108[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row109[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row110[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
 static int parser_action_row111[] = {
        1,
-       -1, 1, 591
+       -1, 1, 601
 };
 static int parser_action_row112[] = {
        1,
-       -1, 1, 592
+       -1, 1, 602
 };
 static int parser_action_row113[] = {
        1,
-       -1, 1, 593
+       -1, 1, 603
 };
 static int parser_action_row114[] = {
        1,
-       -1, 1, 594
+       -1, 1, 604
 };
 static int parser_action_row115[] = {
        16,
@@ -2700,49 +2700,49 @@ static int parser_action_row115[] = {
 };
 static int parser_action_row116[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row117[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row118[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
        57, 0, 191
 };
 static int parser_action_row119[] = {
        1,
-       -1, 1, 582
+       -1, 1, 592
 };
 static int parser_action_row120[] = {
        1,
-       -1, 1, 595
+       -1, 1, 605
 };
 static int parser_action_row121[] = {
        1,
-       -1, 1, 596
+       -1, 1, 606
 };
 static int parser_action_row122[] = {
        1,
-       -1, 1, 597
+       -1, 1, 607
 };
 static int parser_action_row123[] = {
        1,
-       -1, 1, 598
+       -1, 1, 608
 };
 static int parser_action_row124[] = {
        1,
-       -1, 1, 599
+       -1, 1, 609
 };
 static int parser_action_row125[] = {
        1,
-       -1, 1, 335
+       -1, 1, 342
 };
 static int parser_action_row126[] = {
        1,
@@ -2755,27 +2755,27 @@ static int parser_action_row127[] = {
 };
 static int parser_action_row128[] = {
        1,
-       -1, 1, 366
+       -1, 1, 373
 };
 static int parser_action_row129[] = {
        3,
-       -1, 1, 547,
+       -1, 1, 557,
        31, 0, 249,
        32, 0, 250
 };
 static int parser_action_row130[] = {
        1,
-       -1, 1, 549
+       -1, 1, 559
 };
 static int parser_action_row131[] = {
        3,
-       -1, 1, 553,
+       -1, 1, 563,
        73, 0, 251,
        76, 0, 252
 };
 static int parser_action_row132[] = {
        12,
-       -1, 1, 555,
+       -1, 1, 565,
        14, 0, 253,
        40, 0, 254,
        64, 0, 255,
@@ -2790,22 +2790,22 @@ static int parser_action_row132[] = {
 };
 static int parser_action_row133[] = {
        4,
-       -1, 1, 567,
+       -1, 1, 577,
        66, 0, 264,
        67, 0, 265,
        68, 0, 266
 };
 static int parser_action_row134[] = {
        1,
-       -1, 1, 570
+       -1, 1, 580
 };
 static int parser_action_row135[] = {
        1,
-       -1, 1, 574
+       -1, 1, 584
 };
 static int parser_action_row136[] = {
        3,
-       -1, 1, 577,
+       -1, 1, 587,
        53, 0, 208,
        63, 0, 267
 };
@@ -2821,11 +2821,11 @@ static int parser_action_row137[] = {
 static int parser_action_row138[] = {
        2,
        -1, 1, 204,
-       50, 1, 540
+       50, 1, 550
 };
 static int parser_action_row139[] = {
        1,
-       -1, 1, 271
+       -1, 1, 276
 };
 static int parser_action_row140[] = {
        1,
@@ -2871,7 +2871,7 @@ static int parser_action_row142[] = {
 };
 static int parser_action_row143[] = {
        3,
-       -1, 1, 254,
+       -1, 1, 259,
        56, 0, 275,
        58, 0, 276
 };
@@ -2941,7 +2941,7 @@ static int parser_action_row148[] = {
 };
 static int parser_action_row149[] = {
        1,
-       -1, 1, 280
+       -1, 1, 285
 };
 static int parser_action_row150[] = {
        2,
@@ -2949,42 +2949,43 @@ static int parser_action_row150[] = {
        50, 0, 172
 };
 static int parser_action_row151[] = {
-       2,
+       3,
        -1, 3, 150,
-       80, 0, 281
+       51, 0, 281,
+       80, 0, 282
 };
 static int parser_action_row152[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
 static int parser_action_row153[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row154[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row155[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row156[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row157[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
 static int parser_action_row158[] = {
@@ -3001,7 +3002,7 @@ static int parser_action_row158[] = {
        53, 0, 48,
        79, 0, 49,
        80, 0, 186,
-       81, 0, 286,
+       81, 0, 288,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
@@ -3010,19 +3011,19 @@ static int parser_action_row158[] = {
 };
 static int parser_action_row159[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row160[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
        57, 0, 191
 };
 static int parser_action_row161[] = {
        1,
-       -1, 1, 329
+       -1, 1, 336
 };
 static int parser_action_row162[] = {
        1,
@@ -3030,69 +3031,69 @@ static int parser_action_row162[] = {
 };
 static int parser_action_row163[] = {
        1,
-       -1, 1, 290
+       -1, 1, 297
 };
 static int parser_action_row164[] = {
        3,
-       -1, 1, 294,
-       31, 0, 290,
-       32, 0, 291
+       -1, 1, 301,
+       31, 0, 292,
+       32, 0, 293
 };
 static int parser_action_row165[] = {
        1,
-       -1, 1, 296
+       -1, 1, 303
 };
 static int parser_action_row166[] = {
        3,
-       -1, 1, 300,
-       73, 0, 292,
-       76, 0, 293
+       -1, 1, 307,
+       73, 0, 294,
+       76, 0, 295
 };
 static int parser_action_row167[] = {
        12,
-       -1, 1, 302,
-       14, 0, 294,
-       40, 0, 295,
-       64, 0, 296,
-       65, 0, 297,
-       69, 0, 298,
-       70, 0, 299,
-       71, 0, 300,
-       72, 0, 301,
-       74, 0, 302,
-       75, 0, 303,
-       77, 0, 304
+       -1, 1, 309,
+       14, 0, 296,
+       40, 0, 297,
+       64, 0, 298,
+       65, 0, 299,
+       69, 0, 300,
+       70, 0, 301,
+       71, 0, 302,
+       72, 0, 303,
+       74, 0, 304,
+       75, 0, 305,
+       77, 0, 306
 };
 static int parser_action_row168[] = {
        4,
-       -1, 1, 314,
-       66, 0, 305,
-       67, 0, 306,
-       68, 0, 307
+       -1, 1, 321,
+       66, 0, 307,
+       67, 0, 308,
+       68, 0, 309
 };
 static int parser_action_row169[] = {
        1,
-       -1, 1, 317
+       -1, 1, 324
 };
 static int parser_action_row170[] = {
        1,
-       -1, 1, 321
+       -1, 1, 328
 };
 static int parser_action_row171[] = {
        3,
-       -1, 1, 324,
+       -1, 1, 331,
        53, 0, 208,
-       63, 0, 308
+       63, 0, 310
 };
 static int parser_action_row172[] = {
        2,
        -1, 3, 171,
-       42, 0, 310
+       42, 0, 312
 };
 static int parser_action_row173[] = {
        2,
        -1, 3, 172,
-       80, 0, 311
+       80, 0, 313
 };
 static int parser_action_row174[] = {
        23,
@@ -3156,9 +3157,9 @@ static int parser_action_row177[] = {
 };
 static int parser_action_row178[] = {
        4,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
-       56, 0, 314,
+       56, 0, 316,
        57, 0, 191
 };
 static int parser_action_row179[] = {
@@ -3179,7 +3180,7 @@ static int parser_action_row179[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -3189,33 +3190,33 @@ static int parser_action_row179[] = {
 };
 static int parser_action_row180[] = {
        1,
-       -1, 1, 287
+       -1, 1, 294
 };
 static int parser_action_row181[] = {
        2,
-       -1, 1, 290,
-       26, 1, 531
+       -1, 1, 297,
+       26, 1, 541
 };
 static int parser_action_row182[] = {
        3,
-       -1, 1, 324,
+       -1, 1, 331,
        53, 0, 208,
-       63, 0, 319
+       63, 0, 321
 };
 static int parser_action_row183[] = {
        2,
        -1, 3, 182,
-       26, 0, 321
+       26, 0, 323
 };
 static int parser_action_row184[] = {
        3,
        -1, 3, 183,
-       48, 0, 322,
-       79, 0, 323
+       48, 0, 324,
+       79, 0, 325
 };
 static int parser_action_row185[] = {
        1,
-       -1, 1, 332
+       -1, 1, 339
 };
 static int parser_action_row186[] = {
        1,
@@ -3223,20 +3224,20 @@ static int parser_action_row186[] = {
 };
 static int parser_action_row187[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
        57, 0, 191
 };
 static int parser_action_row188[] = {
        2,
        -1, 3, 187,
-       52, 0, 326
+       52, 0, 328
 };
 static int parser_action_row189[] = {
        3,
-       -1, 1, 324,
+       -1, 1, 331,
        53, 0, 208,
-       63, 0, 327
+       63, 0, 329
 };
 static int parser_action_row190[] = {
        23,
@@ -3266,27 +3267,27 @@ static int parser_action_row190[] = {
 };
 static int parser_action_row191[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row192[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row193[] = {
        4,
-       -1, 1, 331,
-       58, 0, 332,
+       -1, 1, 338,
+       58, 0, 334,
        59, 0, 195,
        60, 0, 196
 };
 static int parser_action_row194[] = {
        2,
        -1, 1, 231,
-       78, 0, 334
+       78, 0, 336
 };
 static int parser_action_row195[] = {
        23,
@@ -3316,11 +3317,11 @@ static int parser_action_row195[] = {
 };
 static int parser_action_row196[] = {
        1,
-       -1, 1, 268
+       -1, 1, 273
 };
 static int parser_action_row197[] = {
        1,
-       -1, 1, 269
+       -1, 1, 274
 };
 static int parser_action_row198[] = {
        23,
@@ -3350,7 +3351,7 @@ static int parser_action_row198[] = {
 };
 static int parser_action_row199[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
@@ -3361,7 +3362,7 @@ static int parser_action_row200[] = {
 static int parser_action_row201[] = {
        2,
        -1, 3, 200,
-       4, 0, 341
+       4, 0, 343
 };
 static int parser_action_row202[] = {
        1,
@@ -3374,32 +3375,32 @@ static int parser_action_row203[] = {
 static int parser_action_row204[] = {
        17,
        -1, 3, 203,
-       53, 0, 342,
-       64, 0, 343,
-       65, 0, 344,
-       66, 0, 345,
-       67, 0, 346,
-       68, 0, 347,
-       69, 0, 348,
-       70, 0, 349,
-       71, 0, 350,
-       72, 0, 351,
-       73, 0, 352,
-       74, 0, 353,
-       75, 0, 354,
-       76, 0, 355,
-       77, 0, 356,
-       80, 0, 357
+       53, 0, 344,
+       64, 0, 345,
+       65, 0, 346,
+       66, 0, 347,
+       67, 0, 348,
+       68, 0, 349,
+       69, 0, 350,
+       70, 0, 351,
+       71, 0, 352,
+       72, 0, 353,
+       73, 0, 354,
+       74, 0, 355,
+       75, 0, 356,
+       76, 0, 357,
+       77, 0, 358,
+       80, 0, 359
 };
 static int parser_action_row205[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row206[] = {
        1,
-       -1, 1, 681
+       -1, 1, 691
 };
 static int parser_action_row207[] = {
        29,
@@ -3441,44 +3442,44 @@ static int parser_action_row208[] = {
 };
 static int parser_action_row209[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row210[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row211[] = {
        4,
-       -1, 1, 336,
-       58, 0, 365,
+       -1, 1, 343,
+       58, 0, 367,
        59, 0, 195,
        60, 0, 196
 };
 static int parser_action_row212[] = {
        1,
-       -1, 1, 358
+       -1, 1, 365
 };
 static int parser_action_row213[] = {
        1,
-       -1, 1, 359
+       -1, 1, 366
 };
 static int parser_action_row214[] = {
        1,
-       -1, 1, 683
+       -1, 1, 693
 };
 static int parser_action_row215[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row216[] = {
        1,
-       -1, 1, 353
+       -1, 1, 360
 };
 static int parser_action_row217[] = {
        3,
@@ -3514,7 +3515,7 @@ static int parser_action_row218[] = {
 };
 static int parser_action_row219[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -3527,8 +3528,8 @@ static int parser_action_row219[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -3546,15 +3547,15 @@ static int parser_action_row220[] = {
 };
 static int parser_action_row221[] = {
        1,
-       -1, 1, 688
+       -1, 1, 698
 };
 static int parser_action_row222[] = {
        1,
-       -1, 1, 377
+       -1, 1, 382
 };
 static int parser_action_row223[] = {
        2,
-       -1, 1, 389,
+       -1, 1, 394,
        0, 0, 95
 };
 static int parser_action_row224[] = {
@@ -3563,7 +3564,7 @@ static int parser_action_row224[] = {
 };
 static int parser_action_row225[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 14
@@ -3603,7 +3604,7 @@ static int parser_action_row231[] = {
 };
 static int parser_action_row232[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        89, 1, 15
@@ -3624,13 +3625,13 @@ static int parser_action_row235[] = {
 };
 static int parser_action_row236[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row237[] = {
        1,
-       -1, 1, 588
+       -1, 1, 598
 };
 static int parser_action_row238[] = {
        23,
@@ -3684,8 +3685,8 @@ static int parser_action_row239[] = {
 static int parser_action_row240[] = {
        3,
        -1, 3, 239,
-       48, 0, 322,
-       79, 0, 323
+       48, 0, 324,
+       79, 0, 325
 };
 static int parser_action_row241[] = {
        19,
@@ -3711,25 +3712,25 @@ static int parser_action_row241[] = {
 };
 static int parser_action_row242[] = {
        1,
-       -1, 1, 585
+       -1, 1, 595
 };
 static int parser_action_row243[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row244[] = {
        3,
-       -1, 1, 580,
-       53, 1, 582,
-       63, 1, 582
+       -1, 1, 590,
+       53, 1, 592,
+       63, 1, 592
 };
 static int parser_action_row245[] = {
        3,
        -1, 3, 244,
        53, 0, 208,
-       63, 0, 383
+       63, 0, 385
 };
 static int parser_action_row246[] = {
        24,
@@ -3746,7 +3747,7 @@ static int parser_action_row246[] = {
        46, 0, 46,
        49, 0, 157,
        51, 0, 47,
-       52, 0, 384,
+       52, 0, 386,
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
@@ -3782,167 +3783,167 @@ static int parser_action_row247[] = {
 };
 static int parser_action_row248[] = {
        1,
-       -1, 1, 584
+       -1, 1, 594
 };
 static int parser_action_row249[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
 static int parser_action_row250[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row251[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       26, 0, 389
+       26, 0, 391
 };
 static int parser_action_row252[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row253[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row254[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row255[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row256[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row257[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row258[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row259[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row260[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row261[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row262[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row263[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row264[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row265[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row266[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row267[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row268[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row269[] = {
        1,
-       -1, 1, 589
+       -1, 1, 599
 };
 static int parser_action_row270[] = {
        17,
        -1, 3, 269,
-       53, 0, 342,
-       64, 0, 343,
-       65, 0, 344,
-       66, 0, 345,
-       67, 0, 346,
-       68, 0, 347,
-       69, 0, 348,
-       70, 0, 349,
-       71, 0, 350,
-       72, 0, 351,
-       73, 0, 352,
-       74, 0, 353,
-       75, 0, 354,
-       76, 0, 355,
-       77, 0, 356,
-       80, 0, 357
+       53, 0, 344,
+       64, 0, 345,
+       65, 0, 346,
+       66, 0, 347,
+       67, 0, 348,
+       68, 0, 349,
+       69, 0, 350,
+       70, 0, 351,
+       71, 0, 352,
+       72, 0, 353,
+       73, 0, 354,
+       74, 0, 355,
+       75, 0, 356,
+       76, 0, 357,
+       77, 0, 358,
+       80, 0, 359
 };
 static int parser_action_row271[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row272[] = {
        2,
        -1, 1, 203,
-       50, 1, 539
+       50, 1, 549
 };
 static int parser_action_row273[] = {
        2,
        -1, 3, 272,
-       9, 0, 410
+       9, 0, 412
 };
 static int parser_action_row274[] = {
        3,
@@ -3952,50 +3953,59 @@ static int parser_action_row274[] = {
 };
 static int parser_action_row275[] = {
        1,
-       -1, 1, 270
+       -1, 1, 275
 };
 static int parser_action_row276[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row277[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row278[] = {
        2,
-       -1, 1, 255,
-       58, 0, 414
+       -1, 1, 260,
+       58, 0, 416
 };
 static int parser_action_row279[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row280[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row281[] = {
        1,
-       -1, 1, 279
+       -1, 1, 284
 };
 static int parser_action_row282[] = {
+       2,
+       -1, 3, 281,
+       80, 0, 282
+};
+static int parser_action_row283[] = {
+       1,
+       -1, 1, 379
+};
+static int parser_action_row284[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row283[] = {
+static int parser_action_row285[] = {
        23,
-       -1, 3, 282,
+       -1, 3, 284,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4019,9 +4029,9 @@ static int parser_action_row283[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row284[] = {
+static int parser_action_row286[] = {
        22,
-       -1, 3, 283,
+       -1, 3, 285,
        12, 0, 151,
        33, 0, 153,
        39, 0, 154,
@@ -4044,15 +4054,15 @@ static int parser_action_row284[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row285[] = {
+static int parser_action_row287[] = {
        3,
-       -1, 3, 284,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 286,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row286[] = {
+static int parser_action_row288[] = {
        21,
-       -1, 3, 285,
+       -1, 3, 287,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -4074,21 +4084,21 @@ static int parser_action_row286[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row287[] = {
+static int parser_action_row289[] = {
        3,
-       -1, 1, 327,
-       53, 1, 329,
-       63, 1, 329
+       -1, 1, 334,
+       53, 1, 336,
+       63, 1, 336
 };
-static int parser_action_row288[] = {
+static int parser_action_row290[] = {
        3,
-       -1, 3, 287,
+       -1, 3, 289,
        53, 0, 208,
-       63, 0, 422
+       63, 0, 425
 };
-static int parser_action_row289[] = {
+static int parser_action_row291[] = {
        21,
-       -1, 3, 288,
+       -1, 3, 290,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -4110,189 +4120,189 @@ static int parser_action_row289[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row290[] = {
-       2,
-       -1, 1, 331,
-       78, 0, 334
-};
-static int parser_action_row291[] = {
-       3,
-       -1, 1, 386,
-       0, 0, 1,
-       1, 0, 2
-};
 static int parser_action_row292[] = {
-       4,
-       -1, 1, 386,
-       0, 0, 1,
-       1, 0, 2,
-       26, 0, 426
+       2,
+       -1, 1, 338,
+       78, 0, 336
 };
 static int parser_action_row293[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row294[] = {
-       3,
-       -1, 1, 386,
+       4,
+       -1, 1, 391,
        0, 0, 1,
-       1, 0, 2
+       1, 0, 2,
+       26, 0, 429
 };
 static int parser_action_row295[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row296[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row297[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row298[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row299[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row300[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row301[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row302[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row303[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row304[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row305[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row306[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row307[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row308[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row309[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
 static int parser_action_row310[] = {
-       2,
-       -1, 1, 336,
-       78, 0, 334
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
 };
 static int parser_action_row311[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row312[] = {
+       2,
+       -1, 1, 343,
+       78, 0, 336
+};
+static int parser_action_row313[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row312[] = {
+static int parser_action_row314[] = {
        1,
        -1, 1, 238
 };
-static int parser_action_row313[] = {
+static int parser_action_row315[] = {
        1,
        -1, 1, 223
 };
-static int parser_action_row314[] = {
+static int parser_action_row316[] = {
        1,
        -1, 1, 218
 };
-static int parser_action_row315[] = {
+static int parser_action_row317[] = {
        1,
-       -1, 1, 289
+       -1, 1, 296
 };
-static int parser_action_row316[] = {
+static int parser_action_row318[] = {
        2,
-       -1, 1, 331,
-       78, 0, 446
+       -1, 1, 338,
+       78, 0, 449
 };
-static int parser_action_row317[] = {
+static int parser_action_row319[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
        57, 0, 191
 };
-static int parser_action_row318[] = {
+static int parser_action_row320[] = {
        1,
-       -1, 1, 288
+       -1, 1, 295
 };
-static int parser_action_row319[] = {
+static int parser_action_row321[] = {
        2,
-       -1, 3, 318,
-       26, 0, 450
+       -1, 3, 320,
+       26, 0, 453
 };
-static int parser_action_row320[] = {
+static int parser_action_row322[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row321[] = {
+static int parser_action_row323[] = {
        2,
-       -1, 1, 336,
-       78, 0, 446
+       -1, 1, 343,
+       78, 0, 449
 };
-static int parser_action_row322[] = {
+static int parser_action_row324[] = {
        32,
-       -1, 3, 321,
+       -1, 3, 323,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -4322,56 +4332,56 @@ static int parser_action_row322[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row323[] = {
+static int parser_action_row325[] = {
        2,
-       -1, 3, 322,
-       79, 0, 456
+       -1, 3, 324,
+       79, 0, 459
 };
-static int parser_action_row324[] = {
+static int parser_action_row326[] = {
        2,
        -1, 1, 194,
-       53, 0, 457
+       53, 0, 460
 };
-static int parser_action_row325[] = {
+static int parser_action_row327[] = {
        2,
-       -1, 3, 324,
-       63, 0, 458
+       -1, 3, 326,
+       63, 0, 461
 };
-static int parser_action_row326[] = {
+static int parser_action_row328[] = {
        1,
-       -1, 1, 331
+       -1, 1, 338
 };
-static int parser_action_row327[] = {
+static int parser_action_row329[] = {
        1,
-       -1, 1, 350
+       -1, 1, 357
 };
-static int parser_action_row328[] = {
+static int parser_action_row330[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row329[] = {
+static int parser_action_row331[] = {
        1,
-       -1, 1, 336
+       -1, 1, 343
 };
-static int parser_action_row330[] = {
+static int parser_action_row332[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row331[] = {
+static int parser_action_row333[] = {
        1,
-       -1, 1, 380
+       -1, 1, 385
 };
-static int parser_action_row332[] = {
+static int parser_action_row334[] = {
        1,
-       -1, 1, 379
+       -1, 1, 384
 };
-static int parser_action_row333[] = {
+static int parser_action_row335[] = {
        23,
-       -1, 3, 332,
+       -1, 3, 334,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4395,9 +4405,9 @@ static int parser_action_row333[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row334[] = {
+static int parser_action_row336[] = {
        23,
-       -1, 3, 333,
+       -1, 3, 335,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4421,131 +4431,131 @@ static int parser_action_row334[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row335[] = {
+static int parser_action_row337[] = {
        3,
-       -1, 3, 334,
-       36, 0, 463,
-       80, 0, 464
+       -1, 3, 336,
+       36, 0, 466,
+       80, 0, 467
 };
-static int parser_action_row336[] = {
+static int parser_action_row338[] = {
        1,
        -1, 1, 233
 };
-static int parser_action_row337[] = {
+static int parser_action_row339[] = {
        1,
        -1, 1, 239
 };
-static int parser_action_row338[] = {
+static int parser_action_row340[] = {
        2,
-       -1, 3, 337,
-       78, 0, 334
+       -1, 3, 339,
+       78, 0, 336
 };
-static int parser_action_row339[] = {
+static int parser_action_row341[] = {
        1,
-       -1, 1, 259
+       -1, 1, 264
 };
-static int parser_action_row340[] = {
+static int parser_action_row342[] = {
        1,
-       -1, 1, 264
+       -1, 1, 269
 };
-static int parser_action_row341[] = {
+static int parser_action_row343[] = {
        3,
-       -1, 3, 340,
-       9, 0, 467,
-       80, 0, 468
+       -1, 3, 342,
+       9, 0, 470,
+       80, 0, 471
 };
-static int parser_action_row342[] = {
+static int parser_action_row344[] = {
        1,
        -1, 1, 56
 };
-static int parser_action_row343[] = {
+static int parser_action_row345[] = {
        2,
-       -1, 3, 342,
-       54, 0, 469
+       -1, 3, 344,
+       54, 0, 472
 };
-static int parser_action_row344[] = {
+static int parser_action_row346[] = {
        1,
        -1, 1, 150
 };
-static int parser_action_row345[] = {
+static int parser_action_row347[] = {
        1,
        -1, 1, 151
 };
-static int parser_action_row346[] = {
+static int parser_action_row348[] = {
        1,
        -1, 1, 152
 };
-static int parser_action_row347[] = {
+static int parser_action_row349[] = {
        1,
        -1, 1, 153
 };
-static int parser_action_row348[] = {
+static int parser_action_row350[] = {
        1,
        -1, 1, 154
 };
-static int parser_action_row349[] = {
+static int parser_action_row351[] = {
        1,
        -1, 1, 155
 };
-static int parser_action_row350[] = {
+static int parser_action_row352[] = {
        1,
        -1, 1, 156
 };
-static int parser_action_row351[] = {
+static int parser_action_row353[] = {
        1,
        -1, 1, 159
 };
-static int parser_action_row352[] = {
+static int parser_action_row354[] = {
        1,
        -1, 1, 157
 };
-static int parser_action_row353[] = {
+static int parser_action_row355[] = {
        1,
        -1, 1, 161
 };
-static int parser_action_row354[] = {
+static int parser_action_row356[] = {
        1,
        -1, 1, 160
 };
-static int parser_action_row355[] = {
+static int parser_action_row357[] = {
        1,
        -1, 1, 158
 };
-static int parser_action_row356[] = {
+static int parser_action_row358[] = {
        1,
        -1, 1, 162
 };
-static int parser_action_row357[] = {
+static int parser_action_row359[] = {
        1,
        -1, 1, 164
 };
-static int parser_action_row358[] = {
+static int parser_action_row360[] = {
        2,
        -1, 1, 149,
-       58, 0, 470
+       58, 0, 473
 };
-static int parser_action_row359[] = {
+static int parser_action_row361[] = {
        5,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row360[] = {
+static int parser_action_row362[] = {
        2,
-       -1, 3, 359,
-       79, 0, 478
+       -1, 3, 361,
+       79, 0, 481
 };
-static int parser_action_row361[] = {
+static int parser_action_row363[] = {
        1,
        -1, 1, 210
 };
-static int parser_action_row362[] = {
+static int parser_action_row364[] = {
        1,
-       -1, 1, 682
+       -1, 1, 692
 };
-static int parser_action_row363[] = {
+static int parser_action_row365[] = {
        29,
        -1, 1, 209,
        12, 0, 25,
@@ -4577,9 +4587,9 @@ static int parser_action_row363[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row364[] = {
+static int parser_action_row366[] = {
        23,
-       -1, 3, 363,
+       -1, 3, 365,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4603,17 +4613,17 @@ static int parser_action_row364[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row365[] = {
+static int parser_action_row367[] = {
        5,
-       -1, 3, 364,
-       12, 0, 480,
-       47, 0, 481,
-       80, 0, 482,
-       81, 0, 483
+       -1, 3, 366,
+       12, 0, 483,
+       47, 0, 484,
+       80, 0, 485,
+       81, 0, 486
 };
-static int parser_action_row366[] = {
+static int parser_action_row368[] = {
        23,
-       -1, 3, 365,
+       -1, 3, 367,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4637,9 +4647,9 @@ static int parser_action_row366[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row367[] = {
+static int parser_action_row369[] = {
        23,
-       -1, 3, 366,
+       -1, 3, 368,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4663,9 +4673,9 @@ static int parser_action_row367[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row368[] = {
+static int parser_action_row370[] = {
        23,
-       -1, 3, 367,
+       -1, 3, 369,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4689,48 +4699,48 @@ static int parser_action_row368[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row369[] = {
+static int parser_action_row371[] = {
        1,
-       -1, 1, 684
+       -1, 1, 694
 };
-static int parser_action_row370[] = {
+static int parser_action_row372[] = {
        1,
-       -1, 1, 354
+       -1, 1, 361
 };
-static int parser_action_row371[] = {
+static int parser_action_row373[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row372[] = {
+static int parser_action_row374[] = {
        1,
-       -1, 1, 333
+       -1, 1, 340
 };
-static int parser_action_row373[] = {
+static int parser_action_row375[] = {
        1,
        -1, 1, 235
 };
-static int parser_action_row374[] = {
+static int parser_action_row376[] = {
        1,
        -1, 1, 30
 };
-static int parser_action_row375[] = {
+static int parser_action_row377[] = {
        2,
-       -1, 3, 374,
+       -1, 3, 376,
        10, 0, 269
 };
-static int parser_action_row376[] = {
+static int parser_action_row378[] = {
        1,
        -1, 1, 31
 };
-static int parser_action_row377[] = {
+static int parser_action_row379[] = {
        1,
        -1, 1, 32
 };
-static int parser_action_row378[] = {
+static int parser_action_row380[] = {
        24,
-       -1, 3, 377,
+       -1, 3, 379,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -4743,7 +4753,7 @@ static int parser_action_row378[] = {
        46, 0, 46,
        49, 0, 157,
        51, 0, 47,
-       52, 0, 488,
+       52, 0, 491,
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
@@ -4755,64 +4765,64 @@ static int parser_action_row378[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row379[] = {
+static int parser_action_row381[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row380[] = {
+static int parser_action_row382[] = {
        1,
-       -1, 1, 554
+       -1, 1, 564
 };
-static int parser_action_row381[] = {
+static int parser_action_row383[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
-       63, 0, 491
+       63, 0, 494
 };
-static int parser_action_row382[] = {
+static int parser_action_row384[] = {
        1,
-       -1, 1, 576
+       -1, 1, 586
 };
-static int parser_action_row383[] = {
+static int parser_action_row385[] = {
        3,
-       -1, 3, 382,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 384,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row384[] = {
+static int parser_action_row386[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row385[] = {
+static int parser_action_row387[] = {
        6,
-       -1, 1, 367,
-       53, 1, 362,
-       58, 1, 362,
-       59, 1, 362,
-       60, 1, 362,
-       63, 1, 362
+       -1, 1, 374,
+       53, 1, 369,
+       58, 1, 369,
+       59, 1, 369,
+       60, 1, 369,
+       63, 1, 369
 };
-static int parser_action_row386[] = {
+static int parser_action_row388[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row387[] = {
+static int parser_action_row389[] = {
        1,
-       -1, 1, 575
+       -1, 1, 585
 };
-static int parser_action_row388[] = {
+static int parser_action_row390[] = {
        1,
-       -1, 1, 586
+       -1, 1, 596
 };
-static int parser_action_row389[] = {
+static int parser_action_row391[] = {
        20,
-       -1, 3, 388,
+       -1, 3, 390,
        12, 0, 104,
        33, 0, 106,
        39, 0, 107,
@@ -4833,15 +4843,15 @@ static int parser_action_row389[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row390[] = {
+static int parser_action_row392[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row391[] = {
+static int parser_action_row393[] = {
        20,
-       -1, 3, 390,
+       -1, 3, 392,
        12, 0, 104,
        33, 0, 106,
        39, 0, 107,
@@ -4862,9 +4872,9 @@ static int parser_action_row391[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row392[] = {
+static int parser_action_row394[] = {
        19,
-       -1, 3, 391,
+       -1, 3, 393,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -4884,9 +4894,9 @@ static int parser_action_row392[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row393[] = {
+static int parser_action_row395[] = {
        19,
-       -1, 3, 392,
+       -1, 3, 394,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -4906,9 +4916,9 @@ static int parser_action_row393[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row394[] = {
+static int parser_action_row396[] = {
        19,
-       -1, 3, 393,
+       -1, 3, 395,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -4928,15 +4938,15 @@ static int parser_action_row394[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row395[] = {
+static int parser_action_row397[] = {
        3,
-       -1, 3, 394,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 396,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row396[] = {
+static int parser_action_row398[] = {
        19,
-       -1, 3, 395,
+       -1, 3, 397,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -4956,9 +4966,9 @@ static int parser_action_row396[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row397[] = {
+static int parser_action_row399[] = {
        19,
-       -1, 3, 396,
+       -1, 3, 398,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -4978,9 +4988,9 @@ static int parser_action_row397[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row398[] = {
+static int parser_action_row400[] = {
        19,
-       -1, 3, 397,
+       -1, 3, 399,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5000,9 +5010,9 @@ static int parser_action_row398[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row399[] = {
+static int parser_action_row401[] = {
        19,
-       -1, 3, 398,
+       -1, 3, 400,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5022,9 +5032,9 @@ static int parser_action_row399[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row400[] = {
+static int parser_action_row402[] = {
        19,
-       -1, 3, 399,
+       -1, 3, 401,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5044,9 +5054,9 @@ static int parser_action_row400[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row401[] = {
+static int parser_action_row403[] = {
        19,
-       -1, 3, 400,
+       -1, 3, 402,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5066,9 +5076,9 @@ static int parser_action_row401[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row402[] = {
+static int parser_action_row404[] = {
        19,
-       -1, 3, 401,
+       -1, 3, 403,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5088,9 +5098,9 @@ static int parser_action_row402[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row403[] = {
+static int parser_action_row405[] = {
        19,
-       -1, 3, 402,
+       -1, 3, 404,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5110,9 +5120,9 @@ static int parser_action_row403[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row404[] = {
+static int parser_action_row406[] = {
        19,
-       -1, 3, 403,
+       -1, 3, 405,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5132,9 +5142,9 @@ static int parser_action_row404[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row405[] = {
+static int parser_action_row407[] = {
        19,
-       -1, 3, 404,
+       -1, 3, 406,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5154,9 +5164,9 @@ static int parser_action_row405[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row406[] = {
+static int parser_action_row408[] = {
        19,
-       -1, 3, 405,
+       -1, 3, 407,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5176,9 +5186,9 @@ static int parser_action_row406[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row407[] = {
+static int parser_action_row409[] = {
        19,
-       -1, 3, 406,
+       -1, 3, 408,
        12, 0, 104,
        39, 0, 107,
        41, 0, 108,
@@ -5198,47 +5208,47 @@ static int parser_action_row407[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row408[] = {
+static int parser_action_row410[] = {
        5,
-       -1, 3, 407,
-       12, 0, 515,
-       47, 0, 516,
-       80, 0, 517,
-       81, 0, 518
+       -1, 3, 409,
+       12, 0, 518,
+       47, 0, 519,
+       80, 0, 520,
+       81, 0, 521
 };
-static int parser_action_row409[] = {
+static int parser_action_row411[] = {
        5,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row410[] = {
+static int parser_action_row412[] = {
        2,
-       -1, 3, 409,
-       79, 0, 521
+       -1, 3, 411,
+       79, 0, 524
 };
-static int parser_action_row411[] = {
+static int parser_action_row413[] = {
        2,
        -1, 1, 202,
-       50, 1, 538
+       50, 1, 548
 };
-static int parser_action_row412[] = {
+static int parser_action_row414[] = {
        3,
-       -1, 3, 411,
+       -1, 3, 413,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row413[] = {
+static int parser_action_row415[] = {
        3,
-       -1, 3, 412,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 414,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row414[] = {
+static int parser_action_row416[] = {
        23,
-       -1, 3, 413,
+       -1, 3, 415,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -5262,64 +5272,72 @@ static int parser_action_row414[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row415[] = {
+static int parser_action_row417[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row416[] = {
-       2,
-       -1, 3, 415,
-       25, 0, 525
-};
-static int parser_action_row417[] = {
-       2,
-       -1, 3, 416,
-       15, 0, 526
-};
 static int parser_action_row418[] = {
        2,
        -1, 3, 417,
-       30, 0, 527
+       25, 0, 528
 };
 static int parser_action_row419[] = {
+       2,
+       -1, 3, 418,
+       15, 0, 529
+};
+static int parser_action_row420[] = {
+       4,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2,
+       52, 0, 530
+};
+static int parser_action_row421[] = {
        3,
-       -1, 1, 386,
+       -1, 3, 420,
+       30, 0, 532,
+       55, 0, 533
+};
+static int parser_action_row422[] = {
+       3,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row420[] = {
+static int parser_action_row423[] = {
        1,
-       -1, 1, 301
+       -1, 1, 308
 };
-static int parser_action_row421[] = {
+static int parser_action_row424[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
-       63, 0, 458
+       63, 0, 461
 };
-static int parser_action_row422[] = {
+static int parser_action_row425[] = {
        1,
-       -1, 1, 323
+       -1, 1, 330
 };
-static int parser_action_row423[] = {
+static int parser_action_row426[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row424[] = {
+static int parser_action_row427[] = {
        1,
-       -1, 1, 322
+       -1, 1, 329
 };
-static int parser_action_row425[] = {
+static int parser_action_row428[] = {
        1,
-       -1, 1, 292
+       -1, 1, 299
 };
-static int parser_action_row426[] = {
+static int parser_action_row429[] = {
        22,
-       -1, 3, 425,
+       -1, 3, 428,
        12, 0, 151,
        33, 0, 153,
        39, 0, 154,
@@ -5342,15 +5360,15 @@ static int parser_action_row426[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row427[] = {
+static int parser_action_row430[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row428[] = {
+static int parser_action_row431[] = {
        22,
-       -1, 3, 427,
+       -1, 3, 430,
        12, 0, 151,
        33, 0, 153,
        39, 0, 154,
@@ -5373,9 +5391,9 @@ static int parser_action_row428[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row429[] = {
+static int parser_action_row432[] = {
        21,
-       -1, 3, 428,
+       -1, 3, 431,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5397,9 +5415,9 @@ static int parser_action_row429[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row430[] = {
+static int parser_action_row433[] = {
        21,
-       -1, 3, 429,
+       -1, 3, 432,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5421,9 +5439,9 @@ static int parser_action_row430[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row431[] = {
+static int parser_action_row434[] = {
        21,
-       -1, 3, 430,
+       -1, 3, 433,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5445,15 +5463,15 @@ static int parser_action_row431[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row432[] = {
+static int parser_action_row435[] = {
        3,
-       -1, 3, 431,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 434,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row433[] = {
+static int parser_action_row436[] = {
        21,
-       -1, 3, 432,
+       -1, 3, 435,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5475,9 +5493,9 @@ static int parser_action_row433[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row434[] = {
+static int parser_action_row437[] = {
        21,
-       -1, 3, 433,
+       -1, 3, 436,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5499,9 +5517,9 @@ static int parser_action_row434[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row435[] = {
+static int parser_action_row438[] = {
        21,
-       -1, 3, 434,
+       -1, 3, 437,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5523,9 +5541,9 @@ static int parser_action_row435[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row436[] = {
+static int parser_action_row439[] = {
        21,
-       -1, 3, 435,
+       -1, 3, 438,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5547,9 +5565,9 @@ static int parser_action_row436[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row437[] = {
+static int parser_action_row440[] = {
        21,
-       -1, 3, 436,
+       -1, 3, 439,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5571,9 +5589,9 @@ static int parser_action_row437[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row438[] = {
+static int parser_action_row441[] = {
        21,
-       -1, 3, 437,
+       -1, 3, 440,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5595,9 +5613,9 @@ static int parser_action_row438[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row439[] = {
+static int parser_action_row442[] = {
        21,
-       -1, 3, 438,
+       -1, 3, 441,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5619,9 +5637,9 @@ static int parser_action_row439[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row440[] = {
+static int parser_action_row443[] = {
        21,
-       -1, 3, 439,
+       -1, 3, 442,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5643,9 +5661,9 @@ static int parser_action_row440[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row441[] = {
+static int parser_action_row444[] = {
        21,
-       -1, 3, 440,
+       -1, 3, 443,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5667,9 +5685,9 @@ static int parser_action_row441[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row442[] = {
+static int parser_action_row445[] = {
        21,
-       -1, 3, 441,
+       -1, 3, 444,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5691,9 +5709,9 @@ static int parser_action_row442[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row443[] = {
+static int parser_action_row446[] = {
        21,
-       -1, 3, 442,
+       -1, 3, 445,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5715,9 +5733,9 @@ static int parser_action_row443[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row444[] = {
+static int parser_action_row447[] = {
        21,
-       -1, 3, 443,
+       -1, 3, 446,
        12, 0, 151,
        39, 0, 154,
        41, 0, 155,
@@ -5739,43 +5757,43 @@ static int parser_action_row444[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row445[] = {
+static int parser_action_row448[] = {
        5,
-       -1, 3, 444,
-       12, 0, 550,
-       47, 0, 481,
-       80, 0, 551,
-       81, 0, 552
+       -1, 3, 447,
+       12, 0, 556,
+       47, 0, 484,
+       80, 0, 557,
+       81, 0, 558
 };
-static int parser_action_row446[] = {
+static int parser_action_row449[] = {
        1,
-       -1, 1, 293
+       -1, 1, 300
 };
-static int parser_action_row447[] = {
+static int parser_action_row450[] = {
        3,
-       -1, 3, 446,
-       36, 0, 463,
-       80, 0, 464
+       -1, 3, 449,
+       36, 0, 466,
+       80, 0, 467
 };
-static int parser_action_row448[] = {
+static int parser_action_row451[] = {
        2,
-       -1, 3, 447,
-       78, 0, 446
+       -1, 3, 450,
+       78, 0, 449
 };
-static int parser_action_row449[] = {
+static int parser_action_row452[] = {
        1,
-       -1, 1, 533
+       -1, 1, 543
 };
-static int parser_action_row450[] = {
+static int parser_action_row453[] = {
        1,
-       -1, 1, 497
+       -1, 1, 502
 };
-static int parser_action_row451[] = {
+static int parser_action_row454[] = {
        32,
-       -1, 3, 450,
+       -1, 3, 453,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -5805,30 +5823,30 @@ static int parser_action_row451[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row452[] = {
+static int parser_action_row455[] = {
        5,
-       -1, 3, 451,
-       12, 0, 550,
-       47, 0, 481,
-       80, 0, 556,
-       81, 0, 552
+       -1, 3, 454,
+       12, 0, 556,
+       47, 0, 484,
+       80, 0, 562,
+       81, 0, 558
 };
-static int parser_action_row453[] = {
+static int parser_action_row456[] = {
        1,
-       -1, 1, 534
+       -1, 1, 544
 };
-static int parser_action_row454[] = {
+static int parser_action_row457[] = {
        1,
        -1, 1, 204
 };
-static int parser_action_row455[] = {
+static int parser_action_row458[] = {
        1,
-       -1, 1, 285
+       -1, 1, 292
 };
-static int parser_action_row456[] = {
+static int parser_action_row459[] = {
        30,
-       -1, 3, 455,
-       9, 0, 557,
+       -1, 3, 458,
+       9, 0, 563,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -5858,143 +5876,143 @@ static int parser_action_row456[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row457[] = {
+static int parser_action_row460[] = {
        2,
        -1, 1, 195,
-       53, 0, 559
+       53, 0, 565
 };
-static int parser_action_row458[] = {
+static int parser_action_row461[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row459[] = {
+static int parser_action_row462[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row460[] = {
+static int parser_action_row463[] = {
        5,
-       -1, 3, 459,
-       12, 0, 550,
-       47, 0, 481,
-       80, 0, 562,
-       81, 0, 552
+       -1, 3, 462,
+       12, 0, 556,
+       47, 0, 484,
+       80, 0, 568,
+       81, 0, 558
 };
-static int parser_action_row461[] = {
+static int parser_action_row464[] = {
        4,
-       -1, 3, 460,
-       54, 0, 563,
-       55, 0, 564,
-       62, 0, 565
+       -1, 3, 463,
+       54, 0, 569,
+       55, 0, 570,
+       62, 0, 571
 };
-static int parser_action_row462[] = {
+static int parser_action_row465[] = {
        1,
-       -1, 1, 261
+       -1, 1, 266
 };
-static int parser_action_row463[] = {
+static int parser_action_row466[] = {
        1,
-       -1, 1, 266
+       -1, 1, 271
 };
-static int parser_action_row464[] = {
+static int parser_action_row467[] = {
        1,
-       -1, 1, 252
+       -1, 1, 257
 };
-static int parser_action_row465[] = {
+static int parser_action_row468[] = {
        1,
-       -1, 1, 251
+       -1, 1, 256
 };
-static int parser_action_row466[] = {
+static int parser_action_row469[] = {
        5,
-       -1, 3, 465,
-       15, 0, 568,
-       51, 0, 569,
-       58, 0, 570,
-       80, 0, 571
+       -1, 3, 468,
+       15, 0, 574,
+       51, 0, 575,
+       58, 0, 576,
+       80, 0, 282
 };
-static int parser_action_row467[] = {
+static int parser_action_row470[] = {
        1,
        -1, 1, 240
 };
-static int parser_action_row468[] = {
+static int parser_action_row471[] = {
        3,
-       -1, 3, 467,
+       -1, 3, 470,
        0, 0, 79,
        1, 0, 80
 };
-static int parser_action_row469[] = {
+static int parser_action_row472[] = {
        3,
-       -1, 3, 468,
+       -1, 3, 471,
        0, 0, 79,
        1, 0, 80
 };
-static int parser_action_row470[] = {
+static int parser_action_row473[] = {
        2,
        -1, 1, 163,
-       58, 0, 576
+       58, 0, 580
 };
-static int parser_action_row471[] = {
+static int parser_action_row474[] = {
        1,
        -1, 1, 165
 };
-static int parser_action_row472[] = {
+static int parser_action_row475[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row473[] = {
+static int parser_action_row476[] = {
        3,
-       -1, 3, 472,
-       14, 0, 578,
-       15, 0, 579
+       -1, 3, 475,
+       14, 0, 582,
+       15, 0, 583
 };
-static int parser_action_row474[] = {
+static int parser_action_row477[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        56, 0, 275
 };
-static int parser_action_row475[] = {
+static int parser_action_row478[] = {
        1,
        -1, 1, 171
 };
-static int parser_action_row476[] = {
+static int parser_action_row479[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row477[] = {
+static int parser_action_row480[] = {
        3,
        -1, 1, 173,
-       36, 0, 585,
-       78, 0, 586
+       36, 0, 589,
+       78, 0, 590
 };
-static int parser_action_row478[] = {
+static int parser_action_row481[] = {
        2,
-       -1, 3, 477,
-       58, 0, 589
+       -1, 3, 480,
+       58, 0, 593
 };
-static int parser_action_row479[] = {
+static int parser_action_row482[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       53, 0, 590
+       53, 0, 594
 };
-static int parser_action_row480[] = {
+static int parser_action_row483[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row481[] = {
+static int parser_action_row484[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -6007,8 +6025,8 @@ static int parser_action_row481[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -6019,18 +6037,18 @@ static int parser_action_row481[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row482[] = {
+static int parser_action_row485[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row483[] = {
+static int parser_action_row486[] = {
        27,
-       -1, 1, 363,
-       0, 1, 368,
-       1, 1, 368,
-       9, 1, 368,
+       -1, 1, 370,
+       0, 1, 375,
+       1, 1, 375,
+       9, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -6044,7 +6062,7 @@ static int parser_action_row483[] = {
        49, 0, 114,
        51, 0, 115,
        65, 0, 116,
-       78, 1, 368,
+       78, 1, 375,
        79, 0, 49,
        80, 0, 117,
        81, 0, 118,
@@ -6053,84 +6071,84 @@ static int parser_action_row483[] = {
        84, 0, 121,
        85, 0, 122,
        86, 0, 56,
-       89, 1, 368
+       89, 1, 375
 };
-static int parser_action_row484[] = {
+static int parser_action_row487[] = {
        4,
-       -1, 1, 328,
-       58, 0, 604,
+       -1, 1, 335,
+       58, 0, 608,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row485[] = {
+static int parser_action_row488[] = {
        1,
-       -1, 1, 262
+       -1, 1, 267
 };
-static int parser_action_row486[] = {
+static int parser_action_row489[] = {
        1,
-       -1, 1, 267
+       -1, 1, 272
 };
-static int parser_action_row487[] = {
+static int parser_action_row490[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row488[] = {
+static int parser_action_row491[] = {
        1,
-       -1, 1, 355
+       -1, 1, 362
 };
-static int parser_action_row489[] = {
+static int parser_action_row492[] = {
        1,
-       -1, 1, 362
+       -1, 1, 369
 };
-static int parser_action_row490[] = {
+static int parser_action_row493[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row491[] = {
+static int parser_action_row494[] = {
        2,
-       -1, 3, 490,
-       25, 0, 608
+       -1, 3, 493,
+       25, 0, 612
 };
-static int parser_action_row492[] = {
+static int parser_action_row495[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row493[] = {
+static int parser_action_row496[] = {
        1,
-       -1, 1, 578
+       -1, 1, 588
 };
-static int parser_action_row494[] = {
+static int parser_action_row497[] = {
        2,
-       -1, 3, 493,
-       63, 0, 491
+       -1, 3, 496,
+       63, 0, 494
 };
-static int parser_action_row495[] = {
+static int parser_action_row498[] = {
        5,
-       -1, 3, 494,
-       12, 0, 515,
-       47, 0, 516,
-       80, 0, 517,
-       81, 0, 610
+       -1, 3, 497,
+       12, 0, 518,
+       47, 0, 519,
+       80, 0, 520,
+       81, 0, 614
 };
-static int parser_action_row496[] = {
+static int parser_action_row499[] = {
        3,
-       -1, 3, 495,
-       52, 0, 611,
-       55, 0, 564
+       -1, 3, 498,
+       52, 0, 615,
+       55, 0, 570
 };
-static int parser_action_row497[] = {
+static int parser_action_row500[] = {
        1,
-       -1, 1, 551
+       -1, 1, 561
 };
-static int parser_action_row498[] = {
+static int parser_action_row501[] = {
        20,
-       -1, 3, 497,
+       -1, 3, 500,
        12, 0, 104,
        33, 0, 106,
        39, 0, 107,
@@ -6151,149 +6169,149 @@ static int parser_action_row498[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row499[] = {
+static int parser_action_row502[] = {
        1,
-       -1, 1, 550
+       -1, 1, 560
 };
-static int parser_action_row500[] = {
+static int parser_action_row503[] = {
        3,
-       -1, 1, 561,
+       -1, 1, 571,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row501[] = {
+static int parser_action_row504[] = {
        3,
-       -1, 1, 564,
+       -1, 1, 574,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row502[] = {
+static int parser_action_row505[] = {
        3,
-       -1, 1, 557,
+       -1, 1, 567,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row503[] = {
+static int parser_action_row506[] = {
        1,
-       -1, 1, 566
+       -1, 1, 576
 };
-static int parser_action_row504[] = {
+static int parser_action_row507[] = {
        4,
-       -1, 1, 568,
+       -1, 1, 578,
        66, 0, 264,
        67, 0, 265,
        68, 0, 266
 };
-static int parser_action_row505[] = {
+static int parser_action_row508[] = {
        4,
-       -1, 1, 569,
+       -1, 1, 579,
        66, 0, 264,
        67, 0, 265,
        68, 0, 266
 };
-static int parser_action_row506[] = {
+static int parser_action_row509[] = {
        3,
-       -1, 1, 556,
+       -1, 1, 566,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row507[] = {
+static int parser_action_row510[] = {
        3,
-       -1, 1, 558,
+       -1, 1, 568,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row508[] = {
+static int parser_action_row511[] = {
        3,
-       -1, 1, 559,
+       -1, 1, 569,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row509[] = {
+static int parser_action_row512[] = {
        3,
-       -1, 1, 560,
+       -1, 1, 570,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row510[] = {
+static int parser_action_row513[] = {
        3,
-       -1, 1, 562,
+       -1, 1, 572,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row511[] = {
+static int parser_action_row514[] = {
        3,
-       -1, 1, 563,
+       -1, 1, 573,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row512[] = {
+static int parser_action_row515[] = {
        3,
-       -1, 1, 565,
+       -1, 1, 575,
        64, 0, 255,
        65, 0, 256
 };
-static int parser_action_row513[] = {
+static int parser_action_row516[] = {
        1,
-       -1, 1, 571
+       -1, 1, 581
 };
-static int parser_action_row514[] = {
+static int parser_action_row517[] = {
        1,
-       -1, 1, 572
+       -1, 1, 582
 };
-static int parser_action_row515[] = {
+static int parser_action_row518[] = {
        1,
-       -1, 1, 573
+       -1, 1, 583
 };
-static int parser_action_row516[] = {
+static int parser_action_row519[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row517[] = {
+static int parser_action_row520[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row518[] = {
+static int parser_action_row521[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row519[] = {
+static int parser_action_row522[] = {
        1,
-       -1, 1, 581
+       -1, 1, 591
 };
-static int parser_action_row520[] = {
+static int parser_action_row523[] = {
        3,
-       -1, 3, 519,
-       14, 0, 617,
-       15, 0, 618
+       -1, 3, 522,
+       14, 0, 621,
+       15, 0, 622
 };
-static int parser_action_row521[] = {
+static int parser_action_row524[] = {
        2,
-       -1, 3, 520,
-       58, 0, 619
+       -1, 3, 523,
+       58, 0, 623
 };
-static int parser_action_row522[] = {
+static int parser_action_row525[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       53, 0, 590
+       53, 0, 594
 };
-static int parser_action_row523[] = {
+static int parser_action_row526[] = {
        1,
        -1, 1, 201
 };
-static int parser_action_row524[] = {
+static int parser_action_row527[] = {
        1,
-       -1, 1, 256
+       -1, 1, 261
 };
-static int parser_action_row525[] = {
+static int parser_action_row528[] = {
        23,
-       -1, 3, 524,
+       -1, 3, 527,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -6317,27 +6335,27 @@ static int parser_action_row525[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row526[] = {
+static int parser_action_row529[] = {
        33,
-       -1, 3, 525,
+       -1, 3, 528,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 625,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       26, 0, 630,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 629,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       26, 0, 634,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -6345,17 +6363,17 @@ static int parser_action_row526[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row527[] = {
+static int parser_action_row530[] = {
        32,
-       -1, 3, 526,
+       -1, 3, 529,
        0, 0, 1,
        1, 0, 2,
        9, 0, 137,
@@ -6388,36 +6406,53 @@ static int parser_action_row527[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row528[] = {
+static int parser_action_row531[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row529[] = {
+static int parser_action_row532[] = {
        2,
-       -1, 3, 528,
-       25, 0, 659
+       -1, 3, 531,
+       55, 0, 533
 };
-static int parser_action_row530[] = {
+static int parser_action_row533[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row534[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row535[] = {
+       2,
+       -1, 3, 534,
+       25, 0, 665
+};
+static int parser_action_row536[] = {
        1,
-       -1, 1, 325
+       -1, 1, 332
 };
-static int parser_action_row531[] = {
+static int parser_action_row537[] = {
        5,
-       -1, 3, 530,
-       12, 0, 550,
-       47, 0, 481,
-       80, 0, 562,
-       81, 0, 660
+       -1, 3, 536,
+       12, 0, 556,
+       47, 0, 484,
+       80, 0, 568,
+       81, 0, 666
 };
-static int parser_action_row532[] = {
+static int parser_action_row538[] = {
        1,
-       -1, 1, 298
+       -1, 1, 305
 };
-static int parser_action_row533[] = {
+static int parser_action_row539[] = {
        22,
-       -1, 3, 532,
+       -1, 3, 538,
        12, 0, 151,
        33, 0, 153,
        39, 0, 154,
@@ -6440,195 +6475,195 @@ static int parser_action_row533[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row534[] = {
+static int parser_action_row540[] = {
        1,
-       -1, 1, 297
+       -1, 1, 304
 };
-static int parser_action_row535[] = {
+static int parser_action_row541[] = {
        3,
-       -1, 1, 308,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 315,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row536[] = {
+static int parser_action_row542[] = {
        3,
-       -1, 1, 311,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 318,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row537[] = {
+static int parser_action_row543[] = {
        3,
-       -1, 1, 304,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 311,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row538[] = {
+static int parser_action_row544[] = {
        1,
-       -1, 1, 313
+       -1, 1, 320
 };
-static int parser_action_row539[] = {
+static int parser_action_row545[] = {
        4,
-       -1, 1, 315,
-       66, 0, 305,
-       67, 0, 306,
-       68, 0, 307
+       -1, 1, 322,
+       66, 0, 307,
+       67, 0, 308,
+       68, 0, 309
 };
-static int parser_action_row540[] = {
+static int parser_action_row546[] = {
        4,
-       -1, 1, 316,
-       66, 0, 305,
-       67, 0, 306,
-       68, 0, 307
+       -1, 1, 323,
+       66, 0, 307,
+       67, 0, 308,
+       68, 0, 309
 };
-static int parser_action_row541[] = {
+static int parser_action_row547[] = {
        3,
-       -1, 1, 303,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 310,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row542[] = {
+static int parser_action_row548[] = {
        3,
-       -1, 1, 305,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 312,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row543[] = {
+static int parser_action_row549[] = {
        3,
-       -1, 1, 306,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 313,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row544[] = {
+static int parser_action_row550[] = {
        3,
-       -1, 1, 307,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 314,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row545[] = {
+static int parser_action_row551[] = {
        3,
-       -1, 1, 309,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 316,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row546[] = {
+static int parser_action_row552[] = {
        3,
-       -1, 1, 310,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 317,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row547[] = {
+static int parser_action_row553[] = {
        3,
-       -1, 1, 312,
-       64, 0, 296,
-       65, 0, 297
+       -1, 1, 319,
+       64, 0, 298,
+       65, 0, 299
 };
-static int parser_action_row548[] = {
+static int parser_action_row554[] = {
        1,
-       -1, 1, 318
+       -1, 1, 325
 };
-static int parser_action_row549[] = {
+static int parser_action_row555[] = {
        1,
-       -1, 1, 319
+       -1, 1, 326
 };
-static int parser_action_row550[] = {
+static int parser_action_row556[] = {
        1,
-       -1, 1, 320
+       -1, 1, 327
 };
-static int parser_action_row551[] = {
+static int parser_action_row557[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row552[] = {
+static int parser_action_row558[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row553[] = {
+static int parser_action_row559[] = {
        1,
-       -1, 1, 328
+       -1, 1, 335
 };
-static int parser_action_row554[] = {
+static int parser_action_row560[] = {
        5,
-       -1, 3, 553,
-       15, 0, 663,
-       51, 0, 569,
-       58, 0, 664,
-       80, 0, 571
+       -1, 3, 559,
+       15, 0, 669,
+       51, 0, 670,
+       58, 0, 671,
+       80, 0, 282
 };
-static int parser_action_row555[] = {
+static int parser_action_row561[] = {
        1,
-       -1, 1, 498
+       -1, 1, 503
 };
-static int parser_action_row556[] = {
+static int parser_action_row562[] = {
        1,
-       -1, 1, 286
+       -1, 1, 293
 };
-static int parser_action_row557[] = {
+static int parser_action_row563[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row558[] = {
+static int parser_action_row564[] = {
        1,
        -1, 1, 203
 };
-static int parser_action_row559[] = {
+static int parser_action_row565[] = {
        2,
-       -1, 3, 558,
-       9, 0, 667
+       -1, 3, 564,
+       9, 0, 674
 };
-static int parser_action_row560[] = {
+static int parser_action_row566[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row561[] = {
+static int parser_action_row567[] = {
        3,
-       -1, 3, 560,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 566,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row562[] = {
+static int parser_action_row568[] = {
        2,
-       -1, 3, 561,
-       80, 0, 671
+       -1, 3, 567,
+       80, 0, 678
 };
-static int parser_action_row563[] = {
+static int parser_action_row569[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row564[] = {
+static int parser_action_row570[] = {
        1,
-       -1, 1, 369
+       -1, 1, 376
 };
-static int parser_action_row565[] = {
+static int parser_action_row571[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row566[] = {
+static int parser_action_row572[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row567[] = {
+static int parser_action_row573[] = {
        1,
-       -1, 1, 685
+       -1, 1, 695
 };
-static int parser_action_row568[] = {
+static int parser_action_row574[] = {
        3,
-       -1, 3, 567,
-       54, 0, 675,
-       55, 0, 564
+       -1, 3, 573,
+       54, 0, 682,
+       55, 0, 570
 };
-static int parser_action_row569[] = {
+static int parser_action_row575[] = {
        32,
-       -1, 3, 568,
+       -1, 3, 574,
        0, 0, 1,
        1, 0, 2,
        9, 0, 137,
@@ -6661,63 +6696,54 @@ static int parser_action_row569[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row570[] = {
+static int parser_action_row576[] = {
        2,
-       -1, 3, 569,
-       80, 0, 571
+       -1, 3, 575,
+       80, 0, 282
 };
-static int parser_action_row571[] = {
+static int parser_action_row577[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row572[] = {
-       1,
-       -1, 1, 374
-};
-static int parser_action_row573[] = {
-       3,
-       -1, 3, 572,
-       15, 0, 682,
-       58, 0, 683
-};
-static int parser_action_row574[] = {
-       4,
-       -1, 1, 373,
+static int parser_action_row578[] = {
+       5,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       55, 1, 386
+       15, 0, 689,
+       58, 0, 690
 };
-static int parser_action_row575[] = {
+static int parser_action_row579[] = {
        1,
        -1, 1, 34
 };
-static int parser_action_row576[] = {
+static int parser_action_row580[] = {
        1,
        -1, 1, 33
 };
-static int parser_action_row577[] = {
+static int parser_action_row581[] = {
        1,
        -1, 1, 166
 };
-static int parser_action_row578[] = {
+static int parser_action_row582[] = {
        3,
-       -1, 3, 577,
-       52, 0, 685,
-       80, 0, 686
+       -1, 3, 581,
+       52, 0, 691,
+       80, 0, 692
 };
-static int parser_action_row579[] = {
+static int parser_action_row583[] = {
        2,
-       -1, 3, 578,
-       20, 0, 688
+       -1, 3, 582,
+       20, 0, 694
 };
-static int parser_action_row580[] = {
+static int parser_action_row584[] = {
        32,
-       -1, 3, 579,
+       -1, 3, 583,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -6747,145 +6773,145 @@ static int parser_action_row580[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row581[] = {
+static int parser_action_row585[] = {
        1,
        -1, 1, 172
 };
-static int parser_action_row582[] = {
+static int parser_action_row586[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row583[] = {
+static int parser_action_row587[] = {
        3,
        -1, 1, 174,
-       36, 0, 585,
-       78, 0, 586
+       36, 0, 589,
+       78, 0, 590
 };
-static int parser_action_row584[] = {
+static int parser_action_row588[] = {
        2,
        -1, 1, 167,
-       58, 1, 402
+       58, 1, 407
 };
-static int parser_action_row585[] = {
+static int parser_action_row589[] = {
        4,
        -1, 1, 169,
-       36, 0, 585,
-       58, 1, 404,
-       78, 0, 586
+       36, 0, 589,
+       58, 1, 409,
+       78, 0, 590
 };
-static int parser_action_row586[] = {
+static int parser_action_row590[] = {
        2,
-       -1, 3, 585,
-       78, 0, 692
+       -1, 3, 589,
+       78, 0, 698
 };
-static int parser_action_row587[] = {
+static int parser_action_row591[] = {
        2,
-       -1, 3, 586,
-       80, 0, 693
+       -1, 3, 590,
+       80, 0, 699
 };
-static int parser_action_row588[] = {
+static int parser_action_row592[] = {
        1,
-       -1, 1, 677
+       -1, 1, 687
 };
-static int parser_action_row589[] = {
+static int parser_action_row593[] = {
        3,
        -1, 1, 186,
-       36, 0, 585,
-       78, 0, 586
+       36, 0, 589,
+       78, 0, 590
 };
-static int parser_action_row590[] = {
+static int parser_action_row594[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row591[] = {
+static int parser_action_row595[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row592[] = {
+static int parser_action_row596[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row593[] = {
+static int parser_action_row597[] = {
        1,
-       -1, 1, 669
+       -1, 1, 679
 };
-static int parser_action_row594[] = {
+static int parser_action_row598[] = {
        1,
-       -1, 1, 671
+       -1, 1, 681
 };
-static int parser_action_row595[] = {
+static int parser_action_row599[] = {
        3,
-       -1, 3, 594,
+       -1, 3, 598,
        0, 0, 79,
        1, 0, 80
 };
-static int parser_action_row596[] = {
+static int parser_action_row600[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 702,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 708,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row597[] = {
+static int parser_action_row601[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row598[] = {
+static int parser_action_row602[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row599[] = {
+static int parser_action_row603[] = {
        3,
-       -1, 3, 598,
-       54, 0, 563,
-       55, 0, 564
+       -1, 3, 602,
+       54, 0, 569,
+       55, 0, 570
 };
-static int parser_action_row600[] = {
+static int parser_action_row604[] = {
        1,
-       -1, 1, 334
+       -1, 1, 341
 };
-static int parser_action_row601[] = {
+static int parser_action_row605[] = {
        1,
        -1, 1, 236
 };
-static int parser_action_row602[] = {
+static int parser_action_row606[] = {
        2,
-       -1, 3, 601,
-       51, 0, 715
+       -1, 3, 605,
+       51, 0, 721
 };
-static int parser_action_row603[] = {
+static int parser_action_row607[] = {
        4,
-       -1, 1, 330,
-       58, 0, 716,
+       -1, 1, 337,
+       58, 0, 722,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row604[] = {
+static int parser_action_row608[] = {
        2,
        -1, 1, 230,
-       78, 0, 334
+       78, 0, 336
 };
-static int parser_action_row605[] = {
+static int parser_action_row609[] = {
        23,
-       -1, 3, 604,
+       -1, 3, 608,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -6909,9 +6935,9 @@ static int parser_action_row605[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row606[] = {
+static int parser_action_row610[] = {
        23,
-       -1, 3, 605,
+       -1, 3, 609,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -6935,76 +6961,76 @@ static int parser_action_row606[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row607[] = {
+static int parser_action_row611[] = {
        1,
-       -1, 1, 357
+       -1, 1, 364
 };
-static int parser_action_row608[] = {
+static int parser_action_row612[] = {
        3,
-       -1, 3, 607,
-       52, 0, 721,
-       55, 0, 564
+       -1, 3, 611,
+       52, 0, 727,
+       55, 0, 570
 };
-static int parser_action_row609[] = {
+static int parser_action_row613[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row610[] = {
+static int parser_action_row614[] = {
        2,
-       -1, 3, 609,
-       80, 0, 724
+       -1, 3, 613,
+       80, 0, 730
 };
-static int parser_action_row611[] = {
+static int parser_action_row615[] = {
        3,
-       -1, 1, 579,
-       53, 1, 581,
-       63, 1, 581
+       -1, 1, 589,
+       53, 1, 591,
+       63, 1, 591
 };
-static int parser_action_row612[] = {
+static int parser_action_row616[] = {
        6,
-       -1, 1, 364,
-       53, 1, 360,
-       58, 1, 360,
-       59, 1, 360,
-       60, 1, 360,
-       63, 1, 360
+       -1, 1, 371,
+       53, 1, 367,
+       58, 1, 367,
+       59, 1, 367,
+       60, 1, 367,
+       63, 1, 367
 };
-static int parser_action_row613[] = {
+static int parser_action_row617[] = {
        3,
-       -1, 3, 612,
-       52, 0, 725,
-       55, 0, 564
+       -1, 3, 616,
+       52, 0, 731,
+       55, 0, 570
 };
-static int parser_action_row614[] = {
+static int parser_action_row618[] = {
        1,
-       -1, 1, 552
+       -1, 1, 562
 };
-static int parser_action_row615[] = {
+static int parser_action_row619[] = {
        1,
-       -1, 1, 587
+       -1, 1, 597
 };
-static int parser_action_row616[] = {
+static int parser_action_row620[] = {
        2,
-       -1, 3, 615,
-       51, 0, 726
+       -1, 3, 619,
+       51, 0, 732
 };
-static int parser_action_row617[] = {
+static int parser_action_row621[] = {
        1,
-       -1, 1, 583
+       -1, 1, 593
 };
-static int parser_action_row618[] = {
+static int parser_action_row622[] = {
        2,
-       -1, 3, 617,
-       20, 0, 727
+       -1, 3, 621,
+       20, 0, 733
 };
-static int parser_action_row619[] = {
+static int parser_action_row623[] = {
        32,
-       -1, 3, 618,
+       -1, 3, 622,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -7034,54 +7060,54 @@ static int parser_action_row619[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row620[] = {
+static int parser_action_row624[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row621[] = {
+static int parser_action_row625[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row622[] = {
+static int parser_action_row626[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 733,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 739,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row623[] = {
+static int parser_action_row627[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row624[] = {
+static int parser_action_row628[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row625[] = {
+static int parser_action_row629[] = {
        1,
-       -1, 1, 257
+       -1, 1, 262
 };
-static int parser_action_row626[] = {
+static int parser_action_row630[] = {
        1,
-       -1, 1, 278
+       -1, 1, 283
 };
-static int parser_action_row627[] = {
+static int parser_action_row631[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -7094,8 +7120,8 @@ static int parser_action_row627[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -7106,26 +7132,26 @@ static int parser_action_row627[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row628[] = {
+static int parser_action_row632[] = {
        32,
-       -1, 3, 627,
+       -1, 3, 631,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 738,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -7133,31 +7159,31 @@ static int parser_action_row628[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row629[] = {
+static int parser_action_row633[] = {
        2,
-       -1, 3, 628,
-       80, 0, 743
+       -1, 3, 632,
+       80, 0, 749
 };
-static int parser_action_row630[] = {
+static int parser_action_row634[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row631[] = {
+static int parser_action_row635[] = {
        32,
-       -1, 3, 630,
+       -1, 3, 634,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -7187,32 +7213,32 @@ static int parser_action_row631[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row632[] = {
+static int parser_action_row636[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row633[] = {
+static int parser_action_row637[] = {
        32,
-       -1, 3, 632,
+       -1, 3, 636,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 738,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -7220,26 +7246,26 @@ static int parser_action_row633[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row634[] = {
+static int parser_action_row638[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row635[] = {
+static int parser_action_row639[] = {
        24,
        -1, 1, 213,
        12, 0, 151,
        24, 0, 152,
-       26, 1, 472,
+       26, 1, 477,
        33, 0, 153,
        39, 0, 154,
        41, 0, 155,
@@ -7253,7 +7279,7 @@ static int parser_action_row635[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -7261,12 +7287,12 @@ static int parser_action_row635[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row636[] = {
+static int parser_action_row640[] = {
        25,
        -1, 1, 220,
        12, 0, 151,
        24, 0, 152,
-       26, 1, 479,
+       26, 1, 484,
        33, 0, 153,
        39, 0, 154,
        41, 0, 155,
@@ -7281,7 +7307,7 @@ static int parser_action_row636[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -7289,12 +7315,12 @@ static int parser_action_row636[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row637[] = {
+static int parser_action_row641[] = {
        25,
        -1, 1, 215,
        12, 0, 151,
        24, 0, 152,
-       26, 1, 474,
+       26, 1, 479,
        33, 0, 153,
        39, 0, 154,
        41, 0, 155,
@@ -7309,7 +7335,7 @@ static int parser_action_row637[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -7317,14 +7343,14 @@ static int parser_action_row637[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row638[] = {
+static int parser_action_row642[] = {
        2,
        -1, 1, 219,
-       26, 1, 478
+       26, 1, 483
 };
-static int parser_action_row639[] = {
+static int parser_action_row643[] = {
        23,
-       -1, 3, 638,
+       -1, 3, 642,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -7348,9 +7374,9 @@ static int parser_action_row639[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row640[] = {
+static int parser_action_row644[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -7363,8 +7389,8 @@ static int parser_action_row640[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -7375,9 +7401,9 @@ static int parser_action_row640[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row641[] = {
+static int parser_action_row645[] = {
        28,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -7390,12 +7416,12 @@ static int parser_action_row641[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
+       53, 1, 370,
        57, 0, 191,
-       58, 1, 363,
-       59, 1, 363,
-       60, 1, 363,
-       63, 1, 363,
+       58, 1, 370,
+       59, 1, 370,
+       60, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -7406,41 +7432,41 @@ static int parser_action_row641[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row642[] = {
+static int parser_action_row646[] = {
        4,
-       -1, 1, 329,
-       58, 0, 760,
+       -1, 1, 336,
+       58, 0, 766,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row643[] = {
+static int parser_action_row647[] = {
        1,
-       -1, 1, 273
+       -1, 1, 278
 };
-static int parser_action_row644[] = {
+static int parser_action_row648[] = {
        1,
-       -1, 1, 275
+       -1, 1, 280
 };
-static int parser_action_row645[] = {
+static int parser_action_row649[] = {
        3,
-       -1, 3, 644,
+       -1, 3, 648,
        53, 0, 208,
-       63, 0, 762
+       63, 0, 768
 };
-static int parser_action_row646[] = {
+static int parser_action_row650[] = {
        2,
-       -1, 3, 645,
-       42, 0, 764
+       -1, 3, 649,
+       42, 0, 770
 };
-static int parser_action_row647[] = {
+static int parser_action_row651[] = {
        31,
-       -1, 3, 646,
-       9, 0, 625,
+       -1, 3, 650,
+       9, 0, 629,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
        24, 0, 32,
-       26, 0, 630,
+       26, 0, 634,
        27, 0, 33,
        28, 0, 34,
        29, 0, 35,
@@ -7466,55 +7492,60 @@ static int parser_action_row647[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row648[] = {
+static int parser_action_row652[] = {
        2,
-       -1, 3, 647,
-       26, 0, 767
+       -1, 3, 651,
+       26, 0, 773
 };
-static int parser_action_row649[] = {
+static int parser_action_row653[] = {
        1,
-       -1, 1, 470
+       -1, 1, 475
 };
-static int parser_action_row650[] = {
+static int parser_action_row654[] = {
        1,
-       -1, 1, 471
+       -1, 1, 476
 };
-static int parser_action_row651[] = {
+static int parser_action_row655[] = {
        1,
-       -1, 1, 483
+       -1, 1, 488
 };
-static int parser_action_row652[] = {
+static int parser_action_row656[] = {
        1,
-       -1, 1, 484
+       -1, 1, 489
 };
-static int parser_action_row653[] = {
+static int parser_action_row657[] = {
        1,
-       -1, 1, 486
+       -1, 1, 491
 };
-static int parser_action_row654[] = {
+static int parser_action_row658[] = {
        1,
-       -1, 1, 485
+       -1, 1, 490
 };
-static int parser_action_row655[] = {
+static int parser_action_row659[] = {
        1,
-       -1, 1, 487
+       -1, 1, 492
 };
-static int parser_action_row656[] = {
+static int parser_action_row660[] = {
        1,
-       -1, 1, 488
+       -1, 1, 493
 };
-static int parser_action_row657[] = {
+static int parser_action_row661[] = {
        1,
-       -1, 1, 282
+       -1, 1, 287
 };
-static int parser_action_row658[] = {
+static int parser_action_row662[] = {
        2,
-       -1, 3, 657,
+       -1, 3, 661,
        50, 0, 172
 };
-static int parser_action_row659[] = {
+static int parser_action_row663[] = {
+       2,
+       -1, 3, 662,
+       30, 0, 775
+};
+static int parser_action_row664[] = {
        23,
-       -1, 3, 658,
+       -1, 3, 663,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -7538,47 +7569,52 @@ static int parser_action_row659[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row660[] = {
+static int parser_action_row665[] = {
+       2,
+       -1, 3, 664,
+       80, 0, 777
+};
+static int parser_action_row666[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row661[] = {
+static int parser_action_row667[] = {
        3,
-       -1, 1, 326,
-       53, 1, 328,
-       63, 1, 328
+       -1, 1, 333,
+       53, 1, 335,
+       63, 1, 335
 };
-static int parser_action_row662[] = {
+static int parser_action_row668[] = {
        1,
-       -1, 1, 299
+       -1, 1, 306
 };
-static int parser_action_row663[] = {
+static int parser_action_row669[] = {
        2,
-       -1, 1, 330,
-       78, 0, 334
+       -1, 1, 337,
+       78, 0, 336
 };
-static int parser_action_row664[] = {
+static int parser_action_row670[] = {
        32,
-       -1, 3, 663,
+       -1, 3, 669,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 738,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -7586,64 +7622,71 @@ static int parser_action_row664[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row665[] = {
+static int parser_action_row671[] = {
+       2,
+       -1, 3, 670,
+       80, 0, 282
+};
+static int parser_action_row672[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row666[] = {
-       3,
-       -1, 3, 665,
-       15, 0, 776,
-       58, 0, 777
+static int parser_action_row673[] = {
+       5,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2,
+       15, 0, 785,
+       58, 0, 786
 };
-static int parser_action_row667[] = {
+static int parser_action_row674[] = {
        2,
-       -1, 1, 330,
-       78, 0, 446
+       -1, 1, 337,
+       78, 0, 449
 };
-static int parser_action_row668[] = {
+static int parser_action_row675[] = {
        1,
        -1, 1, 202
 };
-static int parser_action_row669[] = {
+static int parser_action_row676[] = {
        3,
-       -1, 3, 668,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 675,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row670[] = {
+static int parser_action_row677[] = {
        2,
        -1, 1, 198,
-       55, 0, 780
+       55, 0, 789
 };
-static int parser_action_row671[] = {
+static int parser_action_row678[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row672[] = {
+static int parser_action_row679[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row673[] = {
+static int parser_action_row680[] = {
        1,
-       -1, 1, 330
+       -1, 1, 337
 };
-static int parser_action_row674[] = {
+static int parser_action_row681[] = {
        23,
-       -1, 3, 673,
+       -1, 3, 680,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -7667,46 +7710,46 @@ static int parser_action_row674[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row675[] = {
+static int parser_action_row682[] = {
        22,
-       -1, 3, 674,
-       12, 0, 786,
-       24, 0, 787,
-       33, 0, 788,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 681,
+       12, 0, 795,
+       24, 0, 796,
+       33, 0, 797,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row676[] = {
+static int parser_action_row683[] = {
        1,
-       -1, 1, 370
+       -1, 1, 377
 };
-static int parser_action_row677[] = {
+static int parser_action_row684[] = {
        1,
-       -1, 1, 686
+       -1, 1, 696
 };
-static int parser_action_row678[] = {
+static int parser_action_row685[] = {
        1,
-       -1, 1, 243
+       -1, 1, 244
 };
-static int parser_action_row679[] = {
+static int parser_action_row686[] = {
        30,
-       -1, 1, 249,
+       -1, 1, 253,
        9, 0, 271,
        12, 0, 25,
        15, 0, 27,
@@ -7737,21 +7780,21 @@ static int parser_action_row679[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row680[] = {
+static int parser_action_row687[] = {
        2,
-       -1, 3, 679,
+       -1, 3, 686,
        50, 0, 172
 };
-static int parser_action_row681[] = {
+static int parser_action_row688[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       52, 0, 818
+       52, 0, 827
 };
-static int parser_action_row682[] = {
+static int parser_action_row689[] = {
        23,
-       -1, 3, 681,
+       -1, 3, 688,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -7775,9 +7818,9 @@ static int parser_action_row682[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row683[] = {
+static int parser_action_row690[] = {
        32,
-       -1, 3, 682,
+       -1, 3, 689,
        0, 0, 1,
        1, 0, 2,
        9, 0, 137,
@@ -7810,73 +7853,68 @@ static int parser_action_row683[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row684[] = {
+static int parser_action_row691[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row685[] = {
-       2,
-       -1, 3, 684,
-       55, 0, 825
-};
-static int parser_action_row686[] = {
+static int parser_action_row692[] = {
        1,
        -1, 1, 181
 };
-static int parser_action_row687[] = {
+static int parser_action_row693[] = {
        2,
        -1, 1, 183,
        56, 0, 275
 };
-static int parser_action_row688[] = {
+static int parser_action_row694[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       55, 0, 827
+       55, 0, 835
 };
-static int parser_action_row689[] = {
+static int parser_action_row695[] = {
        2,
-       -1, 1, 398,
-       85, 0, 831
+       -1, 1, 403,
+       85, 0, 839
 };
-static int parser_action_row690[] = {
+static int parser_action_row696[] = {
        2,
-       -1, 1, 392,
-       9, 0, 832
+       -1, 1, 397,
+       9, 0, 840
 };
-static int parser_action_row691[] = {
+static int parser_action_row697[] = {
        2,
        -1, 1, 168,
-       58, 1, 403
+       58, 1, 408
 };
-static int parser_action_row692[] = {
+static int parser_action_row698[] = {
        4,
        -1, 1, 170,
-       36, 0, 585,
-       58, 1, 405,
-       78, 0, 586
+       36, 0, 589,
+       58, 1, 410,
+       78, 0, 590
 };
-static int parser_action_row693[] = {
+static int parser_action_row699[] = {
        2,
-       -1, 3, 692,
-       80, 0, 833
+       -1, 3, 698,
+       80, 0, 841
 };
-static int parser_action_row694[] = {
+static int parser_action_row700[] = {
        3,
        -1, 1, 175,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row695[] = {
+static int parser_action_row701[] = {
        1,
-       -1, 1, 678
+       -1, 1, 688
 };
-static int parser_action_row696[] = {
+static int parser_action_row702[] = {
        23,
-       -1, 3, 695,
+       -1, 3, 701,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -7900,145 +7938,145 @@ static int parser_action_row696[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row697[] = {
+static int parser_action_row703[] = {
        2,
-       -1, 3, 696,
-       79, 0, 839
+       -1, 3, 702,
+       79, 0, 847
 };
-static int parser_action_row698[] = {
+static int parser_action_row704[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 841,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 849,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row699[] = {
+static int parser_action_row705[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row700[] = {
+static int parser_action_row706[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row701[] = {
+static int parser_action_row707[] = {
        1,
        -1, 1, 66
 };
-static int parser_action_row702[] = {
+static int parser_action_row708[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row703[] = {
+static int parser_action_row709[] = {
        1,
        -1, 1, 39
 };
-static int parser_action_row704[] = {
+static int parser_action_row710[] = {
        6,
        -1, 1, 145,
-       16, 0, 846,
-       17, 0, 847,
+       16, 0, 854,
+       17, 0, 855,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row705[] = {
+static int parser_action_row711[] = {
        1,
        -1, 1, 139
 };
-static int parser_action_row706[] = {
+static int parser_action_row712[] = {
        1,
        -1, 1, 141
 };
-static int parser_action_row707[] = {
+static int parser_action_row713[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row708[] = {
+static int parser_action_row714[] = {
        6,
        -1, 1, 145,
-       13, 0, 850,
-       17, 0, 705,
+       13, 0, 858,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row709[] = {
+static int parser_action_row715[] = {
        5,
        -1, 1, 145,
-       13, 0, 853,
+       13, 0, 861,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row710[] = {
+static int parser_action_row716[] = {
        5,
-       -1, 3, 709,
-       10, 0, 855,
-       11, 0, 856,
-       12, 0, 857,
-       18, 0, 858
+       -1, 3, 715,
+       10, 0, 863,
+       11, 0, 864,
+       12, 0, 865,
+       18, 0, 866
 };
-static int parser_action_row711[] = {
+static int parser_action_row717[] = {
        1,
-       -1, 1, 670
+       -1, 1, 680
 };
-static int parser_action_row712[] = {
+static int parser_action_row718[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 859,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 867,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row713[] = {
+static int parser_action_row719[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row714[] = {
+static int parser_action_row720[] = {
        1,
-       -1, 1, 672
+       -1, 1, 682
 };
-static int parser_action_row715[] = {
+static int parser_action_row721[] = {
        8,
        -1, 1, 145,
-       9, 0, 861,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 869,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row716[] = {
+static int parser_action_row722[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row717[] = {
+static int parser_action_row723[] = {
        23,
-       -1, 3, 716,
+       -1, 3, 722,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8062,9 +8100,9 @@ static int parser_action_row717[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row718[] = {
+static int parser_action_row724[] = {
        23,
-       -1, 3, 717,
+       -1, 3, 723,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8088,31 +8126,31 @@ static int parser_action_row718[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row719[] = {
+static int parser_action_row725[] = {
        1,
        -1, 1, 232
 };
-static int parser_action_row720[] = {
+static int parser_action_row726[] = {
        1,
-       -1, 1, 258
+       -1, 1, 263
 };
-static int parser_action_row721[] = {
+static int parser_action_row727[] = {
        1,
-       -1, 1, 263
+       -1, 1, 268
 };
-static int parser_action_row722[] = {
+static int parser_action_row728[] = {
        1,
-       -1, 1, 360
+       -1, 1, 367
 };
-static int parser_action_row723[] = {
+static int parser_action_row729[] = {
        3,
-       -1, 3, 722,
-       52, 0, 865,
-       55, 0, 564
+       -1, 3, 728,
+       52, 0, 873,
+       55, 0, 570
 };
-static int parser_action_row724[] = {
+static int parser_action_row730[] = {
        23,
-       -1, 3, 723,
+       -1, 3, 729,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8136,39 +8174,39 @@ static int parser_action_row724[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row725[] = {
+static int parser_action_row731[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row726[] = {
+static int parser_action_row732[] = {
        6,
-       -1, 1, 365,
-       53, 1, 361,
-       58, 1, 361,
-       59, 1, 361,
-       60, 1, 361,
-       63, 1, 361
+       -1, 1, 372,
+       53, 1, 368,
+       58, 1, 368,
+       59, 1, 368,
+       60, 1, 368,
+       63, 1, 368
 };
-static int parser_action_row727[] = {
+static int parser_action_row733[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row728[] = {
+static int parser_action_row734[] = {
        2,
-       -1, 1, 399,
-       85, 0, 869
+       -1, 1, 404,
+       85, 0, 877
 };
-static int parser_action_row729[] = {
+static int parser_action_row735[] = {
        2,
-       -1, 1, 393,
-       9, 0, 870
+       -1, 1, 398,
+       9, 0, 878
 };
-static int parser_action_row730[] = {
+static int parser_action_row736[] = {
        23,
-       -1, 3, 729,
+       -1, 3, 735,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8192,80 +8230,80 @@ static int parser_action_row730[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row731[] = {
+static int parser_action_row737[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 872,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 880,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row732[] = {
+static int parser_action_row738[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row733[] = {
+static int parser_action_row739[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row734[] = {
+static int parser_action_row740[] = {
        1,
        -1, 1, 40
 };
-static int parser_action_row735[] = {
+static int parser_action_row741[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 876,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 884,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row736[] = {
+static int parser_action_row742[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row737[] = {
+static int parser_action_row743[] = {
        8,
        -1, 1, 145,
-       9, 0, 878,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 886,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row738[] = {
+static int parser_action_row744[] = {
        2,
        -1, 1, 237,
-       26, 1, 496
+       26, 1, 501
 };
-static int parser_action_row739[] = {
+static int parser_action_row745[] = {
        3,
        -1, 1, 204,
-       26, 1, 468,
-       50, 1, 540
+       26, 1, 473,
+       50, 1, 550
 };
-static int parser_action_row740[] = {
+static int parser_action_row746[] = {
        30,
-       -1, 3, 739,
-       9, 0, 879,
+       -1, 3, 745,
+       9, 0, 887,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -8295,29 +8333,29 @@ static int parser_action_row740[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row741[] = {
+static int parser_action_row747[] = {
        1,
-       -1, 1, 521
+       -1, 1, 529
 };
-static int parser_action_row742[] = {
+static int parser_action_row748[] = {
        1,
-       -1, 1, 469
+       -1, 1, 474
 };
-static int parser_action_row743[] = {
+static int parser_action_row749[] = {
        2,
-       -1, 3, 742,
+       -1, 3, 748,
        50, 0, 172
 };
-static int parser_action_row744[] = {
+static int parser_action_row750[] = {
        4,
-       -1, 1, 254,
-       26, 1, 506,
+       -1, 1, 259,
+       26, 1, 514,
        56, 0, 275,
-       58, 0, 882
+       58, 0, 890
 };
-static int parser_action_row745[] = {
+static int parser_action_row751[] = {
        23,
-       -1, 3, 744,
+       -1, 3, 750,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8341,13 +8379,13 @@ static int parser_action_row745[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row746[] = {
+static int parser_action_row752[] = {
        1,
-       -1, 1, 277
+       -1, 1, 282
 };
-static int parser_action_row747[] = {
+static int parser_action_row753[] = {
        23,
-       -1, 3, 746,
+       -1, 3, 752,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8371,30 +8409,31 @@ static int parser_action_row747[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row748[] = {
+static int parser_action_row754[] = {
        1,
-       -1, 1, 524
+       -1, 1, 532
 };
-static int parser_action_row749[] = {
+static int parser_action_row755[] = {
        2,
-       -1, 3, 748,
+       -1, 3, 754,
        50, 0, 172
 };
-static int parser_action_row750[] = {
-       2,
-       -1, 3, 749,
-       80, 0, 887
+static int parser_action_row756[] = {
+       3,
+       -1, 3, 755,
+       51, 0, 895,
+       80, 0, 282
 };
-static int parser_action_row751[] = {
+static int parser_action_row757[] = {
        1,
-       -1, 1, 473
+       -1, 1, 478
 };
-static int parser_action_row752[] = {
+static int parser_action_row758[] = {
        24,
        -1, 1, 221,
        12, 0, 151,
        24, 0, 152,
-       26, 1, 480,
+       26, 1, 485,
        33, 0, 153,
        39, 0, 154,
        41, 0, 155,
@@ -8408,7 +8447,7 @@ static int parser_action_row752[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -8416,16 +8455,16 @@ static int parser_action_row752[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row753[] = {
+static int parser_action_row759[] = {
        1,
-       -1, 1, 481
+       -1, 1, 486
 };
-static int parser_action_row754[] = {
+static int parser_action_row760[] = {
        24,
        -1, 1, 216,
        12, 0, 151,
        24, 0, 152,
-       26, 1, 475,
+       26, 1, 480,
        33, 0, 153,
        39, 0, 154,
        41, 0, 155,
@@ -8439,7 +8478,7 @@ static int parser_action_row754[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -8447,13 +8486,13 @@ static int parser_action_row754[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row755[] = {
+static int parser_action_row761[] = {
        1,
-       -1, 1, 476
+       -1, 1, 481
 };
-static int parser_action_row756[] = {
+static int parser_action_row762[] = {
        23,
-       -1, 3, 755,
+       -1, 3, 761,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8469,7 +8508,7 @@ static int parser_action_row756[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -8477,32 +8516,32 @@ static int parser_action_row756[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row757[] = {
+static int parser_action_row763[] = {
        2,
-       -1, 3, 756,
-       26, 0, 891
+       -1, 3, 762,
+       26, 0, 900
 };
-static int parser_action_row758[] = {
+static int parser_action_row764[] = {
        2,
        -1, 1, 234,
-       26, 1, 493
+       26, 1, 498
 };
-static int parser_action_row759[] = {
+static int parser_action_row765[] = {
        4,
-       -1, 1, 331,
-       58, 0, 892,
+       -1, 1, 338,
+       58, 0, 901,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row760[] = {
+static int parser_action_row766[] = {
        3,
        -1, 1, 231,
-       26, 1, 490,
-       78, 0, 446
+       26, 1, 495,
+       78, 0, 449
 };
-static int parser_action_row761[] = {
+static int parser_action_row767[] = {
        23,
-       -1, 3, 760,
+       -1, 3, 766,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8518,7 +8557,7 @@ static int parser_action_row761[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -8526,9 +8565,9 @@ static int parser_action_row761[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row762[] = {
+static int parser_action_row768[] = {
        23,
-       -1, 3, 761,
+       -1, 3, 767,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8544,7 +8583,7 @@ static int parser_action_row762[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -8552,22 +8591,22 @@ static int parser_action_row762[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row763[] = {
+static int parser_action_row769[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row764[] = {
+static int parser_action_row770[] = {
        4,
-       -1, 1, 336,
-       58, 0, 898,
+       -1, 1, 343,
+       58, 0, 907,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row765[] = {
+static int parser_action_row771[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -8580,8 +8619,8 @@ static int parser_action_row765[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -8592,22 +8631,22 @@ static int parser_action_row765[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row766[] = {
+static int parser_action_row772[] = {
        3,
-       -1, 3, 765,
-       9, 0, 625,
-       26, 0, 630
+       -1, 3, 771,
+       9, 0, 629,
+       26, 0, 634
 };
-static int parser_action_row767[] = {
+static int parser_action_row773[] = {
        1,
-       -1, 1, 276
+       -1, 1, 281
 };
-static int parser_action_row768[] = {
+static int parser_action_row774[] = {
        32,
-       -1, 3, 767,
+       -1, 3, 773,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -8637,19 +8676,29 @@ static int parser_action_row768[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row769[] = {
+static int parser_action_row775[] = {
        1,
-       -1, 1, 281
+       -1, 1, 286
 };
-static int parser_action_row770[] = {
+static int parser_action_row776[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row771[] = {
+static int parser_action_row777[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row778[] = {
+       1,
+       -1, 1, 380
+};
+static int parser_action_row779[] = {
        23,
-       -1, 3, 770,
+       -1, 3, 778,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8673,14 +8722,14 @@ static int parser_action_row771[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row772[] = {
+static int parser_action_row780[] = {
        1,
-       -1, 1, 291
+       -1, 1, 298
 };
-static int parser_action_row773[] = {
+static int parser_action_row781[] = {
        30,
-       -1, 1, 249,
-       9, 0, 879,
+       -1, 1, 253,
+       9, 0, 887,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -8710,18 +8759,25 @@ static int parser_action_row773[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row774[] = {
+static int parser_action_row782[] = {
        1,
-       -1, 1, 501
+       -1, 1, 507
 };
-static int parser_action_row775[] = {
+static int parser_action_row783[] = {
        2,
-       -1, 3, 774,
+       -1, 3, 782,
        50, 0, 172
 };
-static int parser_action_row776[] = {
+static int parser_action_row784[] = {
+       4,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2,
+       52, 0, 917
+};
+static int parser_action_row785[] = {
        23,
-       -1, 3, 775,
+       -1, 3, 784,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8737,7 +8793,7 @@ static int parser_action_row776[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -8745,26 +8801,26 @@ static int parser_action_row776[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row777[] = {
+static int parser_action_row786[] = {
        32,
-       -1, 3, 776,
+       -1, 3, 785,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 738,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -8772,133 +8828,133 @@ static int parser_action_row777[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row778[] = {
+static int parser_action_row787[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row779[] = {
+static int parser_action_row788[] = {
        1,
-       -1, 1, 532
+       -1, 1, 542
 };
-static int parser_action_row780[] = {
+static int parser_action_row789[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row781[] = {
+static int parser_action_row790[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row782[] = {
+static int parser_action_row791[] = {
        1,
-       -1, 1, 679
+       -1, 1, 689
 };
-static int parser_action_row783[] = {
+static int parser_action_row792[] = {
        2,
        -1, 1, 199,
-       55, 0, 780
+       55, 0, 789
 };
-static int parser_action_row784[] = {
+static int parser_action_row793[] = {
        2,
-       -1, 3, 783,
-       54, 0, 916
+       -1, 3, 792,
+       54, 0, 927
 };
-static int parser_action_row785[] = {
+static int parser_action_row794[] = {
        1,
-       -1, 1, 337
+       -1, 1, 344
 };
-static int parser_action_row786[] = {
+static int parser_action_row795[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row787[] = {
+static int parser_action_row796[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row788[] = {
+static int parser_action_row797[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row789[] = {
+static int parser_action_row798[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row790[] = {
+static int parser_action_row799[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row791[] = {
+static int parser_action_row800[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row792[] = {
+static int parser_action_row801[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row793[] = {
+static int parser_action_row802[] = {
        1,
-       -1, 1, 454
+       -1, 1, 459
 };
-static int parser_action_row794[] = {
+static int parser_action_row803[] = {
        1,
-       -1, 1, 455
+       -1, 1, 460
 };
-static int parser_action_row795[] = {
+static int parser_action_row804[] = {
        1,
-       -1, 1, 456
+       -1, 1, 461
 };
-static int parser_action_row796[] = {
+static int parser_action_row805[] = {
        1,
-       -1, 1, 457
+       -1, 1, 462
 };
-static int parser_action_row797[] = {
+static int parser_action_row806[] = {
        17,
-       -1, 3, 796,
-       12, 0, 786,
-       39, 0, 924,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       51, 0, 797,
+       -1, 3, 805,
+       12, 0, 795,
+       39, 0, 935,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       51, 0, 806,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 925,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 936,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row798[] = {
+static int parser_action_row807[] = {
        23,
-       -1, 3, 797,
+       -1, 3, 806,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -8922,132 +8978,134 @@ static int parser_action_row798[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row799[] = {
+static int parser_action_row808[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row800[] = {
+static int parser_action_row809[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
        57, 0, 191
 };
-static int parser_action_row801[] = {
+static int parser_action_row810[] = {
        1,
-       -1, 1, 446
+       -1, 1, 451
 };
-static int parser_action_row802[] = {
+static int parser_action_row811[] = {
        1,
-       -1, 1, 458
+       -1, 1, 463
 };
-static int parser_action_row803[] = {
+static int parser_action_row812[] = {
        1,
-       -1, 1, 459
+       -1, 1, 464
 };
-static int parser_action_row804[] = {
+static int parser_action_row813[] = {
        1,
-       -1, 1, 460
+       -1, 1, 465
 };
-static int parser_action_row805[] = {
+static int parser_action_row814[] = {
        1,
-       -1, 1, 461
+       -1, 1, 466
 };
-static int parser_action_row806[] = {
+static int parser_action_row815[] = {
        1,
-       -1, 1, 462
+       -1, 1, 467
 };
-static int parser_action_row807[] = {
+static int parser_action_row816[] = {
        2,
-       -1, 3, 806,
-       42, 0, 930
+       -1, 3, 815,
+       42, 0, 941
 };
-static int parser_action_row808[] = {
+static int parser_action_row817[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row809[] = {
+static int parser_action_row818[] = {
        3,
-       -1, 1, 411,
-       31, 0, 932,
-       32, 0, 933
+       -1, 1, 416,
+       31, 0, 943,
+       32, 0, 944
 };
-static int parser_action_row810[] = {
+static int parser_action_row819[] = {
        1,
-       -1, 1, 413
+       -1, 1, 418
 };
-static int parser_action_row811[] = {
+static int parser_action_row820[] = {
        3,
-       -1, 1, 417,
-       73, 0, 934,
-       76, 0, 935
+       -1, 1, 422,
+       73, 0, 945,
+       76, 0, 946
 };
-static int parser_action_row812[] = {
+static int parser_action_row821[] = {
        12,
-       -1, 1, 419,
-       14, 0, 936,
-       40, 0, 937,
-       64, 0, 938,
-       65, 0, 939,
-       69, 0, 940,
-       70, 0, 941,
-       71, 0, 942,
-       72, 0, 943,
-       74, 0, 944,
-       75, 0, 945,
-       77, 0, 946
+       -1, 1, 424,
+       14, 0, 947,
+       40, 0, 948,
+       64, 0, 949,
+       65, 0, 950,
+       69, 0, 951,
+       70, 0, 952,
+       71, 0, 953,
+       72, 0, 954,
+       74, 0, 955,
+       75, 0, 956,
+       77, 0, 957
 };
-static int parser_action_row813[] = {
+static int parser_action_row822[] = {
        4,
-       -1, 1, 431,
-       66, 0, 947,
-       67, 0, 948,
-       68, 0, 949
+       -1, 1, 436,
+       66, 0, 958,
+       67, 0, 959,
+       68, 0, 960
 };
-static int parser_action_row814[] = {
+static int parser_action_row823[] = {
        1,
-       -1, 1, 434
+       -1, 1, 439
 };
-static int parser_action_row815[] = {
+static int parser_action_row824[] = {
        1,
-       -1, 1, 438
+       -1, 1, 443
 };
-static int parser_action_row816[] = {
+static int parser_action_row825[] = {
        2,
-       -1, 1, 441,
-       63, 0, 950
+       -1, 1, 446,
+       63, 0, 961
 };
-static int parser_action_row817[] = {
+static int parser_action_row826[] = {
        2,
-       -1, 1, 247,
-       9, 0, 410
+       -1, 1, 250,
+       9, 0, 412
 };
-static int parser_action_row818[] = {
+static int parser_action_row827[] = {
        1,
        -1, 1, 241
 };
-static int parser_action_row819[] = {
-       1,
-       -1, 1, 372
+static int parser_action_row828[] = {
+       3,
+       -1, 3, 827,
+       15, 0, 962,
+       58, 0, 963
 };
-static int parser_action_row820[] = {
+static int parser_action_row829[] = {
        1,
-       -1, 1, 245
+       -1, 1, 247
 };
-static int parser_action_row821[] = {
+static int parser_action_row830[] = {
        1,
-       -1, 1, 253
+       -1, 1, 258
 };
-static int parser_action_row822[] = {
+static int parser_action_row831[] = {
        1,
-       -1, 1, 244
+       -1, 1, 246
 };
-static int parser_action_row823[] = {
+static int parser_action_row832[] = {
        30,
-       -1, 1, 250,
+       -1, 1, 255,
        9, 0, 271,
        12, 0, 25,
        15, 0, 27,
@@ -9078,14 +9136,14 @@ static int parser_action_row823[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row824[] = {
+static int parser_action_row833[] = {
        2,
-       -1, 3, 823,
+       -1, 3, 832,
        50, 0, 172
 };
-static int parser_action_row825[] = {
+static int parser_action_row834[] = {
        23,
-       -1, 3, 824,
+       -1, 3, 833,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9109,444 +9167,443 @@ static int parser_action_row825[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row826[] = {
-       3,
-       -1, 1, 386,
-       0, 0, 1,
-       1, 0, 2
-};
-static int parser_action_row827[] = {
+static int parser_action_row835[] = {
        2,
        -1, 1, 184,
-       61, 0, 955
+       61, 0, 967
 };
-static int parser_action_row828[] = {
+static int parser_action_row836[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row829[] = {
+static int parser_action_row837[] = {
        1,
-       -1, 1, 675
+       -1, 1, 685
 };
-static int parser_action_row830[] = {
+static int parser_action_row838[] = {
        2,
-       -1, 3, 829,
-       52, 0, 957
+       -1, 3, 837,
+       52, 0, 969
 };
-static int parser_action_row831[] = {
+static int parser_action_row839[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       55, 0, 827
+       55, 0, 835
 };
-static int parser_action_row832[] = {
+static int parser_action_row840[] = {
        1,
-       -1, 1, 400
+       -1, 1, 405
 };
-static int parser_action_row833[] = {
+static int parser_action_row841[] = {
        1,
-       -1, 1, 394
+       -1, 1, 399
 };
-static int parser_action_row834[] = {
+static int parser_action_row842[] = {
        3,
        -1, 1, 175,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row835[] = {
+static int parser_action_row843[] = {
        5,
-       -1, 3, 834,
+       -1, 3, 842,
        0, 0, 1,
        1, 0, 2,
-       15, 0, 961,
-       58, 0, 962
+       15, 0, 973,
+       58, 0, 974
 };
-static int parser_action_row836[] = {
+static int parser_action_row844[] = {
        2,
        -1, 1, 176,
        56, 0, 275
 };
-static int parser_action_row837[] = {
+static int parser_action_row845[] = {
        1,
        -1, 1, 177
 };
-static int parser_action_row838[] = {
+static int parser_action_row846[] = {
        1,
-       -1, 1, 396
+       -1, 1, 401
 };
-static int parser_action_row839[] = {
+static int parser_action_row847[] = {
        1,
        -1, 1, 193
 };
-static int parser_action_row840[] = {
+static int parser_action_row848[] = {
        2,
        -1, 1, 62,
        56, 0, 275
 };
-static int parser_action_row841[] = {
+static int parser_action_row849[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       55, 0, 966
+       55, 0, 978
 };
-static int parser_action_row842[] = {
+static int parser_action_row850[] = {
        1,
        -1, 1, 41
 };
-static int parser_action_row843[] = {
+static int parser_action_row851[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 970,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 982,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row844[] = {
+static int parser_action_row852[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row845[] = {
+static int parser_action_row853[] = {
        8,
        -1, 1, 145,
-       9, 0, 972,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 984,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row846[] = {
+static int parser_action_row854[] = {
        3,
-       -1, 3, 845,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 853,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row847[] = {
+static int parser_action_row855[] = {
        1,
        -1, 1, 140
 };
-static int parser_action_row848[] = {
+static int parser_action_row856[] = {
        1,
        -1, 1, 142
 };
-static int parser_action_row849[] = {
+static int parser_action_row857[] = {
        5,
-       -1, 3, 848,
-       10, 0, 974,
-       11, 0, 975,
-       12, 0, 976,
-       18, 0, 977
+       -1, 3, 856,
+       10, 0, 986,
+       11, 0, 987,
+       12, 0, 988,
+       18, 0, 989
 };
-static int parser_action_row850[] = {
+static int parser_action_row858[] = {
        3,
-       -1, 3, 849,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 857,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row851[] = {
+static int parser_action_row859[] = {
        5,
        -1, 1, 145,
-       17, 0, 847,
+       17, 0, 855,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row852[] = {
+static int parser_action_row860[] = {
        5,
        -1, 1, 145,
-       13, 0, 980,
+       13, 0, 992,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row853[] = {
+static int parser_action_row861[] = {
        2,
-       -1, 3, 852,
-       18, 0, 982
+       -1, 3, 860,
+       18, 0, 994
 };
-static int parser_action_row854[] = {
+static int parser_action_row862[] = {
        4,
        -1, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row855[] = {
+static int parser_action_row863[] = {
        2,
-       -1, 3, 854,
-       18, 0, 984
+       -1, 3, 862,
+       18, 0, 996
 };
-static int parser_action_row856[] = {
+static int parser_action_row864[] = {
        17,
-       -1, 3, 855,
-       53, 0, 342,
-       64, 0, 343,
-       65, 0, 344,
-       66, 0, 345,
-       67, 0, 346,
-       68, 0, 347,
-       69, 0, 348,
-       70, 0, 349,
-       71, 0, 350,
-       72, 0, 351,
-       73, 0, 352,
-       74, 0, 353,
-       75, 0, 354,
-       76, 0, 355,
-       77, 0, 356,
-       80, 0, 357
+       -1, 3, 863,
+       53, 0, 344,
+       64, 0, 345,
+       65, 0, 346,
+       66, 0, 347,
+       67, 0, 348,
+       68, 0, 349,
+       69, 0, 350,
+       70, 0, 351,
+       71, 0, 352,
+       72, 0, 353,
+       73, 0, 354,
+       74, 0, 355,
+       75, 0, 356,
+       76, 0, 357,
+       77, 0, 358,
+       80, 0, 359
 };
-static int parser_action_row857[] = {
+static int parser_action_row865[] = {
        2,
-       -1, 3, 856,
-       79, 0, 986
+       -1, 3, 864,
+       79, 0, 998
 };
-static int parser_action_row858[] = {
+static int parser_action_row866[] = {
        21,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
-       53, 0, 342,
+       51, 0, 474,
+       53, 0, 344,
        56, 0, 275,
-       64, 0, 343,
-       65, 0, 344,
-       66, 0, 345,
-       67, 0, 346,
-       68, 0, 347,
-       69, 0, 348,
-       70, 0, 349,
-       71, 0, 350,
-       72, 0, 351,
-       73, 0, 352,
-       74, 0, 353,
-       75, 0, 354,
-       76, 0, 355,
-       77, 0, 356,
-       80, 0, 357
+       64, 0, 345,
+       65, 0, 346,
+       66, 0, 347,
+       67, 0, 348,
+       68, 0, 349,
+       69, 0, 350,
+       70, 0, 351,
+       71, 0, 352,
+       72, 0, 353,
+       73, 0, 354,
+       74, 0, 355,
+       75, 0, 356,
+       76, 0, 357,
+       77, 0, 358,
+       80, 0, 359
 };
-static int parser_action_row859[] = {
+static int parser_action_row867[] = {
        3,
-       -1, 3, 858,
-       80, 0, 991,
-       81, 0, 992
+       -1, 3, 866,
+       80, 0, 1003,
+       81, 0, 1004
 };
-static int parser_action_row860[] = {
+static int parser_action_row868[] = {
        1,
        -1, 1, 43
 };
-static int parser_action_row861[] = {
+static int parser_action_row869[] = {
        8,
        -1, 1, 145,
-       9, 0, 993,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 1005,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row862[] = {
+static int parser_action_row870[] = {
        1,
        -1, 1, 47
 };
-static int parser_action_row863[] = {
+static int parser_action_row871[] = {
        4,
-       -1, 3, 862,
-       33, 0, 994,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 870,
+       33, 0, 1006,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row864[] = {
+static int parser_action_row872[] = {
        1,
-       -1, 1, 260
+       -1, 1, 265
 };
-static int parser_action_row865[] = {
+static int parser_action_row873[] = {
        1,
-       -1, 1, 265
+       -1, 1, 270
 };
-static int parser_action_row866[] = {
+static int parser_action_row874[] = {
        1,
-       -1, 1, 361
+       -1, 1, 368
 };
-static int parser_action_row867[] = {
+static int parser_action_row875[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row868[] = {
+static int parser_action_row876[] = {
        1,
-       -1, 1, 590
+       -1, 1, 600
 };
-static int parser_action_row869[] = {
+static int parser_action_row877[] = {
        4,
-       -1, 3, 868,
-       33, 0, 997,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 876,
+       33, 0, 1009,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row870[] = {
+static int parser_action_row878[] = {
        1,
-       -1, 1, 401
+       -1, 1, 406
 };
-static int parser_action_row871[] = {
+static int parser_action_row879[] = {
        1,
-       -1, 1, 395
+       -1, 1, 400
 };
-static int parser_action_row872[] = {
+static int parser_action_row880[] = {
        1,
-       -1, 1, 397
+       -1, 1, 402
 };
-static int parser_action_row873[] = {
+static int parser_action_row881[] = {
        1,
        -1, 1, 42
 };
-static int parser_action_row874[] = {
+static int parser_action_row882[] = {
        10,
        -1, 1, 145,
-       8, 0, 701,
-       9, 0, 999,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       8, 0, 707,
+       9, 0, 1011,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       42, 0, 706
+       42, 0, 712
 };
-static int parser_action_row875[] = {
+static int parser_action_row883[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row876[] = {
+static int parser_action_row884[] = {
        8,
        -1, 1, 145,
-       9, 0, 1001,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 1013,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row877[] = {
+static int parser_action_row885[] = {
        1,
        -1, 1, 44
 };
-static int parser_action_row878[] = {
+static int parser_action_row886[] = {
        8,
        -1, 1, 145,
-       9, 0, 1002,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 1014,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row879[] = {
+static int parser_action_row887[] = {
        1,
        -1, 1, 48
 };
-static int parser_action_row880[] = {
+static int parser_action_row888[] = {
        3,
        -1, 1, 203,
-       26, 1, 467,
-       50, 1, 539
+       26, 1, 472,
+       50, 1, 549
 };
-static int parser_action_row881[] = {
+static int parser_action_row889[] = {
        2,
-       -1, 3, 880,
-       9, 0, 1003
+       -1, 3, 888,
+       9, 0, 1015
 };
-static int parser_action_row882[] = {
+static int parser_action_row890[] = {
        2,
-       -1, 1, 270,
-       26, 1, 520
+       -1, 1, 275,
+       26, 1, 528
 };
-static int parser_action_row883[] = {
+static int parser_action_row891[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row884[] = {
+static int parser_action_row892[] = {
        3,
-       -1, 1, 255,
-       26, 1, 507,
-       58, 0, 1005
+       -1, 1, 260,
+       26, 1, 515,
+       58, 0, 1017
 };
-static int parser_action_row885[] = {
+static int parser_action_row893[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row886[] = {
+static int parser_action_row894[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row887[] = {
+static int parser_action_row895[] = {
+       2,
+       -1, 1, 284,
+       26, 1, 531
+};
+static int parser_action_row896[] = {
        2,
-       -1, 1, 279,
-       26, 1, 523
+       -1, 3, 895,
+       80, 0, 282
 };
-static int parser_action_row888[] = {
+static int parser_action_row897[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row889[] = {
+static int parser_action_row898[] = {
        1,
-       -1, 1, 482
+       -1, 1, 487
 };
-static int parser_action_row890[] = {
+static int parser_action_row899[] = {
        1,
-       -1, 1, 477
+       -1, 1, 482
 };
-static int parser_action_row891[] = {
+static int parser_action_row900[] = {
        2,
-       -1, 3, 890,
-       26, 0, 1009
+       -1, 3, 899,
+       26, 0, 1022
 };
-static int parser_action_row892[] = {
+static int parser_action_row901[] = {
        32,
-       -1, 3, 891,
+       -1, 3, 900,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 1010,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 1023,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -9554,17 +9611,17 @@ static int parser_action_row892[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row893[] = {
+static int parser_action_row902[] = {
        23,
-       -1, 3, 892,
+       -1, 3, 901,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9580,7 +9637,7 @@ static int parser_action_row893[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -9588,9 +9645,9 @@ static int parser_action_row893[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row894[] = {
+static int parser_action_row903[] = {
        23,
-       -1, 3, 893,
+       -1, 3, 902,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9606,7 +9663,7 @@ static int parser_action_row894[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -9614,29 +9671,29 @@ static int parser_action_row894[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row895[] = {
+static int parser_action_row904[] = {
        1,
-       -1, 1, 492
+       -1, 1, 497
 };
-static int parser_action_row896[] = {
+static int parser_action_row905[] = {
        1,
-       -1, 1, 511
+       -1, 1, 519
 };
-static int parser_action_row897[] = {
+static int parser_action_row906[] = {
        1,
-       -1, 1, 516
+       -1, 1, 524
 };
-static int parser_action_row898[] = {
+static int parser_action_row907[] = {
        5,
-       -1, 3, 897,
-       12, 0, 1015,
-       47, 0, 481,
-       80, 0, 1016,
-       81, 0, 1017
+       -1, 3, 906,
+       12, 0, 1028,
+       47, 0, 484,
+       80, 0, 1029,
+       81, 0, 1030
 };
-static int parser_action_row899[] = {
+static int parser_action_row908[] = {
        23,
-       -1, 3, 898,
+       -1, 3, 907,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9652,7 +9709,7 @@ static int parser_action_row899[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -9660,9 +9717,9 @@ static int parser_action_row899[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row900[] = {
+static int parser_action_row909[] = {
        23,
-       -1, 3, 899,
+       -1, 3, 908,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9678,7 +9735,7 @@ static int parser_action_row900[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -9686,52 +9743,84 @@ static int parser_action_row900[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row901[] = {
+static int parser_action_row910[] = {
        2,
        -1, 1, 235,
-       26, 1, 494
+       26, 1, 499
 };
-static int parser_action_row902[] = {
+static int parser_action_row911[] = {
        1,
-       -1, 1, 274
+       -1, 1, 279
 };
-static int parser_action_row903[] = {
+static int parser_action_row912[] = {
        1,
-       -1, 1, 272
+       -1, 1, 277
 };
-static int parser_action_row904[] = {
+static int parser_action_row913[] = {
+       23,
+       -1, 3, 912,
+       12, 0, 151,
+       24, 0, 152,
+       33, 0, 153,
+       39, 0, 154,
+       41, 0, 155,
+       42, 0, 156,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       49, 0, 157,
+       51, 0, 47,
+       53, 0, 48,
+       65, 0, 158,
+       79, 0, 49,
+       80, 0, 186,
+       81, 0, 160,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row914[] = {
        2,
-       -1, 3, 903,
-       15, 0, 1020
+       -1, 3, 913,
+       15, 0, 1034
 };
-static int parser_action_row905[] = {
+static int parser_action_row915[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row906[] = {
+static int parser_action_row916[] = {
        2,
-       -1, 1, 247,
-       9, 0, 1003
+       -1, 1, 250,
+       9, 0, 1015
 };
-static int parser_action_row907[] = {
+static int parser_action_row917[] = {
        2,
        -1, 1, 241,
-       26, 1, 499
+       26, 1, 504
 };
-static int parser_action_row908[] = {
+static int parser_action_row918[] = {
+       3,
+       -1, 3, 917,
+       15, 0, 1036,
+       58, 0, 1037
+};
+static int parser_action_row919[] = {
        1,
-       -1, 1, 503
+       -1, 1, 510
 };
-static int parser_action_row909[] = {
+static int parser_action_row920[] = {
        1,
-       -1, 1, 505
+       -1, 1, 513
 };
-static int parser_action_row910[] = {
+static int parser_action_row921[] = {
        30,
-       -1, 1, 250,
-       9, 0, 879,
+       -1, 1, 255,
+       9, 0, 887,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -9761,18 +9850,18 @@ static int parser_action_row910[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row911[] = {
+static int parser_action_row922[] = {
        1,
-       -1, 1, 502
+       -1, 1, 509
 };
-static int parser_action_row912[] = {
+static int parser_action_row923[] = {
        2,
-       -1, 3, 911,
+       -1, 3, 922,
        50, 0, 172
 };
-static int parser_action_row913[] = {
+static int parser_action_row924[] = {
        23,
-       -1, 3, 912,
+       -1, 3, 923,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9788,7 +9877,7 @@ static int parser_action_row913[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -9796,36 +9885,36 @@ static int parser_action_row913[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row914[] = {
+static int parser_action_row925[] = {
        2,
-       -1, 3, 913,
-       54, 0, 1025
+       -1, 3, 924,
+       54, 0, 1041
 };
-static int parser_action_row915[] = {
+static int parser_action_row926[] = {
        3,
-       -1, 3, 914,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 925,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row916[] = {
+static int parser_action_row927[] = {
        1,
-       -1, 1, 680
+       -1, 1, 690
 };
-static int parser_action_row917[] = {
+static int parser_action_row928[] = {
        1,
        -1, 1, 196
 };
-static int parser_action_row918[] = {
+static int parser_action_row929[] = {
        1,
-       -1, 1, 371
+       -1, 1, 378
 };
-static int parser_action_row919[] = {
+static int parser_action_row930[] = {
        1,
-       -1, 1, 452
+       -1, 1, 457
 };
-static int parser_action_row920[] = {
+static int parser_action_row931[] = {
        23,
-       -1, 3, 919,
+       -1, 3, 930,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -9849,291 +9938,327 @@ static int parser_action_row920[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row921[] = {
+static int parser_action_row932[] = {
        21,
-       -1, 3, 920,
-       12, 0, 786,
-       33, 0, 788,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 931,
+       12, 0, 795,
+       33, 0, 797,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row922[] = {
+static int parser_action_row933[] = {
        3,
-       -1, 3, 921,
-       48, 0, 1029,
-       79, 0, 1030
+       -1, 3, 932,
+       48, 0, 1045,
+       79, 0, 1046
 };
-static int parser_action_row923[] = {
+static int parser_action_row934[] = {
        20,
-       -1, 3, 922,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 933,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row924[] = {
+static int parser_action_row935[] = {
        1,
-       -1, 1, 449
+       -1, 1, 454
 };
-static int parser_action_row925[] = {
+static int parser_action_row936[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row926[] = {
+static int parser_action_row937[] = {
        2,
-       -1, 1, 444,
-       63, 1, 446
+       -1, 1, 449,
+       63, 1, 451
 };
-static int parser_action_row927[] = {
+static int parser_action_row938[] = {
        2,
-       -1, 3, 926,
-       63, 0, 1034
+       -1, 3, 937,
+       63, 0, 1050
 };
-static int parser_action_row928[] = {
+static int parser_action_row939[] = {
        2,
-       -1, 3, 927,
-       52, 0, 1035
+       -1, 3, 938,
+       52, 0, 1051
 };
-static int parser_action_row929[] = {
+static int parser_action_row940[] = {
        20,
-       -1, 3, 928,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 939,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row930[] = {
+static int parser_action_row941[] = {
        1,
-       -1, 1, 448
+       -1, 1, 453
 };
-static int parser_action_row931[] = {
+static int parser_action_row942[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row932[] = {
+static int parser_action_row943[] = {
        3,
-       -1, 3, 931,
-       53, 0, 1038,
-       54, 0, 1039
+       -1, 3, 942,
+       53, 0, 1054,
+       54, 0, 1055
 };
-static int parser_action_row933[] = {
+static int parser_action_row944[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row934[] = {
+static int parser_action_row945[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       26, 0, 1041
+       26, 0, 1057
 };
-static int parser_action_row935[] = {
+static int parser_action_row946[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row936[] = {
+static int parser_action_row947[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row937[] = {
+static int parser_action_row948[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row938[] = {
+static int parser_action_row949[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row939[] = {
+static int parser_action_row950[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row940[] = {
+static int parser_action_row951[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row941[] = {
+static int parser_action_row952[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row942[] = {
+static int parser_action_row953[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row943[] = {
+static int parser_action_row954[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row944[] = {
+static int parser_action_row955[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row945[] = {
+static int parser_action_row956[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row946[] = {
+static int parser_action_row957[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row947[] = {
+static int parser_action_row958[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row948[] = {
+static int parser_action_row959[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row949[] = {
+static int parser_action_row960[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row950[] = {
+static int parser_action_row961[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row951[] = {
+static int parser_action_row962[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row952[] = {
+static int parser_action_row963[] = {
+       32,
+       -1, 3, 962,
+       0, 0, 1,
+       1, 0, 2,
+       9, 0, 137,
+       12, 0, 25,
+       15, 0, 27,
+       18, 0, 28,
+       24, 0, 32,
+       27, 0, 33,
+       28, 0, 34,
+       29, 0, 35,
+       34, 0, 36,
+       35, 0, 37,
+       36, 0, 38,
+       37, 0, 39,
+       38, 0, 40,
+       39, 0, 41,
+       42, 0, 42,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       51, 0, 47,
+       53, 0, 48,
+       79, 0, 49,
+       80, 0, 50,
+       81, 0, 51,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row964[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row965[] = {
        2,
-       -1, 1, 248,
-       9, 0, 410
+       -1, 1, 252,
+       9, 0, 412
 };
-static int parser_action_row953[] = {
+static int parser_action_row966[] = {
        1,
-       -1, 1, 242
+       -1, 1, 243
 };
-static int parser_action_row954[] = {
+static int parser_action_row967[] = {
        1,
-       -1, 1, 246
-};
-static int parser_action_row955[] = {
-       2,
-       -1, 3, 954,
-       80, 0, 1060
+       -1, 1, 249
 };
-static int parser_action_row956[] = {
+static int parser_action_row968[] = {
        1,
        -1, 1, 185
 };
-static int parser_action_row957[] = {
+static int parser_action_row969[] = {
        2,
-       -1, 3, 956,
-       80, 0, 686
+       -1, 3, 968,
+       80, 0, 692
 };
-static int parser_action_row958[] = {
+static int parser_action_row970[] = {
        1,
        -1, 1, 179
 };
-static int parser_action_row959[] = {
+static int parser_action_row971[] = {
        1,
-       -1, 1, 676
+       -1, 1, 686
 };
-static int parser_action_row960[] = {
+static int parser_action_row972[] = {
        2,
-       -1, 3, 959,
-       52, 0, 1062
+       -1, 3, 971,
+       52, 0, 1081
 };
-static int parser_action_row961[] = {
+static int parser_action_row973[] = {
        5,
-       -1, 3, 960,
+       -1, 3, 972,
        0, 0, 1,
        1, 0, 2,
-       15, 0, 1063,
-       58, 0, 1064
+       15, 0, 1082,
+       58, 0, 1083
 };
-static int parser_action_row962[] = {
+static int parser_action_row974[] = {
        32,
-       -1, 3, 961,
+       -1, 3, 973,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -10163,281 +10288,281 @@ static int parser_action_row962[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row963[] = {
+static int parser_action_row975[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row964[] = {
+static int parser_action_row976[] = {
        1,
        -1, 1, 187
 };
-static int parser_action_row965[] = {
+static int parser_action_row977[] = {
        1,
        -1, 1, 178
 };
-static int parser_action_row966[] = {
+static int parser_action_row978[] = {
        1,
        -1, 1, 63
 };
-static int parser_action_row967[] = {
+static int parser_action_row979[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row968[] = {
+static int parser_action_row980[] = {
        1,
-       -1, 1, 673
+       -1, 1, 683
 };
-static int parser_action_row969[] = {
+static int parser_action_row981[] = {
        2,
-       -1, 3, 968,
-       54, 0, 1069
+       -1, 3, 980,
+       54, 0, 1088
 };
-static int parser_action_row970[] = {
+static int parser_action_row982[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       55, 0, 966
+       55, 0, 978
 };
-static int parser_action_row971[] = {
+static int parser_action_row983[] = {
        1,
        -1, 1, 45
 };
-static int parser_action_row972[] = {
+static int parser_action_row984[] = {
        8,
        -1, 1, 145,
-       9, 0, 1072,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 1091,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row973[] = {
+static int parser_action_row985[] = {
        1,
        -1, 1, 49
 };
-static int parser_action_row974[] = {
+static int parser_action_row986[] = {
        1,
        -1, 1, 64
 };
-static int parser_action_row975[] = {
+static int parser_action_row987[] = {
        17,
-       -1, 3, 974,
-       53, 0, 342,
-       64, 0, 343,
-       65, 0, 344,
-       66, 0, 345,
-       67, 0, 346,
-       68, 0, 347,
-       69, 0, 348,
-       70, 0, 349,
-       71, 0, 350,
-       72, 0, 351,
-       73, 0, 352,
-       74, 0, 353,
-       75, 0, 354,
-       76, 0, 355,
-       77, 0, 356,
-       80, 0, 357
+       -1, 3, 986,
+       53, 0, 344,
+       64, 0, 345,
+       65, 0, 346,
+       66, 0, 347,
+       67, 0, 348,
+       68, 0, 349,
+       69, 0, 350,
+       70, 0, 351,
+       71, 0, 352,
+       72, 0, 353,
+       73, 0, 354,
+       74, 0, 355,
+       75, 0, 356,
+       76, 0, 357,
+       77, 0, 358,
+       80, 0, 359
 };
-static int parser_action_row976[] = {
+static int parser_action_row988[] = {
        2,
-       -1, 3, 975,
-       79, 0, 1074
+       -1, 3, 987,
+       79, 0, 1093
 };
-static int parser_action_row977[] = {
+static int parser_action_row989[] = {
        21,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
-       53, 0, 342,
+       51, 0, 474,
+       53, 0, 344,
        56, 0, 275,
-       64, 0, 343,
-       65, 0, 344,
-       66, 0, 345,
-       67, 0, 346,
-       68, 0, 347,
-       69, 0, 348,
-       70, 0, 349,
-       71, 0, 350,
-       72, 0, 351,
-       73, 0, 352,
-       74, 0, 353,
-       75, 0, 354,
-       76, 0, 355,
-       77, 0, 356,
-       80, 0, 357
+       64, 0, 345,
+       65, 0, 346,
+       66, 0, 347,
+       67, 0, 348,
+       68, 0, 349,
+       69, 0, 350,
+       70, 0, 351,
+       71, 0, 352,
+       72, 0, 353,
+       73, 0, 354,
+       74, 0, 355,
+       75, 0, 356,
+       76, 0, 357,
+       77, 0, 358,
+       80, 0, 359
 };
-static int parser_action_row978[] = {
+static int parser_action_row990[] = {
        3,
-       -1, 3, 977,
-       80, 0, 1077,
-       81, 0, 1078
+       -1, 3, 989,
+       80, 0, 1096,
+       81, 0, 1097
 };
-static int parser_action_row979[] = {
+static int parser_action_row991[] = {
        1,
        -1, 1, 65
 };
-static int parser_action_row980[] = {
+static int parser_action_row992[] = {
        2,
-       -1, 3, 979,
-       18, 0, 1079
+       -1, 3, 991,
+       18, 0, 1098
 };
-static int parser_action_row981[] = {
+static int parser_action_row993[] = {
        4,
        -1, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row982[] = {
+static int parser_action_row994[] = {
        2,
-       -1, 3, 981,
-       18, 0, 1081
+       -1, 3, 993,
+       18, 0, 1100
 };
-static int parser_action_row983[] = {
+static int parser_action_row995[] = {
        2,
-       -1, 3, 982,
-       81, 0, 1082
+       -1, 3, 994,
+       81, 0, 1101
 };
-static int parser_action_row984[] = {
+static int parser_action_row996[] = {
        2,
-       -1, 3, 983,
-       18, 0, 1083
+       -1, 3, 995,
+       18, 0, 1102
 };
-static int parser_action_row985[] = {
+static int parser_action_row997[] = {
        2,
-       -1, 3, 984,
-       81, 0, 1084
+       -1, 3, 996,
+       81, 0, 1103
 };
-static int parser_action_row986[] = {
+static int parser_action_row998[] = {
        5,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row987[] = {
+static int parser_action_row999[] = {
        2,
-       -1, 3, 986,
+       -1, 3, 998,
        56, 0, 275
 };
-static int parser_action_row988[] = {
+static int parser_action_row1000[] = {
        5,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row989[] = {
+static int parser_action_row1001[] = {
        2,
-       -1, 3, 988,
-       15, 0, 1089
+       -1, 3, 1000,
+       15, 0, 1108
 };
-static int parser_action_row990[] = {
+static int parser_action_row1002[] = {
        4,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
        56, 0, 275
 };
-static int parser_action_row991[] = {
+static int parser_action_row1003[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row992[] = {
+static int parser_action_row1004[] = {
        8,
        -1, 1, 113,
-       13, 0, 1093,
+       13, 0, 1112,
        17, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
        56, 0, 275,
-       58, 0, 1094
+       58, 0, 1113
 };
-static int parser_action_row993[] = {
+static int parser_action_row1005[] = {
        3,
        -1, 1, 81,
        56, 0, 275,
-       58, 0, 1098
+       58, 0, 1117
 };
-static int parser_action_row994[] = {
+static int parser_action_row1006[] = {
        1,
        -1, 1, 51
 };
-static int parser_action_row995[] = {
+static int parser_action_row1007[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row996[] = {
+static int parser_action_row1008[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row997[] = {
+static int parser_action_row1009[] = {
        2,
-       -1, 3, 996,
-       26, 0, 1102
+       -1, 3, 1008,
+       26, 0, 1121
 };
-static int parser_action_row998[] = {
+static int parser_action_row1010[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row999[] = {
+static int parser_action_row1011[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1000[] = {
+static int parser_action_row1012[] = {
        1,
        -1, 1, 46
 };
-static int parser_action_row1001[] = {
+static int parser_action_row1013[] = {
        8,
        -1, 1, 145,
-       9, 0, 1105,
-       13, 0, 703,
-       16, 0, 704,
-       17, 0, 705,
+       9, 0, 1124,
+       13, 0, 709,
+       16, 0, 710,
+       17, 0, 711,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row1002[] = {
+static int parser_action_row1014[] = {
        1,
        -1, 1, 50
 };
-static int parser_action_row1003[] = {
+static int parser_action_row1015[] = {
        1,
        -1, 1, 52
 };
-static int parser_action_row1004[] = {
+static int parser_action_row1016[] = {
        3,
        -1, 1, 202,
-       26, 1, 466,
-       50, 1, 538
+       26, 1, 471,
+       50, 1, 548
 };
-static int parser_action_row1005[] = {
+static int parser_action_row1017[] = {
        23,
-       -1, 3, 1004,
+       -1, 3, 1016,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -10453,7 +10578,7 @@ static int parser_action_row1005[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -10461,47 +10586,55 @@ static int parser_action_row1005[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1006[] = {
+static int parser_action_row1018[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1007[] = {
+static int parser_action_row1019[] = {
        2,
-       -1, 3, 1006,
-       25, 0, 1108
+       -1, 3, 1018,
+       25, 0, 1127
 };
-static int parser_action_row1008[] = {
+static int parser_action_row1020[] = {
        2,
-       -1, 3, 1007,
-       15, 0, 1109
+       -1, 3, 1019,
+       15, 0, 1128
 };
-static int parser_action_row1009[] = {
-       2,
-       -1, 3, 1008,
-       30, 0, 1110
+static int parser_action_row1021[] = {
+       4,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2,
+       52, 0, 1129
 };
-static int parser_action_row1010[] = {
+static int parser_action_row1022[] = {
+       3,
+       -1, 3, 1021,
+       30, 0, 1130,
+       55, 0, 533
+};
+static int parser_action_row1023[] = {
        32,
-       -1, 3, 1009,
+       -1, 3, 1022,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 1010,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 1023,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -10509,23 +10642,23 @@ static int parser_action_row1010[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1011[] = {
+static int parser_action_row1024[] = {
        2,
        -1, 1, 204,
-       26, 1, 468
+       26, 1, 473
 };
-static int parser_action_row1012[] = {
+static int parser_action_row1025[] = {
        30,
-       -1, 3, 1011,
-       9, 0, 1112,
+       -1, 3, 1024,
+       9, 0, 1132,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -10555,21 +10688,21 @@ static int parser_action_row1012[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1013[] = {
+static int parser_action_row1026[] = {
        1,
-       -1, 1, 529
+       -1, 1, 539
 };
-static int parser_action_row1014[] = {
+static int parser_action_row1027[] = {
        1,
-       -1, 1, 513
+       -1, 1, 521
 };
-static int parser_action_row1015[] = {
+static int parser_action_row1028[] = {
        1,
-       -1, 1, 518
+       -1, 1, 526
 };
-static int parser_action_row1016[] = {
+static int parser_action_row1029[] = {
        24,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -10582,8 +10715,8 @@ static int parser_action_row1016[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -10594,9 +10727,9 @@ static int parser_action_row1016[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row1017[] = {
+static int parser_action_row1030[] = {
        27,
-       -1, 1, 368,
+       -1, 1, 375,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -10609,11 +10742,11 @@ static int parser_action_row1017[] = {
        46, 0, 113,
        49, 0, 114,
        51, 0, 115,
-       53, 1, 363,
-       58, 1, 363,
-       59, 1, 363,
-       60, 1, 363,
-       63, 1, 363,
+       53, 1, 370,
+       58, 1, 370,
+       59, 1, 370,
+       60, 1, 370,
+       63, 1, 370,
        65, 0, 116,
        79, 0, 49,
        80, 0, 117,
@@ -10624,24 +10757,30 @@ static int parser_action_row1017[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row1018[] = {
+static int parser_action_row1031[] = {
        4,
-       -1, 1, 328,
-       58, 0, 1117,
+       -1, 1, 335,
+       58, 0, 1137,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row1019[] = {
+static int parser_action_row1032[] = {
        1,
-       -1, 1, 514
+       -1, 1, 522
 };
-static int parser_action_row1020[] = {
+static int parser_action_row1033[] = {
        1,
-       -1, 1, 519
+       -1, 1, 527
 };
-static int parser_action_row1021[] = {
+static int parser_action_row1034[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row1035[] = {
        32,
-       -1, 3, 1020,
+       -1, 3, 1034,
        0, 0, 1,
        1, 0, 2,
        9, 0, 137,
@@ -10674,525 +10813,630 @@ static int parser_action_row1021[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1022[] = {
+static int parser_action_row1036[] = {
        2,
-       -1, 3, 1021,
-       26, 0, 1121
+       -1, 3, 1035,
+       26, 0, 1142
 };
-static int parser_action_row1023[] = {
+static int parser_action_row1037[] = {
+       32,
+       -1, 3, 1036,
+       0, 0, 1,
+       1, 0, 2,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
+       39, 0, 41,
+       42, 0, 643,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       51, 0, 47,
+       53, 0, 48,
+       79, 0, 49,
+       80, 0, 644,
+       81, 0, 645,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1038[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row1039[] = {
        2,
-       -1, 1, 248,
-       9, 0, 1003
+       -1, 1, 252,
+       9, 0, 1015
 };
-static int parser_action_row1024[] = {
+static int parser_action_row1040[] = {
        2,
-       -1, 1, 242,
-       26, 1, 500
+       -1, 1, 243,
+       26, 1, 506
 };
-static int parser_action_row1025[] = {
+static int parser_action_row1041[] = {
        1,
-       -1, 1, 504
+       -1, 1, 512
 };
-static int parser_action_row1026[] = {
+static int parser_action_row1042[] = {
        1,
        -1, 1, 197
 };
-static int parser_action_row1027[] = {
+static int parser_action_row1043[] = {
        1,
        -1, 1, 200
 };
-static int parser_action_row1028[] = {
+static int parser_action_row1044[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1029[] = {
+static int parser_action_row1045[] = {
        1,
-       -1, 1, 418
+       -1, 1, 423
 };
-static int parser_action_row1030[] = {
+static int parser_action_row1046[] = {
        2,
-       -1, 3, 1029,
-       79, 0, 1123
+       -1, 3, 1045,
+       79, 0, 1148
 };
-static int parser_action_row1031[] = {
+static int parser_action_row1047[] = {
        1,
-       -1, 1, 406
+       -1, 1, 411
 };
-static int parser_action_row1032[] = {
+static int parser_action_row1048[] = {
        3,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235,
-       63, 0, 1124
+       63, 0, 1149
 };
-static int parser_action_row1033[] = {
+static int parser_action_row1049[] = {
        1,
-       -1, 1, 440
+       -1, 1, 445
 };
-static int parser_action_row1034[] = {
+static int parser_action_row1050[] = {
        3,
-       -1, 3, 1033,
-       48, 0, 1029,
-       79, 0, 1030
+       -1, 3, 1049,
+       48, 0, 1045,
+       79, 0, 1046
 };
-static int parser_action_row1035[] = {
+static int parser_action_row1051[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1036[] = {
+static int parser_action_row1052[] = {
        1,
-       -1, 1, 463
+       -1, 1, 468
 };
-static int parser_action_row1037[] = {
+static int parser_action_row1053[] = {
        1,
-       -1, 1, 439
+       -1, 1, 444
 };
-static int parser_action_row1038[] = {
+static int parser_action_row1054[] = {
        1,
-       -1, 1, 450
+       -1, 1, 455
 };
-static int parser_action_row1039[] = {
+static int parser_action_row1055[] = {
        1,
-       -1, 1, 339
+       -1, 1, 346
 };
-static int parser_action_row1040[] = {
+static int parser_action_row1056[] = {
        1,
-       -1, 1, 338
+       -1, 1, 345
 };
-static int parser_action_row1041[] = {
+static int parser_action_row1057[] = {
        21,
-       -1, 3, 1040,
-       12, 0, 786,
-       33, 0, 788,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1056,
+       12, 0, 795,
+       33, 0, 797,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1042[] = {
+static int parser_action_row1058[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1043[] = {
+static int parser_action_row1059[] = {
        21,
-       -1, 3, 1042,
-       12, 0, 786,
-       33, 0, 788,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1058,
+       12, 0, 795,
+       33, 0, 797,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1044[] = {
+static int parser_action_row1060[] = {
        20,
-       -1, 3, 1043,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1059,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1045[] = {
+static int parser_action_row1061[] = {
        20,
-       -1, 3, 1044,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1060,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1046[] = {
+static int parser_action_row1062[] = {
        20,
-       -1, 3, 1045,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1061,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1047[] = {
+static int parser_action_row1063[] = {
        3,
-       -1, 3, 1046,
-       48, 0, 1029,
-       79, 0, 1030
+       -1, 3, 1062,
+       48, 0, 1045,
+       79, 0, 1046
 };
-static int parser_action_row1048[] = {
+static int parser_action_row1064[] = {
        20,
-       -1, 3, 1047,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1063,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1049[] = {
+static int parser_action_row1065[] = {
        20,
-       -1, 3, 1048,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1064,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1050[] = {
+static int parser_action_row1066[] = {
        20,
-       -1, 3, 1049,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1065,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1051[] = {
+static int parser_action_row1067[] = {
        20,
-       -1, 3, 1050,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1066,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1052[] = {
+static int parser_action_row1068[] = {
        20,
-       -1, 3, 1051,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1067,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1053[] = {
+static int parser_action_row1069[] = {
        20,
-       -1, 3, 1052,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1068,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1054[] = {
+static int parser_action_row1070[] = {
        20,
-       -1, 3, 1053,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1069,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1055[] = {
+static int parser_action_row1071[] = {
        20,
-       -1, 3, 1054,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1070,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1056[] = {
+static int parser_action_row1072[] = {
        20,
-       -1, 3, 1055,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1071,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1057[] = {
+static int parser_action_row1073[] = {
        20,
-       -1, 3, 1056,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1072,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1058[] = {
+static int parser_action_row1074[] = {
        20,
-       -1, 3, 1057,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1073,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1059[] = {
+static int parser_action_row1075[] = {
        20,
-       -1, 3, 1058,
-       12, 0, 786,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1074,
+       12, 0, 795,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1060[] = {
+static int parser_action_row1076[] = {
        5,
-       -1, 3, 1059,
-       12, 0, 1147,
-       47, 0, 1148,
-       80, 0, 1149,
-       81, 0, 1150
+       -1, 3, 1075,
+       12, 0, 1172,
+       47, 0, 1173,
+       80, 0, 1174,
+       81, 0, 1175
 };
-static int parser_action_row1061[] = {
+static int parser_action_row1077[] = {
        1,
-       -1, 1, 375
+       -1, 1, 245
 };
-static int parser_action_row1062[] = {
+static int parser_action_row1078[] = {
+       30,
+       -1, 1, 254,
+       9, 0, 271,
+       12, 0, 25,
+       15, 0, 27,
+       18, 0, 28,
+       24, 0, 32,
+       27, 0, 33,
+       28, 0, 34,
+       29, 0, 35,
+       34, 0, 36,
+       35, 0, 37,
+       36, 0, 38,
+       37, 0, 39,
+       38, 0, 40,
+       39, 0, 41,
+       42, 0, 42,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       51, 0, 47,
+       53, 0, 48,
+       79, 0, 49,
+       80, 0, 50,
+       81, 0, 51,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1079[] = {
+       2,
+       -1, 3, 1078,
+       50, 0, 172
+};
+static int parser_action_row1080[] = {
+       23,
+       -1, 3, 1079,
+       12, 0, 151,
+       24, 0, 152,
+       33, 0, 153,
+       39, 0, 154,
+       41, 0, 155,
+       42, 0, 156,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       49, 0, 157,
+       51, 0, 47,
+       53, 0, 48,
+       65, 0, 158,
+       79, 0, 49,
+       80, 0, 159,
+       81, 0, 160,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1081[] = {
        1,
        -1, 1, 182
 };
-static int parser_action_row1063[] = {
+static int parser_action_row1082[] = {
        1,
        -1, 1, 180
 };
-static int parser_action_row1064[] = {
+static int parser_action_row1083[] = {
        32,
-       -1, 3, 1063,
+       -1, 3, 1082,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -11222,25 +11466,25 @@ static int parser_action_row1064[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1065[] = {
+static int parser_action_row1084[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1066[] = {
+static int parser_action_row1085[] = {
        1,
        -1, 1, 188
 };
-static int parser_action_row1067[] = {
+static int parser_action_row1086[] = {
        3,
-       -1, 3, 1066,
+       -1, 3, 1085,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1068[] = {
+static int parser_action_row1087[] = {
        23,
-       -1, 3, 1067,
+       -1, 3, 1086,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -11264,129 +11508,129 @@ static int parser_action_row1068[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1069[] = {
+static int parser_action_row1088[] = {
        2,
-       -1, 3, 1068,
-       79, 0, 839
+       -1, 3, 1087,
+       79, 0, 847
 };
-static int parser_action_row1070[] = {
+static int parser_action_row1089[] = {
        1,
        -1, 1, 59
 };
-static int parser_action_row1071[] = {
+static int parser_action_row1090[] = {
        1,
-       -1, 1, 674
+       -1, 1, 684
 };
-static int parser_action_row1072[] = {
+static int parser_action_row1091[] = {
        2,
-       -1, 3, 1071,
-       54, 0, 1156
+       -1, 3, 1090,
+       54, 0, 1184
 };
-static int parser_action_row1073[] = {
+static int parser_action_row1092[] = {
        1,
        -1, 1, 53
 };
-static int parser_action_row1074[] = {
+static int parser_action_row1093[] = {
        5,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row1075[] = {
+static int parser_action_row1094[] = {
        2,
-       -1, 3, 1074,
+       -1, 3, 1093,
        56, 0, 275
 };
-static int parser_action_row1076[] = {
+static int parser_action_row1095[] = {
        5,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2,
-       51, 0, 471,
+       51, 0, 474,
        56, 0, 275
 };
-static int parser_action_row1077[] = {
+static int parser_action_row1096[] = {
        2,
-       -1, 3, 1076,
-       15, 0, 1161
+       -1, 3, 1095,
+       15, 0, 1189
 };
-static int parser_action_row1078[] = {
+static int parser_action_row1097[] = {
        8,
        -1, 1, 114,
-       13, 0, 1093,
+       13, 0, 1112,
        17, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
        56, 0, 275,
-       58, 0, 1162
+       58, 0, 1190
 };
-static int parser_action_row1079[] = {
+static int parser_action_row1098[] = {
        3,
        -1, 1, 82,
        56, 0, 275,
-       58, 0, 1165
+       58, 0, 1193
 };
-static int parser_action_row1080[] = {
+static int parser_action_row1099[] = {
        2,
-       -1, 3, 1079,
-       81, 0, 1167
+       -1, 3, 1098,
+       81, 0, 1195
 };
-static int parser_action_row1081[] = {
+static int parser_action_row1100[] = {
        2,
-       -1, 3, 1080,
-       18, 0, 1168
+       -1, 3, 1099,
+       18, 0, 1196
 };
-static int parser_action_row1082[] = {
+static int parser_action_row1101[] = {
        2,
-       -1, 3, 1081,
-       81, 0, 1169
+       -1, 3, 1100,
+       81, 0, 1197
 };
-static int parser_action_row1083[] = {
+static int parser_action_row1102[] = {
        3,
        -1, 1, 83,
        56, 0, 275,
-       58, 0, 1170
+       58, 0, 1198
 };
-static int parser_action_row1084[] = {
+static int parser_action_row1103[] = {
        2,
-       -1, 3, 1083,
-       81, 0, 1172
+       -1, 3, 1102,
+       81, 0, 1200
 };
-static int parser_action_row1085[] = {
+static int parser_action_row1104[] = {
        3,
        -1, 1, 85,
        56, 0, 275,
-       58, 0, 1173
+       58, 0, 1201
 };
-static int parser_action_row1086[] = {
+static int parser_action_row1105[] = {
        3,
-       -1, 3, 1085,
-       14, 0, 1175,
-       15, 0, 1176
+       -1, 3, 1104,
+       14, 0, 1203,
+       15, 0, 1204
 };
-static int parser_action_row1087[] = {
+static int parser_action_row1106[] = {
        2,
-       -1, 3, 1086,
-       58, 0, 1177
+       -1, 3, 1105,
+       58, 0, 1205
 };
-static int parser_action_row1088[] = {
+static int parser_action_row1107[] = {
        1,
        -1, 1, 137
 };
-static int parser_action_row1089[] = {
+static int parser_action_row1108[] = {
        2,
-       -1, 3, 1088,
-       15, 0, 1178
+       -1, 3, 1107,
+       15, 0, 1206
 };
-static int parser_action_row1090[] = {
+static int parser_action_row1109[] = {
        32,
-       -1, 3, 1089,
+       -1, 3, 1108,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -11416,103 +11660,103 @@ static int parser_action_row1090[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1091[] = {
+static int parser_action_row1110[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1092[] = {
+static int parser_action_row1111[] = {
        1,
        -1, 1, 167
 };
-static int parser_action_row1093[] = {
+static int parser_action_row1112[] = {
        3,
        -1, 1, 169,
-       36, 0, 585,
-       78, 0, 586
+       36, 0, 589,
+       78, 0, 590
 };
-static int parser_action_row1094[] = {
+static int parser_action_row1113[] = {
        4,
        -1, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31
 };
-static int parser_action_row1095[] = {
+static int parser_action_row1114[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1096[] = {
+static int parser_action_row1115[] = {
        2,
        -1, 1, 117,
-       58, 0, 1184
+       58, 0, 1212
 };
-static int parser_action_row1097[] = {
+static int parser_action_row1116[] = {
        2,
-       -1, 3, 1096,
-       17, 0, 1185
+       -1, 3, 1115,
+       17, 0, 1213
 };
-static int parser_action_row1098[] = {
+static int parser_action_row1117[] = {
        7,
        -1, 1, 115,
-       13, 0, 1093,
+       13, 0, 1112,
        17, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       58, 0, 1186
+       58, 0, 1214
 };
-static int parser_action_row1099[] = {
+static int parser_action_row1118[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1100[] = {
+static int parser_action_row1119[] = {
        2,
        -1, 1, 89,
-       58, 0, 1189
+       58, 0, 1217
 };
-static int parser_action_row1101[] = {
+static int parser_action_row1120[] = {
        2,
-       -1, 3, 1100,
-       46, 0, 1190
+       -1, 3, 1119,
+       46, 0, 1218
 };
-static int parser_action_row1102[] = {
+static int parser_action_row1121[] = {
        2,
-       -1, 3, 1101,
-       52, 0, 1191
+       -1, 3, 1120,
+       52, 0, 1219
 };
-static int parser_action_row1103[] = {
+static int parser_action_row1122[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1104[] = {
+static int parser_action_row1123[] = {
        2,
-       -1, 3, 1103,
-       46, 0, 1193
+       -1, 3, 1122,
+       46, 0, 1221
 };
-static int parser_action_row1105[] = {
+static int parser_action_row1124[] = {
        2,
-       -1, 3, 1104,
-       52, 0, 1194
+       -1, 3, 1123,
+       52, 0, 1222
 };
-static int parser_action_row1106[] = {
+static int parser_action_row1125[] = {
        1,
        -1, 1, 54
 };
-static int parser_action_row1107[] = {
+static int parser_action_row1126[] = {
        1,
-       -1, 1, 508
+       -1, 1, 516
 };
-static int parser_action_row1108[] = {
+static int parser_action_row1127[] = {
        23,
-       -1, 3, 1107,
+       -1, 3, 1126,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -11528,7 +11772,7 @@ static int parser_action_row1108[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -11536,27 +11780,27 @@ static int parser_action_row1108[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1109[] = {
+static int parser_action_row1128[] = {
        33,
-       -1, 3, 1108,
+       -1, 3, 1127,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 625,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       26, 0, 630,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 629,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       26, 0, 634,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -11564,34 +11808,34 @@ static int parser_action_row1109[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1110[] = {
+static int parser_action_row1129[] = {
        32,
-       -1, 3, 1109,
+       -1, 3, 1128,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 738,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -11599,55 +11843,61 @@ static int parser_action_row1110[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1111[] = {
+static int parser_action_row1130[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1112[] = {
+static int parser_action_row1131[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row1132[] = {
        1,
-       -1, 1, 530
+       -1, 1, 540
 };
-static int parser_action_row1113[] = {
+static int parser_action_row1133[] = {
        2,
        -1, 1, 203,
-       26, 1, 467
+       26, 1, 472
 };
-static int parser_action_row1114[] = {
+static int parser_action_row1134[] = {
        2,
-       -1, 3, 1113,
-       9, 0, 1200
+       -1, 3, 1133,
+       9, 0, 1229
 };
-static int parser_action_row1115[] = {
+static int parser_action_row1135[] = {
        2,
        -1, 1, 236,
-       26, 1, 495
+       26, 1, 500
 };
-static int parser_action_row1116[] = {
+static int parser_action_row1136[] = {
        4,
-       -1, 1, 330,
-       58, 0, 1201,
+       -1, 1, 337,
+       58, 0, 1230,
        59, 0, 195,
        60, 0, 196
 };
-static int parser_action_row1117[] = {
+static int parser_action_row1137[] = {
        3,
        -1, 1, 230,
-       26, 1, 489,
-       78, 0, 446
+       26, 1, 494,
+       78, 0, 449
 };
-static int parser_action_row1118[] = {
+static int parser_action_row1138[] = {
        23,
-       -1, 3, 1117,
+       -1, 3, 1137,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -11663,7 +11913,7 @@ static int parser_action_row1118[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -11671,9 +11921,9 @@ static int parser_action_row1118[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1119[] = {
+static int parser_action_row1139[] = {
        23,
-       -1, 3, 1118,
+       -1, 3, 1138,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -11689,7 +11939,7 @@ static int parser_action_row1119[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -11697,204 +11947,290 @@ static int parser_action_row1119[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1120[] = {
+static int parser_action_row1140[] = {
+       2,
+       -1, 3, 1139,
+       15, 0, 1235
+};
+static int parser_action_row1141[] = {
        1,
-       -1, 1, 284
+       -1, 1, 291
 };
-static int parser_action_row1121[] = {
+static int parser_action_row1142[] = {
        2,
-       -1, 3, 1120,
+       -1, 3, 1141,
        50, 0, 172
 };
-static int parser_action_row1122[] = {
+static int parser_action_row1143[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1123[] = {
+static int parser_action_row1144[] = {
+       30,
+       -1, 1, 254,
+       9, 0, 887,
+       12, 0, 25,
+       15, 0, 27,
+       18, 0, 28,
+       24, 0, 32,
+       27, 0, 33,
+       28, 0, 34,
+       29, 0, 35,
+       34, 0, 36,
+       35, 0, 37,
+       36, 0, 38,
+       37, 0, 39,
+       38, 0, 40,
+       39, 0, 41,
+       42, 0, 42,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       51, 0, 47,
+       53, 0, 48,
+       79, 0, 49,
+       80, 0, 50,
+       81, 0, 51,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1145[] = {
+       1,
+       -1, 1, 508
+};
+static int parser_action_row1146[] = {
        2,
-       -1, 3, 1122,
-       25, 0, 1208
+       -1, 3, 1145,
+       50, 0, 172
 };
-static int parser_action_row1124[] = {
+static int parser_action_row1147[] = {
+       23,
+       -1, 3, 1146,
+       12, 0, 151,
+       24, 0, 152,
+       33, 0, 153,
+       39, 0, 154,
+       41, 0, 155,
+       42, 0, 156,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       49, 0, 157,
+       51, 0, 47,
+       53, 0, 48,
+       65, 0, 158,
+       79, 0, 49,
+       80, 0, 318,
+       81, 0, 160,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1148[] = {
+       2,
+       -1, 3, 1147,
+       25, 0, 1241
+};
+static int parser_action_row1149[] = {
        1,
-       -1, 1, 407
+       -1, 1, 412
 };
-static int parser_action_row1125[] = {
+static int parser_action_row1150[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1126[] = {
+static int parser_action_row1151[] = {
        1,
-       -1, 1, 442
+       -1, 1, 447
 };
-static int parser_action_row1127[] = {
+static int parser_action_row1152[] = {
        2,
-       -1, 3, 1126,
-       63, 0, 1124
+       -1, 3, 1151,
+       63, 0, 1149
 };
-static int parser_action_row1128[] = {
+static int parser_action_row1153[] = {
        5,
-       -1, 3, 1127,
-       12, 0, 1147,
-       47, 0, 1148,
-       80, 0, 1149,
-       81, 0, 1210
+       -1, 3, 1152,
+       12, 0, 1172,
+       47, 0, 1173,
+       80, 0, 1174,
+       81, 0, 1243
 };
-static int parser_action_row1129[] = {
+static int parser_action_row1154[] = {
        1,
-       -1, 1, 415
+       -1, 1, 420
 };
-static int parser_action_row1130[] = {
+static int parser_action_row1155[] = {
        21,
-       -1, 3, 1129,
-       12, 0, 786,
-       33, 0, 788,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1154,
+       12, 0, 795,
+       33, 0, 797,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1131[] = {
+static int parser_action_row1156[] = {
        1,
-       -1, 1, 414
+       -1, 1, 419
 };
-static int parser_action_row1132[] = {
+static int parser_action_row1157[] = {
        3,
-       -1, 1, 425,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 430,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1133[] = {
+static int parser_action_row1158[] = {
        3,
-       -1, 1, 428,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 433,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1134[] = {
+static int parser_action_row1159[] = {
        3,
-       -1, 1, 421,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 426,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1135[] = {
+static int parser_action_row1160[] = {
        1,
-       -1, 1, 430
+       -1, 1, 435
 };
-static int parser_action_row1136[] = {
+static int parser_action_row1161[] = {
        4,
-       -1, 1, 432,
-       66, 0, 947,
-       67, 0, 948,
-       68, 0, 949
+       -1, 1, 437,
+       66, 0, 958,
+       67, 0, 959,
+       68, 0, 960
 };
-static int parser_action_row1137[] = {
+static int parser_action_row1162[] = {
        4,
-       -1, 1, 433,
-       66, 0, 947,
-       67, 0, 948,
-       68, 0, 949
+       -1, 1, 438,
+       66, 0, 958,
+       67, 0, 959,
+       68, 0, 960
 };
-static int parser_action_row1138[] = {
+static int parser_action_row1163[] = {
        3,
-       -1, 1, 420,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 425,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1139[] = {
+static int parser_action_row1164[] = {
        3,
-       -1, 1, 422,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 427,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1140[] = {
+static int parser_action_row1165[] = {
        3,
-       -1, 1, 423,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 428,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1141[] = {
+static int parser_action_row1166[] = {
        3,
-       -1, 1, 424,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 429,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1142[] = {
+static int parser_action_row1167[] = {
        3,
-       -1, 1, 426,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 431,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1143[] = {
+static int parser_action_row1168[] = {
        3,
-       -1, 1, 427,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 432,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1144[] = {
+static int parser_action_row1169[] = {
        3,
-       -1, 1, 429,
-       64, 0, 938,
-       65, 0, 939
+       -1, 1, 434,
+       64, 0, 949,
+       65, 0, 950
 };
-static int parser_action_row1145[] = {
+static int parser_action_row1170[] = {
        1,
-       -1, 1, 435
+       -1, 1, 440
 };
-static int parser_action_row1146[] = {
+static int parser_action_row1171[] = {
        1,
-       -1, 1, 436
+       -1, 1, 441
 };
-static int parser_action_row1147[] = {
+static int parser_action_row1172[] = {
        1,
-       -1, 1, 437
+       -1, 1, 442
 };
-static int parser_action_row1148[] = {
+static int parser_action_row1173[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row1149[] = {
+static int parser_action_row1174[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1150[] = {
+static int parser_action_row1175[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row1151[] = {
+static int parser_action_row1176[] = {
        1,
-       -1, 1, 445
+       -1, 1, 450
 };
-static int parser_action_row1152[] = {
+static int parser_action_row1177[] = {
+       2,
+       -1, 1, 251,
+       9, 0, 412
+};
+static int parser_action_row1178[] = {
+       1,
+       -1, 1, 242
+};
+static int parser_action_row1179[] = {
+       1,
+       -1, 1, 248
+};
+static int parser_action_row1180[] = {
        3,
-       -1, 3, 1151,
+       -1, 3, 1179,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1153[] = {
+static int parser_action_row1181[] = {
        23,
-       -1, 3, 1152,
+       -1, 3, 1180,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -11918,50 +12254,50 @@ static int parser_action_row1153[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1154[] = {
+static int parser_action_row1182[] = {
        1,
        -1, 1, 189
 };
-static int parser_action_row1155[] = {
+static int parser_action_row1183[] = {
        3,
-       -1, 3, 1154,
+       -1, 3, 1182,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1156[] = {
+static int parser_action_row1184[] = {
        1,
        -1, 1, 61
 };
-static int parser_action_row1157[] = {
+static int parser_action_row1185[] = {
        1,
        -1, 1, 60
 };
-static int parser_action_row1158[] = {
+static int parser_action_row1186[] = {
        3,
-       -1, 3, 1157,
-       14, 0, 1218,
-       15, 0, 1219
+       -1, 3, 1185,
+       14, 0, 1251,
+       15, 0, 1252
 };
-static int parser_action_row1159[] = {
+static int parser_action_row1187[] = {
        2,
-       -1, 3, 1158,
-       58, 0, 1220
+       -1, 3, 1186,
+       58, 0, 1253
 };
-static int parser_action_row1160[] = {
+static int parser_action_row1188[] = {
        1,
        -1, 1, 138
 };
-static int parser_action_row1161[] = {
+static int parser_action_row1189[] = {
        2,
-       -1, 3, 1160,
-       15, 0, 1221
+       -1, 3, 1188,
+       15, 0, 1254
 };
-static int parser_action_row1162[] = {
+static int parser_action_row1190[] = {
        32,
-       -1, 3, 1161,
+       -1, 3, 1189,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -11991,96 +12327,96 @@ static int parser_action_row1162[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1163[] = {
+static int parser_action_row1191[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1164[] = {
+static int parser_action_row1192[] = {
        2,
        -1, 1, 118,
-       58, 0, 1224
+       58, 0, 1257
 };
-static int parser_action_row1165[] = {
+static int parser_action_row1193[] = {
        7,
        -1, 1, 116,
-       13, 0, 1093,
+       13, 0, 1112,
        17, 1, 145,
        21, 0, 29,
        22, 0, 30,
        23, 0, 31,
-       58, 0, 1225
+       58, 0, 1258
 };
-static int parser_action_row1166[] = {
+static int parser_action_row1194[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1167[] = {
+static int parser_action_row1195[] = {
        2,
        -1, 1, 90,
-       58, 0, 1228
+       58, 0, 1261
 };
-static int parser_action_row1168[] = {
+static int parser_action_row1196[] = {
        3,
        -1, 1, 84,
        56, 0, 275,
-       58, 0, 1229
+       58, 0, 1262
 };
-static int parser_action_row1169[] = {
+static int parser_action_row1197[] = {
        2,
-       -1, 3, 1168,
-       81, 0, 1231
+       -1, 3, 1196,
+       81, 0, 1264
 };
-static int parser_action_row1170[] = {
+static int parser_action_row1198[] = {
        3,
        -1, 1, 87,
        56, 0, 275,
-       58, 0, 1232
+       58, 0, 1265
 };
-static int parser_action_row1171[] = {
+static int parser_action_row1199[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1172[] = {
+static int parser_action_row1200[] = {
        2,
        -1, 1, 91,
-       58, 0, 1235
+       58, 0, 1268
 };
-static int parser_action_row1173[] = {
+static int parser_action_row1201[] = {
        3,
        -1, 1, 86,
        56, 0, 275,
-       58, 0, 1236
+       58, 0, 1269
 };
-static int parser_action_row1174[] = {
+static int parser_action_row1202[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1175[] = {
+static int parser_action_row1203[] = {
        2,
        -1, 1, 93,
-       58, 0, 1239
+       58, 0, 1272
 };
-static int parser_action_row1176[] = {
+static int parser_action_row1204[] = {
        4,
-       -1, 3, 1175,
-       5, 0, 1240,
-       19, 0, 1241,
-       20, 0, 1242
+       -1, 3, 1203,
+       5, 0, 1273,
+       19, 0, 1274,
+       20, 0, 1275
 };
-static int parser_action_row1177[] = {
+static int parser_action_row1205[] = {
        32,
-       -1, 3, 1176,
+       -1, 3, 1204,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -12110,18 +12446,18 @@ static int parser_action_row1177[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1178[] = {
+static int parser_action_row1206[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1179[] = {
+static int parser_action_row1207[] = {
        32,
-       -1, 3, 1178,
+       -1, 3, 1206,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -12151,29 +12487,29 @@ static int parser_action_row1179[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1180[] = {
+static int parser_action_row1208[] = {
        2,
        -1, 1, 129,
-       9, 0, 1246
+       9, 0, 1279
 };
-static int parser_action_row1181[] = {
+static int parser_action_row1209[] = {
        1,
        -1, 1, 168
 };
-static int parser_action_row1182[] = {
+static int parser_action_row1210[] = {
        3,
        -1, 1, 170,
-       36, 0, 585,
-       78, 0, 586
+       36, 0, 589,
+       78, 0, 590
 };
-static int parser_action_row1183[] = {
+static int parser_action_row1211[] = {
        2,
-       -1, 3, 1182,
-       17, 0, 1247
+       -1, 3, 1210,
+       17, 0, 1280
 };
-static int parser_action_row1184[] = {
+static int parser_action_row1212[] = {
        23,
-       -1, 3, 1183,
+       -1, 3, 1211,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12197,30 +12533,30 @@ static int parser_action_row1184[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1185[] = {
+static int parser_action_row1213[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1186[] = {
+static int parser_action_row1214[] = {
        1,
        -1, 1, 143
 };
-static int parser_action_row1187[] = {
+static int parser_action_row1215[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1188[] = {
+static int parser_action_row1216[] = {
        2,
        -1, 1, 119,
-       58, 0, 1251
+       58, 0, 1284
 };
-static int parser_action_row1189[] = {
+static int parser_action_row1217[] = {
        23,
-       -1, 3, 1188,
+       -1, 3, 1216,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12244,25 +12580,25 @@ static int parser_action_row1189[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1190[] = {
+static int parser_action_row1218[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1191[] = {
+static int parser_action_row1219[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1192[] = {
+static int parser_action_row1220[] = {
        1,
-       -1, 1, 351
+       -1, 1, 358
 };
-static int parser_action_row1193[] = {
+static int parser_action_row1221[] = {
        21,
-       -1, 3, 1192,
+       -1, 3, 1220,
        12, 0, 104,
        24, 0, 105,
        33, 0, 106,
@@ -12284,37 +12620,42 @@ static int parser_action_row1193[] = {
        85, 0, 122,
        86, 0, 56
 };
-static int parser_action_row1194[] = {
+static int parser_action_row1222[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1195[] = {
+static int parser_action_row1223[] = {
        1,
-       -1, 1, 600
+       -1, 1, 610
 };
-static int parser_action_row1196[] = {
+static int parser_action_row1224[] = {
        1,
-       -1, 1, 509
+       -1, 1, 517
 };
-static int parser_action_row1197[] = {
+static int parser_action_row1225[] = {
        2,
-       -1, 3, 1196,
-       26, 0, 1257
+       -1, 3, 1224,
+       26, 0, 1290
 };
-static int parser_action_row1198[] = {
+static int parser_action_row1226[] = {
        1,
-       -1, 1, 526
+       -1, 1, 534
 };
-static int parser_action_row1199[] = {
+static int parser_action_row1227[] = {
        2,
-       -1, 3, 1198,
+       -1, 3, 1226,
        50, 0, 172
 };
-static int parser_action_row1200[] = {
+static int parser_action_row1228[] = {
+       2,
+       -1, 3, 1227,
+       30, 0, 1292
+};
+static int parser_action_row1229[] = {
        23,
-       -1, 3, 1199,
+       -1, 3, 1228,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12338,14 +12679,14 @@ static int parser_action_row1200[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1201[] = {
+static int parser_action_row1230[] = {
        2,
        -1, 1, 202,
-       26, 1, 466
+       26, 1, 471
 };
-static int parser_action_row1202[] = {
+static int parser_action_row1231[] = {
        23,
-       -1, 3, 1201,
+       -1, 3, 1230,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12361,7 +12702,7 @@ static int parser_action_row1202[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -12369,9 +12710,9 @@ static int parser_action_row1202[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1203[] = {
+static int parser_action_row1232[] = {
        23,
-       -1, 3, 1202,
+       -1, 3, 1231,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12387,7 +12728,7 @@ static int parser_action_row1203[] = {
        53, 0, 48,
        65, 0, 158,
        79, 0, 49,
-       80, 0, 316,
+       80, 0, 318,
        81, 0, 160,
        82, 0, 52,
        83, 0, 53,
@@ -12395,25 +12736,60 @@ static int parser_action_row1203[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1204[] = {
+static int parser_action_row1233[] = {
        1,
-       -1, 1, 491
+       -1, 1, 496
 };
-static int parser_action_row1205[] = {
+static int parser_action_row1234[] = {
        1,
-       -1, 1, 510
+       -1, 1, 518
 };
-static int parser_action_row1206[] = {
+static int parser_action_row1235[] = {
        1,
-       -1, 1, 515
+       -1, 1, 523
 };
-static int parser_action_row1207[] = {
+static int parser_action_row1236[] = {
+       32,
+       -1, 3, 1235,
+       0, 0, 1,
+       1, 0, 2,
+       9, 0, 137,
+       12, 0, 25,
+       15, 0, 27,
+       18, 0, 28,
+       24, 0, 32,
+       27, 0, 33,
+       28, 0, 34,
+       29, 0, 35,
+       34, 0, 36,
+       35, 0, 37,
+       36, 0, 38,
+       37, 0, 39,
+       38, 0, 40,
+       39, 0, 41,
+       42, 0, 42,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       51, 0, 47,
+       53, 0, 48,
+       79, 0, 49,
+       80, 0, 50,
+       81, 0, 51,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1237[] = {
        1,
-       -1, 1, 283
+       -1, 1, 289
 };
-static int parser_action_row1208[] = {
+static int parser_action_row1238[] = {
        23,
-       -1, 3, 1207,
+       -1, 3, 1237,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12437,66 +12813,80 @@ static int parser_action_row1208[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1209[] = {
+static int parser_action_row1239[] = {
+       2,
+       -1, 1, 251,
+       9, 0, 1015
+};
+static int parser_action_row1240[] = {
+       2,
+       -1, 1, 242,
+       26, 1, 505
+};
+static int parser_action_row1241[] = {
+       1,
+       -1, 1, 511
+};
+static int parser_action_row1242[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1210[] = {
+static int parser_action_row1243[] = {
        2,
-       -1, 3, 1209,
-       80, 0, 1264
+       -1, 3, 1242,
+       80, 0, 1300
 };
-static int parser_action_row1211[] = {
+static int parser_action_row1244[] = {
        2,
-       -1, 1, 443,
-       63, 1, 445
+       -1, 1, 448,
+       63, 1, 450
 };
-static int parser_action_row1212[] = {
+static int parser_action_row1245[] = {
        1,
-       -1, 1, 416
+       -1, 1, 421
 };
-static int parser_action_row1213[] = {
+static int parser_action_row1246[] = {
        1,
-       -1, 1, 451
+       -1, 1, 456
 };
-static int parser_action_row1214[] = {
+static int parser_action_row1247[] = {
        2,
-       -1, 3, 1213,
-       51, 0, 1265
+       -1, 3, 1246,
+       51, 0, 1301
 };
-static int parser_action_row1215[] = {
+static int parser_action_row1248[] = {
        1,
-       -1, 1, 447
+       -1, 1, 452
 };
-static int parser_action_row1216[] = {
+static int parser_action_row1249[] = {
        1,
        -1, 1, 190
 };
-static int parser_action_row1217[] = {
+static int parser_action_row1250[] = {
        3,
-       -1, 3, 1216,
+       -1, 3, 1249,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1218[] = {
+static int parser_action_row1251[] = {
        1,
        -1, 1, 191
 };
-static int parser_action_row1219[] = {
+static int parser_action_row1252[] = {
        4,
-       -1, 3, 1218,
-       5, 0, 1267,
-       19, 0, 1268,
-       20, 0, 1269
+       -1, 3, 1251,
+       5, 0, 1303,
+       19, 0, 1304,
+       20, 0, 1305
 };
-static int parser_action_row1220[] = {
+static int parser_action_row1253[] = {
        32,
-       -1, 3, 1219,
+       -1, 3, 1252,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -12526,18 +12916,18 @@ static int parser_action_row1220[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1221[] = {
+static int parser_action_row1254[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1222[] = {
+static int parser_action_row1255[] = {
        32,
-       -1, 3, 1221,
+       -1, 3, 1254,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 453,
+       9, 0, 456,
        12, 0, 25,
        15, 0, 27,
        18, 0, 28,
@@ -12567,14 +12957,14 @@ static int parser_action_row1222[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1223[] = {
+static int parser_action_row1256[] = {
        2,
        -1, 1, 130,
-       9, 0, 1273
+       9, 0, 1309
 };
-static int parser_action_row1224[] = {
+static int parser_action_row1257[] = {
        23,
-       -1, 3, 1223,
+       -1, 3, 1256,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12598,26 +12988,26 @@ static int parser_action_row1224[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1225[] = {
+static int parser_action_row1258[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1226[] = {
+static int parser_action_row1259[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1227[] = {
+static int parser_action_row1260[] = {
        2,
        -1, 1, 120,
-       58, 0, 1277
+       58, 0, 1313
 };
-static int parser_action_row1228[] = {
+static int parser_action_row1261[] = {
        23,
-       -1, 3, 1227,
+       -1, 3, 1260,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12641,43 +13031,43 @@ static int parser_action_row1228[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1229[] = {
+static int parser_action_row1262[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1230[] = {
+static int parser_action_row1263[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1231[] = {
+static int parser_action_row1264[] = {
        2,
        -1, 1, 92,
-       58, 0, 1281
+       58, 0, 1317
 };
-static int parser_action_row1232[] = {
+static int parser_action_row1265[] = {
        3,
        -1, 1, 88,
        56, 0, 275,
-       58, 0, 1282
+       58, 0, 1318
 };
-static int parser_action_row1233[] = {
+static int parser_action_row1266[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1234[] = {
+static int parser_action_row1267[] = {
        2,
        -1, 1, 95,
-       58, 0, 1285
+       58, 0, 1321
 };
-static int parser_action_row1235[] = {
+static int parser_action_row1268[] = {
        23,
-       -1, 3, 1234,
+       -1, 3, 1267,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12701,26 +13091,26 @@ static int parser_action_row1235[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1236[] = {
+static int parser_action_row1269[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1237[] = {
+static int parser_action_row1270[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1238[] = {
+static int parser_action_row1271[] = {
        2,
        -1, 1, 94,
-       58, 0, 1289
+       58, 0, 1325
 };
-static int parser_action_row1239[] = {
+static int parser_action_row1272[] = {
        23,
-       -1, 3, 1238,
+       -1, 3, 1271,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12744,33 +13134,33 @@ static int parser_action_row1239[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1240[] = {
+static int parser_action_row1273[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1241[] = {
+static int parser_action_row1274[] = {
        1,
        -1, 1, 73
 };
-static int parser_action_row1242[] = {
+static int parser_action_row1275[] = {
        1,
        -1, 1, 75
 };
-static int parser_action_row1243[] = {
+static int parser_action_row1276[] = {
        2,
        -1, 1, 77,
-       85, 0, 1292
+       85, 0, 1328
 };
-static int parser_action_row1244[] = {
+static int parser_action_row1277[] = {
        2,
        -1, 1, 67,
-       9, 0, 1293
+       9, 0, 1329
 };
-static int parser_action_row1245[] = {
+static int parser_action_row1278[] = {
        23,
-       -1, 3, 1244,
+       -1, 3, 1277,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12794,26 +13184,26 @@ static int parser_action_row1245[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1246[] = {
+static int parser_action_row1279[] = {
        2,
        -1, 1, 131,
-       9, 0, 1295
+       9, 0, 1331
 };
-static int parser_action_row1247[] = {
+static int parser_action_row1280[] = {
        1,
        -1, 1, 133
 };
-static int parser_action_row1248[] = {
+static int parser_action_row1281[] = {
        1,
        -1, 1, 144
 };
-static int parser_action_row1249[] = {
+static int parser_action_row1282[] = {
        1,
        -1, 1, 121
 };
-static int parser_action_row1250[] = {
+static int parser_action_row1283[] = {
        23,
-       -1, 3, 1249,
+       -1, 3, 1282,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12837,9 +13227,9 @@ static int parser_action_row1250[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1251[] = {
+static int parser_action_row1284[] = {
        23,
-       -1, 3, 1250,
+       -1, 3, 1283,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12863,19 +13253,19 @@ static int parser_action_row1251[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1252[] = {
+static int parser_action_row1285[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1253[] = {
+static int parser_action_row1286[] = {
        1,
        -1, 1, 97
 };
-static int parser_action_row1254[] = {
+static int parser_action_row1287[] = {
        23,
-       -1, 3, 1253,
+       -1, 3, 1286,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12899,40 +13289,40 @@ static int parser_action_row1254[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1255[] = {
+static int parser_action_row1288[] = {
        2,
-       -1, 3, 1254,
-       52, 0, 1300
+       -1, 3, 1287,
+       52, 0, 1336
 };
-static int parser_action_row1256[] = {
+static int parser_action_row1289[] = {
        1,
-       -1, 1, 548
+       -1, 1, 558
 };
-static int parser_action_row1257[] = {
+static int parser_action_row1290[] = {
        2,
-       -1, 3, 1256,
-       52, 0, 1301
+       -1, 3, 1289,
+       52, 0, 1337
 };
-static int parser_action_row1258[] = {
+static int parser_action_row1291[] = {
        32,
-       -1, 3, 1257,
+       -1, 3, 1290,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 1010,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 1023,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -12940,40 +13330,55 @@ static int parser_action_row1258[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1259[] = {
+static int parser_action_row1292[] = {
        2,
-       -1, 1, 281,
-       26, 1, 525
+       -1, 1, 286,
+       26, 1, 533
 };
-static int parser_action_row1260[] = {
+static int parser_action_row1293[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1261[] = {
+static int parser_action_row1294[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row1295[] = {
        1,
-       -1, 1, 512
+       -1, 1, 520
 };
-static int parser_action_row1262[] = {
+static int parser_action_row1296[] = {
        1,
-       -1, 1, 517
+       -1, 1, 525
 };
-static int parser_action_row1263[] = {
+static int parser_action_row1297[] = {
        1,
-       -1, 1, 295
+       -1, 1, 290
 };
-static int parser_action_row1264[] = {
+static int parser_action_row1298[] = {
+       2,
+       -1, 3, 1297,
+       50, 0, 172
+};
+static int parser_action_row1299[] = {
+       1,
+       -1, 1, 302
+};
+static int parser_action_row1300[] = {
        23,
-       -1, 3, 1263,
+       -1, 3, 1299,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -12997,42 +13402,42 @@ static int parser_action_row1264[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1265[] = {
+static int parser_action_row1301[] = {
        2,
-       -1, 1, 363,
+       -1, 1, 370,
        51, 0, 235
 };
-static int parser_action_row1266[] = {
+static int parser_action_row1302[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1267[] = {
+static int parser_action_row1303[] = {
        1,
        -1, 1, 192
 };
-static int parser_action_row1268[] = {
+static int parser_action_row1304[] = {
        1,
        -1, 1, 74
 };
-static int parser_action_row1269[] = {
+static int parser_action_row1305[] = {
        1,
        -1, 1, 76
 };
-static int parser_action_row1270[] = {
+static int parser_action_row1306[] = {
        2,
        -1, 1, 78,
-       85, 0, 1307
+       85, 0, 1345
 };
-static int parser_action_row1271[] = {
+static int parser_action_row1307[] = {
        2,
        -1, 1, 68,
-       9, 0, 1308
+       9, 0, 1346
 };
-static int parser_action_row1272[] = {
+static int parser_action_row1308[] = {
        23,
-       -1, 3, 1271,
+       -1, 3, 1307,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13056,22 +13461,22 @@ static int parser_action_row1272[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1273[] = {
+static int parser_action_row1309[] = {
        2,
        -1, 1, 132,
-       9, 0, 1310
+       9, 0, 1348
 };
-static int parser_action_row1274[] = {
+static int parser_action_row1310[] = {
        1,
        -1, 1, 134
 };
-static int parser_action_row1275[] = {
+static int parser_action_row1311[] = {
        1,
        -1, 1, 122
 };
-static int parser_action_row1276[] = {
+static int parser_action_row1312[] = {
        23,
-       -1, 3, 1275,
+       -1, 3, 1311,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13095,9 +13500,9 @@ static int parser_action_row1276[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1277[] = {
+static int parser_action_row1313[] = {
        23,
-       -1, 3, 1276,
+       -1, 3, 1312,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13121,19 +13526,19 @@ static int parser_action_row1277[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1278[] = {
+static int parser_action_row1314[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1279[] = {
+static int parser_action_row1315[] = {
        1,
        -1, 1, 98
 };
-static int parser_action_row1280[] = {
+static int parser_action_row1316[] = {
        23,
-       -1, 3, 1279,
+       -1, 3, 1315,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13157,9 +13562,9 @@ static int parser_action_row1280[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1281[] = {
+static int parser_action_row1317[] = {
        23,
-       -1, 3, 1280,
+       -1, 3, 1316,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13183,26 +13588,26 @@ static int parser_action_row1281[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1282[] = {
+static int parser_action_row1318[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1283[] = {
+static int parser_action_row1319[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1284[] = {
+static int parser_action_row1320[] = {
        2,
        -1, 1, 96,
-       58, 0, 1318
+       58, 0, 1356
 };
-static int parser_action_row1285[] = {
+static int parser_action_row1321[] = {
        23,
-       -1, 3, 1284,
+       -1, 3, 1320,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13226,19 +13631,19 @@ static int parser_action_row1285[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1286[] = {
+static int parser_action_row1322[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1287[] = {
+static int parser_action_row1323[] = {
        1,
        -1, 1, 99
 };
-static int parser_action_row1288[] = {
+static int parser_action_row1324[] = {
        23,
-       -1, 3, 1287,
+       -1, 3, 1323,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13262,9 +13667,9 @@ static int parser_action_row1288[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1289[] = {
+static int parser_action_row1325[] = {
        23,
-       -1, 3, 1288,
+       -1, 3, 1324,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13288,19 +13693,19 @@ static int parser_action_row1289[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1290[] = {
+static int parser_action_row1326[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1291[] = {
+static int parser_action_row1327[] = {
        1,
        -1, 1, 101
 };
-static int parser_action_row1292[] = {
+static int parser_action_row1328[] = {
        23,
-       -1, 3, 1291,
+       -1, 3, 1327,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13324,33 +13729,33 @@ static int parser_action_row1292[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1293[] = {
+static int parser_action_row1329[] = {
        1,
        -1, 1, 79
 };
-static int parser_action_row1294[] = {
+static int parser_action_row1330[] = {
        1,
        -1, 1, 69
 };
-static int parser_action_row1295[] = {
+static int parser_action_row1331[] = {
        1,
        -1, 1, 71
 };
-static int parser_action_row1296[] = {
+static int parser_action_row1332[] = {
        1,
        -1, 1, 135
 };
-static int parser_action_row1297[] = {
+static int parser_action_row1333[] = {
        1,
        -1, 1, 125
 };
-static int parser_action_row1298[] = {
+static int parser_action_row1334[] = {
        1,
        -1, 1, 123
 };
-static int parser_action_row1299[] = {
+static int parser_action_row1335[] = {
        23,
-       -1, 3, 1298,
+       -1, 3, 1334,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13374,71 +13779,101 @@ static int parser_action_row1299[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1300[] = {
+static int parser_action_row1336[] = {
        1,
        -1, 1, 105
 };
-static int parser_action_row1301[] = {
+static int parser_action_row1337[] = {
        1,
-       -1, 1, 352
+       -1, 1, 359
 };
-static int parser_action_row1302[] = {
+static int parser_action_row1338[] = {
        1,
-       -1, 1, 601
+       -1, 1, 611
 };
-static int parser_action_row1303[] = {
+static int parser_action_row1339[] = {
        1,
-       -1, 1, 522
+       -1, 1, 530
 };
-static int parser_action_row1304[] = {
+static int parser_action_row1340[] = {
+       23,
+       -1, 3, 1339,
+       12, 0, 151,
+       24, 0, 152,
+       33, 0, 153,
+       39, 0, 154,
+       41, 0, 155,
+       42, 0, 156,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       49, 0, 157,
+       51, 0, 47,
+       53, 0, 48,
+       65, 0, 158,
+       79, 0, 49,
+       80, 0, 186,
+       81, 0, 160,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1341[] = {
        2,
-       -1, 3, 1303,
-       15, 0, 1326
+       -1, 3, 1340,
+       15, 0, 1365
 };
-static int parser_action_row1305[] = {
+static int parser_action_row1342[] = {
+       1,
+       -1, 1, 288
+};
+static int parser_action_row1343[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1306[] = {
+static int parser_action_row1344[] = {
        1,
-       -1, 1, 453
+       -1, 1, 458
 };
-static int parser_action_row1307[] = {
+static int parser_action_row1345[] = {
        4,
-       -1, 3, 1306,
-       33, 0, 1328,
-       48, 0, 322,
-       79, 0, 323
+       -1, 3, 1344,
+       33, 0, 1367,
+       48, 0, 324,
+       79, 0, 325
 };
-static int parser_action_row1308[] = {
+static int parser_action_row1346[] = {
        1,
        -1, 1, 80
 };
-static int parser_action_row1309[] = {
+static int parser_action_row1347[] = {
        1,
        -1, 1, 70
 };
-static int parser_action_row1310[] = {
+static int parser_action_row1348[] = {
        1,
        -1, 1, 72
 };
-static int parser_action_row1311[] = {
+static int parser_action_row1349[] = {
        1,
        -1, 1, 136
 };
-static int parser_action_row1312[] = {
+static int parser_action_row1350[] = {
        1,
        -1, 1, 126
 };
-static int parser_action_row1313[] = {
+static int parser_action_row1351[] = {
        1,
        -1, 1, 124
 };
-static int parser_action_row1314[] = {
+static int parser_action_row1352[] = {
        23,
-       -1, 3, 1313,
+       -1, 3, 1351,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13462,17 +13897,17 @@ static int parser_action_row1314[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1315[] = {
+static int parser_action_row1353[] = {
        1,
        -1, 1, 106
 };
-static int parser_action_row1316[] = {
+static int parser_action_row1354[] = {
        1,
        -1, 1, 100
 };
-static int parser_action_row1317[] = {
+static int parser_action_row1355[] = {
        23,
-       -1, 3, 1316,
+       -1, 3, 1354,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13496,9 +13931,9 @@ static int parser_action_row1317[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1318[] = {
+static int parser_action_row1356[] = {
        23,
-       -1, 3, 1317,
+       -1, 3, 1355,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13522,19 +13957,19 @@ static int parser_action_row1318[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1319[] = {
+static int parser_action_row1357[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1320[] = {
+static int parser_action_row1358[] = {
        1,
        -1, 1, 103
 };
-static int parser_action_row1321[] = {
+static int parser_action_row1359[] = {
        23,
-       -1, 3, 1320,
+       -1, 3, 1358,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13558,17 +13993,17 @@ static int parser_action_row1321[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1322[] = {
+static int parser_action_row1360[] = {
        1,
        -1, 1, 107
 };
-static int parser_action_row1323[] = {
+static int parser_action_row1361[] = {
        1,
        -1, 1, 102
 };
-static int parser_action_row1324[] = {
+static int parser_action_row1362[] = {
        23,
-       -1, 3, 1323,
+       -1, 3, 1361,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13592,34 +14027,40 @@ static int parser_action_row1324[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1325[] = {
+static int parser_action_row1363[] = {
        1,
        -1, 1, 109
 };
-static int parser_action_row1326[] = {
+static int parser_action_row1364[] = {
        1,
        -1, 1, 127
 };
-static int parser_action_row1327[] = {
+static int parser_action_row1365[] = {
+       3,
+       -1, 1, 391,
+       0, 0, 1,
+       1, 0, 2
+};
+static int parser_action_row1366[] = {
        32,
-       -1, 3, 1326,
+       -1, 3, 1365,
        0, 0, 1,
        1, 0, 2,
-       9, 0, 738,
-       12, 0, 626,
-       15, 0, 627,
-       18, 0, 628,
-       24, 0, 629,
-       27, 0, 631,
-       28, 0, 632,
-       29, 0, 633,
-       34, 0, 634,
-       35, 0, 635,
-       36, 0, 636,
-       37, 0, 637,
-       38, 0, 638,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
        39, 0, 41,
-       42, 0, 639,
+       42, 0, 643,
        43, 0, 43,
        44, 0, 44,
        45, 0, 45,
@@ -13627,46 +14068,46 @@ static int parser_action_row1327[] = {
        51, 0, 47,
        53, 0, 48,
        79, 0, 49,
-       80, 0, 640,
-       81, 0, 641,
+       80, 0, 644,
+       81, 0, 645,
        82, 0, 52,
        83, 0, 53,
        84, 0, 54,
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1328[] = {
+static int parser_action_row1367[] = {
        2,
-       -1, 3, 1327,
-       26, 0, 1338
+       -1, 3, 1366,
+       26, 0, 1378
 };
-static int parser_action_row1329[] = {
+static int parser_action_row1368[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1330[] = {
+static int parser_action_row1369[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1331[] = {
+static int parser_action_row1370[] = {
        1,
        -1, 1, 128
 };
-static int parser_action_row1332[] = {
+static int parser_action_row1371[] = {
        1,
        -1, 1, 108
 };
-static int parser_action_row1333[] = {
+static int parser_action_row1372[] = {
        1,
        -1, 1, 104
 };
-static int parser_action_row1334[] = {
+static int parser_action_row1373[] = {
        23,
-       -1, 3, 1333,
+       -1, 3, 1372,
        12, 0, 151,
        24, 0, 152,
        33, 0, 153,
@@ -13690,95 +14131,149 @@ static int parser_action_row1334[] = {
        85, 0, 55,
        86, 0, 56
 };
-static int parser_action_row1335[] = {
+static int parser_action_row1374[] = {
        1,
        -1, 1, 111
 };
-static int parser_action_row1336[] = {
+static int parser_action_row1375[] = {
        1,
        -1, 1, 110
 };
-static int parser_action_row1337[] = {
+static int parser_action_row1376[] = {
+       2,
+       -1, 3, 1375,
+       15, 0, 1382
+};
+static int parser_action_row1377[] = {
        1,
-       -1, 1, 528
+       -1, 1, 538
 };
-static int parser_action_row1338[] = {
+static int parser_action_row1378[] = {
        2,
-       -1, 3, 1337,
+       -1, 3, 1377,
        50, 0, 172
 };
-static int parser_action_row1339[] = {
+static int parser_action_row1379[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1340[] = {
+static int parser_action_row1380[] = {
        2,
-       -1, 3, 1339,
-       46, 0, 1344
+       -1, 3, 1379,
+       46, 0, 1385
 };
-static int parser_action_row1341[] = {
+static int parser_action_row1381[] = {
        2,
-       -1, 3, 1340,
-       52, 0, 1345
+       -1, 3, 1380,
+       52, 0, 1386
 };
-static int parser_action_row1342[] = {
+static int parser_action_row1382[] = {
        1,
        -1, 1, 112
 };
-static int parser_action_row1343[] = {
+static int parser_action_row1383[] = {
+       32,
+       -1, 3, 1382,
+       0, 0, 1,
+       1, 0, 2,
+       9, 0, 744,
+       12, 0, 630,
+       15, 0, 631,
+       18, 0, 632,
+       24, 0, 633,
+       27, 0, 635,
+       28, 0, 636,
+       29, 0, 637,
+       34, 0, 638,
+       35, 0, 639,
+       36, 0, 640,
+       37, 0, 641,
+       38, 0, 642,
+       39, 0, 41,
+       42, 0, 643,
+       43, 0, 43,
+       44, 0, 44,
+       45, 0, 45,
+       46, 0, 46,
+       51, 0, 47,
+       53, 0, 48,
+       79, 0, 49,
+       80, 0, 644,
+       81, 0, 645,
+       82, 0, 52,
+       83, 0, 53,
+       84, 0, 54,
+       85, 0, 55,
+       86, 0, 56
+};
+static int parser_action_row1384[] = {
        2,
-       -1, 1, 283,
-       26, 1, 527
+       -1, 1, 289,
+       26, 1, 536
 };
-static int parser_action_row1344[] = {
+static int parser_action_row1385[] = {
        22,
-       -1, 3, 1343,
-       12, 0, 786,
-       24, 0, 787,
-       33, 0, 788,
-       39, 0, 789,
-       41, 0, 790,
-       42, 0, 791,
-       43, 0, 792,
-       44, 0, 793,
-       45, 0, 794,
-       46, 0, 795,
-       49, 0, 796,
-       51, 0, 797,
-       65, 0, 798,
+       -1, 3, 1384,
+       12, 0, 795,
+       24, 0, 796,
+       33, 0, 797,
+       39, 0, 798,
+       41, 0, 799,
+       42, 0, 800,
+       43, 0, 801,
+       44, 0, 802,
+       45, 0, 803,
+       46, 0, 804,
+       49, 0, 805,
+       51, 0, 806,
+       65, 0, 807,
        79, 0, 49,
-       80, 0, 799,
-       81, 0, 800,
-       82, 0, 801,
-       83, 0, 802,
-       84, 0, 803,
-       85, 0, 804,
+       80, 0, 808,
+       81, 0, 809,
+       82, 0, 810,
+       83, 0, 811,
+       84, 0, 812,
+       85, 0, 813,
        86, 0, 56
 };
-static int parser_action_row1345[] = {
+static int parser_action_row1386[] = {
        3,
-       -1, 1, 386,
+       -1, 1, 391,
        0, 0, 1,
        1, 0, 2
 };
-static int parser_action_row1346[] = {
+static int parser_action_row1387[] = {
        1,
-       -1, 1, 464
+       -1, 1, 469
 };
-static int parser_action_row1347[] = {
+static int parser_action_row1388[] = {
        1,
-       -1, 1, 412
+       -1, 1, 537
 };
-static int parser_action_row1348[] = {
+static int parser_action_row1389[] = {
        2,
-       -1, 3, 1347,
-       52, 0, 1348
+       -1, 3, 1388,
+       50, 0, 172
 };
-static int parser_action_row1349[] = {
+static int parser_action_row1390[] = {
        1,
-       -1, 1, 465
+       -1, 1, 417
+};
+static int parser_action_row1391[] = {
+       2,
+       -1, 3, 1390,
+       52, 0, 1392
+};
+static int parser_action_row1392[] = {
+       2,
+       -1, 1, 288,
+       26, 1, 535
+};
+static int parser_action_row1393[] = {
+       1,
+       -1, 1, 470
 };
 
 const int* const parser_action_table[] = {
@@ -15130,7 +15625,51 @@ const int* const parser_action_table[] = {
        parser_action_row1346,
        parser_action_row1347,
        parser_action_row1348,
-       parser_action_row1349
+       parser_action_row1349,
+       parser_action_row1350,
+       parser_action_row1351,
+       parser_action_row1352,
+       parser_action_row1353,
+       parser_action_row1354,
+       parser_action_row1355,
+       parser_action_row1356,
+       parser_action_row1357,
+       parser_action_row1358,
+       parser_action_row1359,
+       parser_action_row1360,
+       parser_action_row1361,
+       parser_action_row1362,
+       parser_action_row1363,
+       parser_action_row1364,
+       parser_action_row1365,
+       parser_action_row1366,
+       parser_action_row1367,
+       parser_action_row1368,
+       parser_action_row1369,
+       parser_action_row1370,
+       parser_action_row1371,
+       parser_action_row1372,
+       parser_action_row1373,
+       parser_action_row1374,
+       parser_action_row1375,
+       parser_action_row1376,
+       parser_action_row1377,
+       parser_action_row1378,
+       parser_action_row1379,
+       parser_action_row1380,
+       parser_action_row1381,
+       parser_action_row1382,
+       parser_action_row1383,
+       parser_action_row1384,
+       parser_action_row1385,
+       parser_action_row1386,
+       parser_action_row1387,
+       parser_action_row1388,
+       parser_action_row1389,
+       parser_action_row1390,
+       parser_action_row1391,
+       parser_action_row1392,
+       parser_action_row1393
 };
 
 static int parser_goto_row1[] = {
@@ -15163,8 +15702,8 @@ static int parser_goto_row4[] = {
        97, 230,
        98, 232,
        100, 233,
-       224, 373,
-       231, 375
+       224, 375,
+       231, 377
 };
 static int parser_goto_row5[] = {
        1,
@@ -15185,338 +15724,352 @@ static int parser_goto_row7[] = {
 };
 static int parser_goto_row8[] = {
        2,
-       -1, 591,
-       521, 620
+       -1, 595,
+       524, 624
 };
 static int parser_goto_row9[] = {
        2,
-       -1, 967,
-       969, 1070
+       -1, 979,
+       981, 1089
 };
 static int parser_goto_row10[] = {
        2,
-       -1, 840,
-       1068, 1155
+       -1, 848,
+       1087, 1183
 };
 static int parser_goto_row11[] = {
        5,
-       -1, 592,
-       596, 710,
-       622, 710,
-       698, 710,
-       731, 710
+       -1, 596,
+       600, 716,
+       626, 716,
+       704, 716,
+       737, 716
 };
 static int parser_goto_row12[] = {
        9,
-       -1, 593,
-       597, 713,
-       623, 713,
-       699, 713,
-       712, 713,
-       732, 713,
-       735, 713,
-       843, 713,
-       874, 713
+       -1, 597,
+       601, 719,
+       627, 719,
+       705, 719,
+       718, 719,
+       738, 719,
+       741, 719,
+       851, 719,
+       882, 719
 };
 static int parser_goto_row13[] = {
        1,
-       -1, 594
+       -1, 598
 };
 static int parser_goto_row14[] = {
        1,
-       -1, 707
+       -1, 713
 };
 static int parser_goto_row15[] = {
        2,
-       -1, 708,
-       707, 851
+       -1, 714,
+       713, 859
 };
 static int parser_goto_row16[] = {
        4,
-       -1, 1095,
-       1077, 1163,
-       1097, 1187,
-       1164, 1226
+       -1, 1114,
+       1096, 1191,
+       1116, 1215,
+       1192, 1259
 };
 static int parser_goto_row17[] = {
        19,
-       -1, 709,
+       -1, 715,
        10, 57,
        20, 57,
        26, 136,
        88, 226,
        91, 229,
-       228, 374,
-       703, 848,
-       707, 852,
-       708, 854,
-       850, 979,
-       851, 981,
-       853, 983,
-       980, 1080,
-       991, 1096,
-       1077, 1096,
-       1093, 1182,
-       1097, 1096,
-       1164, 1096
+       228, 376,
+       709, 856,
+       713, 860,
+       714, 862,
+       858, 991,
+       859, 993,
+       861, 995,
+       992, 1099,
+       1003, 1115,
+       1096, 1115,
+       1112, 1210,
+       1116, 1115,
+       1192, 1115
 };
 static int parser_goto_row18[] = {
        6,
-       -1, 358,
-       269, 408,
-       855, 985,
-       857, 987,
-       974, 1073,
-       976, 1075
+       -1, 360,
+       269, 410,
+       863, 997,
+       865, 999,
+       986, 1092,
+       988, 1094
 };
 static int parser_goto_row19[] = {
        8,
-       -1, 472,
-       408, 519,
-       857, 988,
-       976, 1076,
-       985, 1085,
-       987, 1088,
-       1073, 1157,
-       1075, 1160
+       -1, 475,
+       410, 522,
+       865, 1000,
+       988, 1095,
+       997, 1104,
+       999, 1107,
+       1092, 1185,
+       1094, 1188
 };
 static int parser_goto_row20[] = {
        2,
-       -1, 834,
-       833, 960
+       -1, 842,
+       841, 972
 };
 static int parser_goto_row21[] = {
        7,
-       -1, 473,
-       693, 835,
-       833, 835,
-       857, 989,
-       976, 989,
-       987, 989,
-       1075, 989
+       -1, 476,
+       699, 843,
+       841, 843,
+       865, 1001,
+       988, 1001,
+       999, 1001,
+       1094, 1001
 };
 static int parser_goto_row22[] = {
        2,
-       -1, 828,
-       830, 958
+       -1, 836,
+       838, 970
 };
 static int parser_goto_row23[] = {
        2,
-       -1, 687,
-       956, 1061
+       -1, 693,
+       968, 1080
 };
 static int parser_goto_row24[] = {
        7,
-       -1, 474,
-       473, 580,
-       475, 583,
-       581, 690,
-       989, 580,
-       990, 1091,
-       1090, 1180
+       -1, 477,
+       476, 584,
+       478, 587,
+       585, 696,
+       1001, 584,
+       1002, 1110,
+       1109, 1208
 };
 static int parser_goto_row25[] = {
        2,
-       -1, 587,
-       588, 694
+       -1, 591,
+       592, 700
 };
 static int parser_goto_row26[] = {
        4,
-       -1, 837,
-       729, 871,
-       1244, 1294,
-       1271, 1309
+       -1, 845,
+       735, 879,
+       1277, 1330,
+       1307, 1347
 };
 static int parser_goto_row27[] = {
        14,
-       -1, 669,
-       183, 324,
-       239, 380,
-       284, 420,
-       382, 493,
-       394, 502,
-       412, 522,
-       431, 537,
-       845, 973,
-       849, 978,
-       862, 995,
-       868, 998,
-       914, 1026,
-       1306, 1329
+       -1, 676,
+       183, 326,
+       239, 382,
+       286, 423,
+       384, 496,
+       396, 505,
+       414, 525,
+       434, 543,
+       853, 985,
+       857, 990,
+       870, 1007,
+       876, 1010,
+       925, 1042,
+       1344, 1368
 };
 static int parser_goto_row28[] = {
        2,
-       -1, 670,
-       668, 779
+       -1, 677,
+       675, 788
 };
 static int parser_goto_row29[] = {
        2,
-       -1, 781,
-       782, 915
+       -1, 790,
+       791, 926
 };
 static int parser_goto_row30[] = {
        26,
-       -1, 475,
+       -1, 478,
        142, 277,
-       473, 581,
-       686, 826,
-       693, 836,
-       743, 883,
-       833, 836,
-       835, 964,
-       839, 965,
-       857, 990,
-       976, 990,
-       986, 1087,
-       987, 990,
-       989, 1090,
-       991, 1097,
-       992, 1099,
-       1074, 1159,
-       1075, 990,
-       1077, 1164,
-       1078, 1166,
-       1082, 1171,
-       1084, 1174,
-       1167, 1230,
-       1169, 1233,
-       1172, 1237,
-       1231, 1283
+       476, 585,
+       692, 834,
+       699, 844,
+       749, 891,
+       841, 844,
+       843, 976,
+       847, 977,
+       865, 1002,
+       988, 1002,
+       998, 1106,
+       999, 1002,
+       1001, 1109,
+       1003, 1116,
+       1004, 1118,
+       1093, 1187,
+       1094, 1002,
+       1096, 1192,
+       1097, 1194,
+       1101, 1199,
+       1103, 1202,
+       1195, 1263,
+       1197, 1266,
+       1200, 1270,
+       1264, 1319
 };
 static int parser_goto_row31[] = {
-       28,
+       32,
        -1, 138,
        34, 148,
-       321, 454,
-       450, 555,
-       526, 656,
-       568, 677,
-       579, 689,
-       618, 728,
-       630, 745,
-       632, 148,
-       663, 677,
-       682, 821,
-       767, 902,
-       776, 821,
-       891, 454,
-       961, 1066,
-       1009, 555,
-       1020, 1119,
-       1063, 1151,
-       1089, 1179,
-       1109, 656,
-       1161, 1222,
-       1176, 1243,
-       1178, 1245,
-       1219, 1270,
-       1221, 1272,
-       1257, 902,
-       1326, 1119
+       323, 457,
+       453, 561,
+       529, 660,
+       574, 684,
+       583, 695,
+       622, 734,
+       634, 751,
+       636, 148,
+       669, 684,
+       689, 830,
+       773, 911,
+       785, 830,
+       900, 457,
+       962, 1076,
+       973, 1085,
+       1022, 561,
+       1034, 1140,
+       1036, 1076,
+       1082, 1179,
+       1108, 1207,
+       1128, 660,
+       1189, 1255,
+       1204, 1276,
+       1206, 1278,
+       1235, 1296,
+       1252, 1306,
+       1254, 1308,
+       1290, 911,
+       1365, 1140,
+       1382, 1296
 };
 static int parser_goto_row32[] = {
        1,
        -1, 58
 };
 static int parser_goto_row33[] = {
-       10,
+       12,
        -1, 59,
        140, 272,
-       455, 558,
-       646, 765,
-       678, 816,
-       739, 880,
-       772, 905,
-       822, 951,
-       909, 1022,
-       1011, 1113
+       458, 564,
+       650, 771,
+       685, 825,
+       745, 888,
+       780, 915,
+       831, 964,
+       920, 1038,
+       1024, 1133,
+       1077, 1176,
+       1143, 1238
 };
 static int parser_goto_row34[] = {
        3,
        -1, 205,
-       207, 361,
-       411, 361
+       207, 363,
+       413, 363
 };
 static int parser_goto_row35[] = {
-       18,
+       20,
        -1, 139,
        10, 60,
        20, 60,
        88, 60,
        91, 60,
        140, 273,
-       206, 360,
-       362, 360,
-       455, 273,
-       525, 642,
-       646, 273,
-       678, 273,
-       739, 273,
-       772, 273,
-       822, 273,
-       909, 273,
-       1011, 273,
-       1108, 642
+       206, 362,
+       364, 362,
+       458, 273,
+       528, 646,
+       650, 273,
+       685, 273,
+       745, 273,
+       780, 273,
+       831, 273,
+       920, 273,
+       1024, 273,
+       1077, 273,
+       1127, 646,
+       1143, 273
 };
 static int parser_goto_row36[] = {
-       16,
+       20,
        -1, 173,
        38, 175,
        141, 274,
        149, 280,
-       635, 751,
-       636, 753,
-       657, 768,
-       679, 817,
-       742, 881,
-       748, 886,
-       774, 906,
-       823, 952,
-       911, 1023,
-       1120, 1206,
-       1198, 1258,
-       1337, 1342
+       639, 757,
+       640, 759,
+       661, 774,
+       686, 826,
+       748, 889,
+       754, 894,
+       782, 916,
+       832, 965,
+       922, 1039,
+       1078, 1177,
+       1141, 1236,
+       1145, 1239,
+       1226, 1291,
+       1297, 1341,
+       1377, 1383,
+       1388, 1391
 };
 static int parser_goto_row37[] = {
        11,
-       -1, 424,
-       193, 335,
-       309, 445,
-       320, 445,
-       337, 466,
-       447, 466,
-       603, 718,
-       662, 771,
-       666, 771,
-       759, 335,
-       1116, 718
+       -1, 427,
+       193, 337,
+       311, 448,
+       322, 448,
+       339, 469,
+       450, 469,
+       607, 724,
+       668, 779,
+       673, 779,
+       765, 337,
+       1136, 724
 };
 static int parser_goto_row38[] = {
        1,
-       -1, 336
+       -1, 338
 };
 static int parser_goto_row39[] = {
        7,
-       -1, 337,
-       315, 447,
-       320, 447,
-       447, 447,
-       666, 447,
-       759, 447,
-       1116, 447
+       -1, 339,
+       317, 450,
+       322, 450,
+       450, 450,
+       673, 450,
+       765, 450,
+       1136, 450
 };
 static int parser_goto_row40[] = {
        2,
-       -1, 465,
-       446, 553
+       -1, 468,
+       449, 559
 };
 static int parser_goto_row41[] = {
-       5,
-       -1, 819,
-       824, 953,
-       912, 953,
-       1067, 1154,
-       1152, 1216
+       7,
+       -1, 828,
+       833, 966,
+       923, 966,
+       1079, 1178,
+       1086, 1182,
+       1146, 1178,
+       1180, 1249
 };
 static int parser_goto_row42[] = {
        1,
@@ -15529,15 +16082,15 @@ static int parser_goto_row43[] = {
 static int parser_goto_row44[] = {
        10,
        -1, 197,
-       192, 333,
-       210, 366,
-       483, 605,
-       602, 717,
-       641, 761,
-       758, 893,
-       763, 899,
-       1017, 1118,
-       1115, 1202
+       192, 335,
+       210, 368,
+       486, 609,
+       606, 723,
+       645, 767,
+       764, 902,
+       769, 908,
+       1030, 1138,
+       1135, 1231
 };
 static int parser_goto_row45[] = {
        1,
@@ -15549,9 +16102,9 @@ static int parser_goto_row46[] = {
 };
 static int parser_goto_row47[] = {
        3,
-       -1, 643,
-       646, 766,
-       765, 901
+       -1, 647,
+       650, 772,
+       771, 910
 };
 static int parser_goto_row48[] = {
        1,
@@ -15572,126 +16125,129 @@ static int parser_goto_row51[] = {
 static int parser_goto_row52[] = {
        2,
        -1, 178,
-       638, 755
+       642, 761
 };
 static int parser_goto_row53[] = {
        43,
-       -1, 820,
+       -1, 829,
        36, 161,
        37, 174,
        38, 176,
        40, 179,
-       173, 312,
-       175, 313,
-       178, 317,
-       194, 338,
-       197, 339,
-       332, 461,
-       333, 462,
-       365, 484,
-       366, 485,
-       413, 523,
-       524, 624,
-       604, 719,
-       605, 720,
-       634, 161,
-       635, 174,
-       636, 176,
-       638, 179,
-       695, 838,
-       716, 863,
-       717, 864,
-       729, 838,
-       751, 312,
-       753, 313,
-       755, 317,
-       760, 338,
-       761, 339,
-       892, 461,
-       893, 462,
-       898, 484,
-       899, 485,
-       1004, 523,
-       1107, 624,
-       1117, 719,
-       1118, 720,
-       1201, 863,
-       1202, 864,
-       1244, 838,
-       1271, 838
+       173, 314,
+       175, 315,
+       178, 319,
+       194, 340,
+       197, 341,
+       334, 464,
+       335, 465,
+       367, 487,
+       368, 488,
+       415, 526,
+       527, 628,
+       608, 725,
+       609, 726,
+       638, 161,
+       639, 174,
+       640, 176,
+       642, 179,
+       701, 846,
+       722, 871,
+       723, 872,
+       735, 846,
+       757, 314,
+       759, 315,
+       761, 319,
+       766, 340,
+       767, 341,
+       901, 464,
+       902, 465,
+       907, 487,
+       908, 488,
+       1016, 526,
+       1126, 628,
+       1137, 725,
+       1138, 726,
+       1230, 871,
+       1231, 872,
+       1277, 846,
+       1307, 846
 };
 static int parser_goto_row54[] = {
-       70,
+       73,
        -1, 162,
        40, 180,
        47, 187,
        146, 278,
        147, 279,
        178, 180,
-       189, 329,
-       217, 370,
-       237, 378,
-       245, 385,
-       282, 418,
-       363, 479,
-       367, 486,
-       377, 489,
-       634, 180,
-       635, 180,
-       636, 180,
+       189, 331,
+       217, 372,
+       237, 380,
+       245, 387,
+       284, 421,
+       365, 482,
+       369, 489,
+       379, 492,
        638, 180,
-       658, 769,
-       673, 785,
-       723, 866,
-       744, 884,
-       746, 885,
-       751, 180,
-       753, 180,
-       755, 180,
-       760, 180,
+       639, 180,
+       640, 180,
+       642, 180,
+       663, 776,
+       680, 794,
+       729, 874,
+       750, 892,
+       752, 893,
+       757, 180,
+       759, 180,
        761, 180,
-       770, 904,
-       775, 180,
-       797, 927,
-       892, 180,
-       893, 180,
-       898, 180,
-       899, 180,
-       912, 180,
-       919, 1027,
-       1004, 180,
-       1107, 180,
-       1117, 180,
-       1118, 180,
-       1183, 1248,
-       1188, 1252,
-       1199, 1259,
-       1201, 180,
-       1202, 180,
-       1207, 1262,
-       1223, 1274,
-       1227, 1278,
-       1234, 1286,
-       1238, 1290,
-       1249, 1296,
-       1250, 1297,
-       1253, 1299,
-       1263, 1304,
-       1275, 1311,
-       1276, 1312,
-       1279, 1314,
-       1280, 1315,
-       1284, 1319,
-       1287, 1321,
-       1288, 1322,
-       1291, 1324,
-       1298, 1325,
-       1313, 1330,
-       1316, 1331,
-       1317, 1332,
-       1320, 1334,
-       1323, 1335,
-       1333, 1341
+       766, 180,
+       767, 180,
+       778, 914,
+       784, 180,
+       806, 938,
+       901, 180,
+       902, 180,
+       907, 180,
+       908, 180,
+       912, 1033,
+       923, 180,
+       930, 1043,
+       1016, 180,
+       1126, 180,
+       1137, 180,
+       1138, 180,
+       1146, 180,
+       1211, 1281,
+       1216, 1285,
+       1228, 1293,
+       1230, 180,
+       1231, 180,
+       1237, 1298,
+       1256, 1310,
+       1260, 1314,
+       1267, 1322,
+       1271, 1326,
+       1282, 1332,
+       1283, 1333,
+       1286, 1335,
+       1299, 1342,
+       1311, 1349,
+       1312, 1350,
+       1315, 1352,
+       1316, 1353,
+       1320, 1357,
+       1323, 1359,
+       1324, 1360,
+       1327, 1362,
+       1334, 1363,
+       1339, 1364,
+       1351, 1369,
+       1354, 1370,
+       1355, 1371,
+       1358, 1373,
+       1361, 1374,
+       1372, 1381
 };
 static int parser_goto_row55[] = {
        1,
@@ -15700,10 +16256,10 @@ static int parser_goto_row55[] = {
 static int parser_goto_row56[] = {
        5,
        -1, 164,
-       283, 419,
-       425, 531,
-       427, 533,
-       532, 661
+       285, 422,
+       428, 537,
+       430, 539,
+       538, 667
 };
 static int parser_goto_row57[] = {
        1,
@@ -15712,38 +16268,38 @@ static int parser_goto_row57[] = {
 static int parser_goto_row58[] = {
        11,
        -1, 166,
-       428, 534,
-       429, 535,
-       430, 536,
-       434, 540,
-       435, 541,
-       436, 542,
-       437, 543,
-       438, 544,
-       439, 545,
-       440, 546
+       431, 540,
+       432, 541,
+       433, 542,
+       437, 546,
+       438, 547,
+       439, 548,
+       440, 549,
+       441, 550,
+       442, 551,
+       443, 552
 };
 static int parser_goto_row59[] = {
        3,
        -1, 167,
-       432, 538,
-       433, 539
+       435, 544,
+       436, 545
 };
 static int parser_goto_row60[] = {
        6,
        -1, 168,
-       285, 421,
-       288, 423,
-       441, 547,
-       442, 548,
-       443, 549
+       287, 424,
+       290, 426,
+       444, 553,
+       445, 554,
+       446, 555
 };
 static int parser_goto_row61[] = {
        1,
        -1, 169
 };
 static int parser_goto_row62[] = {
-       96,
+       104,
        -1, 188,
        10, 69,
        20, 69,
@@ -15756,90 +16312,98 @@ static int parser_goto_row62[] = {
        88, 69,
        91, 69,
        140, 69,
-       157, 287,
+       157, 289,
        173, 170,
        175, 170,
        178, 181,
        194, 170,
        197, 170,
        206, 69,
-       321, 69,
-       332, 170,
-       333, 170,
-       362, 69,
-       365, 170,
-       366, 170,
-       413, 170,
-       450, 69,
-       455, 69,
-       524, 170,
-       525, 644,
-       526, 69,
-       568, 69,
-       579, 69,
-       604, 170,
-       605, 170,
-       618, 69,
-       627, 644,
-       630, 69,
-       632, 644,
-       634, 181,
-       635, 181,
-       636, 181,
+       323, 69,
+       334, 170,
+       335, 170,
+       364, 69,
+       367, 170,
+       368, 170,
+       415, 170,
+       453, 69,
+       458, 69,
+       527, 170,
+       528, 648,
+       529, 69,
+       574, 69,
+       583, 69,
+       608, 170,
+       609, 170,
+       622, 69,
+       631, 648,
+       634, 69,
+       636, 648,
        638, 181,
-       646, 69,
-       663, 644,
-       678, 69,
-       681, 170,
-       682, 69,
-       695, 170,
-       716, 170,
-       717, 170,
-       729, 170,
-       739, 69,
-       751, 181,
-       753, 181,
-       755, 181,
-       760, 181,
+       639, 181,
+       640, 181,
+       642, 181,
+       650, 69,
+       669, 648,
+       685, 69,
+       688, 170,
+       689, 69,
+       701, 170,
+       722, 170,
+       723, 170,
+       735, 170,
+       745, 69,
+       757, 181,
+       759, 181,
        761, 181,
-       767, 69,
-       772, 69,
-       775, 181,
-       776, 644,
-       822, 69,
-       824, 170,
-       891, 644,
-       892, 181,
-       893, 181,
-       898, 181,
-       899, 181,
-       909, 69,
-       912, 181,
-       961, 69,
-       1004, 181,
-       1009, 644,
-       1011, 69,
-       1020, 69,
-       1063, 69,
-       1067, 170,
-       1089, 69,
-       1107, 181,
-       1108, 644,
-       1109, 644,
-       1117, 181,
-       1118, 181,
-       1152, 170,
-       1161, 69,
-       1176, 69,
-       1178, 69,
-       1201, 181,
-       1202, 181,
-       1219, 69,
-       1221, 69,
-       1244, 170,
-       1257, 644,
-       1271, 170,
-       1326, 644
+       766, 181,
+       767, 181,
+       773, 69,
+       780, 69,
+       784, 181,
+       785, 648,
+       831, 69,
+       833, 170,
+       900, 648,
+       901, 181,
+       902, 181,
+       907, 181,
+       908, 181,
+       920, 69,
+       923, 181,
+       962, 69,
+       973, 69,
+       1016, 181,
+       1022, 648,
+       1024, 69,
+       1034, 69,
+       1036, 648,
+       1077, 69,
+       1079, 170,
+       1082, 69,
+       1086, 170,
+       1108, 69,
+       1126, 181,
+       1127, 648,
+       1128, 648,
+       1137, 181,
+       1138, 181,
+       1143, 69,
+       1146, 181,
+       1180, 170,
+       1189, 69,
+       1204, 69,
+       1206, 69,
+       1230, 181,
+       1231, 181,
+       1235, 69,
+       1252, 69,
+       1254, 69,
+       1277, 170,
+       1290, 648,
+       1307, 170,
+       1365, 648,
+       1382, 648
 };
 static int parser_goto_row63[] = {
        60,
@@ -15852,13 +16416,11 @@ static int parser_goto_row63[] = {
        238, 123,
        240, 123,
        246, 123,
-       388, 123,
        390, 123,
-       391, 123,
        392, 123,
        393, 123,
+       394, 123,
        395, 123,
-       396, 123,
        397, 123,
        398, 123,
        399, 123,
@@ -15869,40 +16431,42 @@ static int parser_goto_row63[] = {
        404, 123,
        405, 123,
        406, 123,
-       480, 123,
-       482, 123,
-       497, 123,
-       626, 123,
-       639, 123,
-       640, 123,
-       674, 805,
-       764, 123,
-       796, 805,
-       920, 805,
-       922, 805,
-       928, 805,
-       1015, 123,
-       1016, 123,
-       1040, 805,
-       1042, 805,
-       1043, 805,
-       1044, 805,
-       1045, 805,
-       1047, 805,
-       1048, 805,
-       1049, 805,
-       1050, 805,
-       1051, 805,
-       1052, 805,
-       1053, 805,
-       1054, 805,
-       1055, 805,
-       1056, 805,
-       1057, 805,
-       1058, 805,
-       1129, 805,
-       1192, 123,
-       1343, 805
+       407, 123,
+       408, 123,
+       483, 123,
+       485, 123,
+       500, 123,
+       630, 123,
+       643, 123,
+       644, 123,
+       681, 814,
+       770, 123,
+       805, 814,
+       931, 814,
+       933, 814,
+       939, 814,
+       1028, 123,
+       1029, 123,
+       1056, 814,
+       1058, 814,
+       1059, 814,
+       1060, 814,
+       1061, 814,
+       1063, 814,
+       1064, 814,
+       1065, 814,
+       1066, 814,
+       1067, 814,
+       1068, 814,
+       1069, 814,
+       1070, 814,
+       1071, 814,
+       1072, 814,
+       1073, 814,
+       1074, 814,
+       1154, 814,
+       1220, 123,
+       1384, 814
 };
 static int parser_goto_row64[] = {
        1,
@@ -15915,7 +16479,7 @@ static int parser_goto_row65[] = {
 static int parser_goto_row66[] = {
        2,
        -1, 213,
-       216, 368
+       216, 370
 };
 static int parser_goto_row67[] = {
        1,
@@ -15924,7 +16488,7 @@ static int parser_goto_row67[] = {
 static int parser_goto_row68[] = {
        2,
        -1, 215,
-       216, 369
+       216, 371
 };
 static int parser_goto_row69[] = {
        39,
@@ -15935,85 +16499,86 @@ static int parser_goto_row69[] = {
        109, 241,
        117, 247,
        156, 184,
-       159, 289,
-       177, 315,
-       186, 325,
-       218, 371,
-       248, 387,
-       310, 371,
-       316, 315,
-       380, 492,
-       420, 529,
-       480, 599,
-       482, 602,
-       515, 614,
-       517, 616,
-       550, 599,
-       551, 662,
-       556, 666,
-       562, 672,
-       639, 184,
-       640, 758,
-       671, 784,
-       724, 867,
-       764, 371,
-       786, 918,
-       791, 923,
-       799, 929,
-       930, 1037,
-       1015, 599,
-       1016, 1115,
-       1031, 1125,
-       1147, 1212,
-       1149, 1214,
-       1264, 1305
+       159, 291,
+       177, 317,
+       186, 327,
+       218, 373,
+       248, 389,
+       312, 373,
+       318, 317,
+       382, 495,
+       423, 535,
+       483, 603,
+       485, 606,
+       518, 618,
+       520, 620,
+       556, 603,
+       557, 668,
+       562, 673,
+       568, 679,
+       643, 184,
+       644, 764,
+       678, 793,
+       730, 875,
+       770, 373,
+       795, 929,
+       800, 934,
+       808, 940,
+       941, 1053,
+       1028, 603,
+       1029, 1135,
+       1047, 1150,
+       1172, 1245,
+       1174, 1247,
+       1300, 1343
 };
 static int parser_goto_row70[] = {
        12,
        -1, 125,
        42, 185,
        50, 193,
-       218, 372,
-       480, 600,
-       482, 603,
-       626, 737,
-       639, 757,
-       640, 759,
-       764, 900,
-       1015, 1114,
-       1016, 1116
+       218, 374,
+       483, 604,
+       485, 607,
+       630, 743,
+       643, 763,
+       644, 765,
+       770, 909,
+       1028, 1134,
+       1029, 1136
 };
 static int parser_goto_row71[] = {
        9,
        -1, 73,
        69, 210,
        135, 268,
-       170, 309,
-       181, 320,
-       188, 328,
+       170, 311,
+       181, 322,
+       188, 330,
        244, 268,
-       287, 328,
-       644, 763
+       289, 330,
+       648, 769
 };
 static int parser_goto_row72[] = {
        4,
-       -1, 566,
-       567, 676,
-       612, 676,
-       722, 676
+       -1, 572,
+       573, 683,
+       616, 683,
+       728, 683
 };
 static int parser_goto_row73[] = {
-       2,
-       -1, 572,
-       553, 665
+       8,
+       -1, 283,
+       281, 419,
+       468, 577,
+       559, 672,
+       575, 687,
+       670, 783,
+       755, 896,
+       895, 1020
 };
 static int parser_goto_row74[] = {
-       2,
-       -1, 573,
-       569, 680
-};
-static int parser_goto_row75[] = {
-       106,
+       112,
        -1, 171,
        10, 74,
        20, 74,
@@ -16031,15 +16596,13 @@ static int parser_goto_row75[] = {
        238, 126,
        240, 126,
        246, 126,
-       321, 74,
-       362, 74,
-       388, 126,
+       323, 74,
+       364, 74,
        390, 126,
-       391, 126,
        392, 126,
        393, 126,
+       394, 126,
        395, 126,
-       396, 126,
        397, 126,
        398, 126,
        399, 126,
@@ -16050,97 +16613,105 @@ static int parser_goto_row75[] = {
        404, 126,
        405, 126,
        406, 126,
-       450, 74,
-       455, 74,
-       480, 126,
-       482, 126,
-       497, 126,
-       525, 645,
-       526, 74,
-       568, 74,
-       579, 74,
-       618, 74,
-       626, 126,
-       627, 645,
-       630, 74,
-       632, 645,
-       639, 126,
-       640, 126,
-       646, 74,
-       663, 645,
-       674, 806,
-       678, 74,
-       682, 74,
-       739, 74,
-       764, 126,
-       767, 74,
-       772, 74,
-       776, 645,
-       796, 806,
-       822, 74,
-       891, 645,
-       909, 74,
-       920, 806,
-       922, 806,
-       928, 806,
-       961, 74,
-       1009, 645,
-       1011, 74,
-       1015, 126,
-       1016, 126,
-       1020, 74,
-       1040, 806,
-       1042, 806,
-       1043, 806,
-       1044, 806,
-       1045, 806,
-       1047, 806,
-       1048, 806,
-       1049, 806,
-       1050, 806,
-       1051, 806,
-       1052, 806,
-       1053, 806,
-       1054, 806,
-       1055, 806,
-       1056, 806,
-       1057, 806,
-       1058, 806,
-       1063, 74,
-       1089, 74,
-       1108, 645,
-       1109, 645,
-       1129, 806,
-       1161, 74,
-       1176, 74,
-       1178, 74,
-       1192, 126,
-       1219, 74,
-       1221, 74,
-       1257, 645,
-       1326, 645,
-       1343, 806
+       407, 126,
+       408, 126,
+       453, 74,
+       458, 74,
+       483, 126,
+       485, 126,
+       500, 126,
+       528, 649,
+       529, 74,
+       574, 74,
+       583, 74,
+       622, 74,
+       630, 126,
+       631, 649,
+       634, 74,
+       636, 649,
+       643, 126,
+       644, 126,
+       650, 74,
+       669, 649,
+       681, 815,
+       685, 74,
+       689, 74,
+       745, 74,
+       770, 126,
+       773, 74,
+       780, 74,
+       785, 649,
+       805, 815,
+       831, 74,
+       900, 649,
+       920, 74,
+       931, 815,
+       933, 815,
+       939, 815,
+       962, 74,
+       973, 74,
+       1022, 649,
+       1024, 74,
+       1028, 126,
+       1029, 126,
+       1034, 74,
+       1036, 649,
+       1056, 815,
+       1058, 815,
+       1059, 815,
+       1060, 815,
+       1061, 815,
+       1063, 815,
+       1064, 815,
+       1065, 815,
+       1066, 815,
+       1067, 815,
+       1068, 815,
+       1069, 815,
+       1070, 815,
+       1071, 815,
+       1072, 815,
+       1073, 815,
+       1074, 815,
+       1077, 74,
+       1082, 74,
+       1108, 74,
+       1127, 649,
+       1128, 649,
+       1143, 74,
+       1154, 815,
+       1189, 74,
+       1204, 74,
+       1206, 74,
+       1220, 126,
+       1235, 74,
+       1252, 74,
+       1254, 74,
+       1290, 649,
+       1365, 649,
+       1382, 649,
+       1384, 815
 };
-static int parser_goto_row76[] = {
+static int parser_goto_row75[] = {
        2,
        -1, 75,
        77, 220
 };
-static int parser_goto_row77[] = {
+static int parser_goto_row76[] = {
        2,
        -1, 76,
        77, 221
 };
-static int parser_goto_row78[] = {
+static int parser_goto_row77[] = {
        5,
        -1, 81,
-       234, 376,
-       467, 574,
-       468, 575,
-       594, 700
+       234, 378,
+       470, 578,
+       471, 579,
+       598, 706
 };
-static int parser_goto_row79[] = {
-       58,
+static int parser_goto_row78[] = {
+       62,
        -1, 102,
        0, 9,
        4, 9,
@@ -16159,49 +16730,53 @@ static int parser_goto_row79[] = {
        97, 9,
        98, 9,
        100, 9,
-       207, 362,
+       207, 364,
        224, 9,
        231, 9,
        273, 206,
-       321, 455,
-       411, 362,
-       450, 455,
-       525, 646,
-       526, 140,
-       568, 678,
-       579, 455,
-       618, 455,
-       627, 739,
-       630, 455,
-       632, 739,
-       663, 772,
-       682, 822,
-       767, 455,
-       776, 909,
-       834, 963,
-       891, 1011,
-       960, 1065,
-       961, 455,
-       1009, 1011,
-       1020, 140,
-       1063, 455,
-       1066, 1153,
-       1089, 455,
-       1108, 646,
-       1109, 739,
-       1151, 1215,
-       1154, 1217,
-       1161, 455,
-       1176, 455,
-       1178, 455,
-       1216, 1266,
-       1219, 455,
-       1221, 455,
-       1257, 1011,
-       1326, 739
+       323, 458,
+       413, 364,
+       453, 458,
+       528, 650,
+       529, 140,
+       574, 685,
+       583, 458,
+       622, 458,
+       631, 745,
+       634, 458,
+       636, 745,
+       669, 780,
+       689, 831,
+       773, 458,
+       785, 920,
+       842, 975,
+       900, 1024,
+       962, 1077,
+       972, 1084,
+       973, 458,
+       1022, 1024,
+       1034, 140,
+       1036, 1143,
+       1082, 458,
+       1085, 1181,
+       1108, 458,
+       1127, 650,
+       1128, 745,
+       1179, 1248,
+       1182, 1250,
+       1189, 458,
+       1204, 458,
+       1206, 458,
+       1235, 140,
+       1249, 1302,
+       1252, 458,
+       1254, 458,
+       1290, 1024,
+       1365, 745,
+       1382, 745
 };
-static int parser_goto_row80[] = {
-       252,
+static int parser_goto_row79[] = {
+       264,
        -1, 91,
        0, 10,
        4, 20,
@@ -16227,239 +16802,251 @@ static int parser_goto_row80[] = {
        108, 240,
        115, 245,
        116, 246,
-       152, 282,
-       153, 283,
-       154, 284,
-       155, 285,
-       158, 288,
-       190, 330,
-       191, 331,
-       198, 340,
-       204, 359,
-       208, 363,
-       209, 364,
-       214, 367,
-       235, 377,
-       242, 382,
-       249, 388,
-       250, 390,
-       251, 391,
-       252, 392,
-       253, 393,
-       254, 394,
-       255, 395,
-       256, 396,
-       257, 397,
-       258, 398,
-       259, 399,
-       260, 400,
-       261, 401,
-       262, 402,
-       263, 403,
-       264, 404,
-       265, 405,
-       266, 406,
-       267, 407,
-       270, 409,
-       275, 412,
-       276, 413,
-       278, 415,
-       279, 416,
-       281, 417,
-       290, 425,
-       291, 427,
+       152, 284,
+       153, 285,
+       154, 286,
+       155, 287,
+       158, 290,
+       190, 332,
+       191, 333,
+       198, 342,
+       204, 361,
+       208, 365,
+       209, 366,
+       214, 369,
+       235, 379,
+       242, 384,
+       249, 390,
+       250, 392,
+       251, 393,
+       252, 394,
+       253, 395,
+       254, 396,
+       255, 397,
+       256, 398,
+       257, 399,
+       258, 400,
+       259, 401,
+       260, 402,
+       261, 403,
+       262, 404,
+       263, 405,
+       264, 406,
+       265, 407,
+       266, 408,
+       267, 409,
+       270, 411,
+       275, 414,
+       276, 415,
+       278, 417,
+       279, 418,
+       283, 420,
        292, 428,
-       293, 429,
-       294, 430,
-       295, 431,
-       296, 432,
-       297, 433,
-       298, 434,
-       299, 435,
-       300, 436,
-       301, 437,
-       302, 438,
-       303, 439,
-       304, 440,
-       305, 441,
-       306, 442,
-       307, 443,
-       308, 444,
-       319, 451,
-       327, 459,
-       329, 460,
-       358, 476,
-       370, 487,
-       378, 490,
-       383, 494,
-       385, 495,
-       389, 497,
-       408, 476,
-       414, 524,
-       418, 528,
-       422, 530,
-       426, 532,
-       457, 560,
-       458, 561,
-       471, 577,
-       473, 582,
-       475, 584,
-       478, 595,
-       479, 598,
-       481, 601,
-       486, 606,
-       489, 607,
-       491, 609,
-       516, 615,
-       521, 621,
-       527, 658,
-       559, 668,
-       564, 673,
-       565, 674,
-       570, 681,
-       573, 684,
-       581, 691,
-       589, 695,
-       590, 696,
-       591, 697,
-       596, 711,
-       597, 714,
-       608, 723,
-       619, 729,
-       620, 730,
-       622, 734,
-       623, 736,
-       629, 744,
-       631, 746,
-       633, 749,
-       659, 770,
-       664, 775,
-       670, 783,
-       680, 684,
-       683, 824,
-       687, 829,
-       698, 842,
-       699, 844,
-       701, 845,
-       706, 849,
-       712, 860,
-       715, 862,
-       726, 868,
-       731, 873,
-       732, 875,
-       735, 877,
-       762, 897,
-       769, 903,
-       777, 912,
-       779, 913,
-       780, 914,
-       785, 917,
-       787, 919,
-       788, 920,
-       789, 921,
-       790, 922,
-       798, 928,
-       807, 931,
-       825, 954,
-       827, 956,
-       830, 959,
-       840, 968,
-       843, 971,
-       857, 476,
-       866, 996,
-       874, 1000,
-       882, 1004,
-       884, 1006,
-       885, 1007,
-       887, 1008,
-       904, 1021,
-       924, 1033,
-       932, 1040,
-       933, 1042,
-       934, 1043,
-       935, 1044,
-       936, 1045,
-       937, 1046,
-       938, 1047,
-       939, 1048,
-       940, 1049,
-       941, 1050,
-       942, 1051,
-       943, 1052,
-       944, 1053,
-       945, 1054,
-       946, 1055,
-       947, 1056,
-       948, 1057,
-       949, 1058,
-       950, 1059,
-       962, 1067,
-       966, 1068,
-       969, 1071,
-       976, 476,
-       985, 476,
-       987, 476,
-       989, 582,
-       990, 1092,
-       994, 1100,
-       995, 1101,
-       997, 1103,
-       998, 1104,
-       1005, 1107,
-       1027, 1122,
-       1034, 1127,
-       1041, 1129,
-       1064, 1152,
-       1073, 476,
-       1075, 476,
-       1090, 1181,
-       1094, 1183,
-       1098, 1188,
-       1102, 1192,
-       1110, 1199,
-       1121, 1207,
-       1124, 1209,
-       1148, 1213,
-       1162, 1223,
-       1165, 1227,
-       1170, 1234,
-       1173, 1238,
-       1177, 1244,
-       1184, 1249,
-       1186, 1250,
-       1189, 1253,
-       1190, 1254,
-       1193, 1256,
-       1208, 1263,
-       1220, 1271,
-       1224, 1275,
-       1225, 1276,
-       1228, 1279,
-       1229, 1280,
-       1232, 1284,
-       1235, 1287,
-       1236, 1288,
-       1239, 1291,
-       1251, 1298,
-       1259, 1303,
-       1265, 1306,
-       1277, 1313,
-       1281, 1316,
-       1282, 1317,
-       1285, 1320,
-       1289, 1323,
-       1304, 1327,
-       1318, 1333,
-       1328, 1339,
-       1329, 1340,
-       1338, 1343,
-       1344, 1347
+       293, 430,
+       294, 431,
+       295, 432,
+       296, 433,
+       297, 434,
+       298, 435,
+       299, 436,
+       300, 437,
+       301, 438,
+       302, 439,
+       303, 440,
+       304, 441,
+       305, 442,
+       306, 443,
+       307, 444,
+       308, 445,
+       309, 446,
+       310, 447,
+       321, 454,
+       329, 462,
+       331, 463,
+       360, 479,
+       372, 490,
+       380, 493,
+       385, 497,
+       387, 498,
+       391, 500,
+       410, 479,
+       416, 527,
+       419, 531,
+       421, 534,
+       425, 536,
+       429, 538,
+       460, 566,
+       461, 567,
+       474, 581,
+       476, 586,
+       478, 588,
+       481, 599,
+       482, 602,
+       484, 605,
+       489, 610,
+       492, 611,
+       494, 613,
+       519, 619,
+       524, 625,
+       530, 662,
+       532, 663,
+       533, 664,
+       565, 675,
+       570, 680,
+       571, 681,
+       576, 688,
+       577, 531,
+       585, 697,
+       593, 701,
+       594, 702,
+       595, 703,
+       600, 717,
+       601, 720,
+       612, 729,
+       623, 735,
+       624, 736,
+       626, 740,
+       627, 742,
+       633, 750,
+       635, 752,
+       637, 755,
+       665, 778,
+       671, 784,
+       672, 531,
+       677, 792,
+       687, 531,
+       690, 833,
+       693, 837,
+       704, 850,
+       705, 852,
+       707, 853,
+       712, 857,
+       718, 868,
+       721, 870,
+       732, 876,
+       737, 881,
+       738, 883,
+       741, 885,
+       768, 906,
+       775, 912,
+       776, 913,
+       783, 531,
+       786, 923,
+       788, 924,
+       789, 925,
+       794, 928,
+       796, 930,
+       797, 931,
+       798, 932,
+       799, 933,
+       807, 939,
+       816, 942,
+       835, 968,
+       838, 971,
+       848, 980,
+       851, 983,
+       865, 479,
+       874, 1008,
+       882, 1012,
+       890, 1016,
+       892, 1018,
+       893, 1019,
+       896, 1021,
+       914, 1035,
+       935, 1049,
+       943, 1056,
+       944, 1058,
+       945, 1059,
+       946, 1060,
+       947, 1061,
+       948, 1062,
+       949, 1063,
+       950, 1064,
+       951, 1065,
+       952, 1066,
+       953, 1067,
+       954, 1068,
+       955, 1069,
+       956, 1070,
+       957, 1071,
+       958, 1072,
+       959, 1073,
+       960, 1074,
+       961, 1075,
+       963, 1079,
+       974, 1086,
+       978, 1087,
+       981, 1090,
+       988, 479,
+       997, 479,
+       999, 479,
+       1001, 586,
+       1002, 1111,
+       1006, 1119,
+       1007, 1120,
+       1009, 1122,
+       1010, 1123,
+       1017, 1126,
+       1020, 531,
+       1033, 1139,
+       1037, 1146,
+       1043, 1147,
+       1050, 1152,
+       1057, 1154,
+       1083, 1180,
+       1092, 479,
+       1094, 479,
+       1109, 1209,
+       1113, 1211,
+       1117, 1216,
+       1121, 1220,
+       1129, 1227,
+       1130, 1228,
+       1142, 1237,
+       1149, 1242,
+       1173, 1246,
+       1190, 1256,
+       1193, 1260,
+       1198, 1267,
+       1201, 1271,
+       1205, 1277,
+       1212, 1282,
+       1214, 1283,
+       1217, 1286,
+       1218, 1287,
+       1221, 1289,
+       1241, 1299,
+       1253, 1307,
+       1257, 1311,
+       1258, 1312,
+       1261, 1315,
+       1262, 1316,
+       1265, 1320,
+       1268, 1323,
+       1269, 1324,
+       1272, 1327,
+       1284, 1334,
+       1292, 1339,
+       1293, 1340,
+       1301, 1344,
+       1313, 1351,
+       1317, 1354,
+       1318, 1355,
+       1321, 1358,
+       1325, 1361,
+       1342, 1366,
+       1356, 1372,
+       1364, 1375,
+       1367, 1379,
+       1368, 1380,
+       1378, 1384,
+       1385, 1390
 };
-static int parser_goto_row81[] = {
+static int parser_goto_row80[] = {
        1,
        -1, 11
 };
-static int parser_goto_row82[] = {
+static int parser_goto_row81[] = {
        9,
        -1, 12,
        16, 92,
@@ -16471,265 +17058,276 @@ static int parser_goto_row82[] = {
        224, 92,
        231, 92
 };
-static int parser_goto_row83[] = {
+static int parser_goto_row82[] = {
        1,
        -1, 13
 };
-static int parser_goto_row84[] = {
+static int parser_goto_row83[] = {
        4,
-       -1, 477,
-       408, 520,
-       985, 1086,
-       1073, 1158
+       -1, 480,
+       410, 523,
+       997, 1105,
+       1092, 1186
 };
-static int parser_goto_row85[] = {
+static int parser_goto_row84[] = {
        3,
-       -1, 1031,
-       1033, 1126,
-       1046, 1134
+       -1, 1047,
+       1049, 1151,
+       1062, 1159
 };
-static int parser_goto_row86[] = {
+static int parser_goto_row85[] = {
        1,
        -1, -1
 };
-static int parser_goto_row87[] = {
+static int parser_goto_row86[] = {
        2,
-       -1, 807,
-       1343, 1346
+       -1, 816,
+       1384, 1389
 };
-static int parser_goto_row88[] = {
+static int parser_goto_row87[] = {
        1,
-       -1, 808
+       -1, 817
 };
-static int parser_goto_row89[] = {
+static int parser_goto_row88[] = {
        5,
-       -1, 809,
-       920, 1028,
-       1040, 1128,
-       1042, 1130,
-       1129, 1211
+       -1, 818,
+       931, 1044,
+       1056, 1153,
+       1058, 1155,
+       1154, 1244
 };
-static int parser_goto_row90[] = {
+static int parser_goto_row89[] = {
        1,
-       -1, 810
+       -1, 819
 };
-static int parser_goto_row91[] = {
+static int parser_goto_row90[] = {
        11,
-       -1, 811,
-       1043, 1131,
-       1044, 1132,
-       1045, 1133,
-       1049, 1137,
-       1050, 1138,
-       1051, 1139,
-       1052, 1140,
-       1053, 1141,
-       1054, 1142,
-       1055, 1143
+       -1, 820,
+       1059, 1156,
+       1060, 1157,
+       1061, 1158,
+       1065, 1162,
+       1066, 1163,
+       1067, 1164,
+       1068, 1165,
+       1069, 1166,
+       1070, 1167,
+       1071, 1168
 };
-static int parser_goto_row92[] = {
+static int parser_goto_row91[] = {
        3,
-       -1, 812,
-       1047, 1135,
-       1048, 1136
+       -1, 821,
+       1063, 1160,
+       1064, 1161
 };
-static int parser_goto_row93[] = {
+static int parser_goto_row92[] = {
        6,
-       -1, 813,
-       922, 1032,
-       928, 1036,
-       1056, 1144,
-       1057, 1145,
-       1058, 1146
+       -1, 822,
+       933, 1048,
+       939, 1052,
+       1072, 1169,
+       1073, 1170,
+       1074, 1171
 };
-static int parser_goto_row94[] = {
+static int parser_goto_row93[] = {
        1,
-       -1, 814
+       -1, 823
 };
-static int parser_goto_row95[] = {
+static int parser_goto_row94[] = {
        2,
-       -1, 815,
-       796, 926
+       -1, 824,
+       805, 937
+};
+static int parser_goto_row95[] = {
+       11,
+       -1, 746,
+       636, 753,
+       669, 781,
+       785, 921,
+       900, 1025,
+       1022, 1131,
+       1036, 1144,
+       1128, 1225,
+       1290, 1338,
+       1365, 1376,
+       1382, 1387
 };
 static int parser_goto_row96[] = {
-       9,
-       -1, 740,
-       632, 747,
-       663, 773,
-       776, 910,
-       891, 1012,
-       1009, 1111,
-       1109, 1197,
-       1257, 1302,
-       1326, 1336
+       3,
+       -1, 747,
+       528, 651,
+       1127, 1224
 };
 static int parser_goto_row97[] = {
-       3,
-       -1, 741,
-       525, 647,
-       1108, 1196
+       6,
+       -1, 451,
+       322, 455,
+       450, 560,
+       673, 787,
+       765, 903,
+       1136, 1232
 };
 static int parser_goto_row98[] = {
-       6,
-       -1, 448,
-       320, 452,
-       447, 554,
-       666, 778,
-       759, 894,
-       1116, 1203
+       1,
+       -1, 452
 };
 static int parser_goto_row99[] = {
-       1,
-       -1, 449
+       3,
+       -1, 918,
+       923, 1040,
+       1146, 1240
 };
 static int parser_goto_row100[] = {
-       2,
-       -1, 907,
-       912, 1024
+       1,
+       -1, 652
 };
 static int parser_goto_row101[] = {
        1,
-       -1, 648
+       -1, 653
 };
 static int parser_goto_row102[] = {
        1,
-       -1, 649
+       -1, 654
 };
 static int parser_goto_row103[] = {
        1,
-       -1, 650
+       -1, 655
 };
 static int parser_goto_row104[] = {
        1,
-       -1, 651
+       -1, 656
 };
 static int parser_goto_row105[] = {
        1,
-       -1, 652
+       -1, 657
 };
 static int parser_goto_row106[] = {
        1,
-       -1, 653
+       -1, 658
 };
 static int parser_goto_row107[] = {
        1,
-       -1, 654
+       -1, 659
 };
 static int parser_goto_row108[] = {
-       1,
-       -1, 655
-};
-static int parser_goto_row109[] = {
        22,
-       -1, 908,
+       -1, 919,
        40, 182,
-       178, 318,
-       634, 750,
-       635, 752,
-       636, 754,
+       178, 320,
        638, 756,
-       751, 888,
-       753, 889,
-       755, 890,
-       760, 895,
-       761, 896,
-       892, 1013,
-       893, 1014,
-       898, 1018,
-       899, 1019,
-       1004, 1106,
-       1107, 1195,
-       1117, 1204,
-       1118, 1205,
-       1201, 1260,
-       1202, 1261
+       639, 758,
+       640, 760,
+       642, 762,
+       757, 897,
+       759, 898,
+       761, 899,
+       766, 904,
+       767, 905,
+       901, 1026,
+       902, 1027,
+       907, 1031,
+       908, 1032,
+       1016, 1125,
+       1126, 1223,
+       1137, 1233,
+       1138, 1234,
+       1230, 1294,
+       1231, 1295
 };
-static int parser_goto_row110[] = {
+static int parser_goto_row109[] = {
        1,
        -1, -1
 };
-static int parser_goto_row111[] = {
-       12,
+static int parser_goto_row110[] = {
+       16,
        -1, 141,
        34, 149,
-       526, 657,
-       568, 679,
-       627, 742,
-       632, 748,
-       663, 774,
-       682, 823,
-       776, 911,
-       1020, 1120,
-       1109, 1198,
-       1326, 1337
+       529, 661,
+       574, 686,
+       631, 748,
+       636, 754,
+       669, 782,
+       689, 832,
+       785, 922,
+       962, 1078,
+       1034, 1141,
+       1036, 1145,
+       1128, 1226,
+       1235, 1297,
+       1365, 1377,
+       1382, 1388
 };
-static int parser_goto_row112[] = {
+static int parser_goto_row111[] = {
        1,
        -1, -1
 };
-static int parser_goto_row113[] = {
+static int parser_goto_row112[] = {
        1,
        -1, -1
 };
-static int parser_goto_row114[] = {
+static int parser_goto_row113[] = {
        2,
        -1, 127,
-       1192, 1255
+       1220, 1288
 };
-static int parser_goto_row115[] = {
+static int parser_goto_row114[] = {
        1,
        -1, 128
 };
-static int parser_goto_row116[] = {
+static int parser_goto_row115[] = {
        5,
        -1, 129,
-       238, 379,
-       388, 496,
-       390, 498,
-       497, 613
+       238, 381,
+       390, 499,
+       392, 501,
+       500, 617
 };
-static int parser_goto_row117[] = {
+static int parser_goto_row116[] = {
        1,
        -1, 130
 };
-static int parser_goto_row118[] = {
+static int parser_goto_row117[] = {
        11,
        -1, 131,
-       391, 499,
-       392, 500,
-       393, 501,
-       397, 505,
-       398, 506,
-       399, 507,
-       400, 508,
-       401, 509,
-       402, 510,
-       403, 511
+       393, 502,
+       394, 503,
+       395, 504,
+       399, 508,
+       400, 509,
+       401, 510,
+       402, 511,
+       403, 512,
+       404, 513,
+       405, 514
 };
-static int parser_goto_row119[] = {
+static int parser_goto_row118[] = {
        3,
        -1, 132,
-       395, 503,
-       396, 504
+       397, 506,
+       398, 507
 };
-static int parser_goto_row120[] = {
+static int parser_goto_row119[] = {
        6,
        -1, 133,
-       240, 381,
-       246, 386,
-       404, 512,
-       405, 513,
-       406, 514
+       240, 383,
+       246, 388,
+       406, 515,
+       407, 516,
+       408, 517
 };
-static int parser_goto_row121[] = {
+static int parser_goto_row120[] = {
        1,
        -1, 134
 };
-static int parser_goto_row122[] = {
+static int parser_goto_row121[] = {
        2,
        -1, 135,
        114, 244
 };
+static int parser_goto_row122[] = {
+       1,
+       -1, -1
+};
 static int parser_goto_row123[] = {
        1,
        -1, -1
@@ -16779,22 +17377,18 @@ static int parser_goto_row134[] = {
        -1, -1
 };
 static int parser_goto_row135[] = {
-       1,
-       -1, -1
-};
-static int parser_goto_row136[] = {
        2,
        -1, 14,
        4, 21
 };
-static int parser_goto_row137[] = {
+static int parser_goto_row136[] = {
        4,
        -1, 15,
        4, 22,
        14, 84,
        21, 97
 };
-static int parser_goto_row138[] = {
+static int parser_goto_row137[] = {
        8,
        -1, 16,
        4, 23,
@@ -16805,65 +17399,65 @@ static int parser_goto_row138[] = {
        84, 224,
        97, 231
 };
-static int parser_goto_row139[] = {
+static int parser_goto_row138[] = {
        4,
-       -1, 596,
-       521, 622,
-       591, 698,
-       620, 731
+       -1, 600,
+       524, 626,
+       595, 704,
+       624, 737
 };
-static int parser_goto_row140[] = {
+static int parser_goto_row139[] = {
        8,
-       -1, 597,
-       521, 623,
-       591, 699,
-       596, 712,
-       620, 732,
-       622, 735,
-       698, 843,
-       731, 874
+       -1, 601,
+       524, 627,
+       595, 705,
+       600, 718,
+       624, 738,
+       626, 741,
+       704, 851,
+       737, 882
+};
+static int parser_goto_row140[] = {
+       1,
+       -1, 981
 };
 static int parser_goto_row141[] = {
        1,
-       -1, 969
+       -1, 838
 };
 static int parser_goto_row142[] = {
        1,
-       -1, 830
+       -1, 592
 };
 static int parser_goto_row143[] = {
        1,
-       -1, 588
+       -1, 791
 };
 static int parser_goto_row144[] = {
-       1,
-       -1, 782
-};
-static int parser_goto_row145[] = {
        2,
        -1, 207,
-       273, 411
+       273, 413
 };
-static int parser_goto_row146[] = {
+static int parser_goto_row145[] = {
        1,
        -1, 216
 };
-static int parser_goto_row147[] = {
+static int parser_goto_row146[] = {
        3,
-       -1, 567,
-       495, 612,
-       607, 722
+       -1, 573,
+       498, 616,
+       611, 728
 };
-static int parser_goto_row148[] = {
+static int parser_goto_row147[] = {
        1,
        -1, 77
 };
-static int parser_goto_row149[] = {
+static int parser_goto_row148[] = {
        2,
        -1, 17,
        11, 78
 };
-static int parser_goto_row150[] = {
+static int parser_goto_row149[] = {
        3,
        -1, 18,
        17, 94,
@@ -17019,6 +17613,5 @@ const int* const parser_goto_table[] = {
        parser_goto_row146,
        parser_goto_row147,
        parser_goto_row148,
-       parser_goto_row149,
-       parser_goto_row150
+       parser_goto_row149
 };
index 780a118..1e2dda9 100644 (file)
@@ -27,17 +27,11 @@ class Lexer
        # Lexer current state
        var _state: Int = 0
 
-       # Name of the stream (as given to tokens)
-       readable var _filename: String
+       # The source file
+       readable var _file: SourceFile
 
-       # Input stream where character are read
-       var _stream: IStream
-
-       # Pushback buffer to store unread character
-       var _stream_buf: Buffer
-
-       # Number of character stored in the pushback buffer
-       var _stream_pos: Int
+       # Current character in the stream
+       var _stream_pos: Int = 0
 
        # Current line number in the input stream
        var _line: Int = 0
@@ -48,25 +42,15 @@ class Lexer
        # Was the last character a cariage-return?
        var _cr: Bool = false
 
-       # If the end of stream?
-       var _eof: Bool = false
-
-       # Current working text read from the input stream
-       var _text: Buffer
-
 $ foreach {lexer_data/state}
        # Constante state values
        private fun state_${translate(@name,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")}: Int do return @id end
 $ end foreach
 
        # Create a new lexer for a stream (and a name)
-       init(stream: IStream, fname: String)
+       init(file: SourceFile)
        do
-               _filename = fname
-               _text = new Buffer
-               _stream = stream
-               _stream_pos = -1
-               _stream_buf = new Buffer
+               _file = file
        end
 
        # Give the next token (but do not consume it)
@@ -94,8 +78,12 @@ $ end foreach
        do
                var dfa_state = 0
 
+               var sp = _stream_pos
+               var start_stream_pos = sp
                var start_pos = _pos
                var start_line = _line
+               var string = _file.string
+               var string_len = string.length
 
                var accept_state = -1
                var accept_token = -1
@@ -103,34 +91,35 @@ $ end foreach
                var accept_pos = -1
                var accept_line = -1
 
-               var text = _text
-               text.clear
-
                loop
-                       var c = get_char
+                       if sp >= string_len then
+                               dfa_state = -1
+                       else
+                               var c = string[sp].ascii
+                               sp += 1
 
-                       if c != -1 then
                                var cr = _cr
                                var line = _line
                                var pos = _pos
                                if c == 10 then
                                        if cr then
                                                cr = false
+                                               _file.line_starts[line] = sp
                                        else
                                                line = line + 1
                                                pos = 0
+                                               _file.line_starts[line] = sp
                                        end
                                else if c == 13 then
                                        line = line + 1
                                        pos = 0
                                        cr = true
+                                       _file.line_starts[line] = sp
                                else
                                        pos = pos + 1
                                        cr = false
                                end
 
-                               text.add(c.ascii)
-
                                loop
                                        var old_state = dfa_state
                                        if dfa_state < -1 then
@@ -163,8 +152,6 @@ $ end foreach
                                _cr = cr
                                _line = line
                                _pos = pos
-                       else
-                               dfa_state = -1
                        end
 
                        if dfa_state >= 0 then
@@ -172,16 +159,16 @@ $ end foreach
                                if tok != -1 then
                                        accept_state = dfa_state
                                        accept_token = tok
-                                       accept_length = text.length
+                                       accept_length = sp - start_stream_pos
                                        accept_pos = _pos
                                        accept_line = _line
                                end
                        else
                                if accept_state != -1 then
-                                       var location = new Location(_filename, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
+                                       var location = new Location(_file, start_line + 1, accept_line + 1, start_pos + 1, accept_pos)
                                        _pos = accept_pos
                                        _line = accept_line
-                                       push_back(accept_length)
+                                       _stream_pos = start_stream_pos + accept_length
 $ foreach {//token}
                                        if accept_token == ${position()-1} then
 $    if {count(transition[@from!=@to])!=0}
@@ -194,7 +181,7 @@ $        end
 $    end if
 $    if {@parser_index}
 $        if {not(@text)}
-                                               var token_text = text.substring(0, accept_length)
+                                               var token_text = string.substring(start_stream_pos, accept_length)
                                                return new @ename.init_tk(token_text, location)
 $        else
                                                return new @ename.init_tk(location)
@@ -205,8 +192,10 @@ $    end
                                        end
 $ end foreach
                                else
-                                       var location = new Location(_filename, start_line + 1, start_line + 1, start_pos + 1, start_pos + 1)
-                                       if text.length > 0 then
+                                       _stream_pos = sp
+                                       var location = new Location(_file, start_line + 1, start_line + 1, start_pos + 1, start_pos + 1)
+                                       if sp > start_stream_pos then
+                                               var text = string.substring(start_stream_pos, sp-start_stream_pos)
                                                var token = new PError.init_error("Syntax error: unknown token {text}.", location)
                                                return token
                                        else
@@ -217,46 +206,6 @@ $ end foreach
                        end
                end
        end
-
-       # Read the next character.
-       # The character is read from the stream of from the pushback buffer.
-       private fun get_char: Int
-       do
-               if _eof then
-                       return -1
-               end
-
-               var result: Int
-
-               var sp = _stream_pos
-               if sp >= 0 then
-                       var res = _stream_buf[_stream_pos]
-                       _stream_pos = sp - 1
-                       result = res.ascii
-               else
-                       result = _stream.read_char
-               end
-
-               if result == -1 then
-                       _eof = true
-               end
-
-               return result
-       end
-
-       # Unread some characters.
-       # Unread characters are stored in the pushback buffer.
-       private fun push_back(accept_length: Int)
-       do
-               var length = _text.length
-               var i = length - 1
-               while i >= accept_length do
-                       _eof = false
-                       _stream_pos = _stream_pos + 1
-                       _stream_buf[_stream_pos] = _text[i]
-                       i = i - 1
-               end
-       end
 end
 
 $ end template
index 56c1dfd..7439c7c 100644 (file)
@@ -276,6 +276,8 @@ private abstract class ReduceAction
                l1.append(l2)
                return l1
        end
+       var _goto: Int
+       init(g: Int) do _goto = g
 end
 
 $ foreach {rules/rule}
@@ -333,8 +335,6 @@ $   end choose
 $   end foreach
                                        p.push(p.go_to(_goto), node_list)
        end
-       var _goto: Int
-       init(g: Int) do _goto = g
 end
 $ end foreach
 $ end template
index afb15b7..d78829f 100644 (file)
@@ -625,7 +625,9 @@ redef class AForExpr
                v.seq = iclos.body
                escapable.continue_seq = iclos.body
                escapable.continue_value = null
-               v.stmt(new IMove(v.variable(variable), iclos.params.first))
+               for i in [0..variables.length[ do
+                       v.stmt(new IMove(v.variable(variables[i]), iclos.params[i]))
+               end
                v.generate_stmt(n_block)
 
                # Call closure
index bc8ce32..6acc061 100644 (file)
@@ -529,6 +529,7 @@ redef class AClassdef
                var local_classes = mod.src_local_classes
                if (local_classes.has_key(name)) then
                        local_class = local_classes[name]
+                       _local_class = local_class
                        if self isa AStdClassdef then
                                # If we are not a special implicit class then rant
                                v.error(self, "Error: A class {name} is already defined at line {local_class.node.location.line_start}.")
@@ -540,15 +541,16 @@ redef class AClassdef
                        n.next_node = self
                else
                        local_class = new MMSrcLocalClass(mod, name, self, arity)
+                       _local_class = local_class
                        local_classes[name] = local_class
                        if not mod.has_global_class_named(name) then
-                               local_class.new_global
+                               build_class_introduction(v)
                        else
-                               local_class.set_global(mod.global_class_named(name))
+                               var glob = mod.global_class_named(name)
+                               build_class_refinement(v, glob)
                        end
 
                end
-               _local_class = local_class
                v.local_class_arity = 0
                v.formals = local_class.formal_dict
 
@@ -559,6 +561,70 @@ redef class AClassdef
                v.formals = null
        end
 
+       fun build_class_introduction(v: AbsSyntaxVisitor)
+       do
+               local_class.new_global
+               var glob = local_class.global
+
+               glob.visibility_level = visibility_level
+               if self isa AStdClassdef then
+                       if n_kwredef != null then
+                               v.error(self, "Redef error: No class {name} is imported. Remove the redef keyword to define a new class.")
+                               return
+                       end
+                       glob.is_interface = n_classkind.is_interface
+                       glob.is_abstract = n_classkind.is_abstract
+                       glob.is_enum = n_classkind.is_enum
+               end
+       end
+
+       fun build_class_refinement(v: AbsSyntaxVisitor, glob: MMGlobalClass)
+       do
+               local_class.set_global(glob)
+
+               glob.check_visibility(v, self, v.mmmodule)
+               if self isa AStdClassdef and n_kwredef == null then
+                       v.error(self, "Redef error: {name} is an imported class. Add the redef keyword to refine it.")
+                       return
+               end
+
+               if glob.intro.arity != _local_class.arity then
+                       v.error(self, "Redef error: Formal parameter arity missmatch; got {_local_class.arity}, expected {glob.intro.arity}.")
+               end
+
+               if self isa AStdClassdef and (not glob.is_interface and n_classkind.is_interface or
+                       not glob.is_abstract and n_classkind.is_abstract or
+                       not glob.is_enum and n_classkind.is_enum)
+               then
+                       v.error(self, "Redef error: cannot change kind of class {name}.")
+               end
+       end
+
+       redef fun accept_class_verifier(v)
+       do
+               super
+               var glob = _local_class.global
+               for c in _local_class.cshe.direct_greaters do
+                       var cg = c.global
+                       if glob.is_interface then
+                               if cg.is_enum then
+                                       v.error(self, "Special error: Interface {name} try to specialise enum class {c.name}.")
+                               else if not cg.is_interface then
+                                       v.error(self, "Special error: Interface {name} try to specialise class {c.name}.")
+                               end
+                       else if glob.is_enum then
+                               if not cg.is_interface and not cg.is_enum then
+                                       v.error(self, "Special error: Enum class {name} try to specialise class {c.name}.")
+                               end
+                       else
+                               if cg.is_enum then
+                                       v.error(self, "Special error: Class {name} try to specialise enum class {c.name}.")
+                               end
+                       end
+
+               end
+       end
+
        redef fun accept_abs_syntax_visitor(v)
        do
                v.local_class = _local_class
@@ -845,7 +911,9 @@ redef class APropdef
                #print "process {prop.local_class.mmmodule}::{prop.local_class}::{prop} from global {prop.global.local_property.local_class.mmmodule}::{prop.global.local_property.local_class}::{prop.global.local_property}"
                for i in prop.prhe.direct_greaters do
                        var ip = i.local_class[prop.global]
-                       var isig = i.signature.adaptation_to(v.local_class.get_type)
+                       var isig = i.signature
+                       if isig == null then break # previous signature is invalid
+                       isig = isig.adaptation_to(v.local_class.get_type)
 
                        if s == null then
                                #print "{prop.full_name} inherits signature from {ip.full_name}"
@@ -880,11 +948,22 @@ redef class APropdef
 
                        if s.arity != isig.arity then
                                v.error(self, "Redef error: {prop.local_class}::{prop} redefines {ip.local_class}::{ip} with {isig.arity} parameter(s).")
-                       else
-                               for j in [0..s.arity[ do
-                                       if s[j] != isig[j] then
-                                               v.error(self, "Redef error: Expected {isig[j]} (as in {ip.local_class}::{ip}), got {s[j]} in {prop.local_class}::{prop}.")
+                       else if s.arity > 0 then
+                               if self isa AMethPropdef then
+                                       # A standard method
+                                       for j in [0..s.arity[ do
+                                               if s[j] != isig[j] then
+                                                       v.error(n_signature.n_params[j], "Redef error: Expected {isig[j]}, as in {ip.local_class}::{ip}.")
+                                               end
+                                       end
+                               else if self isa AAttrPropdef then
+                                       # A write accessor
+                                       if s[0] != isig[0] then
+                                               v.error(n_type, "Redef error: Expected {isig[0]}, as in the parameter of {ip.local_class}::{ip}.")
                                        end
+
+                               else
+                                       abort #
                                end
                        end
 
@@ -895,13 +974,21 @@ redef class APropdef
                        else if srt != null and isrt == null then
                                v.error(self, "Redef error: The function {prop.local_class}::{prop} redefines the procedure {ip.local_class}::{ip}.")
                        else if srt != null and isrt != null and not srt < isrt then
-                               v.error(self, "Redef error: Expected {isrt} (as in {ip.local_class}::{ip}), got {srt} in {prop.local_class}::{prop}.")
+                               var n: nullable ANode = null
+                               if self isa AMethPropdef then
+                                       n = self.n_signature.n_type
+                               else if self isa AAttrPropdef then
+                                       n = self.n_type
+                               else if self isa ATypePropdef then
+                                       n = self.n_type
+                               end
+                               v.error(n, "Redef error: Expected {isrt}, as in {ip.local_class}::{ip}.")
                        else if not s < isig and nberr == v.tc.error_count then
                                # Systematic fallback for conformance check
                                v.error(self, "Redef error: Incompatible redefinition of {ip.local_class}::{ip} with {prop.local_class}::{prop}")
                        else if srt != null and isrt != null and srt != isrt and prop isa MMAttribute then
                                # FIXME: To remove
-                               v.warning(self, "Redef warning: Expected {isrt} (as in {ip.local_class}::{ip}), got {srt} in {prop.local_class}::{prop}.")
+                               v.warning(self, "Redef warning: Expected {isrt}, as in {ip.local_class}::{ip}.")
                        end
                end
 
index a4cbaf0..aa17066 100644 (file)
@@ -42,7 +42,8 @@ class SrcModuleLoader
                        context.error( null, "{filename}: Error module name \"{name}\", must start with a lower case letter and contain only letters, digits and '_'." )
                end
 
-               var lexer = new Lexer(file, filename)
+               var source = new SourceFile(filename, file)
+               var lexer = new Lexer(source)
                var parser = new Parser(lexer)
                var node_tree = parser.parse
                if node_tree.n_base == null then
@@ -52,7 +53,7 @@ class SrcModuleLoader
                end
                var node_module = node_tree.n_base
                assert node_module != null
-               var module_loc = new Location.with_file(filename)
+               var module_loc = new Location.with_file(source)
                var mod = new MMSrcModule(context, node_module, dir, name, module_loc)
                return mod
        end
index 09273ad..ab3020e 100644 (file)
@@ -338,12 +338,6 @@ class AbsSyntaxVisitor
                return get_type_by_name(once ("String".to_symbol))
        end
 
-       # The primitive type Collection[nullable Object]
-       fun type_collection: MMType
-       do
-               return get_instantiated_type_by_name(once ("Collection".to_symbol), [type_object.as_nullable])
-       end
-
        # The primitive type NativeString
        fun type_nativestring: MMType
        do
@@ -399,19 +393,19 @@ class AbsSyntaxVisitor
        # Display an error for a given syntax node
        fun error(n: nullable ANode, s: String)
        do
-               _tc.error(if n == null then null else n.location, s)
+               _tc.error(if n == null then null else n.hot_location, s)
        end
 
        # Add an error, show errors and quit
        fun fatal_error(n: nullable ANode, s: String)
        do
-               _tc.fatal_error(if n == null then null else n.location, s)
+               _tc.fatal_error(if n == null then null else n.hot_location, s)
        end
 
        # Display a warning for a given syntax node
        fun warning(n: nullable ANode, s: String)
        do
-               _tc.warning(if n == null then null else n.location, s)
+               _tc.warning(if n == null then null else n.hot_location, s)
        end
 
        # Check conformity and display error
@@ -814,7 +808,7 @@ end
 
 redef class AForExpr
        # Associated automatic local variable
-       fun variable: AutoVariable is abstract
+       fun variables: Array[AutoVariable] is abstract
 end
 
 redef class ASelfExpr
index 0d3ac08..5795cb6 100644 (file)
@@ -637,8 +637,8 @@ end
 
 redef class AForExpr
        super AAbsControl
-       var _variable: nullable AutoVariable
-       redef fun variable do return _variable.as(not null)
+       var _variables: nullable Array[AutoVariable]
+       redef fun variables do return _variables.as(not null)
 
        redef fun accept_typing(v)
        do
@@ -650,24 +650,7 @@ redef class AForExpr
                v.scope_ctx.push(self)
                var old_flow_ctx = v.flow_ctx
 
-               # Create the automatic variable
-               var va = new AutoVariable(n_id.to_symbol, n_id)
-               _variable = va
-               v.scope_ctx.add_variable(va)
-
-               # Process collection
-               v.enter_visit(n_expr)
-
-               if not v.check_conform_expr(n_expr, v.type_collection) then return
-               var expr_type = n_expr.stype
-
-               # Get iterator
-               var meth_iterator = v.get_method(expr_type, once "iterator".to_symbol)
-               var iter_type = meth_iterator.signature_for(expr_type).return_type.as(not null)
-               var meth_item = v.get_method(iter_type, once ("item".to_symbol))
-               var va_stype = meth_item.signature_for(iter_type).return_type.as(not null)
-               if not n_expr.is_self then va_stype = va_stype.not_for_self
-               va.stype = va_stype
+               do_typing(v)
 
                # Process inside
                v.enter_visit_block(n_block)
@@ -676,6 +659,64 @@ redef class AForExpr
                v.flow_ctx = old_flow_ctx
                v.scope_ctx.pop
        end
+
+       private fun do_typing(v: TypingVisitor)
+       do
+               # Create the automatic variables
+               var vas = new Array[AutoVariable]
+               for n_id in n_ids do
+                       var va = new AutoVariable(n_id.to_symbol, n_id)
+                       v.scope_ctx.add_variable(va)
+                       vas.add(va)
+               end
+               _variables = vas
+
+               # Process reciever
+               v.enter_visit(n_expr)
+               if not v.check_expr(n_expr) then return
+               var expr_type = n_expr.stype
+
+               if expr_type.is_nullable then
+                       v.error(n_expr, "Type error: 'for' on a nullable expression.")
+                       return
+               end
+
+               # Get iterate
+               var iterate_name = once "iterate".to_symbol
+               if not expr_type.local_class.has_global_property_by_name(iterate_name) then
+                       v.error(n_expr, "Type error: Expected a type with an 'iterate' method. Found {expr_type}.")
+                       return
+               end
+               var prop = expr_type.local_class.select_method(iterate_name)
+               prop.global.check_visibility(v, self, v.mmmodule, n_expr.is_self)
+               var psig = prop.signature_for(expr_type)
+               if not n_expr.is_self then psig = psig.not_for_self
+               if psig.arity != 0 then
+                       v.error(self, "Error: 'iterate' incompatible with 'for': require no arguments.")
+                       return
+               else if psig.closures.length != 1 then
+                       v.error(self, "Error: 'iterate' incompatible with 'for': require one closure.")
+                       return
+               end
+               psig = psig.closures.first.signature
+               if psig.return_type != null then
+                       v.error(self, "Error: 'iterate' incompatible with 'for': require one procedural closure.")
+                       return
+               end
+               if vas.length != psig.arity then
+                       if psig.arity == 1 then
+                               v.error(self, "Error: Expected {psig.arity} variable {psig}, found {vas.length}.")
+                       else
+                               v.error(self, "Error: Expected {psig.arity} variables {psig}, found {vas.length}.")
+                       end
+                       return
+               end
+
+               # Type the automatic variables
+               for i in [0..vas.length[ do
+                       vas[i].stype = psig[i]
+               end
+       end
 end
 
 redef class AAssertExpr
similarity index 91%
rename from src/parser/test_parser.nit
rename to src/test_parser.nit
index fd53079..8824764 100644 (file)
@@ -25,7 +25,11 @@ class PrintTreeVisitor
        redef fun visit(n: nullable ANode)
        do
                if n == null then return
-               printn("  " * _rank, n.to_s, " ... ", n.location, "\n")
+               if n isa Token then
+                       printn("  " * _rank, n.to_s, " ... ", n.location, "\n")
+               else
+                       printn("  " * _rank, n.location, "\n")
+               end
                _rank = _rank + 1
                n.visit_all(self)
                _rank = _rank - 1
@@ -68,7 +72,7 @@ if args.is_empty or need_help then
 else
        for a in args do
                var f = new IFStream.open(a)
-               var lexer = new Lexer(f, a)
+               var lexer = new Lexer(new SourceFile(a, f))
                if only_lexer then
                        var token = lexer.next
                        while not token isa EOF do
index 3d91575..a45286a 100644 (file)
@@ -2,13 +2,13 @@
 all: separate global icode
 
 separate:
-       ./tests.sh *.nit ../examples/*.nit ../lib/*.nit ../src/nitdoc.nit ../src/nitc.nit
+       ./tests.sh *.nit ../examples/*.nit ../lib/*.nit ../src/nitdoc.nit ../src/nitc.nit ../src/test_parser.nit
 
 some:
        ./tests.sh base_compile.nit base_attr.nit base_gen.nit test_gen_inh.nit bench_fib.nit example_objet.nit
 
 global:
-       ./tests.sh -o --global *.nit ../examples/*.nit ../lib/*.nit ../src/nitdoc.nit ../src/nitc.nit
+       ./tests.sh -o --global *.nit ../examples/*.nit ../lib/*.nit ../src/nitdoc.nit ../src/nitc.nit ../src/test_parser.nit
 
 icode:
        ./tests_icode.sh icode*.nit
diff --git a/tests/base_attr7.nit b/tests/base_attr7.nit
new file mode 100644 (file)
index 0000000..c3605cc
--- /dev/null
@@ -0,0 +1,46 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+       fun foo: Int do return 1
+       fun bar=(i: Int)
+       do
+               '#'.output
+               i.output
+       end
+       fun baz: Int do return 3
+       fun baz=(i: Int)
+       do
+               '#'.output
+               i.output
+       end
+end
+
+class B
+       super A
+       #alt1#redef var foo: Bool = true
+       #alt2#var bar: Bool redef writable = true
+       #alt3#redef var baz: Bool redef writable = true
+end
+
+var b = new B
+b.foo.output
+'\n'.output
+b.bar = 200
+'\n'.output
+b.baz.output
+b.baz = 300
+b.baz.output
diff --git a/tests/base_for_custom.nit b/tests/base_for_custom.nit
new file mode 100644 (file)
index 0000000..c13e3b1
--- /dev/null
@@ -0,0 +1,48 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+       var v: Int
+       fun iterate #!alt1#
+       #alt1# fun foo
+               !each(i: Int) #!alt2# #!alt5#
+               #alt5#!each(i: Int): Int
+       do
+               each(v)
+       end
+end
+
+class B
+       var v: Int
+       fun iterate
+               !each(i: Int, j: Bool)
+       do
+               each(v, v != 0)
+       end
+end
+
+var a = new A(5)
+for i in a do #!alt3#
+#alt3#for i, j in a do
+       i.output
+end
+
+var b = new B(5)
+for i, j in b do #!alt4#
+#alt4#for i in b do
+       i.output
+       j.output #!alt4#
+end
diff --git a/tests/base_upcast.nit b/tests/base_upcast.nit
new file mode 100644 (file)
index 0000000..2e6f695
--- /dev/null
@@ -0,0 +1,79 @@
+import kernel
+
+class A[E]
+end
+
+class B[F] super A[F]
+end
+
+class C[G] super B[Int]
+end
+
+class D super C[Bool]
+end
+
+fun maybe: Bool do return true
+
+var ai = new A[Int]
+var ab = new A[Bool]
+var bi = new B[Int]
+var bb = new B[Bool]
+var ci = new C[Int]
+var cb = new C[Bool]
+var d = new D
+
+if maybe then ai = ai
+#alt1#if maybe then ai = ab
+if maybe then ai = bi
+#alt1#if maybe then ai = bb
+if maybe then ai = ci
+if maybe then ai = cb
+if maybe then ai = d
+
+#alt1#if maybe then ab = ai
+if maybe then ab = ab
+#alt1#if maybe then ab = bi
+if maybe then ab = bb
+#alt1#if maybe then ab = ci
+#alt1#if maybe then ab = cb
+#alt1#if maybe then ab = d
+
+#alt1#if maybe then bi = ai
+#alt1#if maybe then bi = ab
+if maybe then bi = bi
+#alt1#if maybe then bi = bb
+if maybe then bi = ci
+if maybe then bi = cb
+if maybe then bi = d
+
+#alt1#if maybe then bb = ai
+#alt1#if maybe then bb = ab
+#alt1#if maybe then bb = bi
+if maybe then bb = bb
+#alt1#if maybe then bb = ci
+#alt1#if maybe then bb = cb
+#alt1#if maybe then bb = d
+
+#alt1#if maybe then cb = ai
+#alt1#if maybe then ci = ab
+#alt1#if maybe then ci = bi
+#alt1#if maybe then ci = bb
+if maybe then ci = ci
+#alt1#if maybe then ci = cb
+#alt1#if maybe then ci = d
+
+#alt1#if maybe then cb = ai
+#alt1#if maybe then cb = ab
+#alt1#if maybe then cb = bi
+#alt1#if maybe then cb = bb
+#alt1#if maybe then cb = ci
+if maybe then cb = cb
+if maybe then cb = d
+
+#alt1#if maybe then d = ai
+#alt1#if maybe then d = ab
+#alt1#if maybe then d = bi
+#alt1#if maybe then d = bb
+#alt1#if maybe then d = ci
+#alt1#if maybe then d = cb
+if maybe then d = d
diff --git a/tests/base_upcast2.nit b/tests/base_upcast2.nit
new file mode 100644 (file)
index 0000000..476c44b
--- /dev/null
@@ -0,0 +1,41 @@
+import kernel
+
+class A[E]
+end
+
+class B[G] super A[Int]
+end
+
+class C super B[Bool]
+end
+
+class X
+       #1alt1#type T: A[Int]
+       #1alt2#type T: A[Bool]
+       #1alt3#type T: B[Int]
+       #1alt4#type T: B[Bool]
+       #1alt5#type T: C
+       fun toto
+       do
+               var ai = new A[Int]
+               var ab = new A[Bool]
+               var bi = new B[Int]
+               var bb = new B[Bool]
+               var c = new C
+
+               var t: T = c.as(T)
+               #alt1#if maybe then t = ai
+               #alt2#if maybe then t = ab
+               #alt3#if maybe then t = bi
+               #alt4#if maybe then t = bb
+               #alt5#if maybe then t = c
+               #alt6#if maybe then ai = t
+               #alt7#if maybe then ab = t
+               #alt8#if maybe then bi = t
+               #alt9#if maybe then bb = t
+               #alt10#if maybe then c = t
+       end
+end
+
+fun maybe: Bool do return true
+
diff --git a/tests/error_class_generic.nit b/tests/error_class_generic.nit
new file mode 100644 (file)
index 0000000..ea85015
--- /dev/null
@@ -0,0 +1,26 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import array
+
+#alt1#redef class Array
+#alt2#redef class Array[E: Float]
+#alt3#redef class Array[E: Float, E: Int]
+#alt4#class Array
+#alt5#class Array[E: Float]
+#alt6#class Array[E: Float, E: Int]
+end
+
+var c: Array = 5
+c.output
index 510e4bd..0e778f9 100644 (file)
@@ -14,8 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-class Object
-end
+import kernel
 
 class A
        super B
diff --git a/tests/error_redef.nit b/tests/error_redef.nit
new file mode 100644 (file)
index 0000000..02b4cf2
--- /dev/null
@@ -0,0 +1,36 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+       #1alt1#fun f1 do end
+       #1alt2#fun f1(i: Int) do end
+       #1alt3#fun f1: Int do return 0
+       #1alt4#fun f1(i: Int): Int do return i + 1
+end
+
+class B
+       super A
+       #alt1#redef fun f1 do end
+       #alt2#redef fun f1(i: Int) do end
+       #alt3#redef fun f1(i) do end
+       #alt4#redef fun f1 do return 0
+       #alt5#redef fun f1(i: Int) do return i + 1
+       #alt6#redef fun f1(i) do return i + 1
+       #alt7#redef fun f1: Int do return 0
+       #alt8#redef fun f1(i: Int): Int do return i + 1
+       #alt9#redef fun f1(i): Int do return i + 1
+end
+
diff --git a/tests/error_redef2.nit b/tests/error_redef2.nit
new file mode 100644 (file)
index 0000000..c86eb05
--- /dev/null
@@ -0,0 +1,36 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+       #1alt1#fun f1 do end
+       #1alt2#fun f1(i: Int) do end
+       #1alt3#fun f1: Int do return 0
+       #1alt4#fun f1(i: Int): Int do return i + 1
+end
+
+class B
+       super A
+       #alt1#fun f1 do end
+       #alt2#fun f1(i: Int) do end
+       #alt3#fun f1(i) do end
+       #alt4#fun f1 do return 0
+       #alt5#fun f1(i: Int) do return i + 1
+       #alt6#fun f1(i) do return i + 1
+       #alt7#fun f1: Int do return 0
+       #alt8#fun f1(i: Int): Int do return i + 1
+       #alt9#fun f1(i): Int do return i + 1
+end
+
diff --git a/tests/error_signature.nit b/tests/error_signature.nit
new file mode 100644 (file)
index 0000000..7da246a
--- /dev/null
@@ -0,0 +1,29 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+       fun foo: Fail do return 1
+end
+
+class B
+       super A
+       redef fun foo do return 2
+end
+
+class C
+       super A
+       redef fun foo: Int do return 3
+end
diff --git a/tests/error_type_unk.nit b/tests/error_type_unk.nit
new file mode 100644 (file)
index 0000000..a61fb0c
--- /dev/null
@@ -0,0 +1,35 @@
+import kernel
+
+class G[E]
+end
+
+#alt1# class H[E: Fail] end
+
+class A
+       #alt2#super Fail
+       #alt3#super G[Fail]
+       #alt2#super Fail[G]
+
+       #alt4#var v: Fail
+       #alt4#fun f(f: Fail): Fail do return f + 1
+       #alt5#var v: Fail
+       #alt5#fun f(f: Fail): Fail do return f + 1
+
+       fun f2 do
+               #alt6#var x: Fail 
+               #alt7#var y = new Fail
+               var z = 1
+               var b = z isa Fail
+               z = b + 1
+               var c = z.as(Fail)
+               z = c + 1
+       end
+end
+               
+class B
+       super A
+       #alt4# redef fun v do return super + 1
+       #alt4# redef fun f(f) do return f + 1
+       #alt5# redef fun v: Fail do return super + 1
+       #alt5# redef fun f(f: Fail): Fail do return f + 1
+end
index e65b884..d8a9533 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt1.nit:34,2--18: Redef error: B::foo is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt1.nit:34,6--8: Redef error: B::foo is an inherited property. To redefine it, add the redef keyword.
index 346d578..c09dc40 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt11.nit:41,2--18: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt11.nit:41,6--8: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
index 4a7fad3..94161cb 100644 (file)
@@ -1,2 +1,2 @@
-alt/base_attr5_alt12.nit:41,2--42,24: Error: No property B::bar is inherited. Remove the redef keyword to define a new property.
-alt/base_attr5_alt12.nit:41,2--42,24: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt12.nit:42,12--14: Error: No property B::bar is inherited. Remove the redef keyword to define a new property.
+alt/base_attr5_alt12.nit:42,12--14: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
index 55c9894..f94d858 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt13.nit:41,2--43,27: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt13.nit:43,6--8: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
index 32b4ed4..1da576a 100644 (file)
@@ -1,2 +1,2 @@
-alt/base_attr5_alt14.nit:41,2--44,33: Error: No property B::bar is inherited. Remove the redef keyword to define a new property.
-alt/base_attr5_alt14.nit:41,2--44,33: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt14.nit:44,12--14: Error: No property B::bar is inherited. Remove the redef keyword to define a new property.
+alt/base_attr5_alt14.nit:44,12--14: Redef error: B::bar= is an inherited property. To redefine it, add the redef keyword.
index 500c953..f39c3d7 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt16.nit:41,2--46,39: Error: No property B::bar is inherited. Remove the redef keyword to define a new property.
+alt/base_attr5_alt16.nit:46,12--14: Error: No property B::bar is inherited. Remove the redef keyword to define a new property.
index 842b17e..c3a66cf 100644 (file)
@@ -1,2 +1,2 @@
-alt/base_attr5_alt21.nit:48,2--18: Redef error: B::baz is an inherited property. To redefine it, add the redef keyword.
-alt/base_attr5_alt21.nit:48,2--18: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt21.nit:48,6--8: Redef error: B::baz is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt21.nit:48,6--8: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
index cbc00dc..522382e 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt22.nit:48,2--49,24: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt22.nit:49,12--14: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
index 3ee67c0..a6b02f7 100644 (file)
@@ -1,2 +1,2 @@
-alt/base_attr5_alt23.nit:48,2--50,27: Redef error: B::baz is an inherited property. To redefine it, add the redef keyword.
-alt/base_attr5_alt23.nit:48,2--50,27: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt23.nit:50,6--8: Redef error: B::baz is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt23.nit:50,6--8: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
index 33d26ec..6e9c596 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt24.nit:48,2--51,33: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt24.nit:51,12--14: Redef error: B::baz= is an inherited property. To redefine it, add the redef keyword.
index 79508d8..a51e259 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt25.nit:48,2--52,33: Redef error: B::baz is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt25.nit:52,6--8: Redef error: B::baz is an inherited property. To redefine it, add the redef keyword.
index b9792b5..2431981 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt3.nit:34,2--36,27: Redef error: B::foo is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt3.nit:36,6--8: Redef error: B::foo is an inherited property. To redefine it, add the redef keyword.
index 93e9b7d..5803835 100644 (file)
@@ -1,2 +1,2 @@
-alt/base_attr5_alt5.nit:34,2--38,33: Redef error: B::foo is an inherited property. To redefine it, add the redef keyword.
-alt/base_attr5_alt5.nit:34,2--38,33: Error: No property B::foo= is inherited. Remove the redef keyword to define a new property.
+alt/base_attr5_alt5.nit:38,6--8: Redef error: B::foo is an inherited property. To redefine it, add the redef keyword.
+alt/base_attr5_alt5.nit:38,6--8: Error: No property B::foo= is inherited. Remove the redef keyword to define a new property.
index 7756f12..a8a0ff4 100644 (file)
@@ -1 +1 @@
-alt/base_attr5_alt6.nit:34,2--39,39: Error: No property B::foo= is inherited. Remove the redef keyword to define a new property.
+alt/base_attr5_alt6.nit:39,12--14: Error: No property B::foo= is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/base_attr7.sav b/tests/sav/base_attr7.sav
new file mode 100644 (file)
index 0000000..6744b71
--- /dev/null
@@ -0,0 +1,7 @@
+1
+
+#200
+
+3
+#300
+3
diff --git a/tests/sav/base_attr7_alt1.sav b/tests/sav/base_attr7_alt1.sav
new file mode 100644 (file)
index 0000000..24902c1
--- /dev/null
@@ -0,0 +1 @@
+alt/base_attr7_alt1.nit:34,17--20: Redef error: Expected Int, as in A::foo.
diff --git a/tests/sav/base_attr7_alt2.sav b/tests/sav/base_attr7_alt2.sav
new file mode 100644 (file)
index 0000000..2253530
--- /dev/null
@@ -0,0 +1 @@
+alt/base_attr7_alt2.nit:35,11--14: Redef error: Expected Int, as in the parameter of A::bar=.
diff --git a/tests/sav/base_attr7_alt3.sav b/tests/sav/base_attr7_alt3.sav
new file mode 100644 (file)
index 0000000..ac94207
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_attr7_alt3.nit:36,17--20: Redef error: Expected Int, as in A::baz.
+alt/base_attr7_alt3.nit:36,17--20: Redef error: Expected Int, as in the parameter of A::baz=.
index 7013490..9d515d9 100644 (file)
@@ -1,2 +1,2 @@
-alt/base_control_flow_alt1.nit:26,1--30,2: Control error: Reached end of function (a 'return' with a value was expected).
-alt/base_control_flow_alt1.nit:33,1--41,2: Control error: Reached end of function (a 'return' with a value was expected).
+alt/base_control_flow_alt1.nit:26,5: Control error: Reached end of function (a 'return' with a value was expected).
+alt/base_control_flow_alt1.nit:33,5: Control error: Reached end of function (a 'return' with a value was expected).
diff --git a/tests/sav/base_for_custom.sav b/tests/sav/base_for_custom.sav
new file mode 100644 (file)
index 0000000..15a0116
--- /dev/null
@@ -0,0 +1,3 @@
+5
+5
+true
diff --git a/tests/sav/base_for_custom_alt1.sav b/tests/sav/base_for_custom_alt1.sav
new file mode 100644 (file)
index 0000000..5b50b23
--- /dev/null
@@ -0,0 +1 @@
+alt/base_for_custom_alt1.nit:37,10: Type error: Expected a type with an 'iterate' method. Found A.
diff --git a/tests/sav/base_for_custom_alt2.sav b/tests/sav/base_for_custom_alt2.sav
new file mode 100644 (file)
index 0000000..628b24a
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_for_custom_alt2.nit:22,3--8: Error: Method or variable 'each' unknown in A.
+alt/base_for_custom_alt2.nit:36,1--38,9: Error: 'iterate' incompatible with 'for': require one closure.
diff --git a/tests/sav/base_for_custom_alt3.sav b/tests/sav/base_for_custom_alt3.sav
new file mode 100644 (file)
index 0000000..fcb5137
--- /dev/null
@@ -0,0 +1 @@
+alt/base_for_custom_alt3.nit:38,1--39,9: Error: Expected 1 variable (i: Int), found 2.
diff --git a/tests/sav/base_for_custom_alt4.sav b/tests/sav/base_for_custom_alt4.sav
new file mode 100644 (file)
index 0000000..bb74cf2
--- /dev/null
@@ -0,0 +1 @@
+alt/base_for_custom_alt4.nit:44,1--45,9: Error: Expected 2 variables (i: Int, j: Bool), found 1.
diff --git a/tests/sav/base_for_custom_alt5.sav b/tests/sav/base_for_custom_alt5.sav
new file mode 100644 (file)
index 0000000..23430d1
--- /dev/null
@@ -0,0 +1 @@
+alt/base_for_custom_alt5.nit:37,1--39,9: Error: 'iterate' incompatible with 'for': require one procedural closure.
index 2f118ea..bf88578 100644 (file)
@@ -1 +1 @@
-alt/base_init_inherit2_alt3.nit:75,1--81,7: Error: Explicit constructor required in N since multiple inheritance of constructor is forbiden. Conflicting classes are B, C. Costructors are base_init_inherit2_alt3::B::cb, base_init_inherit2_alt3::A::ca, base_init_inherit2_alt3::C::cc.
+alt/base_init_inherit2_alt3.nit:75,7: Error: Explicit constructor required in N since multiple inheritance of constructor is forbiden. Conflicting classes are B, C. Costructors are base_init_inherit2_alt3::B::cb, base_init_inherit2_alt3::A::ca, base_init_inherit2_alt3::C::cc.
index daceadd..64617a6 100644 (file)
@@ -1 +1 @@
-./base_init_inherit3.nit:85,2--88,7: Error: No property Q::foo is inherited. Remove the redef keyword to define a new property.
+./base_init_inherit3.nit:85,12--14: Error: No property Q::foo is inherited. Remove the redef keyword to define a new property.
index 8c60593..c7c14d4 100644 (file)
@@ -1 +1 @@
-alt/base_init_linext2_alt2.nit:99,2--112,12: Error: there is no available compatible constructor in B. Discarded candidates are base_init_linext2_alt2::B::initb, base_init_linext2_alt2::B::init_par, base_init_linext2_alt2::B::init_par2(c: Char).
+alt/base_init_linext2_alt2.nit:99,2--5: Error: there is no available compatible constructor in B. Discarded candidates are base_init_linext2_alt2::B::initb, base_init_linext2_alt2::B::init_par, base_init_linext2_alt2::B::init_par2(c: Char).
index e4441aa..d7cc7d5 100644 (file)
@@ -1,2 +1,2 @@
+alt/base_init_linext2_alt4.nit:99,2--5: Error: there is no available compatible constructor in B. Discarded candidates are base_init_linext2_alt4::B::initb, base_init_linext2_alt4::B::init_par, base_init_linext2_alt4::B::init_par2(c: Char).
 alt/base_init_linext2_alt4.nit:105,3--7: Error: Constructor of B must be invoked before constructor of C
-alt/base_init_linext2_alt4.nit:99,2--113,12: Error: there is no available compatible constructor in B. Discarded candidates are base_init_linext2_alt4::B::initb, base_init_linext2_alt4::B::init_par, base_init_linext2_alt4::B::init_par2(c: Char).
index c31ffd1..8726ea6 100644 (file)
@@ -1,3 +1,3 @@
-alt/base_init_simple_alt1.nit:11,2--25: Error: No property B::init is inherited. Remove the redef keyword to define a new property.
-alt/base_init_simple_alt1.nit:12,2--31: Error: No property B::init2 is inherited. Remove the redef keyword to define a new property.
-alt/base_init_simple_alt1.nit:13,2--31: Error: No property B::init3 is inherited. Remove the redef keyword to define a new property.
+alt/base_init_simple_alt1.nit:11,8--11: Error: No property B::init is inherited. Remove the redef keyword to define a new property.
+alt/base_init_simple_alt1.nit:12,8--11: Error: No property B::init2 is inherited. Remove the redef keyword to define a new property.
+alt/base_init_simple_alt1.nit:13,8--11: Error: No property B::init3 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/base_upcast.sav b/tests/sav/base_upcast.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2.sav b/tests/sav/base_upcast2.sav
new file mode 100644 (file)
index 0000000..addae0d
--- /dev/null
@@ -0,0 +1,2 @@
+./base_upcast2.nit:26,10: Type error: class T not found in module base_upcast2.
+./base_upcast2.nit:26,19: Type error: class T not found in module base_upcast2.
diff --git a/tests/sav/base_upcast2_1alt1.sav b/tests/sav/base_upcast2_1alt1.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt1_alt1.sav b/tests/sav/base_upcast2_1alt1_alt1.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt1_alt10.sav b/tests/sav/base_upcast2_1alt1_alt10.sav
new file mode 100644 (file)
index 0000000..99abb44
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt1_alt10.nit:36,21: Type error: expected C, got T
diff --git a/tests/sav/base_upcast2_1alt1_alt2.sav b/tests/sav/base_upcast2_1alt1_alt2.sav
new file mode 100644 (file)
index 0000000..c5765b7
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt1_alt2.nit:28,21--22: Type error: expected T, got A[Bool]
diff --git a/tests/sav/base_upcast2_1alt1_alt3.sav b/tests/sav/base_upcast2_1alt1_alt3.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt1_alt4.sav b/tests/sav/base_upcast2_1alt1_alt4.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt1_alt5.sav b/tests/sav/base_upcast2_1alt1_alt5.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt1_alt6.sav b/tests/sav/base_upcast2_1alt1_alt6.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt1_alt7.sav b/tests/sav/base_upcast2_1alt1_alt7.sav
new file mode 100644 (file)
index 0000000..29fe46d
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt1_alt7.nit:33,22: Type error: expected A[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt1_alt8.sav b/tests/sav/base_upcast2_1alt1_alt8.sav
new file mode 100644 (file)
index 0000000..4f33a48
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt1_alt8.nit:34,22: Type error: expected B[Int], got T
diff --git a/tests/sav/base_upcast2_1alt1_alt9.sav b/tests/sav/base_upcast2_1alt1_alt9.sav
new file mode 100644 (file)
index 0000000..3191dca
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt1_alt9.nit:35,22: Type error: expected B[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt2.sav b/tests/sav/base_upcast2_1alt2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt2_alt1.sav b/tests/sav/base_upcast2_1alt2_alt1.sav
new file mode 100644 (file)
index 0000000..63071d3
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt1.nit:27,21--22: Type error: expected T, got A[Int]
diff --git a/tests/sav/base_upcast2_1alt2_alt10.sav b/tests/sav/base_upcast2_1alt2_alt10.sav
new file mode 100644 (file)
index 0000000..8d013a7
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt10.nit:36,21: Type error: expected C, got T
diff --git a/tests/sav/base_upcast2_1alt2_alt2.sav b/tests/sav/base_upcast2_1alt2_alt2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt2_alt3.sav b/tests/sav/base_upcast2_1alt2_alt3.sav
new file mode 100644 (file)
index 0000000..693f2b2
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt3.nit:29,21--22: Type error: expected T, got B[Int]
diff --git a/tests/sav/base_upcast2_1alt2_alt4.sav b/tests/sav/base_upcast2_1alt2_alt4.sav
new file mode 100644 (file)
index 0000000..c8dcf37
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt4.nit:30,21--22: Type error: expected T, got B[Bool]
diff --git a/tests/sav/base_upcast2_1alt2_alt5.sav b/tests/sav/base_upcast2_1alt2_alt5.sav
new file mode 100644 (file)
index 0000000..f314d20
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt5.nit:31,21: Type error: expected T, got C
diff --git a/tests/sav/base_upcast2_1alt2_alt6.sav b/tests/sav/base_upcast2_1alt2_alt6.sav
new file mode 100644 (file)
index 0000000..afb8ffe
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt6.nit:32,22: Type error: expected A[Int], got T
diff --git a/tests/sav/base_upcast2_1alt2_alt7.sav b/tests/sav/base_upcast2_1alt2_alt7.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt2_alt8.sav b/tests/sav/base_upcast2_1alt2_alt8.sav
new file mode 100644 (file)
index 0000000..ab7c7d3
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt8.nit:34,22: Type error: expected B[Int], got T
diff --git a/tests/sav/base_upcast2_1alt2_alt9.sav b/tests/sav/base_upcast2_1alt2_alt9.sav
new file mode 100644 (file)
index 0000000..c687866
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt2_alt9.nit:35,22: Type error: expected B[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt3.sav b/tests/sav/base_upcast2_1alt3.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt3_alt1.sav b/tests/sav/base_upcast2_1alt3_alt1.sav
new file mode 100644 (file)
index 0000000..665bd2b
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt1.nit:27,21--22: Type error: expected T, got A[Int]
diff --git a/tests/sav/base_upcast2_1alt3_alt10.sav b/tests/sav/base_upcast2_1alt3_alt10.sav
new file mode 100644 (file)
index 0000000..b64929b
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt10.nit:36,21: Type error: expected C, got T
diff --git a/tests/sav/base_upcast2_1alt3_alt2.sav b/tests/sav/base_upcast2_1alt3_alt2.sav
new file mode 100644 (file)
index 0000000..bd148da
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt2.nit:28,21--22: Type error: expected T, got A[Bool]
diff --git a/tests/sav/base_upcast2_1alt3_alt3.sav b/tests/sav/base_upcast2_1alt3_alt3.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt3_alt4.sav b/tests/sav/base_upcast2_1alt3_alt4.sav
new file mode 100644 (file)
index 0000000..9ffa5b1
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt4.nit:30,21--22: Type error: expected T, got B[Bool]
diff --git a/tests/sav/base_upcast2_1alt3_alt5.sav b/tests/sav/base_upcast2_1alt3_alt5.sav
new file mode 100644 (file)
index 0000000..7c1ab2b
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt5.nit:31,21: Type error: expected T, got C
diff --git a/tests/sav/base_upcast2_1alt3_alt6.sav b/tests/sav/base_upcast2_1alt3_alt6.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt3_alt7.sav b/tests/sav/base_upcast2_1alt3_alt7.sav
new file mode 100644 (file)
index 0000000..b2aeba1
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt7.nit:33,22: Type error: expected A[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt3_alt8.sav b/tests/sav/base_upcast2_1alt3_alt8.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt3_alt9.sav b/tests/sav/base_upcast2_1alt3_alt9.sav
new file mode 100644 (file)
index 0000000..f6151ca
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt3_alt9.nit:35,22: Type error: expected B[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt4.sav b/tests/sav/base_upcast2_1alt4.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt4_alt1.sav b/tests/sav/base_upcast2_1alt4_alt1.sav
new file mode 100644 (file)
index 0000000..b01c65b
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt4_alt1.nit:27,21--22: Type error: expected T, got A[Int]
diff --git a/tests/sav/base_upcast2_1alt4_alt10.sav b/tests/sav/base_upcast2_1alt4_alt10.sav
new file mode 100644 (file)
index 0000000..7943796
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt4_alt10.nit:36,21: Type error: expected C, got T
diff --git a/tests/sav/base_upcast2_1alt4_alt2.sav b/tests/sav/base_upcast2_1alt4_alt2.sav
new file mode 100644 (file)
index 0000000..b3e05c4
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt4_alt2.nit:28,21--22: Type error: expected T, got A[Bool]
diff --git a/tests/sav/base_upcast2_1alt4_alt3.sav b/tests/sav/base_upcast2_1alt4_alt3.sav
new file mode 100644 (file)
index 0000000..4b97161
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt4_alt3.nit:29,21--22: Type error: expected T, got B[Int]
diff --git a/tests/sav/base_upcast2_1alt4_alt4.sav b/tests/sav/base_upcast2_1alt4_alt4.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt4_alt5.sav b/tests/sav/base_upcast2_1alt4_alt5.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt4_alt6.sav b/tests/sav/base_upcast2_1alt4_alt6.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt4_alt7.sav b/tests/sav/base_upcast2_1alt4_alt7.sav
new file mode 100644 (file)
index 0000000..1ce4304
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt4_alt7.nit:33,22: Type error: expected A[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt4_alt8.sav b/tests/sav/base_upcast2_1alt4_alt8.sav
new file mode 100644 (file)
index 0000000..a636739
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt4_alt8.nit:34,22: Type error: expected B[Int], got T
diff --git a/tests/sav/base_upcast2_1alt4_alt9.sav b/tests/sav/base_upcast2_1alt4_alt9.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt5.sav b/tests/sav/base_upcast2_1alt5.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt5_alt1.sav b/tests/sav/base_upcast2_1alt5_alt1.sav
new file mode 100644 (file)
index 0000000..f831dac
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt5_alt1.nit:27,21--22: Type error: expected T, got A[Int]
diff --git a/tests/sav/base_upcast2_1alt5_alt10.sav b/tests/sav/base_upcast2_1alt5_alt10.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt5_alt2.sav b/tests/sav/base_upcast2_1alt5_alt2.sav
new file mode 100644 (file)
index 0000000..d640cb1
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt5_alt2.nit:28,21--22: Type error: expected T, got A[Bool]
diff --git a/tests/sav/base_upcast2_1alt5_alt3.sav b/tests/sav/base_upcast2_1alt5_alt3.sav
new file mode 100644 (file)
index 0000000..3bbdd6e
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt5_alt3.nit:29,21--22: Type error: expected T, got B[Int]
diff --git a/tests/sav/base_upcast2_1alt5_alt4.sav b/tests/sav/base_upcast2_1alt5_alt4.sav
new file mode 100644 (file)
index 0000000..b5701dd
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt5_alt4.nit:30,21--22: Type error: expected T, got B[Bool]
diff --git a/tests/sav/base_upcast2_1alt5_alt5.sav b/tests/sav/base_upcast2_1alt5_alt5.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt5_alt6.sav b/tests/sav/base_upcast2_1alt5_alt6.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_1alt5_alt7.sav b/tests/sav/base_upcast2_1alt5_alt7.sav
new file mode 100644 (file)
index 0000000..a670740
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt5_alt7.nit:33,22: Type error: expected A[Bool], got T
diff --git a/tests/sav/base_upcast2_1alt5_alt8.sav b/tests/sav/base_upcast2_1alt5_alt8.sav
new file mode 100644 (file)
index 0000000..ce4fd54
--- /dev/null
@@ -0,0 +1 @@
+alt/base_upcast2_1alt5_alt8.nit:34,22: Type error: expected B[Int], got T
diff --git a/tests/sav/base_upcast2_1alt5_alt9.sav b/tests/sav/base_upcast2_1alt5_alt9.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/base_upcast2_alt1.sav b/tests/sav/base_upcast2_alt1.sav
new file mode 100644 (file)
index 0000000..45c4c2f
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt1.nit:26,10: Type error: class T not found in module base_upcast2_alt1.
+alt/base_upcast2_alt1.nit:26,19: Type error: class T not found in module base_upcast2_alt1.
diff --git a/tests/sav/base_upcast2_alt10.sav b/tests/sav/base_upcast2_alt10.sav
new file mode 100644 (file)
index 0000000..34b5cef
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt10.nit:26,10: Type error: class T not found in module base_upcast2_alt10.
+alt/base_upcast2_alt10.nit:26,19: Type error: class T not found in module base_upcast2_alt10.
diff --git a/tests/sav/base_upcast2_alt2.sav b/tests/sav/base_upcast2_alt2.sav
new file mode 100644 (file)
index 0000000..01d11bc
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt2.nit:26,10: Type error: class T not found in module base_upcast2_alt2.
+alt/base_upcast2_alt2.nit:26,19: Type error: class T not found in module base_upcast2_alt2.
diff --git a/tests/sav/base_upcast2_alt3.sav b/tests/sav/base_upcast2_alt3.sav
new file mode 100644 (file)
index 0000000..2103603
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt3.nit:26,10: Type error: class T not found in module base_upcast2_alt3.
+alt/base_upcast2_alt3.nit:26,19: Type error: class T not found in module base_upcast2_alt3.
diff --git a/tests/sav/base_upcast2_alt4.sav b/tests/sav/base_upcast2_alt4.sav
new file mode 100644 (file)
index 0000000..2847390
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt4.nit:26,10: Type error: class T not found in module base_upcast2_alt4.
+alt/base_upcast2_alt4.nit:26,19: Type error: class T not found in module base_upcast2_alt4.
diff --git a/tests/sav/base_upcast2_alt5.sav b/tests/sav/base_upcast2_alt5.sav
new file mode 100644 (file)
index 0000000..16fcc2c
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt5.nit:26,10: Type error: class T not found in module base_upcast2_alt5.
+alt/base_upcast2_alt5.nit:26,19: Type error: class T not found in module base_upcast2_alt5.
diff --git a/tests/sav/base_upcast2_alt6.sav b/tests/sav/base_upcast2_alt6.sav
new file mode 100644 (file)
index 0000000..0a0b06e
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt6.nit:26,10: Type error: class T not found in module base_upcast2_alt6.
+alt/base_upcast2_alt6.nit:26,19: Type error: class T not found in module base_upcast2_alt6.
diff --git a/tests/sav/base_upcast2_alt7.sav b/tests/sav/base_upcast2_alt7.sav
new file mode 100644 (file)
index 0000000..98a8fa0
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt7.nit:26,10: Type error: class T not found in module base_upcast2_alt7.
+alt/base_upcast2_alt7.nit:26,19: Type error: class T not found in module base_upcast2_alt7.
diff --git a/tests/sav/base_upcast2_alt8.sav b/tests/sav/base_upcast2_alt8.sav
new file mode 100644 (file)
index 0000000..c727042
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt8.nit:26,10: Type error: class T not found in module base_upcast2_alt8.
+alt/base_upcast2_alt8.nit:26,19: Type error: class T not found in module base_upcast2_alt8.
diff --git a/tests/sav/base_upcast2_alt9.sav b/tests/sav/base_upcast2_alt9.sav
new file mode 100644 (file)
index 0000000..fae1658
--- /dev/null
@@ -0,0 +1,2 @@
+alt/base_upcast2_alt9.nit:26,10: Type error: class T not found in module base_upcast2_alt9.
+alt/base_upcast2_alt9.nit:26,19: Type error: class T not found in module base_upcast2_alt9.
diff --git a/tests/sav/base_upcast_alt1.sav b/tests/sav/base_upcast_alt1.sav
new file mode 100644 (file)
index 0000000..7a13355
--- /dev/null
@@ -0,0 +1,33 @@
+alt/base_upcast_alt1.nit:26,20--21: Type error: expected A[Int], got A[Bool]
+alt/base_upcast_alt1.nit:28,20--21: Type error: expected A[Int], got B[Bool]
+alt/base_upcast_alt1.nit:33,20--21: Type error: expected A[Bool], got A[Int]
+alt/base_upcast_alt1.nit:35,20--21: Type error: expected A[Bool], got B[Int]
+alt/base_upcast_alt1.nit:37,20--21: Type error: expected A[Bool], got C[Int]
+alt/base_upcast_alt1.nit:38,20--21: Type error: expected A[Bool], got C[Bool]
+alt/base_upcast_alt1.nit:39,20: Type error: expected A[Bool], got D
+alt/base_upcast_alt1.nit:41,20--21: Type error: expected B[Int], got A[Int]
+alt/base_upcast_alt1.nit:42,20--21: Type error: expected B[Int], got A[Bool]
+alt/base_upcast_alt1.nit:44,20--21: Type error: expected B[Int], got B[Bool]
+alt/base_upcast_alt1.nit:49,20--21: Type error: expected B[Bool], got A[Int]
+alt/base_upcast_alt1.nit:50,20--21: Type error: expected B[Bool], got A[Bool]
+alt/base_upcast_alt1.nit:51,20--21: Type error: expected B[Bool], got B[Int]
+alt/base_upcast_alt1.nit:53,20--21: Type error: expected B[Bool], got C[Int]
+alt/base_upcast_alt1.nit:54,20--21: Type error: expected B[Bool], got C[Bool]
+alt/base_upcast_alt1.nit:55,20: Type error: expected B[Bool], got D
+alt/base_upcast_alt1.nit:57,20--21: Type error: expected C[Bool], got A[Int]
+alt/base_upcast_alt1.nit:58,20--21: Type error: expected C[Int], got A[Bool]
+alt/base_upcast_alt1.nit:59,20--21: Type error: expected C[Int], got B[Int]
+alt/base_upcast_alt1.nit:60,20--21: Type error: expected C[Int], got B[Bool]
+alt/base_upcast_alt1.nit:62,20--21: Type error: expected C[Int], got C[Bool]
+alt/base_upcast_alt1.nit:63,20: Type error: expected C[Int], got D
+alt/base_upcast_alt1.nit:65,20--21: Type error: expected C[Bool], got A[Int]
+alt/base_upcast_alt1.nit:66,20--21: Type error: expected C[Bool], got A[Bool]
+alt/base_upcast_alt1.nit:67,20--21: Type error: expected C[Bool], got B[Int]
+alt/base_upcast_alt1.nit:68,20--21: Type error: expected C[Bool], got B[Bool]
+alt/base_upcast_alt1.nit:69,20--21: Type error: expected C[Bool], got C[Int]
+alt/base_upcast_alt1.nit:73,19--20: Type error: expected D, got A[Int]
+alt/base_upcast_alt1.nit:74,19--20: Type error: expected D, got A[Bool]
+alt/base_upcast_alt1.nit:75,19--20: Type error: expected D, got B[Int]
+alt/base_upcast_alt1.nit:76,19--20: Type error: expected D, got B[Bool]
+alt/base_upcast_alt1.nit:77,19--20: Type error: expected D, got C[Int]
+alt/base_upcast_alt1.nit:78,19--20: Type error: expected D, got C[Bool]
index 4259721..0415621 100644 (file)
@@ -1 +1 @@
-./error_attr_2def.nit:19,2--18: Error: A property _toto is already defined in class A.
+./error_attr_2def.nit:19,6--10: Error: A property _toto is already defined in class A.
diff --git a/tests/sav/error_class_generic.sav b/tests/sav/error_class_generic.sav
new file mode 100644 (file)
index 0000000..1e64252
--- /dev/null
@@ -0,0 +1 @@
+./error_class_generic.nit:23,1--3: Syntax error: unexpected token.
diff --git a/tests/sav/error_class_generic_alt1.sav b/tests/sav/error_class_generic_alt1.sav
new file mode 100644 (file)
index 0000000..f7e9a89
--- /dev/null
@@ -0,0 +1 @@
+alt/error_class_generic_alt1.nit:17,13--17: Redef error: Formal parameter arity missmatch; got 0, expected 1.
diff --git a/tests/sav/error_class_generic_alt2.sav b/tests/sav/error_class_generic_alt2.sav
new file mode 100644 (file)
index 0000000..3d9a1ed
--- /dev/null
@@ -0,0 +1 @@
+alt/error_class_generic_alt2.nit:18,19--26: Redef error: Cannot change formal parameter type of class Array; got Float, expected nullable Object.
diff --git a/tests/sav/error_class_generic_alt3.sav b/tests/sav/error_class_generic_alt3.sav
new file mode 100644 (file)
index 0000000..95235a6
--- /dev/null
@@ -0,0 +1 @@
+alt/error_class_generic_alt3.nit:19,13--17: Redef error: Formal parameter arity missmatch; got 2, expected 1.
diff --git a/tests/sav/error_class_generic_alt4.sav b/tests/sav/error_class_generic_alt4.sav
new file mode 100644 (file)
index 0000000..393c1d3
--- /dev/null
@@ -0,0 +1 @@
+alt/error_class_generic_alt4.nit:20,7--11: Redef error: Array is an imported class. Add the redef keyword to refine it.
diff --git a/tests/sav/error_class_generic_alt5.sav b/tests/sav/error_class_generic_alt5.sav
new file mode 100644 (file)
index 0000000..c5d9def
--- /dev/null
@@ -0,0 +1 @@
+alt/error_class_generic_alt5.nit:21,7--11: Redef error: Array is an imported class. Add the redef keyword to refine it.
diff --git a/tests/sav/error_class_generic_alt6.sav b/tests/sav/error_class_generic_alt6.sav
new file mode 100644 (file)
index 0000000..eebfb9c
--- /dev/null
@@ -0,0 +1 @@
+alt/error_class_generic_alt6.nit:22,7--11: Redef error: Array is an imported class. Add the redef keyword to refine it.
index 4bea07f..8c19fe3 100644 (file)
@@ -1 +1 @@
-./error_cons_arity.nit:19,1--28: Error: A class C is already defined at line 17.
+./error_cons_arity.nit:19,7: Error: A class C is already defined at line 17.
index f8c2f57..d040e00 100644 (file)
@@ -1 +1 @@
-./error_cons_arity2.nit:20,1--17: Error: A class A is already defined at line 17.
+./error_cons_arity2.nit:20,7: Error: A class A is already defined at line 17.
index 12d43e8..9a07352 100644 (file)
@@ -1 +1 @@
-./error_constraint.nit:20,1--17: Error: A class A is already defined at line 18.
+./error_constraint.nit:20,7: Error: A class A is already defined at line 18.
index 95b008c..51c7c1a 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt1.nit:19,1--20,32: Redef error: Object is an imported class. Add the redef keyword to refine it.
+alt/error_defs_alt1.nit:19,7--12: Redef error: Object is an imported class. Add the redef keyword to refine it.
index 39b7324..f5d22d8 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt2.nit:26,2--39: Error: A property foo is already defined in class A.
+alt/error_defs_alt2.nit:26,6--8: Error: A property foo is already defined in class A.
index f3e5eb4..addb686 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt3.nit:26,1--27,32: Redef error: A::bar is an inherited property. To redefine it, add the redef keyword.
+alt/error_defs_alt3.nit:27,6--8: Redef error: A::bar is an inherited property. To redefine it, add the redef keyword.
index f83c589..5588be1 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt4.nit:28,1--29,29: Redef error: A::baz is an inherited property. To redefine it, add the redef keyword.
+alt/error_defs_alt4.nit:29,6--8: Redef error: A::baz is an inherited property. To redefine it, add the redef keyword.
index df92802..ca07f29 100644 (file)
@@ -1,2 +1,2 @@
-alt/error_defs_alt5.nit:28,1--30,35: Redef error: A::baz redefines Object::baz with 0 parameter(s).
-alt/error_defs_alt5.nit:28,1--30,35: Redef error: The procedure A::baz redefines the function Object::baz.
+alt/error_defs_alt5.nit:30,12--14: Redef error: A::baz redefines Object::baz with 0 parameter(s).
+alt/error_defs_alt5.nit:30,12--14: Redef error: The procedure A::baz redefines the function Object::baz.
index feb1fa0..5f14bc0 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt6.nit:35,1--36,33: Error: A class A is already defined at line 24.
+alt/error_defs_alt6.nit:35,7: Error: A class A is already defined at line 24.
index 6b54313..cd3b438 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt7.nit:35,1--39,33: Error: A class A is already defined at line 24.
+alt/error_defs_alt7.nit:38,13: Error: A class A is already defined at line 24.
index af58be8..34f438c 100644 (file)
@@ -1 +1 @@
-alt/error_defs_alt8.nit:35,1--42,39: Error: A class A is already defined at line 24.
+alt/error_defs_alt8.nit:41,13: Error: A class A is already defined at line 24.
index 8124b4b..ef7fb5c 100644 (file)
@@ -31,6 +31,7 @@
 ./error_expr_not_ok.nit:66,21: Type error: expected A, got Int
 ./error_expr_not_ok.nit:67,15--18: Error: Method or variable 'fail' unknown in Sys.
 ./error_expr_not_ok.nit:69,10--13: Error: Method or variable 'fail' unknown in Sys.
+./error_expr_not_ok.nit:69,24: Type error: expected A, got Int
 ./error_expr_not_ok.nit:70,20--23: Error: Method or variable 'fail' unknown in Sys.
 ./error_expr_not_ok.nit:71,8--11: Error: Method or variable 'fail' unknown in Sys.
 ./error_expr_not_ok.nit:72,12--15: Error: Method or variable 'fail' unknown in Sys.
index c375f01..58fea73 100644 (file)
@@ -16,7 +16,8 @@ alt/error_expr_not_ok_alt2.nit:63,7--30: Type error: expected A, got Int
 alt/error_expr_not_ok_alt2.nit:64,7--33: Type error: expected A, got Int
 alt/error_expr_not_ok_alt2.nit:66,7--10: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt2.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt2.nit:69,10--13: Type error: expected Collection[nullable Object], got Int
+alt/error_expr_not_ok_alt2.nit:69,10--13: Type error: Expected a type with an 'iterate' method. Found Int.
+alt/error_expr_not_ok_alt2.nit:69,24: Type error: expected A, got Int
 alt/error_expr_not_ok_alt2.nit:71,8--11: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt2.nit:72,7--15: Type error: expected A, got Int
 alt/error_expr_not_ok_alt2.nit:73,7--10: Type error: expected Bool, got Int
index 748fba5..22eab02 100644 (file)
@@ -15,7 +15,8 @@ alt/error_expr_not_ok_alt3.nit:63,7--30: Type error: expected A, got Int
 alt/error_expr_not_ok_alt3.nit:64,7--33: Type error: expected A, got Int
 alt/error_expr_not_ok_alt3.nit:66,7--10: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt3.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt3.nit:69,10--13: Type error: expected Collection[nullable Object], got Int
+alt/error_expr_not_ok_alt3.nit:69,10--13: Type error: Expected a type with an 'iterate' method. Found Int.
+alt/error_expr_not_ok_alt3.nit:69,24: Type error: expected A, got Int
 alt/error_expr_not_ok_alt3.nit:71,8--11: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt3.nit:72,7--15: Type error: expected A, got Int
 alt/error_expr_not_ok_alt3.nit:73,7--10: Type error: expected Bool, got Int
index 08cdff4..000f220 100644 (file)
@@ -19,7 +19,8 @@ alt/error_expr_not_ok_alt4.nit:63,7--30: Type error: expected A, got Int
 alt/error_expr_not_ok_alt4.nit:64,7--33: Type error: expected A, got Int
 alt/error_expr_not_ok_alt4.nit:66,7--10: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt4.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt4.nit:69,10--13: Type error: expected Collection[nullable Object], got Int
+alt/error_expr_not_ok_alt4.nit:69,10--13: Type error: Expected a type with an 'iterate' method. Found Int.
+alt/error_expr_not_ok_alt4.nit:69,24: Type error: expected A, got Int
 alt/error_expr_not_ok_alt4.nit:71,8--11: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt4.nit:72,7--15: Type error: expected A, got Int
 alt/error_expr_not_ok_alt4.nit:73,7--10: Type error: expected Bool, got Int
index c792c2c..d8ddb31 100644 (file)
@@ -20,7 +20,8 @@ alt/error_expr_not_ok_alt5.nit:63,7--30: Type error: expected A, got Int
 alt/error_expr_not_ok_alt5.nit:64,7--33: Type error: expected A, got Int
 alt/error_expr_not_ok_alt5.nit:66,7--10: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt5.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt5.nit:69,10--13: Type error: expected Collection[nullable Object], got Int
+alt/error_expr_not_ok_alt5.nit:69,10--13: Type error: Expected a type with an 'iterate' method. Found Int.
+alt/error_expr_not_ok_alt5.nit:69,24: Type error: expected A, got Int
 alt/error_expr_not_ok_alt5.nit:71,8--11: Type error: expected Bool, got Int
 alt/error_expr_not_ok_alt5.nit:72,7--15: Type error: expected A, got Int
 alt/error_expr_not_ok_alt5.nit:73,7--10: Type error: expected Bool, got Int
index a925b8d..b2fb30a 100644 (file)
@@ -24,7 +24,8 @@ alt/error_expr_not_ok_alt6.nit:63,7--30: Type error: expected A, got nullable In
 alt/error_expr_not_ok_alt6.nit:64,7--33: Type error: expected A, got null
 alt/error_expr_not_ok_alt6.nit:66,7--10: Type error: expected Bool, got null
 alt/error_expr_not_ok_alt6.nit:66,21: Type error: expected A, got Int
-alt/error_expr_not_ok_alt6.nit:69,10--13: Type error: expected Collection[nullable Object], got null
+alt/error_expr_not_ok_alt6.nit:69,10--13: Type error: 'for' on a nullable expression.
+alt/error_expr_not_ok_alt6.nit:69,24: Type error: expected A, got Int
 alt/error_expr_not_ok_alt6.nit:71,8--11: Type error: expected Bool, got null
 alt/error_expr_not_ok_alt6.nit:72,7--15: Type error: expected A, got null
 alt/error_expr_not_ok_alt6.nit:73,7--10: Type error: expected Bool, got null
index 19225fb..0101540 100644 (file)
@@ -1 +1 @@
-./error_for_coll.nit:17,10: Type error: expected Collection[nullable Object], got Int
+./error_for_coll.nit:17,10: Type error: Expected a type with an 'iterate' method. Found Int.
index fb6ebcf..4843a8d 100644 (file)
@@ -1 +1 @@
-./error_fun_ret.nit:17,1--13: Control error: Reached end of function (a 'return' with a value was expected).
+./error_fun_ret.nit:17,5--8: Control error: Reached end of function (a 'return' with a value was expected).
index aed0a45..bff3d83 100644 (file)
@@ -1 +1 @@
-./error_fun_ret2.nit:17,1--20,10: Control error: Reached end of function (a 'return' with a value was expected).
+./error_fun_ret2.nit:17,5--8: Control error: Reached end of function (a 'return' with a value was expected).
index c89fa83..9ae2a2f 100644 (file)
@@ -1 +1 @@
-./error_fun_ret3.nit:17,1--21,10: Control error: Reached end of function (a 'return' with a value was expected).
+./error_fun_ret3.nit:17,5--8: Control error: Reached end of function (a 'return' with a value was expected).
index 93095b5..dda7702 100644 (file)
@@ -1 +1 @@
-./error_fun_ret4.nit:17,1--21,10: Control error: Reached end of function (a 'return' with a value was expected).
+./error_fun_ret4.nit:17,5--8: Control error: Reached end of function (a 'return' with a value was expected).
index 163a47d..4b06829 100644 (file)
@@ -1 +1 @@
-./error_fun_ret5.nit:17,1--20,10: Control error: Reached end of function (a 'return' with a value was expected).
+./error_fun_ret5.nit:17,5--8: Control error: Reached end of function (a 'return' with a value was expected).
index e16871e..243d43d 100644 (file)
@@ -1 +1 @@
-./error_kern_attr_any.nit:18,2--16: Error: Attempt to define attribute _toto in the interface Object.
+./error_kern_attr_any.nit:18,6--10: Error: Attempt to define attribute _toto in the interface Object.
index f5e7a14..36a25b8 100644 (file)
@@ -1 +1 @@
-./error_kern_attr_int.nit:18,2--18: Error: Attempt to define attribute _toto in the enum class Int.
+./error_kern_attr_int.nit:18,6--10: Error: Attempt to define attribute _toto in the enum class Int.
index c96f27e..39ba057 100644 (file)
@@ -1 +1 @@
-./error_meth_2def.nit:19,2--17: Error: A property toto is already defined in class A.
+./error_meth_2def.nit:19,6--9: Error: A property toto is already defined in class A.
index 7f3188f..3f5f14f 100644 (file)
@@ -1 +1 @@
-./error_meth_2def2.nit:19,2--34: Error: A property toto is already defined in class A.
+./error_meth_2def2.nit:19,6--9: Error: A property toto is already defined in class A.
index 71b0636..e69a9aa 100644 (file)
@@ -1 +1 @@
-alt/error_needed_types_alt8.nit:0,0: Missing necessary class: "Collection"
+alt/error_needed_types_alt8.nit:21,12--16: Type error: Expected a type with an 'iterate' method. Found L.
diff --git a/tests/sav/error_redef.sav b/tests/sav/error_redef.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2.sav b/tests/sav/error_redef2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_1alt1.sav b/tests/sav/error_redef2_1alt1.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_1alt1_alt1.sav b/tests/sav/error_redef2_1alt1_alt1.sav
new file mode 100644 (file)
index 0000000..ea3360c
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt1.nit:26,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt2.sav b/tests/sav/error_redef2_1alt1_alt2.sav
new file mode 100644 (file)
index 0000000..e1277dc
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt2.nit:27,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt3.sav b/tests/sav/error_redef2_1alt1_alt3.sav
new file mode 100644 (file)
index 0000000..5b5936d
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt3.nit:28,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt4.sav b/tests/sav/error_redef2_1alt1_alt4.sav
new file mode 100644 (file)
index 0000000..4da3993
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt4.nit:29,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt5.sav b/tests/sav/error_redef2_1alt1_alt5.sav
new file mode 100644 (file)
index 0000000..9e54eb0
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt5.nit:30,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt6.sav b/tests/sav/error_redef2_1alt1_alt6.sav
new file mode 100644 (file)
index 0000000..9babde1
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt6.nit:31,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt7.sav b/tests/sav/error_redef2_1alt1_alt7.sav
new file mode 100644 (file)
index 0000000..3c1d84a
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt7.nit:32,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt8.sav b/tests/sav/error_redef2_1alt1_alt8.sav
new file mode 100644 (file)
index 0000000..df3e30f
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt1_alt8.nit:33,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt1_alt9.sav b/tests/sav/error_redef2_1alt1_alt9.sav
new file mode 100644 (file)
index 0000000..79ba99b
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef2_1alt1_alt9.nit:34,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
+alt/error_redef2_1alt1_alt9.nit:34,9: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef2_1alt2.sav b/tests/sav/error_redef2_1alt2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_1alt2_alt1.sav b/tests/sav/error_redef2_1alt2_alt1.sav
new file mode 100644 (file)
index 0000000..03ee097
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt1.nit:26,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt2.sav b/tests/sav/error_redef2_1alt2_alt2.sav
new file mode 100644 (file)
index 0000000..e0730fd
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt2.nit:27,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt3.sav b/tests/sav/error_redef2_1alt2_alt3.sav
new file mode 100644 (file)
index 0000000..b74242e
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt3.nit:28,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt4.sav b/tests/sav/error_redef2_1alt2_alt4.sav
new file mode 100644 (file)
index 0000000..f4129a2
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt4.nit:29,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt5.sav b/tests/sav/error_redef2_1alt2_alt5.sav
new file mode 100644 (file)
index 0000000..39804df
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt5.nit:30,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt6.sav b/tests/sav/error_redef2_1alt2_alt6.sav
new file mode 100644 (file)
index 0000000..8e7e43b
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt6.nit:31,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt7.sav b/tests/sav/error_redef2_1alt2_alt7.sav
new file mode 100644 (file)
index 0000000..383a842
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt7.nit:32,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt8.sav b/tests/sav/error_redef2_1alt2_alt8.sav
new file mode 100644 (file)
index 0000000..21f9e03
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt2_alt8.nit:33,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt2_alt9.sav b/tests/sav/error_redef2_1alt2_alt9.sav
new file mode 100644 (file)
index 0000000..17cfb53
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef2_1alt2_alt9.nit:34,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
+alt/error_redef2_1alt2_alt9.nit:34,9: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef2_1alt3.sav b/tests/sav/error_redef2_1alt3.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_1alt3_alt1.sav b/tests/sav/error_redef2_1alt3_alt1.sav
new file mode 100644 (file)
index 0000000..dd6782e
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt1.nit:26,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt2.sav b/tests/sav/error_redef2_1alt3_alt2.sav
new file mode 100644 (file)
index 0000000..a4f042f
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt2.nit:27,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt3.sav b/tests/sav/error_redef2_1alt3_alt3.sav
new file mode 100644 (file)
index 0000000..b3bf863
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt3.nit:28,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt4.sav b/tests/sav/error_redef2_1alt3_alt4.sav
new file mode 100644 (file)
index 0000000..8ba1a15
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt4.nit:29,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt5.sav b/tests/sav/error_redef2_1alt3_alt5.sav
new file mode 100644 (file)
index 0000000..d77c465
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt5.nit:30,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt6.sav b/tests/sav/error_redef2_1alt3_alt6.sav
new file mode 100644 (file)
index 0000000..d6f25ab
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt6.nit:31,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt7.sav b/tests/sav/error_redef2_1alt3_alt7.sav
new file mode 100644 (file)
index 0000000..76ecfe4
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt7.nit:32,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt8.sav b/tests/sav/error_redef2_1alt3_alt8.sav
new file mode 100644 (file)
index 0000000..703266e
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt3_alt8.nit:33,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt3_alt9.sav b/tests/sav/error_redef2_1alt3_alt9.sav
new file mode 100644 (file)
index 0000000..5c1fcd7
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef2_1alt3_alt9.nit:34,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
+alt/error_redef2_1alt3_alt9.nit:34,9: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef2_1alt4.sav b/tests/sav/error_redef2_1alt4.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_1alt4_alt1.sav b/tests/sav/error_redef2_1alt4_alt1.sav
new file mode 100644 (file)
index 0000000..674efee
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt1.nit:26,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt2.sav b/tests/sav/error_redef2_1alt4_alt2.sav
new file mode 100644 (file)
index 0000000..7636815
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt2.nit:27,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt3.sav b/tests/sav/error_redef2_1alt4_alt3.sav
new file mode 100644 (file)
index 0000000..bc8757b
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt3.nit:28,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt4.sav b/tests/sav/error_redef2_1alt4_alt4.sav
new file mode 100644 (file)
index 0000000..efdaf6a
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt4.nit:29,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt5.sav b/tests/sav/error_redef2_1alt4_alt5.sav
new file mode 100644 (file)
index 0000000..e0d8a6e
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt5.nit:30,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt6.sav b/tests/sav/error_redef2_1alt4_alt6.sav
new file mode 100644 (file)
index 0000000..99f9c86
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt6.nit:31,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt7.sav b/tests/sav/error_redef2_1alt4_alt7.sav
new file mode 100644 (file)
index 0000000..e02052d
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt7.nit:32,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt8.sav b/tests/sav/error_redef2_1alt4_alt8.sav
new file mode 100644 (file)
index 0000000..6121521
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_1alt4_alt8.nit:33,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
diff --git a/tests/sav/error_redef2_1alt4_alt9.sav b/tests/sav/error_redef2_1alt4_alt9.sav
new file mode 100644 (file)
index 0000000..924ca54
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef2_1alt4_alt9.nit:34,6--7: Redef error: B::f1 is an inherited property. To redefine it, add the redef keyword.
+alt/error_redef2_1alt4_alt9.nit:34,9: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef2_alt1.sav b/tests/sav/error_redef2_alt1.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_alt2.sav b/tests/sav/error_redef2_alt2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_alt3.sav b/tests/sav/error_redef2_alt3.sav
new file mode 100644 (file)
index 0000000..6337ee2
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_alt3.nit:28,9: Error: Untyped parameter.
diff --git a/tests/sav/error_redef2_alt4.sav b/tests/sav/error_redef2_alt4.sav
new file mode 100644 (file)
index 0000000..961dfd9
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_alt4.nit:29,12--19: Error: Return with value in a procedure.
diff --git a/tests/sav/error_redef2_alt5.sav b/tests/sav/error_redef2_alt5.sav
new file mode 100644 (file)
index 0000000..e641df4
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_alt5.nit:30,20--31: Error: Return with value in a procedure.
diff --git a/tests/sav/error_redef2_alt6.sav b/tests/sav/error_redef2_alt6.sav
new file mode 100644 (file)
index 0000000..6b750eb
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef2_alt6.nit:31,9: Error: Untyped parameter.
diff --git a/tests/sav/error_redef2_alt7.sav b/tests/sav/error_redef2_alt7.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_alt8.sav b/tests/sav/error_redef2_alt8.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef2_alt9.sav b/tests/sav/error_redef2_alt9.sav
new file mode 100644 (file)
index 0000000..a6a3a83
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef2_alt9.nit:34,9: Syntax error: untyped parameter.
+alt/error_redef2_alt9.nit:34,9: Error: Untyped parameter.
diff --git a/tests/sav/error_redef_1alt1.sav b/tests/sav/error_redef_1alt1.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt1_alt1.sav b/tests/sav/error_redef_1alt1_alt1.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt1_alt2.sav b/tests/sav/error_redef_1alt1_alt2.sav
new file mode 100644 (file)
index 0000000..8bdb482
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt1_alt2.nit:27,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt1_alt3.sav b/tests/sav/error_redef_1alt1_alt3.sav
new file mode 100644 (file)
index 0000000..e697109
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt1_alt3.nit:28,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt1_alt4.sav b/tests/sav/error_redef_1alt1_alt4.sav
new file mode 100644 (file)
index 0000000..f0a8269
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt1_alt4.nit:29,18--25: Error: Return with value in a procedure.
diff --git a/tests/sav/error_redef_1alt1_alt5.sav b/tests/sav/error_redef_1alt1_alt5.sav
new file mode 100644 (file)
index 0000000..c4e9037
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt1_alt5.nit:30,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt1_alt6.sav b/tests/sav/error_redef_1alt1_alt6.sav
new file mode 100644 (file)
index 0000000..96b2749
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt1_alt6.nit:31,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt1_alt7.sav b/tests/sav/error_redef_1alt1_alt7.sav
new file mode 100644 (file)
index 0000000..817ad6d
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt1_alt7.nit:32,12--13: Redef error: The function B::f1 redefines the procedure A::f1.
diff --git a/tests/sav/error_redef_1alt1_alt8.sav b/tests/sav/error_redef_1alt1_alt8.sav
new file mode 100644 (file)
index 0000000..6ca4d20
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_1alt1_alt8.nit:33,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt1_alt8.nit:33,12--13: Redef error: The function B::f1 redefines the procedure A::f1.
diff --git a/tests/sav/error_redef_1alt1_alt9.sav b/tests/sav/error_redef_1alt1_alt9.sav
new file mode 100644 (file)
index 0000000..0dcdd18
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_1alt1_alt9.nit:34,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt1_alt9.nit:34,15: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef_1alt2.sav b/tests/sav/error_redef_1alt2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt2_alt1.sav b/tests/sav/error_redef_1alt2_alt1.sav
new file mode 100644 (file)
index 0000000..e3224da
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt2_alt1.nit:26,12--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
diff --git a/tests/sav/error_redef_1alt2_alt2.sav b/tests/sav/error_redef_1alt2_alt2.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt2_alt3.sav b/tests/sav/error_redef_1alt2_alt3.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt2_alt4.sav b/tests/sav/error_redef_1alt2_alt4.sav
new file mode 100644 (file)
index 0000000..cad987c
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt2_alt4.nit:29,12--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
diff --git a/tests/sav/error_redef_1alt2_alt5.sav b/tests/sav/error_redef_1alt2_alt5.sav
new file mode 100644 (file)
index 0000000..3098d61
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt2_alt5.nit:30,26--37: Error: Return with value in a procedure.
diff --git a/tests/sav/error_redef_1alt2_alt6.sav b/tests/sav/error_redef_1alt2_alt6.sav
new file mode 100644 (file)
index 0000000..a0c6500
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt2_alt6.nit:31,21--32: Error: Return with value in a procedure.
diff --git a/tests/sav/error_redef_1alt2_alt7.sav b/tests/sav/error_redef_1alt2_alt7.sav
new file mode 100644 (file)
index 0000000..0fae45d
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_1alt2_alt7.nit:32,12--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
+alt/error_redef_1alt2_alt7.nit:32,12--13: Redef error: The function B::f1 redefines the procedure A::f1.
diff --git a/tests/sav/error_redef_1alt2_alt8.sav b/tests/sav/error_redef_1alt2_alt8.sav
new file mode 100644 (file)
index 0000000..dc2e3bf
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt2_alt8.nit:33,12--13: Redef error: The function B::f1 redefines the procedure A::f1.
diff --git a/tests/sav/error_redef_1alt2_alt9.sav b/tests/sav/error_redef_1alt2_alt9.sav
new file mode 100644 (file)
index 0000000..7806508
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt2_alt9.nit:34,15: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef_1alt3.sav b/tests/sav/error_redef_1alt3.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt3_alt1.sav b/tests/sav/error_redef_1alt3_alt1.sav
new file mode 100644 (file)
index 0000000..6116592
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt3_alt1.nit:26,12--13: Control error: Reached end of function (a 'return' with a value was expected).
diff --git a/tests/sav/error_redef_1alt3_alt2.sav b/tests/sav/error_redef_1alt3_alt2.sav
new file mode 100644 (file)
index 0000000..3b6c713
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_1alt3_alt2.nit:27,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt3_alt2.nit:27,12--13: Redef error: The procedure B::f1 redefines the function A::f1.
diff --git a/tests/sav/error_redef_1alt3_alt3.sav b/tests/sav/error_redef_1alt3_alt3.sav
new file mode 100644 (file)
index 0000000..b873d08
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt3_alt3.nit:28,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt3_alt4.sav b/tests/sav/error_redef_1alt3_alt4.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt3_alt5.sav b/tests/sav/error_redef_1alt3_alt5.sav
new file mode 100644 (file)
index 0000000..e692593
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_1alt3_alt5.nit:30,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt3_alt5.nit:30,12--13: Redef error: The procedure B::f1 redefines the function A::f1.
diff --git a/tests/sav/error_redef_1alt3_alt6.sav b/tests/sav/error_redef_1alt3_alt6.sav
new file mode 100644 (file)
index 0000000..9e20140
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt3_alt6.nit:31,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt3_alt7.sav b/tests/sav/error_redef_1alt3_alt7.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt3_alt8.sav b/tests/sav/error_redef_1alt3_alt8.sav
new file mode 100644 (file)
index 0000000..44cdabd
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt3_alt8.nit:33,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
diff --git a/tests/sav/error_redef_1alt3_alt9.sav b/tests/sav/error_redef_1alt3_alt9.sav
new file mode 100644 (file)
index 0000000..40957f6
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_1alt3_alt9.nit:34,12--13: Redef error: B::f1 redefines A::f1 with 0 parameter(s).
+alt/error_redef_1alt3_alt9.nit:34,15: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef_1alt4.sav b/tests/sav/error_redef_1alt4.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt4_alt1.sav b/tests/sav/error_redef_1alt4_alt1.sav
new file mode 100644 (file)
index 0000000..c9951a7
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt1.nit:26,12--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
diff --git a/tests/sav/error_redef_1alt4_alt2.sav b/tests/sav/error_redef_1alt4_alt2.sav
new file mode 100644 (file)
index 0000000..8a3bc78
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt2.nit:27,12--13: Redef error: The procedure B::f1 redefines the function A::f1.
diff --git a/tests/sav/error_redef_1alt4_alt3.sav b/tests/sav/error_redef_1alt4_alt3.sav
new file mode 100644 (file)
index 0000000..e10d510
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt3.nit:28,12--13: Control error: Reached end of function (a 'return' with a value was expected).
diff --git a/tests/sav/error_redef_1alt4_alt4.sav b/tests/sav/error_redef_1alt4_alt4.sav
new file mode 100644 (file)
index 0000000..b11d25a
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt4.nit:29,12--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
diff --git a/tests/sav/error_redef_1alt4_alt5.sav b/tests/sav/error_redef_1alt4_alt5.sav
new file mode 100644 (file)
index 0000000..18f8f3d
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt5.nit:30,12--13: Redef error: The procedure B::f1 redefines the function A::f1.
diff --git a/tests/sav/error_redef_1alt4_alt6.sav b/tests/sav/error_redef_1alt4_alt6.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt4_alt7.sav b/tests/sav/error_redef_1alt4_alt7.sav
new file mode 100644 (file)
index 0000000..3b3a71b
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt7.nit:32,12--13: Redef error: B::f1 redefines A::f1 with 1 parameter(s).
diff --git a/tests/sav/error_redef_1alt4_alt8.sav b/tests/sav/error_redef_1alt4_alt8.sav
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/sav/error_redef_1alt4_alt9.sav b/tests/sav/error_redef_1alt4_alt9.sav
new file mode 100644 (file)
index 0000000..da892e9
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_1alt4_alt9.nit:34,15: Syntax error: untyped parameter.
diff --git a/tests/sav/error_redef_alt1.sav b/tests/sav/error_redef_alt1.sav
new file mode 100644 (file)
index 0000000..4ec858f
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_alt1.nit:26,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/error_redef_alt2.sav b/tests/sav/error_redef_alt2.sav
new file mode 100644 (file)
index 0000000..0d14b2b
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_alt2.nit:27,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/error_redef_alt3.sav b/tests/sav/error_redef_alt3.sav
new file mode 100644 (file)
index 0000000..f1f7a14
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_alt3.nit:28,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
+alt/error_redef_alt3.nit:28,15: Error: Untyped parameter.
diff --git a/tests/sav/error_redef_alt4.sav b/tests/sav/error_redef_alt4.sav
new file mode 100644 (file)
index 0000000..2898003
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_alt4.nit:29,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/error_redef_alt5.sav b/tests/sav/error_redef_alt5.sav
new file mode 100644 (file)
index 0000000..4c0f8ab
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_alt5.nit:30,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/error_redef_alt6.sav b/tests/sav/error_redef_alt6.sav
new file mode 100644 (file)
index 0000000..4b58734
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_redef_alt6.nit:31,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
+alt/error_redef_alt6.nit:31,15: Error: Untyped parameter.
diff --git a/tests/sav/error_redef_alt7.sav b/tests/sav/error_redef_alt7.sav
new file mode 100644 (file)
index 0000000..aa0068b
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_alt7.nit:32,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/error_redef_alt8.sav b/tests/sav/error_redef_alt8.sav
new file mode 100644 (file)
index 0000000..5780748
--- /dev/null
@@ -0,0 +1 @@
+alt/error_redef_alt8.nit:33,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
diff --git a/tests/sav/error_redef_alt9.sav b/tests/sav/error_redef_alt9.sav
new file mode 100644 (file)
index 0000000..f29d3f1
--- /dev/null
@@ -0,0 +1,3 @@
+alt/error_redef_alt9.nit:34,12--13: Error: No property B::f1 is inherited. Remove the redef keyword to define a new property.
+alt/error_redef_alt9.nit:34,15: Syntax error: untyped parameter.
+alt/error_redef_alt9.nit:34,15: Error: Untyped parameter.
index f4d8101..94b256c 100644 (file)
@@ -1 +1 @@
-./error_ref_attr.nit:20,2--18: Redef error: Expected B (as in C::_a), got Int in C::_a.
+./error_ref_attr.nit:20,16--18: Redef error: Expected B, as in C::_a.
index 901984b..db216a9 100644 (file)
@@ -1 +1 @@
-./error_ref_fun.nit:20,2--12: Control error: Reached end of function (a 'return' with a value was expected).
+./error_ref_fun.nit:20,12: Control error: Reached end of function (a 'return' with a value was expected).
index 08bbdf4..1fb38d8 100644 (file)
@@ -1 +1 @@
-./error_ref_param.nit:20,2--17: Redef error: Expected B (as in C::r), got C in C::r.
+./error_ref_param.nit:20,14--17: Redef error: Expected B, as in C::r.
index a679188..ee75068 100644 (file)
@@ -1 +1 @@
-./error_ref_proc.nit:20,2--36: Redef error: The function C::r redefines the procedure C::r.
+./error_ref_proc.nit:20,12: Redef error: The function C::r redefines the procedure C::r.
index 6d83b27..d728031 100644 (file)
@@ -1 +1 @@
-./error_ref_ret.nit:20,2--29: Redef error: Expected B (as in C::s), got Int in C::s.
+./error_ref_ret.nit:20,15--17: Redef error: Expected B, as in C::s.
diff --git a/tests/sav/error_signature.sav b/tests/sav/error_signature.sav
new file mode 100644 (file)
index 0000000..6df6145
--- /dev/null
@@ -0,0 +1 @@
+./error_signature.nit:18,11--14: Type error: class Fail not found in module error_signature.
index b518ad1..eb2380e 100644 (file)
@@ -1 +1 @@
-./error_spe_attr.nit:22,2--21: Redef error: Expected Int (as in A::_a), got Object in B::_a.
+./error_spe_attr.nit:22,16--21: Redef error: Expected Int, as in A::_a.
index daab3fd..423c95a 100644 (file)
@@ -1 +1 @@
-./error_spe_fun.nit:23,1--14: Control error: Reached end of function (a 'return' with a value was expected).
+./error_spe_fun.nit:23,11--14: Control error: Reached end of function (a 'return' with a value was expected).
index 32f94b5..c1efaa0 100644 (file)
@@ -1 +1 @@
-./error_spe_param.nit:24,1--24: Redef error: Expected Int (as in A::toto), got Object in B::toto.
+./error_spe_param.nit:24,16--24: Redef error: Expected Int, as in A::toto.
index 39a8177..1ee9ee3 100644 (file)
@@ -1 +1 @@
-./error_spe_param2.nit:24,1--22: Redef error: Expected Int (as in A::toto), got Char in B::toto.
+./error_spe_param2.nit:24,16--22: Redef error: Expected Int, as in A::toto.
index cccbec6..31fba27 100644 (file)
@@ -1 +1 @@
-./error_spe_proc.nit:23,1--31: Redef error: The function B::toto redefines the procedure A::toto.
+./error_spe_proc.nit:23,11--14: Redef error: The function B::toto redefines the procedure A::toto.
index c249b92..909078b 100644 (file)
@@ -1 +1 @@
-./error_spe_ret.nit:23,1--34: Redef error: Expected Int (as in A::toto), got Char in B::toto.
+./error_spe_ret.nit:23,17--20: Redef error: Expected Int, as in A::toto.
diff --git a/tests/sav/error_type_unk.sav b/tests/sav/error_type_unk.sav
new file mode 100644 (file)
index 0000000..feaa157
--- /dev/null
@@ -0,0 +1,2 @@
+./error_type_unk.nit:22,17--20: Type error: class Fail not found in module error_type_unk.
+./error_type_unk.nit:24,16--19: Type error: class Fail not found in module error_type_unk.
diff --git a/tests/sav/error_type_unk_alt1.sav b/tests/sav/error_type_unk_alt1.sav
new file mode 100644 (file)
index 0000000..ca88225
--- /dev/null
@@ -0,0 +1 @@
+alt/error_type_unk_alt1.nit:6,13--16: Type error: class Fail not found in module error_type_unk_alt1.
diff --git a/tests/sav/error_type_unk_alt2.sav b/tests/sav/error_type_unk_alt2.sav
new file mode 100644 (file)
index 0000000..4ef79d3
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_type_unk_alt2.nit:9,8--11: Type error: class Fail not found in module error_type_unk_alt2.
+alt/error_type_unk_alt2.nit:11,8--11: Type error: class Fail not found in module error_type_unk_alt2.
diff --git a/tests/sav/error_type_unk_alt3.sav b/tests/sav/error_type_unk_alt3.sav
new file mode 100644 (file)
index 0000000..2519222
--- /dev/null
@@ -0,0 +1 @@
+alt/error_type_unk_alt3.nit:10,10--13: Type error: class Fail not found in module error_type_unk_alt3.
diff --git a/tests/sav/error_type_unk_alt4.sav b/tests/sav/error_type_unk_alt4.sav
new file mode 100644 (file)
index 0000000..2be140c
--- /dev/null
@@ -0,0 +1,2 @@
+alt/error_type_unk_alt4.nit:13,9--12: Type error: class Fail not found in module error_type_unk_alt4.
+alt/error_type_unk_alt4.nit:14,11--14: Type error: class Fail not found in module error_type_unk_alt4.
diff --git a/tests/sav/error_type_unk_alt5.sav b/tests/sav/error_type_unk_alt5.sav
new file mode 100644 (file)
index 0000000..2a376f4
--- /dev/null
@@ -0,0 +1,4 @@
+alt/error_type_unk_alt5.nit:15,9--12: Type error: class Fail not found in module error_type_unk_alt5.
+alt/error_type_unk_alt5.nit:16,11--14: Type error: class Fail not found in module error_type_unk_alt5.
+alt/error_type_unk_alt5.nit:33,16--19: Type error: class Fail not found in module error_type_unk_alt5.
+alt/error_type_unk_alt5.nit:34,18--21: Type error: class Fail not found in module error_type_unk_alt5.
diff --git a/tests/sav/error_type_unk_alt6.sav b/tests/sav/error_type_unk_alt6.sav
new file mode 100644 (file)
index 0000000..65d5de2
--- /dev/null
@@ -0,0 +1,3 @@
+alt/error_type_unk_alt6.nit:19,10--13: Type error: class Fail not found in module error_type_unk_alt6.
+alt/error_type_unk_alt6.nit:22,17--20: Type error: class Fail not found in module error_type_unk_alt6.
+alt/error_type_unk_alt6.nit:24,16--19: Type error: class Fail not found in module error_type_unk_alt6.
diff --git a/tests/sav/error_type_unk_alt7.sav b/tests/sav/error_type_unk_alt7.sav
new file mode 100644 (file)
index 0000000..96675b4
--- /dev/null
@@ -0,0 +1,3 @@
+alt/error_type_unk_alt7.nit:20,15--18: Type error: class Fail not found in module error_type_unk_alt7.
+alt/error_type_unk_alt7.nit:22,17--20: Type error: class Fail not found in module error_type_unk_alt7.
+alt/error_type_unk_alt7.nit:24,16--19: Type error: class Fail not found in module error_type_unk_alt7.
diff --git a/tests/sav/int_stack.sav b/tests/sav/int_stack.sav
new file mode 100644 (file)
index 0000000..a0c4e59
--- /dev/null
@@ -0,0 +1,6 @@
+6
+30
+20
+10
+5
+0
index 9d1a658..b8426ea 100644 (file)
@@ -1,5 +1,7 @@
 usage: nitc [options] file...
   -W, --warn                      Show warnings
+  --stop-on-first-error           Stop on first error
+  --no-color                      Do not use color to display errors and warnings
   -I, --path                      Set include path for loaders (may be used more than once)
   --log                           Generate various log files
   --log-dir                       Directory where to generate log files
index 96a3837..6cc3f82 100644 (file)
@@ -1,11 +1,13 @@
 usage: nitdoc [options] file...
-  -W, --warn         Show warnings
-  -I, --path         Set include path for loaders (may be used more than once)
-  --log              Generate various log files
-  --log-dir          Directory where to generate log files
-  --only-parse       Only proceed to parse step of loaders
-  --only-metamodel   Stop after meta-model processing
-  -h, -?, --help     Show Help (This screen)
-  --version          Show version and exit
-  -v, --verbose      Verbose
-  -d, --dir          Directory where doc is generated
+  -W, --warn              Show warnings
+  --stop-on-first-error   Stop on first error
+  --no-color              Do not use color to display errors and warnings
+  -I, --path              Set include path for loaders (may be used more than once)
+  --log                   Generate various log files
+  --log-dir               Directory where to generate log files
+  --only-parse            Only proceed to parse step of loaders
+  --only-metamodel        Stop after meta-model processing
+  -h, -?, --help          Show Help (This screen)
+  --version               Show version and exit
+  -v, --verbose           Verbose
+  -d, --dir               Directory where doc is generated
index faa13ef..1a85053 100644 (file)
@@ -1,2 +1,2 @@
-./test_multiconstraint.nit:64,1--67,11: Error: A class G is already defined at line 56.
-./test_multiconstraint.nit:70,1--74,11: Error: A class G is already defined at line 56.
+./test_multiconstraint.nit:64,7: Error: A class G is already defined at line 56.
+./test_multiconstraint.nit:70,7: Error: A class G is already defined at line 56.
index 35efa63..ca6262c 100644 (file)
@@ -1 +1 @@
-./test_multiconstraint_inh.nit:39,4--31: Redef error: Expected I[A] (as in G::baz), got J in H::baz.
+./test_multiconstraint_inh.nit:39,18--21: Redef error: Expected I[A], as in G::baz.
index faa13ef..1a85053 100644 (file)
@@ -1,2 +1,2 @@
-./test_multiconstraint.nit:64,1--67,11: Error: A class G is already defined at line 56.
-./test_multiconstraint.nit:70,1--74,11: Error: A class G is already defined at line 56.
+./test_multiconstraint.nit:64,7: Error: A class G is already defined at line 56.
+./test_multiconstraint.nit:70,7: Error: A class G is already defined at line 56.
index faa13ef..1a85053 100644 (file)
@@ -1,2 +1,2 @@
-./test_multiconstraint.nit:64,1--67,11: Error: A class G is already defined at line 56.
-./test_multiconstraint.nit:70,1--74,11: Error: A class G is already defined at line 56.
+./test_multiconstraint.nit:64,7: Error: A class G is already defined at line 56.
+./test_multiconstraint.nit:70,7: Error: A class G is already defined at line 56.
index 7f5899b..9eee1ce 100644 (file)
@@ -1,2 +1,2 @@
-./test_paire.nit:45,1--50,43: Error: A class Pair is already defined at line 17.
-./test_paire.nit:54,1--58,25: Error: A class Pair is already defined at line 17.
+./test_paire.nit:45,7--10: Error: A class Pair is already defined at line 17.
+./test_paire.nit:54,7--10: Error: A class Pair is already defined at line 17.
diff --git a/tests/sav/test_parser.sav b/tests/sav/test_parser.sav
new file mode 100644 (file)
index 0000000..6b348ae
--- /dev/null
@@ -0,0 +1,7 @@
+usage:
+  test_parser [options]... <filename.nit>...
+options:
+  -n   do not print anything
+  -l   only lexer
+  -p   lexer and parser (default)
+  -h   print this help
diff --git a/tests/sav/test_parser_args1.sav b/tests/sav/test_parser_args1.sav
new file mode 100644 (file)
index 0000000..8f21425
--- /dev/null
@@ -0,0 +1,12431 @@
+../src/syntax/typing.nit:17,1--1962,1
+  ../src/syntax/typing.nit:17,1--1958,33
+    ../src/syntax/typing.nit:17,1--18,14
+      ../src/syntax/typing.nit:17,1--18,0
+        '# Analysis property bodies, statements and expressions
+' ... ../src/syntax/typing.nit:17,1--18,0
+      'package' ... ../src/syntax/typing.nit:18,1--7
+      'typing' ... ../src/syntax/typing.nit:18,9--14
+    ../src/syntax/typing.nit:20,1--18
+      ../src/syntax/typing.nit:20,1
+      'import' ... ../src/syntax/typing.nit:20,1--6
+      'syntax_base' ... ../src/syntax/typing.nit:20,8--18
+    ../src/syntax/typing.nit:21,1--11
+      ../src/syntax/typing.nit:21,1
+      'import' ... ../src/syntax/typing.nit:21,1--6
+      'flow' ... ../src/syntax/typing.nit:21,8--11
+    ../src/syntax/typing.nit:22,1--12
+      ../src/syntax/typing.nit:22,1
+      'import' ... ../src/syntax/typing.nit:22,1--6
+      'scope' ... ../src/syntax/typing.nit:22,8--12
+    ../src/syntax/typing.nit:24,1--30,21
+      'redef' ... ../src/syntax/typing.nit:24,1--5
+      ../src/syntax/typing.nit:24,7
+      ../src/syntax/typing.nit:24,7--11
+        'class' ... ../src/syntax/typing.nit:24,7--11
+      'MMSrcModule' ... ../src/syntax/typing.nit:24,13--23
+      ../src/syntax/typing.nit:25,2--30,21
+        ../src/syntax/typing.nit:25,2--27,0
+          '# Walk trough the module and type statments and expressions
+' ... ../src/syntax/typing.nit:25,2--26,0
+          '# Require than supermodules are processed
+' ... ../src/syntax/typing.nit:26,2--27,0
+        ../src/syntax/typing.nit:27,6
+        'fun' ... ../src/syntax/typing.nit:27,2--4
+        ../src/syntax/typing.nit:27,6--14
+          'do_typing' ... ../src/syntax/typing.nit:27,6--14
+        ../src/syntax/typing.nit:27,16--30
+          ../src/syntax/typing.nit:27,16--30
+            'tc' ... ../src/syntax/typing.nit:27,16--17
+            ../src/syntax/typing.nit:27,20--30
+              'ToolContext' ... ../src/syntax/typing.nit:27,20--30
+        ../src/syntax/typing.nit:29,3--30,21
+          ../src/syntax/typing.nit:29,3--37
+            'var' ... ../src/syntax/typing.nit:29,3--5
+            'tv' ... ../src/syntax/typing.nit:29,7--8
+            '=' ... ../src/syntax/typing.nit:29,10
+            ../src/syntax/typing.nit:29,12--37
+              'new' ... ../src/syntax/typing.nit:29,12--14
+              ../src/syntax/typing.nit:29,16--28
+                'TypingVisitor' ... ../src/syntax/typing.nit:29,16--28
+              ../src/syntax/typing.nit:29,30--31
+                ../src/syntax/typing.nit:29,30
+                'tc' ... ../src/syntax/typing.nit:29,30--31
+              ../src/syntax/typing.nit:29,34--37
+                'self' ... ../src/syntax/typing.nit:29,34--37
+          ../src/syntax/typing.nit:30,3--21
+            ../src/syntax/typing.nit:30,3--4
+              ../src/syntax/typing.nit:30,3
+              'tv' ... ../src/syntax/typing.nit:30,3--4
+            'enter_visit' ... ../src/syntax/typing.nit:30,6--16
+            ../src/syntax/typing.nit:30,18--21
+              ../src/syntax/typing.nit:30,18
+              'node' ... ../src/syntax/typing.nit:30,18--21
+    ../src/syntax/typing.nit:34,1--159,14
+      ../src/syntax/typing.nit:34,1--39,0
+        '# Typing visitor
+' ... ../src/syntax/typing.nit:34,1--35,0
+        '# * Associate local variables to nodes
+' ... ../src/syntax/typing.nit:35,1--36,0
+        '# * Distinguish method call and local variable access
+' ... ../src/syntax/typing.nit:36,1--37,0
+        '# * Resolve call and attribute access
+' ... ../src/syntax/typing.nit:37,1--38,0
+        '# * Check type conformance
+' ... ../src/syntax/typing.nit:38,1--39,0
+      ../src/syntax/typing.nit:39,1--7
+        'private' ... ../src/syntax/typing.nit:39,1--7
+      ../src/syntax/typing.nit:39,9--13
+        'class' ... ../src/syntax/typing.nit:39,9--13
+      'TypingVisitor' ... ../src/syntax/typing.nit:39,15--27
+      ../src/syntax/typing.nit:40,2--23
+        'super' ... ../src/syntax/typing.nit:40,2--6
+        ../src/syntax/typing.nit:40,8--23
+          'AbsSyntaxVisitor' ... ../src/syntax/typing.nit:40,8--23
+      ../src/syntax/typing.nit:41,2--43,40
+        'redef' ... ../src/syntax/typing.nit:41,2--6
+        ../src/syntax/typing.nit:41,12
+        'fun' ... ../src/syntax/typing.nit:41,8--10
+        ../src/syntax/typing.nit:41,12--16
+          'visit' ... ../src/syntax/typing.nit:41,12--16
+        ../src/syntax/typing.nit:41,18
+          ../src/syntax/typing.nit:41,18
+            'n' ... ../src/syntax/typing.nit:41,18
+        ../src/syntax/typing.nit:43,3--40
+          ../src/syntax/typing.nit:43,3--40
+            'if' ... ../src/syntax/typing.nit:43,3--4
+            ../src/syntax/typing.nit:43,6--14
+              ../src/syntax/typing.nit:43,6
+                ../src/syntax/typing.nit:43,6
+                'n' ... ../src/syntax/typing.nit:43,6
+              ../src/syntax/typing.nit:43,11--14
+                'null' ... ../src/syntax/typing.nit:43,11--14
+            ../src/syntax/typing.nit:43,21--40
+              ../src/syntax/typing.nit:43,21
+                ../src/syntax/typing.nit:43,21
+                'n' ... ../src/syntax/typing.nit:43,21
+              'accept_typing' ... ../src/syntax/typing.nit:43,23--35
+              ../src/syntax/typing.nit:43,37--40
+                'self' ... ../src/syntax/typing.nit:43,37--40
+      ../src/syntax/typing.nit:46,2--47,62
+        ../src/syntax/typing.nit:46,2--47,0
+          '# Current knowledge about scoped things (variable, labels, etc.)
+' ... ../src/syntax/typing.nit:46,2--47,0
+        ../src/syntax/typing.nit:47,2--9
+          'readable' ... ../src/syntax/typing.nit:47,2--9
+        ../src/syntax/typing.nit:47,27
+        'var' ... ../src/syntax/typing.nit:47,11--13
+        '_scope_ctx' ... ../src/syntax/typing.nit:47,15--24
+        ../src/syntax/typing.nit:47,27--38
+          'ScopeContext' ... ../src/syntax/typing.nit:47,27--38
+        ../src/syntax/typing.nit:47,42--62
+          'new' ... ../src/syntax/typing.nit:47,42--44
+          ../src/syntax/typing.nit:47,46--57
+            'ScopeContext' ... ../src/syntax/typing.nit:47,46--57
+          ../src/syntax/typing.nit:47,59--62
+            'self' ... ../src/syntax/typing.nit:47,59--62
+      ../src/syntax/typing.nit:49,2--50,58
+        ../src/syntax/typing.nit:49,2--50,0
+          '# Current knowledge about control flow
+' ... ../src/syntax/typing.nit:49,2--50,0
+        ../src/syntax/typing.nit:50,6
+        'fun' ... ../src/syntax/typing.nit:50,2--4
+        ../src/syntax/typing.nit:50,6--13
+          'flow_ctx' ... ../src/syntax/typing.nit:50,6--13
+        ../src/syntax/typing.nit:50,16--26
+          ../src/syntax/typing.nit:50,16--26
+            'FlowContext' ... ../src/syntax/typing.nit:50,16--26
+        ../src/syntax/typing.nit:50,31--58
+          'return' ... ../src/syntax/typing.nit:50,31--36
+          ../src/syntax/typing.nit:50,38--58
+            ../src/syntax/typing.nit:50,38--46
+              ../src/syntax/typing.nit:50,38
+              '_flow_ctx' ... ../src/syntax/typing.nit:50,38--46
+            'as' ... ../src/syntax/typing.nit:50,48--49
+            'not' ... ../src/syntax/typing.nit:50,51--53
+            'null' ... ../src/syntax/typing.nit:50,55--58
+      ../src/syntax/typing.nit:51,2--45
+        ../src/syntax/typing.nit:51,2--9
+          'writable' ... ../src/syntax/typing.nit:51,2--9
+        ../src/syntax/typing.nit:51,26
+        'var' ... ../src/syntax/typing.nit:51,11--13
+        '_flow_ctx' ... ../src/syntax/typing.nit:51,15--23
+        ../src/syntax/typing.nit:51,26--45
+          'nullable' ... ../src/syntax/typing.nit:51,26--33
+          'FlowContext' ... ../src/syntax/typing.nit:51,35--45
+      ../src/syntax/typing.nit:53,2--57,40
+        ../src/syntax/typing.nit:53,2--54,0
+          '# Mark a local variable as set
+' ... ../src/syntax/typing.nit:53,2--54,0
+        ../src/syntax/typing.nit:54,6
+        'fun' ... ../src/syntax/typing.nit:54,2--4
+        ../src/syntax/typing.nit:54,6--16
+          'mark_is_set' ... ../src/syntax/typing.nit:54,6--16
+        ../src/syntax/typing.nit:54,18--29
+          ../src/syntax/typing.nit:54,18--29
+            'va' ... ../src/syntax/typing.nit:54,18--19
+            ../src/syntax/typing.nit:54,22--29
+              'Variable' ... ../src/syntax/typing.nit:54,22--29
+        ../src/syntax/typing.nit:56,3--57,40
+          ../src/syntax/typing.nit:56,3--36
+            'if' ... ../src/syntax/typing.nit:56,3--4
+            ../src/syntax/typing.nit:56,6--23
+              ../src/syntax/typing.nit:56,6--13
+                ../src/syntax/typing.nit:56,6
+                'flow_ctx' ... ../src/syntax/typing.nit:56,6--13
+              'is_set' ... ../src/syntax/typing.nit:56,15--20
+              ../src/syntax/typing.nit:56,22--23
+                ../src/syntax/typing.nit:56,22
+                'va' ... ../src/syntax/typing.nit:56,22--23
+            ../src/syntax/typing.nit:56,31--36
+              'return' ... ../src/syntax/typing.nit:56,31--36
+          ../src/syntax/typing.nit:57,3--40
+            ../src/syntax/typing.nit:57,14
+            'flow_ctx' ... ../src/syntax/typing.nit:57,3--10
+            '=' ... ../src/syntax/typing.nit:57,12
+            ../src/syntax/typing.nit:57,14--40
+              ../src/syntax/typing.nit:57,14--21
+                ../src/syntax/typing.nit:57,14
+                'flow_ctx' ... ../src/syntax/typing.nit:57,14--21
+              'sub_setvariable' ... ../src/syntax/typing.nit:57,23--37
+              ../src/syntax/typing.nit:57,39--40
+                ../src/syntax/typing.nit:57,39
+                'va' ... ../src/syntax/typing.nit:57,39--40
+      ../src/syntax/typing.nit:60,2--63,35
+        ../src/syntax/typing.nit:60,2--61,0
+          '# Mark the flow context as unreashable
+' ... ../src/syntax/typing.nit:60,2--61,0
+        ../src/syntax/typing.nit:61,6
+        'fun' ... ../src/syntax/typing.nit:61,2--4
+        ../src/syntax/typing.nit:61,6--17
+          'mark_unreash' ... ../src/syntax/typing.nit:61,6--17
+        ../src/syntax/typing.nit:61,19--26
+          ../src/syntax/typing.nit:61,19--26
+            'n' ... ../src/syntax/typing.nit:61,19
+            ../src/syntax/typing.nit:61,22--26
+              'ANode' ... ../src/syntax/typing.nit:61,22--26
+        ../src/syntax/typing.nit:63,3--35
+          ../src/syntax/typing.nit:63,3--35
+            ../src/syntax/typing.nit:63,14
+            'flow_ctx' ... ../src/syntax/typing.nit:63,3--10
+            '=' ... ../src/syntax/typing.nit:63,12
+            ../src/syntax/typing.nit:63,14--35
+              ../src/syntax/typing.nit:63,14--21
+                ../src/syntax/typing.nit:63,14
+                'flow_ctx' ... ../src/syntax/typing.nit:63,14--21
+              'sub_unreash' ... ../src/syntax/typing.nit:63,23--33
+              ../src/syntax/typing.nit:63,35
+                ../src/syntax/typing.nit:63,35
+                'n' ... ../src/syntax/typing.nit:63,35
+      ../src/syntax/typing.nit:66,2--72,15
+        ../src/syntax/typing.nit:66,2--67,0
+          '# Enter in an expression as inside a new local variable scope
+' ... ../src/syntax/typing.nit:66,2--67,0
+        ../src/syntax/typing.nit:67,6
+        'fun' ... ../src/syntax/typing.nit:67,2--4
+        ../src/syntax/typing.nit:67,6--22
+          'enter_visit_block' ... ../src/syntax/typing.nit:67,6--22
+        ../src/syntax/typing.nit:67,24--43
+          ../src/syntax/typing.nit:67,24--43
+            'node' ... ../src/syntax/typing.nit:67,24--27
+            ../src/syntax/typing.nit:67,30--43
+              'nullable' ... ../src/syntax/typing.nit:67,30--37
+              'AExpr' ... ../src/syntax/typing.nit:67,39--43
+        ../src/syntax/typing.nit:69,3--72,15
+          ../src/syntax/typing.nit:69,3--29
+            'if' ... ../src/syntax/typing.nit:69,3--4
+            ../src/syntax/typing.nit:69,6--17
+              ../src/syntax/typing.nit:69,6--9
+                ../src/syntax/typing.nit:69,6
+                'node' ... ../src/syntax/typing.nit:69,6--9
+              ../src/syntax/typing.nit:69,14--17
+                'null' ... ../src/syntax/typing.nit:69,14--17
+            ../src/syntax/typing.nit:69,24--29
+              'return' ... ../src/syntax/typing.nit:69,24--29
+          ../src/syntax/typing.nit:70,3--21
+            ../src/syntax/typing.nit:70,3--11
+              ../src/syntax/typing.nit:70,3
+              'scope_ctx' ... ../src/syntax/typing.nit:70,3--11
+            'push' ... ../src/syntax/typing.nit:70,13--16
+            ../src/syntax/typing.nit:70,18--21
+              ../src/syntax/typing.nit:70,18
+              'node' ... ../src/syntax/typing.nit:70,18--21
+          ../src/syntax/typing.nit:71,3--18
+            ../src/syntax/typing.nit:71,15
+            'enter_visit' ... ../src/syntax/typing.nit:71,3--13
+            ../src/syntax/typing.nit:71,15--18
+              ../src/syntax/typing.nit:71,15
+              'node' ... ../src/syntax/typing.nit:71,15--18
+          ../src/syntax/typing.nit:72,3--15
+            ../src/syntax/typing.nit:72,3--11
+              ../src/syntax/typing.nit:72,3
+              'scope_ctx' ... ../src/syntax/typing.nit:72,3--11
+            'pop' ... ../src/syntax/typing.nit:72,13--15
+      ../src/syntax/typing.nit:75,2--76,68
+        ../src/syntax/typing.nit:75,2--76,0
+          '# Non-bypassable knowledge about variables names and types
+' ... ../src/syntax/typing.nit:75,2--76,0
+        ../src/syntax/typing.nit:76,6
+        'fun' ... ../src/syntax/typing.nit:76,2--4
+        ../src/syntax/typing.nit:76,6--18
+          'base_flow_ctx' ... ../src/syntax/typing.nit:76,6--18
+        ../src/syntax/typing.nit:76,21--31
+          ../src/syntax/typing.nit:76,21--31
+            'FlowContext' ... ../src/syntax/typing.nit:76,21--31
+        ../src/syntax/typing.nit:76,36--68
+          'return' ... ../src/syntax/typing.nit:76,36--41
+          ../src/syntax/typing.nit:76,43--68
+            ../src/syntax/typing.nit:76,43--56
+              ../src/syntax/typing.nit:76,43
+              '_base_flow_ctx' ... ../src/syntax/typing.nit:76,43--56
+            'as' ... ../src/syntax/typing.nit:76,58--59
+            'not' ... ../src/syntax/typing.nit:76,61--63
+            'null' ... ../src/syntax/typing.nit:76,65--68
+      ../src/syntax/typing.nit:77,2--50
+        ../src/syntax/typing.nit:77,2--9
+          'writable' ... ../src/syntax/typing.nit:77,2--9
+        ../src/syntax/typing.nit:77,31
+        'var' ... ../src/syntax/typing.nit:77,11--13
+        '_base_flow_ctx' ... ../src/syntax/typing.nit:77,15--28
+        ../src/syntax/typing.nit:77,31--50
+          'nullable' ... ../src/syntax/typing.nit:77,31--38
+          'FlowContext' ... ../src/syntax/typing.nit:77,40--50
+      ../src/syntax/typing.nit:79,2--80,60
+        ../src/syntax/typing.nit:79,2--80,0
+          '# The current reciever
+' ... ../src/syntax/typing.nit:79,2--80,0
+        ../src/syntax/typing.nit:80,6
+        'fun' ... ../src/syntax/typing.nit:80,2--4
+        ../src/syntax/typing.nit:80,6--13
+          'self_var' ... ../src/syntax/typing.nit:80,6--13
+        ../src/syntax/typing.nit:80,16--28
+          ../src/syntax/typing.nit:80,16--28
+            'ParamVariable' ... ../src/syntax/typing.nit:80,16--28
+        ../src/syntax/typing.nit:80,33--60
+          'return' ... ../src/syntax/typing.nit:80,33--38
+          ../src/syntax/typing.nit:80,40--60
+            ../src/syntax/typing.nit:80,40--48
+              ../src/syntax/typing.nit:80,40
+              '_self_var' ... ../src/syntax/typing.nit:80,40--48
+            'as' ... ../src/syntax/typing.nit:80,50--51
+            'not' ... ../src/syntax/typing.nit:80,53--55
+            'null' ... ../src/syntax/typing.nit:80,57--60
+      ../src/syntax/typing.nit:81,2--47
+        ../src/syntax/typing.nit:81,2--9
+          'writable' ... ../src/syntax/typing.nit:81,2--9
+        ../src/syntax/typing.nit:81,26
+        'var' ... ../src/syntax/typing.nit:81,11--13
+        '_self_var' ... ../src/syntax/typing.nit:81,15--23
+        ../src/syntax/typing.nit:81,26--47
+          'nullable' ... ../src/syntax/typing.nit:81,26--33
+          'ParamVariable' ... ../src/syntax/typing.nit:81,35--47
+      ../src/syntax/typing.nit:83,2--84,49
+        ../src/syntax/typing.nit:83,2--84,0
+          '# Block of the current method
+' ... ../src/syntax/typing.nit:83,2--84,0
+        ../src/syntax/typing.nit:84,2--9
+          'readable' ... ../src/syntax/typing.nit:84,2--9
+        ../src/syntax/typing.nit:84,11--18
+          'writable' ... ../src/syntax/typing.nit:84,11--18
+        ../src/syntax/typing.nit:84,36
+        'var' ... ../src/syntax/typing.nit:84,20--22
+        '_top_block' ... ../src/syntax/typing.nit:84,24--33
+        ../src/syntax/typing.nit:84,36--49
+          'nullable' ... ../src/syntax/typing.nit:84,36--43
+          'AExpr' ... ../src/syntax/typing.nit:84,45--49
+      ../src/syntax/typing.nit:86,2--87,74
+        ../src/syntax/typing.nit:86,2--87,0
+          '# List of explicit invocation of constructors of super-classes
+' ... ../src/syntax/typing.nit:86,2--87,0
+        ../src/syntax/typing.nit:87,2--9
+          'readable' ... ../src/syntax/typing.nit:87,2--9
+        ../src/syntax/typing.nit:87,11--18
+          'writable' ... ../src/syntax/typing.nit:87,11--18
+        ../src/syntax/typing.nit:87,67
+        'var' ... ../src/syntax/typing.nit:87,20--22
+        '_explicit_super_init_calls' ... ../src/syntax/typing.nit:87,24--49
+        ../src/syntax/typing.nit:87,52--74
+          'nullable' ... ../src/syntax/typing.nit:87,52--59
+          'Array' ... ../src/syntax/typing.nit:87,61--65
+          ../src/syntax/typing.nit:87,67--74
+            'MMMethod' ... ../src/syntax/typing.nit:87,67--74
+      ../src/syntax/typing.nit:89,2--90,62
+        ../src/syntax/typing.nit:89,2--90,0
+          '# Is a other constructor of the same class invoked
+' ... ../src/syntax/typing.nit:89,2--90,0
+        ../src/syntax/typing.nit:90,2--9
+          'readable' ... ../src/syntax/typing.nit:90,2--9
+        ../src/syntax/typing.nit:90,11--18
+          'writable' ... ../src/syntax/typing.nit:90,11--18
+        ../src/syntax/typing.nit:90,51
+        'var' ... ../src/syntax/typing.nit:90,20--22
+        '_explicit_other_init_call' ... ../src/syntax/typing.nit:90,24--48
+        ../src/syntax/typing.nit:90,51--54
+          'Bool' ... ../src/syntax/typing.nit:90,51--54
+        ../src/syntax/typing.nit:90,58--62
+          'false' ... ../src/syntax/typing.nit:90,58--62
+      ../src/syntax/typing.nit:92,2--96,36
+        ../src/syntax/typing.nit:92,2--93,0
+          '# Make the if_true_flow_ctx of the expression effective
+' ... ../src/syntax/typing.nit:92,2--93,0
+        ../src/syntax/typing.nit:93,2--8
+          'private' ... ../src/syntax/typing.nit:93,2--8
+        'fun' ... ../src/syntax/typing.nit:93,10--12
+        ../src/syntax/typing.nit:93,14--33
+          'use_if_true_flow_ctx' ... ../src/syntax/typing.nit:93,14--33
+        ../src/syntax/typing.nit:93,35--42
+          ../src/syntax/typing.nit:93,35--42
+            'e' ... ../src/syntax/typing.nit:93,35
+            ../src/syntax/typing.nit:93,38--42
+              'AExpr' ... ../src/syntax/typing.nit:93,38--42
+        ../src/syntax/typing.nit:95,3--96,36
+          ../src/syntax/typing.nit:95,3--30
+            'var' ... ../src/syntax/typing.nit:95,3--5
+            'ctx' ... ../src/syntax/typing.nit:95,7--9
+            '=' ... ../src/syntax/typing.nit:95,11
+            ../src/syntax/typing.nit:95,13--30
+              ../src/syntax/typing.nit:95,13
+                ../src/syntax/typing.nit:95,13
+                'e' ... ../src/syntax/typing.nit:95,13
+              'if_true_flow_ctx' ... ../src/syntax/typing.nit:95,15--30
+          ../src/syntax/typing.nit:96,3--36
+            'if' ... ../src/syntax/typing.nit:96,3--4
+            ../src/syntax/typing.nit:96,6--16
+              ../src/syntax/typing.nit:96,6--8
+                ../src/syntax/typing.nit:96,6
+                'ctx' ... ../src/syntax/typing.nit:96,6--8
+              ../src/syntax/typing.nit:96,13--16
+                'null' ... ../src/syntax/typing.nit:96,13--16
+            ../src/syntax/typing.nit:96,23--36
+              ../src/syntax/typing.nit:96,34
+              'flow_ctx' ... ../src/syntax/typing.nit:96,23--30
+              '=' ... ../src/syntax/typing.nit:96,32
+              ../src/syntax/typing.nit:96,34--36
+                ../src/syntax/typing.nit:96,34
+                'ctx' ... ../src/syntax/typing.nit:96,34--36
+      ../src/syntax/typing.nit:99,2--103,36
+        ../src/syntax/typing.nit:99,2--100,0
+          '# Make the if_false_flow_ctx of the expression effective
+' ... ../src/syntax/typing.nit:99,2--100,0
+        ../src/syntax/typing.nit:100,2--8
+          'private' ... ../src/syntax/typing.nit:100,2--8
+        'fun' ... ../src/syntax/typing.nit:100,10--12
+        ../src/syntax/typing.nit:100,14--34
+          'use_if_false_flow_ctx' ... ../src/syntax/typing.nit:100,14--34
+        ../src/syntax/typing.nit:100,36--43
+          ../src/syntax/typing.nit:100,36--43
+            'e' ... ../src/syntax/typing.nit:100,36
+            ../src/syntax/typing.nit:100,39--43
+              'AExpr' ... ../src/syntax/typing.nit:100,39--43
+        ../src/syntax/typing.nit:102,3--103,36
+          ../src/syntax/typing.nit:102,3--31
+            'var' ... ../src/syntax/typing.nit:102,3--5
+            'ctx' ... ../src/syntax/typing.nit:102,7--9
+            '=' ... ../src/syntax/typing.nit:102,11
+            ../src/syntax/typing.nit:102,13--31
+              ../src/syntax/typing.nit:102,13
+                ../src/syntax/typing.nit:102,13
+                'e' ... ../src/syntax/typing.nit:102,13
+              'if_false_flow_ctx' ... ../src/syntax/typing.nit:102,15--31
+          ../src/syntax/typing.nit:103,3--36
+            'if' ... ../src/syntax/typing.nit:103,3--4
+            ../src/syntax/typing.nit:103,6--16
+              ../src/syntax/typing.nit:103,6--8
+                ../src/syntax/typing.nit:103,6
+                'ctx' ... ../src/syntax/typing.nit:103,6--8
+              ../src/syntax/typing.nit:103,13--16
+                'null' ... ../src/syntax/typing.nit:103,13--16
+            ../src/syntax/typing.nit:103,23--36
+              ../src/syntax/typing.nit:103,34
+              'flow_ctx' ... ../src/syntax/typing.nit:103,23--30
+              '=' ... ../src/syntax/typing.nit:103,32
+              ../src/syntax/typing.nit:103,34--36
+                ../src/syntax/typing.nit:103,34
+                'ctx' ... ../src/syntax/typing.nit:103,34--36
+      ../src/syntax/typing.nit:106,2--107,67
+        ../src/syntax/typing.nit:106,2--107,0
+          '# Are we inside a default closure definition ?
+' ... ../src/syntax/typing.nit:106,2--107,0
+        ../src/syntax/typing.nit:107,2--9
+          'readable' ... ../src/syntax/typing.nit:107,2--9
+        ../src/syntax/typing.nit:107,11--18
+          'writable' ... ../src/syntax/typing.nit:107,11--18
+        ../src/syntax/typing.nit:107,56
+        'var' ... ../src/syntax/typing.nit:107,20--22
+        '_is_default_closure_definition' ... ../src/syntax/typing.nit:107,24--53
+        ../src/syntax/typing.nit:107,56--59
+          'Bool' ... ../src/syntax/typing.nit:107,56--59
+        ../src/syntax/typing.nit:107,63--67
+          'false' ... ../src/syntax/typing.nit:107,63--67
+      ../src/syntax/typing.nit:109,2--110,43
+        ../src/syntax/typing.nit:109,2--110,0
+          '# Number of nested once
+' ... ../src/syntax/typing.nit:109,2--110,0
+        ../src/syntax/typing.nit:110,2--9
+          'readable' ... ../src/syntax/typing.nit:110,2--9
+        ../src/syntax/typing.nit:110,11--18
+          'writable' ... ../src/syntax/typing.nit:110,11--18
+        ../src/syntax/typing.nit:110,37
+        'var' ... ../src/syntax/typing.nit:110,20--22
+        '_once_count' ... ../src/syntax/typing.nit:110,24--34
+        ../src/syntax/typing.nit:110,37--39
+          'Int' ... ../src/syntax/typing.nit:110,37--39
+        ../src/syntax/typing.nit:110,43
+          '0' ... ../src/syntax/typing.nit:110,43
+      ../src/syntax/typing.nit:112,2--23
+        ../src/syntax/typing.nit:112,7
+        'init' ... ../src/syntax/typing.nit:112,2--5
+        ../src/syntax/typing.nit:112,7--13
+          ../src/syntax/typing.nit:112,7--8
+            'tc' ... ../src/syntax/typing.nit:112,7--8
+          ../src/syntax/typing.nit:112,11--13
+            'mod' ... ../src/syntax/typing.nit:112,11--13
+        ../src/syntax/typing.nit:112,19--23
+          'super' ... ../src/syntax/typing.nit:112,19--23
+      ../src/syntax/typing.nit:114,2--159,14
+        ../src/syntax/typing.nit:114,2--8
+          'private' ... ../src/syntax/typing.nit:114,2--8
+        'fun' ... ../src/syntax/typing.nit:114,10--12
+        ../src/syntax/typing.nit:114,14--40
+          'get_default_constructor_for' ... ../src/syntax/typing.nit:114,14--40
+        ../src/syntax/typing.nit:114,42--105
+          ../src/syntax/typing.nit:114,42--49
+            'n' ... ../src/syntax/typing.nit:114,42
+            ../src/syntax/typing.nit:114,45--49
+              'ANode' ... ../src/syntax/typing.nit:114,45--49
+          ../src/syntax/typing.nit:114,52--66
+            'c' ... ../src/syntax/typing.nit:114,52
+            ../src/syntax/typing.nit:114,55--66
+              'MMLocalClass' ... ../src/syntax/typing.nit:114,55--66
+          ../src/syntax/typing.nit:114,69--85
+            'prop' ... ../src/syntax/typing.nit:114,69--72
+            ../src/syntax/typing.nit:114,75--85
+              'MMSrcMethod' ... ../src/syntax/typing.nit:114,75--85
+          ../src/syntax/typing.nit:114,89--105
+            'nullable' ... ../src/syntax/typing.nit:114,89--96
+            'MMMethod' ... ../src/syntax/typing.nit:114,98--105
+        ../src/syntax/typing.nit:116,3--159,14
+          ../src/syntax/typing.nit:116,3--14
+            'var' ... ../src/syntax/typing.nit:116,3--5
+            'v' ... ../src/syntax/typing.nit:116,7
+            '=' ... ../src/syntax/typing.nit:116,9
+            ../src/syntax/typing.nit:116,11--14
+              'self' ... ../src/syntax/typing.nit:116,11--14
+          ../src/syntax/typing.nit:119,3--37
+            'var' ... ../src/syntax/typing.nit:119,3--5
+            'candidates' ... ../src/syntax/typing.nit:119,7--16
+            '=' ... ../src/syntax/typing.nit:119,18
+            ../src/syntax/typing.nit:119,20--37
+              'new' ... ../src/syntax/typing.nit:119,20--22
+              ../src/syntax/typing.nit:119,24--37
+                'Array' ... ../src/syntax/typing.nit:119,24--28
+                ../src/syntax/typing.nit:119,30--37
+                  'MMMethod' ... ../src/syntax/typing.nit:119,30--37
+          ../src/syntax/typing.nit:120,3--43
+            'var' ... ../src/syntax/typing.nit:120,3--5
+            'false_candidates' ... ../src/syntax/typing.nit:120,7--22
+            '=' ... ../src/syntax/typing.nit:120,24
+            ../src/syntax/typing.nit:120,26--43
+              'new' ... ../src/syntax/typing.nit:120,26--28
+              ../src/syntax/typing.nit:120,30--43
+                'Array' ... ../src/syntax/typing.nit:120,30--34
+                ../src/syntax/typing.nit:120,36--43
+                  'MMMethod' ... ../src/syntax/typing.nit:120,36--43
+          ../src/syntax/typing.nit:121,3--35
+            'var' ... ../src/syntax/typing.nit:121,3--5
+            'parity' ... ../src/syntax/typing.nit:121,7--12
+            '=' ... ../src/syntax/typing.nit:121,14
+            ../src/syntax/typing.nit:121,16--35
+              ../src/syntax/typing.nit:121,16--29
+                ../src/syntax/typing.nit:121,16--19
+                  ../src/syntax/typing.nit:121,16
+                  'prop' ... ../src/syntax/typing.nit:121,16--19
+                'signature' ... ../src/syntax/typing.nit:121,21--29
+              'arity' ... ../src/syntax/typing.nit:121,31--35
+          ../src/syntax/typing.nit:122,3--138,27
+            'for' ... ../src/syntax/typing.nit:122,3--5
+            'g' ... ../src/syntax/typing.nit:122,7
+            ../src/syntax/typing.nit:122,12--30
+              ../src/syntax/typing.nit:122,12
+                ../src/syntax/typing.nit:122,12
+                'c' ... ../src/syntax/typing.nit:122,12
+              'global_properties' ... ../src/syntax/typing.nit:122,14--30
+            'do' ... ../src/syntax/typing.nit:122,32--33
+            ../src/syntax/typing.nit:123,4--138,27
+              ../src/syntax/typing.nit:123,4--40
+                'if' ... ../src/syntax/typing.nit:123,4--5
+                ../src/syntax/typing.nit:123,7--25
+                  'not' ... ../src/syntax/typing.nit:123,7--9
+                  ../src/syntax/typing.nit:123,11--25
+                    ../src/syntax/typing.nit:123,11
+                      ../src/syntax/typing.nit:123,11
+                      'g' ... ../src/syntax/typing.nit:123,11
+                    'is_init_for' ... ../src/syntax/typing.nit:123,13--23
+                    ../src/syntax/typing.nit:123,25
+                      ../src/syntax/typing.nit:123,25
+                      'c' ... ../src/syntax/typing.nit:123,25
+                ../src/syntax/typing.nit:123,33--40
+                  'continue' ... ../src/syntax/typing.nit:123,33--40
+              ../src/syntax/typing.nit:124,4--15
+                'var' ... ../src/syntax/typing.nit:124,4--6
+                'gp' ... ../src/syntax/typing.nit:124,8--9
+                '=' ... ../src/syntax/typing.nit:124,11
+                ../src/syntax/typing.nit:124,13--15
+                  ../src/syntax/typing.nit:124,13
+                    ../src/syntax/typing.nit:124,13
+                    'c' ... ../src/syntax/typing.nit:124,13
+                  ../src/syntax/typing.nit:124,15
+                    ../src/syntax/typing.nit:124,15
+                    'g' ... ../src/syntax/typing.nit:124,15
+              ../src/syntax/typing.nit:125,4--40
+                'var' ... ../src/syntax/typing.nit:125,4--6
+                'gps' ... ../src/syntax/typing.nit:125,8--10
+                '=' ... ../src/syntax/typing.nit:125,12
+                ../src/syntax/typing.nit:125,14--40
+                  ../src/syntax/typing.nit:125,14--15
+                    ../src/syntax/typing.nit:125,14
+                    'gp' ... ../src/syntax/typing.nit:125,14--15
+                  'signature_for' ... ../src/syntax/typing.nit:125,17--29
+                  ../src/syntax/typing.nit:125,31--40
+                    ../src/syntax/typing.nit:125,31
+                      ../src/syntax/typing.nit:125,31
+                      'c' ... ../src/syntax/typing.nit:125,31
+                    'get_type' ... ../src/syntax/typing.nit:125,33--40
+              ../src/syntax/typing.nit:126,4--28
+                'assert' ... ../src/syntax/typing.nit:126,4--9
+                ../src/syntax/typing.nit:126,11--28
+                  ../src/syntax/typing.nit:126,11--12
+                    ../src/syntax/typing.nit:126,11
+                    'gp' ... ../src/syntax/typing.nit:126,11--12
+                  ../src/syntax/typing.nit:126,18--28
+                    'MMSrcMethod' ... ../src/syntax/typing.nit:126,18--28
+              ../src/syntax/typing.nit:127,4--25
+                'var' ... ../src/syntax/typing.nit:127,4--6
+                'garity' ... ../src/syntax/typing.nit:127,8--13
+                '=' ... ../src/syntax/typing.nit:127,15
+                ../src/syntax/typing.nit:127,17--25
+                  ../src/syntax/typing.nit:127,17--19
+                    ../src/syntax/typing.nit:127,17
+                    'gps' ... ../src/syntax/typing.nit:127,17--19
+                  'arity' ... ../src/syntax/typing.nit:127,21--25
+              ../src/syntax/typing.nit:128,4--138,27
+                'if' ... ../src/syntax/typing.nit:128,4--5
+                ../src/syntax/typing.nit:128,7--26
+                  ../src/syntax/typing.nit:128,7--13
+                    ../src/syntax/typing.nit:128,7--8
+                      ../src/syntax/typing.nit:128,7
+                      'gp' ... ../src/syntax/typing.nit:128,7--8
+                    'name' ... ../src/syntax/typing.nit:128,10--13
+                  ../src/syntax/typing.nit:128,18--26
+                    ../src/syntax/typing.nit:128,18--21
+                      ../src/syntax/typing.nit:128,18
+                      'prop' ... ../src/syntax/typing.nit:128,18--21
+                    'name' ... ../src/syntax/typing.nit:128,23--26
+                ../src/syntax/typing.nit:129,5--132,28
+                  ../src/syntax/typing.nit:129,5--132,28
+                    'if' ... ../src/syntax/typing.nit:129,5--6
+                    ../src/syntax/typing.nit:129,8--64
+                      ../src/syntax/typing.nit:129,8--18
+                        ../src/syntax/typing.nit:129,8--13
+                          ../src/syntax/typing.nit:129,8
+                          'garity' ... ../src/syntax/typing.nit:129,8--13
+                        ../src/syntax/typing.nit:129,18
+                          '0' ... ../src/syntax/typing.nit:129,18
+                      ../src/syntax/typing.nit:129,24--64
+                        ../src/syntax/typing.nit:129,24--39
+                          ../src/syntax/typing.nit:129,24--29
+                            ../src/syntax/typing.nit:129,24
+                            'parity' ... ../src/syntax/typing.nit:129,24--29
+                          ../src/syntax/typing.nit:129,34--39
+                            ../src/syntax/typing.nit:129,34
+                            'garity' ... ../src/syntax/typing.nit:129,34--39
+                        ../src/syntax/typing.nit:129,45--64
+                          ../src/syntax/typing.nit:129,45--58
+                            ../src/syntax/typing.nit:129,45--48
+                              ../src/syntax/typing.nit:129,45
+                              'prop' ... ../src/syntax/typing.nit:129,45--48
+                            'signature' ... ../src/syntax/typing.nit:129,50--58
+                          ../src/syntax/typing.nit:129,62--64
+                            ../src/syntax/typing.nit:129,62
+                            'gps' ... ../src/syntax/typing.nit:129,62--64
+                    ../src/syntax/typing.nit:130,6--14
+                      ../src/syntax/typing.nit:130,6--14
+                        'return' ... ../src/syntax/typing.nit:130,6--11
+                        ../src/syntax/typing.nit:130,13--14
+                          ../src/syntax/typing.nit:130,13
+                          'gp' ... ../src/syntax/typing.nit:130,13--14
+                    ../src/syntax/typing.nit:132,6--28
+                      ../src/syntax/typing.nit:132,6--28
+                        ../src/syntax/typing.nit:132,6--21
+                          ../src/syntax/typing.nit:132,6
+                          'false_candidates' ... ../src/syntax/typing.nit:132,6--21
+                        'add' ... ../src/syntax/typing.nit:132,23--25
+                        ../src/syntax/typing.nit:132,27--28
+                          ../src/syntax/typing.nit:132,27
+                          'gp' ... ../src/syntax/typing.nit:132,27--28
+                ../src/syntax/typing.nit:134,9--138,27
+                  'if' ... ../src/syntax/typing.nit:134,9--10
+                  ../src/syntax/typing.nit:134,12--60
+                    ../src/syntax/typing.nit:134,12--22
+                      ../src/syntax/typing.nit:134,12--17
+                        ../src/syntax/typing.nit:134,12
+                        'garity' ... ../src/syntax/typing.nit:134,12--17
+                      ../src/syntax/typing.nit:134,22
+                        '0' ... ../src/syntax/typing.nit:134,22
+                    ../src/syntax/typing.nit:134,28--60
+                      ../src/syntax/typing.nit:134,28--34
+                        ../src/syntax/typing.nit:134,28--29
+                          ../src/syntax/typing.nit:134,28
+                          'gp' ... ../src/syntax/typing.nit:134,28--29
+                        'name' ... ../src/syntax/typing.nit:134,31--34
+                      ../src/syntax/typing.nit:134,39--60
+                        'once' ... ../src/syntax/typing.nit:134,39--42
+                        ../src/syntax/typing.nit:134,45--60
+                          ../src/syntax/typing.nit:134,45--50
+                            '"init"' ... ../src/syntax/typing.nit:134,45--50
+                          'to_symbol' ... ../src/syntax/typing.nit:134,52--60
+                  ../src/syntax/typing.nit:135,5--136,27
+                    ../src/syntax/typing.nit:135,5--21
+                      ../src/syntax/typing.nit:135,5--14
+                        ../src/syntax/typing.nit:135,5
+                        'candidates' ... ../src/syntax/typing.nit:135,5--14
+                      'add' ... ../src/syntax/typing.nit:135,16--18
+                      ../src/syntax/typing.nit:135,20--21
+                        ../src/syntax/typing.nit:135,20
+                        'gp' ... ../src/syntax/typing.nit:135,20--21
+                    ../src/syntax/typing.nit:136,5--27
+                      ../src/syntax/typing.nit:136,5--20
+                        ../src/syntax/typing.nit:136,5
+                        'false_candidates' ... ../src/syntax/typing.nit:136,5--20
+                      'add' ... ../src/syntax/typing.nit:136,22--24
+                      ../src/syntax/typing.nit:136,26--27
+                        ../src/syntax/typing.nit:136,26
+                        'gp' ... ../src/syntax/typing.nit:136,26--27
+                  ../src/syntax/typing.nit:138,5--27
+                    ../src/syntax/typing.nit:138,5--27
+                      ../src/syntax/typing.nit:138,5--20
+                        ../src/syntax/typing.nit:138,5
+                        'false_candidates' ... ../src/syntax/typing.nit:138,5--20
+                      'add' ... ../src/syntax/typing.nit:138,22--24
+                      ../src/syntax/typing.nit:138,26--27
+                        ../src/syntax/typing.nit:138,26
+                        'gp' ... ../src/syntax/typing.nit:138,26--27
+          ../src/syntax/typing.nit:141,3--159,14
+            'if' ... ../src/syntax/typing.nit:141,3--4
+            ../src/syntax/typing.nit:141,6--27
+              ../src/syntax/typing.nit:141,6--22
+                ../src/syntax/typing.nit:141,6--15
+                  ../src/syntax/typing.nit:141,6
+                  'candidates' ... ../src/syntax/typing.nit:141,6--15
+                'length' ... ../src/syntax/typing.nit:141,17--22
+              ../src/syntax/typing.nit:141,27
+                '1' ... ../src/syntax/typing.nit:141,27
+            ../src/syntax/typing.nit:142,4--26
+              ../src/syntax/typing.nit:142,4--26
+                'return' ... ../src/syntax/typing.nit:142,4--9
+                ../src/syntax/typing.nit:142,11--26
+                  ../src/syntax/typing.nit:142,11--20
+                    ../src/syntax/typing.nit:142,11
+                    'candidates' ... ../src/syntax/typing.nit:142,11--20
+                  'first' ... ../src/syntax/typing.nit:142,22--26
+            ../src/syntax/typing.nit:143,8--159,14
+              'if' ... ../src/syntax/typing.nit:143,8--9
+              ../src/syntax/typing.nit:143,11--31
+                ../src/syntax/typing.nit:143,11--27
+                  ../src/syntax/typing.nit:143,11--20
+                    ../src/syntax/typing.nit:143,11
+                    'candidates' ... ../src/syntax/typing.nit:143,11--20
+                  'length' ... ../src/syntax/typing.nit:143,22--27
+                ../src/syntax/typing.nit:143,31
+                  '0' ... ../src/syntax/typing.nit:143,31
+              ../src/syntax/typing.nit:144,4--149,14
+                ../src/syntax/typing.nit:144,4--27
+                  'var' ... ../src/syntax/typing.nit:144,4--6
+                  'a' ... ../src/syntax/typing.nit:144,8
+                  '=' ... ../src/syntax/typing.nit:144,10
+                  ../src/syntax/typing.nit:144,12--27
+                    'new' ... ../src/syntax/typing.nit:144,12--14
+                    ../src/syntax/typing.nit:144,16--27
+                      'Array' ... ../src/syntax/typing.nit:144,16--20
+                      ../src/syntax/typing.nit:144,22--27
+                        'String' ... ../src/syntax/typing.nit:144,22--27
+                ../src/syntax/typing.nit:145,4--146,51
+                  'for' ... ../src/syntax/typing.nit:145,4--6
+                  'p' ... ../src/syntax/typing.nit:145,8
+                  ../src/syntax/typing.nit:145,13--22
+                    ../src/syntax/typing.nit:145,13
+                    'candidates' ... ../src/syntax/typing.nit:145,13--22
+                  'do' ... ../src/syntax/typing.nit:145,24--25
+                  ../src/syntax/typing.nit:146,5--51
+                    ../src/syntax/typing.nit:146,5--51
+                      ../src/syntax/typing.nit:146,5
+                        ../src/syntax/typing.nit:146,5
+                        'a' ... ../src/syntax/typing.nit:146,5
+                      'add' ... ../src/syntax/typing.nit:146,7--9
+                      ../src/syntax/typing.nit:146,11--51
+                        ../src/syntax/typing.nit:146,11--12
+                          '"{' ... ../src/syntax/typing.nit:146,11--12
+                        ../src/syntax/typing.nit:146,13--23
+                          ../src/syntax/typing.nit:146,13
+                            ../src/syntax/typing.nit:146,13
+                            'p' ... ../src/syntax/typing.nit:146,13
+                          'full_name' ... ../src/syntax/typing.nit:146,15--23
+                        ../src/syntax/typing.nit:146,24--25
+                          '}{' ... ../src/syntax/typing.nit:146,24--25
+                        ../src/syntax/typing.nit:146,26--48
+                          ../src/syntax/typing.nit:146,26--36
+                            ../src/syntax/typing.nit:146,26
+                              ../src/syntax/typing.nit:146,26
+                              'p' ... ../src/syntax/typing.nit:146,26
+                            'signature' ... ../src/syntax/typing.nit:146,28--36
+                          'as' ... ../src/syntax/typing.nit:146,38--39
+                          'not' ... ../src/syntax/typing.nit:146,41--43
+                          'null' ... ../src/syntax/typing.nit:146,45--48
+                        ../src/syntax/typing.nit:146,50--51
+                          '}"' ... ../src/syntax/typing.nit:146,50--51
+                ../src/syntax/typing.nit:148,4--87
+                  ../src/syntax/typing.nit:148,4
+                    ../src/syntax/typing.nit:148,4
+                    'v' ... ../src/syntax/typing.nit:148,4
+                  'error' ... ../src/syntax/typing.nit:148,6--10
+                  ../src/syntax/typing.nit:148,12
+                    ../src/syntax/typing.nit:148,12
+                    'n' ... ../src/syntax/typing.nit:148,12
+                  ../src/syntax/typing.nit:148,15--87
+                    ../src/syntax/typing.nit:148,15--67
+                      '"Error: Conflicting default constructor to call for {' ... ../src/syntax/typing.nit:148,15--67
+                    ../src/syntax/typing.nit:148,68
+                      ../src/syntax/typing.nit:148,68
+                      'c' ... ../src/syntax/typing.nit:148,68
+                    ../src/syntax/typing.nit:148,69--72
+                      '}: {' ... ../src/syntax/typing.nit:148,69--72
+                    ../src/syntax/typing.nit:148,73--83
+                      ../src/syntax/typing.nit:148,73
+                        ../src/syntax/typing.nit:148,73
+                        'a' ... ../src/syntax/typing.nit:148,73
+                      'join' ... ../src/syntax/typing.nit:148,75--78
+                      ../src/syntax/typing.nit:148,80--83
+                        '", "' ... ../src/syntax/typing.nit:148,80--83
+                    ../src/syntax/typing.nit:148,85--87
+                      '}."' ... ../src/syntax/typing.nit:148,85--87
+                ../src/syntax/typing.nit:149,4--14
+                  'return' ... ../src/syntax/typing.nit:149,4--9
+                  ../src/syntax/typing.nit:149,11--14
+                    'null' ... ../src/syntax/typing.nit:149,11--14
+              ../src/syntax/typing.nit:150,8--159,14
+                'if' ... ../src/syntax/typing.nit:150,8--9
+                ../src/syntax/typing.nit:150,11--37
+                  ../src/syntax/typing.nit:150,11--33
+                    ../src/syntax/typing.nit:150,11--26
+                      ../src/syntax/typing.nit:150,11
+                      'false_candidates' ... ../src/syntax/typing.nit:150,11--26
+                    'length' ... ../src/syntax/typing.nit:150,28--33
+                  ../src/syntax/typing.nit:150,37
+                    '0' ... ../src/syntax/typing.nit:150,37
+                ../src/syntax/typing.nit:151,4--156,14
+                  ../src/syntax/typing.nit:151,4--27
+                    'var' ... ../src/syntax/typing.nit:151,4--6
+                    'a' ... ../src/syntax/typing.nit:151,8
+                    '=' ... ../src/syntax/typing.nit:151,10
+                    ../src/syntax/typing.nit:151,12--27
+                      'new' ... ../src/syntax/typing.nit:151,12--14
+                      ../src/syntax/typing.nit:151,16--27
+                        'Array' ... ../src/syntax/typing.nit:151,16--20
+                        ../src/syntax/typing.nit:151,22--27
+                          'String' ... ../src/syntax/typing.nit:151,22--27
+                  ../src/syntax/typing.nit:152,4--153,51
+                    'for' ... ../src/syntax/typing.nit:152,4--6
+                    'p' ... ../src/syntax/typing.nit:152,8
+                    ../src/syntax/typing.nit:152,13--28
+                      ../src/syntax/typing.nit:152,13
+                      'false_candidates' ... ../src/syntax/typing.nit:152,13--28
+                    'do' ... ../src/syntax/typing.nit:152,30--31
+                    ../src/syntax/typing.nit:153,5--51
+                      ../src/syntax/typing.nit:153,5--51
+                        ../src/syntax/typing.nit:153,5
+                          ../src/syntax/typing.nit:153,5
+                          'a' ... ../src/syntax/typing.nit:153,5
+                        'add' ... ../src/syntax/typing.nit:153,7--9
+                        ../src/syntax/typing.nit:153,11--51
+                          ../src/syntax/typing.nit:153,11--12
+                            '"{' ... ../src/syntax/typing.nit:153,11--12
+                          ../src/syntax/typing.nit:153,13--23
+                            ../src/syntax/typing.nit:153,13
+                              ../src/syntax/typing.nit:153,13
+                              'p' ... ../src/syntax/typing.nit:153,13
+                            'full_name' ... ../src/syntax/typing.nit:153,15--23
+                          ../src/syntax/typing.nit:153,24--25
+                            '}{' ... ../src/syntax/typing.nit:153,24--25
+                          ../src/syntax/typing.nit:153,26--48
+                            ../src/syntax/typing.nit:153,26--36
+                              ../src/syntax/typing.nit:153,26
+                                ../src/syntax/typing.nit:153,26
+                                'p' ... ../src/syntax/typing.nit:153,26
+                              'signature' ... ../src/syntax/typing.nit:153,28--36
+                            'as' ... ../src/syntax/typing.nit:153,38--39
+                            'not' ... ../src/syntax/typing.nit:153,41--43
+                            'null' ... ../src/syntax/typing.nit:153,45--48
+                          ../src/syntax/typing.nit:153,50--51
+                            '}"' ... ../src/syntax/typing.nit:153,50--51
+                  ../src/syntax/typing.nit:155,4--116
+                    ../src/syntax/typing.nit:155,4
+                      ../src/syntax/typing.nit:155,4
+                      'v' ... ../src/syntax/typing.nit:155,4
+                    'error' ... ../src/syntax/typing.nit:155,6--10
+                    ../src/syntax/typing.nit:155,12
+                      ../src/syntax/typing.nit:155,12
+                      'n' ... ../src/syntax/typing.nit:155,12
+                    ../src/syntax/typing.nit:155,15--116
+                      ../src/syntax/typing.nit:155,15--71
+                        '"Error: there is no available compatible constructor in {' ... ../src/syntax/typing.nit:155,15--71
+                      ../src/syntax/typing.nit:155,72
+                        ../src/syntax/typing.nit:155,72
+                        'c' ... ../src/syntax/typing.nit:155,72
+                      ../src/syntax/typing.nit:155,73--101
+                        '}. Discarded candidates are {' ... ../src/syntax/typing.nit:155,73--101
+                      ../src/syntax/typing.nit:155,102--112
+                        ../src/syntax/typing.nit:155,102
+                          ../src/syntax/typing.nit:155,102
+                          'a' ... ../src/syntax/typing.nit:155,102
+                        'join' ... ../src/syntax/typing.nit:155,104--107
+                        ../src/syntax/typing.nit:155,109--112
+                          '", "' ... ../src/syntax/typing.nit:155,109--112
+                      ../src/syntax/typing.nit:155,114--116
+                        '}."' ... ../src/syntax/typing.nit:155,114--116
+                  ../src/syntax/typing.nit:156,4--14
+                    'return' ... ../src/syntax/typing.nit:156,4--9
+                    ../src/syntax/typing.nit:156,11--14
+                      'null' ... ../src/syntax/typing.nit:156,11--14
+                ../src/syntax/typing.nit:158,4--159,14
+                  ../src/syntax/typing.nit:158,4--75
+                    ../src/syntax/typing.nit:158,4
+                      ../src/syntax/typing.nit:158,4
+                      'v' ... ../src/syntax/typing.nit:158,4
+                    'error' ... ../src/syntax/typing.nit:158,6--10
+                    ../src/syntax/typing.nit:158,12
+                      ../src/syntax/typing.nit:158,12
+                      'n' ... ../src/syntax/typing.nit:158,12
+                    ../src/syntax/typing.nit:158,15--75
+                      ../src/syntax/typing.nit:158,15--71
+                        '"Error: there is no available compatible constructor in {' ... ../src/syntax/typing.nit:158,15--71
+                      ../src/syntax/typing.nit:158,72
+                        ../src/syntax/typing.nit:158,72
+                        'c' ... ../src/syntax/typing.nit:158,72
+                      ../src/syntax/typing.nit:158,73--75
+                        '}."' ... ../src/syntax/typing.nit:158,73--75
+                  ../src/syntax/typing.nit:159,4--14
+                    'return' ... ../src/syntax/typing.nit:159,4--9
+                    ../src/syntax/typing.nit:159,11--14
+                      'null' ... ../src/syntax/typing.nit:159,11--14
+    ../src/syntax/typing.nit:167,1--173,42
+      'redef' ... ../src/syntax/typing.nit:167,1--5
+      ../src/syntax/typing.nit:167,7
+      ../src/syntax/typing.nit:167,7--11
+        'class' ... ../src/syntax/typing.nit:167,7--11
+      'ANode' ... ../src/syntax/typing.nit:167,13--17
+      ../src/syntax/typing.nit:168,2--171,16
+        ../src/syntax/typing.nit:168,2--8
+          'private' ... ../src/syntax/typing.nit:168,2--8
+        'fun' ... ../src/syntax/typing.nit:168,10--12
+        ../src/syntax/typing.nit:168,14--26
+          'accept_typing' ... ../src/syntax/typing.nit:168,14--26
+        ../src/syntax/typing.nit:168,28--43
+          ../src/syntax/typing.nit:168,28--43
+            'v' ... ../src/syntax/typing.nit:168,28
+            ../src/syntax/typing.nit:168,31--43
+              'TypingVisitor' ... ../src/syntax/typing.nit:168,31--43
+        ../src/syntax/typing.nit:170,3--171,16
+          ../src/syntax/typing.nit:170,3--29
+            ../src/syntax/typing.nit:170,29
+            'accept_abs_syntax_visitor' ... ../src/syntax/typing.nit:170,3--27
+            ../src/syntax/typing.nit:170,29
+              ../src/syntax/typing.nit:170,29
+              'v' ... ../src/syntax/typing.nit:170,29
+          ../src/syntax/typing.nit:171,3--16
+            ../src/syntax/typing.nit:171,16
+            'after_typing' ... ../src/syntax/typing.nit:171,3--14
+            ../src/syntax/typing.nit:171,16
+              ../src/syntax/typing.nit:171,16
+              'v' ... ../src/syntax/typing.nit:171,16
+      ../src/syntax/typing.nit:173,2--42
+        ../src/syntax/typing.nit:173,2--8
+          'private' ... ../src/syntax/typing.nit:173,2--8
+        'fun' ... ../src/syntax/typing.nit:173,10--12
+        ../src/syntax/typing.nit:173,14--25
+          'after_typing' ... ../src/syntax/typing.nit:173,14--25
+        ../src/syntax/typing.nit:173,27--42
+          ../src/syntax/typing.nit:173,27--42
+            'v' ... ../src/syntax/typing.nit:173,27
+            ../src/syntax/typing.nit:173,30--42
+              'TypingVisitor' ... ../src/syntax/typing.nit:173,30--42
+        ../src/syntax/typing.nit:173,2
+    ../src/syntax/typing.nit:176,1--181,7
+      'redef' ... ../src/syntax/typing.nit:176,1--5
+      ../src/syntax/typing.nit:176,7
+      ../src/syntax/typing.nit:176,7--11
+        'class' ... ../src/syntax/typing.nit:176,7--11
+      'AClassdef' ... ../src/syntax/typing.nit:176,13--21
+      ../src/syntax/typing.nit:177,2--181,7
+        'redef' ... ../src/syntax/typing.nit:177,2--6
+        ../src/syntax/typing.nit:177,12
+        'fun' ... ../src/syntax/typing.nit:177,8--10
+        ../src/syntax/typing.nit:177,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:177,12--24
+        ../src/syntax/typing.nit:177,26
+          ../src/syntax/typing.nit:177,26
+            'v' ... ../src/syntax/typing.nit:177,26
+        ../src/syntax/typing.nit:179,3--181,7
+          ../src/syntax/typing.nit:179,3--55
+            ../src/syntax/typing.nit:179,3
+              ../src/syntax/typing.nit:179,3
+              'v' ... ../src/syntax/typing.nit:179,3
+            'self_var' ... ../src/syntax/typing.nit:179,5--12
+            '=' ... ../src/syntax/typing.nit:179,14
+            ../src/syntax/typing.nit:179,16--55
+              'new' ... ../src/syntax/typing.nit:179,16--18
+              ../src/syntax/typing.nit:179,20--32
+                'ParamVariable' ... ../src/syntax/typing.nit:179,20--32
+              ../src/syntax/typing.nit:179,34--49
+                ../src/syntax/typing.nit:179,34--39
+                  '"self"' ... ../src/syntax/typing.nit:179,34--39
+                'to_symbol' ... ../src/syntax/typing.nit:179,41--49
+              ../src/syntax/typing.nit:179,52--55
+                'self' ... ../src/syntax/typing.nit:179,52--55
+          ../src/syntax/typing.nit:180,3--41
+            ../src/syntax/typing.nit:180,3--12
+              ../src/syntax/typing.nit:180,3
+                ../src/syntax/typing.nit:180,3
+                'v' ... ../src/syntax/typing.nit:180,3
+              'self_var' ... ../src/syntax/typing.nit:180,5--12
+            'stype' ... ../src/syntax/typing.nit:180,14--18
+            '=' ... ../src/syntax/typing.nit:180,20
+            ../src/syntax/typing.nit:180,22--41
+              ../src/syntax/typing.nit:180,22--32
+                ../src/syntax/typing.nit:180,22
+                'local_class' ... ../src/syntax/typing.nit:180,22--32
+              'get_type' ... ../src/syntax/typing.nit:180,34--41
+          ../src/syntax/typing.nit:181,3--7
+            'super' ... ../src/syntax/typing.nit:181,3--7
+    ../src/syntax/typing.nit:185,1--187,38
+      'redef' ... ../src/syntax/typing.nit:185,1--5
+      ../src/syntax/typing.nit:185,7
+      ../src/syntax/typing.nit:185,7--11
+        'class' ... ../src/syntax/typing.nit:185,7--11
+      'APropdef' ... ../src/syntax/typing.nit:185,13--20
+      ../src/syntax/typing.nit:186,2--51
+        'redef' ... ../src/syntax/typing.nit:186,2--6
+        ../src/syntax/typing.nit:186,12
+        'fun' ... ../src/syntax/typing.nit:186,8--10
+        ../src/syntax/typing.nit:186,12--19
+          'self_var' ... ../src/syntax/typing.nit:186,12--19
+        ../src/syntax/typing.nit:186,31
+        ../src/syntax/typing.nit:186,24--51
+          'return' ... ../src/syntax/typing.nit:186,24--29
+          ../src/syntax/typing.nit:186,31--51
+            ../src/syntax/typing.nit:186,31--39
+              ../src/syntax/typing.nit:186,31
+              '_self_var' ... ../src/syntax/typing.nit:186,31--39
+            'as' ... ../src/syntax/typing.nit:186,41--42
+            'not' ... ../src/syntax/typing.nit:186,44--46
+            'null' ... ../src/syntax/typing.nit:186,48--51
+      ../src/syntax/typing.nit:187,2--38
+        ../src/syntax/typing.nit:187,17
+        'var' ... ../src/syntax/typing.nit:187,2--4
+        '_self_var' ... ../src/syntax/typing.nit:187,6--14
+        ../src/syntax/typing.nit:187,17--38
+          'nullable' ... ../src/syntax/typing.nit:187,17--24
+          'ParamVariable' ... ../src/syntax/typing.nit:187,26--38
+    ../src/syntax/typing.nit:190,1--202,17
+      'redef' ... ../src/syntax/typing.nit:190,1--5
+      ../src/syntax/typing.nit:190,7
+      ../src/syntax/typing.nit:190,7--11
+        'class' ... ../src/syntax/typing.nit:190,7--11
+      'AAttrPropdef' ... ../src/syntax/typing.nit:190,13--24
+      ../src/syntax/typing.nit:191,2--202,17
+        'redef' ... ../src/syntax/typing.nit:191,2--6
+        ../src/syntax/typing.nit:191,12
+        'fun' ... ../src/syntax/typing.nit:191,8--10
+        ../src/syntax/typing.nit:191,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:191,12--24
+        ../src/syntax/typing.nit:191,26
+          ../src/syntax/typing.nit:191,26
+            'v' ... ../src/syntax/typing.nit:191,26
+        ../src/syntax/typing.nit:193,3--202,17
+          ../src/syntax/typing.nit:193,3--42
+            ../src/syntax/typing.nit:193,3
+              ../src/syntax/typing.nit:193,3
+              'v' ... ../src/syntax/typing.nit:193,3
+            'flow_ctx' ... ../src/syntax/typing.nit:193,5--12
+            '=' ... ../src/syntax/typing.nit:193,14
+            ../src/syntax/typing.nit:193,16--42
+              'new' ... ../src/syntax/typing.nit:193,16--18
+              ../src/syntax/typing.nit:193,20--34
+                'RootFlowContext' ... ../src/syntax/typing.nit:193,20--34
+              ../src/syntax/typing.nit:193,36
+                ../src/syntax/typing.nit:193,36
+                'v' ... ../src/syntax/typing.nit:193,36
+              ../src/syntax/typing.nit:193,39--42
+                'self' ... ../src/syntax/typing.nit:193,39--42
+          ../src/syntax/typing.nit:194,3--30
+            ../src/syntax/typing.nit:194,3
+              ../src/syntax/typing.nit:194,3
+              'v' ... ../src/syntax/typing.nit:194,3
+            'base_flow_ctx' ... ../src/syntax/typing.nit:194,5--17
+            '=' ... ../src/syntax/typing.nit:194,19
+            ../src/syntax/typing.nit:194,21--30
+              ../src/syntax/typing.nit:194,21
+                ../src/syntax/typing.nit:194,21
+                'v' ... ../src/syntax/typing.nit:194,21
+              'flow_ctx' ... ../src/syntax/typing.nit:194,23--30
+          ../src/syntax/typing.nit:196,3--23
+            ../src/syntax/typing.nit:196,3--13
+              ../src/syntax/typing.nit:196,3
+                ../src/syntax/typing.nit:196,3
+                'v' ... ../src/syntax/typing.nit:196,3
+              'scope_ctx' ... ../src/syntax/typing.nit:196,5--13
+            'push' ... ../src/syntax/typing.nit:196,15--18
+            ../src/syntax/typing.nit:196,20--23
+              'self' ... ../src/syntax/typing.nit:196,20--23
+          ../src/syntax/typing.nit:197,3--24
+            ../src/syntax/typing.nit:197,15
+            '_self_var' ... ../src/syntax/typing.nit:197,3--11
+            '=' ... ../src/syntax/typing.nit:197,13
+            ../src/syntax/typing.nit:197,15--24
+              ../src/syntax/typing.nit:197,15
+                ../src/syntax/typing.nit:197,15
+                'v' ... ../src/syntax/typing.nit:197,15
+              'self_var' ... ../src/syntax/typing.nit:197,17--24
+          ../src/syntax/typing.nit:198,3--7
+            'super' ... ../src/syntax/typing.nit:198,3--7
+          ../src/syntax/typing.nit:199,3--200,83
+            'if' ... ../src/syntax/typing.nit:199,3--4
+            ../src/syntax/typing.nit:199,6--19
+              ../src/syntax/typing.nit:199,6--11
+                ../src/syntax/typing.nit:199,6
+                'n_expr' ... ../src/syntax/typing.nit:199,6--11
+              ../src/syntax/typing.nit:199,16--19
+                'null' ... ../src/syntax/typing.nit:199,16--19
+            ../src/syntax/typing.nit:200,4--83
+              ../src/syntax/typing.nit:200,4--83
+                ../src/syntax/typing.nit:200,4
+                  ../src/syntax/typing.nit:200,4
+                  'v' ... ../src/syntax/typing.nit:200,4
+                'check_conform_expr' ... ../src/syntax/typing.nit:200,6--23
+                ../src/syntax/typing.nit:200,25--42
+                  ../src/syntax/typing.nit:200,25--30
+                    ../src/syntax/typing.nit:200,25
+                    'n_expr' ... ../src/syntax/typing.nit:200,25--30
+                  'as' ... ../src/syntax/typing.nit:200,32--33
+                  'not' ... ../src/syntax/typing.nit:200,35--37
+                  'null' ... ../src/syntax/typing.nit:200,39--42
+                ../src/syntax/typing.nit:200,46--83
+                  ../src/syntax/typing.nit:200,46--71
+                    ../src/syntax/typing.nit:200,46--59
+                      ../src/syntax/typing.nit:200,46--49
+                        ../src/syntax/typing.nit:200,46
+                        'prop' ... ../src/syntax/typing.nit:200,46--49
+                      'signature' ... ../src/syntax/typing.nit:200,51--59
+                    'return_type' ... ../src/syntax/typing.nit:200,61--71
+                  'as' ... ../src/syntax/typing.nit:200,73--74
+                  'not' ... ../src/syntax/typing.nit:200,76--78
+                  'null' ... ../src/syntax/typing.nit:200,80--83
+          ../src/syntax/typing.nit:202,3--17
+            ../src/syntax/typing.nit:202,3--13
+              ../src/syntax/typing.nit:202,3
+                ../src/syntax/typing.nit:202,3
+                'v' ... ../src/syntax/typing.nit:202,3
+              'scope_ctx' ... ../src/syntax/typing.nit:202,5--13
+            'pop' ... ../src/syntax/typing.nit:202,15--17
+    ../src/syntax/typing.nit:206,1--215,17
+      'redef' ... ../src/syntax/typing.nit:206,1--5
+      ../src/syntax/typing.nit:206,7
+      ../src/syntax/typing.nit:206,7--11
+        'class' ... ../src/syntax/typing.nit:206,7--11
+      'AMethPropdef' ... ../src/syntax/typing.nit:206,13--24
+      ../src/syntax/typing.nit:207,2--215,17
+        'redef' ... ../src/syntax/typing.nit:207,2--6
+        ../src/syntax/typing.nit:207,12
+        'fun' ... ../src/syntax/typing.nit:207,8--10
+        ../src/syntax/typing.nit:207,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:207,12--24
+        ../src/syntax/typing.nit:207,26
+          ../src/syntax/typing.nit:207,26
+            'v' ... ../src/syntax/typing.nit:207,26
+        ../src/syntax/typing.nit:209,3--215,17
+          ../src/syntax/typing.nit:209,3--42
+            ../src/syntax/typing.nit:209,3
+              ../src/syntax/typing.nit:209,3
+              'v' ... ../src/syntax/typing.nit:209,3
+            'flow_ctx' ... ../src/syntax/typing.nit:209,5--12
+            '=' ... ../src/syntax/typing.nit:209,14
+            ../src/syntax/typing.nit:209,16--42
+              'new' ... ../src/syntax/typing.nit:209,16--18
+              ../src/syntax/typing.nit:209,20--34
+                'RootFlowContext' ... ../src/syntax/typing.nit:209,20--34
+              ../src/syntax/typing.nit:209,36
+                ../src/syntax/typing.nit:209,36
+                'v' ... ../src/syntax/typing.nit:209,36
+              ../src/syntax/typing.nit:209,39--42
+                'self' ... ../src/syntax/typing.nit:209,39--42
+          ../src/syntax/typing.nit:210,3--30
+            ../src/syntax/typing.nit:210,3
+              ../src/syntax/typing.nit:210,3
+              'v' ... ../src/syntax/typing.nit:210,3
+            'base_flow_ctx' ... ../src/syntax/typing.nit:210,5--17
+            '=' ... ../src/syntax/typing.nit:210,19
+            ../src/syntax/typing.nit:210,21--30
+              ../src/syntax/typing.nit:210,21
+                ../src/syntax/typing.nit:210,21
+                'v' ... ../src/syntax/typing.nit:210,21
+              'flow_ctx' ... ../src/syntax/typing.nit:210,23--30
+          ../src/syntax/typing.nit:212,3--23
+            ../src/syntax/typing.nit:212,3--13
+              ../src/syntax/typing.nit:212,3
+                ../src/syntax/typing.nit:212,3
+                'v' ... ../src/syntax/typing.nit:212,3
+              'scope_ctx' ... ../src/syntax/typing.nit:212,5--13
+            'push' ... ../src/syntax/typing.nit:212,15--18
+            ../src/syntax/typing.nit:212,20--23
+              'self' ... ../src/syntax/typing.nit:212,20--23
+          ../src/syntax/typing.nit:213,3--24
+            ../src/syntax/typing.nit:213,15
+            '_self_var' ... ../src/syntax/typing.nit:213,3--11
+            '=' ... ../src/syntax/typing.nit:213,13
+            ../src/syntax/typing.nit:213,15--24
+              ../src/syntax/typing.nit:213,15
+                ../src/syntax/typing.nit:213,15
+                'v' ... ../src/syntax/typing.nit:213,15
+              'self_var' ... ../src/syntax/typing.nit:213,17--24
+          ../src/syntax/typing.nit:214,3--7
+            'super' ... ../src/syntax/typing.nit:214,3--7
+          ../src/syntax/typing.nit:215,3--17
+            ../src/syntax/typing.nit:215,3--13
+              ../src/syntax/typing.nit:215,3
+                ../src/syntax/typing.nit:215,3
+                'v' ... ../src/syntax/typing.nit:215,3
+              'scope_ctx' ... ../src/syntax/typing.nit:215,5--13
+            'pop' ... ../src/syntax/typing.nit:215,15--17
+    ../src/syntax/typing.nit:219,1--224,97
+      'redef' ... ../src/syntax/typing.nit:219,1--5
+      ../src/syntax/typing.nit:219,7
+      ../src/syntax/typing.nit:219,7--11
+        'class' ... ../src/syntax/typing.nit:219,7--11
+      'AConcreteMethPropdef' ... ../src/syntax/typing.nit:219,13--32
+      ../src/syntax/typing.nit:220,2--224,97
+        'redef' ... ../src/syntax/typing.nit:220,2--6
+        ../src/syntax/typing.nit:220,12
+        'fun' ... ../src/syntax/typing.nit:220,8--10
+        ../src/syntax/typing.nit:220,12--23
+          'after_typing' ... ../src/syntax/typing.nit:220,12--23
+        ../src/syntax/typing.nit:220,25
+          ../src/syntax/typing.nit:220,25
+            'v' ... ../src/syntax/typing.nit:220,25
+        ../src/syntax/typing.nit:222,3--224,97
+          ../src/syntax/typing.nit:222,3--7
+            'super' ... ../src/syntax/typing.nit:222,3--7
+          ../src/syntax/typing.nit:223,3--224,97
+            'if' ... ../src/syntax/typing.nit:223,3--4
+            ../src/syntax/typing.nit:223,6--68
+              ../src/syntax/typing.nit:223,6--27
+                'not' ... ../src/syntax/typing.nit:223,6--8
+                ../src/syntax/typing.nit:223,10--27
+                  ../src/syntax/typing.nit:223,10--19
+                    ../src/syntax/typing.nit:223,10
+                      ../src/syntax/typing.nit:223,10
+                      'v' ... ../src/syntax/typing.nit:223,10
+                    'flow_ctx' ... ../src/syntax/typing.nit:223,12--19
+                  'unreash' ... ../src/syntax/typing.nit:223,21--27
+              ../src/syntax/typing.nit:223,33--68
+                ../src/syntax/typing.nit:223,33--60
+                  ../src/syntax/typing.nit:223,33--48
+                    ../src/syntax/typing.nit:223,33--38
+                      ../src/syntax/typing.nit:223,33
+                      'method' ... ../src/syntax/typing.nit:223,33--38
+                    'signature' ... ../src/syntax/typing.nit:223,40--48
+                  'return_type' ... ../src/syntax/typing.nit:223,50--60
+                ../src/syntax/typing.nit:223,65--68
+                  'null' ... ../src/syntax/typing.nit:223,65--68
+            ../src/syntax/typing.nit:224,4--97
+              ../src/syntax/typing.nit:224,4--97
+                ../src/syntax/typing.nit:224,4
+                  ../src/syntax/typing.nit:224,4
+                  'v' ... ../src/syntax/typing.nit:224,4
+                'error' ... ../src/syntax/typing.nit:224,6--10
+                ../src/syntax/typing.nit:224,12--15
+                  'self' ... ../src/syntax/typing.nit:224,12--15
+                ../src/syntax/typing.nit:224,18--97
+                  '"Control error: Reached end of function (a 'return' with a value was expected)."' ... ../src/syntax/typing.nit:224,18--97
+    ../src/syntax/typing.nit:229,1--273,11
+      'redef' ... ../src/syntax/typing.nit:229,1--5
+      ../src/syntax/typing.nit:229,7
+      ../src/syntax/typing.nit:229,7--11
+        'class' ... ../src/syntax/typing.nit:229,7--11
+      'AConcreteInitPropdef' ... ../src/syntax/typing.nit:229,13--32
+      ../src/syntax/typing.nit:230,2--235,7
+        'redef' ... ../src/syntax/typing.nit:230,2--6
+        ../src/syntax/typing.nit:230,12
+        'fun' ... ../src/syntax/typing.nit:230,8--10
+        ../src/syntax/typing.nit:230,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:230,12--24
+        ../src/syntax/typing.nit:230,26
+          ../src/syntax/typing.nit:230,26
+            'v' ... ../src/syntax/typing.nit:230,26
+        ../src/syntax/typing.nit:232,3--235,7
+          ../src/syntax/typing.nit:232,3--23
+            ../src/syntax/typing.nit:232,3
+              ../src/syntax/typing.nit:232,3
+              'v' ... ../src/syntax/typing.nit:232,3
+            'top_block' ... ../src/syntax/typing.nit:232,5--13
+            '=' ... ../src/syntax/typing.nit:232,15
+            ../src/syntax/typing.nit:232,17--23
+              ../src/syntax/typing.nit:232,17
+              'n_block' ... ../src/syntax/typing.nit:232,17--23
+          ../src/syntax/typing.nit:233,3--57
+            ../src/syntax/typing.nit:233,3
+              ../src/syntax/typing.nit:233,3
+              'v' ... ../src/syntax/typing.nit:233,3
+            'explicit_super_init_calls' ... ../src/syntax/typing.nit:233,5--29
+            '=' ... ../src/syntax/typing.nit:233,31
+            ../src/syntax/typing.nit:233,33--57
+              ../src/syntax/typing.nit:233,33
+              'explicit_super_init_calls' ... ../src/syntax/typing.nit:233,33--57
+          ../src/syntax/typing.nit:234,3--36
+            ../src/syntax/typing.nit:234,3
+              ../src/syntax/typing.nit:234,3
+              'v' ... ../src/syntax/typing.nit:234,3
+            'explicit_other_init_call' ... ../src/syntax/typing.nit:234,5--28
+            '=' ... ../src/syntax/typing.nit:234,30
+            ../src/syntax/typing.nit:234,32--36
+              'false' ... ../src/syntax/typing.nit:234,32--36
+          ../src/syntax/typing.nit:235,3--7
+            'super' ... ../src/syntax/typing.nit:235,3--7
+      ../src/syntax/typing.nit:238,2--273,11
+        'redef' ... ../src/syntax/typing.nit:238,2--6
+        ../src/syntax/typing.nit:238,12
+        'fun' ... ../src/syntax/typing.nit:238,8--10
+        ../src/syntax/typing.nit:238,12--23
+          'after_typing' ... ../src/syntax/typing.nit:238,12--23
+        ../src/syntax/typing.nit:238,25
+          ../src/syntax/typing.nit:238,25
+            'v' ... ../src/syntax/typing.nit:238,25
+        ../src/syntax/typing.nit:240,3--273,11
+          ../src/syntax/typing.nit:240,3--7
+            'super' ... ../src/syntax/typing.nit:240,3--7
+          ../src/syntax/typing.nit:241,3--273,11
+            'if' ... ../src/syntax/typing.nit:241,3--4
+            ../src/syntax/typing.nit:241,6--64
+              ../src/syntax/typing.nit:241,6--31
+                ../src/syntax/typing.nit:241,6
+                  ../src/syntax/typing.nit:241,6
+                  'v' ... ../src/syntax/typing.nit:241,6
+                'explicit_other_init_call' ... ../src/syntax/typing.nit:241,8--31
+              ../src/syntax/typing.nit:241,36--64
+                ../src/syntax/typing.nit:241,36--54
+                  ../src/syntax/typing.nit:241,36--48
+                    ../src/syntax/typing.nit:241,36--41
+                      ../src/syntax/typing.nit:241,36
+                      'method' ... ../src/syntax/typing.nit:241,36--41
+                    'global' ... ../src/syntax/typing.nit:241,43--48
+                  'intro' ... ../src/syntax/typing.nit:241,50--54
+                ../src/syntax/typing.nit:241,59--64
+                  ../src/syntax/typing.nit:241,59
+                  'method' ... ../src/syntax/typing.nit:241,59--64
+            ../src/syntax/typing.nit:244,4--273,11
+              ../src/syntax/typing.nit:244,4--12
+                'var' ... ../src/syntax/typing.nit:244,4--6
+                'i' ... ../src/syntax/typing.nit:244,8
+                '=' ... ../src/syntax/typing.nit:244,10
+                ../src/syntax/typing.nit:244,12
+                  '0' ... ../src/syntax/typing.nit:244,12
+              ../src/syntax/typing.nit:245,4--43
+                'var' ... ../src/syntax/typing.nit:245,4--6
+                'l' ... ../src/syntax/typing.nit:245,8
+                '=' ... ../src/syntax/typing.nit:245,10
+                ../src/syntax/typing.nit:245,12--43
+                  ../src/syntax/typing.nit:245,12--36
+                    ../src/syntax/typing.nit:245,12
+                    'explicit_super_init_calls' ... ../src/syntax/typing.nit:245,12--36
+                  'length' ... ../src/syntax/typing.nit:245,38--43
+              ../src/syntax/typing.nit:246,4--38
+                'var' ... ../src/syntax/typing.nit:246,4--6
+                'cur_m' ... ../src/syntax/typing.nit:246,8--12
+                ../src/syntax/typing.nit:246,15--31
+                  'nullable' ... ../src/syntax/typing.nit:246,15--22
+                  'MMMethod' ... ../src/syntax/typing.nit:246,24--31
+                '=' ... ../src/syntax/typing.nit:246,33
+                ../src/syntax/typing.nit:246,35--38
+                  'null' ... ../src/syntax/typing.nit:246,35--38
+              ../src/syntax/typing.nit:247,4--42
+                'var' ... ../src/syntax/typing.nit:247,4--6
+                'cur_c' ... ../src/syntax/typing.nit:247,8--12
+                ../src/syntax/typing.nit:247,15--35
+                  'nullable' ... ../src/syntax/typing.nit:247,15--22
+                  'MMLocalClass' ... ../src/syntax/typing.nit:247,24--35
+                '=' ... ../src/syntax/typing.nit:247,37
+                ../src/syntax/typing.nit:247,39--42
+                  'null' ... ../src/syntax/typing.nit:247,39--42
+              ../src/syntax/typing.nit:248,4--250,64
+                'if' ... ../src/syntax/typing.nit:248,4--5
+                ../src/syntax/typing.nit:248,7--11
+                  ../src/syntax/typing.nit:248,7
+                    ../src/syntax/typing.nit:248,7
+                    'i' ... ../src/syntax/typing.nit:248,7
+                  ../src/syntax/typing.nit:248,11
+                    ../src/syntax/typing.nit:248,11
+                    'l' ... ../src/syntax/typing.nit:248,11
+                ../src/syntax/typing.nit:249,5--250,64
+                  ../src/syntax/typing.nit:249,5--39
+                    ../src/syntax/typing.nit:249,13
+                    'cur_m' ... ../src/syntax/typing.nit:249,5--9
+                    '=' ... ../src/syntax/typing.nit:249,11
+                    ../src/syntax/typing.nit:249,13--39
+                      ../src/syntax/typing.nit:249,13--37
+                        ../src/syntax/typing.nit:249,13
+                        'explicit_super_init_calls' ... ../src/syntax/typing.nit:249,13--37
+                      ../src/syntax/typing.nit:249,39
+                        ../src/syntax/typing.nit:249,39
+                        'i' ... ../src/syntax/typing.nit:249,39
+                  ../src/syntax/typing.nit:250,5--64
+                    ../src/syntax/typing.nit:250,13
+                    'cur_c' ... ../src/syntax/typing.nit:250,5--9
+                    '=' ... ../src/syntax/typing.nit:250,11
+                    ../src/syntax/typing.nit:250,13--64
+                      ../src/syntax/typing.nit:250,13--42
+                        ../src/syntax/typing.nit:250,13--30
+                          ../src/syntax/typing.nit:250,13--24
+                            ../src/syntax/typing.nit:250,13--17
+                              ../src/syntax/typing.nit:250,13
+                              'cur_m' ... ../src/syntax/typing.nit:250,13--17
+                            'global' ... ../src/syntax/typing.nit:250,19--24
+                          'intro' ... ../src/syntax/typing.nit:250,26--30
+                        'local_class' ... ../src/syntax/typing.nit:250,32--42
+                      'for_module' ... ../src/syntax/typing.nit:250,44--53
+                      ../src/syntax/typing.nit:250,55--64
+                        ../src/syntax/typing.nit:250,55
+                          ../src/syntax/typing.nit:250,55
+                          'v' ... ../src/syntax/typing.nit:250,55
+                        'mmmodule' ... ../src/syntax/typing.nit:250,57--64
+              ../src/syntax/typing.nit:252,4--12
+                'var' ... ../src/syntax/typing.nit:252,4--6
+                'j' ... ../src/syntax/typing.nit:252,8
+                '=' ... ../src/syntax/typing.nit:252,10
+                ../src/syntax/typing.nit:252,12
+                  '0' ... ../src/syntax/typing.nit:252,12
+              ../src/syntax/typing.nit:253,4--273,11
+                'while' ... ../src/syntax/typing.nit:253,4--8
+                ../src/syntax/typing.nit:253,10--54
+                  ../src/syntax/typing.nit:253,10
+                    ../src/syntax/typing.nit:253,10
+                    'j' ... ../src/syntax/typing.nit:253,10
+                  ../src/syntax/typing.nit:253,14--54
+                    ../src/syntax/typing.nit:253,14--47
+                      ../src/syntax/typing.nit:253,14--31
+                        ../src/syntax/typing.nit:253,14--26
+                          ../src/syntax/typing.nit:253,14
+                            ../src/syntax/typing.nit:253,14
+                            'v' ... ../src/syntax/typing.nit:253,14
+                          'local_class' ... ../src/syntax/typing.nit:253,16--26
+                        'cshe' ... ../src/syntax/typing.nit:253,28--31
+                      'direct_greaters' ... ../src/syntax/typing.nit:253,33--47
+                    'length' ... ../src/syntax/typing.nit:253,49--54
+                'do' ... ../src/syntax/typing.nit:253,56--57
+                ../src/syntax/typing.nit:254,5--273,11
+                  ../src/syntax/typing.nit:254,5--48
+                    'var' ... ../src/syntax/typing.nit:254,5--7
+                    'c' ... ../src/syntax/typing.nit:254,9
+                    '=' ... ../src/syntax/typing.nit:254,11
+                    ../src/syntax/typing.nit:254,13--48
+                      ../src/syntax/typing.nit:254,13--46
+                        ../src/syntax/typing.nit:254,13--30
+                          ../src/syntax/typing.nit:254,13--25
+                            ../src/syntax/typing.nit:254,13
+                              ../src/syntax/typing.nit:254,13
+                              'v' ... ../src/syntax/typing.nit:254,13
+                            'local_class' ... ../src/syntax/typing.nit:254,15--25
+                          'cshe' ... ../src/syntax/typing.nit:254,27--30
+                        'direct_greaters' ... ../src/syntax/typing.nit:254,32--46
+                      ../src/syntax/typing.nit:254,48
+                        ../src/syntax/typing.nit:254,48
+                        'j' ... ../src/syntax/typing.nit:254,48
+                  ../src/syntax/typing.nit:255,5--273,11
+                    'if' ... ../src/syntax/typing.nit:255,5--6
+                    ../src/syntax/typing.nit:255,8--69
+                      ../src/syntax/typing.nit:255,8--48
+                        ../src/syntax/typing.nit:255,8--28
+                          ../src/syntax/typing.nit:255,8--15
+                            ../src/syntax/typing.nit:255,8
+                              ../src/syntax/typing.nit:255,8
+                              'c' ... ../src/syntax/typing.nit:255,8
+                            'global' ... ../src/syntax/typing.nit:255,10--15
+                          'is_interface' ... ../src/syntax/typing.nit:255,17--28
+                        ../src/syntax/typing.nit:255,33--48
+                          ../src/syntax/typing.nit:255,33--40
+                            ../src/syntax/typing.nit:255,33
+                              ../src/syntax/typing.nit:255,33
+                              'c' ... ../src/syntax/typing.nit:255,33
+                            'global' ... ../src/syntax/typing.nit:255,35--40
+                          'is_enum' ... ../src/syntax/typing.nit:255,42--48
+                      ../src/syntax/typing.nit:255,53--69
+                        ../src/syntax/typing.nit:255,53--60
+                          ../src/syntax/typing.nit:255,53
+                            ../src/syntax/typing.nit:255,53
+                            'c' ... ../src/syntax/typing.nit:255,53
+                          'global' ... ../src/syntax/typing.nit:255,55--60
+                        'is_mixin' ... ../src/syntax/typing.nit:255,62--69
+                    ../src/syntax/typing.nit:256,6--11
+                      ../src/syntax/typing.nit:256,6--11
+                        ../src/syntax/typing.nit:256,8
+                        'j' ... ../src/syntax/typing.nit:256,6
+                        ../src/syntax/typing.nit:256,8--9
+                          '+=' ... ../src/syntax/typing.nit:256,8--9
+                        ../src/syntax/typing.nit:256,11
+                          '1' ... ../src/syntax/typing.nit:256,11
+                    ../src/syntax/typing.nit:257,10--273,11
+                      'if' ... ../src/syntax/typing.nit:257,10--11
+                      ../src/syntax/typing.nit:257,13--71
+                        ../src/syntax/typing.nit:257,13--25
+                          ../src/syntax/typing.nit:257,13--17
+                            ../src/syntax/typing.nit:257,13
+                            'cur_c' ... ../src/syntax/typing.nit:257,13--17
+                          ../src/syntax/typing.nit:257,22--25
+                            'null' ... ../src/syntax/typing.nit:257,22--25
+                        ../src/syntax/typing.nit:257,32--71
+                          ../src/syntax/typing.nit:257,32--46
+                            ../src/syntax/typing.nit:257,32--37
+                              ../src/syntax/typing.nit:257,32
+                                ../src/syntax/typing.nit:257,32
+                                'c' ... ../src/syntax/typing.nit:257,32
+                              'cshe' ... ../src/syntax/typing.nit:257,34--37
+                            ../src/syntax/typing.nit:257,42--46
+                              ../src/syntax/typing.nit:257,42
+                              'cur_c' ... ../src/syntax/typing.nit:257,42--46
+                          ../src/syntax/typing.nit:257,51--71
+                            ../src/syntax/typing.nit:257,51--62
+                              ../src/syntax/typing.nit:257,51--55
+                                ../src/syntax/typing.nit:257,51
+                                'cur_c' ... ../src/syntax/typing.nit:257,51--55
+                              'global' ... ../src/syntax/typing.nit:257,57--62
+                            'is_mixin' ... ../src/syntax/typing.nit:257,64--71
+                      ../src/syntax/typing.nit:258,6--266,18
+                        ../src/syntax/typing.nit:258,6--30
+                          'if' ... ../src/syntax/typing.nit:258,6--7
+                          ../src/syntax/typing.nit:258,9--18
+                            ../src/syntax/typing.nit:258,9
+                              ../src/syntax/typing.nit:258,9
+                              'c' ... ../src/syntax/typing.nit:258,9
+                            ../src/syntax/typing.nit:258,14--18
+                              ../src/syntax/typing.nit:258,14
+                              'cur_c' ... ../src/syntax/typing.nit:258,14--18
+                          ../src/syntax/typing.nit:258,25--30
+                            ../src/syntax/typing.nit:258,27
+                            'j' ... ../src/syntax/typing.nit:258,25
+                            ../src/syntax/typing.nit:258,27--28
+                              '+=' ... ../src/syntax/typing.nit:258,27--28
+                            ../src/syntax/typing.nit:258,30
+                              '1' ... ../src/syntax/typing.nit:258,30
+                        ../src/syntax/typing.nit:259,6--43
+                          ../src/syntax/typing.nit:259,6--21
+                            ../src/syntax/typing.nit:259,6
+                            'super_init_calls' ... ../src/syntax/typing.nit:259,6--21
+                          'add' ... ../src/syntax/typing.nit:259,23--25
+                          ../src/syntax/typing.nit:259,27--43
+                            ../src/syntax/typing.nit:259,27--31
+                              ../src/syntax/typing.nit:259,27
+                              'cur_m' ... ../src/syntax/typing.nit:259,27--31
+                            'as' ... ../src/syntax/typing.nit:259,33--34
+                            'not' ... ../src/syntax/typing.nit:259,36--38
+                            'null' ... ../src/syntax/typing.nit:259,40--43
+                        ../src/syntax/typing.nit:260,6--11
+                          ../src/syntax/typing.nit:260,8
+                          'i' ... ../src/syntax/typing.nit:260,6
+                          ../src/syntax/typing.nit:260,8--9
+                            '+=' ... ../src/syntax/typing.nit:260,8--9
+                          ../src/syntax/typing.nit:260,11
+                            '1' ... ../src/syntax/typing.nit:260,11
+                        ../src/syntax/typing.nit:261,6--266,18
+                          'if' ... ../src/syntax/typing.nit:261,6--7
+                          ../src/syntax/typing.nit:261,9--13
+                            ../src/syntax/typing.nit:261,9
+                              ../src/syntax/typing.nit:261,9
+                              'i' ... ../src/syntax/typing.nit:261,9
+                            ../src/syntax/typing.nit:261,13
+                              ../src/syntax/typing.nit:261,13
+                              'l' ... ../src/syntax/typing.nit:261,13
+                          ../src/syntax/typing.nit:262,7--263,66
+                            ../src/syntax/typing.nit:262,7--41
+                              ../src/syntax/typing.nit:262,15
+                              'cur_m' ... ../src/syntax/typing.nit:262,7--11
+                              '=' ... ../src/syntax/typing.nit:262,13
+                              ../src/syntax/typing.nit:262,15--41
+                                ../src/syntax/typing.nit:262,15--39
+                                  ../src/syntax/typing.nit:262,15
+                                  'explicit_super_init_calls' ... ../src/syntax/typing.nit:262,15--39
+                                ../src/syntax/typing.nit:262,41
+                                  ../src/syntax/typing.nit:262,41
+                                  'i' ... ../src/syntax/typing.nit:262,41
+                            ../src/syntax/typing.nit:263,7--66
+                              ../src/syntax/typing.nit:263,15
+                              'cur_c' ... ../src/syntax/typing.nit:263,7--11
+                              '=' ... ../src/syntax/typing.nit:263,13
+                              ../src/syntax/typing.nit:263,15--66
+                                ../src/syntax/typing.nit:263,15--44
+                                  ../src/syntax/typing.nit:263,15--32
+                                    ../src/syntax/typing.nit:263,15--26
+                                      ../src/syntax/typing.nit:263,15--19
+                                        ../src/syntax/typing.nit:263,15
+                                        'cur_m' ... ../src/syntax/typing.nit:263,15--19
+                                      'global' ... ../src/syntax/typing.nit:263,21--26
+                                    'intro' ... ../src/syntax/typing.nit:263,28--32
+                                  'local_class' ... ../src/syntax/typing.nit:263,34--44
+                                'for_module' ... ../src/syntax/typing.nit:263,46--55
+                                ../src/syntax/typing.nit:263,57--66
+                                  ../src/syntax/typing.nit:263,57
+                                    ../src/syntax/typing.nit:263,57
+                                    'v' ... ../src/syntax/typing.nit:263,57
+                                  'mmmodule' ... ../src/syntax/typing.nit:263,59--66
+                          ../src/syntax/typing.nit:265,7--266,18
+                            ../src/syntax/typing.nit:265,7--18
+                              ../src/syntax/typing.nit:265,15
+                              'cur_m' ... ../src/syntax/typing.nit:265,7--11
+                              '=' ... ../src/syntax/typing.nit:265,13
+                              ../src/syntax/typing.nit:265,15--18
+                                'null' ... ../src/syntax/typing.nit:265,15--18
+                            ../src/syntax/typing.nit:266,7--18
+                              ../src/syntax/typing.nit:266,15
+                              'cur_c' ... ../src/syntax/typing.nit:266,7--11
+                              '=' ... ../src/syntax/typing.nit:266,13
+                              ../src/syntax/typing.nit:266,15--18
+                                'null' ... ../src/syntax/typing.nit:266,15--18
+                      ../src/syntax/typing.nit:269,6--273,11
+                        ../src/syntax/typing.nit:269,6--58
+                          'var' ... ../src/syntax/typing.nit:269,6--8
+                          'p' ... ../src/syntax/typing.nit:269,10
+                          '=' ... ../src/syntax/typing.nit:269,12
+                          ../src/syntax/typing.nit:269,14--58
+                            ../src/syntax/typing.nit:269,14
+                              ../src/syntax/typing.nit:269,14
+                              'v' ... ../src/syntax/typing.nit:269,14
+                            'get_default_constructor_for' ... ../src/syntax/typing.nit:269,16--42
+                            ../src/syntax/typing.nit:269,44--47
+                              'self' ... ../src/syntax/typing.nit:269,44--47
+                            ../src/syntax/typing.nit:269,50
+                              ../src/syntax/typing.nit:269,50
+                              'c' ... ../src/syntax/typing.nit:269,50
+                            ../src/syntax/typing.nit:269,53--58
+                              ../src/syntax/typing.nit:269,53
+                              'method' ... ../src/syntax/typing.nit:269,53--58
+                        ../src/syntax/typing.nit:270,6--271,28
+                          'if' ... ../src/syntax/typing.nit:270,6--7
+                          ../src/syntax/typing.nit:270,9--17
+                            ../src/syntax/typing.nit:270,9
+                              ../src/syntax/typing.nit:270,9
+                              'p' ... ../src/syntax/typing.nit:270,9
+                            ../src/syntax/typing.nit:270,14--17
+                              'null' ... ../src/syntax/typing.nit:270,14--17
+                          ../src/syntax/typing.nit:271,7--28
+                            ../src/syntax/typing.nit:271,7--28
+                              ../src/syntax/typing.nit:271,7--22
+                                ../src/syntax/typing.nit:271,7
+                                'super_init_calls' ... ../src/syntax/typing.nit:271,7--22
+                              'add' ... ../src/syntax/typing.nit:271,24--26
+                              ../src/syntax/typing.nit:271,28
+                                ../src/syntax/typing.nit:271,28
+                                'p' ... ../src/syntax/typing.nit:271,28
+                        ../src/syntax/typing.nit:273,6--11
+                          ../src/syntax/typing.nit:273,8
+                          'j' ... ../src/syntax/typing.nit:273,6
+                          ../src/syntax/typing.nit:273,8--9
+                            '+=' ... ../src/syntax/typing.nit:273,8--9
+                          ../src/syntax/typing.nit:273,11
+                            '1' ... ../src/syntax/typing.nit:273,11
+    ../src/syntax/typing.nit:280,1--283,35
+      'redef' ... ../src/syntax/typing.nit:280,1--5
+      ../src/syntax/typing.nit:280,7
+      ../src/syntax/typing.nit:280,7--11
+        'class' ... ../src/syntax/typing.nit:280,7--11
+      'AParam' ... ../src/syntax/typing.nit:280,13--18
+      ../src/syntax/typing.nit:281,2--283,35
+        'redef' ... ../src/syntax/typing.nit:281,2--6
+        ../src/syntax/typing.nit:281,12
+        'fun' ... ../src/syntax/typing.nit:281,8--10
+        ../src/syntax/typing.nit:281,12--23
+          'after_typing' ... ../src/syntax/typing.nit:281,12--23
+        ../src/syntax/typing.nit:281,25
+          ../src/syntax/typing.nit:281,25
+            'v' ... ../src/syntax/typing.nit:281,25
+        ../src/syntax/typing.nit:283,3--35
+          ../src/syntax/typing.nit:283,3--35
+            ../src/syntax/typing.nit:283,3--13
+              ../src/syntax/typing.nit:283,3
+                ../src/syntax/typing.nit:283,3
+                'v' ... ../src/syntax/typing.nit:283,3
+              'scope_ctx' ... ../src/syntax/typing.nit:283,5--13
+            'add_variable' ... ../src/syntax/typing.nit:283,15--26
+            ../src/syntax/typing.nit:283,28--35
+              ../src/syntax/typing.nit:283,28
+              'variable' ... ../src/syntax/typing.nit:283,28--35
+    ../src/syntax/typing.nit:287,1--328,17
+      'redef' ... ../src/syntax/typing.nit:287,1--5
+      ../src/syntax/typing.nit:287,7
+      ../src/syntax/typing.nit:287,7--11
+        'class' ... ../src/syntax/typing.nit:287,7--11
+      'AClosureDecl' ... ../src/syntax/typing.nit:287,13--24
+      ../src/syntax/typing.nit:288,2--289,49
+        ../src/syntax/typing.nit:288,2--289,0
+          '# The corresponding escapable object
+' ... ../src/syntax/typing.nit:288,2--289,0
+        ../src/syntax/typing.nit:289,2--9
+          'readable' ... ../src/syntax/typing.nit:289,2--9
+        ../src/syntax/typing.nit:289,27
+        'var' ... ../src/syntax/typing.nit:289,11--13
+        '_escapable' ... ../src/syntax/typing.nit:289,15--24
+        ../src/syntax/typing.nit:289,27--49
+          'nullable' ... ../src/syntax/typing.nit:289,27--34
+          'EscapableBlock' ... ../src/syntax/typing.nit:289,36--49
+      ../src/syntax/typing.nit:291,2--328,17
+        'redef' ... ../src/syntax/typing.nit:291,2--6
+        ../src/syntax/typing.nit:291,12
+        'fun' ... ../src/syntax/typing.nit:291,8--10
+        ../src/syntax/typing.nit:291,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:291,12--24
+        ../src/syntax/typing.nit:291,26
+          ../src/syntax/typing.nit:291,26
+            'v' ... ../src/syntax/typing.nit:291,26
+        ../src/syntax/typing.nit:294,3--328,17
+          ../src/syntax/typing.nit:294,3--35
+            ../src/syntax/typing.nit:294,3--13
+              ../src/syntax/typing.nit:294,3
+                ../src/syntax/typing.nit:294,3
+                'v' ... ../src/syntax/typing.nit:294,3
+              'scope_ctx' ... ../src/syntax/typing.nit:294,5--13
+            'add_variable' ... ../src/syntax/typing.nit:294,15--26
+            ../src/syntax/typing.nit:294,28--35
+              ../src/syntax/typing.nit:294,28
+              'variable' ... ../src/syntax/typing.nit:294,28--35
+          ../src/syntax/typing.nit:296,3--31
+            'var' ... ../src/syntax/typing.nit:296,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:296,7--18
+            '=' ... ../src/syntax/typing.nit:296,20
+            ../src/syntax/typing.nit:296,22--31
+              ../src/syntax/typing.nit:296,22
+                ../src/syntax/typing.nit:296,22
+                'v' ... ../src/syntax/typing.nit:296,22
+              'flow_ctx' ... ../src/syntax/typing.nit:296,24--31
+          ../src/syntax/typing.nit:297,3--41
+            'var' ... ../src/syntax/typing.nit:297,3--5
+            'old_base_flow_ctx' ... ../src/syntax/typing.nit:297,7--23
+            '=' ... ../src/syntax/typing.nit:297,25
+            ../src/syntax/typing.nit:297,27--41
+              ../src/syntax/typing.nit:297,27
+                ../src/syntax/typing.nit:297,27
+                'v' ... ../src/syntax/typing.nit:297,27
+              'base_flow_ctx' ... ../src/syntax/typing.nit:297,29--41
+          ../src/syntax/typing.nit:298,3--30
+            ../src/syntax/typing.nit:298,3
+              ../src/syntax/typing.nit:298,3
+              'v' ... ../src/syntax/typing.nit:298,3
+            'base_flow_ctx' ... ../src/syntax/typing.nit:298,5--17
+            '=' ... ../src/syntax/typing.nit:298,19
+            ../src/syntax/typing.nit:298,21--30
+              ../src/syntax/typing.nit:298,21
+                ../src/syntax/typing.nit:298,21
+                'v' ... ../src/syntax/typing.nit:298,21
+              'flow_ctx' ... ../src/syntax/typing.nit:298,23--30
+          ../src/syntax/typing.nit:300,3--41
+            'var' ... ../src/syntax/typing.nit:300,3--5
+            'blist' ... ../src/syntax/typing.nit:300,7--11
+            ../src/syntax/typing.nit:300,14--33
+              'nullable' ... ../src/syntax/typing.nit:300,14--21
+              'Array' ... ../src/syntax/typing.nit:300,23--27
+              ../src/syntax/typing.nit:300,29--33
+                'AExpr' ... ../src/syntax/typing.nit:300,29--33
+            '=' ... ../src/syntax/typing.nit:300,36
+            ../src/syntax/typing.nit:300,38--41
+              'null' ... ../src/syntax/typing.nit:300,38--41
+          ../src/syntax/typing.nit:301,3--48
+            'var' ... ../src/syntax/typing.nit:301,3--5
+            't' ... ../src/syntax/typing.nit:301,7
+            '=' ... ../src/syntax/typing.nit:301,9
+            ../src/syntax/typing.nit:301,11--48
+              ../src/syntax/typing.nit:301,11--36
+                ../src/syntax/typing.nit:301,11--26
+                  ../src/syntax/typing.nit:301,11
+                    ../src/syntax/typing.nit:301,11
+                    'v' ... ../src/syntax/typing.nit:301,11
+                  'local_property' ... ../src/syntax/typing.nit:301,13--26
+                'signature' ... ../src/syntax/typing.nit:301,28--36
+              'return_type' ... ../src/syntax/typing.nit:301,38--48
+          ../src/syntax/typing.nit:302,3--43
+            'if' ... ../src/syntax/typing.nit:302,3--4
+            ../src/syntax/typing.nit:302,6--14
+              ../src/syntax/typing.nit:302,6
+                ../src/syntax/typing.nit:302,6
+                't' ... ../src/syntax/typing.nit:302,6
+              ../src/syntax/typing.nit:302,11--14
+                'null' ... ../src/syntax/typing.nit:302,11--14
+            ../src/syntax/typing.nit:302,21--43
+              ../src/syntax/typing.nit:302,39
+              'blist' ... ../src/syntax/typing.nit:302,21--25
+              '=' ... ../src/syntax/typing.nit:302,27
+              ../src/syntax/typing.nit:302,29--43
+                'new' ... ../src/syntax/typing.nit:302,29--31
+                ../src/syntax/typing.nit:302,33--43
+                  'Array' ... ../src/syntax/typing.nit:302,33--37
+                  ../src/syntax/typing.nit:302,39--43
+                    'AExpr' ... ../src/syntax/typing.nit:302,39--43
+          ../src/syntax/typing.nit:303,3--68
+            'var' ... ../src/syntax/typing.nit:303,3--5
+            'escapable' ... ../src/syntax/typing.nit:303,7--15
+            '=' ... ../src/syntax/typing.nit:303,17
+            ../src/syntax/typing.nit:303,19--68
+              'new' ... ../src/syntax/typing.nit:303,19--21
+              ../src/syntax/typing.nit:303,23--38
+                'EscapableClosure' ... ../src/syntax/typing.nit:303,23--38
+              ../src/syntax/typing.nit:303,40--43
+                'self' ... ../src/syntax/typing.nit:303,40--43
+              ../src/syntax/typing.nit:303,46--61
+                ../src/syntax/typing.nit:303,46--53
+                  ../src/syntax/typing.nit:303,46
+                  'variable' ... ../src/syntax/typing.nit:303,46--53
+                'closure' ... ../src/syntax/typing.nit:303,55--61
+              ../src/syntax/typing.nit:303,64--68
+                ../src/syntax/typing.nit:303,64
+                'blist' ... ../src/syntax/typing.nit:303,64--68
+          ../src/syntax/typing.nit:304,3--24
+            ../src/syntax/typing.nit:304,16
+            '_escapable' ... ../src/syntax/typing.nit:304,3--12
+            '=' ... ../src/syntax/typing.nit:304,14
+            ../src/syntax/typing.nit:304,16--24
+              ../src/syntax/typing.nit:304,16
+              'escapable' ... ../src/syntax/typing.nit:304,16--24
+          ../src/syntax/typing.nit:305,3--44
+            ../src/syntax/typing.nit:305,3--13
+              ../src/syntax/typing.nit:305,3
+                ../src/syntax/typing.nit:305,3
+                'v' ... ../src/syntax/typing.nit:305,3
+              'scope_ctx' ... ../src/syntax/typing.nit:305,5--13
+            'push_escapable' ... ../src/syntax/typing.nit:305,15--28
+            ../src/syntax/typing.nit:305,30--38
+              ../src/syntax/typing.nit:305,30
+              'escapable' ... ../src/syntax/typing.nit:305,30--38
+            ../src/syntax/typing.nit:305,41--44
+              'null' ... ../src/syntax/typing.nit:305,41--44
+          ../src/syntax/typing.nit:307,3--40
+            ../src/syntax/typing.nit:307,3
+              ../src/syntax/typing.nit:307,3
+              'v' ... ../src/syntax/typing.nit:307,3
+            'is_default_closure_definition' ... ../src/syntax/typing.nit:307,5--33
+            '=' ... ../src/syntax/typing.nit:307,35
+            ../src/syntax/typing.nit:307,37--40
+              'true' ... ../src/syntax/typing.nit:307,37--40
+          ../src/syntax/typing.nit:309,3--7
+            'super' ... ../src/syntax/typing.nit:309,3--7
+          ../src/syntax/typing.nit:311,3--41
+            ../src/syntax/typing.nit:311,3
+              ../src/syntax/typing.nit:311,3
+              'v' ... ../src/syntax/typing.nit:311,3
+            'is_default_closure_definition' ... ../src/syntax/typing.nit:311,5--33
+            '=' ... ../src/syntax/typing.nit:311,35
+            ../src/syntax/typing.nit:311,37--41
+              'false' ... ../src/syntax/typing.nit:311,37--41
+          ../src/syntax/typing.nit:313,3--318,101
+            'if' ... ../src/syntax/typing.nit:313,3--4
+            ../src/syntax/typing.nit:313,6--19
+              ../src/syntax/typing.nit:313,6--11
+                ../src/syntax/typing.nit:313,6
+                'n_expr' ... ../src/syntax/typing.nit:313,6--11
+              ../src/syntax/typing.nit:313,16--19
+                'null' ... ../src/syntax/typing.nit:313,16--19
+            ../src/syntax/typing.nit:314,4--318,101
+              ../src/syntax/typing.nit:314,4--318,101
+                'if' ... ../src/syntax/typing.nit:314,4--5
+                ../src/syntax/typing.nit:314,7--33
+                  ../src/syntax/typing.nit:314,7--24
+                    ../src/syntax/typing.nit:314,7--16
+                      ../src/syntax/typing.nit:314,7
+                        ../src/syntax/typing.nit:314,7
+                        'v' ... ../src/syntax/typing.nit:314,7
+                      'flow_ctx' ... ../src/syntax/typing.nit:314,9--16
+                    'unreash' ... ../src/syntax/typing.nit:314,18--24
+                  ../src/syntax/typing.nit:314,29--33
+                    'false' ... ../src/syntax/typing.nit:314,29--33
+                ../src/syntax/typing.nit:315,5--318,101
+                  ../src/syntax/typing.nit:315,5--318,101
+                    'if' ... ../src/syntax/typing.nit:315,5--6
+                    ../src/syntax/typing.nit:315,8--53
+                      ../src/syntax/typing.nit:315,8--45
+                        ../src/syntax/typing.nit:315,8--33
+                          ../src/syntax/typing.nit:315,8--23
+                            ../src/syntax/typing.nit:315,8--15
+                              ../src/syntax/typing.nit:315,8
+                              'variable' ... ../src/syntax/typing.nit:315,8--15
+                            'closure' ... ../src/syntax/typing.nit:315,17--23
+                          'signature' ... ../src/syntax/typing.nit:315,25--33
+                        'return_type' ... ../src/syntax/typing.nit:315,35--45
+                      ../src/syntax/typing.nit:315,50--53
+                        'null' ... ../src/syntax/typing.nit:315,50--53
+                    ../src/syntax/typing.nit:316,6--98
+                      ../src/syntax/typing.nit:316,6--98
+                        ../src/syntax/typing.nit:316,6
+                          ../src/syntax/typing.nit:316,6
+                          'v' ... ../src/syntax/typing.nit:316,6
+                        'error' ... ../src/syntax/typing.nit:316,8--12
+                        ../src/syntax/typing.nit:316,14--17
+                          'self' ... ../src/syntax/typing.nit:316,14--17
+                        ../src/syntax/typing.nit:316,20--98
+                          '"Control error: Reached end of block (a 'continue' with a value was expected)."' ... ../src/syntax/typing.nit:316,20--98
+                    ../src/syntax/typing.nit:317,10--318,101
+                      'if' ... ../src/syntax/typing.nit:317,10--11
+                      ../src/syntax/typing.nit:317,13--70
+                        ../src/syntax/typing.nit:317,13--37
+                          ../src/syntax/typing.nit:317,13--28
+                            ../src/syntax/typing.nit:317,13--20
+                              ../src/syntax/typing.nit:317,13
+                              'variable' ... ../src/syntax/typing.nit:317,13--20
+                            'closure' ... ../src/syntax/typing.nit:317,22--28
+                          'is_break' ... ../src/syntax/typing.nit:317,30--37
+                        ../src/syntax/typing.nit:317,43--70
+                          ../src/syntax/typing.nit:317,43--62
+                            ../src/syntax/typing.nit:317,43--51
+                              ../src/syntax/typing.nit:317,43
+                              'escapable' ... ../src/syntax/typing.nit:317,43--51
+                            'break_list' ... ../src/syntax/typing.nit:317,53--62
+                          ../src/syntax/typing.nit:317,67--70
+                            'null' ... ../src/syntax/typing.nit:317,67--70
+                      ../src/syntax/typing.nit:318,6--101
+                        ../src/syntax/typing.nit:318,6--101
+                          ../src/syntax/typing.nit:318,6
+                            ../src/syntax/typing.nit:318,6
+                            'v' ... ../src/syntax/typing.nit:318,6
+                          'error' ... ../src/syntax/typing.nit:318,8--12
+                          ../src/syntax/typing.nit:318,14--17
+                            'self' ... ../src/syntax/typing.nit:318,14--17
+                          ../src/syntax/typing.nit:318,20--101
+                            '"Control error: Reached end of break block (a 'break' with a value was expected)."' ... ../src/syntax/typing.nit:318,20--101
+          ../src/syntax/typing.nit:322,3--323,28
+            'if' ... ../src/syntax/typing.nit:322,3--4
+            ../src/syntax/typing.nit:322,6--18
+              ../src/syntax/typing.nit:322,6--10
+                ../src/syntax/typing.nit:322,6
+                'blist' ... ../src/syntax/typing.nit:322,6--10
+              ../src/syntax/typing.nit:322,15--18
+                'null' ... ../src/syntax/typing.nit:322,15--18
+            ../src/syntax/typing.nit:322,25--323,28
+              'for' ... ../src/syntax/typing.nit:322,25--27
+              'x' ... ../src/syntax/typing.nit:322,29
+              ../src/syntax/typing.nit:322,34--38
+                ../src/syntax/typing.nit:322,34
+                'blist' ... ../src/syntax/typing.nit:322,34--38
+              'do' ... ../src/syntax/typing.nit:322,40--41
+              ../src/syntax/typing.nit:323,4--28
+                ../src/syntax/typing.nit:323,4--28
+                  ../src/syntax/typing.nit:323,4
+                    ../src/syntax/typing.nit:323,4
+                    'v' ... ../src/syntax/typing.nit:323,4
+                  'check_conform_expr' ... ../src/syntax/typing.nit:323,6--23
+                  ../src/syntax/typing.nit:323,25
+                    ../src/syntax/typing.nit:323,25
+                    'x' ... ../src/syntax/typing.nit:323,25
+                  ../src/syntax/typing.nit:323,28
+                    ../src/syntax/typing.nit:323,28
+                    't' ... ../src/syntax/typing.nit:323,28
+          ../src/syntax/typing.nit:326,3--27
+            ../src/syntax/typing.nit:326,3
+              ../src/syntax/typing.nit:326,3
+              'v' ... ../src/syntax/typing.nit:326,3
+            'flow_ctx' ... ../src/syntax/typing.nit:326,5--12
+            '=' ... ../src/syntax/typing.nit:326,14
+            ../src/syntax/typing.nit:326,16--27
+              ../src/syntax/typing.nit:326,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:326,16--27
+          ../src/syntax/typing.nit:327,3--37
+            ../src/syntax/typing.nit:327,3
+              ../src/syntax/typing.nit:327,3
+              'v' ... ../src/syntax/typing.nit:327,3
+            'base_flow_ctx' ... ../src/syntax/typing.nit:327,5--17
+            '=' ... ../src/syntax/typing.nit:327,19
+            ../src/syntax/typing.nit:327,21--37
+              ../src/syntax/typing.nit:327,21
+              'old_base_flow_ctx' ... ../src/syntax/typing.nit:327,21--37
+          ../src/syntax/typing.nit:328,3--17
+            ../src/syntax/typing.nit:328,3--13
+              ../src/syntax/typing.nit:328,3
+                ../src/syntax/typing.nit:328,3
+                'v' ... ../src/syntax/typing.nit:328,3
+              'scope_ctx' ... ../src/syntax/typing.nit:328,5--13
+            'pop' ... ../src/syntax/typing.nit:328,15--17
+    ../src/syntax/typing.nit:332,1--339,22
+      'redef' ... ../src/syntax/typing.nit:332,1--5
+      ../src/syntax/typing.nit:332,7
+      ../src/syntax/typing.nit:332,7--11
+        'class' ... ../src/syntax/typing.nit:332,7--11
+      'AType' ... ../src/syntax/typing.nit:332,13--17
+      ../src/syntax/typing.nit:333,2--53
+        'redef' ... ../src/syntax/typing.nit:333,2--6
+        ../src/syntax/typing.nit:333,12
+        'fun' ... ../src/syntax/typing.nit:333,8--10
+        ../src/syntax/typing.nit:333,12--16
+          'stype' ... ../src/syntax/typing.nit:333,12--16
+        ../src/syntax/typing.nit:333,19--24
+          ../src/syntax/typing.nit:333,19--24
+            'MMType' ... ../src/syntax/typing.nit:333,19--24
+        ../src/syntax/typing.nit:333,29--53
+          'return' ... ../src/syntax/typing.nit:333,29--34
+          ../src/syntax/typing.nit:333,36--53
+            ../src/syntax/typing.nit:333,36--41
+              ../src/syntax/typing.nit:333,36
+              '_stype' ... ../src/syntax/typing.nit:333,36--41
+            'as' ... ../src/syntax/typing.nit:333,43--44
+            'not' ... ../src/syntax/typing.nit:333,46--48
+            'null' ... ../src/syntax/typing.nit:333,50--53
+      ../src/syntax/typing.nit:334,2--50
+        'redef' ... ../src/syntax/typing.nit:334,2--6
+        ../src/syntax/typing.nit:334,12
+        'fun' ... ../src/syntax/typing.nit:334,8--10
+        ../src/syntax/typing.nit:334,12--19
+          'is_typed' ... ../src/syntax/typing.nit:334,12--19
+        ../src/syntax/typing.nit:334,22--25
+          ../src/syntax/typing.nit:334,22--25
+            'Bool' ... ../src/syntax/typing.nit:334,22--25
+        ../src/syntax/typing.nit:334,30--50
+          'return' ... ../src/syntax/typing.nit:334,30--35
+          ../src/syntax/typing.nit:334,37--50
+            ../src/syntax/typing.nit:334,37--42
+              ../src/syntax/typing.nit:334,37
+              '_stype' ... ../src/syntax/typing.nit:334,37--42
+            ../src/syntax/typing.nit:334,47--50
+              'null' ... ../src/syntax/typing.nit:334,47--50
+      ../src/syntax/typing.nit:335,2--28
+        ../src/syntax/typing.nit:335,14
+        'var' ... ../src/syntax/typing.nit:335,2--4
+        '_stype' ... ../src/syntax/typing.nit:335,6--11
+        ../src/syntax/typing.nit:335,14--28
+          'nullable' ... ../src/syntax/typing.nit:335,14--21
+          'MMType' ... ../src/syntax/typing.nit:335,23--28
+      ../src/syntax/typing.nit:337,2--339,22
+        'redef' ... ../src/syntax/typing.nit:337,2--6
+        ../src/syntax/typing.nit:337,12
+        'fun' ... ../src/syntax/typing.nit:337,8--10
+        ../src/syntax/typing.nit:337,12--23
+          'after_typing' ... ../src/syntax/typing.nit:337,12--23
+        ../src/syntax/typing.nit:337,25
+          ../src/syntax/typing.nit:337,25
+            'v' ... ../src/syntax/typing.nit:337,25
+        ../src/syntax/typing.nit:339,3--22
+          ../src/syntax/typing.nit:339,3--22
+            ../src/syntax/typing.nit:339,22
+            '_stype' ... ../src/syntax/typing.nit:339,3--8
+            '=' ... ../src/syntax/typing.nit:339,10
+            ../src/syntax/typing.nit:339,12--22
+              ../src/syntax/typing.nit:339,22
+              'get_stype' ... ../src/syntax/typing.nit:339,12--20
+              ../src/syntax/typing.nit:339,22
+                ../src/syntax/typing.nit:339,22
+                'v' ... ../src/syntax/typing.nit:339,22
+    ../src/syntax/typing.nit:343,1--379,62
+      'redef' ... ../src/syntax/typing.nit:343,1--5
+      ../src/syntax/typing.nit:343,7
+      ../src/syntax/typing.nit:343,7--11
+        'class' ... ../src/syntax/typing.nit:343,7--11
+      'AExpr' ... ../src/syntax/typing.nit:343,13--17
+      ../src/syntax/typing.nit:344,2--43
+        ../src/syntax/typing.nit:344,2--15
+          'redef' ... ../src/syntax/typing.nit:344,2--6
+          'readable' ... ../src/syntax/typing.nit:344,8--15
+        ../src/syntax/typing.nit:344,32
+        'var' ... ../src/syntax/typing.nit:344,17--19
+        '_is_typed' ... ../src/syntax/typing.nit:344,21--29
+        ../src/syntax/typing.nit:344,32--35
+          'Bool' ... ../src/syntax/typing.nit:344,32--35
+        ../src/syntax/typing.nit:344,39--43
+          'false' ... ../src/syntax/typing.nit:344,39--43
+      ../src/syntax/typing.nit:345,2--54
+        'redef' ... ../src/syntax/typing.nit:345,2--6
+        ../src/syntax/typing.nit:345,12
+        'fun' ... ../src/syntax/typing.nit:345,8--10
+        ../src/syntax/typing.nit:345,12--23
+          'is_statement' ... ../src/syntax/typing.nit:345,12--23
+        ../src/syntax/typing.nit:345,26--29
+          ../src/syntax/typing.nit:345,26--29
+            'Bool' ... ../src/syntax/typing.nit:345,26--29
+        ../src/syntax/typing.nit:345,34--54
+          'return' ... ../src/syntax/typing.nit:345,34--39
+          ../src/syntax/typing.nit:345,41--54
+            ../src/syntax/typing.nit:345,41--46
+              ../src/syntax/typing.nit:345,41
+              '_stype' ... ../src/syntax/typing.nit:345,41--46
+            ../src/syntax/typing.nit:345,51--54
+              'null' ... ../src/syntax/typing.nit:345,51--54
+      ../src/syntax/typing.nit:346,2--356,27
+        'redef' ... ../src/syntax/typing.nit:346,2--6
+        ../src/syntax/typing.nit:346,12
+        'fun' ... ../src/syntax/typing.nit:346,8--10
+        ../src/syntax/typing.nit:346,12--16
+          'stype' ... ../src/syntax/typing.nit:346,12--16
+        ../src/syntax/typing.nit:348,10
+        ../src/syntax/typing.nit:348,3--356,27
+          ../src/syntax/typing.nit:348,3--350,8
+            'if' ... ../src/syntax/typing.nit:348,3--4
+            ../src/syntax/typing.nit:348,6--17
+              'not' ... ../src/syntax/typing.nit:348,6--8
+              ../src/syntax/typing.nit:348,10--17
+                ../src/syntax/typing.nit:348,10
+                'is_typed' ... ../src/syntax/typing.nit:348,10--17
+            ../src/syntax/typing.nit:349,4--350,8
+              ../src/syntax/typing.nit:349,4--35
+                ../src/syntax/typing.nit:349,10
+                'print' ... ../src/syntax/typing.nit:349,4--8
+                ../src/syntax/typing.nit:349,10--35
+                  ../src/syntax/typing.nit:349,10--11
+                    '"{' ... ../src/syntax/typing.nit:349,10--11
+                  ../src/syntax/typing.nit:349,12--19
+                    ../src/syntax/typing.nit:349,12
+                    'location' ... ../src/syntax/typing.nit:349,12--19
+                  ../src/syntax/typing.nit:349,20--35
+                    '}: not is_typed"' ... ../src/syntax/typing.nit:349,20--35
+              ../src/syntax/typing.nit:350,4--8
+                'abort' ... ../src/syntax/typing.nit:350,4--8
+          ../src/syntax/typing.nit:352,3--354,8
+            'if' ... ../src/syntax/typing.nit:352,3--4
+            ../src/syntax/typing.nit:352,6--17
+              ../src/syntax/typing.nit:352,6
+              'is_statement' ... ../src/syntax/typing.nit:352,6--17
+            ../src/syntax/typing.nit:353,4--354,8
+              ../src/syntax/typing.nit:353,4--35
+                ../src/syntax/typing.nit:353,10
+                'print' ... ../src/syntax/typing.nit:353,4--8
+                ../src/syntax/typing.nit:353,10--35
+                  ../src/syntax/typing.nit:353,10--11
+                    '"{' ... ../src/syntax/typing.nit:353,10--11
+                  ../src/syntax/typing.nit:353,12--19
+                    ../src/syntax/typing.nit:353,12
+                    'location' ... ../src/syntax/typing.nit:353,12--19
+                  ../src/syntax/typing.nit:353,20--35
+                    '}: is_statement"' ... ../src/syntax/typing.nit:353,20--35
+              ../src/syntax/typing.nit:354,4--8
+                'abort' ... ../src/syntax/typing.nit:354,4--8
+          ../src/syntax/typing.nit:356,3--27
+            'return' ... ../src/syntax/typing.nit:356,3--8
+            ../src/syntax/typing.nit:356,10--27
+              ../src/syntax/typing.nit:356,10--15
+                ../src/syntax/typing.nit:356,10
+                '_stype' ... ../src/syntax/typing.nit:356,10--15
+              'as' ... ../src/syntax/typing.nit:356,17--18
+              'not' ... ../src/syntax/typing.nit:356,20--22
+              'null' ... ../src/syntax/typing.nit:356,24--27
+      ../src/syntax/typing.nit:358,2--28
+        ../src/syntax/typing.nit:358,14
+        'var' ... ../src/syntax/typing.nit:358,2--4
+        '_stype' ... ../src/syntax/typing.nit:358,6--11
+        ../src/syntax/typing.nit:358,14--28
+          'nullable' ... ../src/syntax/typing.nit:358,14--21
+          'MMType' ... ../src/syntax/typing.nit:358,23--28
+      ../src/syntax/typing.nit:360,2--363,18
+        'redef' ... ../src/syntax/typing.nit:360,2--6
+        ../src/syntax/typing.nit:360,12
+        'fun' ... ../src/syntax/typing.nit:360,8--10
+        ../src/syntax/typing.nit:360,12--23
+          'after_typing' ... ../src/syntax/typing.nit:360,12--23
+        ../src/syntax/typing.nit:360,25
+          ../src/syntax/typing.nit:360,25
+            'v' ... ../src/syntax/typing.nit:360,25
+        ../src/syntax/typing.nit:363,3--18
+          ../src/syntax/typing.nit:363,3--18
+            ../src/syntax/typing.nit:363,15
+            '_is_typed' ... ../src/syntax/typing.nit:363,3--11
+            '=' ... ../src/syntax/typing.nit:363,13
+            ../src/syntax/typing.nit:363,15--18
+              'true' ... ../src/syntax/typing.nit:363,15--18
+      ../src/syntax/typing.nit:366,2--367,43
+        ../src/syntax/typing.nit:366,2--367,0
+          '# Is the expression the implicit receiver
+' ... ../src/syntax/typing.nit:366,2--367,0
+        ../src/syntax/typing.nit:367,6
+        'fun' ... ../src/syntax/typing.nit:367,2--4
+        ../src/syntax/typing.nit:367,6--21
+          'is_implicit_self' ... ../src/syntax/typing.nit:367,6--21
+        ../src/syntax/typing.nit:367,24--27
+          ../src/syntax/typing.nit:367,24--27
+            'Bool' ... ../src/syntax/typing.nit:367,24--27
+        ../src/syntax/typing.nit:367,32--43
+          'return' ... ../src/syntax/typing.nit:367,32--37
+          ../src/syntax/typing.nit:367,39--43
+            'false' ... ../src/syntax/typing.nit:367,39--43
+      ../src/syntax/typing.nit:369,2--370,34
+        ../src/syntax/typing.nit:369,2--370,0
+          '# Is the expression the current receiver (implicit or explicit)
+' ... ../src/syntax/typing.nit:369,2--370,0
+        ../src/syntax/typing.nit:370,6
+        'fun' ... ../src/syntax/typing.nit:370,2--4
+        ../src/syntax/typing.nit:370,6--12
+          'is_self' ... ../src/syntax/typing.nit:370,6--12
+        ../src/syntax/typing.nit:370,15--18
+          ../src/syntax/typing.nit:370,15--18
+            'Bool' ... ../src/syntax/typing.nit:370,15--18
+        ../src/syntax/typing.nit:370,23--34
+          'return' ... ../src/syntax/typing.nit:370,23--28
+          ../src/syntax/typing.nit:370,30--34
+            'false' ... ../src/syntax/typing.nit:370,30--34
+      ../src/syntax/typing.nit:372,2--373,51
+        ../src/syntax/typing.nit:372,2--373,0
+          '# The variable accessed is any
+' ... ../src/syntax/typing.nit:372,2--373,0
+        ../src/syntax/typing.nit:373,6
+        'fun' ... ../src/syntax/typing.nit:373,2--4
+        ../src/syntax/typing.nit:373,6--17
+          'its_variable' ... ../src/syntax/typing.nit:373,6--17
+        ../src/syntax/typing.nit:373,20--36
+          ../src/syntax/typing.nit:373,20--36
+            'nullable' ... ../src/syntax/typing.nit:373,20--27
+            'Variable' ... ../src/syntax/typing.nit:373,29--36
+        ../src/syntax/typing.nit:373,41--51
+          'return' ... ../src/syntax/typing.nit:373,41--46
+          ../src/syntax/typing.nit:373,48--51
+            'null' ... ../src/syntax/typing.nit:373,48--51
+      ../src/syntax/typing.nit:375,2--376,61
+        ../src/syntax/typing.nit:375,2--376,0
+          '# The control flow information if current boolean expression is true
+' ... ../src/syntax/typing.nit:375,2--376,0
+        ../src/syntax/typing.nit:376,2--9
+          'readable' ... ../src/syntax/typing.nit:376,2--9
+        ../src/syntax/typing.nit:376,11--17
+          'private' ... ../src/syntax/typing.nit:376,11--17
+        'var' ... ../src/syntax/typing.nit:376,19--21
+        '_if_true_flow_ctx' ... ../src/syntax/typing.nit:376,23--39
+        ../src/syntax/typing.nit:376,42--61
+          'nullable' ... ../src/syntax/typing.nit:376,42--49
+          'FlowContext' ... ../src/syntax/typing.nit:376,51--61
+      ../src/syntax/typing.nit:378,2--379,62
+        ../src/syntax/typing.nit:378,2--379,0
+          '# The control flow information if current boolean expression is false
+' ... ../src/syntax/typing.nit:378,2--379,0
+        ../src/syntax/typing.nit:379,2--9
+          'readable' ... ../src/syntax/typing.nit:379,2--9
+        ../src/syntax/typing.nit:379,11--17
+          'private' ... ../src/syntax/typing.nit:379,11--17
+        'var' ... ../src/syntax/typing.nit:379,19--21
+        '_if_false_flow_ctx' ... ../src/syntax/typing.nit:379,23--40
+        ../src/syntax/typing.nit:379,43--62
+          'nullable' ... ../src/syntax/typing.nit:379,43--50
+          'FlowContext' ... ../src/syntax/typing.nit:379,52--62
+    ../src/syntax/typing.nit:382,1--406,18
+      'redef' ... ../src/syntax/typing.nit:382,1--5
+      ../src/syntax/typing.nit:382,7
+      ../src/syntax/typing.nit:382,7--11
+        'class' ... ../src/syntax/typing.nit:382,7--11
+      'AVardeclExpr' ... ../src/syntax/typing.nit:382,13--24
+      ../src/syntax/typing.nit:383,2--36
+        ../src/syntax/typing.nit:383,17
+        'var' ... ../src/syntax/typing.nit:383,2--4
+        '_variable' ... ../src/syntax/typing.nit:383,6--14
+        ../src/syntax/typing.nit:383,17--36
+          'nullable' ... ../src/syntax/typing.nit:383,17--24
+          'VarVariable' ... ../src/syntax/typing.nit:383,26--36
+      ../src/syntax/typing.nit:384,2--51
+        'redef' ... ../src/syntax/typing.nit:384,2--6
+        ../src/syntax/typing.nit:384,12
+        'fun' ... ../src/syntax/typing.nit:384,8--10
+        ../src/syntax/typing.nit:384,12--19
+          'variable' ... ../src/syntax/typing.nit:384,12--19
+        ../src/syntax/typing.nit:384,31
+        ../src/syntax/typing.nit:384,24--51
+          'return' ... ../src/syntax/typing.nit:384,24--29
+          ../src/syntax/typing.nit:384,31--51
+            ../src/syntax/typing.nit:384,31--39
+              ../src/syntax/typing.nit:384,31
+              '_variable' ... ../src/syntax/typing.nit:384,31--39
+            'as' ... ../src/syntax/typing.nit:384,41--42
+            'not' ... ../src/syntax/typing.nit:384,44--46
+            'null' ... ../src/syntax/typing.nit:384,48--51
+      ../src/syntax/typing.nit:386,2--406,18
+        'redef' ... ../src/syntax/typing.nit:386,2--6
+        ../src/syntax/typing.nit:386,12
+        'fun' ... ../src/syntax/typing.nit:386,8--10
+        ../src/syntax/typing.nit:386,12--23
+          'after_typing' ... ../src/syntax/typing.nit:386,12--23
+        ../src/syntax/typing.nit:386,25
+          ../src/syntax/typing.nit:386,25
+            'v' ... ../src/syntax/typing.nit:386,25
+        ../src/syntax/typing.nit:388,3--406,18
+          ../src/syntax/typing.nit:388,3--47
+            'var' ... ../src/syntax/typing.nit:388,3--5
+            'va' ... ../src/syntax/typing.nit:388,7--8
+            '=' ... ../src/syntax/typing.nit:388,10
+            ../src/syntax/typing.nit:388,12--47
+              'new' ... ../src/syntax/typing.nit:388,12--14
+              ../src/syntax/typing.nit:388,16--26
+                'VarVariable' ... ../src/syntax/typing.nit:388,16--26
+              ../src/syntax/typing.nit:388,28--41
+                ../src/syntax/typing.nit:388,28--31
+                  ../src/syntax/typing.nit:388,28
+                  'n_id' ... ../src/syntax/typing.nit:388,28--31
+                'to_symbol' ... ../src/syntax/typing.nit:388,33--41
+              ../src/syntax/typing.nit:388,44--47
+                ../src/syntax/typing.nit:388,44
+                'n_id' ... ../src/syntax/typing.nit:388,44--47
+          ../src/syntax/typing.nit:389,3--16
+            ../src/syntax/typing.nit:389,15
+            '_variable' ... ../src/syntax/typing.nit:389,3--11
+            '=' ... ../src/syntax/typing.nit:389,13
+            ../src/syntax/typing.nit:389,15--16
+              ../src/syntax/typing.nit:389,15
+              'va' ... ../src/syntax/typing.nit:389,15--16
+          ../src/syntax/typing.nit:390,3--29
+            ../src/syntax/typing.nit:390,3--13
+              ../src/syntax/typing.nit:390,3
+                ../src/syntax/typing.nit:390,3
+                'v' ... ../src/syntax/typing.nit:390,3
+              'scope_ctx' ... ../src/syntax/typing.nit:390,5--13
+            'add_variable' ... ../src/syntax/typing.nit:390,15--26
+            ../src/syntax/typing.nit:390,28--29
+              ../src/syntax/typing.nit:390,28
+              'va' ... ../src/syntax/typing.nit:390,28--29
+          ../src/syntax/typing.nit:391,3--17
+            'var' ... ../src/syntax/typing.nit:391,3--5
+            'ne' ... ../src/syntax/typing.nit:391,7--8
+            '=' ... ../src/syntax/typing.nit:391,10
+            ../src/syntax/typing.nit:391,12--17
+              ../src/syntax/typing.nit:391,12
+              'n_expr' ... ../src/syntax/typing.nit:391,12--17
+          ../src/syntax/typing.nit:392,3--37
+            'if' ... ../src/syntax/typing.nit:392,3--4
+            ../src/syntax/typing.nit:392,6--15
+              ../src/syntax/typing.nit:392,6--7
+                ../src/syntax/typing.nit:392,6
+                'ne' ... ../src/syntax/typing.nit:392,6--7
+              ../src/syntax/typing.nit:392,12--15
+                'null' ... ../src/syntax/typing.nit:392,12--15
+            ../src/syntax/typing.nit:392,22--37
+              ../src/syntax/typing.nit:392,22
+                ../src/syntax/typing.nit:392,22
+                'v' ... ../src/syntax/typing.nit:392,22
+              'mark_is_set' ... ../src/syntax/typing.nit:392,24--34
+              ../src/syntax/typing.nit:392,36--37
+                ../src/syntax/typing.nit:392,36
+                'va' ... ../src/syntax/typing.nit:392,36--37
+          ../src/syntax/typing.nit:394,3--404,39
+            'if' ... ../src/syntax/typing.nit:394,3--4
+            ../src/syntax/typing.nit:394,6--19
+              ../src/syntax/typing.nit:394,6--11
+                ../src/syntax/typing.nit:394,6
+                'n_type' ... ../src/syntax/typing.nit:394,6--11
+              ../src/syntax/typing.nit:394,16--19
+                'null' ... ../src/syntax/typing.nit:394,16--19
+            ../src/syntax/typing.nit:395,4--398,37
+              ../src/syntax/typing.nit:395,4--37
+                'if' ... ../src/syntax/typing.nit:395,4--5
+                ../src/syntax/typing.nit:395,7--25
+                  'not' ... ../src/syntax/typing.nit:395,7--9
+                  ../src/syntax/typing.nit:395,11--25
+                    ../src/syntax/typing.nit:395,11--16
+                      ../src/syntax/typing.nit:395,11
+                      'n_type' ... ../src/syntax/typing.nit:395,11--16
+                    'is_typed' ... ../src/syntax/typing.nit:395,18--25
+                ../src/syntax/typing.nit:395,32--37
+                  'return' ... ../src/syntax/typing.nit:395,32--37
+              ../src/syntax/typing.nit:396,4--26
+                ../src/syntax/typing.nit:396,4--5
+                  ../src/syntax/typing.nit:396,4
+                  'va' ... ../src/syntax/typing.nit:396,4--5
+                'stype' ... ../src/syntax/typing.nit:396,7--11
+                '=' ... ../src/syntax/typing.nit:396,13
+                ../src/syntax/typing.nit:396,15--26
+                  ../src/syntax/typing.nit:396,15--20
+                    ../src/syntax/typing.nit:396,15
+                    'n_type' ... ../src/syntax/typing.nit:396,15--20
+                  'stype' ... ../src/syntax/typing.nit:396,22--26
+              ../src/syntax/typing.nit:397,4--398,37
+                'if' ... ../src/syntax/typing.nit:397,4--5
+                ../src/syntax/typing.nit:397,7--16
+                  ../src/syntax/typing.nit:397,7--8
+                    ../src/syntax/typing.nit:397,7
+                    'ne' ... ../src/syntax/typing.nit:397,7--8
+                  ../src/syntax/typing.nit:397,13--16
+                    'null' ... ../src/syntax/typing.nit:397,13--16
+                ../src/syntax/typing.nit:398,5--37
+                  ../src/syntax/typing.nit:398,5--37
+                    ../src/syntax/typing.nit:398,5
+                      ../src/syntax/typing.nit:398,5
+                      'v' ... ../src/syntax/typing.nit:398,5
+                    'check_conform_expr' ... ../src/syntax/typing.nit:398,7--24
+                    ../src/syntax/typing.nit:398,26--27
+                      ../src/syntax/typing.nit:398,26
+                      'ne' ... ../src/syntax/typing.nit:398,26--27
+                    ../src/syntax/typing.nit:398,30--37
+                      ../src/syntax/typing.nit:398,30--31
+                        ../src/syntax/typing.nit:398,30
+                        'va' ... ../src/syntax/typing.nit:398,30--31
+                      'stype' ... ../src/syntax/typing.nit:398,33--37
+            ../src/syntax/typing.nit:400,8--404,39
+              'if' ... ../src/syntax/typing.nit:400,8--9
+              ../src/syntax/typing.nit:400,11--20
+                ../src/syntax/typing.nit:400,11--12
+                  ../src/syntax/typing.nit:400,11
+                  'ne' ... ../src/syntax/typing.nit:400,11--12
+                ../src/syntax/typing.nit:400,17--20
+                  'null' ... ../src/syntax/typing.nit:400,17--20
+              ../src/syntax/typing.nit:401,4--402,22
+                ../src/syntax/typing.nit:401,4--38
+                  'if' ... ../src/syntax/typing.nit:401,4--5
+                  ../src/syntax/typing.nit:401,7--25
+                    'not' ... ../src/syntax/typing.nit:401,7--9
+                    ../src/syntax/typing.nit:401,11--25
+                      ../src/syntax/typing.nit:401,11
+                        ../src/syntax/typing.nit:401,11
+                        'v' ... ../src/syntax/typing.nit:401,11
+                      'check_expr' ... ../src/syntax/typing.nit:401,13--22
+                      ../src/syntax/typing.nit:401,24--25
+                        ../src/syntax/typing.nit:401,24
+                        'ne' ... ../src/syntax/typing.nit:401,24--25
+                  ../src/syntax/typing.nit:401,33--38
+                    'return' ... ../src/syntax/typing.nit:401,33--38
+                ../src/syntax/typing.nit:402,4--22
+                  ../src/syntax/typing.nit:402,4--5
+                    ../src/syntax/typing.nit:402,4
+                    'va' ... ../src/syntax/typing.nit:402,4--5
+                  'stype' ... ../src/syntax/typing.nit:402,7--11
+                  '=' ... ../src/syntax/typing.nit:402,13
+                  ../src/syntax/typing.nit:402,15--22
+                    ../src/syntax/typing.nit:402,15--16
+                      ../src/syntax/typing.nit:402,15
+                      'ne' ... ../src/syntax/typing.nit:402,15--16
+                    'stype' ... ../src/syntax/typing.nit:402,18--22
+              ../src/syntax/typing.nit:404,4--39
+                ../src/syntax/typing.nit:404,4--39
+                  ../src/syntax/typing.nit:404,4--5
+                    ../src/syntax/typing.nit:404,4
+                    'va' ... ../src/syntax/typing.nit:404,4--5
+                  'stype' ... ../src/syntax/typing.nit:404,7--11
+                  '=' ... ../src/syntax/typing.nit:404,13
+                  ../src/syntax/typing.nit:404,15--39
+                    ../src/syntax/typing.nit:404,15--27
+                      ../src/syntax/typing.nit:404,15
+                        ../src/syntax/typing.nit:404,15
+                        'v' ... ../src/syntax/typing.nit:404,15
+                      'type_object' ... ../src/syntax/typing.nit:404,17--27
+                    'as_nullable' ... ../src/syntax/typing.nit:404,29--39
+          ../src/syntax/typing.nit:406,3--18
+            ../src/syntax/typing.nit:406,15
+            '_is_typed' ... ../src/syntax/typing.nit:406,3--11
+            '=' ... ../src/syntax/typing.nit:406,13
+            ../src/syntax/typing.nit:406,15--18
+              'true' ... ../src/syntax/typing.nit:406,15--18
+    ../src/syntax/typing.nit:410,1--422,18
+      'redef' ... ../src/syntax/typing.nit:410,1--5
+      ../src/syntax/typing.nit:410,7
+      ../src/syntax/typing.nit:410,7--11
+        'class' ... ../src/syntax/typing.nit:410,7--11
+      'ABlockExpr' ... ../src/syntax/typing.nit:410,13--22
+      ../src/syntax/typing.nit:411,2--422,18
+        'redef' ... ../src/syntax/typing.nit:411,2--6
+        ../src/syntax/typing.nit:411,12
+        'fun' ... ../src/syntax/typing.nit:411,8--10
+        ../src/syntax/typing.nit:411,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:411,12--24
+        ../src/syntax/typing.nit:411,26
+          ../src/syntax/typing.nit:411,26
+            'v' ... ../src/syntax/typing.nit:411,26
+        ../src/syntax/typing.nit:413,3--422,18
+          ../src/syntax/typing.nit:413,3--418,46
+            'for' ... ../src/syntax/typing.nit:413,3--5
+            'e' ... ../src/syntax/typing.nit:413,7
+            ../src/syntax/typing.nit:413,12--17
+              ../src/syntax/typing.nit:413,12
+              'n_expr' ... ../src/syntax/typing.nit:413,12--17
+            'do' ... ../src/syntax/typing.nit:413,19--20
+            ../src/syntax/typing.nit:414,4--418,46
+              ../src/syntax/typing.nit:414,4--418,46
+                'if' ... ../src/syntax/typing.nit:414,4--5
+                ../src/syntax/typing.nit:414,7--28
+                  'not' ... ../src/syntax/typing.nit:414,7--9
+                  ../src/syntax/typing.nit:414,11--28
+                    ../src/syntax/typing.nit:414,11--20
+                      ../src/syntax/typing.nit:414,11
+                        ../src/syntax/typing.nit:414,11
+                        'v' ... ../src/syntax/typing.nit:414,11
+                      'flow_ctx' ... ../src/syntax/typing.nit:414,13--20
+                    'unreash' ... ../src/syntax/typing.nit:414,22--28
+                ../src/syntax/typing.nit:415,5--19
+                  ../src/syntax/typing.nit:415,5--19
+                    ../src/syntax/typing.nit:415,5
+                      ../src/syntax/typing.nit:415,5
+                      'v' ... ../src/syntax/typing.nit:415,5
+                    'enter_visit' ... ../src/syntax/typing.nit:415,7--17
+                    ../src/syntax/typing.nit:415,19
+                      ../src/syntax/typing.nit:415,19
+                      'e' ... ../src/syntax/typing.nit:415,19
+                ../src/syntax/typing.nit:416,9--418,46
+                  'if' ... ../src/syntax/typing.nit:416,9--10
+                  ../src/syntax/typing.nit:416,12--41
+                    'not' ... ../src/syntax/typing.nit:416,12--14
+                    ../src/syntax/typing.nit:416,16--41
+                      ../src/syntax/typing.nit:416,16--25
+                        ../src/syntax/typing.nit:416,16
+                          ../src/syntax/typing.nit:416,16
+                          'v' ... ../src/syntax/typing.nit:416,16
+                        'flow_ctx' ... ../src/syntax/typing.nit:416,18--25
+                      'already_unreash' ... ../src/syntax/typing.nit:416,27--41
+                  ../src/syntax/typing.nit:417,5--418,46
+                    ../src/syntax/typing.nit:417,5--37
+                      ../src/syntax/typing.nit:417,5--14
+                        ../src/syntax/typing.nit:417,5
+                          ../src/syntax/typing.nit:417,5
+                          'v' ... ../src/syntax/typing.nit:417,5
+                        'flow_ctx' ... ../src/syntax/typing.nit:417,7--14
+                      'already_unreash' ... ../src/syntax/typing.nit:417,16--30
+                      '=' ... ../src/syntax/typing.nit:417,32
+                      ../src/syntax/typing.nit:417,34--37
+                        'true' ... ../src/syntax/typing.nit:417,34--37
+                    ../src/syntax/typing.nit:418,5--46
+                      ../src/syntax/typing.nit:418,5
+                        ../src/syntax/typing.nit:418,5
+                        'v' ... ../src/syntax/typing.nit:418,5
+                      'error' ... ../src/syntax/typing.nit:418,7--11
+                      ../src/syntax/typing.nit:418,13
+                        ../src/syntax/typing.nit:418,13
+                        'e' ... ../src/syntax/typing.nit:418,13
+                      ../src/syntax/typing.nit:418,16--46
+                        '"Error: unreachable statement."' ... ../src/syntax/typing.nit:418,16--46
+          ../src/syntax/typing.nit:422,3--18
+            ../src/syntax/typing.nit:422,15
+            '_is_typed' ... ../src/syntax/typing.nit:422,3--11
+            '=' ... ../src/syntax/typing.nit:422,13
+            ../src/syntax/typing.nit:422,15--18
+              'true' ... ../src/syntax/typing.nit:422,15--18
+    ../src/syntax/typing.nit:426,1--445,18
+      'redef' ... ../src/syntax/typing.nit:426,1--5
+      ../src/syntax/typing.nit:426,7
+      ../src/syntax/typing.nit:426,7--11
+        'class' ... ../src/syntax/typing.nit:426,7--11
+      'AReturnExpr' ... ../src/syntax/typing.nit:426,13--23
+      ../src/syntax/typing.nit:427,2--445,18
+        'redef' ... ../src/syntax/typing.nit:427,2--6
+        ../src/syntax/typing.nit:427,12
+        'fun' ... ../src/syntax/typing.nit:427,8--10
+        ../src/syntax/typing.nit:427,12--23
+          'after_typing' ... ../src/syntax/typing.nit:427,12--23
+        ../src/syntax/typing.nit:427,25
+          ../src/syntax/typing.nit:427,25
+            'v' ... ../src/syntax/typing.nit:427,25
+        ../src/syntax/typing.nit:429,3--445,18
+          ../src/syntax/typing.nit:429,3--21
+            ../src/syntax/typing.nit:429,3
+              ../src/syntax/typing.nit:429,3
+              'v' ... ../src/syntax/typing.nit:429,3
+            'mark_unreash' ... ../src/syntax/typing.nit:429,5--16
+            ../src/syntax/typing.nit:429,18--21
+              'self' ... ../src/syntax/typing.nit:429,18--21
+          ../src/syntax/typing.nit:430,3--48
+            'var' ... ../src/syntax/typing.nit:430,3--5
+            't' ... ../src/syntax/typing.nit:430,7
+            '=' ... ../src/syntax/typing.nit:430,9
+            ../src/syntax/typing.nit:430,11--48
+              ../src/syntax/typing.nit:430,11--36
+                ../src/syntax/typing.nit:430,11--26
+                  ../src/syntax/typing.nit:430,11
+                    ../src/syntax/typing.nit:430,11
+                    'v' ... ../src/syntax/typing.nit:430,11
+                  'local_property' ... ../src/syntax/typing.nit:430,13--26
+                'signature' ... ../src/syntax/typing.nit:430,28--36
+              'return_type' ... ../src/syntax/typing.nit:430,38--48
+          ../src/syntax/typing.nit:432,3--434,9
+            'if' ... ../src/syntax/typing.nit:432,3--4
+            ../src/syntax/typing.nit:432,6--36
+              ../src/syntax/typing.nit:432,6
+                ../src/syntax/typing.nit:432,6
+                'v' ... ../src/syntax/typing.nit:432,6
+              'is_default_closure_definition' ... ../src/syntax/typing.nit:432,8--36
+            ../src/syntax/typing.nit:433,4--434,9
+              ../src/syntax/typing.nit:433,4--101
+                ../src/syntax/typing.nit:433,4
+                  ../src/syntax/typing.nit:433,4
+                  'v' ... ../src/syntax/typing.nit:433,4
+                'error' ... ../src/syntax/typing.nit:433,6--10
+                ../src/syntax/typing.nit:433,12--15
+                  'self' ... ../src/syntax/typing.nit:433,12--15
+                ../src/syntax/typing.nit:433,18--101
+                  '"Error: 'return' invalid in default closure definitions. Use 'continue' or 'break'."' ... ../src/syntax/typing.nit:433,18--101
+              ../src/syntax/typing.nit:434,4--9
+                'return' ... ../src/syntax/typing.nit:434,4--9
+          ../src/syntax/typing.nit:437,3--16
+            'var' ... ../src/syntax/typing.nit:437,3--5
+            'e' ... ../src/syntax/typing.nit:437,7
+            '=' ... ../src/syntax/typing.nit:437,9
+            ../src/syntax/typing.nit:437,11--16
+              ../src/syntax/typing.nit:437,11
+              'n_expr' ... ../src/syntax/typing.nit:437,11--16
+          ../src/syntax/typing.nit:438,3--443,28
+            'if' ... ../src/syntax/typing.nit:438,3--4
+            ../src/syntax/typing.nit:438,6--28
+              ../src/syntax/typing.nit:438,6--14
+                ../src/syntax/typing.nit:438,6
+                  ../src/syntax/typing.nit:438,6
+                  'e' ... ../src/syntax/typing.nit:438,6
+                ../src/syntax/typing.nit:438,11--14
+                  'null' ... ../src/syntax/typing.nit:438,11--14
+              ../src/syntax/typing.nit:438,20--28
+                ../src/syntax/typing.nit:438,20
+                  ../src/syntax/typing.nit:438,20
+                  't' ... ../src/syntax/typing.nit:438,20
+                ../src/syntax/typing.nit:438,25--28
+                  'null' ... ../src/syntax/typing.nit:438,25--28
+            ../src/syntax/typing.nit:439,4--61
+              ../src/syntax/typing.nit:439,4--61
+                ../src/syntax/typing.nit:439,4
+                  ../src/syntax/typing.nit:439,4
+                  'v' ... ../src/syntax/typing.nit:439,4
+                'error' ... ../src/syntax/typing.nit:439,6--10
+                ../src/syntax/typing.nit:439,12--15
+                  'self' ... ../src/syntax/typing.nit:439,12--15
+                ../src/syntax/typing.nit:439,18--61
+                  '"Error: Return without value in a function."' ... ../src/syntax/typing.nit:439,18--61
+            ../src/syntax/typing.nit:440,8--443,28
+              'if' ... ../src/syntax/typing.nit:440,8--9
+              ../src/syntax/typing.nit:440,11--33
+                ../src/syntax/typing.nit:440,11--19
+                  ../src/syntax/typing.nit:440,11
+                    ../src/syntax/typing.nit:440,11
+                    'e' ... ../src/syntax/typing.nit:440,11
+                  ../src/syntax/typing.nit:440,16--19
+                    'null' ... ../src/syntax/typing.nit:440,16--19
+                ../src/syntax/typing.nit:440,25--33
+                  ../src/syntax/typing.nit:440,25
+                    ../src/syntax/typing.nit:440,25
+                    't' ... ../src/syntax/typing.nit:440,25
+                  ../src/syntax/typing.nit:440,30--33
+                    'null' ... ../src/syntax/typing.nit:440,30--33
+              ../src/syntax/typing.nit:441,4--59
+                ../src/syntax/typing.nit:441,4--59
+                  ../src/syntax/typing.nit:441,4
+                    ../src/syntax/typing.nit:441,4
+                    'v' ... ../src/syntax/typing.nit:441,4
+                  'error' ... ../src/syntax/typing.nit:441,6--10
+                  ../src/syntax/typing.nit:441,12--15
+                    'self' ... ../src/syntax/typing.nit:441,12--15
+                  ../src/syntax/typing.nit:441,18--59
+                    '"Error: Return with value in a procedure."' ... ../src/syntax/typing.nit:441,18--59
+              ../src/syntax/typing.nit:442,8--443,28
+                'if' ... ../src/syntax/typing.nit:442,8--9
+                ../src/syntax/typing.nit:442,11--33
+                  ../src/syntax/typing.nit:442,11--19
+                    ../src/syntax/typing.nit:442,11
+                      ../src/syntax/typing.nit:442,11
+                      'e' ... ../src/syntax/typing.nit:442,11
+                    ../src/syntax/typing.nit:442,16--19
+                      'null' ... ../src/syntax/typing.nit:442,16--19
+                  ../src/syntax/typing.nit:442,25--33
+                    ../src/syntax/typing.nit:442,25
+                      ../src/syntax/typing.nit:442,25
+                      't' ... ../src/syntax/typing.nit:442,25
+                    ../src/syntax/typing.nit:442,30--33
+                      'null' ... ../src/syntax/typing.nit:442,30--33
+                ../src/syntax/typing.nit:443,4--28
+                  ../src/syntax/typing.nit:443,4--28
+                    ../src/syntax/typing.nit:443,4
+                      ../src/syntax/typing.nit:443,4
+                      'v' ... ../src/syntax/typing.nit:443,4
+                    'check_conform_expr' ... ../src/syntax/typing.nit:443,6--23
+                    ../src/syntax/typing.nit:443,25
+                      ../src/syntax/typing.nit:443,25
+                      'e' ... ../src/syntax/typing.nit:443,25
+                    ../src/syntax/typing.nit:443,28
+                      ../src/syntax/typing.nit:443,28
+                      't' ... ../src/syntax/typing.nit:443,28
+          ../src/syntax/typing.nit:445,3--18
+            ../src/syntax/typing.nit:445,15
+            '_is_typed' ... ../src/syntax/typing.nit:445,3--11
+            '=' ... ../src/syntax/typing.nit:445,13
+            ../src/syntax/typing.nit:445,15--18
+              'true' ... ../src/syntax/typing.nit:445,15--18
+    ../src/syntax/typing.nit:449,1--469,18
+      'redef' ... ../src/syntax/typing.nit:449,1--5
+      ../src/syntax/typing.nit:449,7
+      ../src/syntax/typing.nit:449,7--11
+        'class' ... ../src/syntax/typing.nit:449,7--11
+      'AContinueExpr' ... ../src/syntax/typing.nit:449,13--25
+      ../src/syntax/typing.nit:450,2--469,18
+        'redef' ... ../src/syntax/typing.nit:450,2--6
+        ../src/syntax/typing.nit:450,12
+        'fun' ... ../src/syntax/typing.nit:450,8--10
+        ../src/syntax/typing.nit:450,12--23
+          'after_typing' ... ../src/syntax/typing.nit:450,12--23
+        ../src/syntax/typing.nit:450,25
+          ../src/syntax/typing.nit:450,25
+            'v' ... ../src/syntax/typing.nit:450,25
+        ../src/syntax/typing.nit:452,3--469,18
+          ../src/syntax/typing.nit:452,3--21
+            ../src/syntax/typing.nit:452,3
+              ../src/syntax/typing.nit:452,3
+              'v' ... ../src/syntax/typing.nit:452,3
+            'mark_unreash' ... ../src/syntax/typing.nit:452,5--16
+            ../src/syntax/typing.nit:452,18--21
+              'self' ... ../src/syntax/typing.nit:452,18--21
+          ../src/syntax/typing.nit:453,3--47
+            'var' ... ../src/syntax/typing.nit:453,3--5
+            'esc' ... ../src/syntax/typing.nit:453,7--9
+            '=' ... ../src/syntax/typing.nit:453,11
+            ../src/syntax/typing.nit:453,13--47
+              ../src/syntax/typing.nit:453,37
+              'compute_escapable_block' ... ../src/syntax/typing.nit:453,13--35
+              ../src/syntax/typing.nit:453,37--47
+                ../src/syntax/typing.nit:453,37
+                  ../src/syntax/typing.nit:453,37
+                  'v' ... ../src/syntax/typing.nit:453,37
+                'scope_ctx' ... ../src/syntax/typing.nit:453,39--47
+          ../src/syntax/typing.nit:454,3--28
+            'if' ... ../src/syntax/typing.nit:454,3--4
+            ../src/syntax/typing.nit:454,6--16
+              ../src/syntax/typing.nit:454,6--8
+                ../src/syntax/typing.nit:454,6
+                'esc' ... ../src/syntax/typing.nit:454,6--8
+              ../src/syntax/typing.nit:454,13--16
+                'null' ... ../src/syntax/typing.nit:454,13--16
+            ../src/syntax/typing.nit:454,23--28
+              'return' ... ../src/syntax/typing.nit:454,23--28
+          ../src/syntax/typing.nit:456,3--458,9
+            'if' ... ../src/syntax/typing.nit:456,3--4
+            ../src/syntax/typing.nit:456,6--23
+              ../src/syntax/typing.nit:456,6--8
+                ../src/syntax/typing.nit:456,6
+                'esc' ... ../src/syntax/typing.nit:456,6--8
+              'is_break_block' ... ../src/syntax/typing.nit:456,10--23
+            ../src/syntax/typing.nit:457,4--458,9
+              ../src/syntax/typing.nit:457,4--58
+                ../src/syntax/typing.nit:457,4
+                  ../src/syntax/typing.nit:457,4
+                  'v' ... ../src/syntax/typing.nit:457,4
+                'error' ... ../src/syntax/typing.nit:457,6--10
+                ../src/syntax/typing.nit:457,12--15
+                  'self' ... ../src/syntax/typing.nit:457,12--15
+                ../src/syntax/typing.nit:457,18--58
+                  '"Error: cannot 'continue', only 'break'."' ... ../src/syntax/typing.nit:457,18--58
+              ../src/syntax/typing.nit:458,4--9
+                'return' ... ../src/syntax/typing.nit:458,4--9
+          ../src/syntax/typing.nit:461,3--28
+            'var' ... ../src/syntax/typing.nit:461,3--5
+            't' ... ../src/syntax/typing.nit:461,7
+            '=' ... ../src/syntax/typing.nit:461,9
+            ../src/syntax/typing.nit:461,11--28
+              ../src/syntax/typing.nit:461,11--13
+                ../src/syntax/typing.nit:461,11
+                'esc' ... ../src/syntax/typing.nit:461,11--13
+              'continue_stype' ... ../src/syntax/typing.nit:461,15--28
+          ../src/syntax/typing.nit:462,3--467,46
+            'if' ... ../src/syntax/typing.nit:462,3--4
+            ../src/syntax/typing.nit:462,6--33
+              ../src/syntax/typing.nit:462,6--19
+                ../src/syntax/typing.nit:462,6--11
+                  ../src/syntax/typing.nit:462,6
+                  'n_expr' ... ../src/syntax/typing.nit:462,6--11
+                ../src/syntax/typing.nit:462,16--19
+                  'null' ... ../src/syntax/typing.nit:462,16--19
+              ../src/syntax/typing.nit:462,25--33
+                ../src/syntax/typing.nit:462,25
+                  ../src/syntax/typing.nit:462,25
+                  't' ... ../src/syntax/typing.nit:462,25
+                ../src/syntax/typing.nit:462,30--33
+                  'null' ... ../src/syntax/typing.nit:462,30--33
+            ../src/syntax/typing.nit:463,4--71
+              ../src/syntax/typing.nit:463,4--71
+                ../src/syntax/typing.nit:463,4
+                  ../src/syntax/typing.nit:463,4
+                  'v' ... ../src/syntax/typing.nit:463,4
+                'error' ... ../src/syntax/typing.nit:463,6--10
+                ../src/syntax/typing.nit:463,12--15
+                  'self' ... ../src/syntax/typing.nit:463,12--15
+                ../src/syntax/typing.nit:463,18--71
+                  '"Error: continue with a value required in this block."' ... ../src/syntax/typing.nit:463,18--71
+            ../src/syntax/typing.nit:464,8--467,46
+              'if' ... ../src/syntax/typing.nit:464,8--9
+              ../src/syntax/typing.nit:464,11--38
+                ../src/syntax/typing.nit:464,11--24
+                  ../src/syntax/typing.nit:464,11--16
+                    ../src/syntax/typing.nit:464,11
+                    'n_expr' ... ../src/syntax/typing.nit:464,11--16
+                  ../src/syntax/typing.nit:464,21--24
+                    'null' ... ../src/syntax/typing.nit:464,21--24
+                ../src/syntax/typing.nit:464,30--38
+                  ../src/syntax/typing.nit:464,30
+                    ../src/syntax/typing.nit:464,30
+                    't' ... ../src/syntax/typing.nit:464,30
+                  ../src/syntax/typing.nit:464,35--38
+                    'null' ... ../src/syntax/typing.nit:464,35--38
+              ../src/syntax/typing.nit:465,4--72
+                ../src/syntax/typing.nit:465,4--72
+                  ../src/syntax/typing.nit:465,4
+                    ../src/syntax/typing.nit:465,4
+                    'v' ... ../src/syntax/typing.nit:465,4
+                  'error' ... ../src/syntax/typing.nit:465,6--10
+                  ../src/syntax/typing.nit:465,12--15
+                    'self' ... ../src/syntax/typing.nit:465,12--15
+                  ../src/syntax/typing.nit:465,18--72
+                    '"Error: continue without value required in this block."' ... ../src/syntax/typing.nit:465,18--72
+              ../src/syntax/typing.nit:466,8--467,46
+                'if' ... ../src/syntax/typing.nit:466,8--9
+                ../src/syntax/typing.nit:466,11--38
+                  ../src/syntax/typing.nit:466,11--24
+                    ../src/syntax/typing.nit:466,11--16
+                      ../src/syntax/typing.nit:466,11
+                      'n_expr' ... ../src/syntax/typing.nit:466,11--16
+                    ../src/syntax/typing.nit:466,21--24
+                      'null' ... ../src/syntax/typing.nit:466,21--24
+                  ../src/syntax/typing.nit:466,30--38
+                    ../src/syntax/typing.nit:466,30
+                      ../src/syntax/typing.nit:466,30
+                      't' ... ../src/syntax/typing.nit:466,30
+                    ../src/syntax/typing.nit:466,35--38
+                      'null' ... ../src/syntax/typing.nit:466,35--38
+                ../src/syntax/typing.nit:467,4--46
+                  ../src/syntax/typing.nit:467,4--46
+                    ../src/syntax/typing.nit:467,4
+                      ../src/syntax/typing.nit:467,4
+                      'v' ... ../src/syntax/typing.nit:467,4
+                    'check_conform_expr' ... ../src/syntax/typing.nit:467,6--23
+                    ../src/syntax/typing.nit:467,25--42
+                      ../src/syntax/typing.nit:467,25--30
+                        ../src/syntax/typing.nit:467,25
+                        'n_expr' ... ../src/syntax/typing.nit:467,25--30
+                      'as' ... ../src/syntax/typing.nit:467,32--33
+                      'not' ... ../src/syntax/typing.nit:467,35--37
+                      'null' ... ../src/syntax/typing.nit:467,39--42
+                    ../src/syntax/typing.nit:467,46
+                      ../src/syntax/typing.nit:467,46
+                      't' ... ../src/syntax/typing.nit:467,46
+          ../src/syntax/typing.nit:469,3--18
+            ../src/syntax/typing.nit:469,15
+            '_is_typed' ... ../src/syntax/typing.nit:469,3--11
+            '=' ... ../src/syntax/typing.nit:469,13
+            ../src/syntax/typing.nit:469,15--18
+              'true' ... ../src/syntax/typing.nit:469,15--18
+    ../src/syntax/typing.nit:473,1--492,18
+      'redef' ... ../src/syntax/typing.nit:473,1--5
+      ../src/syntax/typing.nit:473,7
+      ../src/syntax/typing.nit:473,7--11
+        'class' ... ../src/syntax/typing.nit:473,7--11
+      'ABreakExpr' ... ../src/syntax/typing.nit:473,13--22
+      ../src/syntax/typing.nit:474,2--492,18
+        'redef' ... ../src/syntax/typing.nit:474,2--6
+        ../src/syntax/typing.nit:474,12
+        'fun' ... ../src/syntax/typing.nit:474,8--10
+        ../src/syntax/typing.nit:474,12--23
+          'after_typing' ... ../src/syntax/typing.nit:474,12--23
+        ../src/syntax/typing.nit:474,25
+          ../src/syntax/typing.nit:474,25
+            'v' ... ../src/syntax/typing.nit:474,25
+        ../src/syntax/typing.nit:476,3--492,18
+          ../src/syntax/typing.nit:476,3--31
+            'var' ... ../src/syntax/typing.nit:476,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:476,7--18
+            '=' ... ../src/syntax/typing.nit:476,20
+            ../src/syntax/typing.nit:476,22--31
+              ../src/syntax/typing.nit:476,22
+                ../src/syntax/typing.nit:476,22
+                'v' ... ../src/syntax/typing.nit:476,22
+              'flow_ctx' ... ../src/syntax/typing.nit:476,24--31
+          ../src/syntax/typing.nit:477,3--21
+            ../src/syntax/typing.nit:477,3
+              ../src/syntax/typing.nit:477,3
+              'v' ... ../src/syntax/typing.nit:477,3
+            'mark_unreash' ... ../src/syntax/typing.nit:477,5--16
+            ../src/syntax/typing.nit:477,18--21
+              'self' ... ../src/syntax/typing.nit:477,18--21
+          ../src/syntax/typing.nit:478,3--47
+            'var' ... ../src/syntax/typing.nit:478,3--5
+            'esc' ... ../src/syntax/typing.nit:478,7--9
+            '=' ... ../src/syntax/typing.nit:478,11
+            ../src/syntax/typing.nit:478,13--47
+              ../src/syntax/typing.nit:478,37
+              'compute_escapable_block' ... ../src/syntax/typing.nit:478,13--35
+              ../src/syntax/typing.nit:478,37--47
+                ../src/syntax/typing.nit:478,37
+                  ../src/syntax/typing.nit:478,37
+                  'v' ... ../src/syntax/typing.nit:478,37
+                'scope_ctx' ... ../src/syntax/typing.nit:478,39--47
+          ../src/syntax/typing.nit:479,3--28
+            'if' ... ../src/syntax/typing.nit:479,3--4
+            ../src/syntax/typing.nit:479,6--16
+              ../src/syntax/typing.nit:479,6--8
+                ../src/syntax/typing.nit:479,6
+                'esc' ... ../src/syntax/typing.nit:479,6--8
+              ../src/syntax/typing.nit:479,13--16
+                'null' ... ../src/syntax/typing.nit:479,13--16
+            ../src/syntax/typing.nit:479,23--28
+              'return' ... ../src/syntax/typing.nit:479,23--28
+          ../src/syntax/typing.nit:481,3--42
+            ../src/syntax/typing.nit:481,3--25
+              ../src/syntax/typing.nit:481,3--5
+                ../src/syntax/typing.nit:481,3
+                'esc' ... ../src/syntax/typing.nit:481,3--5
+              'break_flow_contexts' ... ../src/syntax/typing.nit:481,7--25
+            'add' ... ../src/syntax/typing.nit:481,27--29
+            ../src/syntax/typing.nit:481,31--42
+              ../src/syntax/typing.nit:481,31
+              'old_flow_ctx' ... ../src/syntax/typing.nit:481,31--42
+          ../src/syntax/typing.nit:483,3--25
+            'var' ... ../src/syntax/typing.nit:483,3--5
+            'bl' ... ../src/syntax/typing.nit:483,7--8
+            '=' ... ../src/syntax/typing.nit:483,10
+            ../src/syntax/typing.nit:483,12--25
+              ../src/syntax/typing.nit:483,12--14
+                ../src/syntax/typing.nit:483,12
+                'esc' ... ../src/syntax/typing.nit:483,12--14
+              'break_list' ... ../src/syntax/typing.nit:483,16--25
+          ../src/syntax/typing.nit:484,3--490,28
+            'if' ... ../src/syntax/typing.nit:484,3--4
+            ../src/syntax/typing.nit:484,6--34
+              ../src/syntax/typing.nit:484,6--19
+                ../src/syntax/typing.nit:484,6--11
+                  ../src/syntax/typing.nit:484,6
+                  'n_expr' ... ../src/syntax/typing.nit:484,6--11
+                ../src/syntax/typing.nit:484,16--19
+                  'null' ... ../src/syntax/typing.nit:484,16--19
+              ../src/syntax/typing.nit:484,25--34
+                ../src/syntax/typing.nit:484,25--26
+                  ../src/syntax/typing.nit:484,25
+                  'bl' ... ../src/syntax/typing.nit:484,25--26
+                ../src/syntax/typing.nit:484,31--34
+                  'null' ... ../src/syntax/typing.nit:484,31--34
+            ../src/syntax/typing.nit:485,4--68
+              ../src/syntax/typing.nit:485,4--68
+                ../src/syntax/typing.nit:485,4
+                  ../src/syntax/typing.nit:485,4
+                  'v' ... ../src/syntax/typing.nit:485,4
+                'error' ... ../src/syntax/typing.nit:485,6--10
+                ../src/syntax/typing.nit:485,12--15
+                  'self' ... ../src/syntax/typing.nit:485,12--15
+                ../src/syntax/typing.nit:485,18--68
+                  '"Error: break with a value required in this block."' ... ../src/syntax/typing.nit:485,18--68
+            ../src/syntax/typing.nit:486,8--490,28
+              'if' ... ../src/syntax/typing.nit:486,8--9
+              ../src/syntax/typing.nit:486,11--39
+                ../src/syntax/typing.nit:486,11--24
+                  ../src/syntax/typing.nit:486,11--16
+                    ../src/syntax/typing.nit:486,11
+                    'n_expr' ... ../src/syntax/typing.nit:486,11--16
+                  ../src/syntax/typing.nit:486,21--24
+                    'null' ... ../src/syntax/typing.nit:486,21--24
+                ../src/syntax/typing.nit:486,30--39
+                  ../src/syntax/typing.nit:486,30--31
+                    ../src/syntax/typing.nit:486,30
+                    'bl' ... ../src/syntax/typing.nit:486,30--31
+                  ../src/syntax/typing.nit:486,36--39
+                    'null' ... ../src/syntax/typing.nit:486,36--39
+              ../src/syntax/typing.nit:487,4--69
+                ../src/syntax/typing.nit:487,4--69
+                  ../src/syntax/typing.nit:487,4
+                    ../src/syntax/typing.nit:487,4
+                    'v' ... ../src/syntax/typing.nit:487,4
+                  'error' ... ../src/syntax/typing.nit:487,6--10
+                  ../src/syntax/typing.nit:487,12--15
+                    'self' ... ../src/syntax/typing.nit:487,12--15
+                  ../src/syntax/typing.nit:487,18--69
+                    '"Error: break without value required in this block."' ... ../src/syntax/typing.nit:487,18--69
+              ../src/syntax/typing.nit:488,8--490,28
+                'if' ... ../src/syntax/typing.nit:488,8--9
+                ../src/syntax/typing.nit:488,11--39
+                  ../src/syntax/typing.nit:488,11--24
+                    ../src/syntax/typing.nit:488,11--16
+                      ../src/syntax/typing.nit:488,11
+                      'n_expr' ... ../src/syntax/typing.nit:488,11--16
+                    ../src/syntax/typing.nit:488,21--24
+                      'null' ... ../src/syntax/typing.nit:488,21--24
+                  ../src/syntax/typing.nit:488,30--39
+                    ../src/syntax/typing.nit:488,30--31
+                      ../src/syntax/typing.nit:488,30
+                      'bl' ... ../src/syntax/typing.nit:488,30--31
+                    ../src/syntax/typing.nit:488,36--39
+                      'null' ... ../src/syntax/typing.nit:488,36--39
+                ../src/syntax/typing.nit:490,4--28
+                  ../src/syntax/typing.nit:490,4--28
+                    ../src/syntax/typing.nit:490,4--5
+                      ../src/syntax/typing.nit:490,4
+                      'bl' ... ../src/syntax/typing.nit:490,4--5
+                    'add' ... ../src/syntax/typing.nit:490,7--9
+                    ../src/syntax/typing.nit:490,11--28
+                      ../src/syntax/typing.nit:490,11--16
+                        ../src/syntax/typing.nit:490,11
+                        'n_expr' ... ../src/syntax/typing.nit:490,11--16
+                      'as' ... ../src/syntax/typing.nit:490,18--19
+                      'not' ... ../src/syntax/typing.nit:490,21--23
+                      'null' ... ../src/syntax/typing.nit:490,25--28
+          ../src/syntax/typing.nit:492,3--18
+            ../src/syntax/typing.nit:492,15
+            '_is_typed' ... ../src/syntax/typing.nit:492,3--11
+            '=' ... ../src/syntax/typing.nit:492,13
+            ../src/syntax/typing.nit:492,15--18
+              'true' ... ../src/syntax/typing.nit:492,15--18
+    ../src/syntax/typing.nit:496,1--500,18
+      'redef' ... ../src/syntax/typing.nit:496,1--5
+      ../src/syntax/typing.nit:496,7
+      ../src/syntax/typing.nit:496,7--11
+        'class' ... ../src/syntax/typing.nit:496,7--11
+      'AAbortExpr' ... ../src/syntax/typing.nit:496,13--22
+      ../src/syntax/typing.nit:497,2--500,18
+        'redef' ... ../src/syntax/typing.nit:497,2--6
+        ../src/syntax/typing.nit:497,12
+        'fun' ... ../src/syntax/typing.nit:497,8--10
+        ../src/syntax/typing.nit:497,12--23
+          'after_typing' ... ../src/syntax/typing.nit:497,12--23
+        ../src/syntax/typing.nit:497,25
+          ../src/syntax/typing.nit:497,25
+            'v' ... ../src/syntax/typing.nit:497,25
+        ../src/syntax/typing.nit:499,3--500,18
+          ../src/syntax/typing.nit:499,3--21
+            ../src/syntax/typing.nit:499,3
+              ../src/syntax/typing.nit:499,3
+              'v' ... ../src/syntax/typing.nit:499,3
+            'mark_unreash' ... ../src/syntax/typing.nit:499,5--16
+            ../src/syntax/typing.nit:499,18--21
+              'self' ... ../src/syntax/typing.nit:499,18--21
+          ../src/syntax/typing.nit:500,3--18
+            ../src/syntax/typing.nit:500,15
+            '_is_typed' ... ../src/syntax/typing.nit:500,3--11
+            '=' ... ../src/syntax/typing.nit:500,13
+            ../src/syntax/typing.nit:500,15--18
+              'true' ... ../src/syntax/typing.nit:500,15--18
+    ../src/syntax/typing.nit:504,1--544,52
+      ../src/syntax/typing.nit:504,1--505,0
+        '# An abstract control structure with feature escapable block
+' ... ../src/syntax/typing.nit:504,1--505,0
+      ../src/syntax/typing.nit:505,1
+      ../src/syntax/typing.nit:505,1--5
+        'class' ... ../src/syntax/typing.nit:505,1--5
+      'AAbsControl' ... ../src/syntax/typing.nit:505,7--17
+      ../src/syntax/typing.nit:506,2--12
+        'super' ... ../src/syntax/typing.nit:506,2--6
+        ../src/syntax/typing.nit:506,8--12
+          'AExpr' ... ../src/syntax/typing.nit:506,8--12
+      ../src/syntax/typing.nit:507,2--508,49
+        ../src/syntax/typing.nit:507,2--508,0
+          '# The corresponding escapable block
+' ... ../src/syntax/typing.nit:507,2--508,0
+        ../src/syntax/typing.nit:508,2--9
+          'readable' ... ../src/syntax/typing.nit:508,2--9
+        ../src/syntax/typing.nit:508,27
+        'var' ... ../src/syntax/typing.nit:508,11--13
+        '_escapable' ... ../src/syntax/typing.nit:508,15--24
+        ../src/syntax/typing.nit:508,27--49
+          'nullable' ... ../src/syntax/typing.nit:508,27--34
+          'EscapableBlock' ... ../src/syntax/typing.nit:508,36--49
+      ../src/syntax/typing.nit:510,2--540,18
+        ../src/syntax/typing.nit:510,2--511,0
+          '# Enter and process a control structure
+' ... ../src/syntax/typing.nit:510,2--511,0
+        ../src/syntax/typing.nit:511,2--8
+          'private' ... ../src/syntax/typing.nit:511,2--8
+        'fun' ... ../src/syntax/typing.nit:511,10--12
+        ../src/syntax/typing.nit:511,14--28
+          'process_control' ... ../src/syntax/typing.nit:511,14--28
+        ../src/syntax/typing.nit:511,30--113
+          ../src/syntax/typing.nit:511,30--45
+            'v' ... ../src/syntax/typing.nit:511,30
+            ../src/syntax/typing.nit:511,33--45
+              'TypingVisitor' ... ../src/syntax/typing.nit:511,33--45
+          ../src/syntax/typing.nit:511,48--72
+            'escapable' ... ../src/syntax/typing.nit:511,48--56
+            ../src/syntax/typing.nit:511,59--72
+              'EscapableBlock' ... ../src/syntax/typing.nit:511,59--72
+          ../src/syntax/typing.nit:511,75--98
+            'n_label' ... ../src/syntax/typing.nit:511,75--81
+            ../src/syntax/typing.nit:511,84--98
+              'nullable' ... ../src/syntax/typing.nit:511,84--91
+              'ALabel' ... ../src/syntax/typing.nit:511,93--98
+          ../src/syntax/typing.nit:511,101--113
+            'is_loop' ... ../src/syntax/typing.nit:511,101--107
+            ../src/syntax/typing.nit:511,110--113
+              'Bool' ... ../src/syntax/typing.nit:511,110--113
+        ../src/syntax/typing.nit:514,3--540,18
+          ../src/syntax/typing.nit:514,3--24
+            ../src/syntax/typing.nit:514,16
+            '_escapable' ... ../src/syntax/typing.nit:514,3--12
+            '=' ... ../src/syntax/typing.nit:514,14
+            ../src/syntax/typing.nit:514,16--24
+              ../src/syntax/typing.nit:514,16
+              'escapable' ... ../src/syntax/typing.nit:514,16--24
+          ../src/syntax/typing.nit:515,3--47
+            ../src/syntax/typing.nit:515,3--13
+              ../src/syntax/typing.nit:515,3
+                ../src/syntax/typing.nit:515,3
+                'v' ... ../src/syntax/typing.nit:515,3
+              'scope_ctx' ... ../src/syntax/typing.nit:515,5--13
+            'push_escapable' ... ../src/syntax/typing.nit:515,15--28
+            ../src/syntax/typing.nit:515,30--38
+              ../src/syntax/typing.nit:515,30
+              'escapable' ... ../src/syntax/typing.nit:515,30--38
+            ../src/syntax/typing.nit:515,41--47
+              ../src/syntax/typing.nit:515,41
+              'n_label' ... ../src/syntax/typing.nit:515,41--47
+          ../src/syntax/typing.nit:518,3--31
+            'var' ... ../src/syntax/typing.nit:518,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:518,7--18
+            '=' ... ../src/syntax/typing.nit:518,20
+            ../src/syntax/typing.nit:518,22--31
+              ../src/syntax/typing.nit:518,22
+                ../src/syntax/typing.nit:518,22
+                'v' ... ../src/syntax/typing.nit:518,22
+              'flow_ctx' ... ../src/syntax/typing.nit:518,24--31
+          ../src/syntax/typing.nit:519,3--41
+            'var' ... ../src/syntax/typing.nit:519,3--5
+            'old_base_flow_ctx' ... ../src/syntax/typing.nit:519,7--23
+            '=' ... ../src/syntax/typing.nit:519,25
+            ../src/syntax/typing.nit:519,27--41
+              ../src/syntax/typing.nit:519,27
+                ../src/syntax/typing.nit:519,27
+                'v' ... ../src/syntax/typing.nit:519,27
+              'base_flow_ctx' ... ../src/syntax/typing.nit:519,29--41
+          ../src/syntax/typing.nit:520,3--46
+            'if' ... ../src/syntax/typing.nit:520,3--4
+            ../src/syntax/typing.nit:520,6--12
+              ../src/syntax/typing.nit:520,6
+              'is_loop' ... ../src/syntax/typing.nit:520,6--12
+            ../src/syntax/typing.nit:520,19--46
+              ../src/syntax/typing.nit:520,19
+                ../src/syntax/typing.nit:520,19
+                'v' ... ../src/syntax/typing.nit:520,19
+              'base_flow_ctx' ... ../src/syntax/typing.nit:520,21--33
+              '=' ... ../src/syntax/typing.nit:520,35
+              ../src/syntax/typing.nit:520,37--46
+                ../src/syntax/typing.nit:520,37
+                  ../src/syntax/typing.nit:520,37
+                  'v' ... ../src/syntax/typing.nit:520,37
+                'flow_ctx' ... ../src/syntax/typing.nit:520,39--46
+          ../src/syntax/typing.nit:523,3--26
+            ../src/syntax/typing.nit:523,26
+            'process_control_inside' ... ../src/syntax/typing.nit:523,3--24
+            ../src/syntax/typing.nit:523,26
+              ../src/syntax/typing.nit:523,26
+              'v' ... ../src/syntax/typing.nit:523,26
+          ../src/syntax/typing.nit:526,3--527,47
+            'if' ... ../src/syntax/typing.nit:526,3--4
+            ../src/syntax/typing.nit:526,6--27
+              'not' ... ../src/syntax/typing.nit:526,6--8
+              ../src/syntax/typing.nit:526,10--27
+                ../src/syntax/typing.nit:526,10--19
+                  ../src/syntax/typing.nit:526,10
+                    ../src/syntax/typing.nit:526,10
+                    'v' ... ../src/syntax/typing.nit:526,10
+                  'flow_ctx' ... ../src/syntax/typing.nit:526,12--19
+                'unreash' ... ../src/syntax/typing.nit:526,21--27
+            ../src/syntax/typing.nit:527,4--47
+              ../src/syntax/typing.nit:527,4--47
+                ../src/syntax/typing.nit:527,4--32
+                  ../src/syntax/typing.nit:527,4--12
+                    ../src/syntax/typing.nit:527,4
+                    'escapable' ... ../src/syntax/typing.nit:527,4--12
+                  'break_flow_contexts' ... ../src/syntax/typing.nit:527,14--32
+                'add' ... ../src/syntax/typing.nit:527,34--36
+                ../src/syntax/typing.nit:527,38--47
+                  ../src/syntax/typing.nit:527,38
+                    ../src/syntax/typing.nit:527,38
+                    'v' ... ../src/syntax/typing.nit:527,38
+                  'flow_ctx' ... ../src/syntax/typing.nit:527,40--47
+          ../src/syntax/typing.nit:531,3--535,75
+            'if' ... ../src/syntax/typing.nit:531,3--4
+            ../src/syntax/typing.nit:531,6--43
+              ../src/syntax/typing.nit:531,6--34
+                ../src/syntax/typing.nit:531,6--14
+                  ../src/syntax/typing.nit:531,6
+                  'escapable' ... ../src/syntax/typing.nit:531,6--14
+                'break_flow_contexts' ... ../src/syntax/typing.nit:531,16--34
+              'is_empty' ... ../src/syntax/typing.nit:531,36--43
+            ../src/syntax/typing.nit:532,4--533,22
+              ../src/syntax/typing.nit:532,4--28
+                ../src/syntax/typing.nit:532,4
+                  ../src/syntax/typing.nit:532,4
+                  'v' ... ../src/syntax/typing.nit:532,4
+                'flow_ctx' ... ../src/syntax/typing.nit:532,6--13
+                '=' ... ../src/syntax/typing.nit:532,15
+                ../src/syntax/typing.nit:532,17--28
+                  ../src/syntax/typing.nit:532,17
+                  'old_flow_ctx' ... ../src/syntax/typing.nit:532,17--28
+              ../src/syntax/typing.nit:533,4--22
+                ../src/syntax/typing.nit:533,4
+                  ../src/syntax/typing.nit:533,4
+                  'v' ... ../src/syntax/typing.nit:533,4
+                'mark_unreash' ... ../src/syntax/typing.nit:533,6--17
+                ../src/syntax/typing.nit:533,19--22
+                  'self' ... ../src/syntax/typing.nit:533,19--22
+            ../src/syntax/typing.nit:535,4--75
+              ../src/syntax/typing.nit:535,4--75
+                ../src/syntax/typing.nit:535,4
+                  ../src/syntax/typing.nit:535,4
+                  'v' ... ../src/syntax/typing.nit:535,4
+                'flow_ctx' ... ../src/syntax/typing.nit:535,6--13
+                '=' ... ../src/syntax/typing.nit:535,15
+                ../src/syntax/typing.nit:535,17--75
+                  ../src/syntax/typing.nit:535,17--33
+                    ../src/syntax/typing.nit:535,17
+                    'old_base_flow_ctx' ... ../src/syntax/typing.nit:535,17--33
+                  'merge' ... ../src/syntax/typing.nit:535,35--39
+                  ../src/syntax/typing.nit:535,41--44
+                    'self' ... ../src/syntax/typing.nit:535,41--44
+                  ../src/syntax/typing.nit:535,47--75
+                    ../src/syntax/typing.nit:535,47--55
+                      ../src/syntax/typing.nit:535,47
+                      'escapable' ... ../src/syntax/typing.nit:535,47--55
+                    'break_flow_contexts' ... ../src/syntax/typing.nit:535,57--75
+          ../src/syntax/typing.nit:538,3--53
+            'if' ... ../src/syntax/typing.nit:538,3--4
+            ../src/syntax/typing.nit:538,6--12
+              ../src/syntax/typing.nit:538,6
+              'is_loop' ... ../src/syntax/typing.nit:538,6--12
+            ../src/syntax/typing.nit:538,19--53
+              ../src/syntax/typing.nit:538,19
+                ../src/syntax/typing.nit:538,19
+                'v' ... ../src/syntax/typing.nit:538,19
+              'base_flow_ctx' ... ../src/syntax/typing.nit:538,21--33
+              '=' ... ../src/syntax/typing.nit:538,35
+              ../src/syntax/typing.nit:538,37--53
+                ../src/syntax/typing.nit:538,37
+                'old_base_flow_ctx' ... ../src/syntax/typing.nit:538,37--53
+          ../src/syntax/typing.nit:539,3--17
+            ../src/syntax/typing.nit:539,3--13
+              ../src/syntax/typing.nit:539,3
+                ../src/syntax/typing.nit:539,3
+                'v' ... ../src/syntax/typing.nit:539,3
+              'scope_ctx' ... ../src/syntax/typing.nit:539,5--13
+            'pop' ... ../src/syntax/typing.nit:539,15--17
+          ../src/syntax/typing.nit:540,3--18
+            ../src/syntax/typing.nit:540,15
+            '_is_typed' ... ../src/syntax/typing.nit:540,3--11
+            '=' ... ../src/syntax/typing.nit:540,13
+            ../src/syntax/typing.nit:540,15--18
+              'true' ... ../src/syntax/typing.nit:540,15--18
+      ../src/syntax/typing.nit:543,2--544,52
+        ../src/syntax/typing.nit:543,2--544,0
+          '# What to do inside the control block?
+' ... ../src/syntax/typing.nit:543,2--544,0
+        ../src/syntax/typing.nit:544,2--8
+          'private' ... ../src/syntax/typing.nit:544,2--8
+        'fun' ... ../src/syntax/typing.nit:544,10--12
+        ../src/syntax/typing.nit:544,14--35
+          'process_control_inside' ... ../src/syntax/typing.nit:544,14--35
+        ../src/syntax/typing.nit:544,37--52
+          ../src/syntax/typing.nit:544,37--52
+            'v' ... ../src/syntax/typing.nit:544,37
+            ../src/syntax/typing.nit:544,40--52
+              'TypingVisitor' ... ../src/syntax/typing.nit:544,40--52
+    ../src/syntax/typing.nit:547,1--556,29
+      'redef' ... ../src/syntax/typing.nit:547,1--5
+      ../src/syntax/typing.nit:547,7
+      ../src/syntax/typing.nit:547,7--11
+        'class' ... ../src/syntax/typing.nit:547,7--11
+      'ADoExpr' ... ../src/syntax/typing.nit:547,13--19
+      ../src/syntax/typing.nit:548,2--18
+        'super' ... ../src/syntax/typing.nit:548,2--6
+        ../src/syntax/typing.nit:548,8--18
+          'AAbsControl' ... ../src/syntax/typing.nit:548,8--18
+      ../src/syntax/typing.nit:549,2--551,70
+        'redef' ... ../src/syntax/typing.nit:549,2--6
+        ../src/syntax/typing.nit:549,12
+        'fun' ... ../src/syntax/typing.nit:549,8--10
+        ../src/syntax/typing.nit:549,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:549,12--24
+        ../src/syntax/typing.nit:549,26
+          ../src/syntax/typing.nit:549,26
+            'v' ... ../src/syntax/typing.nit:549,26
+        ../src/syntax/typing.nit:551,3--70
+          ../src/syntax/typing.nit:551,3--70
+            ../src/syntax/typing.nit:551,19
+            'process_control' ... ../src/syntax/typing.nit:551,3--17
+            ../src/syntax/typing.nit:551,19
+              ../src/syntax/typing.nit:551,19
+              'v' ... ../src/syntax/typing.nit:551,19
+            ../src/syntax/typing.nit:551,22--53
+              'new' ... ../src/syntax/typing.nit:551,22--24
+              ../src/syntax/typing.nit:551,26--48
+                'BreakOnlyEscapableBlock' ... ../src/syntax/typing.nit:551,26--48
+              ../src/syntax/typing.nit:551,50--53
+                'self' ... ../src/syntax/typing.nit:551,50--53
+            ../src/syntax/typing.nit:551,57--63
+              ../src/syntax/typing.nit:551,57
+              'n_label' ... ../src/syntax/typing.nit:551,57--63
+            ../src/syntax/typing.nit:551,66--70
+              'false' ... ../src/syntax/typing.nit:551,66--70
+      ../src/syntax/typing.nit:554,2--556,29
+        'redef' ... ../src/syntax/typing.nit:554,2--6
+        ../src/syntax/typing.nit:554,12
+        'fun' ... ../src/syntax/typing.nit:554,8--10
+        ../src/syntax/typing.nit:554,12--33
+          'process_control_inside' ... ../src/syntax/typing.nit:554,12--33
+        ../src/syntax/typing.nit:554,35
+          ../src/syntax/typing.nit:554,35
+            'v' ... ../src/syntax/typing.nit:554,35
+        ../src/syntax/typing.nit:556,3--29
+          ../src/syntax/typing.nit:556,3--29
+            ../src/syntax/typing.nit:556,3
+              ../src/syntax/typing.nit:556,3
+              'v' ... ../src/syntax/typing.nit:556,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:556,5--21
+            ../src/syntax/typing.nit:556,23--29
+              ../src/syntax/typing.nit:556,23
+              'n_block' ... ../src/syntax/typing.nit:556,23--29
+    ../src/syntax/typing.nit:560,1--585,18
+      'redef' ... ../src/syntax/typing.nit:560,1--5
+      ../src/syntax/typing.nit:560,7
+      ../src/syntax/typing.nit:560,7--11
+        'class' ... ../src/syntax/typing.nit:560,7--11
+      'AIfExpr' ... ../src/syntax/typing.nit:560,13--19
+      ../src/syntax/typing.nit:561,2--585,18
+        'redef' ... ../src/syntax/typing.nit:561,2--6
+        ../src/syntax/typing.nit:561,12
+        'fun' ... ../src/syntax/typing.nit:561,8--10
+        ../src/syntax/typing.nit:561,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:561,12--24
+        ../src/syntax/typing.nit:561,26
+          ../src/syntax/typing.nit:561,26
+            'v' ... ../src/syntax/typing.nit:561,26
+        ../src/syntax/typing.nit:563,3--585,18
+          ../src/syntax/typing.nit:563,3--22
+            ../src/syntax/typing.nit:563,3
+              ../src/syntax/typing.nit:563,3
+              'v' ... ../src/syntax/typing.nit:563,3
+            'enter_visit' ... ../src/syntax/typing.nit:563,5--15
+            ../src/syntax/typing.nit:563,17--22
+              ../src/syntax/typing.nit:563,17
+              'n_expr' ... ../src/syntax/typing.nit:563,17--22
+          ../src/syntax/typing.nit:564,3--42
+            ../src/syntax/typing.nit:564,3
+              ../src/syntax/typing.nit:564,3
+              'v' ... ../src/syntax/typing.nit:564,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:564,5--22
+            ../src/syntax/typing.nit:564,24--29
+              ../src/syntax/typing.nit:564,24
+              'n_expr' ... ../src/syntax/typing.nit:564,24--29
+            ../src/syntax/typing.nit:564,32--42
+              ../src/syntax/typing.nit:564,32
+                ../src/syntax/typing.nit:564,32
+                'v' ... ../src/syntax/typing.nit:564,32
+              'type_bool' ... ../src/syntax/typing.nit:564,34--42
+          ../src/syntax/typing.nit:567,3--31
+            'var' ... ../src/syntax/typing.nit:567,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:567,7--18
+            '=' ... ../src/syntax/typing.nit:567,20
+            ../src/syntax/typing.nit:567,22--31
+              ../src/syntax/typing.nit:567,22
+                ../src/syntax/typing.nit:567,22
+                'v' ... ../src/syntax/typing.nit:567,22
+              'flow_ctx' ... ../src/syntax/typing.nit:567,24--31
+          ../src/syntax/typing.nit:568,3--31
+            ../src/syntax/typing.nit:568,3
+              ../src/syntax/typing.nit:568,3
+              'v' ... ../src/syntax/typing.nit:568,3
+            'use_if_true_flow_ctx' ... ../src/syntax/typing.nit:568,5--24
+            ../src/syntax/typing.nit:568,26--31
+              ../src/syntax/typing.nit:568,26
+              'n_expr' ... ../src/syntax/typing.nit:568,26--31
+          ../src/syntax/typing.nit:571,3--28
+            ../src/syntax/typing.nit:571,3
+              ../src/syntax/typing.nit:571,3
+              'v' ... ../src/syntax/typing.nit:571,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:571,5--21
+            ../src/syntax/typing.nit:571,23--28
+              ../src/syntax/typing.nit:571,23
+              'n_then' ... ../src/syntax/typing.nit:571,23--28
+          ../src/syntax/typing.nit:574,3--32
+            'var' ... ../src/syntax/typing.nit:574,3--5
+            'then_flow_ctx' ... ../src/syntax/typing.nit:574,7--19
+            '=' ... ../src/syntax/typing.nit:574,21
+            ../src/syntax/typing.nit:574,23--32
+              ../src/syntax/typing.nit:574,23
+                ../src/syntax/typing.nit:574,23
+                'v' ... ../src/syntax/typing.nit:574,23
+              'flow_ctx' ... ../src/syntax/typing.nit:574,25--32
+          ../src/syntax/typing.nit:577,3--27
+            ../src/syntax/typing.nit:577,3
+              ../src/syntax/typing.nit:577,3
+              'v' ... ../src/syntax/typing.nit:577,3
+            'flow_ctx' ... ../src/syntax/typing.nit:577,5--12
+            '=' ... ../src/syntax/typing.nit:577,14
+            ../src/syntax/typing.nit:577,16--27
+              ../src/syntax/typing.nit:577,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:577,16--27
+          ../src/syntax/typing.nit:578,3--32
+            ../src/syntax/typing.nit:578,3
+              ../src/syntax/typing.nit:578,3
+              'v' ... ../src/syntax/typing.nit:578,3
+            'use_if_false_flow_ctx' ... ../src/syntax/typing.nit:578,5--25
+            ../src/syntax/typing.nit:578,27--32
+              ../src/syntax/typing.nit:578,27
+              'n_expr' ... ../src/syntax/typing.nit:578,27--32
+          ../src/syntax/typing.nit:581,3--28
+            ../src/syntax/typing.nit:581,3
+              ../src/syntax/typing.nit:581,3
+              'v' ... ../src/syntax/typing.nit:581,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:581,5--21
+            ../src/syntax/typing.nit:581,23--28
+              ../src/syntax/typing.nit:581,23
+              'n_else' ... ../src/syntax/typing.nit:581,23--28
+          ../src/syntax/typing.nit:584,3--74
+            ../src/syntax/typing.nit:584,3
+              ../src/syntax/typing.nit:584,3
+              'v' ... ../src/syntax/typing.nit:584,3
+            'flow_ctx' ... ../src/syntax/typing.nit:584,5--12
+            '=' ... ../src/syntax/typing.nit:584,14
+            ../src/syntax/typing.nit:584,16--74
+              ../src/syntax/typing.nit:584,16--30
+                ../src/syntax/typing.nit:584,16
+                  ../src/syntax/typing.nit:584,16
+                  'v' ... ../src/syntax/typing.nit:584,16
+                'base_flow_ctx' ... ../src/syntax/typing.nit:584,18--30
+              'merge_reash' ... ../src/syntax/typing.nit:584,32--42
+              ../src/syntax/typing.nit:584,44--47
+                'self' ... ../src/syntax/typing.nit:584,44--47
+              ../src/syntax/typing.nit:584,50--62
+                ../src/syntax/typing.nit:584,50
+                'then_flow_ctx' ... ../src/syntax/typing.nit:584,50--62
+              ../src/syntax/typing.nit:584,65--74
+                ../src/syntax/typing.nit:584,65
+                  ../src/syntax/typing.nit:584,65
+                  'v' ... ../src/syntax/typing.nit:584,65
+                'flow_ctx' ... ../src/syntax/typing.nit:584,67--74
+          ../src/syntax/typing.nit:585,3--18
+            ../src/syntax/typing.nit:585,15
+            '_is_typed' ... ../src/syntax/typing.nit:585,3--11
+            '=' ... ../src/syntax/typing.nit:585,13
+            ../src/syntax/typing.nit:585,15--18
+              'true' ... ../src/syntax/typing.nit:585,15--18
+    ../src/syntax/typing.nit:589,1--617,46
+      'redef' ... ../src/syntax/typing.nit:589,1--5
+      ../src/syntax/typing.nit:589,7
+      ../src/syntax/typing.nit:589,7--11
+        'class' ... ../src/syntax/typing.nit:589,7--11
+      'AWhileExpr' ... ../src/syntax/typing.nit:589,13--22
+      ../src/syntax/typing.nit:590,2--18
+        'super' ... ../src/syntax/typing.nit:590,2--6
+        ../src/syntax/typing.nit:590,8--18
+          'AAbsControl' ... ../src/syntax/typing.nit:590,8--18
+      ../src/syntax/typing.nit:591,2--593,60
+        'redef' ... ../src/syntax/typing.nit:591,2--6
+        ../src/syntax/typing.nit:591,12
+        'fun' ... ../src/syntax/typing.nit:591,8--10
+        ../src/syntax/typing.nit:591,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:591,12--24
+        ../src/syntax/typing.nit:591,26
+          ../src/syntax/typing.nit:591,26
+            'v' ... ../src/syntax/typing.nit:591,26
+        ../src/syntax/typing.nit:593,3--60
+          ../src/syntax/typing.nit:593,3--60
+            ../src/syntax/typing.nit:593,19
+            'process_control' ... ../src/syntax/typing.nit:593,3--17
+            ../src/syntax/typing.nit:593,19
+              ../src/syntax/typing.nit:593,19
+              'v' ... ../src/syntax/typing.nit:593,19
+            ../src/syntax/typing.nit:593,22--44
+              'new' ... ../src/syntax/typing.nit:593,22--24
+              ../src/syntax/typing.nit:593,26--39
+                'EscapableBlock' ... ../src/syntax/typing.nit:593,26--39
+              ../src/syntax/typing.nit:593,41--44
+                'self' ... ../src/syntax/typing.nit:593,41--44
+            ../src/syntax/typing.nit:593,48--54
+              ../src/syntax/typing.nit:593,48
+              'n_label' ... ../src/syntax/typing.nit:593,48--54
+            ../src/syntax/typing.nit:593,57--60
+              'true' ... ../src/syntax/typing.nit:593,57--60
+      ../src/syntax/typing.nit:596,2--617,46
+        'redef' ... ../src/syntax/typing.nit:596,2--6
+        ../src/syntax/typing.nit:596,12
+        'fun' ... ../src/syntax/typing.nit:596,8--10
+        ../src/syntax/typing.nit:596,12--33
+          'process_control_inside' ... ../src/syntax/typing.nit:596,12--33
+        ../src/syntax/typing.nit:596,35
+          ../src/syntax/typing.nit:596,35
+            'v' ... ../src/syntax/typing.nit:596,35
+        ../src/syntax/typing.nit:598,3--617,46
+          ../src/syntax/typing.nit:598,3--31
+            'var' ... ../src/syntax/typing.nit:598,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:598,7--18
+            '=' ... ../src/syntax/typing.nit:598,20
+            ../src/syntax/typing.nit:598,22--31
+              ../src/syntax/typing.nit:598,22
+                ../src/syntax/typing.nit:598,22
+                'v' ... ../src/syntax/typing.nit:598,22
+              'flow_ctx' ... ../src/syntax/typing.nit:598,24--31
+          ../src/syntax/typing.nit:601,3--22
+            ../src/syntax/typing.nit:601,3
+              ../src/syntax/typing.nit:601,3
+              'v' ... ../src/syntax/typing.nit:601,3
+            'enter_visit' ... ../src/syntax/typing.nit:601,5--15
+            ../src/syntax/typing.nit:601,17--22
+              ../src/syntax/typing.nit:601,17
+              'n_expr' ... ../src/syntax/typing.nit:601,17--22
+          ../src/syntax/typing.nit:602,3--42
+            ../src/syntax/typing.nit:602,3
+              ../src/syntax/typing.nit:602,3
+              'v' ... ../src/syntax/typing.nit:602,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:602,5--22
+            ../src/syntax/typing.nit:602,24--29
+              ../src/syntax/typing.nit:602,24
+              'n_expr' ... ../src/syntax/typing.nit:602,24--29
+            ../src/syntax/typing.nit:602,32--42
+              ../src/syntax/typing.nit:602,32
+                ../src/syntax/typing.nit:602,32
+                'v' ... ../src/syntax/typing.nit:602,32
+              'type_bool' ... ../src/syntax/typing.nit:602,34--42
+          ../src/syntax/typing.nit:604,3--605,68
+            'if' ... ../src/syntax/typing.nit:604,3--4
+            ../src/syntax/typing.nit:604,6--25
+              ../src/syntax/typing.nit:604,6--11
+                ../src/syntax/typing.nit:604,6
+                'n_expr' ... ../src/syntax/typing.nit:604,6--11
+              ../src/syntax/typing.nit:604,17--25
+                'ATrueExpr' ... ../src/syntax/typing.nit:604,17--25
+            ../src/syntax/typing.nit:605,4--68
+              ../src/syntax/typing.nit:605,4--68
+                ../src/syntax/typing.nit:605,4
+                  ../src/syntax/typing.nit:605,4
+                  'v' ... ../src/syntax/typing.nit:605,4
+                'warning' ... ../src/syntax/typing.nit:605,6--12
+                ../src/syntax/typing.nit:605,14--17
+                  'self' ... ../src/syntax/typing.nit:605,14--17
+                ../src/syntax/typing.nit:605,20--68
+                  '"Warning: use 'loop' instead of 'while true do'."' ... ../src/syntax/typing.nit:605,20--68
+          ../src/syntax/typing.nit:609,3--31
+            ../src/syntax/typing.nit:609,3
+              ../src/syntax/typing.nit:609,3
+              'v' ... ../src/syntax/typing.nit:609,3
+            'use_if_true_flow_ctx' ... ../src/syntax/typing.nit:609,5--24
+            ../src/syntax/typing.nit:609,26--31
+              ../src/syntax/typing.nit:609,26
+              'n_expr' ... ../src/syntax/typing.nit:609,26--31
+          ../src/syntax/typing.nit:612,3--29
+            ../src/syntax/typing.nit:612,3
+              ../src/syntax/typing.nit:612,3
+              'v' ... ../src/syntax/typing.nit:612,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:612,5--21
+            ../src/syntax/typing.nit:612,23--29
+              ../src/syntax/typing.nit:612,23
+              'n_block' ... ../src/syntax/typing.nit:612,23--29
+          ../src/syntax/typing.nit:615,3--27
+            ../src/syntax/typing.nit:615,3
+              ../src/syntax/typing.nit:615,3
+              'v' ... ../src/syntax/typing.nit:615,3
+            'flow_ctx' ... ../src/syntax/typing.nit:615,5--12
+            '=' ... ../src/syntax/typing.nit:615,14
+            ../src/syntax/typing.nit:615,16--27
+              ../src/syntax/typing.nit:615,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:615,16--27
+          ../src/syntax/typing.nit:616,3--32
+            ../src/syntax/typing.nit:616,3
+              ../src/syntax/typing.nit:616,3
+              'v' ... ../src/syntax/typing.nit:616,3
+            'use_if_false_flow_ctx' ... ../src/syntax/typing.nit:616,5--25
+            ../src/syntax/typing.nit:616,27--32
+              ../src/syntax/typing.nit:616,27
+              'n_expr' ... ../src/syntax/typing.nit:616,27--32
+          ../src/syntax/typing.nit:617,3--46
+            ../src/syntax/typing.nit:617,3--31
+              ../src/syntax/typing.nit:617,3--11
+                ../src/syntax/typing.nit:617,3
+                'escapable' ... ../src/syntax/typing.nit:617,3--11
+              'break_flow_contexts' ... ../src/syntax/typing.nit:617,13--31
+            'add' ... ../src/syntax/typing.nit:617,33--35
+            ../src/syntax/typing.nit:617,37--46
+              ../src/syntax/typing.nit:617,37
+                ../src/syntax/typing.nit:617,37
+                'v' ... ../src/syntax/typing.nit:617,37
+              'flow_ctx' ... ../src/syntax/typing.nit:617,39--46
+    ../src/syntax/typing.nit:621,1--634,21
+      'redef' ... ../src/syntax/typing.nit:621,1--5
+      ../src/syntax/typing.nit:621,7
+      ../src/syntax/typing.nit:621,7--11
+        'class' ... ../src/syntax/typing.nit:621,7--11
+      'ALoopExpr' ... ../src/syntax/typing.nit:621,13--21
+      ../src/syntax/typing.nit:622,2--18
+        'super' ... ../src/syntax/typing.nit:622,2--6
+        ../src/syntax/typing.nit:622,8--18
+          'AAbsControl' ... ../src/syntax/typing.nit:622,8--18
+      ../src/syntax/typing.nit:623,2--625,60
+        'redef' ... ../src/syntax/typing.nit:623,2--6
+        ../src/syntax/typing.nit:623,12
+        'fun' ... ../src/syntax/typing.nit:623,8--10
+        ../src/syntax/typing.nit:623,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:623,12--24
+        ../src/syntax/typing.nit:623,26
+          ../src/syntax/typing.nit:623,26
+            'v' ... ../src/syntax/typing.nit:623,26
+        ../src/syntax/typing.nit:625,3--60
+          ../src/syntax/typing.nit:625,3--60
+            ../src/syntax/typing.nit:625,19
+            'process_control' ... ../src/syntax/typing.nit:625,3--17
+            ../src/syntax/typing.nit:625,19
+              ../src/syntax/typing.nit:625,19
+              'v' ... ../src/syntax/typing.nit:625,19
+            ../src/syntax/typing.nit:625,22--44
+              'new' ... ../src/syntax/typing.nit:625,22--24
+              ../src/syntax/typing.nit:625,26--39
+                'EscapableBlock' ... ../src/syntax/typing.nit:625,26--39
+              ../src/syntax/typing.nit:625,41--44
+                'self' ... ../src/syntax/typing.nit:625,41--44
+            ../src/syntax/typing.nit:625,48--54
+              ../src/syntax/typing.nit:625,48
+              'n_label' ... ../src/syntax/typing.nit:625,48--54
+            ../src/syntax/typing.nit:625,57--60
+              'true' ... ../src/syntax/typing.nit:625,57--60
+      ../src/syntax/typing.nit:628,2--634,21
+        'redef' ... ../src/syntax/typing.nit:628,2--6
+        ../src/syntax/typing.nit:628,12
+        'fun' ... ../src/syntax/typing.nit:628,8--10
+        ../src/syntax/typing.nit:628,12--33
+          'process_control_inside' ... ../src/syntax/typing.nit:628,12--33
+        ../src/syntax/typing.nit:628,35
+          ../src/syntax/typing.nit:628,35
+            'v' ... ../src/syntax/typing.nit:628,35
+        ../src/syntax/typing.nit:631,3--634,21
+          ../src/syntax/typing.nit:631,3--29
+            ../src/syntax/typing.nit:631,3
+              ../src/syntax/typing.nit:631,3
+              'v' ... ../src/syntax/typing.nit:631,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:631,5--21
+            ../src/syntax/typing.nit:631,23--29
+              ../src/syntax/typing.nit:631,23
+              'n_block' ... ../src/syntax/typing.nit:631,23--29
+          ../src/syntax/typing.nit:634,3--21
+            ../src/syntax/typing.nit:634,3
+              ../src/syntax/typing.nit:634,3
+              'v' ... ../src/syntax/typing.nit:634,3
+            'mark_unreash' ... ../src/syntax/typing.nit:634,5--16
+            ../src/syntax/typing.nit:634,18--21
+              'self' ... ../src/syntax/typing.nit:634,18--21
+    ../src/syntax/typing.nit:638,1--717,24
+      'redef' ... ../src/syntax/typing.nit:638,1--5
+      ../src/syntax/typing.nit:638,7
+      ../src/syntax/typing.nit:638,7--11
+        'class' ... ../src/syntax/typing.nit:638,7--11
+      'AForExpr' ... ../src/syntax/typing.nit:638,13--20
+      ../src/syntax/typing.nit:639,2--18
+        'super' ... ../src/syntax/typing.nit:639,2--6
+        ../src/syntax/typing.nit:639,8--18
+          'AAbsControl' ... ../src/syntax/typing.nit:639,8--18
+      ../src/syntax/typing.nit:640,2--44
+        ../src/syntax/typing.nit:640,33
+        'var' ... ../src/syntax/typing.nit:640,2--4
+        '_variables' ... ../src/syntax/typing.nit:640,6--15
+        ../src/syntax/typing.nit:640,18--44
+          'nullable' ... ../src/syntax/typing.nit:640,18--25
+          'Array' ... ../src/syntax/typing.nit:640,27--31
+          ../src/syntax/typing.nit:640,33--44
+            'AutoVariable' ... ../src/syntax/typing.nit:640,33--44
+      ../src/syntax/typing.nit:641,2--53
+        'redef' ... ../src/syntax/typing.nit:641,2--6
+        ../src/syntax/typing.nit:641,12
+        'fun' ... ../src/syntax/typing.nit:641,8--10
+        ../src/syntax/typing.nit:641,12--20
+          'variables' ... ../src/syntax/typing.nit:641,12--20
+        ../src/syntax/typing.nit:641,32
+        ../src/syntax/typing.nit:641,25--53
+          'return' ... ../src/syntax/typing.nit:641,25--30
+          ../src/syntax/typing.nit:641,32--53
+            ../src/syntax/typing.nit:641,32--41
+              ../src/syntax/typing.nit:641,32
+              '_variables' ... ../src/syntax/typing.nit:641,32--41
+            'as' ... ../src/syntax/typing.nit:641,43--44
+            'not' ... ../src/syntax/typing.nit:641,46--48
+            'null' ... ../src/syntax/typing.nit:641,50--53
+      ../src/syntax/typing.nit:643,2--645,60
+        'redef' ... ../src/syntax/typing.nit:643,2--6
+        ../src/syntax/typing.nit:643,12
+        'fun' ... ../src/syntax/typing.nit:643,8--10
+        ../src/syntax/typing.nit:643,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:643,12--24
+        ../src/syntax/typing.nit:643,26
+          ../src/syntax/typing.nit:643,26
+            'v' ... ../src/syntax/typing.nit:643,26
+        ../src/syntax/typing.nit:645,3--60
+          ../src/syntax/typing.nit:645,3--60
+            ../src/syntax/typing.nit:645,19
+            'process_control' ... ../src/syntax/typing.nit:645,3--17
+            ../src/syntax/typing.nit:645,19
+              ../src/syntax/typing.nit:645,19
+              'v' ... ../src/syntax/typing.nit:645,19
+            ../src/syntax/typing.nit:645,22--44
+              'new' ... ../src/syntax/typing.nit:645,22--24
+              ../src/syntax/typing.nit:645,26--39
+                'EscapableBlock' ... ../src/syntax/typing.nit:645,26--39
+              ../src/syntax/typing.nit:645,41--44
+                'self' ... ../src/syntax/typing.nit:645,41--44
+            ../src/syntax/typing.nit:645,48--54
+              ../src/syntax/typing.nit:645,48
+              'n_label' ... ../src/syntax/typing.nit:645,48--54
+            ../src/syntax/typing.nit:645,57--60
+              'true' ... ../src/syntax/typing.nit:645,57--60
+      ../src/syntax/typing.nit:648,2--660,17
+        'redef' ... ../src/syntax/typing.nit:648,2--6
+        ../src/syntax/typing.nit:648,12
+        'fun' ... ../src/syntax/typing.nit:648,8--10
+        ../src/syntax/typing.nit:648,12--33
+          'process_control_inside' ... ../src/syntax/typing.nit:648,12--33
+        ../src/syntax/typing.nit:648,35
+          ../src/syntax/typing.nit:648,35
+            'v' ... ../src/syntax/typing.nit:648,35
+        ../src/syntax/typing.nit:650,3--660,17
+          ../src/syntax/typing.nit:650,3--23
+            ../src/syntax/typing.nit:650,3--13
+              ../src/syntax/typing.nit:650,3
+                ../src/syntax/typing.nit:650,3
+                'v' ... ../src/syntax/typing.nit:650,3
+              'scope_ctx' ... ../src/syntax/typing.nit:650,5--13
+            'push' ... ../src/syntax/typing.nit:650,15--18
+            ../src/syntax/typing.nit:650,20--23
+              'self' ... ../src/syntax/typing.nit:650,20--23
+          ../src/syntax/typing.nit:651,3--31
+            'var' ... ../src/syntax/typing.nit:651,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:651,7--18
+            '=' ... ../src/syntax/typing.nit:651,20
+            ../src/syntax/typing.nit:651,22--31
+              ../src/syntax/typing.nit:651,22
+                ../src/syntax/typing.nit:651,22
+                'v' ... ../src/syntax/typing.nit:651,22
+              'flow_ctx' ... ../src/syntax/typing.nit:651,24--31
+          ../src/syntax/typing.nit:653,3--13
+            ../src/syntax/typing.nit:653,13
+            'do_typing' ... ../src/syntax/typing.nit:653,3--11
+            ../src/syntax/typing.nit:653,13
+              ../src/syntax/typing.nit:653,13
+              'v' ... ../src/syntax/typing.nit:653,13
+          ../src/syntax/typing.nit:656,3--29
+            ../src/syntax/typing.nit:656,3
+              ../src/syntax/typing.nit:656,3
+              'v' ... ../src/syntax/typing.nit:656,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:656,5--21
+            ../src/syntax/typing.nit:656,23--29
+              ../src/syntax/typing.nit:656,23
+              'n_block' ... ../src/syntax/typing.nit:656,23--29
+          ../src/syntax/typing.nit:659,3--27
+            ../src/syntax/typing.nit:659,3
+              ../src/syntax/typing.nit:659,3
+              'v' ... ../src/syntax/typing.nit:659,3
+            'flow_ctx' ... ../src/syntax/typing.nit:659,5--12
+            '=' ... ../src/syntax/typing.nit:659,14
+            ../src/syntax/typing.nit:659,16--27
+              ../src/syntax/typing.nit:659,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:659,16--27
+          ../src/syntax/typing.nit:660,3--17
+            ../src/syntax/typing.nit:660,3--13
+              ../src/syntax/typing.nit:660,3
+                ../src/syntax/typing.nit:660,3
+                'v' ... ../src/syntax/typing.nit:660,3
+              'scope_ctx' ... ../src/syntax/typing.nit:660,5--13
+            'pop' ... ../src/syntax/typing.nit:660,15--17
+      ../src/syntax/typing.nit:663,2--717,24
+        ../src/syntax/typing.nit:663,2--8
+          'private' ... ../src/syntax/typing.nit:663,2--8
+        'fun' ... ../src/syntax/typing.nit:663,10--12
+        ../src/syntax/typing.nit:663,14--22
+          'do_typing' ... ../src/syntax/typing.nit:663,14--22
+        ../src/syntax/typing.nit:663,24--39
+          ../src/syntax/typing.nit:663,24--39
+            'v' ... ../src/syntax/typing.nit:663,24
+            ../src/syntax/typing.nit:663,27--39
+              'TypingVisitor' ... ../src/syntax/typing.nit:663,27--39
+        ../src/syntax/typing.nit:666,3--717,24
+          ../src/syntax/typing.nit:666,3--34
+            'var' ... ../src/syntax/typing.nit:666,3--5
+            'vas' ... ../src/syntax/typing.nit:666,7--9
+            '=' ... ../src/syntax/typing.nit:666,11
+            ../src/syntax/typing.nit:666,13--34
+              'new' ... ../src/syntax/typing.nit:666,13--15
+              ../src/syntax/typing.nit:666,17--34
+                'Array' ... ../src/syntax/typing.nit:666,17--21
+                ../src/syntax/typing.nit:666,23--34
+                  'AutoVariable' ... ../src/syntax/typing.nit:666,23--34
+          ../src/syntax/typing.nit:667,3--670,13
+            'for' ... ../src/syntax/typing.nit:667,3--5
+            'n_id' ... ../src/syntax/typing.nit:667,7--10
+            ../src/syntax/typing.nit:667,15--19
+              ../src/syntax/typing.nit:667,15
+              'n_ids' ... ../src/syntax/typing.nit:667,15--19
+            'do' ... ../src/syntax/typing.nit:667,21--22
+            ../src/syntax/typing.nit:668,4--670,13
+              ../src/syntax/typing.nit:668,4--49
+                'var' ... ../src/syntax/typing.nit:668,4--6
+                'va' ... ../src/syntax/typing.nit:668,8--9
+                '=' ... ../src/syntax/typing.nit:668,11
+                ../src/syntax/typing.nit:668,13--49
+                  'new' ... ../src/syntax/typing.nit:668,13--15
+                  ../src/syntax/typing.nit:668,17--28
+                    'AutoVariable' ... ../src/syntax/typing.nit:668,17--28
+                  ../src/syntax/typing.nit:668,30--43
+                    ../src/syntax/typing.nit:668,30--33
+                      ../src/syntax/typing.nit:668,30
+                      'n_id' ... ../src/syntax/typing.nit:668,30--33
+                    'to_symbol' ... ../src/syntax/typing.nit:668,35--43
+                  ../src/syntax/typing.nit:668,46--49
+                    ../src/syntax/typing.nit:668,46
+                    'n_id' ... ../src/syntax/typing.nit:668,46--49
+              ../src/syntax/typing.nit:669,4--30
+                ../src/syntax/typing.nit:669,4--14
+                  ../src/syntax/typing.nit:669,4
+                    ../src/syntax/typing.nit:669,4
+                    'v' ... ../src/syntax/typing.nit:669,4
+                  'scope_ctx' ... ../src/syntax/typing.nit:669,6--14
+                'add_variable' ... ../src/syntax/typing.nit:669,16--27
+                ../src/syntax/typing.nit:669,29--30
+                  ../src/syntax/typing.nit:669,29
+                  'va' ... ../src/syntax/typing.nit:669,29--30
+              ../src/syntax/typing.nit:670,4--13
+                ../src/syntax/typing.nit:670,4--6
+                  ../src/syntax/typing.nit:670,4
+                  'vas' ... ../src/syntax/typing.nit:670,4--6
+                'add' ... ../src/syntax/typing.nit:670,8--10
+                ../src/syntax/typing.nit:670,12--13
+                  ../src/syntax/typing.nit:670,12
+                  'va' ... ../src/syntax/typing.nit:670,12--13
+          ../src/syntax/typing.nit:672,3--18
+            ../src/syntax/typing.nit:672,16
+            '_variables' ... ../src/syntax/typing.nit:672,3--12
+            '=' ... ../src/syntax/typing.nit:672,14
+            ../src/syntax/typing.nit:672,16--18
+              ../src/syntax/typing.nit:672,16
+              'vas' ... ../src/syntax/typing.nit:672,16--18
+          ../src/syntax/typing.nit:675,3--22
+            ../src/syntax/typing.nit:675,3
+              ../src/syntax/typing.nit:675,3
+              'v' ... ../src/syntax/typing.nit:675,3
+            'enter_visit' ... ../src/syntax/typing.nit:675,5--15
+            ../src/syntax/typing.nit:675,17--22
+              ../src/syntax/typing.nit:675,17
+              'n_expr' ... ../src/syntax/typing.nit:675,17--22
+          ../src/syntax/typing.nit:676,3--41
+            'if' ... ../src/syntax/typing.nit:676,3--4
+            ../src/syntax/typing.nit:676,6--28
+              'not' ... ../src/syntax/typing.nit:676,6--8
+              ../src/syntax/typing.nit:676,10--28
+                ../src/syntax/typing.nit:676,10
+                  ../src/syntax/typing.nit:676,10
+                  'v' ... ../src/syntax/typing.nit:676,10
+                'check_expr' ... ../src/syntax/typing.nit:676,12--21
+                ../src/syntax/typing.nit:676,23--28
+                  ../src/syntax/typing.nit:676,23
+                  'n_expr' ... ../src/syntax/typing.nit:676,23--28
+            ../src/syntax/typing.nit:676,36--41
+              'return' ... ../src/syntax/typing.nit:676,36--41
+          ../src/syntax/typing.nit:677,3--30
+            'var' ... ../src/syntax/typing.nit:677,3--5
+            'expr_type' ... ../src/syntax/typing.nit:677,7--15
+            '=' ... ../src/syntax/typing.nit:677,17
+            ../src/syntax/typing.nit:677,19--30
+              ../src/syntax/typing.nit:677,19--24
+                ../src/syntax/typing.nit:677,19
+                'n_expr' ... ../src/syntax/typing.nit:677,19--24
+              'stype' ... ../src/syntax/typing.nit:677,26--30
+          ../src/syntax/typing.nit:679,3--681,9
+            'if' ... ../src/syntax/typing.nit:679,3--4
+            ../src/syntax/typing.nit:679,6--26
+              ../src/syntax/typing.nit:679,6--14
+                ../src/syntax/typing.nit:679,6
+                'expr_type' ... ../src/syntax/typing.nit:679,6--14
+              'is_nullable' ... ../src/syntax/typing.nit:679,16--26
+            ../src/syntax/typing.nit:680,4--681,9
+              ../src/syntax/typing.nit:680,4--64
+                ../src/syntax/typing.nit:680,4
+                  ../src/syntax/typing.nit:680,4
+                  'v' ... ../src/syntax/typing.nit:680,4
+                'error' ... ../src/syntax/typing.nit:680,6--10
+                ../src/syntax/typing.nit:680,12--17
+                  ../src/syntax/typing.nit:680,12
+                  'n_expr' ... ../src/syntax/typing.nit:680,12--17
+                ../src/syntax/typing.nit:680,20--64
+                  '"Type error: 'for' on a nullable expression."' ... ../src/syntax/typing.nit:680,20--64
+              ../src/syntax/typing.nit:681,4--9
+                'return' ... ../src/syntax/typing.nit:681,4--9
+          ../src/syntax/typing.nit:685,3--45
+            'var' ... ../src/syntax/typing.nit:685,3--5
+            'iterate_name' ... ../src/syntax/typing.nit:685,7--18
+            '=' ... ../src/syntax/typing.nit:685,20
+            ../src/syntax/typing.nit:685,22--45
+              'once' ... ../src/syntax/typing.nit:685,22--25
+              ../src/syntax/typing.nit:685,27--45
+                ../src/syntax/typing.nit:685,27--35
+                  '"iterate"' ... ../src/syntax/typing.nit:685,27--35
+                'to_symbol' ... ../src/syntax/typing.nit:685,37--45
+          ../src/syntax/typing.nit:686,3--688,9
+            'if' ... ../src/syntax/typing.nit:686,3--4
+            ../src/syntax/typing.nit:686,6--71
+              'not' ... ../src/syntax/typing.nit:686,6--8
+              ../src/syntax/typing.nit:686,10--71
+                ../src/syntax/typing.nit:686,10--30
+                  ../src/syntax/typing.nit:686,10--18
+                    ../src/syntax/typing.nit:686,10
+                    'expr_type' ... ../src/syntax/typing.nit:686,10--18
+                  'local_class' ... ../src/syntax/typing.nit:686,20--30
+                'has_global_property_by_name' ... ../src/syntax/typing.nit:686,32--58
+                ../src/syntax/typing.nit:686,60--71
+                  ../src/syntax/typing.nit:686,60
+                  'iterate_name' ... ../src/syntax/typing.nit:686,60--71
+            ../src/syntax/typing.nit:687,4--688,9
+              ../src/syntax/typing.nit:687,4--93
+                ../src/syntax/typing.nit:687,4
+                  ../src/syntax/typing.nit:687,4
+                  'v' ... ../src/syntax/typing.nit:687,4
+                'error' ... ../src/syntax/typing.nit:687,6--10
+                ../src/syntax/typing.nit:687,12--17
+                  ../src/syntax/typing.nit:687,12
+                  'n_expr' ... ../src/syntax/typing.nit:687,12--17
+                ../src/syntax/typing.nit:687,20--93
+                  ../src/syntax/typing.nit:687,20--81
+                    '"Type error: Expected a type with an 'iterate' method. Found {' ... ../src/syntax/typing.nit:687,20--81
+                  ../src/syntax/typing.nit:687,82--90
+                    ../src/syntax/typing.nit:687,82
+                    'expr_type' ... ../src/syntax/typing.nit:687,82--90
+                  ../src/syntax/typing.nit:687,91--93
+                    '}."' ... ../src/syntax/typing.nit:687,91--93
+              ../src/syntax/typing.nit:688,4--9
+                'return' ... ../src/syntax/typing.nit:688,4--9
+          ../src/syntax/typing.nit:690,3--61
+            'var' ... ../src/syntax/typing.nit:690,3--5
+            'prop' ... ../src/syntax/typing.nit:690,7--10
+            '=' ... ../src/syntax/typing.nit:690,12
+            ../src/syntax/typing.nit:690,14--61
+              ../src/syntax/typing.nit:690,14--34
+                ../src/syntax/typing.nit:690,14--22
+                  ../src/syntax/typing.nit:690,14
+                  'expr_type' ... ../src/syntax/typing.nit:690,14--22
+                'local_class' ... ../src/syntax/typing.nit:690,24--34
+              'select_method' ... ../src/syntax/typing.nit:690,36--48
+              ../src/syntax/typing.nit:690,50--61
+                ../src/syntax/typing.nit:690,50
+                'iterate_name' ... ../src/syntax/typing.nit:690,50--61
+          ../src/syntax/typing.nit:691,3--66
+            ../src/syntax/typing.nit:691,3--13
+              ../src/syntax/typing.nit:691,3--6
+                ../src/syntax/typing.nit:691,3
+                'prop' ... ../src/syntax/typing.nit:691,3--6
+              'global' ... ../src/syntax/typing.nit:691,8--13
+            'check_visibility' ... ../src/syntax/typing.nit:691,15--30
+            ../src/syntax/typing.nit:691,32
+              ../src/syntax/typing.nit:691,32
+              'v' ... ../src/syntax/typing.nit:691,32
+            ../src/syntax/typing.nit:691,35--38
+              'self' ... ../src/syntax/typing.nit:691,35--38
+            ../src/syntax/typing.nit:691,41--50
+              ../src/syntax/typing.nit:691,41
+                ../src/syntax/typing.nit:691,41
+                'v' ... ../src/syntax/typing.nit:691,41
+              'mmmodule' ... ../src/syntax/typing.nit:691,43--50
+            ../src/syntax/typing.nit:691,53--66
+              ../src/syntax/typing.nit:691,53--58
+                ../src/syntax/typing.nit:691,53
+                'n_expr' ... ../src/syntax/typing.nit:691,53--58
+              'is_self' ... ../src/syntax/typing.nit:691,60--66
+          ../src/syntax/typing.nit:692,3--41
+            'var' ... ../src/syntax/typing.nit:692,3--5
+            'psig' ... ../src/syntax/typing.nit:692,7--10
+            '=' ... ../src/syntax/typing.nit:692,12
+            ../src/syntax/typing.nit:692,14--41
+              ../src/syntax/typing.nit:692,14--17
+                ../src/syntax/typing.nit:692,14
+                'prop' ... ../src/syntax/typing.nit:692,14--17
+              'signature_for' ... ../src/syntax/typing.nit:692,19--31
+              ../src/syntax/typing.nit:692,33--41
+                ../src/syntax/typing.nit:692,33
+                'expr_type' ... ../src/syntax/typing.nit:692,33--41
+          ../src/syntax/typing.nit:693,3--53
+            'if' ... ../src/syntax/typing.nit:693,3--4
+            ../src/syntax/typing.nit:693,6--23
+              'not' ... ../src/syntax/typing.nit:693,6--8
+              ../src/syntax/typing.nit:693,10--23
+                ../src/syntax/typing.nit:693,10--15
+                  ../src/syntax/typing.nit:693,10
+                  'n_expr' ... ../src/syntax/typing.nit:693,10--15
+                'is_self' ... ../src/syntax/typing.nit:693,17--23
+            ../src/syntax/typing.nit:693,30--53
+              ../src/syntax/typing.nit:693,37
+              'psig' ... ../src/syntax/typing.nit:693,30--33
+              '=' ... ../src/syntax/typing.nit:693,35
+              ../src/syntax/typing.nit:693,37--53
+                ../src/syntax/typing.nit:693,37--40
+                  ../src/syntax/typing.nit:693,37
+                  'psig' ... ../src/syntax/typing.nit:693,37--40
+                'not_for_self' ... ../src/syntax/typing.nit:693,42--53
+          ../src/syntax/typing.nit:694,3--699,9
+            'if' ... ../src/syntax/typing.nit:694,3--4
+            ../src/syntax/typing.nit:694,6--20
+              ../src/syntax/typing.nit:694,6--15
+                ../src/syntax/typing.nit:694,6--9
+                  ../src/syntax/typing.nit:694,6
+                  'psig' ... ../src/syntax/typing.nit:694,6--9
+                'arity' ... ../src/syntax/typing.nit:694,11--15
+              ../src/syntax/typing.nit:694,20
+                '0' ... ../src/syntax/typing.nit:694,20
+            ../src/syntax/typing.nit:695,4--696,9
+              ../src/syntax/typing.nit:695,4--82
+                ../src/syntax/typing.nit:695,4
+                  ../src/syntax/typing.nit:695,4
+                  'v' ... ../src/syntax/typing.nit:695,4
+                'error' ... ../src/syntax/typing.nit:695,6--10
+                ../src/syntax/typing.nit:695,12--15
+                  'self' ... ../src/syntax/typing.nit:695,12--15
+                ../src/syntax/typing.nit:695,18--82
+                  '"Error: 'iterate' incompatible with 'for': require no arguments."' ... ../src/syntax/typing.nit:695,18--82
+              ../src/syntax/typing.nit:696,4--9
+                'return' ... ../src/syntax/typing.nit:696,4--9
+            ../src/syntax/typing.nit:697,8--699,9
+              'if' ... ../src/syntax/typing.nit:697,8--9
+              ../src/syntax/typing.nit:697,11--35
+                ../src/syntax/typing.nit:697,11--30
+                  ../src/syntax/typing.nit:697,11--23
+                    ../src/syntax/typing.nit:697,11--14
+                      ../src/syntax/typing.nit:697,11
+                      'psig' ... ../src/syntax/typing.nit:697,11--14
+                    'closures' ... ../src/syntax/typing.nit:697,16--23
+                  'length' ... ../src/syntax/typing.nit:697,25--30
+                ../src/syntax/typing.nit:697,35
+                  '1' ... ../src/syntax/typing.nit:697,35
+              ../src/syntax/typing.nit:698,4--699,9
+                ../src/syntax/typing.nit:698,4--81
+                  ../src/syntax/typing.nit:698,4
+                    ../src/syntax/typing.nit:698,4
+                    'v' ... ../src/syntax/typing.nit:698,4
+                  'error' ... ../src/syntax/typing.nit:698,6--10
+                  ../src/syntax/typing.nit:698,12--15
+                    'self' ... ../src/syntax/typing.nit:698,12--15
+                  ../src/syntax/typing.nit:698,18--81
+                    '"Error: 'iterate' incompatible with 'for': require one closure."' ... ../src/syntax/typing.nit:698,18--81
+                ../src/syntax/typing.nit:699,4--9
+                  'return' ... ../src/syntax/typing.nit:699,4--9
+          ../src/syntax/typing.nit:701,3--38
+            ../src/syntax/typing.nit:701,10
+            'psig' ... ../src/syntax/typing.nit:701,3--6
+            '=' ... ../src/syntax/typing.nit:701,8
+            ../src/syntax/typing.nit:701,10--38
+              ../src/syntax/typing.nit:701,10--28
+                ../src/syntax/typing.nit:701,10--22
+                  ../src/syntax/typing.nit:701,10--13
+                    ../src/syntax/typing.nit:701,10
+                    'psig' ... ../src/syntax/typing.nit:701,10--13
+                  'closures' ... ../src/syntax/typing.nit:701,15--22
+                'first' ... ../src/syntax/typing.nit:701,24--28
+              'signature' ... ../src/syntax/typing.nit:701,30--38
+          ../src/syntax/typing.nit:702,3--704,9
+            'if' ... ../src/syntax/typing.nit:702,3--4
+            ../src/syntax/typing.nit:702,6--29
+              ../src/syntax/typing.nit:702,6--21
+                ../src/syntax/typing.nit:702,6--9
+                  ../src/syntax/typing.nit:702,6
+                  'psig' ... ../src/syntax/typing.nit:702,6--9
+                'return_type' ... ../src/syntax/typing.nit:702,11--21
+              ../src/syntax/typing.nit:702,26--29
+                'null' ... ../src/syntax/typing.nit:702,26--29
+            ../src/syntax/typing.nit:703,4--704,9
+              ../src/syntax/typing.nit:703,4--92
+                ../src/syntax/typing.nit:703,4
+                  ../src/syntax/typing.nit:703,4
+                  'v' ... ../src/syntax/typing.nit:703,4
+                'error' ... ../src/syntax/typing.nit:703,6--10
+                ../src/syntax/typing.nit:703,12--15
+                  'self' ... ../src/syntax/typing.nit:703,12--15
+                ../src/syntax/typing.nit:703,18--92
+                  '"Error: 'iterate' incompatible with 'for': require one procedural closure."' ... ../src/syntax/typing.nit:703,18--92
+              ../src/syntax/typing.nit:704,4--9
+                'return' ... ../src/syntax/typing.nit:704,4--9
+          ../src/syntax/typing.nit:706,3--712,9
+            'if' ... ../src/syntax/typing.nit:706,3--4
+            ../src/syntax/typing.nit:706,6--29
+              ../src/syntax/typing.nit:706,6--15
+                ../src/syntax/typing.nit:706,6--8
+                  ../src/syntax/typing.nit:706,6
+                  'vas' ... ../src/syntax/typing.nit:706,6--8
+                'length' ... ../src/syntax/typing.nit:706,10--15
+              ../src/syntax/typing.nit:706,20--29
+                ../src/syntax/typing.nit:706,20--23
+                  ../src/syntax/typing.nit:706,20
+                  'psig' ... ../src/syntax/typing.nit:706,20--23
+                'arity' ... ../src/syntax/typing.nit:706,25--29
+            ../src/syntax/typing.nit:707,4--712,9
+              ../src/syntax/typing.nit:707,4--710,86
+                'if' ... ../src/syntax/typing.nit:707,4--5
+                ../src/syntax/typing.nit:707,7--21
+                  ../src/syntax/typing.nit:707,7--16
+                    ../src/syntax/typing.nit:707,7--10
+                      ../src/syntax/typing.nit:707,7
+                      'psig' ... ../src/syntax/typing.nit:707,7--10
+                    'arity' ... ../src/syntax/typing.nit:707,12--16
+                  ../src/syntax/typing.nit:707,21
+                    '1' ... ../src/syntax/typing.nit:707,21
+                ../src/syntax/typing.nit:708,5--85
+                  ../src/syntax/typing.nit:708,5--85
+                    ../src/syntax/typing.nit:708,5
+                      ../src/syntax/typing.nit:708,5
+                      'v' ... ../src/syntax/typing.nit:708,5
+                    'error' ... ../src/syntax/typing.nit:708,7--11
+                    ../src/syntax/typing.nit:708,13--16
+                      'self' ... ../src/syntax/typing.nit:708,13--16
+                    ../src/syntax/typing.nit:708,19--85
+                      ../src/syntax/typing.nit:708,19--36
+                        '"Error: Expected {' ... ../src/syntax/typing.nit:708,19--36
+                      ../src/syntax/typing.nit:708,37--46
+                        ../src/syntax/typing.nit:708,37--40
+                          ../src/syntax/typing.nit:708,37
+                          'psig' ... ../src/syntax/typing.nit:708,37--40
+                        'arity' ... ../src/syntax/typing.nit:708,42--46
+                      ../src/syntax/typing.nit:708,47--58
+                        '} variable {' ... ../src/syntax/typing.nit:708,47--58
+                      ../src/syntax/typing.nit:708,59--62
+                        ../src/syntax/typing.nit:708,59
+                        'psig' ... ../src/syntax/typing.nit:708,59--62
+                      ../src/syntax/typing.nit:708,63--72
+                        '}, found {' ... ../src/syntax/typing.nit:708,63--72
+                      ../src/syntax/typing.nit:708,73--82
+                        ../src/syntax/typing.nit:708,73--75
+                          ../src/syntax/typing.nit:708,73
+                          'vas' ... ../src/syntax/typing.nit:708,73--75
+                        'length' ... ../src/syntax/typing.nit:708,77--82
+                      ../src/syntax/typing.nit:708,83--85
+                        '}."' ... ../src/syntax/typing.nit:708,83--85
+                ../src/syntax/typing.nit:710,5--86
+                  ../src/syntax/typing.nit:710,5--86
+                    ../src/syntax/typing.nit:710,5
+                      ../src/syntax/typing.nit:710,5
+                      'v' ... ../src/syntax/typing.nit:710,5
+                    'error' ... ../src/syntax/typing.nit:710,7--11
+                    ../src/syntax/typing.nit:710,13--16
+                      'self' ... ../src/syntax/typing.nit:710,13--16
+                    ../src/syntax/typing.nit:710,19--86
+                      ../src/syntax/typing.nit:710,19--36
+                        '"Error: Expected {' ... ../src/syntax/typing.nit:710,19--36
+                      ../src/syntax/typing.nit:710,37--46
+                        ../src/syntax/typing.nit:710,37--40
+                          ../src/syntax/typing.nit:710,37
+                          'psig' ... ../src/syntax/typing.nit:710,37--40
+                        'arity' ... ../src/syntax/typing.nit:710,42--46
+                      ../src/syntax/typing.nit:710,47--59
+                        '} variables {' ... ../src/syntax/typing.nit:710,47--59
+                      ../src/syntax/typing.nit:710,60--63
+                        ../src/syntax/typing.nit:710,60
+                        'psig' ... ../src/syntax/typing.nit:710,60--63
+                      ../src/syntax/typing.nit:710,64--73
+                        '}, found {' ... ../src/syntax/typing.nit:710,64--73
+                      ../src/syntax/typing.nit:710,74--83
+                        ../src/syntax/typing.nit:710,74--76
+                          ../src/syntax/typing.nit:710,74
+                          'vas' ... ../src/syntax/typing.nit:710,74--76
+                        'length' ... ../src/syntax/typing.nit:710,78--83
+                      ../src/syntax/typing.nit:710,84--86
+                        '}."' ... ../src/syntax/typing.nit:710,84--86
+              ../src/syntax/typing.nit:712,4--9
+                'return' ... ../src/syntax/typing.nit:712,4--9
+          ../src/syntax/typing.nit:716,3--717,24
+            'for' ... ../src/syntax/typing.nit:716,3--5
+            'i' ... ../src/syntax/typing.nit:716,7
+            ../src/syntax/typing.nit:716,13--25
+              ../src/syntax/typing.nit:716,13
+                '0' ... ../src/syntax/typing.nit:716,13
+              ../src/syntax/typing.nit:716,16--25
+                ../src/syntax/typing.nit:716,16--18
+                  ../src/syntax/typing.nit:716,16
+                  'vas' ... ../src/syntax/typing.nit:716,16--18
+                'length' ... ../src/syntax/typing.nit:716,20--25
+            'do' ... ../src/syntax/typing.nit:716,28--29
+            ../src/syntax/typing.nit:717,4--24
+              ../src/syntax/typing.nit:717,4--24
+                ../src/syntax/typing.nit:717,4--8
+                  ../src/syntax/typing.nit:717,4--6
+                    ../src/syntax/typing.nit:717,4
+                    'vas' ... ../src/syntax/typing.nit:717,4--6
+                  ../src/syntax/typing.nit:717,8
+                    ../src/syntax/typing.nit:717,8
+                    'i' ... ../src/syntax/typing.nit:717,8
+                'stype' ... ../src/syntax/typing.nit:717,11--15
+                '=' ... ../src/syntax/typing.nit:717,17
+                ../src/syntax/typing.nit:717,19--24
+                  ../src/syntax/typing.nit:717,19--22
+                    ../src/syntax/typing.nit:717,19
+                    'psig' ... ../src/syntax/typing.nit:717,19--22
+                  ../src/syntax/typing.nit:717,24
+                    ../src/syntax/typing.nit:717,24
+                    'i' ... ../src/syntax/typing.nit:717,24
+    ../src/syntax/typing.nit:722,1--739,18
+      'redef' ... ../src/syntax/typing.nit:722,1--5
+      ../src/syntax/typing.nit:722,7
+      ../src/syntax/typing.nit:722,7--11
+        'class' ... ../src/syntax/typing.nit:722,7--11
+      'AAssertExpr' ... ../src/syntax/typing.nit:722,13--23
+      ../src/syntax/typing.nit:723,2--739,18
+        'redef' ... ../src/syntax/typing.nit:723,2--6
+        ../src/syntax/typing.nit:723,12
+        'fun' ... ../src/syntax/typing.nit:723,8--10
+        ../src/syntax/typing.nit:723,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:723,12--24
+        ../src/syntax/typing.nit:723,26
+          ../src/syntax/typing.nit:723,26
+            'v' ... ../src/syntax/typing.nit:723,26
+        ../src/syntax/typing.nit:726,3--739,18
+          ../src/syntax/typing.nit:726,3--22
+            ../src/syntax/typing.nit:726,3
+              ../src/syntax/typing.nit:726,3
+              'v' ... ../src/syntax/typing.nit:726,3
+            'enter_visit' ... ../src/syntax/typing.nit:726,5--15
+            ../src/syntax/typing.nit:726,17--22
+              ../src/syntax/typing.nit:726,17
+              'n_expr' ... ../src/syntax/typing.nit:726,17--22
+          ../src/syntax/typing.nit:727,3--42
+            ../src/syntax/typing.nit:727,3
+              ../src/syntax/typing.nit:727,3
+              'v' ... ../src/syntax/typing.nit:727,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:727,5--22
+            ../src/syntax/typing.nit:727,24--29
+              ../src/syntax/typing.nit:727,24
+              'n_expr' ... ../src/syntax/typing.nit:727,24--29
+            ../src/syntax/typing.nit:727,32--42
+              ../src/syntax/typing.nit:727,32
+                ../src/syntax/typing.nit:727,32
+                'v' ... ../src/syntax/typing.nit:727,32
+              'type_bool' ... ../src/syntax/typing.nit:727,34--42
+          ../src/syntax/typing.nit:730,3--734,28
+            'if' ... ../src/syntax/typing.nit:730,3--4
+            ../src/syntax/typing.nit:730,6--19
+              ../src/syntax/typing.nit:730,6--11
+                ../src/syntax/typing.nit:730,6
+                'n_else' ... ../src/syntax/typing.nit:730,6--11
+              ../src/syntax/typing.nit:730,16--19
+                'null' ... ../src/syntax/typing.nit:730,16--19
+            ../src/syntax/typing.nit:731,4--734,28
+              ../src/syntax/typing.nit:731,4--32
+                'var' ... ../src/syntax/typing.nit:731,4--6
+                'old_flow_ctx' ... ../src/syntax/typing.nit:731,8--19
+                '=' ... ../src/syntax/typing.nit:731,21
+                ../src/syntax/typing.nit:731,23--32
+                  ../src/syntax/typing.nit:731,23
+                    ../src/syntax/typing.nit:731,23
+                    'v' ... ../src/syntax/typing.nit:731,23
+                  'flow_ctx' ... ../src/syntax/typing.nit:731,25--32
+              ../src/syntax/typing.nit:732,4--33
+                ../src/syntax/typing.nit:732,4
+                  ../src/syntax/typing.nit:732,4
+                  'v' ... ../src/syntax/typing.nit:732,4
+                'use_if_false_flow_ctx' ... ../src/syntax/typing.nit:732,6--26
+                ../src/syntax/typing.nit:732,28--33
+                  ../src/syntax/typing.nit:732,28
+                  'n_expr' ... ../src/syntax/typing.nit:732,28--33
+              ../src/syntax/typing.nit:733,4--23
+                ../src/syntax/typing.nit:733,4
+                  ../src/syntax/typing.nit:733,4
+                  'v' ... ../src/syntax/typing.nit:733,4
+                'enter_visit' ... ../src/syntax/typing.nit:733,6--16
+                ../src/syntax/typing.nit:733,18--23
+                  ../src/syntax/typing.nit:733,18
+                  'n_else' ... ../src/syntax/typing.nit:733,18--23
+              ../src/syntax/typing.nit:734,4--28
+                ../src/syntax/typing.nit:734,4
+                  ../src/syntax/typing.nit:734,4
+                  'v' ... ../src/syntax/typing.nit:734,4
+                'flow_ctx' ... ../src/syntax/typing.nit:734,6--13
+                '=' ... ../src/syntax/typing.nit:734,15
+                ../src/syntax/typing.nit:734,17--28
+                  ../src/syntax/typing.nit:734,17
+                  'old_flow_ctx' ... ../src/syntax/typing.nit:734,17--28
+          ../src/syntax/typing.nit:738,3--31
+            ../src/syntax/typing.nit:738,3
+              ../src/syntax/typing.nit:738,3
+              'v' ... ../src/syntax/typing.nit:738,3
+            'use_if_true_flow_ctx' ... ../src/syntax/typing.nit:738,5--24
+            ../src/syntax/typing.nit:738,26--31
+              ../src/syntax/typing.nit:738,26
+              'n_expr' ... ../src/syntax/typing.nit:738,26--31
+          ../src/syntax/typing.nit:739,3--18
+            ../src/syntax/typing.nit:739,15
+            '_is_typed' ... ../src/syntax/typing.nit:739,3--11
+            '=' ... ../src/syntax/typing.nit:739,13
+            ../src/syntax/typing.nit:739,15--18
+              'true' ... ../src/syntax/typing.nit:739,15--18
+    ../src/syntax/typing.nit:743,1--745,51
+      'redef' ... ../src/syntax/typing.nit:743,1--5
+      ../src/syntax/typing.nit:743,7
+      ../src/syntax/typing.nit:743,7--11
+        'class' ... ../src/syntax/typing.nit:743,7--11
+      'AVarFormExpr' ... ../src/syntax/typing.nit:743,13--24
+      ../src/syntax/typing.nit:744,2--33
+        ../src/syntax/typing.nit:744,17
+        'var' ... ../src/syntax/typing.nit:744,2--4
+        '_variable' ... ../src/syntax/typing.nit:744,6--14
+        ../src/syntax/typing.nit:744,17--33
+          'nullable' ... ../src/syntax/typing.nit:744,17--24
+          'Variable' ... ../src/syntax/typing.nit:744,26--33
+      ../src/syntax/typing.nit:745,2--51
+        'redef' ... ../src/syntax/typing.nit:745,2--6
+        ../src/syntax/typing.nit:745,12
+        'fun' ... ../src/syntax/typing.nit:745,8--10
+        ../src/syntax/typing.nit:745,12--19
+          'variable' ... ../src/syntax/typing.nit:745,12--19
+        ../src/syntax/typing.nit:745,31
+        ../src/syntax/typing.nit:745,24--51
+          'return' ... ../src/syntax/typing.nit:745,24--29
+          ../src/syntax/typing.nit:745,31--51
+            ../src/syntax/typing.nit:745,31--39
+              ../src/syntax/typing.nit:745,31
+              '_variable' ... ../src/syntax/typing.nit:745,31--39
+            'as' ... ../src/syntax/typing.nit:745,41--42
+            'not' ... ../src/syntax/typing.nit:745,44--46
+            'null' ... ../src/syntax/typing.nit:745,48--51
+    ../src/syntax/typing.nit:748,1--755,28
+      'redef' ... ../src/syntax/typing.nit:748,1--5
+      ../src/syntax/typing.nit:748,7
+      ../src/syntax/typing.nit:748,7--11
+        'class' ... ../src/syntax/typing.nit:748,7--11
+      'AVarExpr' ... ../src/syntax/typing.nit:748,13--20
+      ../src/syntax/typing.nit:749,2--42
+        'redef' ... ../src/syntax/typing.nit:749,2--6
+        ../src/syntax/typing.nit:749,12
+        'fun' ... ../src/syntax/typing.nit:749,8--10
+        ../src/syntax/typing.nit:749,12--23
+          'its_variable' ... ../src/syntax/typing.nit:749,12--23
+        ../src/syntax/typing.nit:749,35
+        ../src/syntax/typing.nit:749,28--42
+          'return' ... ../src/syntax/typing.nit:749,28--33
+          ../src/syntax/typing.nit:749,35--42
+            ../src/syntax/typing.nit:749,35
+            'variable' ... ../src/syntax/typing.nit:749,35--42
+      ../src/syntax/typing.nit:751,2--755,28
+        'redef' ... ../src/syntax/typing.nit:751,2--6
+        ../src/syntax/typing.nit:751,12
+        'fun' ... ../src/syntax/typing.nit:751,8--10
+        ../src/syntax/typing.nit:751,12--23
+          'after_typing' ... ../src/syntax/typing.nit:751,12--23
+        ../src/syntax/typing.nit:751,25
+          ../src/syntax/typing.nit:751,25
+            'v' ... ../src/syntax/typing.nit:751,25
+        ../src/syntax/typing.nit:753,3--755,28
+          ../src/syntax/typing.nit:753,3--40
+            ../src/syntax/typing.nit:753,3--12
+              ../src/syntax/typing.nit:753,3
+                ../src/syntax/typing.nit:753,3
+                'v' ... ../src/syntax/typing.nit:753,3
+              'flow_ctx' ... ../src/syntax/typing.nit:753,5--12
+            'check_is_set' ... ../src/syntax/typing.nit:753,14--25
+            ../src/syntax/typing.nit:753,27--30
+              'self' ... ../src/syntax/typing.nit:753,27--30
+            ../src/syntax/typing.nit:753,33--40
+              ../src/syntax/typing.nit:753,33
+              'variable' ... ../src/syntax/typing.nit:753,33--40
+          ../src/syntax/typing.nit:754,3--36
+            ../src/syntax/typing.nit:754,12
+            '_stype' ... ../src/syntax/typing.nit:754,3--8
+            '=' ... ../src/syntax/typing.nit:754,10
+            ../src/syntax/typing.nit:754,12--36
+              ../src/syntax/typing.nit:754,12--21
+                ../src/syntax/typing.nit:754,12
+                  ../src/syntax/typing.nit:754,12
+                  'v' ... ../src/syntax/typing.nit:754,12
+                'flow_ctx' ... ../src/syntax/typing.nit:754,14--21
+              'stype' ... ../src/syntax/typing.nit:754,23--27
+              ../src/syntax/typing.nit:754,29--36
+                ../src/syntax/typing.nit:754,29
+                'variable' ... ../src/syntax/typing.nit:754,29--36
+          ../src/syntax/typing.nit:755,3--28
+            ../src/syntax/typing.nit:755,15
+            '_is_typed' ... ../src/syntax/typing.nit:755,3--11
+            '=' ... ../src/syntax/typing.nit:755,13
+            ../src/syntax/typing.nit:755,15--28
+              ../src/syntax/typing.nit:755,15--20
+                ../src/syntax/typing.nit:755,15
+                '_stype' ... ../src/syntax/typing.nit:755,15--20
+              ../src/syntax/typing.nit:755,25--28
+                'null' ... ../src/syntax/typing.nit:755,25--28
+    ../src/syntax/typing.nit:759,1--772,18
+      'redef' ... ../src/syntax/typing.nit:759,1--5
+      ../src/syntax/typing.nit:759,7
+      ../src/syntax/typing.nit:759,7--11
+        'class' ... ../src/syntax/typing.nit:759,7--11
+      'AVarAssignExpr' ... ../src/syntax/typing.nit:759,13--26
+      ../src/syntax/typing.nit:760,2--772,18
+        'redef' ... ../src/syntax/typing.nit:760,2--6
+        ../src/syntax/typing.nit:760,12
+        'fun' ... ../src/syntax/typing.nit:760,8--10
+        ../src/syntax/typing.nit:760,12--23
+          'after_typing' ... ../src/syntax/typing.nit:760,12--23
+        ../src/syntax/typing.nit:760,25
+          ../src/syntax/typing.nit:760,25
+            'v' ... ../src/syntax/typing.nit:760,25
+        ../src/syntax/typing.nit:762,3--772,18
+          ../src/syntax/typing.nit:762,3--24
+            ../src/syntax/typing.nit:762,3
+              ../src/syntax/typing.nit:762,3
+              'v' ... ../src/syntax/typing.nit:762,3
+            'mark_is_set' ... ../src/syntax/typing.nit:762,5--15
+            ../src/syntax/typing.nit:762,17--24
+              ../src/syntax/typing.nit:762,17
+              'variable' ... ../src/syntax/typing.nit:762,17--24
+          ../src/syntax/typing.nit:765,3--44
+            'var' ... ../src/syntax/typing.nit:765,3--5
+            'btype' ... ../src/syntax/typing.nit:765,7--11
+            '=' ... ../src/syntax/typing.nit:765,13
+            ../src/syntax/typing.nit:765,15--44
+              ../src/syntax/typing.nit:765,15--29
+                ../src/syntax/typing.nit:765,15
+                  ../src/syntax/typing.nit:765,15
+                  'v' ... ../src/syntax/typing.nit:765,15
+                'base_flow_ctx' ... ../src/syntax/typing.nit:765,17--29
+              'stype' ... ../src/syntax/typing.nit:765,31--35
+              ../src/syntax/typing.nit:765,37--44
+                ../src/syntax/typing.nit:765,37
+                'variable' ... ../src/syntax/typing.nit:765,37--44
+          ../src/syntax/typing.nit:766,3--42
+            'if' ... ../src/syntax/typing.nit:766,3--4
+            ../src/syntax/typing.nit:766,6--29
+              'not' ... ../src/syntax/typing.nit:766,6--8
+              ../src/syntax/typing.nit:766,10--29
+                ../src/syntax/typing.nit:766,10
+                  ../src/syntax/typing.nit:766,10
+                  'v' ... ../src/syntax/typing.nit:766,10
+                'check_expr' ... ../src/syntax/typing.nit:766,12--21
+                ../src/syntax/typing.nit:766,23--29
+                  ../src/syntax/typing.nit:766,23
+                  'n_value' ... ../src/syntax/typing.nit:766,23--29
+            ../src/syntax/typing.nit:766,37--42
+              'return' ... ../src/syntax/typing.nit:766,37--42
+          ../src/syntax/typing.nit:767,3--75
+            'if' ... ../src/syntax/typing.nit:767,3--4
+            ../src/syntax/typing.nit:767,6--62
+              ../src/syntax/typing.nit:767,6--18
+                ../src/syntax/typing.nit:767,6--10
+                  ../src/syntax/typing.nit:767,6
+                  'btype' ... ../src/syntax/typing.nit:767,6--10
+                ../src/syntax/typing.nit:767,15--18
+                  'null' ... ../src/syntax/typing.nit:767,15--18
+              ../src/syntax/typing.nit:767,24--62
+                'not' ... ../src/syntax/typing.nit:767,24--26
+                ../src/syntax/typing.nit:767,28--62
+                  ../src/syntax/typing.nit:767,28
+                    ../src/syntax/typing.nit:767,28
+                    'v' ... ../src/syntax/typing.nit:767,28
+                  'check_conform_expr' ... ../src/syntax/typing.nit:767,30--47
+                  ../src/syntax/typing.nit:767,49--55
+                    ../src/syntax/typing.nit:767,49
+                    'n_value' ... ../src/syntax/typing.nit:767,49--55
+                  ../src/syntax/typing.nit:767,58--62
+                    ../src/syntax/typing.nit:767,58
+                    'btype' ... ../src/syntax/typing.nit:767,58--62
+            ../src/syntax/typing.nit:767,70--75
+              'return' ... ../src/syntax/typing.nit:767,70--75
+          ../src/syntax/typing.nit:770,3--64
+            ../src/syntax/typing.nit:770,3
+              ../src/syntax/typing.nit:770,3
+              'v' ... ../src/syntax/typing.nit:770,3
+            'flow_ctx' ... ../src/syntax/typing.nit:770,5--12
+            '=' ... ../src/syntax/typing.nit:770,14
+            ../src/syntax/typing.nit:770,16--64
+              ../src/syntax/typing.nit:770,16--25
+                ../src/syntax/typing.nit:770,16
+                  ../src/syntax/typing.nit:770,16
+                  'v' ... ../src/syntax/typing.nit:770,16
+                'flow_ctx' ... ../src/syntax/typing.nit:770,18--25
+              'sub_with' ... ../src/syntax/typing.nit:770,27--34
+              ../src/syntax/typing.nit:770,36--39
+                'self' ... ../src/syntax/typing.nit:770,36--39
+              ../src/syntax/typing.nit:770,42--49
+                ../src/syntax/typing.nit:770,42
+                'variable' ... ../src/syntax/typing.nit:770,42--49
+              ../src/syntax/typing.nit:770,52--64
+                ../src/syntax/typing.nit:770,52--58
+                  ../src/syntax/typing.nit:770,52
+                  'n_value' ... ../src/syntax/typing.nit:770,52--58
+                'stype' ... ../src/syntax/typing.nit:770,60--64
+          ../src/syntax/typing.nit:772,3--18
+            ../src/syntax/typing.nit:772,15
+            '_is_typed' ... ../src/syntax/typing.nit:772,3--11
+            '=' ... ../src/syntax/typing.nit:772,13
+            ../src/syntax/typing.nit:772,15--18
+              'true' ... ../src/syntax/typing.nit:772,15--18
+    ../src/syntax/typing.nit:776,1--804,38
+      'redef' ... ../src/syntax/typing.nit:776,1--5
+      ../src/syntax/typing.nit:776,7
+      ../src/syntax/typing.nit:776,7--11
+        'class' ... ../src/syntax/typing.nit:776,7--11
+      'AReassignFormExpr' ... ../src/syntax/typing.nit:776,13--29
+      ../src/syntax/typing.nit:777,2--800,38
+        ../src/syntax/typing.nit:777,2--780,0
+          '# Compute and check method used through the reassigment operator
+' ... ../src/syntax/typing.nit:777,2--778,0
+          '# On success return the static type of the result of the reassigment operator
+' ... ../src/syntax/typing.nit:778,2--779,0
+          '# Else display an error and return null
+' ... ../src/syntax/typing.nit:779,2--780,0
+        ../src/syntax/typing.nit:780,2--8
+          'private' ... ../src/syntax/typing.nit:780,2--8
+        'fun' ... ../src/syntax/typing.nit:780,10--12
+        ../src/syntax/typing.nit:780,14--29
+          'do_rvalue_typing' ... ../src/syntax/typing.nit:780,14--29
+        ../src/syntax/typing.nit:780,31--94
+          ../src/syntax/typing.nit:780,31--46
+            'v' ... ../src/syntax/typing.nit:780,31
+            ../src/syntax/typing.nit:780,34--46
+              'TypingVisitor' ... ../src/syntax/typing.nit:780,34--46
+          ../src/syntax/typing.nit:780,49--76
+            'type_lvalue' ... ../src/syntax/typing.nit:780,49--59
+            ../src/syntax/typing.nit:780,62--76
+              'nullable' ... ../src/syntax/typing.nit:780,62--69
+              'MMType' ... ../src/syntax/typing.nit:780,71--76
+          ../src/syntax/typing.nit:780,80--94
+            'nullable' ... ../src/syntax/typing.nit:780,80--87
+            'MMType' ... ../src/syntax/typing.nit:780,89--94
+        ../src/syntax/typing.nit:782,3--800,38
+          ../src/syntax/typing.nit:782,3--783,14
+            'if' ... ../src/syntax/typing.nit:782,3--4
+            ../src/syntax/typing.nit:782,6--24
+              ../src/syntax/typing.nit:782,6--16
+                ../src/syntax/typing.nit:782,6
+                'type_lvalue' ... ../src/syntax/typing.nit:782,6--16
+              ../src/syntax/typing.nit:782,21--24
+                'null' ... ../src/syntax/typing.nit:782,21--24
+            ../src/syntax/typing.nit:783,4--14
+              ../src/syntax/typing.nit:783,4--14
+                'return' ... ../src/syntax/typing.nit:783,4--9
+                ../src/syntax/typing.nit:783,11--14
+                  'null' ... ../src/syntax/typing.nit:783,11--14
+          ../src/syntax/typing.nit:785,3--36
+            'var' ... ../src/syntax/typing.nit:785,3--5
+            'name' ... ../src/syntax/typing.nit:785,7--10
+            '=' ... ../src/syntax/typing.nit:785,12
+            ../src/syntax/typing.nit:785,14--36
+              ../src/syntax/typing.nit:785,14--24
+                ../src/syntax/typing.nit:785,14
+                'n_assign_op' ... ../src/syntax/typing.nit:785,14--24
+              'method_name' ... ../src/syntax/typing.nit:785,26--36
+          ../src/syntax/typing.nit:786,3--788,14
+            'if' ... ../src/syntax/typing.nit:786,3--4
+            ../src/syntax/typing.nit:786,6--31
+              ../src/syntax/typing.nit:786,6--16
+                ../src/syntax/typing.nit:786,6
+                'type_lvalue' ... ../src/syntax/typing.nit:786,6--16
+              ../src/syntax/typing.nit:786,22--31
+                'MMTypeNone' ... ../src/syntax/typing.nit:786,22--31
+            ../src/syntax/typing.nit:787,4--788,14
+              ../src/syntax/typing.nit:787,4--57
+                ../src/syntax/typing.nit:787,4
+                  ../src/syntax/typing.nit:787,4
+                  'v' ... ../src/syntax/typing.nit:787,4
+                'error' ... ../src/syntax/typing.nit:787,6--10
+                ../src/syntax/typing.nit:787,12--15
+                  'self' ... ../src/syntax/typing.nit:787,12--15
+                ../src/syntax/typing.nit:787,18--57
+                  ../src/syntax/typing.nit:787,18--34
+                    '"Error: Method '{' ... ../src/syntax/typing.nit:787,18--34
+                  ../src/syntax/typing.nit:787,35--38
+                    ../src/syntax/typing.nit:787,35
+                    'name' ... ../src/syntax/typing.nit:787,35--38
+                  ../src/syntax/typing.nit:787,39--57
+                    '}' call on 'null'."' ... ../src/syntax/typing.nit:787,39--57
+              ../src/syntax/typing.nit:788,4--14
+                'return' ... ../src/syntax/typing.nit:788,4--9
+                ../src/syntax/typing.nit:788,11--14
+                  'null' ... ../src/syntax/typing.nit:788,11--14
+          ../src/syntax/typing.nit:790,3--34
+            'var' ... ../src/syntax/typing.nit:790,3--5
+            'lc' ... ../src/syntax/typing.nit:790,7--8
+            '=' ... ../src/syntax/typing.nit:790,10
+            ../src/syntax/typing.nit:790,12--34
+              ../src/syntax/typing.nit:790,12--22
+                ../src/syntax/typing.nit:790,12
+                'type_lvalue' ... ../src/syntax/typing.nit:790,12--22
+              'local_class' ... ../src/syntax/typing.nit:790,24--34
+          ../src/syntax/typing.nit:791,3--793,14
+            'if' ... ../src/syntax/typing.nit:791,3--4
+            ../src/syntax/typing.nit:791,6--44
+              'not' ... ../src/syntax/typing.nit:791,6--8
+              ../src/syntax/typing.nit:791,10--44
+                ../src/syntax/typing.nit:791,10--11
+                  ../src/syntax/typing.nit:791,10
+                  'lc' ... ../src/syntax/typing.nit:791,10--11
+                'has_global_property_by_name' ... ../src/syntax/typing.nit:791,13--39
+                ../src/syntax/typing.nit:791,41--44
+                  ../src/syntax/typing.nit:791,41
+                  'name' ... ../src/syntax/typing.nit:791,41--44
+            ../src/syntax/typing.nit:792,4--793,14
+              ../src/syntax/typing.nit:792,4--74
+                ../src/syntax/typing.nit:792,4
+                  ../src/syntax/typing.nit:792,4
+                  'v' ... ../src/syntax/typing.nit:792,4
+                'error' ... ../src/syntax/typing.nit:792,6--10
+                ../src/syntax/typing.nit:792,12--15
+                  'self' ... ../src/syntax/typing.nit:792,12--15
+                ../src/syntax/typing.nit:792,18--74
+                  ../src/syntax/typing.nit:792,18--34
+                    '"Error: Method '{' ... ../src/syntax/typing.nit:792,18--34
+                  ../src/syntax/typing.nit:792,35--38
+                    ../src/syntax/typing.nit:792,35
+                    'name' ... ../src/syntax/typing.nit:792,35--38
+                  ../src/syntax/typing.nit:792,39--60
+                    '}' doesn't exists in {' ... ../src/syntax/typing.nit:792,39--60
+                  ../src/syntax/typing.nit:792,61--71
+                    ../src/syntax/typing.nit:792,61
+                    'type_lvalue' ... ../src/syntax/typing.nit:792,61--71
+                  ../src/syntax/typing.nit:792,72--74
+                    '}."' ... ../src/syntax/typing.nit:792,72--74
+              ../src/syntax/typing.nit:793,4--14
+                'return' ... ../src/syntax/typing.nit:793,4--9
+                ../src/syntax/typing.nit:793,11--14
+                  'null' ... ../src/syntax/typing.nit:793,11--14
+          ../src/syntax/typing.nit:795,3--34
+            'var' ... ../src/syntax/typing.nit:795,3--5
+            'prop' ... ../src/syntax/typing.nit:795,7--10
+            '=' ... ../src/syntax/typing.nit:795,12
+            ../src/syntax/typing.nit:795,14--34
+              ../src/syntax/typing.nit:795,14--15
+                ../src/syntax/typing.nit:795,14
+                'lc' ... ../src/syntax/typing.nit:795,14--15
+              'select_method' ... ../src/syntax/typing.nit:795,17--29
+              ../src/syntax/typing.nit:795,31--34
+                ../src/syntax/typing.nit:795,31
+                'name' ... ../src/syntax/typing.nit:795,31--34
+          ../src/syntax/typing.nit:796,3--57
+            ../src/syntax/typing.nit:796,3--13
+              ../src/syntax/typing.nit:796,3--6
+                ../src/syntax/typing.nit:796,3
+                'prop' ... ../src/syntax/typing.nit:796,3--6
+              'global' ... ../src/syntax/typing.nit:796,8--13
+            'check_visibility' ... ../src/syntax/typing.nit:796,15--30
+            ../src/syntax/typing.nit:796,32
+              ../src/syntax/typing.nit:796,32
+              'v' ... ../src/syntax/typing.nit:796,32
+            ../src/syntax/typing.nit:796,35--38
+              'self' ... ../src/syntax/typing.nit:796,35--38
+            ../src/syntax/typing.nit:796,41--50
+              ../src/syntax/typing.nit:796,41
+                ../src/syntax/typing.nit:796,41
+                'v' ... ../src/syntax/typing.nit:796,41
+              'mmmodule' ... ../src/syntax/typing.nit:796,43--50
+            ../src/syntax/typing.nit:796,53--57
+              'false' ... ../src/syntax/typing.nit:796,53--57
+          ../src/syntax/typing.nit:797,3--43
+            'var' ... ../src/syntax/typing.nit:797,3--5
+            'psig' ... ../src/syntax/typing.nit:797,7--10
+            '=' ... ../src/syntax/typing.nit:797,12
+            ../src/syntax/typing.nit:797,14--43
+              ../src/syntax/typing.nit:797,14--17
+                ../src/syntax/typing.nit:797,14
+                'prop' ... ../src/syntax/typing.nit:797,14--17
+              'signature_for' ... ../src/syntax/typing.nit:797,19--31
+              ../src/syntax/typing.nit:797,33--43
+                ../src/syntax/typing.nit:797,33
+                'type_lvalue' ... ../src/syntax/typing.nit:797,33--43
+          ../src/syntax/typing.nit:798,3--23
+            ../src/syntax/typing.nit:798,20
+            '_assign_method' ... ../src/syntax/typing.nit:798,3--16
+            '=' ... ../src/syntax/typing.nit:798,18
+            ../src/syntax/typing.nit:798,20--23
+              ../src/syntax/typing.nit:798,20
+              'prop' ... ../src/syntax/typing.nit:798,20--23
+          ../src/syntax/typing.nit:799,3--77
+            'if' ... ../src/syntax/typing.nit:799,3--4
+            ../src/syntax/typing.nit:799,6--59
+              'not' ... ../src/syntax/typing.nit:799,6--8
+              ../src/syntax/typing.nit:799,10--59
+                ../src/syntax/typing.nit:799,10
+                  ../src/syntax/typing.nit:799,10
+                  'v' ... ../src/syntax/typing.nit:799,10
+                'check_conform_expr' ... ../src/syntax/typing.nit:799,12--29
+                ../src/syntax/typing.nit:799,31--37
+                  ../src/syntax/typing.nit:799,31
+                  'n_value' ... ../src/syntax/typing.nit:799,31--37
+                ../src/syntax/typing.nit:799,40--59
+                  ../src/syntax/typing.nit:799,40--45
+                    ../src/syntax/typing.nit:799,40--43
+                      ../src/syntax/typing.nit:799,40
+                      'psig' ... ../src/syntax/typing.nit:799,40--43
+                    ../src/syntax/typing.nit:799,45
+                      '0' ... ../src/syntax/typing.nit:799,45
+                  'not_for_self' ... ../src/syntax/typing.nit:799,48--59
+            ../src/syntax/typing.nit:799,67--77
+              'return' ... ../src/syntax/typing.nit:799,67--72
+              ../src/syntax/typing.nit:799,74--77
+                'null' ... ../src/syntax/typing.nit:799,74--77
+          ../src/syntax/typing.nit:800,3--38
+            'return' ... ../src/syntax/typing.nit:800,3--8
+            ../src/syntax/typing.nit:800,10--38
+              ../src/syntax/typing.nit:800,10--25
+                ../src/syntax/typing.nit:800,10--13
+                  ../src/syntax/typing.nit:800,10
+                  'psig' ... ../src/syntax/typing.nit:800,10--13
+                'return_type' ... ../src/syntax/typing.nit:800,15--25
+              'not_for_self' ... ../src/syntax/typing.nit:800,27--38
+      ../src/syntax/typing.nit:803,2--61
+        'redef' ... ../src/syntax/typing.nit:803,2--6
+        ../src/syntax/typing.nit:803,12
+        'fun' ... ../src/syntax/typing.nit:803,8--10
+        ../src/syntax/typing.nit:803,12--24
+          'assign_method' ... ../src/syntax/typing.nit:803,12--24
+        ../src/syntax/typing.nit:803,36
+        ../src/syntax/typing.nit:803,29--61
+          'return' ... ../src/syntax/typing.nit:803,29--34
+          ../src/syntax/typing.nit:803,36--61
+            ../src/syntax/typing.nit:803,36--49
+              ../src/syntax/typing.nit:803,36
+              '_assign_method' ... ../src/syntax/typing.nit:803,36--49
+            'as' ... ../src/syntax/typing.nit:803,51--52
+            'not' ... ../src/syntax/typing.nit:803,54--56
+            'null' ... ../src/syntax/typing.nit:803,58--61
+      ../src/syntax/typing.nit:804,2--38
+        ../src/syntax/typing.nit:804,22
+        'var' ... ../src/syntax/typing.nit:804,2--4
+        '_assign_method' ... ../src/syntax/typing.nit:804,6--19
+        ../src/syntax/typing.nit:804,22--38
+          'nullable' ... ../src/syntax/typing.nit:804,22--29
+          'MMMethod' ... ../src/syntax/typing.nit:804,31--38
+    ../src/syntax/typing.nit:807,1--824,18
+      'redef' ... ../src/syntax/typing.nit:807,1--5
+      ../src/syntax/typing.nit:807,7
+      ../src/syntax/typing.nit:807,7--11
+        'class' ... ../src/syntax/typing.nit:807,7--11
+      'AVarReassignExpr' ... ../src/syntax/typing.nit:807,13--28
+      ../src/syntax/typing.nit:808,2--824,18
+        'redef' ... ../src/syntax/typing.nit:808,2--6
+        ../src/syntax/typing.nit:808,12
+        'fun' ... ../src/syntax/typing.nit:808,8--10
+        ../src/syntax/typing.nit:808,12--23
+          'after_typing' ... ../src/syntax/typing.nit:808,12--23
+        ../src/syntax/typing.nit:808,25
+          ../src/syntax/typing.nit:808,25
+            'v' ... ../src/syntax/typing.nit:808,25
+        ../src/syntax/typing.nit:810,3--824,18
+          ../src/syntax/typing.nit:810,3--40
+            ../src/syntax/typing.nit:810,3--12
+              ../src/syntax/typing.nit:810,3
+                ../src/syntax/typing.nit:810,3
+                'v' ... ../src/syntax/typing.nit:810,3
+              'flow_ctx' ... ../src/syntax/typing.nit:810,5--12
+            'check_is_set' ... ../src/syntax/typing.nit:810,14--25
+            ../src/syntax/typing.nit:810,27--30
+              'self' ... ../src/syntax/typing.nit:810,27--30
+            ../src/syntax/typing.nit:810,33--40
+              ../src/syntax/typing.nit:810,33
+              'variable' ... ../src/syntax/typing.nit:810,33--40
+          ../src/syntax/typing.nit:811,3--24
+            ../src/syntax/typing.nit:811,3
+              ../src/syntax/typing.nit:811,3
+              'v' ... ../src/syntax/typing.nit:811,3
+            'mark_is_set' ... ../src/syntax/typing.nit:811,5--15
+            ../src/syntax/typing.nit:811,17--24
+              ../src/syntax/typing.nit:811,17
+              'variable' ... ../src/syntax/typing.nit:811,17--24
+          ../src/syntax/typing.nit:812,3--35
+            'var' ... ../src/syntax/typing.nit:812,3--5
+            't' ... ../src/syntax/typing.nit:812,7
+            '=' ... ../src/syntax/typing.nit:812,9
+            ../src/syntax/typing.nit:812,11--35
+              ../src/syntax/typing.nit:812,11--20
+                ../src/syntax/typing.nit:812,11
+                  ../src/syntax/typing.nit:812,11
+                  'v' ... ../src/syntax/typing.nit:812,11
+                'flow_ctx' ... ../src/syntax/typing.nit:812,13--20
+              'stype' ... ../src/syntax/typing.nit:812,22--26
+              ../src/syntax/typing.nit:812,28--35
+                ../src/syntax/typing.nit:812,28
+                'variable' ... ../src/syntax/typing.nit:812,28--35
+          ../src/syntax/typing.nit:813,3--32
+            'var' ... ../src/syntax/typing.nit:813,3--5
+            't2' ... ../src/syntax/typing.nit:813,7--8
+            '=' ... ../src/syntax/typing.nit:813,10
+            ../src/syntax/typing.nit:813,12--32
+              ../src/syntax/typing.nit:813,29
+              'do_rvalue_typing' ... ../src/syntax/typing.nit:813,12--27
+              ../src/syntax/typing.nit:813,29
+                ../src/syntax/typing.nit:813,29
+                'v' ... ../src/syntax/typing.nit:813,29
+              ../src/syntax/typing.nit:813,32
+                ../src/syntax/typing.nit:813,32
+                't' ... ../src/syntax/typing.nit:813,32
+          ../src/syntax/typing.nit:814,3--27
+            'if' ... ../src/syntax/typing.nit:814,3--4
+            ../src/syntax/typing.nit:814,6--15
+              ../src/syntax/typing.nit:814,6--7
+                ../src/syntax/typing.nit:814,6
+                't2' ... ../src/syntax/typing.nit:814,6--7
+              ../src/syntax/typing.nit:814,12--15
+                'null' ... ../src/syntax/typing.nit:814,12--15
+            ../src/syntax/typing.nit:814,22--27
+              'return' ... ../src/syntax/typing.nit:814,22--27
+          ../src/syntax/typing.nit:817,3--44
+            'var' ... ../src/syntax/typing.nit:817,3--5
+            'btype' ... ../src/syntax/typing.nit:817,7--11
+            '=' ... ../src/syntax/typing.nit:817,13
+            ../src/syntax/typing.nit:817,15--44
+              ../src/syntax/typing.nit:817,15--29
+                ../src/syntax/typing.nit:817,15
+                  ../src/syntax/typing.nit:817,15
+                  'v' ... ../src/syntax/typing.nit:817,15
+                'base_flow_ctx' ... ../src/syntax/typing.nit:817,17--29
+              'stype' ... ../src/syntax/typing.nit:817,31--35
+              ../src/syntax/typing.nit:817,37--44
+                ../src/syntax/typing.nit:817,37
+                'variable' ... ../src/syntax/typing.nit:817,37--44
+          ../src/syntax/typing.nit:818,3--42
+            'if' ... ../src/syntax/typing.nit:818,3--4
+            ../src/syntax/typing.nit:818,6--29
+              'not' ... ../src/syntax/typing.nit:818,6--8
+              ../src/syntax/typing.nit:818,10--29
+                ../src/syntax/typing.nit:818,10
+                  ../src/syntax/typing.nit:818,10
+                  'v' ... ../src/syntax/typing.nit:818,10
+                'check_expr' ... ../src/syntax/typing.nit:818,12--21
+                ../src/syntax/typing.nit:818,23--29
+                  ../src/syntax/typing.nit:818,23
+                  'n_value' ... ../src/syntax/typing.nit:818,23--29
+            ../src/syntax/typing.nit:818,37--42
+              'return' ... ../src/syntax/typing.nit:818,37--42
+          ../src/syntax/typing.nit:819,3--74
+            'if' ... ../src/syntax/typing.nit:819,3--4
+            ../src/syntax/typing.nit:819,6--61
+              ../src/syntax/typing.nit:819,6--18
+                ../src/syntax/typing.nit:819,6--10
+                  ../src/syntax/typing.nit:819,6
+                  'btype' ... ../src/syntax/typing.nit:819,6--10
+                ../src/syntax/typing.nit:819,15--18
+                  'null' ... ../src/syntax/typing.nit:819,15--18
+              ../src/syntax/typing.nit:819,24--61
+                'not' ... ../src/syntax/typing.nit:819,24--26
+                ../src/syntax/typing.nit:819,28--61
+                  ../src/syntax/typing.nit:819,28
+                    ../src/syntax/typing.nit:819,28
+                    'v' ... ../src/syntax/typing.nit:819,28
+                  'check_conform' ... ../src/syntax/typing.nit:819,30--42
+                  ../src/syntax/typing.nit:819,44--50
+                    ../src/syntax/typing.nit:819,44
+                    'n_value' ... ../src/syntax/typing.nit:819,44--50
+                  ../src/syntax/typing.nit:819,53--54
+                    ../src/syntax/typing.nit:819,53
+                    't2' ... ../src/syntax/typing.nit:819,53--54
+                  ../src/syntax/typing.nit:819,57--61
+                    ../src/syntax/typing.nit:819,57
+                    'btype' ... ../src/syntax/typing.nit:819,57--61
+            ../src/syntax/typing.nit:819,69--74
+              'return' ... ../src/syntax/typing.nit:819,69--74
+          ../src/syntax/typing.nit:822,3--53
+            ../src/syntax/typing.nit:822,3
+              ../src/syntax/typing.nit:822,3
+              'v' ... ../src/syntax/typing.nit:822,3
+            'flow_ctx' ... ../src/syntax/typing.nit:822,5--12
+            '=' ... ../src/syntax/typing.nit:822,14
+            ../src/syntax/typing.nit:822,16--53
+              ../src/syntax/typing.nit:822,16--25
+                ../src/syntax/typing.nit:822,16
+                  ../src/syntax/typing.nit:822,16
+                  'v' ... ../src/syntax/typing.nit:822,16
+                'flow_ctx' ... ../src/syntax/typing.nit:822,18--25
+              'sub_with' ... ../src/syntax/typing.nit:822,27--34
+              ../src/syntax/typing.nit:822,36--39
+                'self' ... ../src/syntax/typing.nit:822,36--39
+              ../src/syntax/typing.nit:822,42--49
+                ../src/syntax/typing.nit:822,42
+                'variable' ... ../src/syntax/typing.nit:822,42--49
+              ../src/syntax/typing.nit:822,52--53
+                ../src/syntax/typing.nit:822,52
+                't2' ... ../src/syntax/typing.nit:822,52--53
+          ../src/syntax/typing.nit:824,3--18
+            ../src/syntax/typing.nit:824,15
+            '_is_typed' ... ../src/syntax/typing.nit:824,3--11
+            '=' ... ../src/syntax/typing.nit:824,13
+            ../src/syntax/typing.nit:824,15--18
+              'true' ... ../src/syntax/typing.nit:824,15--18
+    ../src/syntax/typing.nit:828,1--829,24
+      'redef' ... ../src/syntax/typing.nit:828,1--5
+      ../src/syntax/typing.nit:828,7
+      ../src/syntax/typing.nit:828,7--11
+        'class' ... ../src/syntax/typing.nit:828,7--11
+      'AAssignOp' ... ../src/syntax/typing.nit:828,13--21
+      ../src/syntax/typing.nit:829,2--24
+        ../src/syntax/typing.nit:829,6
+        'fun' ... ../src/syntax/typing.nit:829,2--4
+        ../src/syntax/typing.nit:829,6--16
+          'method_name' ... ../src/syntax/typing.nit:829,6--16
+        ../src/syntax/typing.nit:829,19--24
+          ../src/syntax/typing.nit:829,19--24
+            'Symbol' ... ../src/syntax/typing.nit:829,19--24
+    ../src/syntax/typing.nit:831,1--832,51
+      'redef' ... ../src/syntax/typing.nit:831,1--5
+      ../src/syntax/typing.nit:831,7
+      ../src/syntax/typing.nit:831,7--11
+        'class' ... ../src/syntax/typing.nit:831,7--11
+      'APlusAssignOp' ... ../src/syntax/typing.nit:831,13--25
+      ../src/syntax/typing.nit:832,2--51
+        'redef' ... ../src/syntax/typing.nit:832,2--6
+        ../src/syntax/typing.nit:832,12
+        'fun' ... ../src/syntax/typing.nit:832,8--10
+        ../src/syntax/typing.nit:832,12--22
+          'method_name' ... ../src/syntax/typing.nit:832,12--22
+        ../src/syntax/typing.nit:832,39
+        ../src/syntax/typing.nit:832,27--51
+          'return' ... ../src/syntax/typing.nit:832,27--32
+          ../src/syntax/typing.nit:832,34--51
+            'once' ... ../src/syntax/typing.nit:832,34--37
+            ../src/syntax/typing.nit:832,39--51
+              ../src/syntax/typing.nit:832,39--41
+                '"+"' ... ../src/syntax/typing.nit:832,39--41
+              'to_symbol' ... ../src/syntax/typing.nit:832,43--51
+    ../src/syntax/typing.nit:834,1--835,51
+      'redef' ... ../src/syntax/typing.nit:834,1--5
+      ../src/syntax/typing.nit:834,7
+      ../src/syntax/typing.nit:834,7--11
+        'class' ... ../src/syntax/typing.nit:834,7--11
+      'AMinusAssignOp' ... ../src/syntax/typing.nit:834,13--26
+      ../src/syntax/typing.nit:835,2--51
+        'redef' ... ../src/syntax/typing.nit:835,2--6
+        ../src/syntax/typing.nit:835,12
+        'fun' ... ../src/syntax/typing.nit:835,8--10
+        ../src/syntax/typing.nit:835,12--22
+          'method_name' ... ../src/syntax/typing.nit:835,12--22
+        ../src/syntax/typing.nit:835,39
+        ../src/syntax/typing.nit:835,27--51
+          'return' ... ../src/syntax/typing.nit:835,27--32
+          ../src/syntax/typing.nit:835,34--51
+            'once' ... ../src/syntax/typing.nit:835,34--37
+            ../src/syntax/typing.nit:835,39--51
+              ../src/syntax/typing.nit:835,39--41
+                '"-"' ... ../src/syntax/typing.nit:835,39--41
+              'to_symbol' ... ../src/syntax/typing.nit:835,43--51
+    ../src/syntax/typing.nit:838,1--851,40
+      'redef' ... ../src/syntax/typing.nit:838,1--5
+      ../src/syntax/typing.nit:838,7
+      ../src/syntax/typing.nit:838,7--11
+        'class' ... ../src/syntax/typing.nit:838,7--11
+      'ASelfExpr' ... ../src/syntax/typing.nit:838,13--21
+      ../src/syntax/typing.nit:839,2--38
+        ../src/syntax/typing.nit:839,17
+        'var' ... ../src/syntax/typing.nit:839,2--4
+        '_variable' ... ../src/syntax/typing.nit:839,6--14
+        ../src/syntax/typing.nit:839,17--38
+          'nullable' ... ../src/syntax/typing.nit:839,17--24
+          'ParamVariable' ... ../src/syntax/typing.nit:839,26--38
+      ../src/syntax/typing.nit:840,2--51
+        'redef' ... ../src/syntax/typing.nit:840,2--6
+        ../src/syntax/typing.nit:840,12
+        'fun' ... ../src/syntax/typing.nit:840,8--10
+        ../src/syntax/typing.nit:840,12--19
+          'variable' ... ../src/syntax/typing.nit:840,12--19
+        ../src/syntax/typing.nit:840,31
+        ../src/syntax/typing.nit:840,24--51
+          'return' ... ../src/syntax/typing.nit:840,24--29
+          ../src/syntax/typing.nit:840,31--51
+            ../src/syntax/typing.nit:840,31--39
+              ../src/syntax/typing.nit:840,31
+              '_variable' ... ../src/syntax/typing.nit:840,31--39
+            'as' ... ../src/syntax/typing.nit:840,41--42
+            'not' ... ../src/syntax/typing.nit:840,44--46
+            'null' ... ../src/syntax/typing.nit:840,48--51
+      ../src/syntax/typing.nit:842,2--42
+        'redef' ... ../src/syntax/typing.nit:842,2--6
+        ../src/syntax/typing.nit:842,12
+        'fun' ... ../src/syntax/typing.nit:842,8--10
+        ../src/syntax/typing.nit:842,12--23
+          'its_variable' ... ../src/syntax/typing.nit:842,12--23
+        ../src/syntax/typing.nit:842,35
+        ../src/syntax/typing.nit:842,28--42
+          'return' ... ../src/syntax/typing.nit:842,28--33
+          ../src/syntax/typing.nit:842,35--42
+            ../src/syntax/typing.nit:842,35
+            'variable' ... ../src/syntax/typing.nit:842,35--42
+      ../src/syntax/typing.nit:844,2--848,18
+        'redef' ... ../src/syntax/typing.nit:844,2--6
+        ../src/syntax/typing.nit:844,12
+        'fun' ... ../src/syntax/typing.nit:844,8--10
+        ../src/syntax/typing.nit:844,12--23
+          'after_typing' ... ../src/syntax/typing.nit:844,12--23
+        ../src/syntax/typing.nit:844,25
+          ../src/syntax/typing.nit:844,25
+            'v' ... ../src/syntax/typing.nit:844,25
+        ../src/syntax/typing.nit:846,3--848,18
+          ../src/syntax/typing.nit:846,3--24
+            ../src/syntax/typing.nit:846,15
+            '_variable' ... ../src/syntax/typing.nit:846,3--11
+            '=' ... ../src/syntax/typing.nit:846,13
+            ../src/syntax/typing.nit:846,15--24
+              ../src/syntax/typing.nit:846,15
+                ../src/syntax/typing.nit:846,15
+                'v' ... ../src/syntax/typing.nit:846,15
+              'self_var' ... ../src/syntax/typing.nit:846,17--24
+          ../src/syntax/typing.nit:847,3--36
+            ../src/syntax/typing.nit:847,12
+            '_stype' ... ../src/syntax/typing.nit:847,3--8
+            '=' ... ../src/syntax/typing.nit:847,10
+            ../src/syntax/typing.nit:847,12--36
+              ../src/syntax/typing.nit:847,12--21
+                ../src/syntax/typing.nit:847,12
+                  ../src/syntax/typing.nit:847,12
+                  'v' ... ../src/syntax/typing.nit:847,12
+                'flow_ctx' ... ../src/syntax/typing.nit:847,14--21
+              'stype' ... ../src/syntax/typing.nit:847,23--27
+              ../src/syntax/typing.nit:847,29--36
+                ../src/syntax/typing.nit:847,29
+                'variable' ... ../src/syntax/typing.nit:847,29--36
+          ../src/syntax/typing.nit:848,3--18
+            ../src/syntax/typing.nit:848,15
+            '_is_typed' ... ../src/syntax/typing.nit:848,3--11
+            '=' ... ../src/syntax/typing.nit:848,13
+            ../src/syntax/typing.nit:848,15--18
+              'true' ... ../src/syntax/typing.nit:848,15--18
+      ../src/syntax/typing.nit:851,9--40
+        'redef' ... ../src/syntax/typing.nit:851,9--13
+        ../src/syntax/typing.nit:851,19
+        'fun' ... ../src/syntax/typing.nit:851,15--17
+        ../src/syntax/typing.nit:851,19--25
+          'is_self' ... ../src/syntax/typing.nit:851,19--25
+        ../src/syntax/typing.nit:851,37
+        ../src/syntax/typing.nit:851,30--40
+          'return' ... ../src/syntax/typing.nit:851,30--35
+          ../src/syntax/typing.nit:851,37--40
+            'true' ... ../src/syntax/typing.nit:851,37--40
+    ../src/syntax/typing.nit:854,1--855,49
+      'redef' ... ../src/syntax/typing.nit:854,1--5
+      ../src/syntax/typing.nit:854,7
+      ../src/syntax/typing.nit:854,7--11
+        'class' ... ../src/syntax/typing.nit:854,7--11
+      'AImplicitSelfExpr' ... ../src/syntax/typing.nit:854,13--29
+      ../src/syntax/typing.nit:855,9--49
+        'redef' ... ../src/syntax/typing.nit:855,9--13
+        ../src/syntax/typing.nit:855,19
+        'fun' ... ../src/syntax/typing.nit:855,15--17
+        ../src/syntax/typing.nit:855,19--34
+          'is_implicit_self' ... ../src/syntax/typing.nit:855,19--34
+        ../src/syntax/typing.nit:855,46
+        ../src/syntax/typing.nit:855,39--49
+          'return' ... ../src/syntax/typing.nit:855,39--44
+          ../src/syntax/typing.nit:855,46--49
+            'true' ... ../src/syntax/typing.nit:855,46--49
+    ../src/syntax/typing.nit:858,1--890,18
+      'redef' ... ../src/syntax/typing.nit:858,1--5
+      ../src/syntax/typing.nit:858,7
+      ../src/syntax/typing.nit:858,7--11
+        'class' ... ../src/syntax/typing.nit:858,7--11
+      'AIfexprExpr' ... ../src/syntax/typing.nit:858,13--23
+      ../src/syntax/typing.nit:859,2--890,18
+        'redef' ... ../src/syntax/typing.nit:859,2--6
+        ../src/syntax/typing.nit:859,12
+        'fun' ... ../src/syntax/typing.nit:859,8--10
+        ../src/syntax/typing.nit:859,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:859,12--24
+        ../src/syntax/typing.nit:859,26
+          ../src/syntax/typing.nit:859,26
+            'v' ... ../src/syntax/typing.nit:859,26
+        ../src/syntax/typing.nit:861,3--890,18
+          ../src/syntax/typing.nit:861,3--31
+            'var' ... ../src/syntax/typing.nit:861,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:861,7--18
+            '=' ... ../src/syntax/typing.nit:861,20
+            ../src/syntax/typing.nit:861,22--31
+              ../src/syntax/typing.nit:861,22
+                ../src/syntax/typing.nit:861,22
+                'v' ... ../src/syntax/typing.nit:861,22
+              'flow_ctx' ... ../src/syntax/typing.nit:861,24--31
+          ../src/syntax/typing.nit:864,3--22
+            ../src/syntax/typing.nit:864,3
+              ../src/syntax/typing.nit:864,3
+              'v' ... ../src/syntax/typing.nit:864,3
+            'enter_visit' ... ../src/syntax/typing.nit:864,5--15
+            ../src/syntax/typing.nit:864,17--22
+              ../src/syntax/typing.nit:864,17
+              'n_expr' ... ../src/syntax/typing.nit:864,17--22
+          ../src/syntax/typing.nit:865,3--42
+            ../src/syntax/typing.nit:865,3
+              ../src/syntax/typing.nit:865,3
+              'v' ... ../src/syntax/typing.nit:865,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:865,5--22
+            ../src/syntax/typing.nit:865,24--29
+              ../src/syntax/typing.nit:865,24
+              'n_expr' ... ../src/syntax/typing.nit:865,24--29
+            ../src/syntax/typing.nit:865,32--42
+              ../src/syntax/typing.nit:865,32
+                ../src/syntax/typing.nit:865,32
+                'v' ... ../src/syntax/typing.nit:865,32
+              'type_bool' ... ../src/syntax/typing.nit:865,34--42
+          ../src/syntax/typing.nit:868,3--31
+            ../src/syntax/typing.nit:868,3
+              ../src/syntax/typing.nit:868,3
+              'v' ... ../src/syntax/typing.nit:868,3
+            'use_if_true_flow_ctx' ... ../src/syntax/typing.nit:868,5--24
+            ../src/syntax/typing.nit:868,26--31
+              ../src/syntax/typing.nit:868,26
+              'n_expr' ... ../src/syntax/typing.nit:868,26--31
+          ../src/syntax/typing.nit:871,3--28
+            ../src/syntax/typing.nit:871,3
+              ../src/syntax/typing.nit:871,3
+              'v' ... ../src/syntax/typing.nit:871,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:871,5--21
+            ../src/syntax/typing.nit:871,23--28
+              ../src/syntax/typing.nit:871,23
+              'n_then' ... ../src/syntax/typing.nit:871,23--28
+          ../src/syntax/typing.nit:874,3--32
+            'var' ... ../src/syntax/typing.nit:874,3--5
+            'then_flow_ctx' ... ../src/syntax/typing.nit:874,7--19
+            '=' ... ../src/syntax/typing.nit:874,21
+            ../src/syntax/typing.nit:874,23--32
+              ../src/syntax/typing.nit:874,23
+                ../src/syntax/typing.nit:874,23
+                'v' ... ../src/syntax/typing.nit:874,23
+              'flow_ctx' ... ../src/syntax/typing.nit:874,25--32
+          ../src/syntax/typing.nit:877,3--27
+            ../src/syntax/typing.nit:877,3
+              ../src/syntax/typing.nit:877,3
+              'v' ... ../src/syntax/typing.nit:877,3
+            'flow_ctx' ... ../src/syntax/typing.nit:877,5--12
+            '=' ... ../src/syntax/typing.nit:877,14
+            ../src/syntax/typing.nit:877,16--27
+              ../src/syntax/typing.nit:877,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:877,16--27
+          ../src/syntax/typing.nit:878,3--32
+            ../src/syntax/typing.nit:878,3
+              ../src/syntax/typing.nit:878,3
+              'v' ... ../src/syntax/typing.nit:878,3
+            'use_if_false_flow_ctx' ... ../src/syntax/typing.nit:878,5--25
+            ../src/syntax/typing.nit:878,27--32
+              ../src/syntax/typing.nit:878,27
+              'n_expr' ... ../src/syntax/typing.nit:878,27--32
+          ../src/syntax/typing.nit:881,3--28
+            ../src/syntax/typing.nit:881,3
+              ../src/syntax/typing.nit:881,3
+              'v' ... ../src/syntax/typing.nit:881,3
+            'enter_visit_block' ... ../src/syntax/typing.nit:881,5--21
+            ../src/syntax/typing.nit:881,23--28
+              ../src/syntax/typing.nit:881,23
+              'n_else' ... ../src/syntax/typing.nit:881,23--28
+          ../src/syntax/typing.nit:884,3--74
+            ../src/syntax/typing.nit:884,3
+              ../src/syntax/typing.nit:884,3
+              'v' ... ../src/syntax/typing.nit:884,3
+            'flow_ctx' ... ../src/syntax/typing.nit:884,5--12
+            '=' ... ../src/syntax/typing.nit:884,14
+            ../src/syntax/typing.nit:884,16--74
+              ../src/syntax/typing.nit:884,16--30
+                ../src/syntax/typing.nit:884,16
+                  ../src/syntax/typing.nit:884,16
+                  'v' ... ../src/syntax/typing.nit:884,16
+                'base_flow_ctx' ... ../src/syntax/typing.nit:884,18--30
+              'merge_reash' ... ../src/syntax/typing.nit:884,32--42
+              ../src/syntax/typing.nit:884,44--47
+                'self' ... ../src/syntax/typing.nit:884,44--47
+              ../src/syntax/typing.nit:884,50--62
+                ../src/syntax/typing.nit:884,50
+                'then_flow_ctx' ... ../src/syntax/typing.nit:884,50--62
+              ../src/syntax/typing.nit:884,65--74
+                ../src/syntax/typing.nit:884,65
+                  ../src/syntax/typing.nit:884,65
+                  'v' ... ../src/syntax/typing.nit:884,65
+                'flow_ctx' ... ../src/syntax/typing.nit:884,67--74
+          ../src/syntax/typing.nit:886,3--61
+            'var' ... ../src/syntax/typing.nit:886,3--5
+            'stype' ... ../src/syntax/typing.nit:886,7--11
+            '=' ... ../src/syntax/typing.nit:886,13
+            ../src/syntax/typing.nit:886,15--61
+              ../src/syntax/typing.nit:886,15
+                ../src/syntax/typing.nit:886,15
+                'v' ... ../src/syntax/typing.nit:886,15
+              'check_conform_multiexpr' ... ../src/syntax/typing.nit:886,17--39
+              ../src/syntax/typing.nit:886,41--44
+                'null' ... ../src/syntax/typing.nit:886,41--44
+              ../src/syntax/typing.nit:886,48--61
+                ../src/syntax/typing.nit:886,48--53
+                  ../src/syntax/typing.nit:886,48
+                  'n_then' ... ../src/syntax/typing.nit:886,48--53
+                ../src/syntax/typing.nit:886,56--61
+                  ../src/syntax/typing.nit:886,56
+                  'n_else' ... ../src/syntax/typing.nit:886,56--61
+          ../src/syntax/typing.nit:887,3--30
+            'if' ... ../src/syntax/typing.nit:887,3--4
+            ../src/syntax/typing.nit:887,6--18
+              ../src/syntax/typing.nit:887,6--10
+                ../src/syntax/typing.nit:887,6
+                'stype' ... ../src/syntax/typing.nit:887,6--10
+              ../src/syntax/typing.nit:887,15--18
+                'null' ... ../src/syntax/typing.nit:887,15--18
+            ../src/syntax/typing.nit:887,25--30
+              'return' ... ../src/syntax/typing.nit:887,25--30
+          ../src/syntax/typing.nit:889,3--16
+            ../src/syntax/typing.nit:889,12
+            '_stype' ... ../src/syntax/typing.nit:889,3--8
+            '=' ... ../src/syntax/typing.nit:889,10
+            ../src/syntax/typing.nit:889,12--16
+              ../src/syntax/typing.nit:889,12
+              'stype' ... ../src/syntax/typing.nit:889,12--16
+          ../src/syntax/typing.nit:890,3--18
+            ../src/syntax/typing.nit:890,15
+            '_is_typed' ... ../src/syntax/typing.nit:890,3--11
+            '=' ... ../src/syntax/typing.nit:890,13
+            ../src/syntax/typing.nit:890,15--18
+              'true' ... ../src/syntax/typing.nit:890,15--18
+    ../src/syntax/typing.nit:894,1--898,18
+      'redef' ... ../src/syntax/typing.nit:894,1--5
+      ../src/syntax/typing.nit:894,7
+      ../src/syntax/typing.nit:894,7--11
+        'class' ... ../src/syntax/typing.nit:894,7--11
+      'ABoolExpr' ... ../src/syntax/typing.nit:894,13--21
+      ../src/syntax/typing.nit:895,2--898,18
+        'redef' ... ../src/syntax/typing.nit:895,2--6
+        ../src/syntax/typing.nit:895,12
+        'fun' ... ../src/syntax/typing.nit:895,8--10
+        ../src/syntax/typing.nit:895,12--23
+          'after_typing' ... ../src/syntax/typing.nit:895,12--23
+        ../src/syntax/typing.nit:895,25
+          ../src/syntax/typing.nit:895,25
+            'v' ... ../src/syntax/typing.nit:895,25
+        ../src/syntax/typing.nit:897,3--898,18
+          ../src/syntax/typing.nit:897,3--22
+            ../src/syntax/typing.nit:897,12
+            '_stype' ... ../src/syntax/typing.nit:897,3--8
+            '=' ... ../src/syntax/typing.nit:897,10
+            ../src/syntax/typing.nit:897,12--22
+              ../src/syntax/typing.nit:897,12
+                ../src/syntax/typing.nit:897,12
+                'v' ... ../src/syntax/typing.nit:897,12
+              'type_bool' ... ../src/syntax/typing.nit:897,14--22
+          ../src/syntax/typing.nit:898,3--18
+            ../src/syntax/typing.nit:898,15
+            '_is_typed' ... ../src/syntax/typing.nit:898,3--11
+            '=' ... ../src/syntax/typing.nit:898,13
+            ../src/syntax/typing.nit:898,15--18
+              'true' ... ../src/syntax/typing.nit:898,15--18
+    ../src/syntax/typing.nit:902,1--928,18
+      'redef' ... ../src/syntax/typing.nit:902,1--5
+      ../src/syntax/typing.nit:902,7
+      ../src/syntax/typing.nit:902,7--11
+        'class' ... ../src/syntax/typing.nit:902,7--11
+      'AOrExpr' ... ../src/syntax/typing.nit:902,13--19
+      ../src/syntax/typing.nit:903,2--928,18
+        'redef' ... ../src/syntax/typing.nit:903,2--6
+        ../src/syntax/typing.nit:903,12
+        'fun' ... ../src/syntax/typing.nit:903,8--10
+        ../src/syntax/typing.nit:903,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:903,12--24
+        ../src/syntax/typing.nit:903,26
+          ../src/syntax/typing.nit:903,26
+            'v' ... ../src/syntax/typing.nit:903,26
+        ../src/syntax/typing.nit:905,3--928,18
+          ../src/syntax/typing.nit:905,3--31
+            'var' ... ../src/syntax/typing.nit:905,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:905,7--18
+            '=' ... ../src/syntax/typing.nit:905,20
+            ../src/syntax/typing.nit:905,22--31
+              ../src/syntax/typing.nit:905,22
+                ../src/syntax/typing.nit:905,22
+                'v' ... ../src/syntax/typing.nit:905,22
+              'flow_ctx' ... ../src/syntax/typing.nit:905,24--31
+          ../src/syntax/typing.nit:906,3--25
+            'var' ... ../src/syntax/typing.nit:906,3--5
+            'stype' ... ../src/syntax/typing.nit:906,7--11
+            '=' ... ../src/syntax/typing.nit:906,13
+            ../src/syntax/typing.nit:906,15--25
+              ../src/syntax/typing.nit:906,15
+                ../src/syntax/typing.nit:906,15
+                'v' ... ../src/syntax/typing.nit:906,15
+              'type_bool' ... ../src/syntax/typing.nit:906,17--25
+          ../src/syntax/typing.nit:907,3--16
+            ../src/syntax/typing.nit:907,12
+            '_stype' ... ../src/syntax/typing.nit:907,3--8
+            '=' ... ../src/syntax/typing.nit:907,10
+            ../src/syntax/typing.nit:907,12--16
+              ../src/syntax/typing.nit:907,12
+              'stype' ... ../src/syntax/typing.nit:907,12--16
+          ../src/syntax/typing.nit:910,3--22
+            ../src/syntax/typing.nit:910,3
+              ../src/syntax/typing.nit:910,3
+              'v' ... ../src/syntax/typing.nit:910,3
+            'enter_visit' ... ../src/syntax/typing.nit:910,5--15
+            ../src/syntax/typing.nit:910,17--22
+              ../src/syntax/typing.nit:910,17
+              'n_expr' ... ../src/syntax/typing.nit:910,17--22
+          ../src/syntax/typing.nit:913,3--32
+            ../src/syntax/typing.nit:913,3
+              ../src/syntax/typing.nit:913,3
+              'v' ... ../src/syntax/typing.nit:913,3
+            'use_if_false_flow_ctx' ... ../src/syntax/typing.nit:913,5--25
+            ../src/syntax/typing.nit:913,27--32
+              ../src/syntax/typing.nit:913,27
+              'n_expr' ... ../src/syntax/typing.nit:913,27--32
+          ../src/syntax/typing.nit:916,3--23
+            ../src/syntax/typing.nit:916,3
+              ../src/syntax/typing.nit:916,3
+              'v' ... ../src/syntax/typing.nit:916,3
+            'enter_visit' ... ../src/syntax/typing.nit:916,5--15
+            ../src/syntax/typing.nit:916,17--23
+              ../src/syntax/typing.nit:916,17
+              'n_expr2' ... ../src/syntax/typing.nit:916,17--23
+          ../src/syntax/typing.nit:917,3--920,34
+            'if' ... ../src/syntax/typing.nit:917,3--4
+            ../src/syntax/typing.nit:917,6--38
+              ../src/syntax/typing.nit:917,6--30
+                ../src/syntax/typing.nit:917,6--12
+                  ../src/syntax/typing.nit:917,6
+                  'n_expr2' ... ../src/syntax/typing.nit:917,6--12
+                'if_false_flow_ctx' ... ../src/syntax/typing.nit:917,14--30
+              ../src/syntax/typing.nit:917,35--38
+                'null' ... ../src/syntax/typing.nit:917,35--38
+            ../src/syntax/typing.nit:918,4--49
+              ../src/syntax/typing.nit:918,4--49
+                ../src/syntax/typing.nit:918,25
+                '_if_false_flow_ctx' ... ../src/syntax/typing.nit:918,4--21
+                '=' ... ../src/syntax/typing.nit:918,23
+                ../src/syntax/typing.nit:918,25--49
+                  ../src/syntax/typing.nit:918,25--31
+                    ../src/syntax/typing.nit:918,25
+                    'n_expr2' ... ../src/syntax/typing.nit:918,25--31
+                  'if_false_flow_ctx' ... ../src/syntax/typing.nit:918,33--49
+            ../src/syntax/typing.nit:920,4--34
+              ../src/syntax/typing.nit:920,4--34
+                ../src/syntax/typing.nit:920,25
+                '_if_false_flow_ctx' ... ../src/syntax/typing.nit:920,4--21
+                '=' ... ../src/syntax/typing.nit:920,23
+                ../src/syntax/typing.nit:920,25--34
+                  ../src/syntax/typing.nit:920,25
+                    ../src/syntax/typing.nit:920,25
+                    'v' ... ../src/syntax/typing.nit:920,25
+                  'flow_ctx' ... ../src/syntax/typing.nit:920,27--34
+          ../src/syntax/typing.nit:923,3--27
+            ../src/syntax/typing.nit:923,3
+              ../src/syntax/typing.nit:923,3
+              'v' ... ../src/syntax/typing.nit:923,3
+            'flow_ctx' ... ../src/syntax/typing.nit:923,5--12
+            '=' ... ../src/syntax/typing.nit:923,14
+            ../src/syntax/typing.nit:923,16--27
+              ../src/syntax/typing.nit:923,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:923,16--27
+          ../src/syntax/typing.nit:925,3--36
+            ../src/syntax/typing.nit:925,3
+              ../src/syntax/typing.nit:925,3
+              'v' ... ../src/syntax/typing.nit:925,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:925,5--22
+            ../src/syntax/typing.nit:925,24--29
+              ../src/syntax/typing.nit:925,24
+              'n_expr' ... ../src/syntax/typing.nit:925,24--29
+            ../src/syntax/typing.nit:925,32--36
+              ../src/syntax/typing.nit:925,32
+              'stype' ... ../src/syntax/typing.nit:925,32--36
+          ../src/syntax/typing.nit:926,3--37
+            ../src/syntax/typing.nit:926,3
+              ../src/syntax/typing.nit:926,3
+              'v' ... ../src/syntax/typing.nit:926,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:926,5--22
+            ../src/syntax/typing.nit:926,24--30
+              ../src/syntax/typing.nit:926,24
+              'n_expr2' ... ../src/syntax/typing.nit:926,24--30
+            ../src/syntax/typing.nit:926,33--37
+              ../src/syntax/typing.nit:926,33
+              'stype' ... ../src/syntax/typing.nit:926,33--37
+          ../src/syntax/typing.nit:927,3--16
+            ../src/syntax/typing.nit:927,12
+            '_stype' ... ../src/syntax/typing.nit:927,3--8
+            '=' ... ../src/syntax/typing.nit:927,10
+            ../src/syntax/typing.nit:927,12--16
+              ../src/syntax/typing.nit:927,12
+              'stype' ... ../src/syntax/typing.nit:927,12--16
+          ../src/syntax/typing.nit:928,3--18
+            ../src/syntax/typing.nit:928,15
+            '_is_typed' ... ../src/syntax/typing.nit:928,3--11
+            '=' ... ../src/syntax/typing.nit:928,13
+            ../src/syntax/typing.nit:928,15--18
+              'true' ... ../src/syntax/typing.nit:928,15--18
+    ../src/syntax/typing.nit:932,1--957,18
+      'redef' ... ../src/syntax/typing.nit:932,1--5
+      ../src/syntax/typing.nit:932,7
+      ../src/syntax/typing.nit:932,7--11
+        'class' ... ../src/syntax/typing.nit:932,7--11
+      'AAndExpr' ... ../src/syntax/typing.nit:932,13--20
+      ../src/syntax/typing.nit:933,2--957,18
+        'redef' ... ../src/syntax/typing.nit:933,2--6
+        ../src/syntax/typing.nit:933,12
+        'fun' ... ../src/syntax/typing.nit:933,8--10
+        ../src/syntax/typing.nit:933,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:933,12--24
+        ../src/syntax/typing.nit:933,26
+          ../src/syntax/typing.nit:933,26
+            'v' ... ../src/syntax/typing.nit:933,26
+        ../src/syntax/typing.nit:935,3--957,18
+          ../src/syntax/typing.nit:935,3--31
+            'var' ... ../src/syntax/typing.nit:935,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:935,7--18
+            '=' ... ../src/syntax/typing.nit:935,20
+            ../src/syntax/typing.nit:935,22--31
+              ../src/syntax/typing.nit:935,22
+                ../src/syntax/typing.nit:935,22
+                'v' ... ../src/syntax/typing.nit:935,22
+              'flow_ctx' ... ../src/syntax/typing.nit:935,24--31
+          ../src/syntax/typing.nit:936,3--25
+            'var' ... ../src/syntax/typing.nit:936,3--5
+            'stype' ... ../src/syntax/typing.nit:936,7--11
+            '=' ... ../src/syntax/typing.nit:936,13
+            ../src/syntax/typing.nit:936,15--25
+              ../src/syntax/typing.nit:936,15
+                ../src/syntax/typing.nit:936,15
+                'v' ... ../src/syntax/typing.nit:936,15
+              'type_bool' ... ../src/syntax/typing.nit:936,17--25
+          ../src/syntax/typing.nit:939,3--22
+            ../src/syntax/typing.nit:939,3
+              ../src/syntax/typing.nit:939,3
+              'v' ... ../src/syntax/typing.nit:939,3
+            'enter_visit' ... ../src/syntax/typing.nit:939,5--15
+            ../src/syntax/typing.nit:939,17--22
+              ../src/syntax/typing.nit:939,17
+              'n_expr' ... ../src/syntax/typing.nit:939,17--22
+          ../src/syntax/typing.nit:942,3--31
+            ../src/syntax/typing.nit:942,3
+              ../src/syntax/typing.nit:942,3
+              'v' ... ../src/syntax/typing.nit:942,3
+            'use_if_true_flow_ctx' ... ../src/syntax/typing.nit:942,5--24
+            ../src/syntax/typing.nit:942,26--31
+              ../src/syntax/typing.nit:942,26
+              'n_expr' ... ../src/syntax/typing.nit:942,26--31
+          ../src/syntax/typing.nit:945,3--23
+            ../src/syntax/typing.nit:945,3
+              ../src/syntax/typing.nit:945,3
+              'v' ... ../src/syntax/typing.nit:945,3
+            'enter_visit' ... ../src/syntax/typing.nit:945,5--15
+            ../src/syntax/typing.nit:945,17--23
+              ../src/syntax/typing.nit:945,17
+              'n_expr2' ... ../src/syntax/typing.nit:945,17--23
+          ../src/syntax/typing.nit:946,3--949,33
+            'if' ... ../src/syntax/typing.nit:946,3--4
+            ../src/syntax/typing.nit:946,6--37
+              ../src/syntax/typing.nit:946,6--29
+                ../src/syntax/typing.nit:946,6--12
+                  ../src/syntax/typing.nit:946,6
+                  'n_expr2' ... ../src/syntax/typing.nit:946,6--12
+                'if_true_flow_ctx' ... ../src/syntax/typing.nit:946,14--29
+              ../src/syntax/typing.nit:946,34--37
+                'null' ... ../src/syntax/typing.nit:946,34--37
+            ../src/syntax/typing.nit:947,4--47
+              ../src/syntax/typing.nit:947,4--47
+                ../src/syntax/typing.nit:947,24
+                '_if_true_flow_ctx' ... ../src/syntax/typing.nit:947,4--20
+                '=' ... ../src/syntax/typing.nit:947,22
+                ../src/syntax/typing.nit:947,24--47
+                  ../src/syntax/typing.nit:947,24--30
+                    ../src/syntax/typing.nit:947,24
+                    'n_expr2' ... ../src/syntax/typing.nit:947,24--30
+                  'if_true_flow_ctx' ... ../src/syntax/typing.nit:947,32--47
+            ../src/syntax/typing.nit:949,4--33
+              ../src/syntax/typing.nit:949,4--33
+                ../src/syntax/typing.nit:949,24
+                '_if_true_flow_ctx' ... ../src/syntax/typing.nit:949,4--20
+                '=' ... ../src/syntax/typing.nit:949,22
+                ../src/syntax/typing.nit:949,24--33
+                  ../src/syntax/typing.nit:949,24
+                    ../src/syntax/typing.nit:949,24
+                    'v' ... ../src/syntax/typing.nit:949,24
+                  'flow_ctx' ... ../src/syntax/typing.nit:949,26--33
+          ../src/syntax/typing.nit:952,3--27
+            ../src/syntax/typing.nit:952,3
+              ../src/syntax/typing.nit:952,3
+              'v' ... ../src/syntax/typing.nit:952,3
+            'flow_ctx' ... ../src/syntax/typing.nit:952,5--12
+            '=' ... ../src/syntax/typing.nit:952,14
+            ../src/syntax/typing.nit:952,16--27
+              ../src/syntax/typing.nit:952,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:952,16--27
+          ../src/syntax/typing.nit:954,3--36
+            ../src/syntax/typing.nit:954,3
+              ../src/syntax/typing.nit:954,3
+              'v' ... ../src/syntax/typing.nit:954,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:954,5--22
+            ../src/syntax/typing.nit:954,24--29
+              ../src/syntax/typing.nit:954,24
+              'n_expr' ... ../src/syntax/typing.nit:954,24--29
+            ../src/syntax/typing.nit:954,32--36
+              ../src/syntax/typing.nit:954,32
+              'stype' ... ../src/syntax/typing.nit:954,32--36
+          ../src/syntax/typing.nit:955,3--37
+            ../src/syntax/typing.nit:955,3
+              ../src/syntax/typing.nit:955,3
+              'v' ... ../src/syntax/typing.nit:955,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:955,5--22
+            ../src/syntax/typing.nit:955,24--30
+              ../src/syntax/typing.nit:955,24
+              'n_expr2' ... ../src/syntax/typing.nit:955,24--30
+            ../src/syntax/typing.nit:955,33--37
+              ../src/syntax/typing.nit:955,33
+              'stype' ... ../src/syntax/typing.nit:955,33--37
+          ../src/syntax/typing.nit:956,3--16
+            ../src/syntax/typing.nit:956,12
+            '_stype' ... ../src/syntax/typing.nit:956,3--8
+            '=' ... ../src/syntax/typing.nit:956,10
+            ../src/syntax/typing.nit:956,12--16
+              ../src/syntax/typing.nit:956,12
+              'stype' ... ../src/syntax/typing.nit:956,12--16
+          ../src/syntax/typing.nit:957,3--18
+            ../src/syntax/typing.nit:957,15
+            '_is_typed' ... ../src/syntax/typing.nit:957,3--11
+            '=' ... ../src/syntax/typing.nit:957,13
+            ../src/syntax/typing.nit:957,15--18
+              'true' ... ../src/syntax/typing.nit:957,15--18
+    ../src/syntax/typing.nit:961,1--971,18
+      'redef' ... ../src/syntax/typing.nit:961,1--5
+      ../src/syntax/typing.nit:961,7
+      ../src/syntax/typing.nit:961,7--11
+        'class' ... ../src/syntax/typing.nit:961,7--11
+      'ANotExpr' ... ../src/syntax/typing.nit:961,13--20
+      ../src/syntax/typing.nit:962,2--971,18
+        'redef' ... ../src/syntax/typing.nit:962,2--6
+        ../src/syntax/typing.nit:962,12
+        'fun' ... ../src/syntax/typing.nit:962,8--10
+        ../src/syntax/typing.nit:962,12--23
+          'after_typing' ... ../src/syntax/typing.nit:962,12--23
+        ../src/syntax/typing.nit:962,25
+          ../src/syntax/typing.nit:962,25
+            'v' ... ../src/syntax/typing.nit:962,25
+        ../src/syntax/typing.nit:964,3--971,18
+          ../src/syntax/typing.nit:964,3--42
+            ../src/syntax/typing.nit:964,3
+              ../src/syntax/typing.nit:964,3
+              'v' ... ../src/syntax/typing.nit:964,3
+            'check_conform_expr' ... ../src/syntax/typing.nit:964,5--22
+            ../src/syntax/typing.nit:964,24--29
+              ../src/syntax/typing.nit:964,24
+              'n_expr' ... ../src/syntax/typing.nit:964,24--29
+            ../src/syntax/typing.nit:964,32--42
+              ../src/syntax/typing.nit:964,32
+                ../src/syntax/typing.nit:964,32
+                'v' ... ../src/syntax/typing.nit:964,32
+              'type_bool' ... ../src/syntax/typing.nit:964,34--42
+          ../src/syntax/typing.nit:967,3--47
+            ../src/syntax/typing.nit:967,24
+            '_if_false_flow_ctx' ... ../src/syntax/typing.nit:967,3--20
+            '=' ... ../src/syntax/typing.nit:967,22
+            ../src/syntax/typing.nit:967,24--47
+              ../src/syntax/typing.nit:967,24--29
+                ../src/syntax/typing.nit:967,24
+                'n_expr' ... ../src/syntax/typing.nit:967,24--29
+              '_if_true_flow_ctx' ... ../src/syntax/typing.nit:967,31--47
+          ../src/syntax/typing.nit:968,3--47
+            ../src/syntax/typing.nit:968,23
+            '_if_true_flow_ctx' ... ../src/syntax/typing.nit:968,3--19
+            '=' ... ../src/syntax/typing.nit:968,21
+            ../src/syntax/typing.nit:968,23--47
+              ../src/syntax/typing.nit:968,23--28
+                ../src/syntax/typing.nit:968,23
+                'n_expr' ... ../src/syntax/typing.nit:968,23--28
+              '_if_false_flow_ctx' ... ../src/syntax/typing.nit:968,30--47
+          ../src/syntax/typing.nit:970,3--22
+            ../src/syntax/typing.nit:970,12
+            '_stype' ... ../src/syntax/typing.nit:970,3--8
+            '=' ... ../src/syntax/typing.nit:970,10
+            ../src/syntax/typing.nit:970,12--22
+              ../src/syntax/typing.nit:970,12
+                ../src/syntax/typing.nit:970,12
+                'v' ... ../src/syntax/typing.nit:970,12
+              'type_bool' ... ../src/syntax/typing.nit:970,14--22
+          ../src/syntax/typing.nit:971,3--18
+            ../src/syntax/typing.nit:971,15
+            '_is_typed' ... ../src/syntax/typing.nit:971,3--11
+            '=' ... ../src/syntax/typing.nit:971,13
+            ../src/syntax/typing.nit:971,15--18
+              'true' ... ../src/syntax/typing.nit:971,15--18
+    ../src/syntax/typing.nit:975,1--1010,18
+      'redef' ... ../src/syntax/typing.nit:975,1--5
+      ../src/syntax/typing.nit:975,7
+      ../src/syntax/typing.nit:975,7--11
+        'class' ... ../src/syntax/typing.nit:975,7--11
+      'AOrElseExpr' ... ../src/syntax/typing.nit:975,13--23
+      ../src/syntax/typing.nit:976,2--1010,18
+        'redef' ... ../src/syntax/typing.nit:976,2--6
+        ../src/syntax/typing.nit:976,12
+        'fun' ... ../src/syntax/typing.nit:976,8--10
+        ../src/syntax/typing.nit:976,12--23
+          'after_typing' ... ../src/syntax/typing.nit:976,12--23
+        ../src/syntax/typing.nit:976,25
+          ../src/syntax/typing.nit:976,25
+            'v' ... ../src/syntax/typing.nit:976,25
+        ../src/syntax/typing.nit:978,3--1010,18
+          ../src/syntax/typing.nit:978,3--31
+            'var' ... ../src/syntax/typing.nit:978,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:978,7--18
+            '=' ... ../src/syntax/typing.nit:978,20
+            ../src/syntax/typing.nit:978,22--31
+              ../src/syntax/typing.nit:978,22
+                ../src/syntax/typing.nit:978,22
+                'v' ... ../src/syntax/typing.nit:978,22
+              'flow_ctx' ... ../src/syntax/typing.nit:978,24--31
+          ../src/syntax/typing.nit:981,3--22
+            ../src/syntax/typing.nit:981,3
+              ../src/syntax/typing.nit:981,3
+              'v' ... ../src/syntax/typing.nit:981,3
+            'enter_visit' ... ../src/syntax/typing.nit:981,5--15
+            ../src/syntax/typing.nit:981,17--22
+              ../src/syntax/typing.nit:981,17
+              'n_expr' ... ../src/syntax/typing.nit:981,17--22
+          ../src/syntax/typing.nit:982,3--21
+            ../src/syntax/typing.nit:982,3
+              ../src/syntax/typing.nit:982,3
+              'v' ... ../src/syntax/typing.nit:982,3
+            'check_expr' ... ../src/syntax/typing.nit:982,5--14
+            ../src/syntax/typing.nit:982,16--21
+              ../src/syntax/typing.nit:982,16
+              'n_expr' ... ../src/syntax/typing.nit:982,16--21
+          ../src/syntax/typing.nit:985,3--22
+            'var' ... ../src/syntax/typing.nit:985,3--5
+            't' ... ../src/syntax/typing.nit:985,7
+            '=' ... ../src/syntax/typing.nit:985,9
+            ../src/syntax/typing.nit:985,11--22
+              ../src/syntax/typing.nit:985,11--16
+                ../src/syntax/typing.nit:985,11
+                'n_expr' ... ../src/syntax/typing.nit:985,11--16
+              'stype' ... ../src/syntax/typing.nit:985,18--22
+          ../src/syntax/typing.nit:986,3--989,19
+            'if' ... ../src/syntax/typing.nit:986,3--4
+            ../src/syntax/typing.nit:986,6--22
+              'not' ... ../src/syntax/typing.nit:986,6--8
+              ../src/syntax/typing.nit:986,10--22
+                ../src/syntax/typing.nit:986,10
+                  ../src/syntax/typing.nit:986,10
+                  't' ... ../src/syntax/typing.nit:986,10
+                'is_nullable' ... ../src/syntax/typing.nit:986,12--22
+            ../src/syntax/typing.nit:987,4--83
+              ../src/syntax/typing.nit:987,4--83
+                ../src/syntax/typing.nit:987,4
+                  ../src/syntax/typing.nit:987,4
+                  'v' ... ../src/syntax/typing.nit:987,4
+                'warning' ... ../src/syntax/typing.nit:987,6--12
+                ../src/syntax/typing.nit:987,14--19
+                  ../src/syntax/typing.nit:987,14
+                  'n_expr' ... ../src/syntax/typing.nit:987,14--19
+                ../src/syntax/typing.nit:987,22--83
+                  '"Warning: left operant of a 'or else' is not a nullable type."' ... ../src/syntax/typing.nit:987,22--83
+            ../src/syntax/typing.nit:989,4--19
+              ../src/syntax/typing.nit:989,4--19
+                ../src/syntax/typing.nit:989,8
+                't' ... ../src/syntax/typing.nit:989,4
+                '=' ... ../src/syntax/typing.nit:989,6
+                ../src/syntax/typing.nit:989,8--19
+                  ../src/syntax/typing.nit:989,8
+                    ../src/syntax/typing.nit:989,8
+                    't' ... ../src/syntax/typing.nit:989,8
+                  'as_notnull' ... ../src/syntax/typing.nit:989,10--19
+          ../src/syntax/typing.nit:993,3--36
+            'var' ... ../src/syntax/typing.nit:993,3--5
+            'variable' ... ../src/syntax/typing.nit:993,7--14
+            '=' ... ../src/syntax/typing.nit:993,16
+            ../src/syntax/typing.nit:993,18--36
+              ../src/syntax/typing.nit:993,18--23
+                ../src/syntax/typing.nit:993,18
+                'n_expr' ... ../src/syntax/typing.nit:993,18--23
+              'its_variable' ... ../src/syntax/typing.nit:993,25--36
+          ../src/syntax/typing.nit:994,3--995,50
+            'if' ... ../src/syntax/typing.nit:994,3--4
+            ../src/syntax/typing.nit:994,6--21
+              ../src/syntax/typing.nit:994,6--13
+                ../src/syntax/typing.nit:994,6
+                'variable' ... ../src/syntax/typing.nit:994,6--13
+              ../src/syntax/typing.nit:994,18--21
+                'null' ... ../src/syntax/typing.nit:994,18--21
+            ../src/syntax/typing.nit:995,4--50
+              ../src/syntax/typing.nit:995,4--50
+                ../src/syntax/typing.nit:995,4--13
+                  ../src/syntax/typing.nit:995,4
+                    ../src/syntax/typing.nit:995,4
+                    'v' ... ../src/syntax/typing.nit:995,4
+                  'flow_ctx' ... ../src/syntax/typing.nit:995,6--13
+                'sub_with' ... ../src/syntax/typing.nit:995,15--22
+                ../src/syntax/typing.nit:995,24--27
+                  'self' ... ../src/syntax/typing.nit:995,24--27
+                ../src/syntax/typing.nit:995,30--37
+                  ../src/syntax/typing.nit:995,30
+                  'variable' ... ../src/syntax/typing.nit:995,30--37
+                ../src/syntax/typing.nit:995,40--50
+                  ../src/syntax/typing.nit:995,40
+                    ../src/syntax/typing.nit:995,40
+                    'v' ... ../src/syntax/typing.nit:995,40
+                  'type_none' ... ../src/syntax/typing.nit:995,42--50
+          ../src/syntax/typing.nit:999,3--23
+            ../src/syntax/typing.nit:999,3
+              ../src/syntax/typing.nit:999,3
+              'v' ... ../src/syntax/typing.nit:999,3
+            'enter_visit' ... ../src/syntax/typing.nit:999,5--15
+            ../src/syntax/typing.nit:999,17--23
+              ../src/syntax/typing.nit:999,17
+              'n_expr2' ... ../src/syntax/typing.nit:999,17--23
+          ../src/syntax/typing.nit:1000,3--21
+            ../src/syntax/typing.nit:1000,3
+              ../src/syntax/typing.nit:1000,3
+              'v' ... ../src/syntax/typing.nit:1000,3
+            'check_expr' ... ../src/syntax/typing.nit:1000,5--14
+            ../src/syntax/typing.nit:1000,16--21
+              ../src/syntax/typing.nit:1000,16
+              'n_expr' ... ../src/syntax/typing.nit:1000,16--21
+          ../src/syntax/typing.nit:1003,3--27
+            ../src/syntax/typing.nit:1003,3
+              ../src/syntax/typing.nit:1003,3
+              'v' ... ../src/syntax/typing.nit:1003,3
+            'flow_ctx' ... ../src/syntax/typing.nit:1003,5--12
+            '=' ... ../src/syntax/typing.nit:1003,14
+            ../src/syntax/typing.nit:1003,16--27
+              ../src/syntax/typing.nit:1003,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:1003,16--27
+          ../src/syntax/typing.nit:1006,3--51
+            'var' ... ../src/syntax/typing.nit:1006,3--5
+            'stype' ... ../src/syntax/typing.nit:1006,7--11
+            '=' ... ../src/syntax/typing.nit:1006,13
+            ../src/syntax/typing.nit:1006,15--51
+              ../src/syntax/typing.nit:1006,15
+                ../src/syntax/typing.nit:1006,15
+                'v' ... ../src/syntax/typing.nit:1006,15
+              'check_conform_multiexpr' ... ../src/syntax/typing.nit:1006,17--39
+              ../src/syntax/typing.nit:1006,41
+                ../src/syntax/typing.nit:1006,41
+                't' ... ../src/syntax/typing.nit:1006,41
+              ../src/syntax/typing.nit:1006,45--51
+                ../src/syntax/typing.nit:1006,45--51
+                  ../src/syntax/typing.nit:1006,45
+                  'n_expr2' ... ../src/syntax/typing.nit:1006,45--51
+          ../src/syntax/typing.nit:1007,3--30
+            'if' ... ../src/syntax/typing.nit:1007,3--4
+            ../src/syntax/typing.nit:1007,6--18
+              ../src/syntax/typing.nit:1007,6--10
+                ../src/syntax/typing.nit:1007,6
+                'stype' ... ../src/syntax/typing.nit:1007,6--10
+              ../src/syntax/typing.nit:1007,15--18
+                'null' ... ../src/syntax/typing.nit:1007,15--18
+            ../src/syntax/typing.nit:1007,25--30
+              'return' ... ../src/syntax/typing.nit:1007,25--30
+          ../src/syntax/typing.nit:1009,3--16
+            ../src/syntax/typing.nit:1009,12
+            '_stype' ... ../src/syntax/typing.nit:1009,3--8
+            '=' ... ../src/syntax/typing.nit:1009,10
+            ../src/syntax/typing.nit:1009,12--16
+              ../src/syntax/typing.nit:1009,12
+              'stype' ... ../src/syntax/typing.nit:1009,12--16
+          ../src/syntax/typing.nit:1010,3--18
+            ../src/syntax/typing.nit:1010,15
+            '_is_typed' ... ../src/syntax/typing.nit:1010,3--11
+            '=' ... ../src/syntax/typing.nit:1010,13
+            ../src/syntax/typing.nit:1010,15--18
+              'true' ... ../src/syntax/typing.nit:1010,15--18
+    ../src/syntax/typing.nit:1014,1--1018,18
+      'redef' ... ../src/syntax/typing.nit:1014,1--5
+      ../src/syntax/typing.nit:1014,7
+      ../src/syntax/typing.nit:1014,7--11
+        'class' ... ../src/syntax/typing.nit:1014,7--11
+      'AIntExpr' ... ../src/syntax/typing.nit:1014,13--20
+      ../src/syntax/typing.nit:1015,2--1018,18
+        'redef' ... ../src/syntax/typing.nit:1015,2--6
+        ../src/syntax/typing.nit:1015,12
+        'fun' ... ../src/syntax/typing.nit:1015,8--10
+        ../src/syntax/typing.nit:1015,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1015,12--23
+        ../src/syntax/typing.nit:1015,25
+          ../src/syntax/typing.nit:1015,25
+            'v' ... ../src/syntax/typing.nit:1015,25
+        ../src/syntax/typing.nit:1017,3--1018,18
+          ../src/syntax/typing.nit:1017,3--21
+            ../src/syntax/typing.nit:1017,12
+            '_stype' ... ../src/syntax/typing.nit:1017,3--8
+            '=' ... ../src/syntax/typing.nit:1017,10
+            ../src/syntax/typing.nit:1017,12--21
+              ../src/syntax/typing.nit:1017,12
+                ../src/syntax/typing.nit:1017,12
+                'v' ... ../src/syntax/typing.nit:1017,12
+              'type_int' ... ../src/syntax/typing.nit:1017,14--21
+          ../src/syntax/typing.nit:1018,3--18
+            ../src/syntax/typing.nit:1018,15
+            '_is_typed' ... ../src/syntax/typing.nit:1018,3--11
+            '=' ... ../src/syntax/typing.nit:1018,13
+            ../src/syntax/typing.nit:1018,15--18
+              'true' ... ../src/syntax/typing.nit:1018,15--18
+    ../src/syntax/typing.nit:1022,1--1026,18
+      'redef' ... ../src/syntax/typing.nit:1022,1--5
+      ../src/syntax/typing.nit:1022,7
+      ../src/syntax/typing.nit:1022,7--11
+        'class' ... ../src/syntax/typing.nit:1022,7--11
+      'AFloatExpr' ... ../src/syntax/typing.nit:1022,13--22
+      ../src/syntax/typing.nit:1023,2--1026,18
+        'redef' ... ../src/syntax/typing.nit:1023,2--6
+        ../src/syntax/typing.nit:1023,12
+        'fun' ... ../src/syntax/typing.nit:1023,8--10
+        ../src/syntax/typing.nit:1023,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1023,12--23
+        ../src/syntax/typing.nit:1023,25
+          ../src/syntax/typing.nit:1023,25
+            'v' ... ../src/syntax/typing.nit:1023,25
+        ../src/syntax/typing.nit:1025,3--1026,18
+          ../src/syntax/typing.nit:1025,3--23
+            ../src/syntax/typing.nit:1025,12
+            '_stype' ... ../src/syntax/typing.nit:1025,3--8
+            '=' ... ../src/syntax/typing.nit:1025,10
+            ../src/syntax/typing.nit:1025,12--23
+              ../src/syntax/typing.nit:1025,12
+                ../src/syntax/typing.nit:1025,12
+                'v' ... ../src/syntax/typing.nit:1025,12
+              'type_float' ... ../src/syntax/typing.nit:1025,14--23
+          ../src/syntax/typing.nit:1026,3--18
+            ../src/syntax/typing.nit:1026,15
+            '_is_typed' ... ../src/syntax/typing.nit:1026,3--11
+            '=' ... ../src/syntax/typing.nit:1026,13
+            ../src/syntax/typing.nit:1026,15--18
+              'true' ... ../src/syntax/typing.nit:1026,15--18
+    ../src/syntax/typing.nit:1030,1--1034,18
+      'redef' ... ../src/syntax/typing.nit:1030,1--5
+      ../src/syntax/typing.nit:1030,7
+      ../src/syntax/typing.nit:1030,7--11
+        'class' ... ../src/syntax/typing.nit:1030,7--11
+      'ACharExpr' ... ../src/syntax/typing.nit:1030,13--21
+      ../src/syntax/typing.nit:1031,2--1034,18
+        'redef' ... ../src/syntax/typing.nit:1031,2--6
+        ../src/syntax/typing.nit:1031,12
+        'fun' ... ../src/syntax/typing.nit:1031,8--10
+        ../src/syntax/typing.nit:1031,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1031,12--23
+        ../src/syntax/typing.nit:1031,25
+          ../src/syntax/typing.nit:1031,25
+            'v' ... ../src/syntax/typing.nit:1031,25
+        ../src/syntax/typing.nit:1033,3--1034,18
+          ../src/syntax/typing.nit:1033,3--22
+            ../src/syntax/typing.nit:1033,12
+            '_stype' ... ../src/syntax/typing.nit:1033,3--8
+            '=' ... ../src/syntax/typing.nit:1033,10
+            ../src/syntax/typing.nit:1033,12--22
+              ../src/syntax/typing.nit:1033,12
+                ../src/syntax/typing.nit:1033,12
+                'v' ... ../src/syntax/typing.nit:1033,12
+              'type_char' ... ../src/syntax/typing.nit:1033,14--22
+          ../src/syntax/typing.nit:1034,3--18
+            ../src/syntax/typing.nit:1034,15
+            '_is_typed' ... ../src/syntax/typing.nit:1034,3--11
+            '=' ... ../src/syntax/typing.nit:1034,13
+            ../src/syntax/typing.nit:1034,15--18
+              'true' ... ../src/syntax/typing.nit:1034,15--18
+    ../src/syntax/typing.nit:1038,1--1042,18
+      'redef' ... ../src/syntax/typing.nit:1038,1--5
+      ../src/syntax/typing.nit:1038,7
+      ../src/syntax/typing.nit:1038,7--11
+        'class' ... ../src/syntax/typing.nit:1038,7--11
+      'AStringFormExpr' ... ../src/syntax/typing.nit:1038,13--27
+      ../src/syntax/typing.nit:1039,2--1042,18
+        'redef' ... ../src/syntax/typing.nit:1039,2--6
+        ../src/syntax/typing.nit:1039,12
+        'fun' ... ../src/syntax/typing.nit:1039,8--10
+        ../src/syntax/typing.nit:1039,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1039,12--23
+        ../src/syntax/typing.nit:1039,25
+          ../src/syntax/typing.nit:1039,25
+            'v' ... ../src/syntax/typing.nit:1039,25
+        ../src/syntax/typing.nit:1041,3--1042,18
+          ../src/syntax/typing.nit:1041,3--24
+            ../src/syntax/typing.nit:1041,12
+            '_stype' ... ../src/syntax/typing.nit:1041,3--8
+            '=' ... ../src/syntax/typing.nit:1041,10
+            ../src/syntax/typing.nit:1041,12--24
+              ../src/syntax/typing.nit:1041,12
+                ../src/syntax/typing.nit:1041,12
+                'v' ... ../src/syntax/typing.nit:1041,12
+              'type_string' ... ../src/syntax/typing.nit:1041,14--24
+          ../src/syntax/typing.nit:1042,3--18
+            ../src/syntax/typing.nit:1042,15
+            '_is_typed' ... ../src/syntax/typing.nit:1042,3--11
+            '=' ... ../src/syntax/typing.nit:1042,13
+            ../src/syntax/typing.nit:1042,15--18
+              'true' ... ../src/syntax/typing.nit:1042,15--18
+    ../src/syntax/typing.nit:1046,1--1057,18
+      'redef' ... ../src/syntax/typing.nit:1046,1--5
+      ../src/syntax/typing.nit:1046,7
+      ../src/syntax/typing.nit:1046,7--11
+        'class' ... ../src/syntax/typing.nit:1046,7--11
+      'ASuperstringExpr' ... ../src/syntax/typing.nit:1046,13--28
+      ../src/syntax/typing.nit:1047,2--45
+        'redef' ... ../src/syntax/typing.nit:1047,2--6
+        ../src/syntax/typing.nit:1047,12
+        'fun' ... ../src/syntax/typing.nit:1047,8--10
+        ../src/syntax/typing.nit:1047,12--16
+          'atype' ... ../src/syntax/typing.nit:1047,12--16
+        ../src/syntax/typing.nit:1047,28
+        ../src/syntax/typing.nit:1047,21--45
+          'return' ... ../src/syntax/typing.nit:1047,21--26
+          ../src/syntax/typing.nit:1047,28--45
+            ../src/syntax/typing.nit:1047,28--33
+              ../src/syntax/typing.nit:1047,28
+              '_atype' ... ../src/syntax/typing.nit:1047,28--33
+            'as' ... ../src/syntax/typing.nit:1047,35--36
+            'not' ... ../src/syntax/typing.nit:1047,38--40
+            'null' ... ../src/syntax/typing.nit:1047,42--45
+      ../src/syntax/typing.nit:1048,2--28
+        ../src/syntax/typing.nit:1048,14
+        'var' ... ../src/syntax/typing.nit:1048,2--4
+        '_atype' ... ../src/syntax/typing.nit:1048,6--11
+        ../src/syntax/typing.nit:1048,14--28
+          'nullable' ... ../src/syntax/typing.nit:1048,14--21
+          'MMType' ... ../src/syntax/typing.nit:1048,23--28
+      ../src/syntax/typing.nit:1049,2--1057,18
+        'redef' ... ../src/syntax/typing.nit:1049,2--6
+        ../src/syntax/typing.nit:1049,12
+        'fun' ... ../src/syntax/typing.nit:1049,8--10
+        ../src/syntax/typing.nit:1049,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1049,12--23
+        ../src/syntax/typing.nit:1049,25
+          ../src/syntax/typing.nit:1049,25
+            'v' ... ../src/syntax/typing.nit:1049,25
+        ../src/syntax/typing.nit:1051,3--1057,18
+          ../src/syntax/typing.nit:1051,3--27
+            'var' ... ../src/syntax/typing.nit:1051,3--5
+            'otype' ... ../src/syntax/typing.nit:1051,7--11
+            '=' ... ../src/syntax/typing.nit:1051,13
+            ../src/syntax/typing.nit:1051,15--27
+              ../src/syntax/typing.nit:1051,15
+                ../src/syntax/typing.nit:1051,15
+                'v' ... ../src/syntax/typing.nit:1051,15
+              'type_object' ... ../src/syntax/typing.nit:1051,17--27
+          ../src/syntax/typing.nit:1052,3--27
+            'var' ... ../src/syntax/typing.nit:1052,3--5
+            'stype' ... ../src/syntax/typing.nit:1052,7--11
+            '=' ... ../src/syntax/typing.nit:1052,13
+            ../src/syntax/typing.nit:1052,15--27
+              ../src/syntax/typing.nit:1052,15
+                ../src/syntax/typing.nit:1052,15
+                'v' ... ../src/syntax/typing.nit:1052,15
+              'type_string' ... ../src/syntax/typing.nit:1052,17--27
+          ../src/syntax/typing.nit:1053,3--16
+            ../src/syntax/typing.nit:1053,12
+            '_stype' ... ../src/syntax/typing.nit:1053,3--8
+            '=' ... ../src/syntax/typing.nit:1053,10
+            ../src/syntax/typing.nit:1053,12--16
+              ../src/syntax/typing.nit:1053,12
+              'stype' ... ../src/syntax/typing.nit:1053,12--16
+          ../src/syntax/typing.nit:1054,3--51
+            'for' ... ../src/syntax/typing.nit:1054,3--5
+            'e' ... ../src/syntax/typing.nit:1054,7
+            ../src/syntax/typing.nit:1054,12--18
+              ../src/syntax/typing.nit:1054,12
+              'n_exprs' ... ../src/syntax/typing.nit:1054,12--18
+            'do' ... ../src/syntax/typing.nit:1054,20--21
+            ../src/syntax/typing.nit:1054,23--51
+              ../src/syntax/typing.nit:1054,23
+                ../src/syntax/typing.nit:1054,23
+                'v' ... ../src/syntax/typing.nit:1054,23
+              'check_conform_expr' ... ../src/syntax/typing.nit:1054,25--42
+              ../src/syntax/typing.nit:1054,44
+                ../src/syntax/typing.nit:1054,44
+                'e' ... ../src/syntax/typing.nit:1054,44
+              ../src/syntax/typing.nit:1054,47--51
+                ../src/syntax/typing.nit:1054,47
+                'otype' ... ../src/syntax/typing.nit:1054,47--51
+          ../src/syntax/typing.nit:1055,3--32
+            'var' ... ../src/syntax/typing.nit:1055,3--5
+            'atype' ... ../src/syntax/typing.nit:1055,7--11
+            '=' ... ../src/syntax/typing.nit:1055,13
+            ../src/syntax/typing.nit:1055,15--32
+              ../src/syntax/typing.nit:1055,15
+                ../src/syntax/typing.nit:1055,15
+                'v' ... ../src/syntax/typing.nit:1055,15
+              'type_array' ... ../src/syntax/typing.nit:1055,17--26
+              ../src/syntax/typing.nit:1055,28--32
+                ../src/syntax/typing.nit:1055,28
+                'stype' ... ../src/syntax/typing.nit:1055,28--32
+          ../src/syntax/typing.nit:1056,3--16
+            ../src/syntax/typing.nit:1056,12
+            '_atype' ... ../src/syntax/typing.nit:1056,3--8
+            '=' ... ../src/syntax/typing.nit:1056,10
+            ../src/syntax/typing.nit:1056,12--16
+              ../src/syntax/typing.nit:1056,12
+              'atype' ... ../src/syntax/typing.nit:1056,12--16
+          ../src/syntax/typing.nit:1057,3--18
+            ../src/syntax/typing.nit:1057,15
+            '_is_typed' ... ../src/syntax/typing.nit:1057,3--11
+            '=' ... ../src/syntax/typing.nit:1057,13
+            ../src/syntax/typing.nit:1057,15--18
+              'true' ... ../src/syntax/typing.nit:1057,15--18
+    ../src/syntax/typing.nit:1061,1--1065,18
+      'redef' ... ../src/syntax/typing.nit:1061,1--5
+      ../src/syntax/typing.nit:1061,7
+      ../src/syntax/typing.nit:1061,7--11
+        'class' ... ../src/syntax/typing.nit:1061,7--11
+      'ANullExpr' ... ../src/syntax/typing.nit:1061,13--21
+      ../src/syntax/typing.nit:1062,2--1065,18
+        'redef' ... ../src/syntax/typing.nit:1062,2--6
+        ../src/syntax/typing.nit:1062,12
+        'fun' ... ../src/syntax/typing.nit:1062,8--10
+        ../src/syntax/typing.nit:1062,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1062,12--23
+        ../src/syntax/typing.nit:1062,25
+          ../src/syntax/typing.nit:1062,25
+            'v' ... ../src/syntax/typing.nit:1062,25
+        ../src/syntax/typing.nit:1064,3--1065,18
+          ../src/syntax/typing.nit:1064,3--22
+            ../src/syntax/typing.nit:1064,12
+            '_stype' ... ../src/syntax/typing.nit:1064,3--8
+            '=' ... ../src/syntax/typing.nit:1064,10
+            ../src/syntax/typing.nit:1064,12--22
+              ../src/syntax/typing.nit:1064,12
+                ../src/syntax/typing.nit:1064,12
+                'v' ... ../src/syntax/typing.nit:1064,12
+              'type_none' ... ../src/syntax/typing.nit:1064,14--22
+          ../src/syntax/typing.nit:1065,3--18
+            ../src/syntax/typing.nit:1065,15
+            '_is_typed' ... ../src/syntax/typing.nit:1065,3--11
+            '=' ... ../src/syntax/typing.nit:1065,13
+            ../src/syntax/typing.nit:1065,15--18
+              'true' ... ../src/syntax/typing.nit:1065,15--18
+    ../src/syntax/typing.nit:1069,1--1079,18
+      'redef' ... ../src/syntax/typing.nit:1069,1--5
+      ../src/syntax/typing.nit:1069,7
+      ../src/syntax/typing.nit:1069,7--11
+        'class' ... ../src/syntax/typing.nit:1069,7--11
+      'AArrayExpr' ... ../src/syntax/typing.nit:1069,13--22
+      ../src/syntax/typing.nit:1070,2--1073,42
+        'redef' ... ../src/syntax/typing.nit:1070,2--6
+        ../src/syntax/typing.nit:1070,12
+        'fun' ... ../src/syntax/typing.nit:1070,8--10
+        ../src/syntax/typing.nit:1070,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1070,12--23
+        ../src/syntax/typing.nit:1070,25
+          ../src/syntax/typing.nit:1070,25
+            'v' ... ../src/syntax/typing.nit:1070,25
+        ../src/syntax/typing.nit:1072,3--1073,42
+          ../src/syntax/typing.nit:1072,3--53
+            'var' ... ../src/syntax/typing.nit:1072,3--5
+            'stype' ... ../src/syntax/typing.nit:1072,7--11
+            '=' ... ../src/syntax/typing.nit:1072,13
+            ../src/syntax/typing.nit:1072,15--53
+              ../src/syntax/typing.nit:1072,15
+                ../src/syntax/typing.nit:1072,15
+                'v' ... ../src/syntax/typing.nit:1072,15
+              'check_conform_multiexpr' ... ../src/syntax/typing.nit:1072,17--39
+              ../src/syntax/typing.nit:1072,41--44
+                'null' ... ../src/syntax/typing.nit:1072,41--44
+              ../src/syntax/typing.nit:1072,47--53
+                ../src/syntax/typing.nit:1072,47
+                'n_exprs' ... ../src/syntax/typing.nit:1072,47--53
+          ../src/syntax/typing.nit:1073,3--42
+            'if' ... ../src/syntax/typing.nit:1073,3--4
+            ../src/syntax/typing.nit:1073,6--18
+              ../src/syntax/typing.nit:1073,6--10
+                ../src/syntax/typing.nit:1073,6
+                'stype' ... ../src/syntax/typing.nit:1073,6--10
+              ../src/syntax/typing.nit:1073,15--18
+                'null' ... ../src/syntax/typing.nit:1073,15--18
+            ../src/syntax/typing.nit:1073,25--42
+              ../src/syntax/typing.nit:1073,35
+              'do_typing' ... ../src/syntax/typing.nit:1073,25--33
+              ../src/syntax/typing.nit:1073,35
+                ../src/syntax/typing.nit:1073,35
+                'v' ... ../src/syntax/typing.nit:1073,35
+              ../src/syntax/typing.nit:1073,38--42
+                ../src/syntax/typing.nit:1073,38
+                'stype' ... ../src/syntax/typing.nit:1073,38--42
+      ../src/syntax/typing.nit:1076,2--1079,18
+        ../src/syntax/typing.nit:1076,2--8
+          'private' ... ../src/syntax/typing.nit:1076,2--8
+        'fun' ... ../src/syntax/typing.nit:1076,10--12
+        ../src/syntax/typing.nit:1076,14--22
+          'do_typing' ... ../src/syntax/typing.nit:1076,14--22
+        ../src/syntax/typing.nit:1076,24--61
+          ../src/syntax/typing.nit:1076,24--39
+            'v' ... ../src/syntax/typing.nit:1076,24
+            ../src/syntax/typing.nit:1076,27--39
+              'TypingVisitor' ... ../src/syntax/typing.nit:1076,27--39
+          ../src/syntax/typing.nit:1076,42--61
+            'element_type' ... ../src/syntax/typing.nit:1076,42--53
+            ../src/syntax/typing.nit:1076,56--61
+              'MMType' ... ../src/syntax/typing.nit:1076,56--61
+        ../src/syntax/typing.nit:1078,3--1079,18
+          ../src/syntax/typing.nit:1078,3--36
+            ../src/syntax/typing.nit:1078,12
+            '_stype' ... ../src/syntax/typing.nit:1078,3--8
+            '=' ... ../src/syntax/typing.nit:1078,10
+            ../src/syntax/typing.nit:1078,12--36
+              ../src/syntax/typing.nit:1078,12
+                ../src/syntax/typing.nit:1078,12
+                'v' ... ../src/syntax/typing.nit:1078,12
+              'type_array' ... ../src/syntax/typing.nit:1078,14--23
+              ../src/syntax/typing.nit:1078,25--36
+                ../src/syntax/typing.nit:1078,25
+                'element_type' ... ../src/syntax/typing.nit:1078,25--36
+          ../src/syntax/typing.nit:1079,3--18
+            ../src/syntax/typing.nit:1079,15
+            '_is_typed' ... ../src/syntax/typing.nit:1079,3--11
+            '=' ... ../src/syntax/typing.nit:1079,13
+            ../src/syntax/typing.nit:1079,15--18
+              'true' ... ../src/syntax/typing.nit:1079,15--18
+    ../src/syntax/typing.nit:1083,1--1098,18
+      'redef' ... ../src/syntax/typing.nit:1083,1--5
+      ../src/syntax/typing.nit:1083,7
+      ../src/syntax/typing.nit:1083,7--11
+        'class' ... ../src/syntax/typing.nit:1083,7--11
+      'ARangeExpr' ... ../src/syntax/typing.nit:1083,13--22
+      ../src/syntax/typing.nit:1084,2--1098,18
+        'redef' ... ../src/syntax/typing.nit:1084,2--6
+        ../src/syntax/typing.nit:1084,12
+        'fun' ... ../src/syntax/typing.nit:1084,8--10
+        ../src/syntax/typing.nit:1084,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1084,12--23
+        ../src/syntax/typing.nit:1084,25
+          ../src/syntax/typing.nit:1084,25
+            'v' ... ../src/syntax/typing.nit:1084,25
+        ../src/syntax/typing.nit:1086,3--1098,18
+          ../src/syntax/typing.nit:1086,3--70
+            'if' ... ../src/syntax/typing.nit:1086,3--4
+            ../src/syntax/typing.nit:1086,6--57
+              ../src/syntax/typing.nit:1086,6--28
+                'not' ... ../src/syntax/typing.nit:1086,6--8
+                ../src/syntax/typing.nit:1086,10--28
+                  ../src/syntax/typing.nit:1086,10
+                    ../src/syntax/typing.nit:1086,10
+                    'v' ... ../src/syntax/typing.nit:1086,10
+                  'check_expr' ... ../src/syntax/typing.nit:1086,12--21
+                  ../src/syntax/typing.nit:1086,23--28
+                    ../src/syntax/typing.nit:1086,23
+                    'n_expr' ... ../src/syntax/typing.nit:1086,23--28
+              ../src/syntax/typing.nit:1086,34--57
+                'not' ... ../src/syntax/typing.nit:1086,34--36
+                ../src/syntax/typing.nit:1086,38--57
+                  ../src/syntax/typing.nit:1086,38
+                    ../src/syntax/typing.nit:1086,38
+                    'v' ... ../src/syntax/typing.nit:1086,38
+                  'check_expr' ... ../src/syntax/typing.nit:1086,40--49
+                  ../src/syntax/typing.nit:1086,51--57
+                    ../src/syntax/typing.nit:1086,51
+                    'n_expr2' ... ../src/syntax/typing.nit:1086,51--57
+            ../src/syntax/typing.nit:1086,65--70
+              'return' ... ../src/syntax/typing.nit:1086,65--70
+          ../src/syntax/typing.nit:1087,3--26
+            'var' ... ../src/syntax/typing.nit:1087,3--5
+            'ntype' ... ../src/syntax/typing.nit:1087,7--11
+            '=' ... ../src/syntax/typing.nit:1087,13
+            ../src/syntax/typing.nit:1087,15--26
+              ../src/syntax/typing.nit:1087,15--20
+                ../src/syntax/typing.nit:1087,15
+                'n_expr' ... ../src/syntax/typing.nit:1087,15--20
+              'stype' ... ../src/syntax/typing.nit:1087,22--26
+          ../src/syntax/typing.nit:1088,3--28
+            'var' ... ../src/syntax/typing.nit:1088,3--5
+            'ntype2' ... ../src/syntax/typing.nit:1088,7--12
+            '=' ... ../src/syntax/typing.nit:1088,14
+            ../src/syntax/typing.nit:1088,16--28
+              ../src/syntax/typing.nit:1088,16--22
+                ../src/syntax/typing.nit:1088,16
+                'n_expr2' ... ../src/syntax/typing.nit:1088,16--22
+              'stype' ... ../src/syntax/typing.nit:1088,24--28
+          ../src/syntax/typing.nit:1089,3--1093,9
+            'if' ... ../src/syntax/typing.nit:1089,3--4
+            ../src/syntax/typing.nit:1089,6--19
+              ../src/syntax/typing.nit:1089,6--10
+                ../src/syntax/typing.nit:1089,6
+                'ntype' ... ../src/syntax/typing.nit:1089,6--10
+              ../src/syntax/typing.nit:1089,14--19
+                ../src/syntax/typing.nit:1089,14
+                'ntype2' ... ../src/syntax/typing.nit:1089,14--19
+            ../src/syntax/typing.nit:1090,4--17
+              ../src/syntax/typing.nit:1090,4--17
+                ../src/syntax/typing.nit:1090,12
+                'ntype' ... ../src/syntax/typing.nit:1090,4--8
+                '=' ... ../src/syntax/typing.nit:1090,10
+                ../src/syntax/typing.nit:1090,12--17
+                  ../src/syntax/typing.nit:1090,12
+                  'ntype2' ... ../src/syntax/typing.nit:1090,12--17
+            ../src/syntax/typing.nit:1091,8--1093,9
+              'if' ... ../src/syntax/typing.nit:1091,8--9
+              ../src/syntax/typing.nit:1091,11--28
+                'not' ... ../src/syntax/typing.nit:1091,11--13
+                ../src/syntax/typing.nit:1091,15--28
+                  ../src/syntax/typing.nit:1091,15--20
+                    ../src/syntax/typing.nit:1091,15
+                    'ntype2' ... ../src/syntax/typing.nit:1091,15--20
+                  ../src/syntax/typing.nit:1091,24--28
+                    ../src/syntax/typing.nit:1091,24
+                    'ntype' ... ../src/syntax/typing.nit:1091,24--28
+              ../src/syntax/typing.nit:1092,4--1093,9
+                ../src/syntax/typing.nit:1092,4--66
+                  ../src/syntax/typing.nit:1092,4
+                    ../src/syntax/typing.nit:1092,4
+                    'v' ... ../src/syntax/typing.nit:1092,4
+                  'error' ... ../src/syntax/typing.nit:1092,6--10
+                  ../src/syntax/typing.nit:1092,12--15
+                    'self' ... ../src/syntax/typing.nit:1092,12--15
+                  ../src/syntax/typing.nit:1092,18--66
+                    ../src/syntax/typing.nit:1092,18--31
+                      '"Type error: {' ... ../src/syntax/typing.nit:1092,18--31
+                    ../src/syntax/typing.nit:1092,32--36
+                      ../src/syntax/typing.nit:1092,32
+                      'ntype' ... ../src/syntax/typing.nit:1092,32--36
+                    ../src/syntax/typing.nit:1092,37--57
+                      '} incompatible with {' ... ../src/syntax/typing.nit:1092,37--57
+                    ../src/syntax/typing.nit:1092,58--63
+                      ../src/syntax/typing.nit:1092,58
+                      'ntype2' ... ../src/syntax/typing.nit:1092,58--63
+                    ../src/syntax/typing.nit:1092,64--66
+                      '}."' ... ../src/syntax/typing.nit:1092,64--66
+                ../src/syntax/typing.nit:1093,4--9
+                  'return' ... ../src/syntax/typing.nit:1093,4--9
+          ../src/syntax/typing.nit:1095,3--29
+            'var' ... ../src/syntax/typing.nit:1095,3--5
+            'dtype' ... ../src/syntax/typing.nit:1095,7--11
+            '=' ... ../src/syntax/typing.nit:1095,13
+            ../src/syntax/typing.nit:1095,15--29
+              ../src/syntax/typing.nit:1095,15
+                ../src/syntax/typing.nit:1095,15
+                'v' ... ../src/syntax/typing.nit:1095,15
+              'type_discrete' ... ../src/syntax/typing.nit:1095,17--29
+          ../src/syntax/typing.nit:1096,3--100
+            'if' ... ../src/syntax/typing.nit:1096,3--4
+            ../src/syntax/typing.nit:1096,6--87
+              ../src/syntax/typing.nit:1096,6--43
+                'not' ... ../src/syntax/typing.nit:1096,6--8
+                ../src/syntax/typing.nit:1096,10--43
+                  ../src/syntax/typing.nit:1096,10
+                    ../src/syntax/typing.nit:1096,10
+                    'v' ... ../src/syntax/typing.nit:1096,10
+                  'check_conform_expr' ... ../src/syntax/typing.nit:1096,12--29
+                  ../src/syntax/typing.nit:1096,31--36
+                    ../src/syntax/typing.nit:1096,31
+                    'n_expr' ... ../src/syntax/typing.nit:1096,31--36
+                  ../src/syntax/typing.nit:1096,39--43
+                    ../src/syntax/typing.nit:1096,39
+                    'dtype' ... ../src/syntax/typing.nit:1096,39--43
+              ../src/syntax/typing.nit:1096,49--87
+                'not' ... ../src/syntax/typing.nit:1096,49--51
+                ../src/syntax/typing.nit:1096,53--87
+                  ../src/syntax/typing.nit:1096,53
+                    ../src/syntax/typing.nit:1096,53
+                    'v' ... ../src/syntax/typing.nit:1096,53
+                  'check_conform_expr' ... ../src/syntax/typing.nit:1096,55--72
+                  ../src/syntax/typing.nit:1096,74--80
+                    ../src/syntax/typing.nit:1096,74
+                    'n_expr2' ... ../src/syntax/typing.nit:1096,74--80
+                  ../src/syntax/typing.nit:1096,83--87
+                    ../src/syntax/typing.nit:1096,83
+                    'dtype' ... ../src/syntax/typing.nit:1096,83--87
+            ../src/syntax/typing.nit:1096,95--100
+              'return' ... ../src/syntax/typing.nit:1096,95--100
+          ../src/syntax/typing.nit:1097,3--29
+            ../src/syntax/typing.nit:1097,12
+            '_stype' ... ../src/syntax/typing.nit:1097,3--8
+            '=' ... ../src/syntax/typing.nit:1097,10
+            ../src/syntax/typing.nit:1097,12--29
+              ../src/syntax/typing.nit:1097,12
+                ../src/syntax/typing.nit:1097,12
+                'v' ... ../src/syntax/typing.nit:1097,12
+              'type_range' ... ../src/syntax/typing.nit:1097,14--23
+              ../src/syntax/typing.nit:1097,25--29
+                ../src/syntax/typing.nit:1097,25
+                'ntype' ... ../src/syntax/typing.nit:1097,25--29
+          ../src/syntax/typing.nit:1098,3--18
+            ../src/syntax/typing.nit:1098,15
+            '_is_typed' ... ../src/syntax/typing.nit:1098,3--11
+            '=' ... ../src/syntax/typing.nit:1098,13
+            ../src/syntax/typing.nit:1098,15--18
+              'true' ... ../src/syntax/typing.nit:1098,15--18
+    ../src/syntax/typing.nit:1102,1--1158,18
+      'redef' ... ../src/syntax/typing.nit:1102,1--5
+      ../src/syntax/typing.nit:1102,7
+      ../src/syntax/typing.nit:1102,7--11
+        'class' ... ../src/syntax/typing.nit:1102,7--11
+      'ASuperExpr' ... ../src/syntax/typing.nit:1102,13--22
+      ../src/syntax/typing.nit:1103,2--58
+        ../src/syntax/typing.nit:1103,2--15
+          'redef' ... ../src/syntax/typing.nit:1103,2--6
+          'readable' ... ../src/syntax/typing.nit:1103,8--15
+        ../src/syntax/typing.nit:1103,42
+        'var' ... ../src/syntax/typing.nit:1103,17--19
+        '_init_in_superclass' ... ../src/syntax/typing.nit:1103,21--39
+        ../src/syntax/typing.nit:1103,42--58
+          'nullable' ... ../src/syntax/typing.nit:1103,42--49
+          'MMMethod' ... ../src/syntax/typing.nit:1103,51--58
+      ../src/syntax/typing.nit:1104,2--54
+        'redef' ... ../src/syntax/typing.nit:1104,2--6
+        ../src/syntax/typing.nit:1104,12
+        'fun' ... ../src/syntax/typing.nit:1104,8--10
+        ../src/syntax/typing.nit:1104,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1104,12--32
+        ../src/syntax/typing.nit:1104,44
+        ../src/syntax/typing.nit:1104,37--54
+          'return' ... ../src/syntax/typing.nit:1104,37--42
+          ../src/syntax/typing.nit:1104,44--54
+            ../src/syntax/typing.nit:1104,44--49
+              ../src/syntax/typing.nit:1104,44
+              'n_args' ... ../src/syntax/typing.nit:1104,44--49
+            'to_a' ... ../src/syntax/typing.nit:1104,51--54
+      ../src/syntax/typing.nit:1105,2--1158,18
+        'redef' ... ../src/syntax/typing.nit:1105,2--6
+        ../src/syntax/typing.nit:1105,12
+        'fun' ... ../src/syntax/typing.nit:1105,8--10
+        ../src/syntax/typing.nit:1105,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1105,12--23
+        ../src/syntax/typing.nit:1105,25
+          ../src/syntax/typing.nit:1105,25
+            'v' ... ../src/syntax/typing.nit:1105,25
+        ../src/syntax/typing.nit:1107,3--1158,18
+          ../src/syntax/typing.nit:1107,3--75
+            'var' ... ../src/syntax/typing.nit:1107,3--5
+            'precs' ... ../src/syntax/typing.nit:1107,7--11
+            ../src/syntax/typing.nit:1107,14--34
+              'Array' ... ../src/syntax/typing.nit:1107,14--18
+              ../src/syntax/typing.nit:1107,20--34
+                'MMLocalProperty' ... ../src/syntax/typing.nit:1107,20--34
+            '=' ... ../src/syntax/typing.nit:1107,37
+            ../src/syntax/typing.nit:1107,39--75
+              ../src/syntax/typing.nit:1107,39--59
+                ../src/syntax/typing.nit:1107,39--54
+                  ../src/syntax/typing.nit:1107,39
+                    ../src/syntax/typing.nit:1107,39
+                    'v' ... ../src/syntax/typing.nit:1107,39
+                  'local_property' ... ../src/syntax/typing.nit:1107,41--54
+                'prhe' ... ../src/syntax/typing.nit:1107,56--59
+              'direct_greaters' ... ../src/syntax/typing.nit:1107,61--75
+          ../src/syntax/typing.nit:1108,3--1136,9
+            'if' ... ../src/syntax/typing.nit:1108,3--4
+            ../src/syntax/typing.nit:1108,6--23
+              'not' ... ../src/syntax/typing.nit:1108,6--8
+              ../src/syntax/typing.nit:1108,10--23
+                ../src/syntax/typing.nit:1108,10--14
+                  ../src/syntax/typing.nit:1108,10
+                  'precs' ... ../src/syntax/typing.nit:1108,10--14
+                'is_empty' ... ../src/syntax/typing.nit:1108,16--23
+            ../src/syntax/typing.nit:1109,4--37
+              ../src/syntax/typing.nit:1109,4--37
+                ../src/syntax/typing.nit:1109,4--19
+                  ../src/syntax/typing.nit:1109,4
+                    ../src/syntax/typing.nit:1109,4
+                    'v' ... ../src/syntax/typing.nit:1109,4
+                  'local_property' ... ../src/syntax/typing.nit:1109,6--19
+                'need_super' ... ../src/syntax/typing.nit:1109,21--30
+                '=' ... ../src/syntax/typing.nit:1109,32
+                ../src/syntax/typing.nit:1109,34--37
+                  'true' ... ../src/syntax/typing.nit:1109,34--37
+            ../src/syntax/typing.nit:1110,8--1136,9
+              'if' ... ../src/syntax/typing.nit:1110,8--9
+              ../src/syntax/typing.nit:1110,11--41
+                ../src/syntax/typing.nit:1110,11--33
+                  ../src/syntax/typing.nit:1110,11--26
+                    ../src/syntax/typing.nit:1110,11
+                      ../src/syntax/typing.nit:1110,11
+                      'v' ... ../src/syntax/typing.nit:1110,11
+                    'local_property' ... ../src/syntax/typing.nit:1110,13--26
+                  'global' ... ../src/syntax/typing.nit:1110,28--33
+                'is_init' ... ../src/syntax/typing.nit:1110,35--41
+              ../src/syntax/typing.nit:1111,4--1132,65
+                ../src/syntax/typing.nit:1111,4--75
+                  'var' ... ../src/syntax/typing.nit:1111,4--6
+                  'base_precs' ... ../src/syntax/typing.nit:1111,8--17
+                  '=' ... ../src/syntax/typing.nit:1111,19
+                  ../src/syntax/typing.nit:1111,21--75
+                    ../src/syntax/typing.nit:1111,21--33
+                      ../src/syntax/typing.nit:1111,21
+                        ../src/syntax/typing.nit:1111,21
+                        'v' ... ../src/syntax/typing.nit:1111,21
+                      'local_class' ... ../src/syntax/typing.nit:1111,23--33
+                    'super_methods_named' ... ../src/syntax/typing.nit:1111,35--53
+                    ../src/syntax/typing.nit:1111,55--75
+                      ../src/syntax/typing.nit:1111,55--70
+                        ../src/syntax/typing.nit:1111,55
+                          ../src/syntax/typing.nit:1111,55
+                          'v' ... ../src/syntax/typing.nit:1111,55
+                        'local_property' ... ../src/syntax/typing.nit:1111,57--70
+                      'name' ... ../src/syntax/typing.nit:1111,72--75
+                ../src/syntax/typing.nit:1112,4--1116,37
+                  'for' ... ../src/syntax/typing.nit:1112,4--6
+                  'p' ... ../src/syntax/typing.nit:1112,8
+                  ../src/syntax/typing.nit:1112,13--22
+                    ../src/syntax/typing.nit:1112,13
+                    'base_precs' ... ../src/syntax/typing.nit:1112,13--22
+                  'do' ... ../src/syntax/typing.nit:1112,24--25
+                  ../src/syntax/typing.nit:1113,5--1116,37
+                    ../src/syntax/typing.nit:1113,5--1116,37
+                      'if' ... ../src/syntax/typing.nit:1113,5--6
+                      ../src/syntax/typing.nit:1113,8--27
+                        'not' ... ../src/syntax/typing.nit:1113,8--10
+                        ../src/syntax/typing.nit:1113,12--27
+                          ../src/syntax/typing.nit:1113,12--19
+                            ../src/syntax/typing.nit:1113,12
+                              ../src/syntax/typing.nit:1113,12
+                              'p' ... ../src/syntax/typing.nit:1113,12
+                            'global' ... ../src/syntax/typing.nit:1113,14--19
+                          'is_init' ... ../src/syntax/typing.nit:1113,21--27
+                      ../src/syntax/typing.nit:1114,6--70
+                        ../src/syntax/typing.nit:1114,6--70
+                          ../src/syntax/typing.nit:1114,6
+                            ../src/syntax/typing.nit:1114,6
+                            'v' ... ../src/syntax/typing.nit:1114,6
+                          'error' ... ../src/syntax/typing.nit:1114,8--12
+                          ../src/syntax/typing.nit:1114,14--17
+                            'self' ... ../src/syntax/typing.nit:1114,14--17
+                          ../src/syntax/typing.nit:1114,20--70
+                            ../src/syntax/typing.nit:1114,20--28
+                              '"Error: {' ... ../src/syntax/typing.nit:1114,20--28
+                            ../src/syntax/typing.nit:1114,29--41
+                              ../src/syntax/typing.nit:1114,29
+                                ../src/syntax/typing.nit:1114,29
+                                'p' ... ../src/syntax/typing.nit:1114,29
+                              'local_class' ... ../src/syntax/typing.nit:1114,31--41
+                            ../src/syntax/typing.nit:1114,42--45
+                              '}::{' ... ../src/syntax/typing.nit:1114,42--45
+                            ../src/syntax/typing.nit:1114,46
+                              ../src/syntax/typing.nit:1114,46
+                              'p' ... ../src/syntax/typing.nit:1114,46
+                            ../src/syntax/typing.nit:1114,47--70
+                              '} is not a constructor."' ... ../src/syntax/typing.nit:1114,47--70
+                      ../src/syntax/typing.nit:1116,6--37
+                        ../src/syntax/typing.nit:1116,6--37
+                          ../src/syntax/typing.nit:1116,6--10
+                            ../src/syntax/typing.nit:1116,6
+                            'precs' ... ../src/syntax/typing.nit:1116,6--10
+                          'add' ... ../src/syntax/typing.nit:1116,12--14
+                          ../src/syntax/typing.nit:1116,16--37
+                            ../src/syntax/typing.nit:1116,16--28
+                              ../src/syntax/typing.nit:1116,16
+                                ../src/syntax/typing.nit:1116,16
+                                'v' ... ../src/syntax/typing.nit:1116,16
+                              'local_class' ... ../src/syntax/typing.nit:1116,18--28
+                            ../src/syntax/typing.nit:1116,30--37
+                              ../src/syntax/typing.nit:1116,30
+                                ../src/syntax/typing.nit:1116,30
+                                'p' ... ../src/syntax/typing.nit:1116,30
+                              'global' ... ../src/syntax/typing.nit:1116,32--37
+                ../src/syntax/typing.nit:1119,4--1124,10
+                  'if' ... ../src/syntax/typing.nit:1119,4--5
+                  ../src/syntax/typing.nit:1119,7--20
+                    ../src/syntax/typing.nit:1119,7--11
+                      ../src/syntax/typing.nit:1119,7
+                      'precs' ... ../src/syntax/typing.nit:1119,7--11
+                    'is_empty' ... ../src/syntax/typing.nit:1119,13--20
+                  ../src/syntax/typing.nit:1120,5--1121,10
+                    ../src/syntax/typing.nit:1120,5--87
+                      ../src/syntax/typing.nit:1120,5
+                        ../src/syntax/typing.nit:1120,5
+                        'v' ... ../src/syntax/typing.nit:1120,5
+                      'error' ... ../src/syntax/typing.nit:1120,7--11
+                      ../src/syntax/typing.nit:1120,13--16
+                        'self' ... ../src/syntax/typing.nit:1120,13--16
+                      ../src/syntax/typing.nit:1120,19--87
+                        ../src/syntax/typing.nit:1120,19--47
+                          '"Error: No contructor named {' ... ../src/syntax/typing.nit:1120,19--47
+                        ../src/syntax/typing.nit:1120,48--68
+                          ../src/syntax/typing.nit:1120,48--63
+                            ../src/syntax/typing.nit:1120,48
+                              ../src/syntax/typing.nit:1120,48
+                              'v' ... ../src/syntax/typing.nit:1120,48
+                            'local_property' ... ../src/syntax/typing.nit:1120,50--63
+                          'name' ... ../src/syntax/typing.nit:1120,65--68
+                        ../src/syntax/typing.nit:1120,69--87
+                          '} in superclasses."' ... ../src/syntax/typing.nit:1120,69--87
+                    ../src/syntax/typing.nit:1121,5--10
+                      'return' ... ../src/syntax/typing.nit:1121,5--10
+                  ../src/syntax/typing.nit:1122,9--1124,10
+                    'if' ... ../src/syntax/typing.nit:1122,9--10
+                    ../src/syntax/typing.nit:1122,12--27
+                      ../src/syntax/typing.nit:1122,12--23
+                        ../src/syntax/typing.nit:1122,12--16
+                          ../src/syntax/typing.nit:1122,12
+                          'precs' ... ../src/syntax/typing.nit:1122,12--16
+                        'length' ... ../src/syntax/typing.nit:1122,18--23
+                      ../src/syntax/typing.nit:1122,27
+                        '1' ... ../src/syntax/typing.nit:1122,27
+                    ../src/syntax/typing.nit:1123,5--1124,10
+                      ../src/syntax/typing.nit:1123,5--117
+                        ../src/syntax/typing.nit:1123,5
+                          ../src/syntax/typing.nit:1123,5
+                          'v' ... ../src/syntax/typing.nit:1123,5
+                        'error' ... ../src/syntax/typing.nit:1123,7--11
+                        ../src/syntax/typing.nit:1123,13--16
+                          'self' ... ../src/syntax/typing.nit:1123,13--16
+                        ../src/syntax/typing.nit:1123,19--117
+                          ../src/syntax/typing.nit:1123,19--57
+                            '"Error: Conflicting contructors named {' ... ../src/syntax/typing.nit:1123,19--57
+                          ../src/syntax/typing.nit:1123,58--78
+                            ../src/syntax/typing.nit:1123,58--73
+                              ../src/syntax/typing.nit:1123,58
+                                ../src/syntax/typing.nit:1123,58
+                                'v' ... ../src/syntax/typing.nit:1123,58
+                              'local_property' ... ../src/syntax/typing.nit:1123,60--73
+                            'name' ... ../src/syntax/typing.nit:1123,75--78
+                          ../src/syntax/typing.nit:1123,79--98
+                            '} in superclasses: {' ... ../src/syntax/typing.nit:1123,79--98
+                          ../src/syntax/typing.nit:1123,99--113
+                            ../src/syntax/typing.nit:1123,99--103
+                              ../src/syntax/typing.nit:1123,99
+                              'precs' ... ../src/syntax/typing.nit:1123,99--103
+                            'join' ... ../src/syntax/typing.nit:1123,105--108
+                            ../src/syntax/typing.nit:1123,110--113
+                              '", "' ... ../src/syntax/typing.nit:1123,110--113
+                          ../src/syntax/typing.nit:1123,115--117
+                            '}."' ... ../src/syntax/typing.nit:1123,115--117
+                      ../src/syntax/typing.nit:1124,5--10
+                        'return' ... ../src/syntax/typing.nit:1124,5--10
+                ../src/syntax/typing.nit:1126,4--27
+                  'var' ... ../src/syntax/typing.nit:1126,4--6
+                  'p' ... ../src/syntax/typing.nit:1126,8
+                  '=' ... ../src/syntax/typing.nit:1126,10
+                  ../src/syntax/typing.nit:1126,12--27
+                    ../src/syntax/typing.nit:1126,12--21
+                      ../src/syntax/typing.nit:1126,12
+                      'base_precs' ... ../src/syntax/typing.nit:1126,12--21
+                    'first' ... ../src/syntax/typing.nit:1126,23--27
+                ../src/syntax/typing.nit:1127,4--24
+                  'assert' ... ../src/syntax/typing.nit:1127,4--9
+                  ../src/syntax/typing.nit:1127,11--24
+                    ../src/syntax/typing.nit:1127,11
+                      ../src/syntax/typing.nit:1127,11
+                      'p' ... ../src/syntax/typing.nit:1127,11
+                    ../src/syntax/typing.nit:1127,17--24
+                      'MMMethod' ... ../src/syntax/typing.nit:1127,17--24
+                ../src/syntax/typing.nit:1128,4--26
+                  ../src/syntax/typing.nit:1128,26
+                  '_init_in_superclass' ... ../src/syntax/typing.nit:1128,4--22
+                  '=' ... ../src/syntax/typing.nit:1128,24
+                  ../src/syntax/typing.nit:1128,26
+                    ../src/syntax/typing.nit:1128,26
+                    'p' ... ../src/syntax/typing.nit:1128,26
+                ../src/syntax/typing.nit:1129,4--32
+                  ../src/syntax/typing.nit:1129,29
+                  'register_super_init_call' ... ../src/syntax/typing.nit:1129,4--27
+                  ../src/syntax/typing.nit:1129,29
+                    ../src/syntax/typing.nit:1129,29
+                    'v' ... ../src/syntax/typing.nit:1129,29
+                  ../src/syntax/typing.nit:1129,32
+                    ../src/syntax/typing.nit:1129,32
+                    'p' ... ../src/syntax/typing.nit:1129,32
+                ../src/syntax/typing.nit:1130,4--1132,65
+                  'if' ... ../src/syntax/typing.nit:1130,4--5
+                  ../src/syntax/typing.nit:1130,7--23
+                    ../src/syntax/typing.nit:1130,7--19
+                      ../src/syntax/typing.nit:1130,7--12
+                        ../src/syntax/typing.nit:1130,7
+                        'n_args' ... ../src/syntax/typing.nit:1130,7--12
+                      'length' ... ../src/syntax/typing.nit:1130,14--19
+                    ../src/syntax/typing.nit:1130,23
+                      '0' ... ../src/syntax/typing.nit:1130,23
+                  ../src/syntax/typing.nit:1131,5--1132,65
+                    ../src/syntax/typing.nit:1131,5--75
+                      'var' ... ../src/syntax/typing.nit:1131,5--7
+                      'signature' ... ../src/syntax/typing.nit:1131,9--17
+                      '=' ... ../src/syntax/typing.nit:1131,19
+                      ../src/syntax/typing.nit:1131,21--75
+                        ../src/syntax/typing.nit:1131,35
+                        'get_signature' ... ../src/syntax/typing.nit:1131,21--33
+                        ../src/syntax/typing.nit:1131,35
+                          ../src/syntax/typing.nit:1131,35
+                          'v' ... ../src/syntax/typing.nit:1131,35
+                        ../src/syntax/typing.nit:1131,38--65
+                          ../src/syntax/typing.nit:1131,38--53
+                            ../src/syntax/typing.nit:1131,38--47
+                              ../src/syntax/typing.nit:1131,38
+                                ../src/syntax/typing.nit:1131,38
+                                'v' ... ../src/syntax/typing.nit:1131,38
+                              'self_var' ... ../src/syntax/typing.nit:1131,40--47
+                            'stype' ... ../src/syntax/typing.nit:1131,49--53
+                          'as' ... ../src/syntax/typing.nit:1131,55--56
+                          'not' ... ../src/syntax/typing.nit:1131,58--60
+                          'null' ... ../src/syntax/typing.nit:1131,62--65
+                        ../src/syntax/typing.nit:1131,69
+                          ../src/syntax/typing.nit:1131,69
+                          'p' ... ../src/syntax/typing.nit:1131,69
+                        ../src/syntax/typing.nit:1131,72--75
+                          'true' ... ../src/syntax/typing.nit:1131,72--75
+                    ../src/syntax/typing.nit:1132,5--65
+                      ../src/syntax/typing.nit:1132,23
+                      'process_signature' ... ../src/syntax/typing.nit:1132,5--21
+                      ../src/syntax/typing.nit:1132,23
+                        ../src/syntax/typing.nit:1132,23
+                        'v' ... ../src/syntax/typing.nit:1132,23
+                      ../src/syntax/typing.nit:1132,26--34
+                        ../src/syntax/typing.nit:1132,26
+                        'signature' ... ../src/syntax/typing.nit:1132,26--34
+                      ../src/syntax/typing.nit:1132,37--42
+                        ../src/syntax/typing.nit:1132,37
+                          ../src/syntax/typing.nit:1132,37
+                          'p' ... ../src/syntax/typing.nit:1132,37
+                        'name' ... ../src/syntax/typing.nit:1132,39--42
+                      ../src/syntax/typing.nit:1132,45--65
+                        ../src/syntax/typing.nit:1132,45
+                        'compute_raw_arguments' ... ../src/syntax/typing.nit:1132,45--65
+              ../src/syntax/typing.nit:1135,4--1136,9
+                ../src/syntax/typing.nit:1135,4--73
+                  ../src/syntax/typing.nit:1135,4
+                    ../src/syntax/typing.nit:1135,4
+                    'v' ... ../src/syntax/typing.nit:1135,4
+                  'error' ... ../src/syntax/typing.nit:1135,6--10
+                  ../src/syntax/typing.nit:1135,12--15
+                    'self' ... ../src/syntax/typing.nit:1135,12--15
+                  ../src/syntax/typing.nit:1135,18--73
+                    ../src/syntax/typing.nit:1135,18--54
+                      '"Error: No super method to call for {' ... ../src/syntax/typing.nit:1135,18--54
+                    ../src/syntax/typing.nit:1135,55--70
+                      ../src/syntax/typing.nit:1135,55
+                        ../src/syntax/typing.nit:1135,55
+                        'v' ... ../src/syntax/typing.nit:1135,55
+                      'local_property' ... ../src/syntax/typing.nit:1135,57--70
+                    ../src/syntax/typing.nit:1135,71--73
+                      '}."' ... ../src/syntax/typing.nit:1135,71--73
+                ../src/syntax/typing.nit:1136,4--9
+                  'return' ... ../src/syntax/typing.nit:1136,4--9
+          ../src/syntax/typing.nit:1139,3--1153,17
+            'if' ... ../src/syntax/typing.nit:1139,3--4
+            ../src/syntax/typing.nit:1139,6--81
+              ../src/syntax/typing.nit:1139,6--73
+                ../src/syntax/typing.nit:1139,6--59
+                  ../src/syntax/typing.nit:1139,6--16
+                    ../src/syntax/typing.nit:1139,6--10
+                      ../src/syntax/typing.nit:1139,6
+                      'precs' ... ../src/syntax/typing.nit:1139,6--10
+                    'first' ... ../src/syntax/typing.nit:1139,12--16
+                  'signature_for' ... ../src/syntax/typing.nit:1139,18--30
+                  ../src/syntax/typing.nit:1139,32--59
+                    ../src/syntax/typing.nit:1139,32--47
+                      ../src/syntax/typing.nit:1139,32--41
+                        ../src/syntax/typing.nit:1139,32
+                          ../src/syntax/typing.nit:1139,32
+                          'v' ... ../src/syntax/typing.nit:1139,32
+                        'self_var' ... ../src/syntax/typing.nit:1139,34--41
+                      'stype' ... ../src/syntax/typing.nit:1139,43--47
+                    'as' ... ../src/syntax/typing.nit:1139,49--50
+                    'not' ... ../src/syntax/typing.nit:1139,52--54
+                    'null' ... ../src/syntax/typing.nit:1139,56--59
+                'return_type' ... ../src/syntax/typing.nit:1139,63--73
+              ../src/syntax/typing.nit:1139,78--81
+                'null' ... ../src/syntax/typing.nit:1139,78--81
+            ../src/syntax/typing.nit:1140,4--1153,17
+              ../src/syntax/typing.nit:1140,4--32
+                'var' ... ../src/syntax/typing.nit:1140,4--6
+                'stypes' ... ../src/syntax/typing.nit:1140,8--13
+                '=' ... ../src/syntax/typing.nit:1140,15
+                ../src/syntax/typing.nit:1140,17--32
+                  'new' ... ../src/syntax/typing.nit:1140,17--19
+                  ../src/syntax/typing.nit:1140,21--32
+                    'Array' ... ../src/syntax/typing.nit:1140,21--25
+                    ../src/syntax/typing.nit:1140,27--32
+                      'MMType' ... ../src/syntax/typing.nit:1140,27--32
+              ../src/syntax/typing.nit:1141,4--36
+                'var' ... ../src/syntax/typing.nit:1141,4--6
+                'stype' ... ../src/syntax/typing.nit:1141,8--12
+                ../src/syntax/typing.nit:1141,15--29
+                  'nullable' ... ../src/syntax/typing.nit:1141,15--22
+                  'MMType' ... ../src/syntax/typing.nit:1141,24--29
+                '=' ... ../src/syntax/typing.nit:1141,31
+                ../src/syntax/typing.nit:1141,33--36
+                  'null' ... ../src/syntax/typing.nit:1141,33--36
+              ../src/syntax/typing.nit:1142,4--1147,14
+                'for' ... ../src/syntax/typing.nit:1142,4--6
+                'prop' ... ../src/syntax/typing.nit:1142,8--11
+                ../src/syntax/typing.nit:1142,16--20
+                  ../src/syntax/typing.nit:1142,16
+                  'precs' ... ../src/syntax/typing.nit:1142,16--20
+                'do' ... ../src/syntax/typing.nit:1142,22--23
+                ../src/syntax/typing.nit:1143,5--1147,14
+                  ../src/syntax/typing.nit:1143,5--28
+                    'assert' ... ../src/syntax/typing.nit:1143,5--10
+                    ../src/syntax/typing.nit:1143,12--28
+                      ../src/syntax/typing.nit:1143,12--15
+                        ../src/syntax/typing.nit:1143,12
+                        'prop' ... ../src/syntax/typing.nit:1143,12--15
+                      ../src/syntax/typing.nit:1143,21--28
+                        'MMMethod' ... ../src/syntax/typing.nit:1143,21--28
+                  ../src/syntax/typing.nit:1144,5--137
+                    'var' ... ../src/syntax/typing.nit:1144,5--7
+                    't' ... ../src/syntax/typing.nit:1144,9
+                    '=' ... ../src/syntax/typing.nit:1144,11
+                    ../src/syntax/typing.nit:1144,13--137
+                      ../src/syntax/typing.nit:1144,13--95
+                        ../src/syntax/typing.nit:1144,13--73
+                          ../src/syntax/typing.nit:1144,13--59
+                            ../src/syntax/typing.nit:1144,13--16
+                              ../src/syntax/typing.nit:1144,13
+                              'prop' ... ../src/syntax/typing.nit:1144,13--16
+                            'signature_for' ... ../src/syntax/typing.nit:1144,18--30
+                            ../src/syntax/typing.nit:1144,32--59
+                              ../src/syntax/typing.nit:1144,32--47
+                                ../src/syntax/typing.nit:1144,32--41
+                                  ../src/syntax/typing.nit:1144,32
+                                    ../src/syntax/typing.nit:1144,32
+                                    'v' ... ../src/syntax/typing.nit:1144,32
+                                  'self_var' ... ../src/syntax/typing.nit:1144,34--41
+                                'stype' ... ../src/syntax/typing.nit:1144,43--47
+                              'as' ... ../src/syntax/typing.nit:1144,49--50
+                              'not' ... ../src/syntax/typing.nit:1144,52--54
+                              'null' ... ../src/syntax/typing.nit:1144,56--59
+                          'return_type' ... ../src/syntax/typing.nit:1144,63--73
+                        'for_module' ... ../src/syntax/typing.nit:1144,75--84
+                        ../src/syntax/typing.nit:1144,86--95
+                          ../src/syntax/typing.nit:1144,86
+                            ../src/syntax/typing.nit:1144,86
+                            'v' ... ../src/syntax/typing.nit:1144,86
+                          'mmmodule' ... ../src/syntax/typing.nit:1144,88--95
+                      'adapt_to' ... ../src/syntax/typing.nit:1144,98--105
+                      ../src/syntax/typing.nit:1144,107--137
+                        ../src/syntax/typing.nit:1144,107--132
+                          ../src/syntax/typing.nit:1144,107--122
+                            ../src/syntax/typing.nit:1144,107
+                              ../src/syntax/typing.nit:1144,107
+                              'v' ... ../src/syntax/typing.nit:1144,107
+                            'local_property' ... ../src/syntax/typing.nit:1144,109--122
+                          'signature' ... ../src/syntax/typing.nit:1144,124--132
+                        'recv' ... ../src/syntax/typing.nit:1144,134--137
+                  ../src/syntax/typing.nit:1145,5--16
+                    ../src/syntax/typing.nit:1145,5--10
+                      ../src/syntax/typing.nit:1145,5
+                      'stypes' ... ../src/syntax/typing.nit:1145,5--10
+                    'add' ... ../src/syntax/typing.nit:1145,12--14
+                    ../src/syntax/typing.nit:1145,16
+                      ../src/syntax/typing.nit:1145,16
+                      't' ... ../src/syntax/typing.nit:1145,16
+                  ../src/syntax/typing.nit:1146,5--1147,14
+                    'if' ... ../src/syntax/typing.nit:1146,5--6
+                    ../src/syntax/typing.nit:1146,8--33
+                      ../src/syntax/typing.nit:1146,8--20
+                        ../src/syntax/typing.nit:1146,8--12
+                          ../src/syntax/typing.nit:1146,8
+                          'stype' ... ../src/syntax/typing.nit:1146,8--12
+                        ../src/syntax/typing.nit:1146,17--20
+                          'null' ... ../src/syntax/typing.nit:1146,17--20
+                      ../src/syntax/typing.nit:1146,25--33
+                        ../src/syntax/typing.nit:1146,25--29
+                          ../src/syntax/typing.nit:1146,25
+                          'stype' ... ../src/syntax/typing.nit:1146,25--29
+                        ../src/syntax/typing.nit:1146,33
+                          ../src/syntax/typing.nit:1146,33
+                          't' ... ../src/syntax/typing.nit:1146,33
+                    ../src/syntax/typing.nit:1147,6--14
+                      ../src/syntax/typing.nit:1147,6--14
+                        ../src/syntax/typing.nit:1147,14
+                        'stype' ... ../src/syntax/typing.nit:1147,6--10
+                        '=' ... ../src/syntax/typing.nit:1147,12
+                        ../src/syntax/typing.nit:1147,14
+                          ../src/syntax/typing.nit:1147,14
+                          't' ... ../src/syntax/typing.nit:1147,14
+              ../src/syntax/typing.nit:1150,4--1151,46
+                'for' ... ../src/syntax/typing.nit:1150,4--6
+                't' ... ../src/syntax/typing.nit:1150,8
+                ../src/syntax/typing.nit:1150,13--18
+                  ../src/syntax/typing.nit:1150,13
+                  'stypes' ... ../src/syntax/typing.nit:1150,13--18
+                'do' ... ../src/syntax/typing.nit:1150,20--21
+                ../src/syntax/typing.nit:1151,5--46
+                  ../src/syntax/typing.nit:1151,5--46
+                    ../src/syntax/typing.nit:1151,5
+                      ../src/syntax/typing.nit:1151,5
+                      'v' ... ../src/syntax/typing.nit:1151,5
+                    'check_conform' ... ../src/syntax/typing.nit:1151,7--19
+                    ../src/syntax/typing.nit:1151,21--24
+                      'self' ... ../src/syntax/typing.nit:1151,21--24
+                    ../src/syntax/typing.nit:1151,27
+                      ../src/syntax/typing.nit:1151,27
+                      't' ... ../src/syntax/typing.nit:1151,27
+                    ../src/syntax/typing.nit:1151,30--46
+                      ../src/syntax/typing.nit:1151,30--34
+                        ../src/syntax/typing.nit:1151,30
+                        'stype' ... ../src/syntax/typing.nit:1151,30--34
+                      'as' ... ../src/syntax/typing.nit:1151,36--37
+                      'not' ... ../src/syntax/typing.nit:1151,39--41
+                      'null' ... ../src/syntax/typing.nit:1151,43--46
+              ../src/syntax/typing.nit:1153,4--17
+                ../src/syntax/typing.nit:1153,13
+                '_stype' ... ../src/syntax/typing.nit:1153,4--9
+                '=' ... ../src/syntax/typing.nit:1153,11
+                ../src/syntax/typing.nit:1153,13--17
+                  ../src/syntax/typing.nit:1153,13
+                  'stype' ... ../src/syntax/typing.nit:1153,13--17
+          ../src/syntax/typing.nit:1155,3--26
+            'var' ... ../src/syntax/typing.nit:1155,3--5
+            'p' ... ../src/syntax/typing.nit:1155,7
+            '=' ... ../src/syntax/typing.nit:1155,9
+            ../src/syntax/typing.nit:1155,11--26
+              ../src/syntax/typing.nit:1155,11
+                ../src/syntax/typing.nit:1155,11
+                'v' ... ../src/syntax/typing.nit:1155,11
+              'local_property' ... ../src/syntax/typing.nit:1155,13--26
+          ../src/syntax/typing.nit:1156,3--26
+            'assert' ... ../src/syntax/typing.nit:1156,3--8
+            ../src/syntax/typing.nit:1156,10--26
+              ../src/syntax/typing.nit:1156,10
+                ../src/syntax/typing.nit:1156,10
+                'p' ... ../src/syntax/typing.nit:1156,10
+              ../src/syntax/typing.nit:1156,16--26
+                'MMSrcMethod' ... ../src/syntax/typing.nit:1156,16--26
+          ../src/syntax/typing.nit:1157,3--11
+            ../src/syntax/typing.nit:1157,11
+            '_prop' ... ../src/syntax/typing.nit:1157,3--7
+            '=' ... ../src/syntax/typing.nit:1157,9
+            ../src/syntax/typing.nit:1157,11
+              ../src/syntax/typing.nit:1157,11
+              'p' ... ../src/syntax/typing.nit:1157,11
+          ../src/syntax/typing.nit:1158,3--18
+            ../src/syntax/typing.nit:1158,15
+            '_is_typed' ... ../src/syntax/typing.nit:1158,3--11
+            '=' ... ../src/syntax/typing.nit:1158,13
+            ../src/syntax/typing.nit:1158,15--18
+              'true' ... ../src/syntax/typing.nit:1158,15--18
+    ../src/syntax/typing.nit:1162,1--1191,17
+      'redef' ... ../src/syntax/typing.nit:1162,1--5
+      ../src/syntax/typing.nit:1162,7
+      ../src/syntax/typing.nit:1162,7--11
+        'class' ... ../src/syntax/typing.nit:1162,7--11
+      'AAttrFormExpr' ... ../src/syntax/typing.nit:1162,13--25
+      ../src/syntax/typing.nit:1163,2--43
+        'redef' ... ../src/syntax/typing.nit:1163,2--6
+        ../src/syntax/typing.nit:1163,12
+        'fun' ... ../src/syntax/typing.nit:1163,8--10
+        ../src/syntax/typing.nit:1163,12--15
+          'prop' ... ../src/syntax/typing.nit:1163,12--15
+        ../src/syntax/typing.nit:1163,27
+        ../src/syntax/typing.nit:1163,20--43
+          'return' ... ../src/syntax/typing.nit:1163,20--25
+          ../src/syntax/typing.nit:1163,27--43
+            ../src/syntax/typing.nit:1163,27--31
+              ../src/syntax/typing.nit:1163,27
+              '_prop' ... ../src/syntax/typing.nit:1163,27--31
+            'as' ... ../src/syntax/typing.nit:1163,33--34
+            'not' ... ../src/syntax/typing.nit:1163,36--38
+            'null' ... ../src/syntax/typing.nit:1163,40--43
+      ../src/syntax/typing.nit:1164,2--32
+        ../src/syntax/typing.nit:1164,13
+        'var' ... ../src/syntax/typing.nit:1164,2--4
+        '_prop' ... ../src/syntax/typing.nit:1164,6--10
+        ../src/syntax/typing.nit:1164,13--32
+          'nullable' ... ../src/syntax/typing.nit:1164,13--20
+          'MMAttribute' ... ../src/syntax/typing.nit:1164,22--32
+      ../src/syntax/typing.nit:1166,2--53
+        'redef' ... ../src/syntax/typing.nit:1166,2--6
+        ../src/syntax/typing.nit:1166,12
+        'fun' ... ../src/syntax/typing.nit:1166,8--10
+        ../src/syntax/typing.nit:1166,12--20
+          'attr_type' ... ../src/syntax/typing.nit:1166,12--20
+        ../src/syntax/typing.nit:1166,32
+        ../src/syntax/typing.nit:1166,25--53
+          'return' ... ../src/syntax/typing.nit:1166,25--30
+          ../src/syntax/typing.nit:1166,32--53
+            ../src/syntax/typing.nit:1166,32--41
+              ../src/syntax/typing.nit:1166,32
+              '_attr_type' ... ../src/syntax/typing.nit:1166,32--41
+            'as' ... ../src/syntax/typing.nit:1166,43--44
+            'not' ... ../src/syntax/typing.nit:1166,46--48
+            'null' ... ../src/syntax/typing.nit:1166,50--53
+      ../src/syntax/typing.nit:1167,2--32
+        ../src/syntax/typing.nit:1167,18
+        'var' ... ../src/syntax/typing.nit:1167,2--4
+        '_attr_type' ... ../src/syntax/typing.nit:1167,6--15
+        ../src/syntax/typing.nit:1167,18--32
+          'nullable' ... ../src/syntax/typing.nit:1167,18--25
+          'MMType' ... ../src/syntax/typing.nit:1167,27--32
+      ../src/syntax/typing.nit:1169,2--1191,17
+        ../src/syntax/typing.nit:1169,2--1170,0
+          '# Compute the attribute accessed
+' ... ../src/syntax/typing.nit:1169,2--1170,0
+        ../src/syntax/typing.nit:1170,2--8
+          'private' ... ../src/syntax/typing.nit:1170,2--8
+        'fun' ... ../src/syntax/typing.nit:1170,10--12
+        ../src/syntax/typing.nit:1170,14--22
+          'do_typing' ... ../src/syntax/typing.nit:1170,14--22
+        ../src/syntax/typing.nit:1170,24--39
+          ../src/syntax/typing.nit:1170,24--39
+            'v' ... ../src/syntax/typing.nit:1170,24
+            ../src/syntax/typing.nit:1170,27--39
+              'TypingVisitor' ... ../src/syntax/typing.nit:1170,27--39
+        ../src/syntax/typing.nit:1172,3--1191,17
+          ../src/syntax/typing.nit:1172,3--41
+            'if' ... ../src/syntax/typing.nit:1172,3--4
+            ../src/syntax/typing.nit:1172,6--28
+              'not' ... ../src/syntax/typing.nit:1172,6--8
+              ../src/syntax/typing.nit:1172,10--28
+                ../src/syntax/typing.nit:1172,10
+                  ../src/syntax/typing.nit:1172,10
+                  'v' ... ../src/syntax/typing.nit:1172,10
+                'check_expr' ... ../src/syntax/typing.nit:1172,12--21
+                ../src/syntax/typing.nit:1172,23--28
+                  ../src/syntax/typing.nit:1172,23
+                  'n_expr' ... ../src/syntax/typing.nit:1172,23--28
+            ../src/syntax/typing.nit:1172,36--41
+              'return' ... ../src/syntax/typing.nit:1172,36--41
+          ../src/syntax/typing.nit:1173,3--30
+            'var' ... ../src/syntax/typing.nit:1173,3--5
+            'type_recv' ... ../src/syntax/typing.nit:1173,7--15
+            '=' ... ../src/syntax/typing.nit:1173,17
+            ../src/syntax/typing.nit:1173,19--30
+              ../src/syntax/typing.nit:1173,19--24
+                ../src/syntax/typing.nit:1173,19
+                'n_expr' ... ../src/syntax/typing.nit:1173,19--24
+              'stype' ... ../src/syntax/typing.nit:1173,26--30
+          ../src/syntax/typing.nit:1174,3--27
+            'var' ... ../src/syntax/typing.nit:1174,3--5
+            'name' ... ../src/syntax/typing.nit:1174,7--10
+            '=' ... ../src/syntax/typing.nit:1174,12
+            ../src/syntax/typing.nit:1174,14--27
+              ../src/syntax/typing.nit:1174,14--17
+                ../src/syntax/typing.nit:1174,14
+                'n_id' ... ../src/syntax/typing.nit:1174,14--17
+              'to_symbol' ... ../src/syntax/typing.nit:1174,19--27
+          ../src/syntax/typing.nit:1175,3--1177,9
+            'if' ... ../src/syntax/typing.nit:1175,3--4
+            ../src/syntax/typing.nit:1175,6--29
+              ../src/syntax/typing.nit:1175,6--14
+                ../src/syntax/typing.nit:1175,6
+                'type_recv' ... ../src/syntax/typing.nit:1175,6--14
+              ../src/syntax/typing.nit:1175,20--29
+                'MMTypeNone' ... ../src/syntax/typing.nit:1175,20--29
+            ../src/syntax/typing.nit:1176,4--1177,9
+              ../src/syntax/typing.nit:1176,4--62
+                ../src/syntax/typing.nit:1176,4
+                  ../src/syntax/typing.nit:1176,4
+                  'v' ... ../src/syntax/typing.nit:1176,4
+                'error' ... ../src/syntax/typing.nit:1176,6--10
+                ../src/syntax/typing.nit:1176,12--15
+                  'self' ... ../src/syntax/typing.nit:1176,12--15
+                ../src/syntax/typing.nit:1176,18--62
+                  ../src/syntax/typing.nit:1176,18--37
+                    '"Error: Attribute '{' ... ../src/syntax/typing.nit:1176,18--37
+                  ../src/syntax/typing.nit:1176,38--41
+                    ../src/syntax/typing.nit:1176,38
+                    'name' ... ../src/syntax/typing.nit:1176,38--41
+                  ../src/syntax/typing.nit:1176,42--62
+                    '}' access on 'null'."' ... ../src/syntax/typing.nit:1176,42--62
+              ../src/syntax/typing.nit:1177,4--9
+                'return' ... ../src/syntax/typing.nit:1177,4--9
+          ../src/syntax/typing.nit:1179,3--32
+            'var' ... ../src/syntax/typing.nit:1179,3--5
+            'lc' ... ../src/syntax/typing.nit:1179,7--8
+            '=' ... ../src/syntax/typing.nit:1179,10
+            ../src/syntax/typing.nit:1179,12--32
+              ../src/syntax/typing.nit:1179,12--20
+                ../src/syntax/typing.nit:1179,12
+                'type_recv' ... ../src/syntax/typing.nit:1179,12--20
+              'local_class' ... ../src/syntax/typing.nit:1179,22--32
+          ../src/syntax/typing.nit:1180,3--1182,9
+            'if' ... ../src/syntax/typing.nit:1180,3--4
+            ../src/syntax/typing.nit:1180,6--44
+              'not' ... ../src/syntax/typing.nit:1180,6--8
+              ../src/syntax/typing.nit:1180,10--44
+                ../src/syntax/typing.nit:1180,10--11
+                  ../src/syntax/typing.nit:1180,10
+                  'lc' ... ../src/syntax/typing.nit:1180,10--11
+                'has_global_property_by_name' ... ../src/syntax/typing.nit:1180,13--39
+                ../src/syntax/typing.nit:1180,41--44
+                  ../src/syntax/typing.nit:1180,41
+                  'name' ... ../src/syntax/typing.nit:1180,41--44
+            ../src/syntax/typing.nit:1181,4--1182,9
+              ../src/syntax/typing.nit:1181,4--73
+                ../src/syntax/typing.nit:1181,4
+                  ../src/syntax/typing.nit:1181,4
+                  'v' ... ../src/syntax/typing.nit:1181,4
+                'error' ... ../src/syntax/typing.nit:1181,6--10
+                ../src/syntax/typing.nit:1181,12--15
+                  'self' ... ../src/syntax/typing.nit:1181,12--15
+                ../src/syntax/typing.nit:1181,18--73
+                  ../src/syntax/typing.nit:1181,18--36
+                    '"Error: Attribute {' ... ../src/syntax/typing.nit:1181,18--36
+                  ../src/syntax/typing.nit:1181,37--40
+                    ../src/syntax/typing.nit:1181,37
+                    'name' ... ../src/syntax/typing.nit:1181,37--40
+                  ../src/syntax/typing.nit:1181,41--61
+                    '} doesn't exists in {' ... ../src/syntax/typing.nit:1181,41--61
+                  ../src/syntax/typing.nit:1181,62--70
+                    ../src/syntax/typing.nit:1181,62
+                    'type_recv' ... ../src/syntax/typing.nit:1181,62--70
+                  ../src/syntax/typing.nit:1181,71--73
+                    '}."' ... ../src/syntax/typing.nit:1181,71--73
+              ../src/syntax/typing.nit:1182,4--9
+                'return' ... ../src/syntax/typing.nit:1182,4--9
+          ../src/syntax/typing.nit:1184,3--37
+            'var' ... ../src/syntax/typing.nit:1184,3--5
+            'prop' ... ../src/syntax/typing.nit:1184,7--10
+            '=' ... ../src/syntax/typing.nit:1184,12
+            ../src/syntax/typing.nit:1184,14--37
+              ../src/syntax/typing.nit:1184,14--15
+                ../src/syntax/typing.nit:1184,14
+                'lc' ... ../src/syntax/typing.nit:1184,14--15
+              'select_attribute' ... ../src/syntax/typing.nit:1184,17--32
+              ../src/syntax/typing.nit:1184,34--37
+                ../src/syntax/typing.nit:1184,34
+                'name' ... ../src/syntax/typing.nit:1184,34--37
+          ../src/syntax/typing.nit:1185,3--1186,111
+            'if' ... ../src/syntax/typing.nit:1185,3--4
+            ../src/syntax/typing.nit:1185,6--68
+              ../src/syntax/typing.nit:1185,6--63
+                ../src/syntax/typing.nit:1185,6--15
+                  ../src/syntax/typing.nit:1185,6
+                    ../src/syntax/typing.nit:1185,6
+                    'v' ... ../src/syntax/typing.nit:1185,6
+                  'mmmodule' ... ../src/syntax/typing.nit:1185,8--15
+                'visibility_for' ... ../src/syntax/typing.nit:1185,17--30
+                ../src/syntax/typing.nit:1185,32--63
+                  ../src/syntax/typing.nit:1185,32--54
+                    ../src/syntax/typing.nit:1185,32--42
+                      ../src/syntax/typing.nit:1185,32--35
+                        ../src/syntax/typing.nit:1185,32
+                        'prop' ... ../src/syntax/typing.nit:1185,32--35
+                      'global' ... ../src/syntax/typing.nit:1185,37--42
+                    'local_class' ... ../src/syntax/typing.nit:1185,44--54
+                  'mmmodule' ... ../src/syntax/typing.nit:1185,56--63
+              ../src/syntax/typing.nit:1185,68
+                '3' ... ../src/syntax/typing.nit:1185,68
+            ../src/syntax/typing.nit:1186,4--111
+              ../src/syntax/typing.nit:1186,4--111
+                ../src/syntax/typing.nit:1186,4
+                  ../src/syntax/typing.nit:1186,4
+                  'v' ... ../src/syntax/typing.nit:1186,4
+                'error' ... ../src/syntax/typing.nit:1186,6--10
+                ../src/syntax/typing.nit:1186,12--15
+                  'self' ... ../src/syntax/typing.nit:1186,12--15
+                ../src/syntax/typing.nit:1186,18--111
+                  ../src/syntax/typing.nit:1186,18--36
+                    '"Error: Attribute {' ... ../src/syntax/typing.nit:1186,18--36
+                  ../src/syntax/typing.nit:1186,37--40
+                    ../src/syntax/typing.nit:1186,37
+                    'name' ... ../src/syntax/typing.nit:1186,37--40
+                  ../src/syntax/typing.nit:1186,41--48
+                    '} from {' ... ../src/syntax/typing.nit:1186,41--48
+                  ../src/syntax/typing.nit:1186,49--80
+                    ../src/syntax/typing.nit:1186,49--71
+                      ../src/syntax/typing.nit:1186,49--59
+                        ../src/syntax/typing.nit:1186,49--52
+                          ../src/syntax/typing.nit:1186,49
+                          'prop' ... ../src/syntax/typing.nit:1186,49--52
+                        'global' ... ../src/syntax/typing.nit:1186,54--59
+                      'local_class' ... ../src/syntax/typing.nit:1186,61--71
+                    'mmmodule' ... ../src/syntax/typing.nit:1186,73--80
+                  ../src/syntax/typing.nit:1186,81--99
+                    '} is invisible in {' ... ../src/syntax/typing.nit:1186,81--99
+                  ../src/syntax/typing.nit:1186,100--109
+                    ../src/syntax/typing.nit:1186,100
+                      ../src/syntax/typing.nit:1186,100
+                      'v' ... ../src/syntax/typing.nit:1186,100
+                    'mmmodule' ... ../src/syntax/typing.nit:1186,102--109
+                  ../src/syntax/typing.nit:1186,110--111
+                    '}"' ... ../src/syntax/typing.nit:1186,110--111
+          ../src/syntax/typing.nit:1188,3--14
+            ../src/syntax/typing.nit:1188,11
+            '_prop' ... ../src/syntax/typing.nit:1188,3--7
+            '=' ... ../src/syntax/typing.nit:1188,9
+            ../src/syntax/typing.nit:1188,11--14
+              ../src/syntax/typing.nit:1188,11
+              'prop' ... ../src/syntax/typing.nit:1188,11--14
+          ../src/syntax/typing.nit:1189,3--52
+            'var' ... ../src/syntax/typing.nit:1189,3--5
+            'at' ... ../src/syntax/typing.nit:1189,7--8
+            '=' ... ../src/syntax/typing.nit:1189,10
+            ../src/syntax/typing.nit:1189,12--52
+              ../src/syntax/typing.nit:1189,12--39
+                ../src/syntax/typing.nit:1189,12--15
+                  ../src/syntax/typing.nit:1189,12
+                  'prop' ... ../src/syntax/typing.nit:1189,12--15
+                'signature_for' ... ../src/syntax/typing.nit:1189,17--29
+                ../src/syntax/typing.nit:1189,31--39
+                  ../src/syntax/typing.nit:1189,31
+                  'type_recv' ... ../src/syntax/typing.nit:1189,31--39
+              'return_type' ... ../src/syntax/typing.nit:1189,42--52
+          ../src/syntax/typing.nit:1190,3--49
+            'if' ... ../src/syntax/typing.nit:1190,3--4
+            ../src/syntax/typing.nit:1190,6--23
+              'not' ... ../src/syntax/typing.nit:1190,6--8
+              ../src/syntax/typing.nit:1190,10--23
+                ../src/syntax/typing.nit:1190,10--15
+                  ../src/syntax/typing.nit:1190,10
+                  'n_expr' ... ../src/syntax/typing.nit:1190,10--15
+                'is_self' ... ../src/syntax/typing.nit:1190,17--23
+            ../src/syntax/typing.nit:1190,30--49
+              ../src/syntax/typing.nit:1190,35
+              'at' ... ../src/syntax/typing.nit:1190,30--31
+              '=' ... ../src/syntax/typing.nit:1190,33
+              ../src/syntax/typing.nit:1190,35--49
+                ../src/syntax/typing.nit:1190,35--36
+                  ../src/syntax/typing.nit:1190,35
+                  'at' ... ../src/syntax/typing.nit:1190,35--36
+                'not_for_self' ... ../src/syntax/typing.nit:1190,38--49
+          ../src/syntax/typing.nit:1191,3--17
+            ../src/syntax/typing.nit:1191,16
+            '_attr_type' ... ../src/syntax/typing.nit:1191,3--12
+            '=' ... ../src/syntax/typing.nit:1191,14
+            ../src/syntax/typing.nit:1191,16--17
+              ../src/syntax/typing.nit:1191,16
+              'at' ... ../src/syntax/typing.nit:1191,16--17
+    ../src/syntax/typing.nit:1195,1--1201,18
+      'redef' ... ../src/syntax/typing.nit:1195,1--5
+      ../src/syntax/typing.nit:1195,7
+      ../src/syntax/typing.nit:1195,7--11
+        'class' ... ../src/syntax/typing.nit:1195,7--11
+      'AAttrExpr' ... ../src/syntax/typing.nit:1195,13--21
+      ../src/syntax/typing.nit:1196,2--1201,18
+        'redef' ... ../src/syntax/typing.nit:1196,2--6
+        ../src/syntax/typing.nit:1196,12
+        'fun' ... ../src/syntax/typing.nit:1196,8--10
+        ../src/syntax/typing.nit:1196,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1196,12--23
+        ../src/syntax/typing.nit:1196,25
+          ../src/syntax/typing.nit:1196,25
+            'v' ... ../src/syntax/typing.nit:1196,25
+        ../src/syntax/typing.nit:1198,3--1201,18
+          ../src/syntax/typing.nit:1198,3--13
+            ../src/syntax/typing.nit:1198,13
+            'do_typing' ... ../src/syntax/typing.nit:1198,3--11
+            ../src/syntax/typing.nit:1198,13
+              ../src/syntax/typing.nit:1198,13
+              'v' ... ../src/syntax/typing.nit:1198,13
+          ../src/syntax/typing.nit:1199,3--30
+            'if' ... ../src/syntax/typing.nit:1199,3--4
+            ../src/syntax/typing.nit:1199,6--18
+              ../src/syntax/typing.nit:1199,6--10
+                ../src/syntax/typing.nit:1199,6
+                '_prop' ... ../src/syntax/typing.nit:1199,6--10
+              ../src/syntax/typing.nit:1199,15--18
+                'null' ... ../src/syntax/typing.nit:1199,15--18
+            ../src/syntax/typing.nit:1199,25--30
+              'return' ... ../src/syntax/typing.nit:1199,25--30
+          ../src/syntax/typing.nit:1200,3--20
+            ../src/syntax/typing.nit:1200,12
+            '_stype' ... ../src/syntax/typing.nit:1200,3--8
+            '=' ... ../src/syntax/typing.nit:1200,10
+            ../src/syntax/typing.nit:1200,12--20
+              ../src/syntax/typing.nit:1200,12
+              'attr_type' ... ../src/syntax/typing.nit:1200,12--20
+          ../src/syntax/typing.nit:1201,3--18
+            ../src/syntax/typing.nit:1201,15
+            '_is_typed' ... ../src/syntax/typing.nit:1201,3--11
+            '=' ... ../src/syntax/typing.nit:1201,13
+            ../src/syntax/typing.nit:1201,15--18
+              'true' ... ../src/syntax/typing.nit:1201,15--18
+    ../src/syntax/typing.nit:1205,1--1211,18
+      'redef' ... ../src/syntax/typing.nit:1205,1--5
+      ../src/syntax/typing.nit:1205,7
+      ../src/syntax/typing.nit:1205,7--11
+        'class' ... ../src/syntax/typing.nit:1205,7--11
+      'AAttrAssignExpr' ... ../src/syntax/typing.nit:1205,13--27
+      ../src/syntax/typing.nit:1206,2--1211,18
+        'redef' ... ../src/syntax/typing.nit:1206,2--6
+        ../src/syntax/typing.nit:1206,12
+        'fun' ... ../src/syntax/typing.nit:1206,8--10
+        ../src/syntax/typing.nit:1206,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1206,12--23
+        ../src/syntax/typing.nit:1206,25
+          ../src/syntax/typing.nit:1206,25
+            'v' ... ../src/syntax/typing.nit:1206,25
+        ../src/syntax/typing.nit:1208,3--1211,18
+          ../src/syntax/typing.nit:1208,3--13
+            ../src/syntax/typing.nit:1208,13
+            'do_typing' ... ../src/syntax/typing.nit:1208,3--11
+            ../src/syntax/typing.nit:1208,13
+              ../src/syntax/typing.nit:1208,13
+              'v' ... ../src/syntax/typing.nit:1208,13
+          ../src/syntax/typing.nit:1209,3--30
+            'if' ... ../src/syntax/typing.nit:1209,3--4
+            ../src/syntax/typing.nit:1209,6--18
+              ../src/syntax/typing.nit:1209,6--10
+                ../src/syntax/typing.nit:1209,6
+                '_prop' ... ../src/syntax/typing.nit:1209,6--10
+              ../src/syntax/typing.nit:1209,15--18
+                'null' ... ../src/syntax/typing.nit:1209,15--18
+            ../src/syntax/typing.nit:1209,25--30
+              'return' ... ../src/syntax/typing.nit:1209,25--30
+          ../src/syntax/typing.nit:1210,3--61
+            'if' ... ../src/syntax/typing.nit:1210,3--4
+            ../src/syntax/typing.nit:1210,6--48
+              'not' ... ../src/syntax/typing.nit:1210,6--8
+              ../src/syntax/typing.nit:1210,10--48
+                ../src/syntax/typing.nit:1210,10
+                  ../src/syntax/typing.nit:1210,10
+                  'v' ... ../src/syntax/typing.nit:1210,10
+                'check_conform_expr' ... ../src/syntax/typing.nit:1210,12--29
+                ../src/syntax/typing.nit:1210,31--37
+                  ../src/syntax/typing.nit:1210,31
+                  'n_value' ... ../src/syntax/typing.nit:1210,31--37
+                ../src/syntax/typing.nit:1210,40--48
+                  ../src/syntax/typing.nit:1210,40
+                  'attr_type' ... ../src/syntax/typing.nit:1210,40--48
+            ../src/syntax/typing.nit:1210,56--61
+              'return' ... ../src/syntax/typing.nit:1210,56--61
+          ../src/syntax/typing.nit:1211,3--18
+            ../src/syntax/typing.nit:1211,15
+            '_is_typed' ... ../src/syntax/typing.nit:1211,3--11
+            '=' ... ../src/syntax/typing.nit:1211,13
+            ../src/syntax/typing.nit:1211,15--18
+              'true' ... ../src/syntax/typing.nit:1211,15--18
+    ../src/syntax/typing.nit:1215,1--1223,18
+      'redef' ... ../src/syntax/typing.nit:1215,1--5
+      ../src/syntax/typing.nit:1215,7
+      ../src/syntax/typing.nit:1215,7--11
+        'class' ... ../src/syntax/typing.nit:1215,7--11
+      'AAttrReassignExpr' ... ../src/syntax/typing.nit:1215,13--29
+      ../src/syntax/typing.nit:1216,2--1223,18
+        'redef' ... ../src/syntax/typing.nit:1216,2--6
+        ../src/syntax/typing.nit:1216,12
+        'fun' ... ../src/syntax/typing.nit:1216,8--10
+        ../src/syntax/typing.nit:1216,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1216,12--23
+        ../src/syntax/typing.nit:1216,25
+          ../src/syntax/typing.nit:1216,25
+            'v' ... ../src/syntax/typing.nit:1216,25
+        ../src/syntax/typing.nit:1218,3--1223,18
+          ../src/syntax/typing.nit:1218,3--13
+            ../src/syntax/typing.nit:1218,13
+            'do_typing' ... ../src/syntax/typing.nit:1218,3--11
+            ../src/syntax/typing.nit:1218,13
+              ../src/syntax/typing.nit:1218,13
+              'v' ... ../src/syntax/typing.nit:1218,13
+          ../src/syntax/typing.nit:1219,3--30
+            'if' ... ../src/syntax/typing.nit:1219,3--4
+            ../src/syntax/typing.nit:1219,6--18
+              ../src/syntax/typing.nit:1219,6--10
+                ../src/syntax/typing.nit:1219,6
+                '_prop' ... ../src/syntax/typing.nit:1219,6--10
+              ../src/syntax/typing.nit:1219,15--18
+                'null' ... ../src/syntax/typing.nit:1219,15--18
+            ../src/syntax/typing.nit:1219,25--30
+              'return' ... ../src/syntax/typing.nit:1219,25--30
+          ../src/syntax/typing.nit:1220,3--39
+            'var' ... ../src/syntax/typing.nit:1220,3--5
+            't' ... ../src/syntax/typing.nit:1220,7
+            '=' ... ../src/syntax/typing.nit:1220,9
+            ../src/syntax/typing.nit:1220,11--39
+              ../src/syntax/typing.nit:1220,28
+              'do_rvalue_typing' ... ../src/syntax/typing.nit:1220,11--26
+              ../src/syntax/typing.nit:1220,28
+                ../src/syntax/typing.nit:1220,28
+                'v' ... ../src/syntax/typing.nit:1220,28
+              ../src/syntax/typing.nit:1220,31--39
+                ../src/syntax/typing.nit:1220,31
+                'attr_type' ... ../src/syntax/typing.nit:1220,31--39
+          ../src/syntax/typing.nit:1221,3--26
+            'if' ... ../src/syntax/typing.nit:1221,3--4
+            ../src/syntax/typing.nit:1221,6--14
+              ../src/syntax/typing.nit:1221,6
+                ../src/syntax/typing.nit:1221,6
+                't' ... ../src/syntax/typing.nit:1221,6
+              ../src/syntax/typing.nit:1221,11--14
+                'null' ... ../src/syntax/typing.nit:1221,11--14
+            ../src/syntax/typing.nit:1221,21--26
+              'return' ... ../src/syntax/typing.nit:1221,21--26
+          ../src/syntax/typing.nit:1222,3--40
+            ../src/syntax/typing.nit:1222,3
+              ../src/syntax/typing.nit:1222,3
+              'v' ... ../src/syntax/typing.nit:1222,3
+            'check_conform' ... ../src/syntax/typing.nit:1222,5--17
+            ../src/syntax/typing.nit:1222,19--22
+              'self' ... ../src/syntax/typing.nit:1222,19--22
+            ../src/syntax/typing.nit:1222,25
+              ../src/syntax/typing.nit:1222,25
+              't' ... ../src/syntax/typing.nit:1222,25
+            ../src/syntax/typing.nit:1222,28--40
+              ../src/syntax/typing.nit:1222,28--34
+                ../src/syntax/typing.nit:1222,28
+                'n_value' ... ../src/syntax/typing.nit:1222,28--34
+              'stype' ... ../src/syntax/typing.nit:1222,36--40
+          ../src/syntax/typing.nit:1223,3--18
+            ../src/syntax/typing.nit:1223,15
+            '_is_typed' ... ../src/syntax/typing.nit:1223,3--11
+            '=' ... ../src/syntax/typing.nit:1223,13
+            ../src/syntax/typing.nit:1223,15--18
+              'true' ... ../src/syntax/typing.nit:1223,15--18
+    ../src/syntax/typing.nit:1227,1--1236,18
+      'redef' ... ../src/syntax/typing.nit:1227,1--5
+      ../src/syntax/typing.nit:1227,7
+      ../src/syntax/typing.nit:1227,7--11
+        'class' ... ../src/syntax/typing.nit:1227,7--11
+      'AIssetAttrExpr' ... ../src/syntax/typing.nit:1227,13--26
+      ../src/syntax/typing.nit:1228,2--1236,18
+        'redef' ... ../src/syntax/typing.nit:1228,2--6
+        ../src/syntax/typing.nit:1228,12
+        'fun' ... ../src/syntax/typing.nit:1228,8--10
+        ../src/syntax/typing.nit:1228,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1228,12--23
+        ../src/syntax/typing.nit:1228,25
+          ../src/syntax/typing.nit:1228,25
+            'v' ... ../src/syntax/typing.nit:1228,25
+        ../src/syntax/typing.nit:1230,3--1236,18
+          ../src/syntax/typing.nit:1230,3--13
+            ../src/syntax/typing.nit:1230,13
+            'do_typing' ... ../src/syntax/typing.nit:1230,3--11
+            ../src/syntax/typing.nit:1230,13
+              ../src/syntax/typing.nit:1230,13
+              'v' ... ../src/syntax/typing.nit:1230,13
+          ../src/syntax/typing.nit:1231,3--30
+            'if' ... ../src/syntax/typing.nit:1231,3--4
+            ../src/syntax/typing.nit:1231,6--18
+              ../src/syntax/typing.nit:1231,6--10
+                ../src/syntax/typing.nit:1231,6
+                '_prop' ... ../src/syntax/typing.nit:1231,6--10
+              ../src/syntax/typing.nit:1231,15--18
+                'null' ... ../src/syntax/typing.nit:1231,15--18
+            ../src/syntax/typing.nit:1231,25--30
+              'return' ... ../src/syntax/typing.nit:1231,25--30
+          ../src/syntax/typing.nit:1232,3--1233,56
+            'if' ... ../src/syntax/typing.nit:1232,3--4
+            ../src/syntax/typing.nit:1232,6--26
+              ../src/syntax/typing.nit:1232,6--14
+                ../src/syntax/typing.nit:1232,6
+                'attr_type' ... ../src/syntax/typing.nit:1232,6--14
+              'is_nullable' ... ../src/syntax/typing.nit:1232,16--26
+            ../src/syntax/typing.nit:1233,4--56
+              ../src/syntax/typing.nit:1233,4--56
+                ../src/syntax/typing.nit:1233,4
+                  ../src/syntax/typing.nit:1233,4
+                  'v' ... ../src/syntax/typing.nit:1233,4
+                'error' ... ../src/syntax/typing.nit:1233,6--10
+                ../src/syntax/typing.nit:1233,12--15
+                  'self' ... ../src/syntax/typing.nit:1233,12--15
+                ../src/syntax/typing.nit:1233,18--56
+                  '"Error: isset on a nullable attribute."' ... ../src/syntax/typing.nit:1233,18--56
+          ../src/syntax/typing.nit:1235,3--22
+            ../src/syntax/typing.nit:1235,12
+            '_stype' ... ../src/syntax/typing.nit:1235,3--8
+            '=' ... ../src/syntax/typing.nit:1235,10
+            ../src/syntax/typing.nit:1235,12--22
+              ../src/syntax/typing.nit:1235,12
+                ../src/syntax/typing.nit:1235,12
+                'v' ... ../src/syntax/typing.nit:1235,12
+              'type_bool' ... ../src/syntax/typing.nit:1235,14--22
+          ../src/syntax/typing.nit:1236,3--18
+            ../src/syntax/typing.nit:1236,15
+            '_is_typed' ... ../src/syntax/typing.nit:1236,3--11
+            '=' ... ../src/syntax/typing.nit:1236,13
+            ../src/syntax/typing.nit:1236,15--18
+              'true' ... ../src/syntax/typing.nit:1236,15--18
+    ../src/syntax/typing.nit:1240,1--1350,10
+      'redef' ... ../src/syntax/typing.nit:1240,1--5
+      ../src/syntax/typing.nit:1240,7
+      ../src/syntax/typing.nit:1240,7--11
+        'class' ... ../src/syntax/typing.nit:1240,7--11
+      'AAbsAbsSendExpr' ... ../src/syntax/typing.nit:1240,13--27
+      ../src/syntax/typing.nit:1241,2--1242,63
+        ../src/syntax/typing.nit:1241,2--1242,0
+          '# The signature of the called property
+' ... ../src/syntax/typing.nit:1241,2--1242,0
+        'redef' ... ../src/syntax/typing.nit:1242,2--6
+        ../src/syntax/typing.nit:1242,12
+        'fun' ... ../src/syntax/typing.nit:1242,8--10
+        ../src/syntax/typing.nit:1242,12--25
+          'prop_signature' ... ../src/syntax/typing.nit:1242,12--25
+        ../src/syntax/typing.nit:1242,37
+        ../src/syntax/typing.nit:1242,30--63
+          'return' ... ../src/syntax/typing.nit:1242,30--35
+          ../src/syntax/typing.nit:1242,37--63
+            ../src/syntax/typing.nit:1242,37--51
+              ../src/syntax/typing.nit:1242,37
+              '_prop_signature' ... ../src/syntax/typing.nit:1242,37--51
+            'as' ... ../src/syntax/typing.nit:1242,53--54
+            'not' ... ../src/syntax/typing.nit:1242,56--58
+            'null' ... ../src/syntax/typing.nit:1242,60--63
+      ../src/syntax/typing.nit:1243,2--42
+        ../src/syntax/typing.nit:1243,23
+        'var' ... ../src/syntax/typing.nit:1243,2--4
+        '_prop_signature' ... ../src/syntax/typing.nit:1243,6--20
+        ../src/syntax/typing.nit:1243,23--42
+          'nullable' ... ../src/syntax/typing.nit:1243,23--30
+          'MMSignature' ... ../src/syntax/typing.nit:1243,32--42
+      ../src/syntax/typing.nit:1245,2--1255,13
+        ../src/syntax/typing.nit:1245,2--1246,0
+          '# Raw arguments used (without vararg transformation)
+' ... ../src/syntax/typing.nit:1245,2--1246,0
+        'redef' ... ../src/syntax/typing.nit:1246,2--6
+        ../src/syntax/typing.nit:1246,12
+        'fun' ... ../src/syntax/typing.nit:1246,8--10
+        ../src/syntax/typing.nit:1246,12--24
+          'raw_arguments' ... ../src/syntax/typing.nit:1246,12--24
+        ../src/syntax/typing.nit:1246,27--37
+          ../src/syntax/typing.nit:1246,27--37
+            'Array' ... ../src/syntax/typing.nit:1246,27--31
+            ../src/syntax/typing.nit:1246,33--37
+              'AExpr' ... ../src/syntax/typing.nit:1246,33--37
+        ../src/syntax/typing.nit:1248,3--1255,13
+          ../src/syntax/typing.nit:1248,3--32
+            'var' ... ../src/syntax/typing.nit:1248,3--5
+            'res' ... ../src/syntax/typing.nit:1248,7--9
+            '=' ... ../src/syntax/typing.nit:1248,11
+            ../src/syntax/typing.nit:1248,13--32
+              ../src/syntax/typing.nit:1248,13
+              '_raw_arguments_cache' ... ../src/syntax/typing.nit:1248,13--32
+          ../src/syntax/typing.nit:1249,3--1255,13
+            'if' ... ../src/syntax/typing.nit:1249,3--4
+            ../src/syntax/typing.nit:1249,6--16
+              ../src/syntax/typing.nit:1249,6--8
+                ../src/syntax/typing.nit:1249,6
+                'res' ... ../src/syntax/typing.nit:1249,6--8
+              ../src/syntax/typing.nit:1249,13--16
+                'null' ... ../src/syntax/typing.nit:1249,13--16
+            ../src/syntax/typing.nit:1250,4--13
+              ../src/syntax/typing.nit:1250,4--13
+                'return' ... ../src/syntax/typing.nit:1250,4--9
+                ../src/syntax/typing.nit:1250,11--13
+                  ../src/syntax/typing.nit:1250,11
+                  'res' ... ../src/syntax/typing.nit:1250,11--13
+            ../src/syntax/typing.nit:1252,4--1255,13
+              ../src/syntax/typing.nit:1252,4--30
+                ../src/syntax/typing.nit:1252,10
+                'res' ... ../src/syntax/typing.nit:1252,4--6
+                '=' ... ../src/syntax/typing.nit:1252,8
+                ../src/syntax/typing.nit:1252,10--30
+                  ../src/syntax/typing.nit:1252,10
+                  'compute_raw_arguments' ... ../src/syntax/typing.nit:1252,10--30
+              ../src/syntax/typing.nit:1253,4--44
+                'if' ... ../src/syntax/typing.nit:1253,4--5
+                ../src/syntax/typing.nit:1253,7--17
+                  ../src/syntax/typing.nit:1253,7--9
+                    ../src/syntax/typing.nit:1253,7
+                    'res' ... ../src/syntax/typing.nit:1253,7--9
+                  ../src/syntax/typing.nit:1253,14--17
+                    'null' ... ../src/syntax/typing.nit:1253,14--17
+                ../src/syntax/typing.nit:1253,24--44
+                  ../src/syntax/typing.nit:1253,40
+                  'res' ... ../src/syntax/typing.nit:1253,24--26
+                  '=' ... ../src/syntax/typing.nit:1253,28
+                  ../src/syntax/typing.nit:1253,30--44
+                    'new' ... ../src/syntax/typing.nit:1253,30--32
+                    ../src/syntax/typing.nit:1253,34--44
+                      'Array' ... ../src/syntax/typing.nit:1253,34--38
+                      ../src/syntax/typing.nit:1253,40--44
+                        'AExpr' ... ../src/syntax/typing.nit:1253,40--44
+              ../src/syntax/typing.nit:1254,4--29
+                ../src/syntax/typing.nit:1254,27
+                '_raw_arguments_cache' ... ../src/syntax/typing.nit:1254,4--23
+                '=' ... ../src/syntax/typing.nit:1254,25
+                ../src/syntax/typing.nit:1254,27--29
+                  ../src/syntax/typing.nit:1254,27
+                  'res' ... ../src/syntax/typing.nit:1254,27--29
+              ../src/syntax/typing.nit:1255,4--13
+                'return' ... ../src/syntax/typing.nit:1255,4--9
+                ../src/syntax/typing.nit:1255,11--13
+                  ../src/syntax/typing.nit:1255,11
+                  'res' ... ../src/syntax/typing.nit:1255,11--13
+      ../src/syntax/typing.nit:1259,2--55
+        ../src/syntax/typing.nit:1259,43
+        'var' ... ../src/syntax/typing.nit:1259,2--4
+        '_raw_arguments_cache' ... ../src/syntax/typing.nit:1259,6--25
+        ../src/syntax/typing.nit:1259,28--47
+          'nullable' ... ../src/syntax/typing.nit:1259,28--35
+          'Array' ... ../src/syntax/typing.nit:1259,37--41
+          ../src/syntax/typing.nit:1259,43--47
+            'AExpr' ... ../src/syntax/typing.nit:1259,43--47
+        ../src/syntax/typing.nit:1259,52--55
+          'null' ... ../src/syntax/typing.nit:1259,52--55
+      ../src/syntax/typing.nit:1261,2--1264,13
+        ../src/syntax/typing.nit:1261,6
+        'fun' ... ../src/syntax/typing.nit:1261,2--4
+        ../src/syntax/typing.nit:1261,6--26
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1261,6--26
+        ../src/syntax/typing.nit:1261,29--48
+          ../src/syntax/typing.nit:1261,29--48
+            'nullable' ... ../src/syntax/typing.nit:1261,29--36
+            'Array' ... ../src/syntax/typing.nit:1261,38--42
+            ../src/syntax/typing.nit:1261,44--48
+              'AExpr' ... ../src/syntax/typing.nit:1261,44--48
+        ../src/syntax/typing.nit:1263,3--1264,13
+          ../src/syntax/typing.nit:1263,3--45
+            ../src/syntax/typing.nit:1263,9
+            'print' ... ../src/syntax/typing.nit:1263,3--7
+            ../src/syntax/typing.nit:1263,9--45
+              ../src/syntax/typing.nit:1263,9--10
+                '"{' ... ../src/syntax/typing.nit:1263,9--10
+              ../src/syntax/typing.nit:1263,11--18
+                ../src/syntax/typing.nit:1263,11
+                'location' ... ../src/syntax/typing.nit:1263,11--18
+              ../src/syntax/typing.nit:1263,19--45
+                '} no compute_raw_arguments"' ... ../src/syntax/typing.nit:1263,19--45
+          ../src/syntax/typing.nit:1264,3--13
+            'return' ... ../src/syntax/typing.nit:1264,3--8
+            ../src/syntax/typing.nit:1264,10--13
+              'null' ... ../src/syntax/typing.nit:1264,10--13
+      ../src/syntax/typing.nit:1267,2--1294,13
+        ../src/syntax/typing.nit:1267,2--1268,0
+          '# Check the conformity of a set of arguments `raw_args' to a signature.
+' ... ../src/syntax/typing.nit:1267,2--1268,0
+        ../src/syntax/typing.nit:1268,2--8
+          'private' ... ../src/syntax/typing.nit:1268,2--8
+        'fun' ... ../src/syntax/typing.nit:1268,10--12
+        ../src/syntax/typing.nit:1268,14--30
+          'process_signature' ... ../src/syntax/typing.nit:1268,14--30
+        ../src/syntax/typing.nit:1268,32--120
+          ../src/syntax/typing.nit:1268,32--47
+            'v' ... ../src/syntax/typing.nit:1268,32
+            ../src/syntax/typing.nit:1268,35--47
+              'TypingVisitor' ... ../src/syntax/typing.nit:1268,35--47
+          ../src/syntax/typing.nit:1268,50--66
+            'psig' ... ../src/syntax/typing.nit:1268,50--53
+            ../src/syntax/typing.nit:1268,56--66
+              'MMSignature' ... ../src/syntax/typing.nit:1268,56--66
+          ../src/syntax/typing.nit:1268,69--80
+            'name' ... ../src/syntax/typing.nit:1268,69--72
+            ../src/syntax/typing.nit:1268,75--80
+              'Symbol' ... ../src/syntax/typing.nit:1268,75--80
+          ../src/syntax/typing.nit:1268,83--112
+            'raw_args' ... ../src/syntax/typing.nit:1268,83--90
+            ../src/syntax/typing.nit:1268,93--112
+              'nullable' ... ../src/syntax/typing.nit:1268,93--100
+              'Array' ... ../src/syntax/typing.nit:1268,102--106
+              ../src/syntax/typing.nit:1268,108--112
+                'AExpr' ... ../src/syntax/typing.nit:1268,108--112
+          ../src/syntax/typing.nit:1268,117--120
+            'Bool' ... ../src/syntax/typing.nit:1268,117--120
+        ../src/syntax/typing.nit:1270,3--1294,13
+          ../src/syntax/typing.nit:1270,3--35
+            'var' ... ../src/syntax/typing.nit:1270,3--5
+            'par_vararg' ... ../src/syntax/typing.nit:1270,7--16
+            '=' ... ../src/syntax/typing.nit:1270,18
+            ../src/syntax/typing.nit:1270,20--35
+              ../src/syntax/typing.nit:1270,20--23
+                ../src/syntax/typing.nit:1270,20
+                'psig' ... ../src/syntax/typing.nit:1270,20--23
+              'vararg_rank' ... ../src/syntax/typing.nit:1270,25--35
+          ../src/syntax/typing.nit:1271,3--28
+            'var' ... ../src/syntax/typing.nit:1271,3--5
+            'par_arity' ... ../src/syntax/typing.nit:1271,7--15
+            '=' ... ../src/syntax/typing.nit:1271,17
+            ../src/syntax/typing.nit:1271,19--28
+              ../src/syntax/typing.nit:1271,19--22
+                ../src/syntax/typing.nit:1271,19
+                'psig' ... ../src/syntax/typing.nit:1271,19--22
+              'arity' ... ../src/syntax/typing.nit:1271,24--28
+          ../src/syntax/typing.nit:1272,3--20
+            'var' ... ../src/syntax/typing.nit:1272,3--5
+            'raw_arity' ... ../src/syntax/typing.nit:1272,7--15
+            ../src/syntax/typing.nit:1272,18--20
+              'Int' ... ../src/syntax/typing.nit:1272,18--20
+          ../src/syntax/typing.nit:1273,3--73
+            'if' ... ../src/syntax/typing.nit:1273,3--4
+            ../src/syntax/typing.nit:1273,6--21
+              ../src/syntax/typing.nit:1273,6--13
+                ../src/syntax/typing.nit:1273,6
+                'raw_args' ... ../src/syntax/typing.nit:1273,6--13
+              ../src/syntax/typing.nit:1273,18--21
+                'null' ... ../src/syntax/typing.nit:1273,18--21
+            ../src/syntax/typing.nit:1273,28--40
+              ../src/syntax/typing.nit:1273,40
+              'raw_arity' ... ../src/syntax/typing.nit:1273,28--36
+              '=' ... ../src/syntax/typing.nit:1273,38
+              ../src/syntax/typing.nit:1273,40
+                '0' ... ../src/syntax/typing.nit:1273,40
+            ../src/syntax/typing.nit:1273,47--73
+              ../src/syntax/typing.nit:1273,59
+              'raw_arity' ... ../src/syntax/typing.nit:1273,47--55
+              '=' ... ../src/syntax/typing.nit:1273,57
+              ../src/syntax/typing.nit:1273,59--73
+                ../src/syntax/typing.nit:1273,59--66
+                  ../src/syntax/typing.nit:1273,59
+                  'raw_args' ... ../src/syntax/typing.nit:1273,59--66
+                'length' ... ../src/syntax/typing.nit:1273,68--73
+          ../src/syntax/typing.nit:1274,3--1276,15
+            'if' ... ../src/syntax/typing.nit:1274,3--4
+            ../src/syntax/typing.nit:1274,6--74
+              ../src/syntax/typing.nit:1274,6--26
+                ../src/syntax/typing.nit:1274,6--14
+                  ../src/syntax/typing.nit:1274,6
+                  'par_arity' ... ../src/syntax/typing.nit:1274,6--14
+                ../src/syntax/typing.nit:1274,18--26
+                  ../src/syntax/typing.nit:1274,18
+                  'raw_arity' ... ../src/syntax/typing.nit:1274,18--26
+              ../src/syntax/typing.nit:1274,32--74
+                ../src/syntax/typing.nit:1274,32--53
+                  ../src/syntax/typing.nit:1274,32--40
+                    ../src/syntax/typing.nit:1274,32
+                    'par_arity' ... ../src/syntax/typing.nit:1274,32--40
+                  ../src/syntax/typing.nit:1274,45--53
+                    ../src/syntax/typing.nit:1274,45
+                    'raw_arity' ... ../src/syntax/typing.nit:1274,45--53
+                ../src/syntax/typing.nit:1274,59--74
+                  ../src/syntax/typing.nit:1274,59--68
+                    ../src/syntax/typing.nit:1274,59
+                    'par_vararg' ... ../src/syntax/typing.nit:1274,59--68
+                  ../src/syntax/typing.nit:1274,73--74
+                    '-' ... ../src/syntax/typing.nit:1274,73
+                    ../src/syntax/typing.nit:1274,74
+                      '1' ... ../src/syntax/typing.nit:1274,74
+            ../src/syntax/typing.nit:1275,4--1276,15
+              ../src/syntax/typing.nit:1275,4--70
+                ../src/syntax/typing.nit:1275,4
+                  ../src/syntax/typing.nit:1275,4
+                  'v' ... ../src/syntax/typing.nit:1275,4
+                'error' ... ../src/syntax/typing.nit:1275,6--10
+                ../src/syntax/typing.nit:1275,12--15
+                  'self' ... ../src/syntax/typing.nit:1275,12--15
+                ../src/syntax/typing.nit:1275,18--70
+                  ../src/syntax/typing.nit:1275,18--56
+                    '"Error: arity mismatch; prototype is '{' ... ../src/syntax/typing.nit:1275,18--56
+                  ../src/syntax/typing.nit:1275,57--60
+                    ../src/syntax/typing.nit:1275,57
+                    'name' ... ../src/syntax/typing.nit:1275,57--60
+                  ../src/syntax/typing.nit:1275,61--62
+                    '}{' ... ../src/syntax/typing.nit:1275,61--62
+                  ../src/syntax/typing.nit:1275,63--66
+                    ../src/syntax/typing.nit:1275,63
+                    'psig' ... ../src/syntax/typing.nit:1275,63--66
+                  ../src/syntax/typing.nit:1275,67--70
+                    '}'."' ... ../src/syntax/typing.nit:1275,67--70
+              ../src/syntax/typing.nit:1276,4--15
+                'return' ... ../src/syntax/typing.nit:1276,4--9
+                ../src/syntax/typing.nit:1276,11--15
+                  'false' ... ../src/syntax/typing.nit:1276,11--15
+          ../src/syntax/typing.nit:1278,3--17
+            'var' ... ../src/syntax/typing.nit:1278,3--5
+            'arg_idx' ... ../src/syntax/typing.nit:1278,7--13
+            '=' ... ../src/syntax/typing.nit:1278,15
+            ../src/syntax/typing.nit:1278,17
+              '0' ... ../src/syntax/typing.nit:1278,17
+          ../src/syntax/typing.nit:1279,3--1291,25
+            'for' ... ../src/syntax/typing.nit:1279,3--5
+            'par_idx' ... ../src/syntax/typing.nit:1279,7--13
+            ../src/syntax/typing.nit:1279,19--30
+              ../src/syntax/typing.nit:1279,19
+                '0' ... ../src/syntax/typing.nit:1279,19
+              ../src/syntax/typing.nit:1279,22--30
+                ../src/syntax/typing.nit:1279,22
+                'par_arity' ... ../src/syntax/typing.nit:1279,22--30
+            'do' ... ../src/syntax/typing.nit:1279,33--34
+            ../src/syntax/typing.nit:1280,4--1291,25
+              ../src/syntax/typing.nit:1280,4--15
+                'var' ... ../src/syntax/typing.nit:1280,4--6
+                'a' ... ../src/syntax/typing.nit:1280,8
+                ../src/syntax/typing.nit:1280,11--15
+                  'AExpr' ... ../src/syntax/typing.nit:1280,11--15
+              ../src/syntax/typing.nit:1281,4--30
+                'var' ... ../src/syntax/typing.nit:1281,4--6
+                'par_type' ... ../src/syntax/typing.nit:1281,8--15
+                '=' ... ../src/syntax/typing.nit:1281,17
+                ../src/syntax/typing.nit:1281,19--30
+                  ../src/syntax/typing.nit:1281,19--22
+                    ../src/syntax/typing.nit:1281,19
+                    'psig' ... ../src/syntax/typing.nit:1281,19--22
+                  ../src/syntax/typing.nit:1281,24--30
+                    ../src/syntax/typing.nit:1281,24
+                    'par_idx' ... ../src/syntax/typing.nit:1281,24--30
+              ../src/syntax/typing.nit:1282,4--1291,25
+                'if' ... ../src/syntax/typing.nit:1282,4--5
+                ../src/syntax/typing.nit:1282,7--27
+                  ../src/syntax/typing.nit:1282,7--13
+                    ../src/syntax/typing.nit:1282,7
+                    'par_idx' ... ../src/syntax/typing.nit:1282,7--13
+                  ../src/syntax/typing.nit:1282,18--27
+                    ../src/syntax/typing.nit:1282,18
+                    'par_vararg' ... ../src/syntax/typing.nit:1282,18--27
+                ../src/syntax/typing.nit:1283,5--1286,26
+                  ../src/syntax/typing.nit:1283,5--1286,26
+                    'for' ... ../src/syntax/typing.nit:1283,5--7
+                    'i' ... ../src/syntax/typing.nit:1283,9
+                    ../src/syntax/typing.nit:1283,15--37
+                      ../src/syntax/typing.nit:1283,15
+                        '0' ... ../src/syntax/typing.nit:1283,15
+                      ../src/syntax/typing.nit:1283,19--37
+                        ../src/syntax/typing.nit:1283,19--27
+                          ../src/syntax/typing.nit:1283,19
+                          'raw_arity' ... ../src/syntax/typing.nit:1283,19--27
+                        ../src/syntax/typing.nit:1283,29--37
+                          ../src/syntax/typing.nit:1283,29
+                          'par_arity' ... ../src/syntax/typing.nit:1283,29--37
+                    'do' ... ../src/syntax/typing.nit:1283,41--42
+                    ../src/syntax/typing.nit:1284,6--1286,26
+                      ../src/syntax/typing.nit:1284,6--25
+                        ../src/syntax/typing.nit:1284,10
+                        'a' ... ../src/syntax/typing.nit:1284,6
+                        '=' ... ../src/syntax/typing.nit:1284,8
+                        ../src/syntax/typing.nit:1284,10--25
+                          ../src/syntax/typing.nit:1284,10--17
+                            ../src/syntax/typing.nit:1284,10
+                            'raw_args' ... ../src/syntax/typing.nit:1284,10--17
+                          ../src/syntax/typing.nit:1284,19--25
+                            ../src/syntax/typing.nit:1284,19
+                            'arg_idx' ... ../src/syntax/typing.nit:1284,19--25
+                      ../src/syntax/typing.nit:1285,6--37
+                        ../src/syntax/typing.nit:1285,6
+                          ../src/syntax/typing.nit:1285,6
+                          'v' ... ../src/syntax/typing.nit:1285,6
+                        'check_conform_expr' ... ../src/syntax/typing.nit:1285,8--25
+                        ../src/syntax/typing.nit:1285,27
+                          ../src/syntax/typing.nit:1285,27
+                          'a' ... ../src/syntax/typing.nit:1285,27
+                        ../src/syntax/typing.nit:1285,30--37
+                          ../src/syntax/typing.nit:1285,30
+                          'par_type' ... ../src/syntax/typing.nit:1285,30--37
+                      ../src/syntax/typing.nit:1286,6--26
+                        ../src/syntax/typing.nit:1286,16
+                        'arg_idx' ... ../src/syntax/typing.nit:1286,6--12
+                        '=' ... ../src/syntax/typing.nit:1286,14
+                        ../src/syntax/typing.nit:1286,16--26
+                          ../src/syntax/typing.nit:1286,16--22
+                            ../src/syntax/typing.nit:1286,16
+                            'arg_idx' ... ../src/syntax/typing.nit:1286,16--22
+                          ../src/syntax/typing.nit:1286,26
+                            '1' ... ../src/syntax/typing.nit:1286,26
+                ../src/syntax/typing.nit:1289,5--1291,25
+                  ../src/syntax/typing.nit:1289,5--24
+                    ../src/syntax/typing.nit:1289,9
+                    'a' ... ../src/syntax/typing.nit:1289,5
+                    '=' ... ../src/syntax/typing.nit:1289,7
+                    ../src/syntax/typing.nit:1289,9--24
+                      ../src/syntax/typing.nit:1289,9--16
+                        ../src/syntax/typing.nit:1289,9
+                        'raw_args' ... ../src/syntax/typing.nit:1289,9--16
+                      ../src/syntax/typing.nit:1289,18--24
+                        ../src/syntax/typing.nit:1289,18
+                        'arg_idx' ... ../src/syntax/typing.nit:1289,18--24
+                  ../src/syntax/typing.nit:1290,5--36
+                    ../src/syntax/typing.nit:1290,5
+                      ../src/syntax/typing.nit:1290,5
+                      'v' ... ../src/syntax/typing.nit:1290,5
+                    'check_conform_expr' ... ../src/syntax/typing.nit:1290,7--24
+                    ../src/syntax/typing.nit:1290,26
+                      ../src/syntax/typing.nit:1290,26
+                      'a' ... ../src/syntax/typing.nit:1290,26
+                    ../src/syntax/typing.nit:1290,29--36
+                      ../src/syntax/typing.nit:1290,29
+                      'par_type' ... ../src/syntax/typing.nit:1290,29--36
+                  ../src/syntax/typing.nit:1291,5--25
+                    ../src/syntax/typing.nit:1291,15
+                    'arg_idx' ... ../src/syntax/typing.nit:1291,5--11
+                    '=' ... ../src/syntax/typing.nit:1291,13
+                    ../src/syntax/typing.nit:1291,15--25
+                      ../src/syntax/typing.nit:1291,15--21
+                        ../src/syntax/typing.nit:1291,15
+                        'arg_idx' ... ../src/syntax/typing.nit:1291,15--21
+                      ../src/syntax/typing.nit:1291,25
+                        '1' ... ../src/syntax/typing.nit:1291,25
+          ../src/syntax/typing.nit:1294,3--13
+            'return' ... ../src/syntax/typing.nit:1294,3--8
+            ../src/syntax/typing.nit:1294,10--13
+              'true' ... ../src/syntax/typing.nit:1294,10--13
+      ../src/syntax/typing.nit:1297,2--1350,10
+        ../src/syntax/typing.nit:1297,2--1298,0
+          '# Check the conformity of a set of defined closures
+' ... ../src/syntax/typing.nit:1297,2--1298,0
+        ../src/syntax/typing.nit:1298,2--8
+          'private' ... ../src/syntax/typing.nit:1298,2--8
+        'fun' ... ../src/syntax/typing.nit:1298,10--12
+        ../src/syntax/typing.nit:1298,14--29
+          'process_closures' ... ../src/syntax/typing.nit:1298,14--29
+        ../src/syntax/typing.nit:1298,31--130
+          ../src/syntax/typing.nit:1298,31--46
+            'v' ... ../src/syntax/typing.nit:1298,31
+            ../src/syntax/typing.nit:1298,34--46
+              'TypingVisitor' ... ../src/syntax/typing.nit:1298,34--46
+          ../src/syntax/typing.nit:1298,49--65
+            'psig' ... ../src/syntax/typing.nit:1298,49--52
+            ../src/syntax/typing.nit:1298,55--65
+              'MMSignature' ... ../src/syntax/typing.nit:1298,55--65
+          ../src/syntax/typing.nit:1298,68--79
+            'name' ... ../src/syntax/typing.nit:1298,68--71
+            ../src/syntax/typing.nit:1298,74--79
+              'Symbol' ... ../src/syntax/typing.nit:1298,74--79
+          ../src/syntax/typing.nit:1298,82--111
+            'cd' ... ../src/syntax/typing.nit:1298,82--83
+            ../src/syntax/typing.nit:1298,86--111
+              'nullable' ... ../src/syntax/typing.nit:1298,86--93
+              'Array' ... ../src/syntax/typing.nit:1298,95--99
+              ../src/syntax/typing.nit:1298,101--111
+                'AClosureDef' ... ../src/syntax/typing.nit:1298,101--111
+          ../src/syntax/typing.nit:1298,116--130
+            'nullable' ... ../src/syntax/typing.nit:1298,116--123
+            'MMType' ... ../src/syntax/typing.nit:1298,125--130
+        ../src/syntax/typing.nit:1300,3--1350,10
+          ../src/syntax/typing.nit:1300,3--26
+            'var' ... ../src/syntax/typing.nit:1300,3--5
+            't' ... ../src/syntax/typing.nit:1300,7
+            '=' ... ../src/syntax/typing.nit:1300,9
+            ../src/syntax/typing.nit:1300,11--26
+              ../src/syntax/typing.nit:1300,11--14
+                ../src/syntax/typing.nit:1300,11
+                'psig' ... ../src/syntax/typing.nit:1300,11--14
+              'return_type' ... ../src/syntax/typing.nit:1300,16--26
+          ../src/syntax/typing.nit:1301,3--24
+            'var' ... ../src/syntax/typing.nit:1301,3--5
+            'cs' ... ../src/syntax/typing.nit:1301,7--8
+            '=' ... ../src/syntax/typing.nit:1301,10
+            ../src/syntax/typing.nit:1301,12--24
+              ../src/syntax/typing.nit:1301,12--15
+                ../src/syntax/typing.nit:1301,12
+                'psig' ... ../src/syntax/typing.nit:1301,12--15
+              'closures' ... ../src/syntax/typing.nit:1301,17--24
+          ../src/syntax/typing.nit:1302,3--19
+            'var' ... ../src/syntax/typing.nit:1302,3--5
+            'min_arity' ... ../src/syntax/typing.nit:1302,7--15
+            '=' ... ../src/syntax/typing.nit:1302,17
+            ../src/syntax/typing.nit:1302,19
+              '0' ... ../src/syntax/typing.nit:1302,19
+          ../src/syntax/typing.nit:1303,3--1304,43
+            'for' ... ../src/syntax/typing.nit:1303,3--5
+            'c' ... ../src/syntax/typing.nit:1303,7
+            ../src/syntax/typing.nit:1303,12--13
+              ../src/syntax/typing.nit:1303,12
+              'cs' ... ../src/syntax/typing.nit:1303,12--13
+            'do' ... ../src/syntax/typing.nit:1303,15--16
+            ../src/syntax/typing.nit:1304,4--43
+              ../src/syntax/typing.nit:1304,4--43
+                'if' ... ../src/syntax/typing.nit:1304,4--5
+                ../src/syntax/typing.nit:1304,7--23
+                  'not' ... ../src/syntax/typing.nit:1304,7--9
+                  ../src/syntax/typing.nit:1304,11--23
+                    ../src/syntax/typing.nit:1304,11
+                      ../src/syntax/typing.nit:1304,11
+                      'c' ... ../src/syntax/typing.nit:1304,11
+                    'is_optional' ... ../src/syntax/typing.nit:1304,13--23
+                ../src/syntax/typing.nit:1304,30--43
+                  ../src/syntax/typing.nit:1304,40
+                  'min_arity' ... ../src/syntax/typing.nit:1304,30--38
+                  ../src/syntax/typing.nit:1304,40--41
+                    '+=' ... ../src/syntax/typing.nit:1304,40--41
+                  ../src/syntax/typing.nit:1304,43
+                    '1' ... ../src/syntax/typing.nit:1304,43
+          ../src/syntax/typing.nit:1306,3--15
+            'var' ... ../src/syntax/typing.nit:1306,3--5
+            'arity' ... ../src/syntax/typing.nit:1306,7--11
+            '=' ... ../src/syntax/typing.nit:1306,13
+            ../src/syntax/typing.nit:1306,15
+              '0' ... ../src/syntax/typing.nit:1306,15
+          ../src/syntax/typing.nit:1307,3--38
+            'if' ... ../src/syntax/typing.nit:1307,3--4
+            ../src/syntax/typing.nit:1307,6--15
+              ../src/syntax/typing.nit:1307,6--7
+                ../src/syntax/typing.nit:1307,6
+                'cd' ... ../src/syntax/typing.nit:1307,6--7
+              ../src/syntax/typing.nit:1307,12--15
+                'null' ... ../src/syntax/typing.nit:1307,12--15
+            ../src/syntax/typing.nit:1307,22--38
+              ../src/syntax/typing.nit:1307,30
+              'arity' ... ../src/syntax/typing.nit:1307,22--26
+              '=' ... ../src/syntax/typing.nit:1307,28
+              ../src/syntax/typing.nit:1307,30--38
+                ../src/syntax/typing.nit:1307,30--31
+                  ../src/syntax/typing.nit:1307,30
+                  'cd' ... ../src/syntax/typing.nit:1307,30--31
+                'length' ... ../src/syntax/typing.nit:1307,33--38
+          ../src/syntax/typing.nit:1308,3--1348,57
+            'if' ... ../src/syntax/typing.nit:1308,3--4
+            ../src/syntax/typing.nit:1308,6--18
+              ../src/syntax/typing.nit:1308,6--14
+                ../src/syntax/typing.nit:1308,6--7
+                  ../src/syntax/typing.nit:1308,6
+                  'cs' ... ../src/syntax/typing.nit:1308,6--7
+                'length' ... ../src/syntax/typing.nit:1308,9--14
+              ../src/syntax/typing.nit:1308,18
+                '0' ... ../src/syntax/typing.nit:1308,18
+            ../src/syntax/typing.nit:1309,4--1344,48
+              ../src/syntax/typing.nit:1309,4--1344,48
+                'if' ... ../src/syntax/typing.nit:1309,4--5
+                ../src/syntax/typing.nit:1309,7--34
+                  ../src/syntax/typing.nit:1309,7--16
+                    ../src/syntax/typing.nit:1309,7--11
+                      ../src/syntax/typing.nit:1309,7
+                      'arity' ... ../src/syntax/typing.nit:1309,7--11
+                    ../src/syntax/typing.nit:1309,16
+                      '0' ... ../src/syntax/typing.nit:1309,16
+                  ../src/syntax/typing.nit:1309,22--34
+                    ../src/syntax/typing.nit:1309,22--30
+                      ../src/syntax/typing.nit:1309,22
+                      'min_arity' ... ../src/syntax/typing.nit:1309,22--30
+                    ../src/syntax/typing.nit:1309,34
+                      '0' ... ../src/syntax/typing.nit:1309,34
+                ../src/syntax/typing.nit:1310,5--62
+                  ../src/syntax/typing.nit:1310,5--62
+                    ../src/syntax/typing.nit:1310,5
+                      ../src/syntax/typing.nit:1310,5
+                      'v' ... ../src/syntax/typing.nit:1310,5
+                    'error' ... ../src/syntax/typing.nit:1310,7--11
+                    ../src/syntax/typing.nit:1310,13--16
+                      'self' ... ../src/syntax/typing.nit:1310,13--16
+                    ../src/syntax/typing.nit:1310,19--62
+                      ../src/syntax/typing.nit:1310,19--27
+                        '"Error: {' ... ../src/syntax/typing.nit:1310,19--27
+                      ../src/syntax/typing.nit:1310,28--31
+                        ../src/syntax/typing.nit:1310,28
+                        'name' ... ../src/syntax/typing.nit:1310,28--31
+                      ../src/syntax/typing.nit:1310,32--43
+                        '} requires {' ... ../src/syntax/typing.nit:1310,32--43
+                      ../src/syntax/typing.nit:1310,44--52
+                        ../src/syntax/typing.nit:1310,44--45
+                          ../src/syntax/typing.nit:1310,44
+                          'cs' ... ../src/syntax/typing.nit:1310,44--45
+                        'length' ... ../src/syntax/typing.nit:1310,47--52
+                      ../src/syntax/typing.nit:1310,53--62
+                        '} blocks."' ... ../src/syntax/typing.nit:1310,53--62
+                ../src/syntax/typing.nit:1311,9--1344,48
+                  'if' ... ../src/syntax/typing.nit:1311,9--10
+                  ../src/syntax/typing.nit:1311,12--49
+                    ../src/syntax/typing.nit:1311,12--28
+                      ../src/syntax/typing.nit:1311,12--16
+                        ../src/syntax/typing.nit:1311,12
+                        'arity' ... ../src/syntax/typing.nit:1311,12--16
+                      ../src/syntax/typing.nit:1311,20--28
+                        ../src/syntax/typing.nit:1311,20--21
+                          ../src/syntax/typing.nit:1311,20
+                          'cs' ... ../src/syntax/typing.nit:1311,20--21
+                        'length' ... ../src/syntax/typing.nit:1311,23--28
+                    ../src/syntax/typing.nit:1311,33--49
+                      ../src/syntax/typing.nit:1311,33--37
+                        ../src/syntax/typing.nit:1311,33
+                        'arity' ... ../src/syntax/typing.nit:1311,33--37
+                      ../src/syntax/typing.nit:1311,41--49
+                        ../src/syntax/typing.nit:1311,41
+                        'min_arity' ... ../src/syntax/typing.nit:1311,41--49
+                  ../src/syntax/typing.nit:1312,5--81
+                    ../src/syntax/typing.nit:1312,5--81
+                      ../src/syntax/typing.nit:1312,5
+                        ../src/syntax/typing.nit:1312,5
+                        'v' ... ../src/syntax/typing.nit:1312,5
+                      'error' ... ../src/syntax/typing.nit:1312,7--11
+                      ../src/syntax/typing.nit:1312,13--16
+                        'self' ... ../src/syntax/typing.nit:1312,13--16
+                      ../src/syntax/typing.nit:1312,19--81
+                        ../src/syntax/typing.nit:1312,19--27
+                          '"Error: {' ... ../src/syntax/typing.nit:1312,19--27
+                        ../src/syntax/typing.nit:1312,28--31
+                          ../src/syntax/typing.nit:1312,28
+                          'name' ... ../src/syntax/typing.nit:1312,28--31
+                        ../src/syntax/typing.nit:1312,32--43
+                          '} requires {' ... ../src/syntax/typing.nit:1312,32--43
+                        ../src/syntax/typing.nit:1312,44--52
+                          ../src/syntax/typing.nit:1312,44--45
+                            ../src/syntax/typing.nit:1312,44
+                            'cs' ... ../src/syntax/typing.nit:1312,44--45
+                          'length' ... ../src/syntax/typing.nit:1312,47--52
+                        ../src/syntax/typing.nit:1312,53--63
+                          '} blocks, {' ... ../src/syntax/typing.nit:1312,53--63
+                        ../src/syntax/typing.nit:1312,64--72
+                          ../src/syntax/typing.nit:1312,64--65
+                            ../src/syntax/typing.nit:1312,64
+                            'cd' ... ../src/syntax/typing.nit:1312,64--65
+                          'length' ... ../src/syntax/typing.nit:1312,67--72
+                        ../src/syntax/typing.nit:1312,73--81
+                          '} found."' ... ../src/syntax/typing.nit:1312,73--81
+                  ../src/syntax/typing.nit:1315,5--1344,48
+                    ../src/syntax/typing.nit:1315,5--53
+                      'var' ... ../src/syntax/typing.nit:1315,5--7
+                      'break_list' ... ../src/syntax/typing.nit:1315,9--18
+                      ../src/syntax/typing.nit:1315,21--45
+                        'nullable' ... ../src/syntax/typing.nit:1315,21--28
+                        'Array' ... ../src/syntax/typing.nit:1315,30--34
+                        ../src/syntax/typing.nit:1315,36--45
+                          'ABreakExpr' ... ../src/syntax/typing.nit:1315,36--45
+                      '=' ... ../src/syntax/typing.nit:1315,48
+                      ../src/syntax/typing.nit:1315,50--53
+                        'null' ... ../src/syntax/typing.nit:1315,50--53
+                    ../src/syntax/typing.nit:1316,5--55
+                      'if' ... ../src/syntax/typing.nit:1316,5--6
+                      ../src/syntax/typing.nit:1316,8--16
+                        ../src/syntax/typing.nit:1316,8
+                          ../src/syntax/typing.nit:1316,8
+                          't' ... ../src/syntax/typing.nit:1316,8
+                        ../src/syntax/typing.nit:1316,13--16
+                          'null' ... ../src/syntax/typing.nit:1316,13--16
+                      ../src/syntax/typing.nit:1316,23--55
+                        ../src/syntax/typing.nit:1316,46
+                        'break_list' ... ../src/syntax/typing.nit:1316,23--32
+                        '=' ... ../src/syntax/typing.nit:1316,34
+                        ../src/syntax/typing.nit:1316,36--55
+                          'new' ... ../src/syntax/typing.nit:1316,36--38
+                          ../src/syntax/typing.nit:1316,40--55
+                            'Array' ... ../src/syntax/typing.nit:1316,40--44
+                            ../src/syntax/typing.nit:1316,46--55
+                              'ABreakExpr' ... ../src/syntax/typing.nit:1316,46--55
+                    ../src/syntax/typing.nit:1319,5--65
+                      'var' ... ../src/syntax/typing.nit:1319,5--7
+                      'n_label' ... ../src/syntax/typing.nit:1319,9--15
+                      '=' ... ../src/syntax/typing.nit:1319,17
+                      ../src/syntax/typing.nit:1319,19--65
+                        'if' ... ../src/syntax/typing.nit:1319,19--20
+                        ../src/syntax/typing.nit:1319,22--30
+                          ../src/syntax/typing.nit:1319,22--26
+                            ../src/syntax/typing.nit:1319,22
+                            'arity' ... ../src/syntax/typing.nit:1319,22--26
+                          ../src/syntax/typing.nit:1319,30
+                            '0' ... ../src/syntax/typing.nit:1319,30
+                        'then' ... ../src/syntax/typing.nit:1319,32--35
+                        ../src/syntax/typing.nit:1319,37--55
+                          ../src/syntax/typing.nit:1319,37--46
+                            ../src/syntax/typing.nit:1319,37--38
+                              ../src/syntax/typing.nit:1319,37
+                              'cd' ... ../src/syntax/typing.nit:1319,37--38
+                            ../src/syntax/typing.nit:1319,40--46
+                              ../src/syntax/typing.nit:1319,40--44
+                                ../src/syntax/typing.nit:1319,40
+                                'arity' ... ../src/syntax/typing.nit:1319,40--44
+                              ../src/syntax/typing.nit:1319,46
+                                '1' ... ../src/syntax/typing.nit:1319,46
+                          'n_label' ... ../src/syntax/typing.nit:1319,49--55
+                        'else' ... ../src/syntax/typing.nit:1319,57--60
+                        ../src/syntax/typing.nit:1319,62--65
+                          'null' ... ../src/syntax/typing.nit:1319,62--65
+                    ../src/syntax/typing.nit:1322,5--1338,102
+                      'for' ... ../src/syntax/typing.nit:1322,5--7
+                      'i' ... ../src/syntax/typing.nit:1322,9
+                      ../src/syntax/typing.nit:1322,15--22
+                        ../src/syntax/typing.nit:1322,15
+                          '0' ... ../src/syntax/typing.nit:1322,15
+                        ../src/syntax/typing.nit:1322,18--22
+                          ../src/syntax/typing.nit:1322,18
+                          'arity' ... ../src/syntax/typing.nit:1322,18--22
+                      'do' ... ../src/syntax/typing.nit:1322,25--26
+                      ../src/syntax/typing.nit:1323,6--1338,102
+                        ../src/syntax/typing.nit:1323,6--19
+                          'var' ... ../src/syntax/typing.nit:1323,6--8
+                          'cdi' ... ../src/syntax/typing.nit:1323,10--12
+                          '=' ... ../src/syntax/typing.nit:1323,14
+                          ../src/syntax/typing.nit:1323,16--19
+                            ../src/syntax/typing.nit:1323,16--17
+                              ../src/syntax/typing.nit:1323,16
+                              'cd' ... ../src/syntax/typing.nit:1323,16--17
+                            ../src/syntax/typing.nit:1323,19
+                              ../src/syntax/typing.nit:1323,19
+                              'i' ... ../src/syntax/typing.nit:1323,19
+                        ../src/syntax/typing.nit:1324,6--33
+                          'var' ... ../src/syntax/typing.nit:1324,6--8
+                          'cni' ... ../src/syntax/typing.nit:1324,10--12
+                          '=' ... ../src/syntax/typing.nit:1324,14
+                          ../src/syntax/typing.nit:1324,16--33
+                            ../src/syntax/typing.nit:1324,16--23
+                              ../src/syntax/typing.nit:1324,16--18
+                                ../src/syntax/typing.nit:1324,16
+                                'cdi' ... ../src/syntax/typing.nit:1324,16--18
+                              'n_id' ... ../src/syntax/typing.nit:1324,20--23
+                            'to_symbol' ... ../src/syntax/typing.nit:1324,25--33
+                        ../src/syntax/typing.nit:1325,6--37
+                          'var' ... ../src/syntax/typing.nit:1325,6--8
+                          'csi' ... ../src/syntax/typing.nit:1325,10--12
+                          '=' ... ../src/syntax/typing.nit:1325,14
+                          ../src/syntax/typing.nit:1325,16--37
+                            ../src/syntax/typing.nit:1325,16--19
+                              ../src/syntax/typing.nit:1325,16
+                              'psig' ... ../src/syntax/typing.nit:1325,16--19
+                            'closure_named' ... ../src/syntax/typing.nit:1325,21--33
+                            ../src/syntax/typing.nit:1325,35--37
+                              ../src/syntax/typing.nit:1325,35
+                              'cni' ... ../src/syntax/typing.nit:1325,35--37
+                        ../src/syntax/typing.nit:1326,6--1338,102
+                          'if' ... ../src/syntax/typing.nit:1326,6--7
+                          ../src/syntax/typing.nit:1326,9--19
+                            ../src/syntax/typing.nit:1326,9--11
+                              ../src/syntax/typing.nit:1326,9
+                              'csi' ... ../src/syntax/typing.nit:1326,9--11
+                            ../src/syntax/typing.nit:1326,16--19
+                              'null' ... ../src/syntax/typing.nit:1326,16--19
+                          ../src/syntax/typing.nit:1327,7--1330,21
+                            ../src/syntax/typing.nit:1327,7--57
+                              'var' ... ../src/syntax/typing.nit:1327,7--9
+                              'esc' ... ../src/syntax/typing.nit:1327,11--13
+                              '=' ... ../src/syntax/typing.nit:1327,15
+                              ../src/syntax/typing.nit:1327,17--57
+                                'new' ... ../src/syntax/typing.nit:1327,17--19
+                                ../src/syntax/typing.nit:1327,21--36
+                                  'EscapableClosure' ... ../src/syntax/typing.nit:1327,21--36
+                                ../src/syntax/typing.nit:1327,38--40
+                                  ../src/syntax/typing.nit:1327,38
+                                  'cdi' ... ../src/syntax/typing.nit:1327,38--40
+                                ../src/syntax/typing.nit:1327,43--45
+                                  ../src/syntax/typing.nit:1327,43
+                                  'csi' ... ../src/syntax/typing.nit:1327,43--45
+                                ../src/syntax/typing.nit:1327,48--57
+                                  ../src/syntax/typing.nit:1327,48
+                                  'break_list' ... ../src/syntax/typing.nit:1327,48--57
+                            ../src/syntax/typing.nit:1328,7--45
+                              ../src/syntax/typing.nit:1328,7--17
+                                ../src/syntax/typing.nit:1328,7
+                                  ../src/syntax/typing.nit:1328,7
+                                  'v' ... ../src/syntax/typing.nit:1328,7
+                                'scope_ctx' ... ../src/syntax/typing.nit:1328,9--17
+                              'push_escapable' ... ../src/syntax/typing.nit:1328,19--32
+                              ../src/syntax/typing.nit:1328,34--36
+                                ../src/syntax/typing.nit:1328,34
+                                'esc' ... ../src/syntax/typing.nit:1328,34--36
+                              ../src/syntax/typing.nit:1328,39--45
+                                ../src/syntax/typing.nit:1328,39
+                                'n_label' ... ../src/syntax/typing.nit:1328,39--45
+                            ../src/syntax/typing.nit:1329,7--31
+                              ../src/syntax/typing.nit:1329,7--9
+                                ../src/syntax/typing.nit:1329,7
+                                'cdi' ... ../src/syntax/typing.nit:1329,7--9
+                              'accept_typing2' ... ../src/syntax/typing.nit:1329,11--24
+                              ../src/syntax/typing.nit:1329,26
+                                ../src/syntax/typing.nit:1329,26
+                                'v' ... ../src/syntax/typing.nit:1329,26
+                              ../src/syntax/typing.nit:1329,29--31
+                                ../src/syntax/typing.nit:1329,29
+                                'esc' ... ../src/syntax/typing.nit:1329,29--31
+                            ../src/syntax/typing.nit:1330,7--21
+                              ../src/syntax/typing.nit:1330,7--17
+                                ../src/syntax/typing.nit:1330,7
+                                  ../src/syntax/typing.nit:1330,7
+                                  'v' ... ../src/syntax/typing.nit:1330,7
+                                'scope_ctx' ... ../src/syntax/typing.nit:1330,9--17
+                              'pop' ... ../src/syntax/typing.nit:1330,19--21
+                          ../src/syntax/typing.nit:1331,11--1338,102
+                            'if' ... ../src/syntax/typing.nit:1331,11--12
+                            ../src/syntax/typing.nit:1331,14--27
+                              ../src/syntax/typing.nit:1331,14--22
+                                ../src/syntax/typing.nit:1331,14--15
+                                  ../src/syntax/typing.nit:1331,14
+                                  'cs' ... ../src/syntax/typing.nit:1331,14--15
+                                'length' ... ../src/syntax/typing.nit:1331,17--22
+                              ../src/syntax/typing.nit:1331,27
+                                '1' ... ../src/syntax/typing.nit:1331,27
+                            ../src/syntax/typing.nit:1332,7--103
+                              ../src/syntax/typing.nit:1332,7--103
+                                ../src/syntax/typing.nit:1332,7
+                                  ../src/syntax/typing.nit:1332,7
+                                  'v' ... ../src/syntax/typing.nit:1332,7
+                                'error' ... ../src/syntax/typing.nit:1332,9--13
+                                ../src/syntax/typing.nit:1332,15--22
+                                  ../src/syntax/typing.nit:1332,15--17
+                                    ../src/syntax/typing.nit:1332,15
+                                    'cdi' ... ../src/syntax/typing.nit:1332,15--17
+                                  'n_id' ... ../src/syntax/typing.nit:1332,19--22
+                                ../src/syntax/typing.nit:1332,25--103
+                                  ../src/syntax/typing.nit:1332,25--52
+                                    '"Error: no closure named '!{' ... ../src/syntax/typing.nit:1332,25--52
+                                  ../src/syntax/typing.nit:1332,53--55
+                                    ../src/syntax/typing.nit:1332,53
+                                    'cni' ... ../src/syntax/typing.nit:1332,53--55
+                                  ../src/syntax/typing.nit:1332,56--62
+                                    '}' in {' ... ../src/syntax/typing.nit:1332,56--62
+                                  ../src/syntax/typing.nit:1332,63--66
+                                    ../src/syntax/typing.nit:1332,63
+                                    'name' ... ../src/syntax/typing.nit:1332,63--66
+                                  ../src/syntax/typing.nit:1332,67--87
+                                    '}; only closure is !{' ... ../src/syntax/typing.nit:1332,67--87
+                                  ../src/syntax/typing.nit:1332,88--100
+                                    ../src/syntax/typing.nit:1332,88--95
+                                      ../src/syntax/typing.nit:1332,88--89
+                                        ../src/syntax/typing.nit:1332,88
+                                        'cs' ... ../src/syntax/typing.nit:1332,88--89
+                                      'first' ... ../src/syntax/typing.nit:1332,91--95
+                                    'name' ... ../src/syntax/typing.nit:1332,97--100
+                                  ../src/syntax/typing.nit:1332,101--103
+                                    '}."' ... ../src/syntax/typing.nit:1332,101--103
+                            ../src/syntax/typing.nit:1334,7--1338,102
+                              ../src/syntax/typing.nit:1334,7--30
+                                'var' ... ../src/syntax/typing.nit:1334,7--9
+                                'a' ... ../src/syntax/typing.nit:1334,11
+                                '=' ... ../src/syntax/typing.nit:1334,13
+                                ../src/syntax/typing.nit:1334,15--30
+                                  'new' ... ../src/syntax/typing.nit:1334,15--17
+                                  ../src/syntax/typing.nit:1334,19--30
+                                    'Array' ... ../src/syntax/typing.nit:1334,19--23
+                                    ../src/syntax/typing.nit:1334,25--30
+                                      'String' ... ../src/syntax/typing.nit:1334,25--30
+                              ../src/syntax/typing.nit:1335,7--1336,24
+                                'for' ... ../src/syntax/typing.nit:1335,7--9
+                                'c' ... ../src/syntax/typing.nit:1335,11
+                                ../src/syntax/typing.nit:1335,16--17
+                                  ../src/syntax/typing.nit:1335,16
+                                  'cs' ... ../src/syntax/typing.nit:1335,16--17
+                                'do' ... ../src/syntax/typing.nit:1335,19--20
+                                ../src/syntax/typing.nit:1336,8--24
+                                  ../src/syntax/typing.nit:1336,8--24
+                                    ../src/syntax/typing.nit:1336,8
+                                      ../src/syntax/typing.nit:1336,8
+                                      'a' ... ../src/syntax/typing.nit:1336,8
+                                    'add' ... ../src/syntax/typing.nit:1336,10--12
+                                    ../src/syntax/typing.nit:1336,14--24
+                                      ../src/syntax/typing.nit:1336,14--16
+                                        '"!{' ... ../src/syntax/typing.nit:1336,14--16
+                                      ../src/syntax/typing.nit:1336,17--22
+                                        ../src/syntax/typing.nit:1336,17
+                                          ../src/syntax/typing.nit:1336,17
+                                          'c' ... ../src/syntax/typing.nit:1336,17
+                                        'name' ... ../src/syntax/typing.nit:1336,19--22
+                                      ../src/syntax/typing.nit:1336,23--24
+                                        '}"' ... ../src/syntax/typing.nit:1336,23--24
+                              ../src/syntax/typing.nit:1338,7--102
+                                ../src/syntax/typing.nit:1338,7
+                                  ../src/syntax/typing.nit:1338,7
+                                  'v' ... ../src/syntax/typing.nit:1338,7
+                                'error' ... ../src/syntax/typing.nit:1338,9--13
+                                ../src/syntax/typing.nit:1338,15--22
+                                  ../src/syntax/typing.nit:1338,15--17
+                                    ../src/syntax/typing.nit:1338,15
+                                    'cdi' ... ../src/syntax/typing.nit:1338,15--17
+                                  'n_id' ... ../src/syntax/typing.nit:1338,19--22
+                                ../src/syntax/typing.nit:1338,25--102
+                                  ../src/syntax/typing.nit:1338,25--52
+                                    '"Error: no closure named '!{' ... ../src/syntax/typing.nit:1338,25--52
+                                  ../src/syntax/typing.nit:1338,53--55
+                                    ../src/syntax/typing.nit:1338,53
+                                    'cni' ... ../src/syntax/typing.nit:1338,53--55
+                                  ../src/syntax/typing.nit:1338,56--62
+                                    '}' in {' ... ../src/syntax/typing.nit:1338,56--62
+                                  ../src/syntax/typing.nit:1338,63--66
+                                    ../src/syntax/typing.nit:1338,63
+                                    'name' ... ../src/syntax/typing.nit:1338,63--66
+                                  ../src/syntax/typing.nit:1338,67--88
+                                    '}; only closures are {' ... ../src/syntax/typing.nit:1338,67--88
+                                  ../src/syntax/typing.nit:1338,89--98
+                                    ../src/syntax/typing.nit:1338,89
+                                      ../src/syntax/typing.nit:1338,89
+                                      'a' ... ../src/syntax/typing.nit:1338,89
+                                    'join' ... ../src/syntax/typing.nit:1338,91--94
+                                    ../src/syntax/typing.nit:1338,96--98
+                                      '","' ... ../src/syntax/typing.nit:1338,96--98
+                                  ../src/syntax/typing.nit:1338,100--102
+                                    '}."' ... ../src/syntax/typing.nit:1338,100--102
+                    ../src/syntax/typing.nit:1343,5--1344,48
+                      'if' ... ../src/syntax/typing.nit:1343,5--6
+                      ../src/syntax/typing.nit:1343,8--25
+                        ../src/syntax/typing.nit:1343,8--17
+                          ../src/syntax/typing.nit:1343,8
+                          'break_list' ... ../src/syntax/typing.nit:1343,8--17
+                        ../src/syntax/typing.nit:1343,22--25
+                          'null' ... ../src/syntax/typing.nit:1343,22--25
+                      ../src/syntax/typing.nit:1344,6--48
+                        ../src/syntax/typing.nit:1344,6--48
+                          ../src/syntax/typing.nit:1344,10
+                          't' ... ../src/syntax/typing.nit:1344,6
+                          '=' ... ../src/syntax/typing.nit:1344,8
+                          ../src/syntax/typing.nit:1344,10--48
+                            ../src/syntax/typing.nit:1344,10
+                              ../src/syntax/typing.nit:1344,10
+                              'v' ... ../src/syntax/typing.nit:1344,10
+                            'check_conform_multiexpr' ... ../src/syntax/typing.nit:1344,12--34
+                            ../src/syntax/typing.nit:1344,36
+                              ../src/syntax/typing.nit:1344,36
+                              't' ... ../src/syntax/typing.nit:1344,36
+                            ../src/syntax/typing.nit:1344,39--48
+                              ../src/syntax/typing.nit:1344,39
+                              'break_list' ... ../src/syntax/typing.nit:1344,39--48
+            ../src/syntax/typing.nit:1347,8--1348,57
+              'if' ... ../src/syntax/typing.nit:1347,8--9
+              ../src/syntax/typing.nit:1347,11--20
+                ../src/syntax/typing.nit:1347,11--15
+                  ../src/syntax/typing.nit:1347,11
+                  'arity' ... ../src/syntax/typing.nit:1347,11--15
+                ../src/syntax/typing.nit:1347,20
+                  '0' ... ../src/syntax/typing.nit:1347,20
+              ../src/syntax/typing.nit:1348,4--57
+                ../src/syntax/typing.nit:1348,4--57
+                  ../src/syntax/typing.nit:1348,4
+                    ../src/syntax/typing.nit:1348,4
+                    'v' ... ../src/syntax/typing.nit:1348,4
+                  'error' ... ../src/syntax/typing.nit:1348,6--10
+                  ../src/syntax/typing.nit:1348,12--15
+                    'self' ... ../src/syntax/typing.nit:1348,12--15
+                  ../src/syntax/typing.nit:1348,18--57
+                    ../src/syntax/typing.nit:1348,18--26
+                      '"Error: {' ... ../src/syntax/typing.nit:1348,18--26
+                    ../src/syntax/typing.nit:1348,27--30
+                      ../src/syntax/typing.nit:1348,27
+                      'name' ... ../src/syntax/typing.nit:1348,27--30
+                    ../src/syntax/typing.nit:1348,31--57
+                      '} does not require blocks."' ... ../src/syntax/typing.nit:1348,31--57
+          ../src/syntax/typing.nit:1350,3--10
+            'return' ... ../src/syntax/typing.nit:1350,3--8
+            ../src/syntax/typing.nit:1350,10
+              ../src/syntax/typing.nit:1350,10
+              't' ... ../src/syntax/typing.nit:1350,10
+    ../src/syntax/typing.nit:1354,1--1420,49
+      'redef' ... ../src/syntax/typing.nit:1354,1--5
+      ../src/syntax/typing.nit:1354,7
+      ../src/syntax/typing.nit:1354,7--11
+        'class' ... ../src/syntax/typing.nit:1354,7--11
+      'AAbsSendExpr' ... ../src/syntax/typing.nit:1354,13--24
+      ../src/syntax/typing.nit:1355,2--1366,22
+        ../src/syntax/typing.nit:1355,2--1356,0
+          '# Compute the called global property
+' ... ../src/syntax/typing.nit:1355,2--1356,0
+        ../src/syntax/typing.nit:1356,2--8
+          'private' ... ../src/syntax/typing.nit:1356,2--8
+        'fun' ... ../src/syntax/typing.nit:1356,10--12
+        ../src/syntax/typing.nit:1356,14--22
+          'do_typing' ... ../src/syntax/typing.nit:1356,14--22
+        ../src/syntax/typing.nit:1356,24--191
+          ../src/syntax/typing.nit:1356,24--39
+            'v' ... ../src/syntax/typing.nit:1356,24
+            ../src/syntax/typing.nit:1356,27--39
+              'TypingVisitor' ... ../src/syntax/typing.nit:1356,27--39
+          ../src/syntax/typing.nit:1356,42--58
+            'type_recv' ... ../src/syntax/typing.nit:1356,42--50
+            ../src/syntax/typing.nit:1356,53--58
+              'MMType' ... ../src/syntax/typing.nit:1356,53--58
+          ../src/syntax/typing.nit:1356,61--82
+            'is_implicit_self' ... ../src/syntax/typing.nit:1356,61--76
+            ../src/syntax/typing.nit:1356,79--82
+              'Bool' ... ../src/syntax/typing.nit:1356,79--82
+          ../src/syntax/typing.nit:1356,85--102
+            'recv_is_self' ... ../src/syntax/typing.nit:1356,85--96
+            ../src/syntax/typing.nit:1356,99--102
+              'Bool' ... ../src/syntax/typing.nit:1356,99--102
+          ../src/syntax/typing.nit:1356,105--116
+            'name' ... ../src/syntax/typing.nit:1356,105--108
+            ../src/syntax/typing.nit:1356,111--116
+              'Symbol' ... ../src/syntax/typing.nit:1356,111--116
+          ../src/syntax/typing.nit:1356,119--148
+            'raw_args' ... ../src/syntax/typing.nit:1356,119--126
+            ../src/syntax/typing.nit:1356,129--148
+              'nullable' ... ../src/syntax/typing.nit:1356,129--136
+              'Array' ... ../src/syntax/typing.nit:1356,138--142
+              ../src/syntax/typing.nit:1356,144--148
+                'AExpr' ... ../src/syntax/typing.nit:1356,144--148
+          ../src/syntax/typing.nit:1356,152--191
+            'closure_defs' ... ../src/syntax/typing.nit:1356,152--163
+            ../src/syntax/typing.nit:1356,166--191
+              'nullable' ... ../src/syntax/typing.nit:1356,166--173
+              'Array' ... ../src/syntax/typing.nit:1356,175--179
+              ../src/syntax/typing.nit:1356,181--191
+                'AClosureDef' ... ../src/syntax/typing.nit:1356,181--191
+        ../src/syntax/typing.nit:1358,3--1366,22
+          ../src/syntax/typing.nit:1358,3--62
+            'var' ... ../src/syntax/typing.nit:1358,3--5
+            'prop' ... ../src/syntax/typing.nit:1358,7--10
+            '=' ... ../src/syntax/typing.nit:1358,12
+            ../src/syntax/typing.nit:1358,14--62
+              ../src/syntax/typing.nit:1358,27
+              'get_property' ... ../src/syntax/typing.nit:1358,14--25
+              ../src/syntax/typing.nit:1358,27
+                ../src/syntax/typing.nit:1358,27
+                'v' ... ../src/syntax/typing.nit:1358,27
+              ../src/syntax/typing.nit:1358,30--38
+                ../src/syntax/typing.nit:1358,30
+                'type_recv' ... ../src/syntax/typing.nit:1358,30--38
+              ../src/syntax/typing.nit:1358,41--56
+                ../src/syntax/typing.nit:1358,41
+                'is_implicit_self' ... ../src/syntax/typing.nit:1358,41--56
+              ../src/syntax/typing.nit:1358,59--62
+                ../src/syntax/typing.nit:1358,59
+                'name' ... ../src/syntax/typing.nit:1358,59--62
+          ../src/syntax/typing.nit:1359,3--29
+            'if' ... ../src/syntax/typing.nit:1359,3--4
+            ../src/syntax/typing.nit:1359,6--17
+              ../src/syntax/typing.nit:1359,6--9
+                ../src/syntax/typing.nit:1359,6
+                'prop' ... ../src/syntax/typing.nit:1359,6--9
+              ../src/syntax/typing.nit:1359,14--17
+                'null' ... ../src/syntax/typing.nit:1359,14--17
+            ../src/syntax/typing.nit:1359,24--29
+              'return' ... ../src/syntax/typing.nit:1359,24--29
+          ../src/syntax/typing.nit:1360,3--58
+            'var' ... ../src/syntax/typing.nit:1360,3--5
+            'sig' ... ../src/syntax/typing.nit:1360,7--9
+            '=' ... ../src/syntax/typing.nit:1360,11
+            ../src/syntax/typing.nit:1360,13--58
+              ../src/syntax/typing.nit:1360,27
+              'get_signature' ... ../src/syntax/typing.nit:1360,13--25
+              ../src/syntax/typing.nit:1360,27
+                ../src/syntax/typing.nit:1360,27
+                'v' ... ../src/syntax/typing.nit:1360,27
+              ../src/syntax/typing.nit:1360,30--38
+                ../src/syntax/typing.nit:1360,30
+                'type_recv' ... ../src/syntax/typing.nit:1360,30--38
+              ../src/syntax/typing.nit:1360,41--44
+                ../src/syntax/typing.nit:1360,41
+                'prop' ... ../src/syntax/typing.nit:1360,41--44
+              ../src/syntax/typing.nit:1360,47--58
+                ../src/syntax/typing.nit:1360,47
+                'recv_is_self' ... ../src/syntax/typing.nit:1360,47--58
+          ../src/syntax/typing.nit:1361,3--67
+            'if' ... ../src/syntax/typing.nit:1361,3--4
+            ../src/syntax/typing.nit:1361,6--54
+              'not' ... ../src/syntax/typing.nit:1361,6--8
+              ../src/syntax/typing.nit:1361,10--54
+                ../src/syntax/typing.nit:1361,28
+                'process_signature' ... ../src/syntax/typing.nit:1361,10--26
+                ../src/syntax/typing.nit:1361,28
+                  ../src/syntax/typing.nit:1361,28
+                  'v' ... ../src/syntax/typing.nit:1361,28
+                ../src/syntax/typing.nit:1361,31--33
+                  ../src/syntax/typing.nit:1361,31
+                  'sig' ... ../src/syntax/typing.nit:1361,31--33
+                ../src/syntax/typing.nit:1361,36--44
+                  ../src/syntax/typing.nit:1361,36--39
+                    ../src/syntax/typing.nit:1361,36
+                    'prop' ... ../src/syntax/typing.nit:1361,36--39
+                  'name' ... ../src/syntax/typing.nit:1361,41--44
+                ../src/syntax/typing.nit:1361,47--54
+                  ../src/syntax/typing.nit:1361,47
+                  'raw_args' ... ../src/syntax/typing.nit:1361,47--54
+            ../src/syntax/typing.nit:1361,62--67
+              'return' ... ../src/syntax/typing.nit:1361,62--67
+          ../src/syntax/typing.nit:1362,3--62
+            'var' ... ../src/syntax/typing.nit:1362,3--5
+            'rtype' ... ../src/syntax/typing.nit:1362,7--11
+            '=' ... ../src/syntax/typing.nit:1362,13
+            ../src/syntax/typing.nit:1362,15--62
+              ../src/syntax/typing.nit:1362,32
+              'process_closures' ... ../src/syntax/typing.nit:1362,15--30
+              ../src/syntax/typing.nit:1362,32
+                ../src/syntax/typing.nit:1362,32
+                'v' ... ../src/syntax/typing.nit:1362,32
+              ../src/syntax/typing.nit:1362,35--37
+                ../src/syntax/typing.nit:1362,35
+                'sig' ... ../src/syntax/typing.nit:1362,35--37
+              ../src/syntax/typing.nit:1362,40--48
+                ../src/syntax/typing.nit:1362,40--43
+                  ../src/syntax/typing.nit:1362,40
+                  'prop' ... ../src/syntax/typing.nit:1362,40--43
+                'name' ... ../src/syntax/typing.nit:1362,45--48
+              ../src/syntax/typing.nit:1362,51--62
+                ../src/syntax/typing.nit:1362,51
+                'closure_defs' ... ../src/syntax/typing.nit:1362,51--62
+          ../src/syntax/typing.nit:1363,3--58
+            'if' ... ../src/syntax/typing.nit:1363,3--4
+            ../src/syntax/typing.nit:1363,6--46
+              ../src/syntax/typing.nit:1363,6--18
+                ../src/syntax/typing.nit:1363,6--10
+                  ../src/syntax/typing.nit:1363,6
+                  'rtype' ... ../src/syntax/typing.nit:1363,6--10
+                ../src/syntax/typing.nit:1363,15--18
+                  'null' ... ../src/syntax/typing.nit:1363,15--18
+              ../src/syntax/typing.nit:1363,24--46
+                ../src/syntax/typing.nit:1363,24--38
+                  ../src/syntax/typing.nit:1363,24--26
+                    ../src/syntax/typing.nit:1363,24
+                    'sig' ... ../src/syntax/typing.nit:1363,24--26
+                  'return_type' ... ../src/syntax/typing.nit:1363,28--38
+                ../src/syntax/typing.nit:1363,43--46
+                  'null' ... ../src/syntax/typing.nit:1363,43--46
+            ../src/syntax/typing.nit:1363,53--58
+              'return' ... ../src/syntax/typing.nit:1363,53--58
+          ../src/syntax/typing.nit:1364,3--14
+            ../src/syntax/typing.nit:1364,11
+            '_prop' ... ../src/syntax/typing.nit:1364,3--7
+            '=' ... ../src/syntax/typing.nit:1364,9
+            ../src/syntax/typing.nit:1364,11--14
+              ../src/syntax/typing.nit:1364,11
+              'prop' ... ../src/syntax/typing.nit:1364,11--14
+          ../src/syntax/typing.nit:1365,3--23
+            ../src/syntax/typing.nit:1365,21
+            '_prop_signature' ... ../src/syntax/typing.nit:1365,3--17
+            '=' ... ../src/syntax/typing.nit:1365,19
+            ../src/syntax/typing.nit:1365,21--23
+              ../src/syntax/typing.nit:1365,21
+              'sig' ... ../src/syntax/typing.nit:1365,21--23
+          ../src/syntax/typing.nit:1366,3--22
+            ../src/syntax/typing.nit:1366,18
+            '_return_type' ... ../src/syntax/typing.nit:1366,3--14
+            '=' ... ../src/syntax/typing.nit:1366,16
+            ../src/syntax/typing.nit:1366,18--22
+              ../src/syntax/typing.nit:1366,18
+              'rtype' ... ../src/syntax/typing.nit:1366,18--22
+      ../src/syntax/typing.nit:1369,2--1403,13
+        ../src/syntax/typing.nit:1369,2--8
+          'private' ... ../src/syntax/typing.nit:1369,2--8
+        'fun' ... ../src/syntax/typing.nit:1369,10--12
+        ../src/syntax/typing.nit:1369,14--25
+          'get_property' ... ../src/syntax/typing.nit:1369,14--25
+        ../src/syntax/typing.nit:1369,27--119
+          ../src/syntax/typing.nit:1369,27--42
+            'v' ... ../src/syntax/typing.nit:1369,27
+            ../src/syntax/typing.nit:1369,30--42
+              'TypingVisitor' ... ../src/syntax/typing.nit:1369,30--42
+          ../src/syntax/typing.nit:1369,45--61
+            'type_recv' ... ../src/syntax/typing.nit:1369,45--53
+            ../src/syntax/typing.nit:1369,56--61
+              'MMType' ... ../src/syntax/typing.nit:1369,56--61
+          ../src/syntax/typing.nit:1369,64--85
+            'is_implicit_self' ... ../src/syntax/typing.nit:1369,64--79
+            ../src/syntax/typing.nit:1369,82--85
+              'Bool' ... ../src/syntax/typing.nit:1369,82--85
+          ../src/syntax/typing.nit:1369,88--99
+            'name' ... ../src/syntax/typing.nit:1369,88--91
+            ../src/syntax/typing.nit:1369,94--99
+              'Symbol' ... ../src/syntax/typing.nit:1369,94--99
+          ../src/syntax/typing.nit:1369,103--119
+            'nullable' ... ../src/syntax/typing.nit:1369,103--110
+            'MMMethod' ... ../src/syntax/typing.nit:1369,112--119
+        ../src/syntax/typing.nit:1371,3--1403,13
+          ../src/syntax/typing.nit:1371,3--1377,15
+            'if' ... ../src/syntax/typing.nit:1371,3--4
+            ../src/syntax/typing.nit:1371,6--29
+              ../src/syntax/typing.nit:1371,6--14
+                ../src/syntax/typing.nit:1371,6
+                'type_recv' ... ../src/syntax/typing.nit:1371,6--14
+              ../src/syntax/typing.nit:1371,20--29
+                'MMTypeNone' ... ../src/syntax/typing.nit:1371,20--29
+            ../src/syntax/typing.nit:1372,4--1377,15
+              ../src/syntax/typing.nit:1372,4--1377,15
+                'if' ... ../src/syntax/typing.nit:1372,4--5
+                ../src/syntax/typing.nit:1372,7--67
+                  ../src/syntax/typing.nit:1372,7--34
+                    ../src/syntax/typing.nit:1372,7--10
+                      ../src/syntax/typing.nit:1372,7
+                      'name' ... ../src/syntax/typing.nit:1372,7--10
+                    ../src/syntax/typing.nit:1372,16--34
+                      'once' ... ../src/syntax/typing.nit:1372,16--19
+                      ../src/syntax/typing.nit:1372,21--34
+                        ../src/syntax/typing.nit:1372,21--24
+                          '"=="' ... ../src/syntax/typing.nit:1372,21--24
+                        'to_symbol' ... ../src/syntax/typing.nit:1372,26--34
+                  ../src/syntax/typing.nit:1372,40--67
+                    ../src/syntax/typing.nit:1372,40--43
+                      ../src/syntax/typing.nit:1372,40
+                      'name' ... ../src/syntax/typing.nit:1372,40--43
+                    ../src/syntax/typing.nit:1372,49--67
+                      'once' ... ../src/syntax/typing.nit:1372,49--52
+                      ../src/syntax/typing.nit:1372,54--67
+                        ../src/syntax/typing.nit:1372,54--57
+                          '"!="' ... ../src/syntax/typing.nit:1372,54--57
+                        'to_symbol' ... ../src/syntax/typing.nit:1372,59--67
+                ../src/syntax/typing.nit:1374,5--41
+                  ../src/syntax/typing.nit:1374,5--41
+                    ../src/syntax/typing.nit:1374,17
+                    'type_recv' ... ../src/syntax/typing.nit:1374,5--13
+                    '=' ... ../src/syntax/typing.nit:1374,15
+                    ../src/syntax/typing.nit:1374,17--41
+                      ../src/syntax/typing.nit:1374,17--29
+                        ../src/syntax/typing.nit:1374,17
+                          ../src/syntax/typing.nit:1374,17
+                          'v' ... ../src/syntax/typing.nit:1374,17
+                        'type_object' ... ../src/syntax/typing.nit:1374,19--29
+                      'as_nullable' ... ../src/syntax/typing.nit:1374,31--41
+                ../src/syntax/typing.nit:1376,5--1377,15
+                  ../src/syntax/typing.nit:1376,5--58
+                    ../src/syntax/typing.nit:1376,5
+                      ../src/syntax/typing.nit:1376,5
+                      'v' ... ../src/syntax/typing.nit:1376,5
+                    'error' ... ../src/syntax/typing.nit:1376,7--11
+                    ../src/syntax/typing.nit:1376,13--16
+                      'self' ... ../src/syntax/typing.nit:1376,13--16
+                    ../src/syntax/typing.nit:1376,19--58
+                      ../src/syntax/typing.nit:1376,19--35
+                        '"Error: Method '{' ... ../src/syntax/typing.nit:1376,19--35
+                      ../src/syntax/typing.nit:1376,36--39
+                        ../src/syntax/typing.nit:1376,36
+                        'name' ... ../src/syntax/typing.nit:1376,36--39
+                      ../src/syntax/typing.nit:1376,40--58
+                        '}' call on 'null'."' ... ../src/syntax/typing.nit:1376,40--58
+                  ../src/syntax/typing.nit:1377,5--15
+                    'return' ... ../src/syntax/typing.nit:1377,5--10
+                    ../src/syntax/typing.nit:1377,12--15
+                      'null' ... ../src/syntax/typing.nit:1377,12--15
+          ../src/syntax/typing.nit:1380,3--32
+            'var' ... ../src/syntax/typing.nit:1380,3--5
+            'lc' ... ../src/syntax/typing.nit:1380,7--8
+            '=' ... ../src/syntax/typing.nit:1380,10
+            ../src/syntax/typing.nit:1380,12--32
+              ../src/syntax/typing.nit:1380,12--20
+                ../src/syntax/typing.nit:1380,12
+                'type_recv' ... ../src/syntax/typing.nit:1380,12--20
+              'local_class' ... ../src/syntax/typing.nit:1380,22--32
+          ../src/syntax/typing.nit:1381,3--36
+            'var' ... ../src/syntax/typing.nit:1381,3--5
+            'prop' ... ../src/syntax/typing.nit:1381,7--10
+            ../src/syntax/typing.nit:1381,13--29
+              'nullable' ... ../src/syntax/typing.nit:1381,13--20
+              'MMMethod' ... ../src/syntax/typing.nit:1381,22--29
+            '=' ... ../src/syntax/typing.nit:1381,31
+            ../src/syntax/typing.nit:1381,33--36
+              'null' ... ../src/syntax/typing.nit:1381,33--36
+          ../src/syntax/typing.nit:1382,3--75
+            'if' ... ../src/syntax/typing.nit:1382,3--4
+            ../src/syntax/typing.nit:1382,6--40
+              ../src/syntax/typing.nit:1382,6--7
+                ../src/syntax/typing.nit:1382,6
+                'lc' ... ../src/syntax/typing.nit:1382,6--7
+              'has_global_property_by_name' ... ../src/syntax/typing.nit:1382,9--35
+              ../src/syntax/typing.nit:1382,37--40
+                ../src/syntax/typing.nit:1382,37
+                'name' ... ../src/syntax/typing.nit:1382,37--40
+            ../src/syntax/typing.nit:1382,48--75
+              ../src/syntax/typing.nit:1382,55
+              'prop' ... ../src/syntax/typing.nit:1382,48--51
+              '=' ... ../src/syntax/typing.nit:1382,53
+              ../src/syntax/typing.nit:1382,55--75
+                ../src/syntax/typing.nit:1382,55--56
+                  ../src/syntax/typing.nit:1382,55
+                  'lc' ... ../src/syntax/typing.nit:1382,55--56
+                'select_method' ... ../src/syntax/typing.nit:1382,58--70
+                ../src/syntax/typing.nit:1382,72--75
+                  ../src/syntax/typing.nit:1382,72
+                  'name' ... ../src/syntax/typing.nit:1382,72--75
+          ../src/syntax/typing.nit:1383,3--1391,12
+            'if' ... ../src/syntax/typing.nit:1383,3--4
+            ../src/syntax/typing.nit:1383,6--53
+              ../src/syntax/typing.nit:1383,6--17
+                ../src/syntax/typing.nit:1383,6--9
+                  ../src/syntax/typing.nit:1383,6
+                  'prop' ... ../src/syntax/typing.nit:1383,6--9
+                ../src/syntax/typing.nit:1383,14--17
+                  'null' ... ../src/syntax/typing.nit:1383,14--17
+              ../src/syntax/typing.nit:1383,23--53
+                ../src/syntax/typing.nit:1383,23--45
+                  ../src/syntax/typing.nit:1383,23--38
+                    ../src/syntax/typing.nit:1383,23
+                      ../src/syntax/typing.nit:1383,23
+                      'v' ... ../src/syntax/typing.nit:1383,23
+                    'local_property' ... ../src/syntax/typing.nit:1383,25--38
+                  'global' ... ../src/syntax/typing.nit:1383,40--45
+                'is_init' ... ../src/syntax/typing.nit:1383,47--53
+            ../src/syntax/typing.nit:1384,4--1391,12
+              ../src/syntax/typing.nit:1384,4--42
+                'var' ... ../src/syntax/typing.nit:1384,4--6
+                'props' ... ../src/syntax/typing.nit:1384,8--12
+                '=' ... ../src/syntax/typing.nit:1384,14
+                ../src/syntax/typing.nit:1384,16--42
+                  ../src/syntax/typing.nit:1384,16--17
+                    ../src/syntax/typing.nit:1384,16
+                    'lc' ... ../src/syntax/typing.nit:1384,16--17
+                  'super_methods_named' ... ../src/syntax/typing.nit:1384,19--37
+                  ../src/syntax/typing.nit:1384,39--42
+                    ../src/syntax/typing.nit:1384,39
+                    'name' ... ../src/syntax/typing.nit:1384,39--42
+              ../src/syntax/typing.nit:1385,4--1391,12
+                'if' ... ../src/syntax/typing.nit:1385,4--5
+                ../src/syntax/typing.nit:1385,7--22
+                  ../src/syntax/typing.nit:1385,7--18
+                    ../src/syntax/typing.nit:1385,7--11
+                      ../src/syntax/typing.nit:1385,7
+                      'props' ... ../src/syntax/typing.nit:1385,7--11
+                    'length' ... ../src/syntax/typing.nit:1385,13--18
+                  ../src/syntax/typing.nit:1385,22
+                    '1' ... ../src/syntax/typing.nit:1385,22
+                ../src/syntax/typing.nit:1386,5--1387,15
+                  ../src/syntax/typing.nit:1386,5--106
+                    ../src/syntax/typing.nit:1386,5
+                      ../src/syntax/typing.nit:1386,5
+                      'v' ... ../src/syntax/typing.nit:1386,5
+                    'error' ... ../src/syntax/typing.nit:1386,7--11
+                    ../src/syntax/typing.nit:1386,13--16
+                      'self' ... ../src/syntax/typing.nit:1386,13--16
+                    ../src/syntax/typing.nit:1386,19--106
+                      ../src/syntax/typing.nit:1386,19--49
+                        '"Error: Ambigous method name '{' ... ../src/syntax/typing.nit:1386,19--49
+                      ../src/syntax/typing.nit:1386,50--53
+                        ../src/syntax/typing.nit:1386,50
+                        'name' ... ../src/syntax/typing.nit:1386,50--53
+                      ../src/syntax/typing.nit:1386,54--61
+                        '}' for {' ... ../src/syntax/typing.nit:1386,54--61
+                      ../src/syntax/typing.nit:1386,62--76
+                        ../src/syntax/typing.nit:1386,62--66
+                          ../src/syntax/typing.nit:1386,62
+                          'props' ... ../src/syntax/typing.nit:1386,62--66
+                        'join' ... ../src/syntax/typing.nit:1386,68--71
+                        ../src/syntax/typing.nit:1386,73--76
+                          '", "' ... ../src/syntax/typing.nit:1386,73--76
+                      ../src/syntax/typing.nit:1386,78--106
+                        '}. Use explicit designation."' ... ../src/syntax/typing.nit:1386,78--106
+                  ../src/syntax/typing.nit:1387,5--15
+                    'return' ... ../src/syntax/typing.nit:1387,5--10
+                    ../src/syntax/typing.nit:1387,12--15
+                      'null' ... ../src/syntax/typing.nit:1387,12--15
+                ../src/syntax/typing.nit:1388,9--1391,12
+                  'if' ... ../src/syntax/typing.nit:1388,9--10
+                  ../src/syntax/typing.nit:1388,12--28
+                    ../src/syntax/typing.nit:1388,12--23
+                      ../src/syntax/typing.nit:1388,12--16
+                        ../src/syntax/typing.nit:1388,12
+                        'props' ... ../src/syntax/typing.nit:1388,12--16
+                      'length' ... ../src/syntax/typing.nit:1388,18--23
+                    ../src/syntax/typing.nit:1388,28
+                      '1' ... ../src/syntax/typing.nit:1388,28
+                  ../src/syntax/typing.nit:1389,5--1391,12
+                    ../src/syntax/typing.nit:1389,5--33
+                      'var' ... ../src/syntax/typing.nit:1389,5--7
+                      'p' ... ../src/syntax/typing.nit:1389,9
+                      '=' ... ../src/syntax/typing.nit:1389,11
+                      ../src/syntax/typing.nit:1389,13--33
+                        ../src/syntax/typing.nit:1389,13--14
+                          ../src/syntax/typing.nit:1389,13
+                          'lc' ... ../src/syntax/typing.nit:1389,13--14
+                        ../src/syntax/typing.nit:1389,16--33
+                          ../src/syntax/typing.nit:1389,16--26
+                            ../src/syntax/typing.nit:1389,16--20
+                              ../src/syntax/typing.nit:1389,16
+                              'props' ... ../src/syntax/typing.nit:1389,16--20
+                            'first' ... ../src/syntax/typing.nit:1389,22--26
+                          'global' ... ../src/syntax/typing.nit:1389,28--33
+                    ../src/syntax/typing.nit:1390,5--25
+                      'assert' ... ../src/syntax/typing.nit:1390,5--10
+                      ../src/syntax/typing.nit:1390,12--25
+                        ../src/syntax/typing.nit:1390,12
+                          ../src/syntax/typing.nit:1390,12
+                          'p' ... ../src/syntax/typing.nit:1390,12
+                        ../src/syntax/typing.nit:1390,18--25
+                          'MMMethod' ... ../src/syntax/typing.nit:1390,18--25
+                    ../src/syntax/typing.nit:1391,5--12
+                      ../src/syntax/typing.nit:1391,12
+                      'prop' ... ../src/syntax/typing.nit:1391,5--8
+                      '=' ... ../src/syntax/typing.nit:1391,10
+                      ../src/syntax/typing.nit:1391,12
+                        ../src/syntax/typing.nit:1391,12
+                        'p' ... ../src/syntax/typing.nit:1391,12
+          ../src/syntax/typing.nit:1395,3--1401,14
+            'if' ... ../src/syntax/typing.nit:1395,3--4
+            ../src/syntax/typing.nit:1395,6--17
+              ../src/syntax/typing.nit:1395,6--9
+                ../src/syntax/typing.nit:1395,6
+                'prop' ... ../src/syntax/typing.nit:1395,6--9
+              ../src/syntax/typing.nit:1395,14--17
+                'null' ... ../src/syntax/typing.nit:1395,14--17
+            ../src/syntax/typing.nit:1396,4--1401,14
+              ../src/syntax/typing.nit:1396,4--1399,73
+                'if' ... ../src/syntax/typing.nit:1396,4--5
+                ../src/syntax/typing.nit:1396,7--22
+                  ../src/syntax/typing.nit:1396,7
+                  'is_implicit_self' ... ../src/syntax/typing.nit:1396,7--22
+                ../src/syntax/typing.nit:1397,5--78
+                  ../src/syntax/typing.nit:1397,5--78
+                    ../src/syntax/typing.nit:1397,5
+                      ../src/syntax/typing.nit:1397,5
+                      'v' ... ../src/syntax/typing.nit:1397,5
+                    'error' ... ../src/syntax/typing.nit:1397,7--11
+                    ../src/syntax/typing.nit:1397,13--16
+                      'self' ... ../src/syntax/typing.nit:1397,13--16
+                    ../src/syntax/typing.nit:1397,19--78
+                      ../src/syntax/typing.nit:1397,19--47
+                        '"Error: Method or variable '{' ... ../src/syntax/typing.nit:1397,19--47
+                      ../src/syntax/typing.nit:1397,48--51
+                        ../src/syntax/typing.nit:1397,48
+                        'name' ... ../src/syntax/typing.nit:1397,48--51
+                      ../src/syntax/typing.nit:1397,52--66
+                        '}' unknown in {' ... ../src/syntax/typing.nit:1397,52--66
+                      ../src/syntax/typing.nit:1397,67--75
+                        ../src/syntax/typing.nit:1397,67
+                        'type_recv' ... ../src/syntax/typing.nit:1397,67--75
+                      ../src/syntax/typing.nit:1397,76--78
+                        '}."' ... ../src/syntax/typing.nit:1397,76--78
+                ../src/syntax/typing.nit:1399,5--73
+                  ../src/syntax/typing.nit:1399,5--73
+                    ../src/syntax/typing.nit:1399,5
+                      ../src/syntax/typing.nit:1399,5
+                      'v' ... ../src/syntax/typing.nit:1399,5
+                    'error' ... ../src/syntax/typing.nit:1399,7--11
+                    ../src/syntax/typing.nit:1399,13--16
+                      'self' ... ../src/syntax/typing.nit:1399,13--16
+                    ../src/syntax/typing.nit:1399,19--73
+                      ../src/syntax/typing.nit:1399,19--35
+                        '"Error: Method '{' ... ../src/syntax/typing.nit:1399,19--35
+                      ../src/syntax/typing.nit:1399,36--39
+                        ../src/syntax/typing.nit:1399,36
+                        'name' ... ../src/syntax/typing.nit:1399,36--39
+                      ../src/syntax/typing.nit:1399,40--61
+                        '}' doesn't exists in {' ... ../src/syntax/typing.nit:1399,40--61
+                      ../src/syntax/typing.nit:1399,62--70
+                        ../src/syntax/typing.nit:1399,62
+                        'type_recv' ... ../src/syntax/typing.nit:1399,62--70
+                      ../src/syntax/typing.nit:1399,71--73
+                        '}."' ... ../src/syntax/typing.nit:1399,71--73
+              ../src/syntax/typing.nit:1401,4--14
+                'return' ... ../src/syntax/typing.nit:1401,4--9
+                ../src/syntax/typing.nit:1401,11--14
+                  'null' ... ../src/syntax/typing.nit:1401,11--14
+          ../src/syntax/typing.nit:1403,3--13
+            'return' ... ../src/syntax/typing.nit:1403,3--8
+            ../src/syntax/typing.nit:1403,10--13
+              ../src/syntax/typing.nit:1403,10
+              'prop' ... ../src/syntax/typing.nit:1403,10--13
+      ../src/syntax/typing.nit:1406,2--1412,13
+        ../src/syntax/typing.nit:1406,2--1407,0
+          '# Get the signature for a local property and a receiver
+' ... ../src/syntax/typing.nit:1406,2--1407,0
+        ../src/syntax/typing.nit:1407,2--8
+          'private' ... ../src/syntax/typing.nit:1407,2--8
+        'fun' ... ../src/syntax/typing.nit:1407,10--12
+        ../src/syntax/typing.nit:1407,14--26
+          'get_signature' ... ../src/syntax/typing.nit:1407,14--26
+        ../src/syntax/typing.nit:1407,28--112
+          ../src/syntax/typing.nit:1407,28--43
+            'v' ... ../src/syntax/typing.nit:1407,28
+            ../src/syntax/typing.nit:1407,31--43
+              'TypingVisitor' ... ../src/syntax/typing.nit:1407,31--43
+          ../src/syntax/typing.nit:1407,46--62
+            'type_recv' ... ../src/syntax/typing.nit:1407,46--54
+            ../src/syntax/typing.nit:1407,57--62
+              'MMType' ... ../src/syntax/typing.nit:1407,57--62
+          ../src/syntax/typing.nit:1407,65--78
+            'prop' ... ../src/syntax/typing.nit:1407,65--68
+            ../src/syntax/typing.nit:1407,71--78
+              'MMMethod' ... ../src/syntax/typing.nit:1407,71--78
+          ../src/syntax/typing.nit:1407,81--98
+            'recv_is_self' ... ../src/syntax/typing.nit:1407,81--92
+            ../src/syntax/typing.nit:1407,95--98
+              'Bool' ... ../src/syntax/typing.nit:1407,95--98
+          ../src/syntax/typing.nit:1407,102--112
+            'MMSignature' ... ../src/syntax/typing.nit:1407,102--112
+        ../src/syntax/typing.nit:1409,3--1412,13
+          ../src/syntax/typing.nit:1409,3--64
+            ../src/syntax/typing.nit:1409,3--13
+              ../src/syntax/typing.nit:1409,3--6
+                ../src/syntax/typing.nit:1409,3
+                'prop' ... ../src/syntax/typing.nit:1409,3--6
+              'global' ... ../src/syntax/typing.nit:1409,8--13
+            'check_visibility' ... ../src/syntax/typing.nit:1409,15--30
+            ../src/syntax/typing.nit:1409,32
+              ../src/syntax/typing.nit:1409,32
+              'v' ... ../src/syntax/typing.nit:1409,32
+            ../src/syntax/typing.nit:1409,35--38
+              'self' ... ../src/syntax/typing.nit:1409,35--38
+            ../src/syntax/typing.nit:1409,41--50
+              ../src/syntax/typing.nit:1409,41
+                ../src/syntax/typing.nit:1409,41
+                'v' ... ../src/syntax/typing.nit:1409,41
+              'mmmodule' ... ../src/syntax/typing.nit:1409,43--50
+            ../src/syntax/typing.nit:1409,53--64
+              ../src/syntax/typing.nit:1409,53
+              'recv_is_self' ... ../src/syntax/typing.nit:1409,53--64
+          ../src/syntax/typing.nit:1410,3--41
+            'var' ... ../src/syntax/typing.nit:1410,3--5
+            'psig' ... ../src/syntax/typing.nit:1410,7--10
+            '=' ... ../src/syntax/typing.nit:1410,12
+            ../src/syntax/typing.nit:1410,14--41
+              ../src/syntax/typing.nit:1410,14--17
+                ../src/syntax/typing.nit:1410,14
+                'prop' ... ../src/syntax/typing.nit:1410,14--17
+              'signature_for' ... ../src/syntax/typing.nit:1410,19--31
+              ../src/syntax/typing.nit:1410,33--41
+                ../src/syntax/typing.nit:1410,33
+                'type_recv' ... ../src/syntax/typing.nit:1410,33--41
+          ../src/syntax/typing.nit:1411,3--51
+            'if' ... ../src/syntax/typing.nit:1411,3--4
+            ../src/syntax/typing.nit:1411,6--21
+              'not' ... ../src/syntax/typing.nit:1411,6--8
+              ../src/syntax/typing.nit:1411,10--21
+                ../src/syntax/typing.nit:1411,10
+                'recv_is_self' ... ../src/syntax/typing.nit:1411,10--21
+            ../src/syntax/typing.nit:1411,28--51
+              ../src/syntax/typing.nit:1411,35
+              'psig' ... ../src/syntax/typing.nit:1411,28--31
+              '=' ... ../src/syntax/typing.nit:1411,33
+              ../src/syntax/typing.nit:1411,35--51
+                ../src/syntax/typing.nit:1411,35--38
+                  ../src/syntax/typing.nit:1411,35
+                  'psig' ... ../src/syntax/typing.nit:1411,35--38
+                'not_for_self' ... ../src/syntax/typing.nit:1411,40--51
+          ../src/syntax/typing.nit:1412,3--13
+            'return' ... ../src/syntax/typing.nit:1412,3--8
+            ../src/syntax/typing.nit:1412,10--13
+              ../src/syntax/typing.nit:1412,10
+              'psig' ... ../src/syntax/typing.nit:1412,10--13
+      ../src/syntax/typing.nit:1415,2--1416,43
+        ../src/syntax/typing.nit:1415,2--1416,0
+          '# The invoked method (once computed)
+' ... ../src/syntax/typing.nit:1415,2--1416,0
+        'redef' ... ../src/syntax/typing.nit:1416,2--6
+        ../src/syntax/typing.nit:1416,12
+        'fun' ... ../src/syntax/typing.nit:1416,8--10
+        ../src/syntax/typing.nit:1416,12--15
+          'prop' ... ../src/syntax/typing.nit:1416,12--15
+        ../src/syntax/typing.nit:1416,27
+        ../src/syntax/typing.nit:1416,20--43
+          'return' ... ../src/syntax/typing.nit:1416,20--25
+          ../src/syntax/typing.nit:1416,27--43
+            ../src/syntax/typing.nit:1416,27--31
+              ../src/syntax/typing.nit:1416,27
+              '_prop' ... ../src/syntax/typing.nit:1416,27--31
+            'as' ... ../src/syntax/typing.nit:1416,33--34
+            'not' ... ../src/syntax/typing.nit:1416,36--38
+            'null' ... ../src/syntax/typing.nit:1416,40--43
+      ../src/syntax/typing.nit:1417,2--29
+        ../src/syntax/typing.nit:1417,13
+        'var' ... ../src/syntax/typing.nit:1417,2--4
+        '_prop' ... ../src/syntax/typing.nit:1417,6--10
+        ../src/syntax/typing.nit:1417,13--29
+          'nullable' ... ../src/syntax/typing.nit:1417,13--20
+          'MMMethod' ... ../src/syntax/typing.nit:1417,22--29
+      ../src/syntax/typing.nit:1419,2--1420,49
+        ../src/syntax/typing.nit:1419,2--1420,0
+          '# The return type (if any) (once computed)
+' ... ../src/syntax/typing.nit:1419,2--1420,0
+        ../src/syntax/typing.nit:1420,2--15
+          'redef' ... ../src/syntax/typing.nit:1420,2--6
+          'readable' ... ../src/syntax/typing.nit:1420,8--15
+        ../src/syntax/typing.nit:1420,35
+        'var' ... ../src/syntax/typing.nit:1420,17--19
+        '_return_type' ... ../src/syntax/typing.nit:1420,21--32
+        ../src/syntax/typing.nit:1420,35--49
+          'nullable' ... ../src/syntax/typing.nit:1420,35--42
+          'MMType' ... ../src/syntax/typing.nit:1420,44--49
+    ../src/syntax/typing.nit:1423,1--1453,10
+      ../src/syntax/typing.nit:1423,1--1425,0
+        '# A possible call of constructor in a super class
+' ... ../src/syntax/typing.nit:1423,1--1424,0
+        '# Could be an explicit call or with the 'super' keyword
+' ... ../src/syntax/typing.nit:1424,1--1425,0
+      'redef' ... ../src/syntax/typing.nit:1425,1--5
+      ../src/syntax/typing.nit:1425,7
+      ../src/syntax/typing.nit:1425,7--11
+        'class' ... ../src/syntax/typing.nit:1425,7--11
+      'ASuperInitCall' ... ../src/syntax/typing.nit:1425,13--26
+      ../src/syntax/typing.nit:1426,2--1453,10
+        ../src/syntax/typing.nit:1426,2--8
+          'private' ... ../src/syntax/typing.nit:1426,2--8
+        'fun' ... ../src/syntax/typing.nit:1426,10--12
+        ../src/syntax/typing.nit:1426,14--37
+          'register_super_init_call' ... ../src/syntax/typing.nit:1426,14--37
+        ../src/syntax/typing.nit:1426,39--74
+          ../src/syntax/typing.nit:1426,39--54
+            'v' ... ../src/syntax/typing.nit:1426,39
+            ../src/syntax/typing.nit:1426,42--54
+              'TypingVisitor' ... ../src/syntax/typing.nit:1426,42--54
+          ../src/syntax/typing.nit:1426,57--74
+            'property' ... ../src/syntax/typing.nit:1426,57--64
+            ../src/syntax/typing.nit:1426,67--74
+              'MMMethod' ... ../src/syntax/typing.nit:1426,67--74
+        ../src/syntax/typing.nit:1428,3--1453,10
+          ../src/syntax/typing.nit:1428,3--1429,88
+            'if' ... ../src/syntax/typing.nit:1428,3--4
+            ../src/syntax/typing.nit:1428,6--50
+              ../src/syntax/typing.nit:1428,6--26
+                ../src/syntax/typing.nit:1428,6--11
+                  ../src/syntax/typing.nit:1428,6
+                  'parent' ... ../src/syntax/typing.nit:1428,6--11
+                ../src/syntax/typing.nit:1428,16--26
+                  ../src/syntax/typing.nit:1428,16
+                    ../src/syntax/typing.nit:1428,16
+                    'v' ... ../src/syntax/typing.nit:1428,16
+                  'top_block' ... ../src/syntax/typing.nit:1428,18--26
+              ../src/syntax/typing.nit:1428,32--50
+                ../src/syntax/typing.nit:1428,32--35
+                  'self' ... ../src/syntax/typing.nit:1428,32--35
+                ../src/syntax/typing.nit:1428,40--50
+                  ../src/syntax/typing.nit:1428,40
+                    ../src/syntax/typing.nit:1428,40
+                    'v' ... ../src/syntax/typing.nit:1428,40
+                  'top_block' ... ../src/syntax/typing.nit:1428,42--50
+            ../src/syntax/typing.nit:1429,4--88
+              ../src/syntax/typing.nit:1429,4--88
+                ../src/syntax/typing.nit:1429,4
+                  ../src/syntax/typing.nit:1429,4
+                  'v' ... ../src/syntax/typing.nit:1429,4
+                'error' ... ../src/syntax/typing.nit:1429,6--10
+                ../src/syntax/typing.nit:1429,12--15
+                  'self' ... ../src/syntax/typing.nit:1429,12--15
+                ../src/syntax/typing.nit:1429,18--88
+                  ../src/syntax/typing.nit:1429,18--49
+                    '"Error: Constructor invocation {' ... ../src/syntax/typing.nit:1429,18--49
+                  ../src/syntax/typing.nit:1429,50--57
+                    ../src/syntax/typing.nit:1429,50
+                    'property' ... ../src/syntax/typing.nit:1429,50--57
+                  ../src/syntax/typing.nit:1429,58--88
+                    '} must not be in nested block."' ... ../src/syntax/typing.nit:1429,58--88
+          ../src/syntax/typing.nit:1431,3--63
+            'var' ... ../src/syntax/typing.nit:1431,3--5
+            'cla' ... ../src/syntax/typing.nit:1431,7--9
+            '=' ... ../src/syntax/typing.nit:1431,11
+            ../src/syntax/typing.nit:1431,13--63
+              ../src/syntax/typing.nit:1431,13--22
+                ../src/syntax/typing.nit:1431,13
+                  ../src/syntax/typing.nit:1431,13
+                  'v' ... ../src/syntax/typing.nit:1431,13
+                'mmmodule' ... ../src/syntax/typing.nit:1431,15--22
+              ../src/syntax/typing.nit:1431,24--63
+                ../src/syntax/typing.nit:1431,24--56
+                  ../src/syntax/typing.nit:1431,24--44
+                    ../src/syntax/typing.nit:1431,24--38
+                      ../src/syntax/typing.nit:1431,24--31
+                        ../src/syntax/typing.nit:1431,24
+                        'property' ... ../src/syntax/typing.nit:1431,24--31
+                      'global' ... ../src/syntax/typing.nit:1431,33--38
+                    'intro' ... ../src/syntax/typing.nit:1431,40--44
+                  'local_class' ... ../src/syntax/typing.nit:1431,46--56
+                'global' ... ../src/syntax/typing.nit:1431,58--63
+          ../src/syntax/typing.nit:1432,3--46
+            'var' ... ../src/syntax/typing.nit:1432,3--5
+            'prev_class' ... ../src/syntax/typing.nit:1432,7--16
+            ../src/syntax/typing.nit:1432,19--39
+              'nullable' ... ../src/syntax/typing.nit:1432,19--26
+              'MMLocalClass' ... ../src/syntax/typing.nit:1432,28--39
+            '=' ... ../src/syntax/typing.nit:1432,41
+            ../src/syntax/typing.nit:1432,43--46
+              'null' ... ../src/syntax/typing.nit:1432,43--46
+          ../src/syntax/typing.nit:1433,3--52
+            'var' ... ../src/syntax/typing.nit:1433,3--5
+            'esic' ... ../src/syntax/typing.nit:1433,7--10
+            '=' ... ../src/syntax/typing.nit:1433,12
+            ../src/syntax/typing.nit:1433,14--52
+              ../src/syntax/typing.nit:1433,14--40
+                ../src/syntax/typing.nit:1433,14
+                  ../src/syntax/typing.nit:1433,14
+                  'v' ... ../src/syntax/typing.nit:1433,14
+                'explicit_super_init_calls' ... ../src/syntax/typing.nit:1433,16--40
+              'as' ... ../src/syntax/typing.nit:1433,42--43
+              'not' ... ../src/syntax/typing.nit:1433,45--47
+              'null' ... ../src/syntax/typing.nit:1433,49--52
+          ../src/syntax/typing.nit:1434,3--1435,50
+            'if' ... ../src/syntax/typing.nit:1434,3--4
+            ../src/syntax/typing.nit:1434,6--22
+              'not' ... ../src/syntax/typing.nit:1434,6--8
+              ../src/syntax/typing.nit:1434,10--22
+                ../src/syntax/typing.nit:1434,10--13
+                  ../src/syntax/typing.nit:1434,10
+                  'esic' ... ../src/syntax/typing.nit:1434,10--13
+                'is_empty' ... ../src/syntax/typing.nit:1434,15--22
+            ../src/syntax/typing.nit:1435,4--50
+              ../src/syntax/typing.nit:1435,4--50
+                ../src/syntax/typing.nit:1435,17
+                'prev_class' ... ../src/syntax/typing.nit:1435,4--13
+                '=' ... ../src/syntax/typing.nit:1435,15
+                ../src/syntax/typing.nit:1435,17--50
+                  ../src/syntax/typing.nit:1435,17--38
+                    ../src/syntax/typing.nit:1435,17--32
+                      ../src/syntax/typing.nit:1435,17--25
+                        ../src/syntax/typing.nit:1435,17--20
+                          ../src/syntax/typing.nit:1435,17
+                          'esic' ... ../src/syntax/typing.nit:1435,17--20
+                        'last' ... ../src/syntax/typing.nit:1435,22--25
+                      'global' ... ../src/syntax/typing.nit:1435,27--32
+                    'intro' ... ../src/syntax/typing.nit:1435,34--38
+                  'local_class' ... ../src/syntax/typing.nit:1435,40--50
+          ../src/syntax/typing.nit:1437,3--57
+            'var' ... ../src/syntax/typing.nit:1437,3--5
+            'order' ... ../src/syntax/typing.nit:1437,7--11
+            '=' ... ../src/syntax/typing.nit:1437,13
+            ../src/syntax/typing.nit:1437,15--57
+              ../src/syntax/typing.nit:1437,15--32
+                ../src/syntax/typing.nit:1437,15--27
+                  ../src/syntax/typing.nit:1437,15
+                    ../src/syntax/typing.nit:1437,15
+                    'v' ... ../src/syntax/typing.nit:1437,15
+                  'local_class' ... ../src/syntax/typing.nit:1437,17--27
+                'cshe' ... ../src/syntax/typing.nit:1437,29--32
+              'reverse_linear_extension' ... ../src/syntax/typing.nit:1437,34--57
+          ../src/syntax/typing.nit:1438,3--1453,10
+            'if' ... ../src/syntax/typing.nit:1438,3--4
+            ../src/syntax/typing.nit:1438,6--25
+              ../src/syntax/typing.nit:1438,6--8
+                ../src/syntax/typing.nit:1438,6
+                'cla' ... ../src/syntax/typing.nit:1438,6--8
+              ../src/syntax/typing.nit:1438,13--25
+                ../src/syntax/typing.nit:1438,13
+                  ../src/syntax/typing.nit:1438,13
+                  'v' ... ../src/syntax/typing.nit:1438,13
+                'local_class' ... ../src/syntax/typing.nit:1438,15--25
+            ../src/syntax/typing.nit:1439,4--36
+              ../src/syntax/typing.nit:1439,4--36
+                ../src/syntax/typing.nit:1439,4
+                  ../src/syntax/typing.nit:1439,4
+                  'v' ... ../src/syntax/typing.nit:1439,4
+                'explicit_other_init_call' ... ../src/syntax/typing.nit:1439,6--29
+                '=' ... ../src/syntax/typing.nit:1439,31
+                ../src/syntax/typing.nit:1439,33--36
+                  'true' ... ../src/syntax/typing.nit:1439,33--36
+            ../src/syntax/typing.nit:1440,8--1453,10
+              'if' ... ../src/syntax/typing.nit:1440,8--9
+              ../src/syntax/typing.nit:1440,11--27
+                'not' ... ../src/syntax/typing.nit:1440,11--13
+                ../src/syntax/typing.nit:1440,15--27
+                  ../src/syntax/typing.nit:1440,15--19
+                    ../src/syntax/typing.nit:1440,15
+                    'order' ... ../src/syntax/typing.nit:1440,15--19
+                  'has' ... ../src/syntax/typing.nit:1440,21--23
+                  ../src/syntax/typing.nit:1440,25--27
+                    ../src/syntax/typing.nit:1440,25
+                    'cla' ... ../src/syntax/typing.nit:1440,25--27
+              ../src/syntax/typing.nit:1441,4--87
+                ../src/syntax/typing.nit:1441,4--87
+                  ../src/syntax/typing.nit:1441,4
+                    ../src/syntax/typing.nit:1441,4
+                    'v' ... ../src/syntax/typing.nit:1441,4
+                  'error' ... ../src/syntax/typing.nit:1441,6--10
+                  ../src/syntax/typing.nit:1441,12--15
+                    'self' ... ../src/syntax/typing.nit:1441,12--15
+                  ../src/syntax/typing.nit:1441,18--87
+                    ../src/syntax/typing.nit:1441,18--47
+                      '"Error: Constructor of class {' ... ../src/syntax/typing.nit:1441,18--47
+                    ../src/syntax/typing.nit:1441,48--50
+                      ../src/syntax/typing.nit:1441,48
+                      'cla' ... ../src/syntax/typing.nit:1441,48--50
+                    ../src/syntax/typing.nit:1441,51--68
+                      '} must be one in {' ... ../src/syntax/typing.nit:1441,51--68
+                    ../src/syntax/typing.nit:1441,69--83
+                      ../src/syntax/typing.nit:1441,69--73
+                        ../src/syntax/typing.nit:1441,69
+                        'order' ... ../src/syntax/typing.nit:1441,69--73
+                      'join' ... ../src/syntax/typing.nit:1441,75--78
+                      ../src/syntax/typing.nit:1441,80--83
+                        '", "' ... ../src/syntax/typing.nit:1441,80--83
+                    ../src/syntax/typing.nit:1441,85--87
+                      '}."' ... ../src/syntax/typing.nit:1441,85--87
+              ../src/syntax/typing.nit:1442,8--1453,10
+                'if' ... ../src/syntax/typing.nit:1442,8--9
+                ../src/syntax/typing.nit:1442,11--27
+                  ../src/syntax/typing.nit:1442,11--13
+                    ../src/syntax/typing.nit:1442,11
+                    'cla' ... ../src/syntax/typing.nit:1442,11--13
+                  ../src/syntax/typing.nit:1442,18--27
+                    ../src/syntax/typing.nit:1442,18
+                    'prev_class' ... ../src/syntax/typing.nit:1442,18--27
+                ../src/syntax/typing.nit:1443,4--90
+                  ../src/syntax/typing.nit:1443,4--90
+                    ../src/syntax/typing.nit:1443,4
+                      ../src/syntax/typing.nit:1443,4
+                      'v' ... ../src/syntax/typing.nit:1443,4
+                    'error' ... ../src/syntax/typing.nit:1443,6--10
+                    ../src/syntax/typing.nit:1443,12--15
+                      'self' ... ../src/syntax/typing.nit:1443,12--15
+                    ../src/syntax/typing.nit:1443,18--90
+                      ../src/syntax/typing.nit:1443,18--73
+                        '"Error: Only one super constructor invocation of class {' ... ../src/syntax/typing.nit:1443,18--73
+                      ../src/syntax/typing.nit:1443,74--76
+                        ../src/syntax/typing.nit:1443,74
+                        'cla' ... ../src/syntax/typing.nit:1443,74--76
+                      ../src/syntax/typing.nit:1443,77--90
+                        '} is allowed."' ... ../src/syntax/typing.nit:1443,77--90
+                ../src/syntax/typing.nit:1445,4--1453,10
+                  ../src/syntax/typing.nit:1445,4--1453,10
+                    'for' ... ../src/syntax/typing.nit:1445,4--6
+                    'c' ... ../src/syntax/typing.nit:1445,8
+                    ../src/syntax/typing.nit:1445,13--17
+                      ../src/syntax/typing.nit:1445,13
+                      'order' ... ../src/syntax/typing.nit:1445,13--17
+                    'do' ... ../src/syntax/typing.nit:1445,19--20
+                    ../src/syntax/typing.nit:1446,5--1453,10
+                      ../src/syntax/typing.nit:1446,5--1453,10
+                        'if' ... ../src/syntax/typing.nit:1446,5--6
+                        ../src/syntax/typing.nit:1446,8--22
+                          ../src/syntax/typing.nit:1446,8
+                            ../src/syntax/typing.nit:1446,8
+                            'c' ... ../src/syntax/typing.nit:1446,8
+                          ../src/syntax/typing.nit:1446,13--22
+                            ../src/syntax/typing.nit:1446,13
+                            'prev_class' ... ../src/syntax/typing.nit:1446,13--22
+                        ../src/syntax/typing.nit:1447,6--22
+                          ../src/syntax/typing.nit:1447,6--22
+                            ../src/syntax/typing.nit:1447,19
+                            'prev_class' ... ../src/syntax/typing.nit:1447,6--15
+                            '=' ... ../src/syntax/typing.nit:1447,17
+                            ../src/syntax/typing.nit:1447,19--22
+                              'null' ... ../src/syntax/typing.nit:1447,19--22
+                        ../src/syntax/typing.nit:1448,10--1453,10
+                          'if' ... ../src/syntax/typing.nit:1448,10--11
+                          ../src/syntax/typing.nit:1448,13--20
+                            ../src/syntax/typing.nit:1448,13
+                              ../src/syntax/typing.nit:1448,13
+                              'c' ... ../src/syntax/typing.nit:1448,13
+                            ../src/syntax/typing.nit:1448,18--20
+                              ../src/syntax/typing.nit:1448,18
+                              'cla' ... ../src/syntax/typing.nit:1448,18--20
+                          ../src/syntax/typing.nit:1449,6--1453,10
+                            ../src/syntax/typing.nit:1449,6--1450,98
+                              'if' ... ../src/syntax/typing.nit:1449,6--7
+                              ../src/syntax/typing.nit:1449,9--26
+                                ../src/syntax/typing.nit:1449,9--18
+                                  ../src/syntax/typing.nit:1449,9
+                                  'prev_class' ... ../src/syntax/typing.nit:1449,9--18
+                                ../src/syntax/typing.nit:1449,23--26
+                                  'null' ... ../src/syntax/typing.nit:1449,23--26
+                              ../src/syntax/typing.nit:1450,7--98
+                                ../src/syntax/typing.nit:1450,7--98
+                                  ../src/syntax/typing.nit:1450,7
+                                    ../src/syntax/typing.nit:1450,7
+                                    'v' ... ../src/syntax/typing.nit:1450,7
+                                  'error' ... ../src/syntax/typing.nit:1450,9--13
+                                  ../src/syntax/typing.nit:1450,15--18
+                                    'self' ... ../src/syntax/typing.nit:1450,15--18
+                                  ../src/syntax/typing.nit:1450,21--98
+                                    ../src/syntax/typing.nit:1450,21--44
+                                      '"Error: Constructor of {' ... ../src/syntax/typing.nit:1450,21--44
+                                    ../src/syntax/typing.nit:1450,45
+                                      ../src/syntax/typing.nit:1450,45
+                                      'c' ... ../src/syntax/typing.nit:1450,45
+                                    ../src/syntax/typing.nit:1450,46--86
+                                      '} must be invoked before constructor of {' ... ../src/syntax/typing.nit:1450,46--86
+                                    ../src/syntax/typing.nit:1450,87--96
+                                      ../src/syntax/typing.nit:1450,87
+                                      'prev_class' ... ../src/syntax/typing.nit:1450,87--96
+                                    ../src/syntax/typing.nit:1450,97--98
+                                      '}"' ... ../src/syntax/typing.nit:1450,97--98
+                            ../src/syntax/typing.nit:1452,6--22
+                              ../src/syntax/typing.nit:1452,6--9
+                                ../src/syntax/typing.nit:1452,6
+                                'esic' ... ../src/syntax/typing.nit:1452,6--9
+                              'add' ... ../src/syntax/typing.nit:1452,11--13
+                              ../src/syntax/typing.nit:1452,15--22
+                                ../src/syntax/typing.nit:1452,15
+                                'property' ... ../src/syntax/typing.nit:1452,15--22
+                            ../src/syntax/typing.nit:1453,6--10
+                              'break' ... ../src/syntax/typing.nit:1453,6--10
+    ../src/syntax/typing.nit:1461,1--1486,18
+      'redef' ... ../src/syntax/typing.nit:1461,1--5
+      ../src/syntax/typing.nit:1461,7
+      ../src/syntax/typing.nit:1461,7--11
+        'class' ... ../src/syntax/typing.nit:1461,7--11
+      'ANewExpr' ... ../src/syntax/typing.nit:1461,13--20
+      ../src/syntax/typing.nit:1462,2--54
+        'redef' ... ../src/syntax/typing.nit:1462,2--6
+        ../src/syntax/typing.nit:1462,12
+        'fun' ... ../src/syntax/typing.nit:1462,8--10
+        ../src/syntax/typing.nit:1462,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1462,12--32
+        ../src/syntax/typing.nit:1462,44
+        ../src/syntax/typing.nit:1462,37--54
+          'return' ... ../src/syntax/typing.nit:1462,37--42
+          ../src/syntax/typing.nit:1462,44--54
+            ../src/syntax/typing.nit:1462,44--49
+              ../src/syntax/typing.nit:1462,44
+              'n_args' ... ../src/syntax/typing.nit:1462,44--49
+            'to_a' ... ../src/syntax/typing.nit:1462,51--54
+      ../src/syntax/typing.nit:1463,2--1486,18
+        'redef' ... ../src/syntax/typing.nit:1463,2--6
+        ../src/syntax/typing.nit:1463,12
+        'fun' ... ../src/syntax/typing.nit:1463,8--10
+        ../src/syntax/typing.nit:1463,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1463,12--23
+        ../src/syntax/typing.nit:1463,25
+          ../src/syntax/typing.nit:1463,25
+            'v' ... ../src/syntax/typing.nit:1463,25
+        ../src/syntax/typing.nit:1465,3--1486,18
+          ../src/syntax/typing.nit:1465,3--36
+            'if' ... ../src/syntax/typing.nit:1465,3--4
+            ../src/syntax/typing.nit:1465,6--24
+              'not' ... ../src/syntax/typing.nit:1465,6--8
+              ../src/syntax/typing.nit:1465,10--24
+                ../src/syntax/typing.nit:1465,10--15
+                  ../src/syntax/typing.nit:1465,10
+                  'n_type' ... ../src/syntax/typing.nit:1465,10--15
+                'is_typed' ... ../src/syntax/typing.nit:1465,17--24
+            ../src/syntax/typing.nit:1465,31--36
+              'return' ... ../src/syntax/typing.nit:1465,31--36
+          ../src/syntax/typing.nit:1466,3--22
+            'var' ... ../src/syntax/typing.nit:1466,3--5
+            't' ... ../src/syntax/typing.nit:1466,7
+            '=' ... ../src/syntax/typing.nit:1466,9
+            ../src/syntax/typing.nit:1466,11--22
+              ../src/syntax/typing.nit:1466,11--16
+                ../src/syntax/typing.nit:1466,11
+                'n_type' ... ../src/syntax/typing.nit:1466,11--16
+              'stype' ... ../src/syntax/typing.nit:1466,18--22
+          ../src/syntax/typing.nit:1467,3--1469,9
+            'if' ... ../src/syntax/typing.nit:1467,3--4
+            ../src/syntax/typing.nit:1467,6--37
+              ../src/syntax/typing.nit:1467,6--25
+                ../src/syntax/typing.nit:1467,6--18
+                  ../src/syntax/typing.nit:1467,6
+                    ../src/syntax/typing.nit:1467,6
+                    't' ... ../src/syntax/typing.nit:1467,6
+                  'local_class' ... ../src/syntax/typing.nit:1467,8--18
+                'global' ... ../src/syntax/typing.nit:1467,20--25
+              'is_abstract' ... ../src/syntax/typing.nit:1467,27--37
+            ../src/syntax/typing.nit:1468,4--1469,9
+              ../src/syntax/typing.nit:1468,4--76
+                ../src/syntax/typing.nit:1468,4
+                  ../src/syntax/typing.nit:1468,4
+                  'v' ... ../src/syntax/typing.nit:1468,4
+                'error' ... ../src/syntax/typing.nit:1468,6--10
+                ../src/syntax/typing.nit:1468,12--15
+                  'self' ... ../src/syntax/typing.nit:1468,12--15
+                ../src/syntax/typing.nit:1468,18--76
+                  ../src/syntax/typing.nit:1468,18--60
+                    '"Error: try to instantiate abstract class {' ... ../src/syntax/typing.nit:1468,18--60
+                  ../src/syntax/typing.nit:1468,61--73
+                    ../src/syntax/typing.nit:1468,61
+                      ../src/syntax/typing.nit:1468,61
+                      't' ... ../src/syntax/typing.nit:1468,61
+                    'local_class' ... ../src/syntax/typing.nit:1468,63--73
+                  ../src/syntax/typing.nit:1468,74--76
+                    '}."' ... ../src/syntax/typing.nit:1468,74--76
+              ../src/syntax/typing.nit:1469,4--9
+                'return' ... ../src/syntax/typing.nit:1469,4--9
+          ../src/syntax/typing.nit:1471,3--18
+            'var' ... ../src/syntax/typing.nit:1471,3--5
+            'name' ... ../src/syntax/typing.nit:1471,7--10
+            ../src/syntax/typing.nit:1471,13--18
+              'Symbol' ... ../src/syntax/typing.nit:1471,13--18
+          ../src/syntax/typing.nit:1472,3--1475,24
+            'if' ... ../src/syntax/typing.nit:1472,3--4
+            ../src/syntax/typing.nit:1472,6--17
+              ../src/syntax/typing.nit:1472,6--9
+                ../src/syntax/typing.nit:1472,6
+                'n_id' ... ../src/syntax/typing.nit:1472,6--9
+              ../src/syntax/typing.nit:1472,14--17
+                'null' ... ../src/syntax/typing.nit:1472,14--17
+            ../src/syntax/typing.nit:1473,4--31
+              ../src/syntax/typing.nit:1473,4--31
+                ../src/syntax/typing.nit:1473,16
+                'name' ... ../src/syntax/typing.nit:1473,4--7
+                '=' ... ../src/syntax/typing.nit:1473,9
+                ../src/syntax/typing.nit:1473,11--31
+                  'once' ... ../src/syntax/typing.nit:1473,11--14
+                  ../src/syntax/typing.nit:1473,16--31
+                    ../src/syntax/typing.nit:1473,16--21
+                      '"init"' ... ../src/syntax/typing.nit:1473,16--21
+                    'to_symbol' ... ../src/syntax/typing.nit:1473,23--31
+            ../src/syntax/typing.nit:1475,4--24
+              ../src/syntax/typing.nit:1475,4--24
+                ../src/syntax/typing.nit:1475,11
+                'name' ... ../src/syntax/typing.nit:1475,4--7
+                '=' ... ../src/syntax/typing.nit:1475,9
+                ../src/syntax/typing.nit:1475,11--24
+                  ../src/syntax/typing.nit:1475,11--14
+                    ../src/syntax/typing.nit:1475,11
+                    'n_id' ... ../src/syntax/typing.nit:1475,11--14
+                  'to_symbol' ... ../src/syntax/typing.nit:1475,16--24
+          ../src/syntax/typing.nit:1478,3--57
+            ../src/syntax/typing.nit:1478,13
+            'do_typing' ... ../src/syntax/typing.nit:1478,3--11
+            ../src/syntax/typing.nit:1478,13
+              ../src/syntax/typing.nit:1478,13
+              'v' ... ../src/syntax/typing.nit:1478,13
+            ../src/syntax/typing.nit:1478,16
+              ../src/syntax/typing.nit:1478,16
+              't' ... ../src/syntax/typing.nit:1478,16
+            ../src/syntax/typing.nit:1478,19--23
+              'false' ... ../src/syntax/typing.nit:1478,19--23
+            ../src/syntax/typing.nit:1478,26--30
+              'false' ... ../src/syntax/typing.nit:1478,26--30
+            ../src/syntax/typing.nit:1478,33--36
+              ../src/syntax/typing.nit:1478,33
+              'name' ... ../src/syntax/typing.nit:1478,33--36
+            ../src/syntax/typing.nit:1478,39--51
+              ../src/syntax/typing.nit:1478,39
+              'raw_arguments' ... ../src/syntax/typing.nit:1478,39--51
+            ../src/syntax/typing.nit:1478,54--57
+              'null' ... ../src/syntax/typing.nit:1478,54--57
+          ../src/syntax/typing.nit:1479,3--30
+            'if' ... ../src/syntax/typing.nit:1479,3--4
+            ../src/syntax/typing.nit:1479,6--18
+              ../src/syntax/typing.nit:1479,6--10
+                ../src/syntax/typing.nit:1479,6
+                '_prop' ... ../src/syntax/typing.nit:1479,6--10
+              ../src/syntax/typing.nit:1479,15--18
+                'null' ... ../src/syntax/typing.nit:1479,15--18
+            ../src/syntax/typing.nit:1479,25--30
+              'return' ... ../src/syntax/typing.nit:1479,25--30
+          ../src/syntax/typing.nit:1481,3--1483,9
+            'if' ... ../src/syntax/typing.nit:1481,3--4
+            ../src/syntax/typing.nit:1481,6--28
+              'not' ... ../src/syntax/typing.nit:1481,6--8
+              ../src/syntax/typing.nit:1481,10--28
+                ../src/syntax/typing.nit:1481,10--20
+                  ../src/syntax/typing.nit:1481,10--13
+                    ../src/syntax/typing.nit:1481,10
+                    'prop' ... ../src/syntax/typing.nit:1481,10--13
+                  'global' ... ../src/syntax/typing.nit:1481,15--20
+                'is_init' ... ../src/syntax/typing.nit:1481,22--28
+            ../src/syntax/typing.nit:1482,4--1483,9
+              ../src/syntax/typing.nit:1482,4--54
+                ../src/syntax/typing.nit:1482,4
+                  ../src/syntax/typing.nit:1482,4
+                  'v' ... ../src/syntax/typing.nit:1482,4
+                'error' ... ../src/syntax/typing.nit:1482,6--10
+                ../src/syntax/typing.nit:1482,12--15
+                  'self' ... ../src/syntax/typing.nit:1482,12--15
+                ../src/syntax/typing.nit:1482,18--54
+                  ../src/syntax/typing.nit:1482,18--26
+                    '"Error: {' ... ../src/syntax/typing.nit:1482,18--26
+                  ../src/syntax/typing.nit:1482,27--30
+                    ../src/syntax/typing.nit:1482,27
+                    'prop' ... ../src/syntax/typing.nit:1482,27--30
+                  ../src/syntax/typing.nit:1482,31--54
+                    '} is not a constructor."' ... ../src/syntax/typing.nit:1482,31--54
+              ../src/syntax/typing.nit:1483,4--9
+                'return' ... ../src/syntax/typing.nit:1483,4--9
+          ../src/syntax/typing.nit:1485,3--12
+            ../src/syntax/typing.nit:1485,12
+            '_stype' ... ../src/syntax/typing.nit:1485,3--8
+            '=' ... ../src/syntax/typing.nit:1485,10
+            ../src/syntax/typing.nit:1485,12
+              ../src/syntax/typing.nit:1485,12
+              't' ... ../src/syntax/typing.nit:1485,12
+          ../src/syntax/typing.nit:1486,3--18
+            ../src/syntax/typing.nit:1486,15
+            '_is_typed' ... ../src/syntax/typing.nit:1486,3--11
+            '=' ... ../src/syntax/typing.nit:1486,13
+            ../src/syntax/typing.nit:1486,15--18
+              'true' ... ../src/syntax/typing.nit:1486,15--18
+    ../src/syntax/typing.nit:1491,1--1521,18
+      'redef' ... ../src/syntax/typing.nit:1491,1--5
+      ../src/syntax/typing.nit:1491,7
+      ../src/syntax/typing.nit:1491,7--11
+        'class' ... ../src/syntax/typing.nit:1491,7--11
+      'ASendExpr' ... ../src/syntax/typing.nit:1491,13--21
+      ../src/syntax/typing.nit:1492,2--1493,17
+        ../src/syntax/typing.nit:1492,2--1493,0
+          '# Name of the invoked property
+' ... ../src/syntax/typing.nit:1492,2--1493,0
+        ../src/syntax/typing.nit:1493,6
+        'fun' ... ../src/syntax/typing.nit:1493,2--4
+        ../src/syntax/typing.nit:1493,6--9
+          'name' ... ../src/syntax/typing.nit:1493,6--9
+        ../src/syntax/typing.nit:1493,12--17
+          ../src/syntax/typing.nit:1493,12--17
+            'Symbol' ... ../src/syntax/typing.nit:1493,12--17
+      ../src/syntax/typing.nit:1495,2--1496,67
+        ../src/syntax/typing.nit:1495,2--1496,0
+          '# Closure definitions
+' ... ../src/syntax/typing.nit:1495,2--1496,0
+        'redef' ... ../src/syntax/typing.nit:1496,2--6
+        ../src/syntax/typing.nit:1496,12
+        'fun' ... ../src/syntax/typing.nit:1496,8--10
+        ../src/syntax/typing.nit:1496,12--23
+          'closure_defs' ... ../src/syntax/typing.nit:1496,12--23
+        ../src/syntax/typing.nit:1496,26--51
+          ../src/syntax/typing.nit:1496,26--51
+            'nullable' ... ../src/syntax/typing.nit:1496,26--33
+            'Array' ... ../src/syntax/typing.nit:1496,35--39
+            ../src/syntax/typing.nit:1496,41--51
+              'AClosureDef' ... ../src/syntax/typing.nit:1496,41--51
+        ../src/syntax/typing.nit:1496,57--67
+          'return' ... ../src/syntax/typing.nit:1496,57--62
+          ../src/syntax/typing.nit:1496,64--67
+            'null' ... ../src/syntax/typing.nit:1496,64--67
+      ../src/syntax/typing.nit:1498,2--1500,17
+        'redef' ... ../src/syntax/typing.nit:1498,2--6
+        ../src/syntax/typing.nit:1498,12
+        'fun' ... ../src/syntax/typing.nit:1498,8--10
+        ../src/syntax/typing.nit:1498,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1498,12--23
+        ../src/syntax/typing.nit:1498,25
+          ../src/syntax/typing.nit:1498,25
+            'v' ... ../src/syntax/typing.nit:1498,25
+        ../src/syntax/typing.nit:1500,3--17
+          ../src/syntax/typing.nit:1500,3--17
+            ../src/syntax/typing.nit:1500,17
+            'do_all_typing' ... ../src/syntax/typing.nit:1500,3--15
+            ../src/syntax/typing.nit:1500,17
+              ../src/syntax/typing.nit:1500,17
+              'v' ... ../src/syntax/typing.nit:1500,17
+      ../src/syntax/typing.nit:1503,2--1521,18
+        ../src/syntax/typing.nit:1503,2--8
+          'private' ... ../src/syntax/typing.nit:1503,2--8
+        'fun' ... ../src/syntax/typing.nit:1503,10--12
+        ../src/syntax/typing.nit:1503,14--26
+          'do_all_typing' ... ../src/syntax/typing.nit:1503,14--26
+        ../src/syntax/typing.nit:1503,28--43
+          ../src/syntax/typing.nit:1503,28--43
+            'v' ... ../src/syntax/typing.nit:1503,28
+            ../src/syntax/typing.nit:1503,31--43
+              'TypingVisitor' ... ../src/syntax/typing.nit:1503,31--43
+        ../src/syntax/typing.nit:1505,3--1521,18
+          ../src/syntax/typing.nit:1505,3--41
+            'if' ... ../src/syntax/typing.nit:1505,3--4
+            ../src/syntax/typing.nit:1505,6--28
+              'not' ... ../src/syntax/typing.nit:1505,6--8
+              ../src/syntax/typing.nit:1505,10--28
+                ../src/syntax/typing.nit:1505,10
+                  ../src/syntax/typing.nit:1505,10
+                  'v' ... ../src/syntax/typing.nit:1505,10
+                'check_expr' ... ../src/syntax/typing.nit:1505,12--21
+                ../src/syntax/typing.nit:1505,23--28
+                  ../src/syntax/typing.nit:1505,23
+                  'n_expr' ... ../src/syntax/typing.nit:1505,23--28
+            ../src/syntax/typing.nit:1505,36--41
+              'return' ... ../src/syntax/typing.nit:1505,36--41
+          ../src/syntax/typing.nit:1506,3--103
+            ../src/syntax/typing.nit:1506,13
+            'do_typing' ... ../src/syntax/typing.nit:1506,3--11
+            ../src/syntax/typing.nit:1506,13
+              ../src/syntax/typing.nit:1506,13
+              'v' ... ../src/syntax/typing.nit:1506,13
+            ../src/syntax/typing.nit:1506,16--27
+              ../src/syntax/typing.nit:1506,16--21
+                ../src/syntax/typing.nit:1506,16
+                'n_expr' ... ../src/syntax/typing.nit:1506,16--21
+              'stype' ... ../src/syntax/typing.nit:1506,23--27
+            ../src/syntax/typing.nit:1506,30--52
+              ../src/syntax/typing.nit:1506,30--35
+                ../src/syntax/typing.nit:1506,30
+                'n_expr' ... ../src/syntax/typing.nit:1506,30--35
+              'is_implicit_self' ... ../src/syntax/typing.nit:1506,37--52
+            ../src/syntax/typing.nit:1506,55--68
+              ../src/syntax/typing.nit:1506,55--60
+                ../src/syntax/typing.nit:1506,55
+                'n_expr' ... ../src/syntax/typing.nit:1506,55--60
+              'is_self' ... ../src/syntax/typing.nit:1506,62--68
+            ../src/syntax/typing.nit:1506,71--74
+              ../src/syntax/typing.nit:1506,71
+              'name' ... ../src/syntax/typing.nit:1506,71--74
+            ../src/syntax/typing.nit:1506,77--89
+              ../src/syntax/typing.nit:1506,77
+              'raw_arguments' ... ../src/syntax/typing.nit:1506,77--89
+            ../src/syntax/typing.nit:1506,92--103
+              ../src/syntax/typing.nit:1506,92
+              'closure_defs' ... ../src/syntax/typing.nit:1506,92--103
+          ../src/syntax/typing.nit:1507,3--30
+            'if' ... ../src/syntax/typing.nit:1507,3--4
+            ../src/syntax/typing.nit:1507,6--18
+              ../src/syntax/typing.nit:1507,6--10
+                ../src/syntax/typing.nit:1507,6
+                '_prop' ... ../src/syntax/typing.nit:1507,6--10
+              ../src/syntax/typing.nit:1507,15--18
+                'null' ... ../src/syntax/typing.nit:1507,15--18
+            ../src/syntax/typing.nit:1507,25--30
+              'return' ... ../src/syntax/typing.nit:1507,25--30
+          ../src/syntax/typing.nit:1508,3--30
+            'var' ... ../src/syntax/typing.nit:1508,3--5
+            'prop' ... ../src/syntax/typing.nit:1508,7--10
+            '=' ... ../src/syntax/typing.nit:1508,12
+            ../src/syntax/typing.nit:1508,14--30
+              ../src/syntax/typing.nit:1508,14--18
+                ../src/syntax/typing.nit:1508,14
+                '_prop' ... ../src/syntax/typing.nit:1508,14--18
+              'as' ... ../src/syntax/typing.nit:1508,20--21
+              'not' ... ../src/syntax/typing.nit:1508,23--25
+              'null' ... ../src/syntax/typing.nit:1508,27--30
+          ../src/syntax/typing.nit:1510,3--1516,36
+            'if' ... ../src/syntax/typing.nit:1510,3--4
+            ../src/syntax/typing.nit:1510,6--24
+              ../src/syntax/typing.nit:1510,6--16
+                ../src/syntax/typing.nit:1510,6--9
+                  ../src/syntax/typing.nit:1510,6
+                  'prop' ... ../src/syntax/typing.nit:1510,6--9
+                'global' ... ../src/syntax/typing.nit:1510,11--16
+              'is_init' ... ../src/syntax/typing.nit:1510,18--24
+            ../src/syntax/typing.nit:1511,4--1516,36
+              ../src/syntax/typing.nit:1511,4--1516,36
+                'if' ... ../src/syntax/typing.nit:1511,4--5
+                ../src/syntax/typing.nit:1511,7--41
+                  'not' ... ../src/syntax/typing.nit:1511,7--9
+                  ../src/syntax/typing.nit:1511,11--41
+                    ../src/syntax/typing.nit:1511,11--33
+                      ../src/syntax/typing.nit:1511,11--26
+                        ../src/syntax/typing.nit:1511,11
+                          ../src/syntax/typing.nit:1511,11
+                          'v' ... ../src/syntax/typing.nit:1511,11
+                        'local_property' ... ../src/syntax/typing.nit:1511,13--26
+                      'global' ... ../src/syntax/typing.nit:1511,28--33
+                    'is_init' ... ../src/syntax/typing.nit:1511,35--41
+                ../src/syntax/typing.nit:1512,5--72
+                  ../src/syntax/typing.nit:1512,5--72
+                    ../src/syntax/typing.nit:1512,5
+                      ../src/syntax/typing.nit:1512,5
+                      'v' ... ../src/syntax/typing.nit:1512,5
+                    'error' ... ../src/syntax/typing.nit:1512,7--11
+                    ../src/syntax/typing.nit:1512,13--16
+                      'self' ... ../src/syntax/typing.nit:1512,13--16
+                    ../src/syntax/typing.nit:1512,19--72
+                      ../src/syntax/typing.nit:1512,19--53
+                        '"Error: try to invoke constructor {' ... ../src/syntax/typing.nit:1512,19--53
+                      ../src/syntax/typing.nit:1512,54--57
+                        ../src/syntax/typing.nit:1512,54
+                        'prop' ... ../src/syntax/typing.nit:1512,54--57
+                      ../src/syntax/typing.nit:1512,58--72
+                        '} in a method."' ... ../src/syntax/typing.nit:1512,58--72
+                ../src/syntax/typing.nit:1513,9--1516,36
+                  'if' ... ../src/syntax/typing.nit:1513,9--10
+                  ../src/syntax/typing.nit:1513,12--29
+                    'not' ... ../src/syntax/typing.nit:1513,12--14
+                    ../src/syntax/typing.nit:1513,16--29
+                      ../src/syntax/typing.nit:1513,16--21
+                        ../src/syntax/typing.nit:1513,16
+                        'n_expr' ... ../src/syntax/typing.nit:1513,16--21
+                      'is_self' ... ../src/syntax/typing.nit:1513,23--29
+                  ../src/syntax/typing.nit:1514,5--71
+                    ../src/syntax/typing.nit:1514,5--71
+                      ../src/syntax/typing.nit:1514,5
+                        ../src/syntax/typing.nit:1514,5
+                        'v' ... ../src/syntax/typing.nit:1514,5
+                      'error' ... ../src/syntax/typing.nit:1514,7--11
+                      ../src/syntax/typing.nit:1514,13--16
+                        'self' ... ../src/syntax/typing.nit:1514,13--16
+                      ../src/syntax/typing.nit:1514,19--71
+                        ../src/syntax/typing.nit:1514,19--39
+                          '"Error: constructor {' ... ../src/syntax/typing.nit:1514,19--39
+                        ../src/syntax/typing.nit:1514,40--43
+                          ../src/syntax/typing.nit:1514,40
+                          'prop' ... ../src/syntax/typing.nit:1514,40--43
+                        ../src/syntax/typing.nit:1514,44--71
+                          '} is not invoken on 'self'."' ... ../src/syntax/typing.nit:1514,44--71
+                  ../src/syntax/typing.nit:1516,5--36
+                    ../src/syntax/typing.nit:1516,5--36
+                      ../src/syntax/typing.nit:1516,30
+                      'register_super_init_call' ... ../src/syntax/typing.nit:1516,5--28
+                      ../src/syntax/typing.nit:1516,30
+                        ../src/syntax/typing.nit:1516,30
+                        'v' ... ../src/syntax/typing.nit:1516,30
+                      ../src/syntax/typing.nit:1516,33--36
+                        ../src/syntax/typing.nit:1516,33
+                        'prop' ... ../src/syntax/typing.nit:1516,33--36
+          ../src/syntax/typing.nit:1520,3--22
+            ../src/syntax/typing.nit:1520,12
+            '_stype' ... ../src/syntax/typing.nit:1520,3--8
+            '=' ... ../src/syntax/typing.nit:1520,10
+            ../src/syntax/typing.nit:1520,12--22
+              ../src/syntax/typing.nit:1520,12
+              'return_type' ... ../src/syntax/typing.nit:1520,12--22
+          ../src/syntax/typing.nit:1521,3--18
+            ../src/syntax/typing.nit:1521,15
+            '_is_typed' ... ../src/syntax/typing.nit:1521,3--11
+            '=' ... ../src/syntax/typing.nit:1521,13
+            ../src/syntax/typing.nit:1521,15--18
+              'true' ... ../src/syntax/typing.nit:1521,15--18
+    ../src/syntax/typing.nit:1525,1--1562,18
+      'redef' ... ../src/syntax/typing.nit:1525,1--5
+      ../src/syntax/typing.nit:1525,7
+      ../src/syntax/typing.nit:1525,7--11
+        'class' ... ../src/syntax/typing.nit:1525,7--11
+      'ASendReassignExpr' ... ../src/syntax/typing.nit:1525,13--29
+      ../src/syntax/typing.nit:1526,2--53
+        'redef' ... ../src/syntax/typing.nit:1526,2--6
+        ../src/syntax/typing.nit:1526,12
+        'fun' ... ../src/syntax/typing.nit:1526,8--10
+        ../src/syntax/typing.nit:1526,12--20
+          'read_prop' ... ../src/syntax/typing.nit:1526,12--20
+        ../src/syntax/typing.nit:1526,32
+        ../src/syntax/typing.nit:1526,25--53
+          'return' ... ../src/syntax/typing.nit:1526,25--30
+          ../src/syntax/typing.nit:1526,32--53
+            ../src/syntax/typing.nit:1526,32--41
+              ../src/syntax/typing.nit:1526,32
+              '_read_prop' ... ../src/syntax/typing.nit:1526,32--41
+            'as' ... ../src/syntax/typing.nit:1526,43--44
+            'not' ... ../src/syntax/typing.nit:1526,46--48
+            'null' ... ../src/syntax/typing.nit:1526,50--53
+      ../src/syntax/typing.nit:1527,2--34
+        ../src/syntax/typing.nit:1527,18
+        'var' ... ../src/syntax/typing.nit:1527,2--4
+        '_read_prop' ... ../src/syntax/typing.nit:1527,6--15
+        ../src/syntax/typing.nit:1527,18--34
+          'nullable' ... ../src/syntax/typing.nit:1527,18--25
+          'MMMethod' ... ../src/syntax/typing.nit:1527,27--34
+      ../src/syntax/typing.nit:1528,2--1562,18
+        'redef' ... ../src/syntax/typing.nit:1528,2--6
+        ../src/syntax/typing.nit:1528,12
+        'fun' ... ../src/syntax/typing.nit:1528,8--10
+        ../src/syntax/typing.nit:1528,12--24
+          'do_all_typing' ... ../src/syntax/typing.nit:1528,12--24
+        ../src/syntax/typing.nit:1528,26
+          ../src/syntax/typing.nit:1528,26
+            'v' ... ../src/syntax/typing.nit:1528,26
+        ../src/syntax/typing.nit:1530,3--1562,18
+          ../src/syntax/typing.nit:1530,3--41
+            'if' ... ../src/syntax/typing.nit:1530,3--4
+            ../src/syntax/typing.nit:1530,6--28
+              'not' ... ../src/syntax/typing.nit:1530,6--8
+              ../src/syntax/typing.nit:1530,10--28
+                ../src/syntax/typing.nit:1530,10
+                  ../src/syntax/typing.nit:1530,10
+                  'v' ... ../src/syntax/typing.nit:1530,10
+                'check_expr' ... ../src/syntax/typing.nit:1530,12--21
+                ../src/syntax/typing.nit:1530,23--28
+                  ../src/syntax/typing.nit:1530,23
+                  'n_expr' ... ../src/syntax/typing.nit:1530,23--28
+            ../src/syntax/typing.nit:1530,36--41
+              'return' ... ../src/syntax/typing.nit:1530,36--41
+          ../src/syntax/typing.nit:1531,3--30
+            'var' ... ../src/syntax/typing.nit:1531,3--5
+            'raw_args' ... ../src/syntax/typing.nit:1531,7--14
+            '=' ... ../src/syntax/typing.nit:1531,16
+            ../src/syntax/typing.nit:1531,18--30
+              ../src/syntax/typing.nit:1531,18
+              'raw_arguments' ... ../src/syntax/typing.nit:1531,18--30
+          ../src/syntax/typing.nit:1532,3--90
+            ../src/syntax/typing.nit:1532,13
+            'do_typing' ... ../src/syntax/typing.nit:1532,3--11
+            ../src/syntax/typing.nit:1532,13
+              ../src/syntax/typing.nit:1532,13
+              'v' ... ../src/syntax/typing.nit:1532,13
+            ../src/syntax/typing.nit:1532,16--27
+              ../src/syntax/typing.nit:1532,16--21
+                ../src/syntax/typing.nit:1532,16
+                'n_expr' ... ../src/syntax/typing.nit:1532,16--21
+              'stype' ... ../src/syntax/typing.nit:1532,23--27
+            ../src/syntax/typing.nit:1532,30--52
+              ../src/syntax/typing.nit:1532,30--35
+                ../src/syntax/typing.nit:1532,30
+                'n_expr' ... ../src/syntax/typing.nit:1532,30--35
+              'is_implicit_self' ... ../src/syntax/typing.nit:1532,37--52
+            ../src/syntax/typing.nit:1532,55--68
+              ../src/syntax/typing.nit:1532,55--60
+                ../src/syntax/typing.nit:1532,55
+                'n_expr' ... ../src/syntax/typing.nit:1532,55--60
+              'is_self' ... ../src/syntax/typing.nit:1532,62--68
+            ../src/syntax/typing.nit:1532,71--74
+              ../src/syntax/typing.nit:1532,71
+              'name' ... ../src/syntax/typing.nit:1532,71--74
+            ../src/syntax/typing.nit:1532,77--84
+              ../src/syntax/typing.nit:1532,77
+              'raw_args' ... ../src/syntax/typing.nit:1532,77--84
+            ../src/syntax/typing.nit:1532,87--90
+              'null' ... ../src/syntax/typing.nit:1532,87--90
+          ../src/syntax/typing.nit:1533,3--18
+            'var' ... ../src/syntax/typing.nit:1533,3--5
+            'prop' ... ../src/syntax/typing.nit:1533,7--10
+            '=' ... ../src/syntax/typing.nit:1533,12
+            ../src/syntax/typing.nit:1533,14--18
+              ../src/syntax/typing.nit:1533,14
+              '_prop' ... ../src/syntax/typing.nit:1533,14--18
+          ../src/syntax/typing.nit:1534,3--29
+            'if' ... ../src/syntax/typing.nit:1534,3--4
+            ../src/syntax/typing.nit:1534,6--17
+              ../src/syntax/typing.nit:1534,6--9
+                ../src/syntax/typing.nit:1534,6
+                'prop' ... ../src/syntax/typing.nit:1534,6--9
+              ../src/syntax/typing.nit:1534,14--17
+                'null' ... ../src/syntax/typing.nit:1534,14--17
+            ../src/syntax/typing.nit:1534,24--29
+              'return' ... ../src/syntax/typing.nit:1534,24--29
+          ../src/syntax/typing.nit:1535,3--1539,71
+            'if' ... ../src/syntax/typing.nit:1535,3--4
+            ../src/syntax/typing.nit:1535,6--24
+              ../src/syntax/typing.nit:1535,6--16
+                ../src/syntax/typing.nit:1535,6--9
+                  ../src/syntax/typing.nit:1535,6
+                  'prop' ... ../src/syntax/typing.nit:1535,6--9
+                'global' ... ../src/syntax/typing.nit:1535,11--16
+              'is_init' ... ../src/syntax/typing.nit:1535,18--24
+            ../src/syntax/typing.nit:1536,4--1539,71
+              ../src/syntax/typing.nit:1536,4--1539,71
+                'if' ... ../src/syntax/typing.nit:1536,4--5
+                ../src/syntax/typing.nit:1536,7--41
+                  'not' ... ../src/syntax/typing.nit:1536,7--9
+                  ../src/syntax/typing.nit:1536,11--41
+                    ../src/syntax/typing.nit:1536,11--33
+                      ../src/syntax/typing.nit:1536,11--26
+                        ../src/syntax/typing.nit:1536,11
+                          ../src/syntax/typing.nit:1536,11
+                          'v' ... ../src/syntax/typing.nit:1536,11
+                        'local_property' ... ../src/syntax/typing.nit:1536,13--26
+                      'global' ... ../src/syntax/typing.nit:1536,28--33
+                    'is_init' ... ../src/syntax/typing.nit:1536,35--41
+                ../src/syntax/typing.nit:1537,5--72
+                  ../src/syntax/typing.nit:1537,5--72
+                    ../src/syntax/typing.nit:1537,5
+                      ../src/syntax/typing.nit:1537,5
+                      'v' ... ../src/syntax/typing.nit:1537,5
+                    'error' ... ../src/syntax/typing.nit:1537,7--11
+                    ../src/syntax/typing.nit:1537,13--16
+                      'self' ... ../src/syntax/typing.nit:1537,13--16
+                    ../src/syntax/typing.nit:1537,19--72
+                      ../src/syntax/typing.nit:1537,19--53
+                        '"Error: try to invoke constructor {' ... ../src/syntax/typing.nit:1537,19--53
+                      ../src/syntax/typing.nit:1537,54--57
+                        ../src/syntax/typing.nit:1537,54
+                        'prop' ... ../src/syntax/typing.nit:1537,54--57
+                      ../src/syntax/typing.nit:1537,58--72
+                        '} in a method."' ... ../src/syntax/typing.nit:1537,58--72
+                ../src/syntax/typing.nit:1538,9--1539,71
+                  'if' ... ../src/syntax/typing.nit:1538,9--10
+                  ../src/syntax/typing.nit:1538,12--29
+                    'not' ... ../src/syntax/typing.nit:1538,12--14
+                    ../src/syntax/typing.nit:1538,16--29
+                      ../src/syntax/typing.nit:1538,16--21
+                        ../src/syntax/typing.nit:1538,16
+                        'n_expr' ... ../src/syntax/typing.nit:1538,16--21
+                      'is_self' ... ../src/syntax/typing.nit:1538,23--29
+                  ../src/syntax/typing.nit:1539,5--71
+                    ../src/syntax/typing.nit:1539,5--71
+                      ../src/syntax/typing.nit:1539,5
+                        ../src/syntax/typing.nit:1539,5
+                        'v' ... ../src/syntax/typing.nit:1539,5
+                      'error' ... ../src/syntax/typing.nit:1539,7--11
+                      ../src/syntax/typing.nit:1539,13--16
+                        'self' ... ../src/syntax/typing.nit:1539,13--16
+                      ../src/syntax/typing.nit:1539,19--71
+                        ../src/syntax/typing.nit:1539,19--39
+                          '"Error: constructor {' ... ../src/syntax/typing.nit:1539,19--39
+                        ../src/syntax/typing.nit:1539,40--43
+                          ../src/syntax/typing.nit:1539,40
+                          'prop' ... ../src/syntax/typing.nit:1539,40--43
+                        ../src/syntax/typing.nit:1539,44--71
+                          '} is not invoken on 'self'."' ... ../src/syntax/typing.nit:1539,44--71
+          ../src/syntax/typing.nit:1542,3--66
+            'var' ... ../src/syntax/typing.nit:1542,3--5
+            't' ... ../src/syntax/typing.nit:1542,7
+            '=' ... ../src/syntax/typing.nit:1542,9
+            ../src/syntax/typing.nit:1542,11--66
+              ../src/syntax/typing.nit:1542,11--54
+                ../src/syntax/typing.nit:1542,11--41
+                  ../src/syntax/typing.nit:1542,11--14
+                    ../src/syntax/typing.nit:1542,11
+                    'prop' ... ../src/syntax/typing.nit:1542,11--14
+                  'signature_for' ... ../src/syntax/typing.nit:1542,16--28
+                  ../src/syntax/typing.nit:1542,30--41
+                    ../src/syntax/typing.nit:1542,30--35
+                      ../src/syntax/typing.nit:1542,30
+                      'n_expr' ... ../src/syntax/typing.nit:1542,30--35
+                    'stype' ... ../src/syntax/typing.nit:1542,37--41
+                'return_type' ... ../src/syntax/typing.nit:1542,44--54
+              'as' ... ../src/syntax/typing.nit:1542,56--57
+              'not' ... ../src/syntax/typing.nit:1542,59--61
+              'null' ... ../src/syntax/typing.nit:1542,63--66
+          ../src/syntax/typing.nit:1543,3--47
+            'if' ... ../src/syntax/typing.nit:1543,3--4
+            ../src/syntax/typing.nit:1543,6--23
+              'not' ... ../src/syntax/typing.nit:1543,6--8
+              ../src/syntax/typing.nit:1543,10--23
+                ../src/syntax/typing.nit:1543,10--15
+                  ../src/syntax/typing.nit:1543,10
+                  'n_expr' ... ../src/syntax/typing.nit:1543,10--15
+                'is_self' ... ../src/syntax/typing.nit:1543,17--23
+            ../src/syntax/typing.nit:1543,30--47
+              ../src/syntax/typing.nit:1543,34
+              't' ... ../src/syntax/typing.nit:1543,30
+              '=' ... ../src/syntax/typing.nit:1543,32
+              ../src/syntax/typing.nit:1543,34--47
+                ../src/syntax/typing.nit:1543,34
+                  ../src/syntax/typing.nit:1543,34
+                  't' ... ../src/syntax/typing.nit:1543,34
+                'not_for_self' ... ../src/syntax/typing.nit:1543,36--47
+          ../src/syntax/typing.nit:1545,3--32
+            'var' ... ../src/syntax/typing.nit:1545,3--5
+            't2' ... ../src/syntax/typing.nit:1545,7--8
+            '=' ... ../src/syntax/typing.nit:1545,10
+            ../src/syntax/typing.nit:1545,12--32
+              ../src/syntax/typing.nit:1545,29
+              'do_rvalue_typing' ... ../src/syntax/typing.nit:1545,12--27
+              ../src/syntax/typing.nit:1545,29
+                ../src/syntax/typing.nit:1545,29
+                'v' ... ../src/syntax/typing.nit:1545,29
+              ../src/syntax/typing.nit:1545,32
+                ../src/syntax/typing.nit:1545,32
+                't' ... ../src/syntax/typing.nit:1545,32
+          ../src/syntax/typing.nit:1546,3--27
+            'if' ... ../src/syntax/typing.nit:1546,3--4
+            ../src/syntax/typing.nit:1546,6--15
+              ../src/syntax/typing.nit:1546,6--7
+                ../src/syntax/typing.nit:1546,6
+                't2' ... ../src/syntax/typing.nit:1546,6--7
+              ../src/syntax/typing.nit:1546,12--15
+                'null' ... ../src/syntax/typing.nit:1546,12--15
+            ../src/syntax/typing.nit:1546,22--27
+              'return' ... ../src/syntax/typing.nit:1546,22--27
+          ../src/syntax/typing.nit:1547,3--41
+            ../src/syntax/typing.nit:1547,3
+              ../src/syntax/typing.nit:1547,3
+              'v' ... ../src/syntax/typing.nit:1547,3
+            'check_conform' ... ../src/syntax/typing.nit:1547,5--17
+            ../src/syntax/typing.nit:1547,19--22
+              'self' ... ../src/syntax/typing.nit:1547,19--22
+            ../src/syntax/typing.nit:1547,25--26
+              ../src/syntax/typing.nit:1547,25
+              't2' ... ../src/syntax/typing.nit:1547,25--26
+            ../src/syntax/typing.nit:1547,29--41
+              ../src/syntax/typing.nit:1547,29--35
+                ../src/syntax/typing.nit:1547,29
+                'n_value' ... ../src/syntax/typing.nit:1547,29--35
+              'stype' ... ../src/syntax/typing.nit:1547,37--41
+          ../src/syntax/typing.nit:1549,3--19
+            ../src/syntax/typing.nit:1549,16
+            '_read_prop' ... ../src/syntax/typing.nit:1549,3--12
+            '=' ... ../src/syntax/typing.nit:1549,14
+            ../src/syntax/typing.nit:1549,16--19
+              ../src/syntax/typing.nit:1549,16
+              'prop' ... ../src/syntax/typing.nit:1549,16--19
+          ../src/syntax/typing.nit:1550,3--26
+            ../src/syntax/typing.nit:1550,14
+            'raw_args' ... ../src/syntax/typing.nit:1550,3--10
+            '=' ... ../src/syntax/typing.nit:1550,12
+            ../src/syntax/typing.nit:1550,14--26
+              ../src/syntax/typing.nit:1550,14--21
+                ../src/syntax/typing.nit:1550,14
+                'raw_args' ... ../src/syntax/typing.nit:1550,14--21
+              'to_a' ... ../src/syntax/typing.nit:1550,23--26
+          ../src/syntax/typing.nit:1551,3--22
+            ../src/syntax/typing.nit:1551,3--10
+              ../src/syntax/typing.nit:1551,3
+              'raw_args' ... ../src/syntax/typing.nit:1551,3--10
+            'add' ... ../src/syntax/typing.nit:1551,12--14
+            ../src/syntax/typing.nit:1551,16--22
+              ../src/syntax/typing.nit:1551,16
+              'n_value' ... ../src/syntax/typing.nit:1551,16--22
+          ../src/syntax/typing.nit:1553,3--105
+            ../src/syntax/typing.nit:1553,13
+            'do_typing' ... ../src/syntax/typing.nit:1553,3--11
+            ../src/syntax/typing.nit:1553,13
+              ../src/syntax/typing.nit:1553,13
+              'v' ... ../src/syntax/typing.nit:1553,13
+            ../src/syntax/typing.nit:1553,16--27
+              ../src/syntax/typing.nit:1553,16--21
+                ../src/syntax/typing.nit:1553,16
+                'n_expr' ... ../src/syntax/typing.nit:1553,16--21
+              'stype' ... ../src/syntax/typing.nit:1553,23--27
+            ../src/syntax/typing.nit:1553,30--52
+              ../src/syntax/typing.nit:1553,30--35
+                ../src/syntax/typing.nit:1553,30
+                'n_expr' ... ../src/syntax/typing.nit:1553,30--35
+              'is_implicit_self' ... ../src/syntax/typing.nit:1553,37--52
+            ../src/syntax/typing.nit:1553,55--68
+              ../src/syntax/typing.nit:1553,55--60
+                ../src/syntax/typing.nit:1553,55
+                'n_expr' ... ../src/syntax/typing.nit:1553,55--60
+              'is_self' ... ../src/syntax/typing.nit:1553,62--68
+            ../src/syntax/typing.nit:1553,71--89
+              ../src/syntax/typing.nit:1553,71--79
+                ../src/syntax/typing.nit:1553,71--72
+                  '"{' ... ../src/syntax/typing.nit:1553,71--72
+                ../src/syntax/typing.nit:1553,73--76
+                  ../src/syntax/typing.nit:1553,73
+                  'name' ... ../src/syntax/typing.nit:1553,73--76
+                ../src/syntax/typing.nit:1553,77--79
+                  '}="' ... ../src/syntax/typing.nit:1553,77--79
+              'to_symbol' ... ../src/syntax/typing.nit:1553,81--89
+            ../src/syntax/typing.nit:1553,92--99
+              ../src/syntax/typing.nit:1553,92
+              'raw_args' ... ../src/syntax/typing.nit:1553,92--99
+            ../src/syntax/typing.nit:1553,102--105
+              'null' ... ../src/syntax/typing.nit:1553,102--105
+          ../src/syntax/typing.nit:1554,3--1558,71
+            'if' ... ../src/syntax/typing.nit:1554,3--4
+            ../src/syntax/typing.nit:1554,6--24
+              ../src/syntax/typing.nit:1554,6--16
+                ../src/syntax/typing.nit:1554,6--9
+                  ../src/syntax/typing.nit:1554,6
+                  'prop' ... ../src/syntax/typing.nit:1554,6--9
+                'global' ... ../src/syntax/typing.nit:1554,11--16
+              'is_init' ... ../src/syntax/typing.nit:1554,18--24
+            ../src/syntax/typing.nit:1555,4--1558,71
+              ../src/syntax/typing.nit:1555,4--1558,71
+                'if' ... ../src/syntax/typing.nit:1555,4--5
+                ../src/syntax/typing.nit:1555,7--41
+                  'not' ... ../src/syntax/typing.nit:1555,7--9
+                  ../src/syntax/typing.nit:1555,11--41
+                    ../src/syntax/typing.nit:1555,11--33
+                      ../src/syntax/typing.nit:1555,11--26
+                        ../src/syntax/typing.nit:1555,11
+                          ../src/syntax/typing.nit:1555,11
+                          'v' ... ../src/syntax/typing.nit:1555,11
+                        'local_property' ... ../src/syntax/typing.nit:1555,13--26
+                      'global' ... ../src/syntax/typing.nit:1555,28--33
+                    'is_init' ... ../src/syntax/typing.nit:1555,35--41
+                ../src/syntax/typing.nit:1556,5--72
+                  ../src/syntax/typing.nit:1556,5--72
+                    ../src/syntax/typing.nit:1556,5
+                      ../src/syntax/typing.nit:1556,5
+                      'v' ... ../src/syntax/typing.nit:1556,5
+                    'error' ... ../src/syntax/typing.nit:1556,7--11
+                    ../src/syntax/typing.nit:1556,13--16
+                      'self' ... ../src/syntax/typing.nit:1556,13--16
+                    ../src/syntax/typing.nit:1556,19--72
+                      ../src/syntax/typing.nit:1556,19--53
+                        '"Error: try to invoke constructor {' ... ../src/syntax/typing.nit:1556,19--53
+                      ../src/syntax/typing.nit:1556,54--57
+                        ../src/syntax/typing.nit:1556,54
+                        'prop' ... ../src/syntax/typing.nit:1556,54--57
+                      ../src/syntax/typing.nit:1556,58--72
+                        '} in a method."' ... ../src/syntax/typing.nit:1556,58--72
+                ../src/syntax/typing.nit:1557,9--1558,71
+                  'if' ... ../src/syntax/typing.nit:1557,9--10
+                  ../src/syntax/typing.nit:1557,12--29
+                    'not' ... ../src/syntax/typing.nit:1557,12--14
+                    ../src/syntax/typing.nit:1557,16--29
+                      ../src/syntax/typing.nit:1557,16--21
+                        ../src/syntax/typing.nit:1557,16
+                        'n_expr' ... ../src/syntax/typing.nit:1557,16--21
+                      'is_self' ... ../src/syntax/typing.nit:1557,23--29
+                  ../src/syntax/typing.nit:1558,5--71
+                    ../src/syntax/typing.nit:1558,5--71
+                      ../src/syntax/typing.nit:1558,5
+                        ../src/syntax/typing.nit:1558,5
+                        'v' ... ../src/syntax/typing.nit:1558,5
+                      'error' ... ../src/syntax/typing.nit:1558,7--11
+                      ../src/syntax/typing.nit:1558,13--16
+                        'self' ... ../src/syntax/typing.nit:1558,13--16
+                      ../src/syntax/typing.nit:1558,19--71
+                        ../src/syntax/typing.nit:1558,19--39
+                          '"Error: constructor {' ... ../src/syntax/typing.nit:1558,19--39
+                        ../src/syntax/typing.nit:1558,40--43
+                          ../src/syntax/typing.nit:1558,40
+                          'prop' ... ../src/syntax/typing.nit:1558,40--43
+                        ../src/syntax/typing.nit:1558,44--71
+                          '} is not invoken on 'self'."' ... ../src/syntax/typing.nit:1558,44--71
+          ../src/syntax/typing.nit:1562,3--18
+            ../src/syntax/typing.nit:1562,15
+            '_is_typed' ... ../src/syntax/typing.nit:1562,3--11
+            '=' ... ../src/syntax/typing.nit:1562,13
+            ../src/syntax/typing.nit:1562,15--18
+              'true' ... ../src/syntax/typing.nit:1562,15--18
+    ../src/syntax/typing.nit:1566,1--1567,51
+      'redef' ... ../src/syntax/typing.nit:1566,1--5
+      ../src/syntax/typing.nit:1566,7
+      ../src/syntax/typing.nit:1566,7--11
+        'class' ... ../src/syntax/typing.nit:1566,7--11
+      'ABinopExpr' ... ../src/syntax/typing.nit:1566,13--22
+      ../src/syntax/typing.nit:1567,2--51
+        'redef' ... ../src/syntax/typing.nit:1567,2--6
+        ../src/syntax/typing.nit:1567,12
+        'fun' ... ../src/syntax/typing.nit:1567,8--10
+        ../src/syntax/typing.nit:1567,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1567,12--32
+        ../src/syntax/typing.nit:1567,45
+        ../src/syntax/typing.nit:1567,37--51
+          'return' ... ../src/syntax/typing.nit:1567,37--42
+          ../src/syntax/typing.nit:1567,45--51
+            ../src/syntax/typing.nit:1567,45--51
+              ../src/syntax/typing.nit:1567,45
+              'n_expr2' ... ../src/syntax/typing.nit:1567,45--51
+    ../src/syntax/typing.nit:1569,1--1596,70
+      'redef' ... ../src/syntax/typing.nit:1569,1--5
+      ../src/syntax/typing.nit:1569,7
+      ../src/syntax/typing.nit:1569,7--11
+        'class' ... ../src/syntax/typing.nit:1569,7--11
+      'AEqExpr' ... ../src/syntax/typing.nit:1569,13--19
+      ../src/syntax/typing.nit:1570,2--45
+        'redef' ... ../src/syntax/typing.nit:1570,2--6
+        ../src/syntax/typing.nit:1570,12
+        'fun' ... ../src/syntax/typing.nit:1570,8--10
+        ../src/syntax/typing.nit:1570,12--15
+          'name' ... ../src/syntax/typing.nit:1570,12--15
+        ../src/syntax/typing.nit:1570,32
+        ../src/syntax/typing.nit:1570,20--45
+          'return' ... ../src/syntax/typing.nit:1570,20--25
+          ../src/syntax/typing.nit:1570,27--45
+            'once' ... ../src/syntax/typing.nit:1570,27--30
+            ../src/syntax/typing.nit:1570,32--45
+              ../src/syntax/typing.nit:1570,32--35
+                '"=="' ... ../src/syntax/typing.nit:1570,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1570,37--45
+      ../src/syntax/typing.nit:1571,2--1587,23
+        'redef' ... ../src/syntax/typing.nit:1571,2--6
+        ../src/syntax/typing.nit:1571,12
+        'fun' ... ../src/syntax/typing.nit:1571,8--10
+        ../src/syntax/typing.nit:1571,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1571,12--23
+        ../src/syntax/typing.nit:1571,25
+          ../src/syntax/typing.nit:1571,25
+            'v' ... ../src/syntax/typing.nit:1571,25
+        ../src/syntax/typing.nit:1573,3--1587,23
+          ../src/syntax/typing.nit:1573,3--7
+            'super' ... ../src/syntax/typing.nit:1573,3--7
+          ../src/syntax/typing.nit:1574,3--60
+            'if' ... ../src/syntax/typing.nit:1574,3--4
+            ../src/syntax/typing.nit:1574,6--48
+              ../src/syntax/typing.nit:1574,6--24
+                'not' ... ../src/syntax/typing.nit:1574,6--8
+                ../src/syntax/typing.nit:1574,10--24
+                  ../src/syntax/typing.nit:1574,10--15
+                    ../src/syntax/typing.nit:1574,10
+                    'n_expr' ... ../src/syntax/typing.nit:1574,10--15
+                  'is_typed' ... ../src/syntax/typing.nit:1574,17--24
+              ../src/syntax/typing.nit:1574,29--48
+                'not' ... ../src/syntax/typing.nit:1574,29--31
+                ../src/syntax/typing.nit:1574,33--48
+                  ../src/syntax/typing.nit:1574,33--39
+                    ../src/syntax/typing.nit:1574,33
+                    'n_expr2' ... ../src/syntax/typing.nit:1574,33--39
+                  'is_typed' ... ../src/syntax/typing.nit:1574,41--48
+            ../src/syntax/typing.nit:1574,55--60
+              'return' ... ../src/syntax/typing.nit:1574,55--60
+          ../src/syntax/typing.nit:1575,3--1577,80
+            'if' ... ../src/syntax/typing.nit:1575,3--4
+            ../src/syntax/typing.nit:1575,6--1576,63
+              ../src/syntax/typing.nit:1575,6--1576,30
+                ../src/syntax/typing.nit:1575,6--66
+                  ../src/syntax/typing.nit:1575,6--32
+                    ../src/syntax/typing.nit:1575,6--17
+                      ../src/syntax/typing.nit:1575,6--11
+                        ../src/syntax/typing.nit:1575,6
+                        'n_expr' ... ../src/syntax/typing.nit:1575,6--11
+                      'stype' ... ../src/syntax/typing.nit:1575,13--17
+                    ../src/syntax/typing.nit:1575,23--32
+                      'MMTypeNone' ... ../src/syntax/typing.nit:1575,23--32
+                  ../src/syntax/typing.nit:1575,38--66
+                    'not' ... ../src/syntax/typing.nit:1575,38--40
+                    ../src/syntax/typing.nit:1575,42--66
+                      ../src/syntax/typing.nit:1575,42--54
+                        ../src/syntax/typing.nit:1575,42--48
+                          ../src/syntax/typing.nit:1575,42
+                          'n_expr2' ... ../src/syntax/typing.nit:1575,42--48
+                        'stype' ... ../src/syntax/typing.nit:1575,50--54
+                      'is_nullable' ... ../src/syntax/typing.nit:1575,56--66
+                ../src/syntax/typing.nit:1576,3--30
+                  ../src/syntax/typing.nit:1576,3--15
+                    ../src/syntax/typing.nit:1576,3--9
+                      ../src/syntax/typing.nit:1576,3
+                      'n_expr2' ... ../src/syntax/typing.nit:1576,3--9
+                    'stype' ... ../src/syntax/typing.nit:1576,11--15
+                  ../src/syntax/typing.nit:1576,21--30
+                    'MMTypeNone' ... ../src/syntax/typing.nit:1576,21--30
+              ../src/syntax/typing.nit:1576,36--63
+                'not' ... ../src/syntax/typing.nit:1576,36--38
+                ../src/syntax/typing.nit:1576,40--63
+                  ../src/syntax/typing.nit:1576,40--51
+                    ../src/syntax/typing.nit:1576,40--45
+                      ../src/syntax/typing.nit:1576,40
+                      'n_expr' ... ../src/syntax/typing.nit:1576,40--45
+                    'stype' ... ../src/syntax/typing.nit:1576,47--51
+                  'is_nullable' ... ../src/syntax/typing.nit:1576,53--63
+            ../src/syntax/typing.nit:1577,4--80
+              ../src/syntax/typing.nit:1577,4--80
+                ../src/syntax/typing.nit:1577,4
+                  ../src/syntax/typing.nit:1577,4
+                  'v' ... ../src/syntax/typing.nit:1577,4
+                'warning' ... ../src/syntax/typing.nit:1577,6--12
+                ../src/syntax/typing.nit:1577,14--17
+                  'self' ... ../src/syntax/typing.nit:1577,14--17
+                ../src/syntax/typing.nit:1577,20--80
+                  '"Warning: comparaison between null and a non nullable value."' ... ../src/syntax/typing.nit:1577,20--80
+          ../src/syntax/typing.nit:1580,3--1587,23
+            'if' ... ../src/syntax/typing.nit:1580,3--4
+            ../src/syntax/typing.nit:1580,6--32
+              ../src/syntax/typing.nit:1580,6--17
+                ../src/syntax/typing.nit:1580,6--11
+                  ../src/syntax/typing.nit:1580,6
+                  'n_expr' ... ../src/syntax/typing.nit:1580,6--11
+                'stype' ... ../src/syntax/typing.nit:1580,13--17
+              ../src/syntax/typing.nit:1580,23--32
+                'MMTypeNone' ... ../src/syntax/typing.nit:1580,23--32
+            ../src/syntax/typing.nit:1581,4--1584,25
+              ../src/syntax/typing.nit:1581,4--1584,25
+                'if' ... ../src/syntax/typing.nit:1581,4--5
+                ../src/syntax/typing.nit:1581,7--34
+                  ../src/syntax/typing.nit:1581,7--19
+                    ../src/syntax/typing.nit:1581,7--13
+                      ../src/syntax/typing.nit:1581,7
+                      'n_expr2' ... ../src/syntax/typing.nit:1581,7--13
+                    'stype' ... ../src/syntax/typing.nit:1581,15--19
+                  ../src/syntax/typing.nit:1581,25--34
+                    'MMTypeNone' ... ../src/syntax/typing.nit:1581,25--34
+                ../src/syntax/typing.nit:1582,5--65
+                  ../src/syntax/typing.nit:1582,5--65
+                    ../src/syntax/typing.nit:1582,5
+                      ../src/syntax/typing.nit:1582,5
+                      'v' ... ../src/syntax/typing.nit:1582,5
+                    'warning' ... ../src/syntax/typing.nit:1582,7--13
+                    ../src/syntax/typing.nit:1582,15--18
+                      'self' ... ../src/syntax/typing.nit:1582,15--18
+                    ../src/syntax/typing.nit:1582,21--65
+                      '"Warning: comparaison between 2 null values."' ... ../src/syntax/typing.nit:1582,21--65
+                ../src/syntax/typing.nit:1584,5--25
+                  ../src/syntax/typing.nit:1584,5--25
+                    ../src/syntax/typing.nit:1584,16
+                    'try_to_isa' ... ../src/syntax/typing.nit:1584,5--14
+                    ../src/syntax/typing.nit:1584,16
+                      ../src/syntax/typing.nit:1584,16
+                      'v' ... ../src/syntax/typing.nit:1584,16
+                    ../src/syntax/typing.nit:1584,19--25
+                      ../src/syntax/typing.nit:1584,19
+                      'n_expr2' ... ../src/syntax/typing.nit:1584,19--25
+            ../src/syntax/typing.nit:1586,8--1587,23
+              'if' ... ../src/syntax/typing.nit:1586,8--9
+              ../src/syntax/typing.nit:1586,11--38
+                ../src/syntax/typing.nit:1586,11--23
+                  ../src/syntax/typing.nit:1586,11--17
+                    ../src/syntax/typing.nit:1586,11
+                    'n_expr2' ... ../src/syntax/typing.nit:1586,11--17
+                  'stype' ... ../src/syntax/typing.nit:1586,19--23
+                ../src/syntax/typing.nit:1586,29--38
+                  'MMTypeNone' ... ../src/syntax/typing.nit:1586,29--38
+              ../src/syntax/typing.nit:1587,4--23
+                ../src/syntax/typing.nit:1587,4--23
+                  ../src/syntax/typing.nit:1587,15
+                  'try_to_isa' ... ../src/syntax/typing.nit:1587,4--13
+                  ../src/syntax/typing.nit:1587,15
+                    ../src/syntax/typing.nit:1587,15
+                    'v' ... ../src/syntax/typing.nit:1587,15
+                  ../src/syntax/typing.nit:1587,18--23
+                    ../src/syntax/typing.nit:1587,18
+                    'n_expr' ... ../src/syntax/typing.nit:1587,18--23
+      ../src/syntax/typing.nit:1591,2--1596,70
+        ../src/syntax/typing.nit:1591,2--8
+          'private' ... ../src/syntax/typing.nit:1591,2--8
+        'fun' ... ../src/syntax/typing.nit:1591,10--12
+        ../src/syntax/typing.nit:1591,14--23
+          'try_to_isa' ... ../src/syntax/typing.nit:1591,14--23
+        ../src/syntax/typing.nit:1591,25--50
+          ../src/syntax/typing.nit:1591,25--40
+            'v' ... ../src/syntax/typing.nit:1591,25
+            ../src/syntax/typing.nit:1591,28--40
+              'TypingVisitor' ... ../src/syntax/typing.nit:1591,28--40
+          ../src/syntax/typing.nit:1591,43--50
+            'n' ... ../src/syntax/typing.nit:1591,43
+            ../src/syntax/typing.nit:1591,46--50
+              'AExpr' ... ../src/syntax/typing.nit:1591,46--50
+        ../src/syntax/typing.nit:1593,3--1596,70
+          ../src/syntax/typing.nit:1593,3--31
+            'var' ... ../src/syntax/typing.nit:1593,3--5
+            'variable' ... ../src/syntax/typing.nit:1593,7--14
+            '=' ... ../src/syntax/typing.nit:1593,16
+            ../src/syntax/typing.nit:1593,18--31
+              ../src/syntax/typing.nit:1593,18
+                ../src/syntax/typing.nit:1593,18
+                'n' ... ../src/syntax/typing.nit:1593,18
+              'its_variable' ... ../src/syntax/typing.nit:1593,20--31
+          ../src/syntax/typing.nit:1594,3--1596,70
+            'if' ... ../src/syntax/typing.nit:1594,3--4
+            ../src/syntax/typing.nit:1594,6--52
+              ../src/syntax/typing.nit:1594,6--21
+                ../src/syntax/typing.nit:1594,6--13
+                  ../src/syntax/typing.nit:1594,6
+                  'variable' ... ../src/syntax/typing.nit:1594,6--13
+                ../src/syntax/typing.nit:1594,18--21
+                  'null' ... ../src/syntax/typing.nit:1594,18--21
+              ../src/syntax/typing.nit:1594,27--52
+                ../src/syntax/typing.nit:1594,27--33
+                  ../src/syntax/typing.nit:1594,27
+                    ../src/syntax/typing.nit:1594,27
+                    'n' ... ../src/syntax/typing.nit:1594,27
+                  'stype' ... ../src/syntax/typing.nit:1594,29--33
+                ../src/syntax/typing.nit:1594,39--52
+                  'MMNullableType' ... ../src/syntax/typing.nit:1594,39--52
+            ../src/syntax/typing.nit:1595,4--1596,70
+              ../src/syntax/typing.nit:1595,4--78
+                ../src/syntax/typing.nit:1595,25
+                '_if_false_flow_ctx' ... ../src/syntax/typing.nit:1595,4--21
+                '=' ... ../src/syntax/typing.nit:1595,23
+                ../src/syntax/typing.nit:1595,25--78
+                  ../src/syntax/typing.nit:1595,25--34
+                    ../src/syntax/typing.nit:1595,25
+                      ../src/syntax/typing.nit:1595,25
+                      'v' ... ../src/syntax/typing.nit:1595,25
+                    'flow_ctx' ... ../src/syntax/typing.nit:1595,27--34
+                  'sub_with' ... ../src/syntax/typing.nit:1595,36--43
+                  ../src/syntax/typing.nit:1595,45--48
+                    'self' ... ../src/syntax/typing.nit:1595,45--48
+                  ../src/syntax/typing.nit:1595,51--58
+                    ../src/syntax/typing.nit:1595,51
+                    'variable' ... ../src/syntax/typing.nit:1595,51--58
+                  ../src/syntax/typing.nit:1595,61--78
+                    ../src/syntax/typing.nit:1595,61--67
+                      ../src/syntax/typing.nit:1595,61
+                        ../src/syntax/typing.nit:1595,61
+                        'n' ... ../src/syntax/typing.nit:1595,61
+                      'stype' ... ../src/syntax/typing.nit:1595,63--67
+                    'as_notnull' ... ../src/syntax/typing.nit:1595,69--78
+              ../src/syntax/typing.nit:1596,4--70
+                ../src/syntax/typing.nit:1596,24
+                '_if_true_flow_ctx' ... ../src/syntax/typing.nit:1596,4--20
+                '=' ... ../src/syntax/typing.nit:1596,22
+                ../src/syntax/typing.nit:1596,24--70
+                  ../src/syntax/typing.nit:1596,24--33
+                    ../src/syntax/typing.nit:1596,24
+                      ../src/syntax/typing.nit:1596,24
+                      'v' ... ../src/syntax/typing.nit:1596,24
+                    'flow_ctx' ... ../src/syntax/typing.nit:1596,26--33
+                  'sub_with' ... ../src/syntax/typing.nit:1596,35--42
+                  ../src/syntax/typing.nit:1596,44--47
+                    'self' ... ../src/syntax/typing.nit:1596,44--47
+                  ../src/syntax/typing.nit:1596,50--57
+                    ../src/syntax/typing.nit:1596,50
+                    'variable' ... ../src/syntax/typing.nit:1596,50--57
+                  ../src/syntax/typing.nit:1596,60--70
+                    ../src/syntax/typing.nit:1596,60
+                      ../src/syntax/typing.nit:1596,60
+                      'v' ... ../src/syntax/typing.nit:1596,60
+                    'type_none' ... ../src/syntax/typing.nit:1596,62--70
+    ../src/syntax/typing.nit:1600,1--1627,71
+      'redef' ... ../src/syntax/typing.nit:1600,1--5
+      ../src/syntax/typing.nit:1600,7
+      ../src/syntax/typing.nit:1600,7--11
+        'class' ... ../src/syntax/typing.nit:1600,7--11
+      'ANeExpr' ... ../src/syntax/typing.nit:1600,13--19
+      ../src/syntax/typing.nit:1601,2--45
+        'redef' ... ../src/syntax/typing.nit:1601,2--6
+        ../src/syntax/typing.nit:1601,12
+        'fun' ... ../src/syntax/typing.nit:1601,8--10
+        ../src/syntax/typing.nit:1601,12--15
+          'name' ... ../src/syntax/typing.nit:1601,12--15
+        ../src/syntax/typing.nit:1601,32
+        ../src/syntax/typing.nit:1601,20--45
+          'return' ... ../src/syntax/typing.nit:1601,20--25
+          ../src/syntax/typing.nit:1601,27--45
+            'once' ... ../src/syntax/typing.nit:1601,27--30
+            ../src/syntax/typing.nit:1601,32--45
+              ../src/syntax/typing.nit:1601,32--35
+                '"!="' ... ../src/syntax/typing.nit:1601,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1601,37--45
+      ../src/syntax/typing.nit:1602,2--1618,23
+        'redef' ... ../src/syntax/typing.nit:1602,2--6
+        ../src/syntax/typing.nit:1602,12
+        'fun' ... ../src/syntax/typing.nit:1602,8--10
+        ../src/syntax/typing.nit:1602,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1602,12--23
+        ../src/syntax/typing.nit:1602,25
+          ../src/syntax/typing.nit:1602,25
+            'v' ... ../src/syntax/typing.nit:1602,25
+        ../src/syntax/typing.nit:1604,3--1618,23
+          ../src/syntax/typing.nit:1604,3--7
+            'super' ... ../src/syntax/typing.nit:1604,3--7
+          ../src/syntax/typing.nit:1605,3--60
+            'if' ... ../src/syntax/typing.nit:1605,3--4
+            ../src/syntax/typing.nit:1605,6--48
+              ../src/syntax/typing.nit:1605,6--24
+                'not' ... ../src/syntax/typing.nit:1605,6--8
+                ../src/syntax/typing.nit:1605,10--24
+                  ../src/syntax/typing.nit:1605,10--15
+                    ../src/syntax/typing.nit:1605,10
+                    'n_expr' ... ../src/syntax/typing.nit:1605,10--15
+                  'is_typed' ... ../src/syntax/typing.nit:1605,17--24
+              ../src/syntax/typing.nit:1605,29--48
+                'not' ... ../src/syntax/typing.nit:1605,29--31
+                ../src/syntax/typing.nit:1605,33--48
+                  ../src/syntax/typing.nit:1605,33--39
+                    ../src/syntax/typing.nit:1605,33
+                    'n_expr2' ... ../src/syntax/typing.nit:1605,33--39
+                  'is_typed' ... ../src/syntax/typing.nit:1605,41--48
+            ../src/syntax/typing.nit:1605,55--60
+              'return' ... ../src/syntax/typing.nit:1605,55--60
+          ../src/syntax/typing.nit:1606,3--1608,80
+            'if' ... ../src/syntax/typing.nit:1606,3--4
+            ../src/syntax/typing.nit:1606,6--1607,63
+              ../src/syntax/typing.nit:1606,6--1607,30
+                ../src/syntax/typing.nit:1606,6--66
+                  ../src/syntax/typing.nit:1606,6--32
+                    ../src/syntax/typing.nit:1606,6--17
+                      ../src/syntax/typing.nit:1606,6--11
+                        ../src/syntax/typing.nit:1606,6
+                        'n_expr' ... ../src/syntax/typing.nit:1606,6--11
+                      'stype' ... ../src/syntax/typing.nit:1606,13--17
+                    ../src/syntax/typing.nit:1606,23--32
+                      'MMTypeNone' ... ../src/syntax/typing.nit:1606,23--32
+                  ../src/syntax/typing.nit:1606,38--66
+                    'not' ... ../src/syntax/typing.nit:1606,38--40
+                    ../src/syntax/typing.nit:1606,42--66
+                      ../src/syntax/typing.nit:1606,42--54
+                        ../src/syntax/typing.nit:1606,42--48
+                          ../src/syntax/typing.nit:1606,42
+                          'n_expr2' ... ../src/syntax/typing.nit:1606,42--48
+                        'stype' ... ../src/syntax/typing.nit:1606,50--54
+                      'is_nullable' ... ../src/syntax/typing.nit:1606,56--66
+                ../src/syntax/typing.nit:1607,3--30
+                  ../src/syntax/typing.nit:1607,3--15
+                    ../src/syntax/typing.nit:1607,3--9
+                      ../src/syntax/typing.nit:1607,3
+                      'n_expr2' ... ../src/syntax/typing.nit:1607,3--9
+                    'stype' ... ../src/syntax/typing.nit:1607,11--15
+                  ../src/syntax/typing.nit:1607,21--30
+                    'MMTypeNone' ... ../src/syntax/typing.nit:1607,21--30
+              ../src/syntax/typing.nit:1607,36--63
+                'not' ... ../src/syntax/typing.nit:1607,36--38
+                ../src/syntax/typing.nit:1607,40--63
+                  ../src/syntax/typing.nit:1607,40--51
+                    ../src/syntax/typing.nit:1607,40--45
+                      ../src/syntax/typing.nit:1607,40
+                      'n_expr' ... ../src/syntax/typing.nit:1607,40--45
+                    'stype' ... ../src/syntax/typing.nit:1607,47--51
+                  'is_nullable' ... ../src/syntax/typing.nit:1607,53--63
+            ../src/syntax/typing.nit:1608,4--80
+              ../src/syntax/typing.nit:1608,4--80
+                ../src/syntax/typing.nit:1608,4
+                  ../src/syntax/typing.nit:1608,4
+                  'v' ... ../src/syntax/typing.nit:1608,4
+                'warning' ... ../src/syntax/typing.nit:1608,6--12
+                ../src/syntax/typing.nit:1608,14--17
+                  'self' ... ../src/syntax/typing.nit:1608,14--17
+                ../src/syntax/typing.nit:1608,20--80
+                  '"Warning: comparaison between null and a non nullable value."' ... ../src/syntax/typing.nit:1608,20--80
+          ../src/syntax/typing.nit:1611,3--1618,23
+            'if' ... ../src/syntax/typing.nit:1611,3--4
+            ../src/syntax/typing.nit:1611,6--32
+              ../src/syntax/typing.nit:1611,6--17
+                ../src/syntax/typing.nit:1611,6--11
+                  ../src/syntax/typing.nit:1611,6
+                  'n_expr' ... ../src/syntax/typing.nit:1611,6--11
+                'stype' ... ../src/syntax/typing.nit:1611,13--17
+              ../src/syntax/typing.nit:1611,23--32
+                'MMTypeNone' ... ../src/syntax/typing.nit:1611,23--32
+            ../src/syntax/typing.nit:1612,4--1615,25
+              ../src/syntax/typing.nit:1612,4--1615,25
+                'if' ... ../src/syntax/typing.nit:1612,4--5
+                ../src/syntax/typing.nit:1612,7--34
+                  ../src/syntax/typing.nit:1612,7--19
+                    ../src/syntax/typing.nit:1612,7--13
+                      ../src/syntax/typing.nit:1612,7
+                      'n_expr2' ... ../src/syntax/typing.nit:1612,7--13
+                    'stype' ... ../src/syntax/typing.nit:1612,15--19
+                  ../src/syntax/typing.nit:1612,25--34
+                    'MMTypeNone' ... ../src/syntax/typing.nit:1612,25--34
+                ../src/syntax/typing.nit:1613,5--65
+                  ../src/syntax/typing.nit:1613,5--65
+                    ../src/syntax/typing.nit:1613,5
+                      ../src/syntax/typing.nit:1613,5
+                      'v' ... ../src/syntax/typing.nit:1613,5
+                    'warning' ... ../src/syntax/typing.nit:1613,7--13
+                    ../src/syntax/typing.nit:1613,15--18
+                      'self' ... ../src/syntax/typing.nit:1613,15--18
+                    ../src/syntax/typing.nit:1613,21--65
+                      '"Warning: comparaison between 2 null values."' ... ../src/syntax/typing.nit:1613,21--65
+                ../src/syntax/typing.nit:1615,5--25
+                  ../src/syntax/typing.nit:1615,5--25
+                    ../src/syntax/typing.nit:1615,16
+                    'try_to_isa' ... ../src/syntax/typing.nit:1615,5--14
+                    ../src/syntax/typing.nit:1615,16
+                      ../src/syntax/typing.nit:1615,16
+                      'v' ... ../src/syntax/typing.nit:1615,16
+                    ../src/syntax/typing.nit:1615,19--25
+                      ../src/syntax/typing.nit:1615,19
+                      'n_expr2' ... ../src/syntax/typing.nit:1615,19--25
+            ../src/syntax/typing.nit:1617,8--1618,23
+              'if' ... ../src/syntax/typing.nit:1617,8--9
+              ../src/syntax/typing.nit:1617,11--38
+                ../src/syntax/typing.nit:1617,11--23
+                  ../src/syntax/typing.nit:1617,11--17
+                    ../src/syntax/typing.nit:1617,11
+                    'n_expr2' ... ../src/syntax/typing.nit:1617,11--17
+                  'stype' ... ../src/syntax/typing.nit:1617,19--23
+                ../src/syntax/typing.nit:1617,29--38
+                  'MMTypeNone' ... ../src/syntax/typing.nit:1617,29--38
+              ../src/syntax/typing.nit:1618,4--23
+                ../src/syntax/typing.nit:1618,4--23
+                  ../src/syntax/typing.nit:1618,15
+                  'try_to_isa' ... ../src/syntax/typing.nit:1618,4--13
+                  ../src/syntax/typing.nit:1618,15
+                    ../src/syntax/typing.nit:1618,15
+                    'v' ... ../src/syntax/typing.nit:1618,15
+                  ../src/syntax/typing.nit:1618,18--23
+                    ../src/syntax/typing.nit:1618,18
+                    'n_expr' ... ../src/syntax/typing.nit:1618,18--23
+      ../src/syntax/typing.nit:1622,2--1627,71
+        ../src/syntax/typing.nit:1622,2--8
+          'private' ... ../src/syntax/typing.nit:1622,2--8
+        'fun' ... ../src/syntax/typing.nit:1622,10--12
+        ../src/syntax/typing.nit:1622,14--23
+          'try_to_isa' ... ../src/syntax/typing.nit:1622,14--23
+        ../src/syntax/typing.nit:1622,25--50
+          ../src/syntax/typing.nit:1622,25--40
+            'v' ... ../src/syntax/typing.nit:1622,25
+            ../src/syntax/typing.nit:1622,28--40
+              'TypingVisitor' ... ../src/syntax/typing.nit:1622,28--40
+          ../src/syntax/typing.nit:1622,43--50
+            'n' ... ../src/syntax/typing.nit:1622,43
+            ../src/syntax/typing.nit:1622,46--50
+              'AExpr' ... ../src/syntax/typing.nit:1622,46--50
+        ../src/syntax/typing.nit:1624,3--1627,71
+          ../src/syntax/typing.nit:1624,3--31
+            'var' ... ../src/syntax/typing.nit:1624,3--5
+            'variable' ... ../src/syntax/typing.nit:1624,7--14
+            '=' ... ../src/syntax/typing.nit:1624,16
+            ../src/syntax/typing.nit:1624,18--31
+              ../src/syntax/typing.nit:1624,18
+                ../src/syntax/typing.nit:1624,18
+                'n' ... ../src/syntax/typing.nit:1624,18
+              'its_variable' ... ../src/syntax/typing.nit:1624,20--31
+          ../src/syntax/typing.nit:1625,3--1627,71
+            'if' ... ../src/syntax/typing.nit:1625,3--4
+            ../src/syntax/typing.nit:1625,6--52
+              ../src/syntax/typing.nit:1625,6--21
+                ../src/syntax/typing.nit:1625,6--13
+                  ../src/syntax/typing.nit:1625,6
+                  'variable' ... ../src/syntax/typing.nit:1625,6--13
+                ../src/syntax/typing.nit:1625,18--21
+                  'null' ... ../src/syntax/typing.nit:1625,18--21
+              ../src/syntax/typing.nit:1625,27--52
+                ../src/syntax/typing.nit:1625,27--33
+                  ../src/syntax/typing.nit:1625,27
+                    ../src/syntax/typing.nit:1625,27
+                    'n' ... ../src/syntax/typing.nit:1625,27
+                  'stype' ... ../src/syntax/typing.nit:1625,29--33
+                ../src/syntax/typing.nit:1625,39--52
+                  'MMNullableType' ... ../src/syntax/typing.nit:1625,39--52
+            ../src/syntax/typing.nit:1626,4--1627,71
+              ../src/syntax/typing.nit:1626,4--77
+                ../src/syntax/typing.nit:1626,24
+                '_if_true_flow_ctx' ... ../src/syntax/typing.nit:1626,4--20
+                '=' ... ../src/syntax/typing.nit:1626,22
+                ../src/syntax/typing.nit:1626,24--77
+                  ../src/syntax/typing.nit:1626,24--33
+                    ../src/syntax/typing.nit:1626,24
+                      ../src/syntax/typing.nit:1626,24
+                      'v' ... ../src/syntax/typing.nit:1626,24
+                    'flow_ctx' ... ../src/syntax/typing.nit:1626,26--33
+                  'sub_with' ... ../src/syntax/typing.nit:1626,35--42
+                  ../src/syntax/typing.nit:1626,44--47
+                    'self' ... ../src/syntax/typing.nit:1626,44--47
+                  ../src/syntax/typing.nit:1626,50--57
+                    ../src/syntax/typing.nit:1626,50
+                    'variable' ... ../src/syntax/typing.nit:1626,50--57
+                  ../src/syntax/typing.nit:1626,60--77
+                    ../src/syntax/typing.nit:1626,60--66
+                      ../src/syntax/typing.nit:1626,60
+                        ../src/syntax/typing.nit:1626,60
+                        'n' ... ../src/syntax/typing.nit:1626,60
+                      'stype' ... ../src/syntax/typing.nit:1626,62--66
+                    'as_notnull' ... ../src/syntax/typing.nit:1626,68--77
+              ../src/syntax/typing.nit:1627,4--71
+                ../src/syntax/typing.nit:1627,25
+                '_if_false_flow_ctx' ... ../src/syntax/typing.nit:1627,4--21
+                '=' ... ../src/syntax/typing.nit:1627,23
+                ../src/syntax/typing.nit:1627,25--71
+                  ../src/syntax/typing.nit:1627,25--34
+                    ../src/syntax/typing.nit:1627,25
+                      ../src/syntax/typing.nit:1627,25
+                      'v' ... ../src/syntax/typing.nit:1627,25
+                    'flow_ctx' ... ../src/syntax/typing.nit:1627,27--34
+                  'sub_with' ... ../src/syntax/typing.nit:1627,36--43
+                  ../src/syntax/typing.nit:1627,45--48
+                    'self' ... ../src/syntax/typing.nit:1627,45--48
+                  ../src/syntax/typing.nit:1627,51--58
+                    ../src/syntax/typing.nit:1627,51
+                    'variable' ... ../src/syntax/typing.nit:1627,51--58
+                  ../src/syntax/typing.nit:1627,61--71
+                    ../src/syntax/typing.nit:1627,61
+                      ../src/syntax/typing.nit:1627,61
+                      'v' ... ../src/syntax/typing.nit:1627,61
+                    'type_none' ... ../src/syntax/typing.nit:1627,63--71
+    ../src/syntax/typing.nit:1631,1--1632,44
+      'redef' ... ../src/syntax/typing.nit:1631,1--5
+      ../src/syntax/typing.nit:1631,7
+      ../src/syntax/typing.nit:1631,7--11
+        'class' ... ../src/syntax/typing.nit:1631,7--11
+      'ALtExpr' ... ../src/syntax/typing.nit:1631,13--19
+      ../src/syntax/typing.nit:1632,2--44
+        'redef' ... ../src/syntax/typing.nit:1632,2--6
+        ../src/syntax/typing.nit:1632,12
+        'fun' ... ../src/syntax/typing.nit:1632,8--10
+        ../src/syntax/typing.nit:1632,12--15
+          'name' ... ../src/syntax/typing.nit:1632,12--15
+        ../src/syntax/typing.nit:1632,32
+        ../src/syntax/typing.nit:1632,20--44
+          'return' ... ../src/syntax/typing.nit:1632,20--25
+          ../src/syntax/typing.nit:1632,27--44
+            'once' ... ../src/syntax/typing.nit:1632,27--30
+            ../src/syntax/typing.nit:1632,32--44
+              ../src/syntax/typing.nit:1632,32--34
+                '"<"' ... ../src/syntax/typing.nit:1632,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1632,36--44
+    ../src/syntax/typing.nit:1634,1--1635,45
+      'redef' ... ../src/syntax/typing.nit:1634,1--5
+      ../src/syntax/typing.nit:1634,7
+      ../src/syntax/typing.nit:1634,7--11
+        'class' ... ../src/syntax/typing.nit:1634,7--11
+      'ALeExpr' ... ../src/syntax/typing.nit:1634,13--19
+      ../src/syntax/typing.nit:1635,2--45
+        'redef' ... ../src/syntax/typing.nit:1635,2--6
+        ../src/syntax/typing.nit:1635,12
+        'fun' ... ../src/syntax/typing.nit:1635,8--10
+        ../src/syntax/typing.nit:1635,12--15
+          'name' ... ../src/syntax/typing.nit:1635,12--15
+        ../src/syntax/typing.nit:1635,32
+        ../src/syntax/typing.nit:1635,20--45
+          'return' ... ../src/syntax/typing.nit:1635,20--25
+          ../src/syntax/typing.nit:1635,27--45
+            'once' ... ../src/syntax/typing.nit:1635,27--30
+            ../src/syntax/typing.nit:1635,32--45
+              ../src/syntax/typing.nit:1635,32--35
+                '"<="' ... ../src/syntax/typing.nit:1635,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1635,37--45
+    ../src/syntax/typing.nit:1637,1--1638,45
+      'redef' ... ../src/syntax/typing.nit:1637,1--5
+      ../src/syntax/typing.nit:1637,7
+      ../src/syntax/typing.nit:1637,7--11
+        'class' ... ../src/syntax/typing.nit:1637,7--11
+      'ALlExpr' ... ../src/syntax/typing.nit:1637,13--19
+      ../src/syntax/typing.nit:1638,2--45
+        'redef' ... ../src/syntax/typing.nit:1638,2--6
+        ../src/syntax/typing.nit:1638,12
+        'fun' ... ../src/syntax/typing.nit:1638,8--10
+        ../src/syntax/typing.nit:1638,12--15
+          'name' ... ../src/syntax/typing.nit:1638,12--15
+        ../src/syntax/typing.nit:1638,32
+        ../src/syntax/typing.nit:1638,20--45
+          'return' ... ../src/syntax/typing.nit:1638,20--25
+          ../src/syntax/typing.nit:1638,27--45
+            'once' ... ../src/syntax/typing.nit:1638,27--30
+            ../src/syntax/typing.nit:1638,32--45
+              ../src/syntax/typing.nit:1638,32--35
+                '"<<"' ... ../src/syntax/typing.nit:1638,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1638,37--45
+    ../src/syntax/typing.nit:1640,1--1641,44
+      'redef' ... ../src/syntax/typing.nit:1640,1--5
+      ../src/syntax/typing.nit:1640,7
+      ../src/syntax/typing.nit:1640,7--11
+        'class' ... ../src/syntax/typing.nit:1640,7--11
+      'AGtExpr' ... ../src/syntax/typing.nit:1640,13--19
+      ../src/syntax/typing.nit:1641,2--44
+        'redef' ... ../src/syntax/typing.nit:1641,2--6
+        ../src/syntax/typing.nit:1641,12
+        'fun' ... ../src/syntax/typing.nit:1641,8--10
+        ../src/syntax/typing.nit:1641,12--15
+          'name' ... ../src/syntax/typing.nit:1641,12--15
+        ../src/syntax/typing.nit:1641,32
+        ../src/syntax/typing.nit:1641,20--44
+          'return' ... ../src/syntax/typing.nit:1641,20--25
+          ../src/syntax/typing.nit:1641,27--44
+            'once' ... ../src/syntax/typing.nit:1641,27--30
+            ../src/syntax/typing.nit:1641,32--44
+              ../src/syntax/typing.nit:1641,32--34
+                '">"' ... ../src/syntax/typing.nit:1641,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1641,36--44
+    ../src/syntax/typing.nit:1643,1--1644,45
+      'redef' ... ../src/syntax/typing.nit:1643,1--5
+      ../src/syntax/typing.nit:1643,7
+      ../src/syntax/typing.nit:1643,7--11
+        'class' ... ../src/syntax/typing.nit:1643,7--11
+      'AGeExpr' ... ../src/syntax/typing.nit:1643,13--19
+      ../src/syntax/typing.nit:1644,2--45
+        'redef' ... ../src/syntax/typing.nit:1644,2--6
+        ../src/syntax/typing.nit:1644,12
+        'fun' ... ../src/syntax/typing.nit:1644,8--10
+        ../src/syntax/typing.nit:1644,12--15
+          'name' ... ../src/syntax/typing.nit:1644,12--15
+        ../src/syntax/typing.nit:1644,32
+        ../src/syntax/typing.nit:1644,20--45
+          'return' ... ../src/syntax/typing.nit:1644,20--25
+          ../src/syntax/typing.nit:1644,27--45
+            'once' ... ../src/syntax/typing.nit:1644,27--30
+            ../src/syntax/typing.nit:1644,32--45
+              ../src/syntax/typing.nit:1644,32--35
+                '">="' ... ../src/syntax/typing.nit:1644,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1644,37--45
+    ../src/syntax/typing.nit:1646,1--1647,45
+      'redef' ... ../src/syntax/typing.nit:1646,1--5
+      ../src/syntax/typing.nit:1646,7
+      ../src/syntax/typing.nit:1646,7--11
+        'class' ... ../src/syntax/typing.nit:1646,7--11
+      'AGgExpr' ... ../src/syntax/typing.nit:1646,13--19
+      ../src/syntax/typing.nit:1647,2--45
+        'redef' ... ../src/syntax/typing.nit:1647,2--6
+        ../src/syntax/typing.nit:1647,12
+        'fun' ... ../src/syntax/typing.nit:1647,8--10
+        ../src/syntax/typing.nit:1647,12--15
+          'name' ... ../src/syntax/typing.nit:1647,12--15
+        ../src/syntax/typing.nit:1647,32
+        ../src/syntax/typing.nit:1647,20--45
+          'return' ... ../src/syntax/typing.nit:1647,20--25
+          ../src/syntax/typing.nit:1647,27--45
+            'once' ... ../src/syntax/typing.nit:1647,27--30
+            ../src/syntax/typing.nit:1647,32--45
+              ../src/syntax/typing.nit:1647,32--35
+                '">>"' ... ../src/syntax/typing.nit:1647,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1647,37--45
+    ../src/syntax/typing.nit:1649,1--1650,44
+      'redef' ... ../src/syntax/typing.nit:1649,1--5
+      ../src/syntax/typing.nit:1649,7
+      ../src/syntax/typing.nit:1649,7--11
+        'class' ... ../src/syntax/typing.nit:1649,7--11
+      'APlusExpr' ... ../src/syntax/typing.nit:1649,13--21
+      ../src/syntax/typing.nit:1650,2--44
+        'redef' ... ../src/syntax/typing.nit:1650,2--6
+        ../src/syntax/typing.nit:1650,12
+        'fun' ... ../src/syntax/typing.nit:1650,8--10
+        ../src/syntax/typing.nit:1650,12--15
+          'name' ... ../src/syntax/typing.nit:1650,12--15
+        ../src/syntax/typing.nit:1650,32
+        ../src/syntax/typing.nit:1650,20--44
+          'return' ... ../src/syntax/typing.nit:1650,20--25
+          ../src/syntax/typing.nit:1650,27--44
+            'once' ... ../src/syntax/typing.nit:1650,27--30
+            ../src/syntax/typing.nit:1650,32--44
+              ../src/syntax/typing.nit:1650,32--34
+                '"+"' ... ../src/syntax/typing.nit:1650,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1650,36--44
+    ../src/syntax/typing.nit:1652,1--1653,44
+      'redef' ... ../src/syntax/typing.nit:1652,1--5
+      ../src/syntax/typing.nit:1652,7
+      ../src/syntax/typing.nit:1652,7--11
+        'class' ... ../src/syntax/typing.nit:1652,7--11
+      'AMinusExpr' ... ../src/syntax/typing.nit:1652,13--22
+      ../src/syntax/typing.nit:1653,2--44
+        'redef' ... ../src/syntax/typing.nit:1653,2--6
+        ../src/syntax/typing.nit:1653,12
+        'fun' ... ../src/syntax/typing.nit:1653,8--10
+        ../src/syntax/typing.nit:1653,12--15
+          'name' ... ../src/syntax/typing.nit:1653,12--15
+        ../src/syntax/typing.nit:1653,32
+        ../src/syntax/typing.nit:1653,20--44
+          'return' ... ../src/syntax/typing.nit:1653,20--25
+          ../src/syntax/typing.nit:1653,27--44
+            'once' ... ../src/syntax/typing.nit:1653,27--30
+            ../src/syntax/typing.nit:1653,32--44
+              ../src/syntax/typing.nit:1653,32--34
+                '"-"' ... ../src/syntax/typing.nit:1653,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1653,36--44
+    ../src/syntax/typing.nit:1655,1--1656,46
+      'redef' ... ../src/syntax/typing.nit:1655,1--5
+      ../src/syntax/typing.nit:1655,7
+      ../src/syntax/typing.nit:1655,7--11
+        'class' ... ../src/syntax/typing.nit:1655,7--11
+      'AStarshipExpr' ... ../src/syntax/typing.nit:1655,13--25
+      ../src/syntax/typing.nit:1656,2--46
+        'redef' ... ../src/syntax/typing.nit:1656,2--6
+        ../src/syntax/typing.nit:1656,12
+        'fun' ... ../src/syntax/typing.nit:1656,8--10
+        ../src/syntax/typing.nit:1656,12--15
+          'name' ... ../src/syntax/typing.nit:1656,12--15
+        ../src/syntax/typing.nit:1656,32
+        ../src/syntax/typing.nit:1656,20--46
+          'return' ... ../src/syntax/typing.nit:1656,20--25
+          ../src/syntax/typing.nit:1656,27--46
+            'once' ... ../src/syntax/typing.nit:1656,27--30
+            ../src/syntax/typing.nit:1656,32--46
+              ../src/syntax/typing.nit:1656,32--36
+                '"<=>"' ... ../src/syntax/typing.nit:1656,32--36
+              'to_symbol' ... ../src/syntax/typing.nit:1656,38--46
+    ../src/syntax/typing.nit:1658,1--1659,44
+      'redef' ... ../src/syntax/typing.nit:1658,1--5
+      ../src/syntax/typing.nit:1658,7
+      ../src/syntax/typing.nit:1658,7--11
+        'class' ... ../src/syntax/typing.nit:1658,7--11
+      'AStarExpr' ... ../src/syntax/typing.nit:1658,13--21
+      ../src/syntax/typing.nit:1659,2--44
+        'redef' ... ../src/syntax/typing.nit:1659,2--6
+        ../src/syntax/typing.nit:1659,12
+        'fun' ... ../src/syntax/typing.nit:1659,8--10
+        ../src/syntax/typing.nit:1659,12--15
+          'name' ... ../src/syntax/typing.nit:1659,12--15
+        ../src/syntax/typing.nit:1659,32
+        ../src/syntax/typing.nit:1659,20--44
+          'return' ... ../src/syntax/typing.nit:1659,20--25
+          ../src/syntax/typing.nit:1659,27--44
+            'once' ... ../src/syntax/typing.nit:1659,27--30
+            ../src/syntax/typing.nit:1659,32--44
+              ../src/syntax/typing.nit:1659,32--34
+                '"*"' ... ../src/syntax/typing.nit:1659,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1659,36--44
+    ../src/syntax/typing.nit:1661,1--1662,44
+      'redef' ... ../src/syntax/typing.nit:1661,1--5
+      ../src/syntax/typing.nit:1661,7
+      ../src/syntax/typing.nit:1661,7--11
+        'class' ... ../src/syntax/typing.nit:1661,7--11
+      'ASlashExpr' ... ../src/syntax/typing.nit:1661,13--22
+      ../src/syntax/typing.nit:1662,2--44
+        'redef' ... ../src/syntax/typing.nit:1662,2--6
+        ../src/syntax/typing.nit:1662,12
+        'fun' ... ../src/syntax/typing.nit:1662,8--10
+        ../src/syntax/typing.nit:1662,12--15
+          'name' ... ../src/syntax/typing.nit:1662,12--15
+        ../src/syntax/typing.nit:1662,32
+        ../src/syntax/typing.nit:1662,20--44
+          'return' ... ../src/syntax/typing.nit:1662,20--25
+          ../src/syntax/typing.nit:1662,27--44
+            'once' ... ../src/syntax/typing.nit:1662,27--30
+            ../src/syntax/typing.nit:1662,32--44
+              ../src/syntax/typing.nit:1662,32--34
+                '"/"' ... ../src/syntax/typing.nit:1662,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1662,36--44
+    ../src/syntax/typing.nit:1664,1--1665,44
+      'redef' ... ../src/syntax/typing.nit:1664,1--5
+      ../src/syntax/typing.nit:1664,7
+      ../src/syntax/typing.nit:1664,7--11
+        'class' ... ../src/syntax/typing.nit:1664,7--11
+      'APercentExpr' ... ../src/syntax/typing.nit:1664,13--24
+      ../src/syntax/typing.nit:1665,2--44
+        'redef' ... ../src/syntax/typing.nit:1665,2--6
+        ../src/syntax/typing.nit:1665,12
+        'fun' ... ../src/syntax/typing.nit:1665,8--10
+        ../src/syntax/typing.nit:1665,12--15
+          'name' ... ../src/syntax/typing.nit:1665,12--15
+        ../src/syntax/typing.nit:1665,32
+        ../src/syntax/typing.nit:1665,20--44
+          'return' ... ../src/syntax/typing.nit:1665,20--25
+          ../src/syntax/typing.nit:1665,27--44
+            'once' ... ../src/syntax/typing.nit:1665,27--30
+            ../src/syntax/typing.nit:1665,32--44
+              ../src/syntax/typing.nit:1665,32--34
+                '"%"' ... ../src/syntax/typing.nit:1665,32--34
+              'to_symbol' ... ../src/syntax/typing.nit:1665,36--44
+    ../src/syntax/typing.nit:1668,1--1670,47
+      'redef' ... ../src/syntax/typing.nit:1668,1--5
+      ../src/syntax/typing.nit:1668,7
+      ../src/syntax/typing.nit:1668,7--11
+        'class' ... ../src/syntax/typing.nit:1668,7--11
+      'AUminusExpr' ... ../src/syntax/typing.nit:1668,13--23
+      ../src/syntax/typing.nit:1669,2--50
+        'redef' ... ../src/syntax/typing.nit:1669,2--6
+        ../src/syntax/typing.nit:1669,12
+        'fun' ... ../src/syntax/typing.nit:1669,8--10
+        ../src/syntax/typing.nit:1669,12--15
+          'name' ... ../src/syntax/typing.nit:1669,12--15
+        ../src/syntax/typing.nit:1669,32
+        ../src/syntax/typing.nit:1669,20--50
+          'return' ... ../src/syntax/typing.nit:1669,20--25
+          ../src/syntax/typing.nit:1669,27--50
+            'once' ... ../src/syntax/typing.nit:1669,27--30
+            ../src/syntax/typing.nit:1669,32--50
+              ../src/syntax/typing.nit:1669,32--40
+                '"unary -"' ... ../src/syntax/typing.nit:1669,32--40
+              'to_symbol' ... ../src/syntax/typing.nit:1669,42--50
+      ../src/syntax/typing.nit:1670,2--47
+        'redef' ... ../src/syntax/typing.nit:1670,2--6
+        ../src/syntax/typing.nit:1670,12
+        'fun' ... ../src/syntax/typing.nit:1670,8--10
+        ../src/syntax/typing.nit:1670,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1670,12--32
+        ../src/syntax/typing.nit:1670,44
+        ../src/syntax/typing.nit:1670,37--47
+          'return' ... ../src/syntax/typing.nit:1670,37--42
+          ../src/syntax/typing.nit:1670,44--47
+            'null' ... ../src/syntax/typing.nit:1670,44--47
+    ../src/syntax/typing.nit:1673,1--1711,54
+      'redef' ... ../src/syntax/typing.nit:1673,1--5
+      ../src/syntax/typing.nit:1673,7
+      ../src/syntax/typing.nit:1673,7--11
+        'class' ... ../src/syntax/typing.nit:1673,7--11
+      'ACallFormExpr' ... ../src/syntax/typing.nit:1673,13--25
+      ../src/syntax/typing.nit:1674,2--1698,7
+        'redef' ... ../src/syntax/typing.nit:1674,2--6
+        ../src/syntax/typing.nit:1674,12
+        'fun' ... ../src/syntax/typing.nit:1674,8--10
+        ../src/syntax/typing.nit:1674,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1674,12--23
+        ../src/syntax/typing.nit:1674,25
+          ../src/syntax/typing.nit:1674,25
+            'v' ... ../src/syntax/typing.nit:1674,25
+        ../src/syntax/typing.nit:1676,3--1698,7
+          ../src/syntax/typing.nit:1676,3--1694,10
+            'if' ... ../src/syntax/typing.nit:1676,3--4
+            ../src/syntax/typing.nit:1676,6--28
+              ../src/syntax/typing.nit:1676,6--11
+                ../src/syntax/typing.nit:1676,6
+                'n_expr' ... ../src/syntax/typing.nit:1676,6--11
+              'is_implicit_self' ... ../src/syntax/typing.nit:1676,13--28
+            ../src/syntax/typing.nit:1677,4--1694,10
+              ../src/syntax/typing.nit:1677,4--28
+                'var' ... ../src/syntax/typing.nit:1677,4--6
+                'name' ... ../src/syntax/typing.nit:1677,8--11
+                '=' ... ../src/syntax/typing.nit:1677,13
+                ../src/syntax/typing.nit:1677,15--28
+                  ../src/syntax/typing.nit:1677,15--18
+                    ../src/syntax/typing.nit:1677,15
+                    'n_id' ... ../src/syntax/typing.nit:1677,15--18
+                  'to_symbol' ... ../src/syntax/typing.nit:1677,20--28
+              ../src/syntax/typing.nit:1678,4--34
+                'var' ... ../src/syntax/typing.nit:1678,4--6
+                'variable' ... ../src/syntax/typing.nit:1678,8--15
+                '=' ... ../src/syntax/typing.nit:1678,17
+                ../src/syntax/typing.nit:1678,19--34
+                  ../src/syntax/typing.nit:1678,19--29
+                    ../src/syntax/typing.nit:1678,19
+                      ../src/syntax/typing.nit:1678,19
+                      'v' ... ../src/syntax/typing.nit:1678,19
+                    'scope_ctx' ... ../src/syntax/typing.nit:1678,21--29
+                  ../src/syntax/typing.nit:1678,31--34
+                    ../src/syntax/typing.nit:1678,31
+                    'name' ... ../src/syntax/typing.nit:1678,31--34
+              ../src/syntax/typing.nit:1679,4--1694,10
+                'if' ... ../src/syntax/typing.nit:1679,4--5
+                ../src/syntax/typing.nit:1679,7--22
+                  ../src/syntax/typing.nit:1679,7--14
+                    ../src/syntax/typing.nit:1679,7
+                    'variable' ... ../src/syntax/typing.nit:1679,7--14
+                  ../src/syntax/typing.nit:1679,19--22
+                    'null' ... ../src/syntax/typing.nit:1679,19--22
+                ../src/syntax/typing.nit:1680,5--1694,10
+                  ../src/syntax/typing.nit:1680,5--16
+                    'var' ... ../src/syntax/typing.nit:1680,5--7
+                    'n' ... ../src/syntax/typing.nit:1680,9
+                    ../src/syntax/typing.nit:1680,12--16
+                      'AExpr' ... ../src/syntax/typing.nit:1680,12--16
+                  ../src/syntax/typing.nit:1681,5--1690,27
+                    'if' ... ../src/syntax/typing.nit:1681,5--6
+                    ../src/syntax/typing.nit:1681,8--35
+                      ../src/syntax/typing.nit:1681,8--15
+                        ../src/syntax/typing.nit:1681,8
+                        'variable' ... ../src/syntax/typing.nit:1681,8--15
+                      ../src/syntax/typing.nit:1681,21--35
+                        'ClosureVariable' ... ../src/syntax/typing.nit:1681,21--35
+                    ../src/syntax/typing.nit:1682,6--1683,27
+                      ../src/syntax/typing.nit:1682,6--80
+                        ../src/syntax/typing.nit:1682,14
+                        'n' ... ../src/syntax/typing.nit:1682,6
+                        '=' ... ../src/syntax/typing.nit:1682,8
+                        ../src/syntax/typing.nit:1682,10--80
+                          'new' ... ../src/syntax/typing.nit:1682,10--12
+                          ../src/syntax/typing.nit:1682,14--29
+                            'AClosureCallExpr' ... ../src/syntax/typing.nit:1682,14--29
+                          'init_aclosurecallexpr' ... ../src/syntax/typing.nit:1682,31--51
+                          ../src/syntax/typing.nit:1682,53--56
+                            ../src/syntax/typing.nit:1682,53
+                            'n_id' ... ../src/syntax/typing.nit:1682,53--56
+                          ../src/syntax/typing.nit:1682,59--64
+                            ../src/syntax/typing.nit:1682,59
+                            'n_args' ... ../src/syntax/typing.nit:1682,59--64
+                          ../src/syntax/typing.nit:1682,67--80
+                            ../src/syntax/typing.nit:1682,67
+                            'n_closure_defs' ... ../src/syntax/typing.nit:1682,67--80
+                      ../src/syntax/typing.nit:1683,6--27
+                        ../src/syntax/typing.nit:1683,6
+                          ../src/syntax/typing.nit:1683,6
+                          'n' ... ../src/syntax/typing.nit:1683,6
+                        '_variable' ... ../src/syntax/typing.nit:1683,8--16
+                        '=' ... ../src/syntax/typing.nit:1683,18
+                        ../src/syntax/typing.nit:1683,20--27
+                          ../src/syntax/typing.nit:1683,20
+                          'variable' ... ../src/syntax/typing.nit:1683,20--27
+                    ../src/syntax/typing.nit:1685,6--1690,27
+                      ../src/syntax/typing.nit:1685,6--1687,12
+                        'if' ... ../src/syntax/typing.nit:1685,6--7
+                        ../src/syntax/typing.nit:1685,9--27
+                          'not' ... ../src/syntax/typing.nit:1685,9--11
+                          ../src/syntax/typing.nit:1685,13--27
+                            ../src/syntax/typing.nit:1685,13--18
+                              ../src/syntax/typing.nit:1685,13
+                              'n_args' ... ../src/syntax/typing.nit:1685,13--18
+                            'is_empty' ... ../src/syntax/typing.nit:1685,20--27
+                        ../src/syntax/typing.nit:1686,7--1687,12
+                          ../src/syntax/typing.nit:1686,7--64
+                            ../src/syntax/typing.nit:1686,7
+                              ../src/syntax/typing.nit:1686,7
+                              'v' ... ../src/syntax/typing.nit:1686,7
+                            'error' ... ../src/syntax/typing.nit:1686,9--13
+                            ../src/syntax/typing.nit:1686,15--18
+                              'self' ... ../src/syntax/typing.nit:1686,15--18
+                            ../src/syntax/typing.nit:1686,21--64
+                              ../src/syntax/typing.nit:1686,21--29
+                                '"Error: {' ... ../src/syntax/typing.nit:1686,21--29
+                              ../src/syntax/typing.nit:1686,30--33
+                                ../src/syntax/typing.nit:1686,30
+                                'name' ... ../src/syntax/typing.nit:1686,30--33
+                              ../src/syntax/typing.nit:1686,34--64
+                                '} is variable, not a function."' ... ../src/syntax/typing.nit:1686,34--64
+                          ../src/syntax/typing.nit:1687,7--12
+                            'return' ... ../src/syntax/typing.nit:1687,7--12
+                      ../src/syntax/typing.nit:1689,6--33
+                        ../src/syntax/typing.nit:1689,26
+                        'n' ... ../src/syntax/typing.nit:1689,6
+                        '=' ... ../src/syntax/typing.nit:1689,8
+                        ../src/syntax/typing.nit:1689,10--33
+                          ../src/syntax/typing.nit:1689,26
+                          'variable_create' ... ../src/syntax/typing.nit:1689,10--24
+                          ../src/syntax/typing.nit:1689,26--33
+                            ../src/syntax/typing.nit:1689,26
+                            'variable' ... ../src/syntax/typing.nit:1689,26--33
+                      ../src/syntax/typing.nit:1690,6--27
+                        ../src/syntax/typing.nit:1690,6
+                          ../src/syntax/typing.nit:1690,6
+                          'n' ... ../src/syntax/typing.nit:1690,6
+                        '_variable' ... ../src/syntax/typing.nit:1690,8--16
+                        '=' ... ../src/syntax/typing.nit:1690,18
+                        ../src/syntax/typing.nit:1690,20--27
+                          ../src/syntax/typing.nit:1690,20
+                          'variable' ... ../src/syntax/typing.nit:1690,20--27
+                  ../src/syntax/typing.nit:1692,5--18
+                    ../src/syntax/typing.nit:1692,18
+                    'replace_with' ... ../src/syntax/typing.nit:1692,5--16
+                    ../src/syntax/typing.nit:1692,18
+                      ../src/syntax/typing.nit:1692,18
+                      'n' ... ../src/syntax/typing.nit:1692,18
+                  ../src/syntax/typing.nit:1693,5--20
+                    ../src/syntax/typing.nit:1693,5
+                      ../src/syntax/typing.nit:1693,5
+                      'n' ... ../src/syntax/typing.nit:1693,5
+                    'after_typing' ... ../src/syntax/typing.nit:1693,7--18
+                    ../src/syntax/typing.nit:1693,20
+                      ../src/syntax/typing.nit:1693,20
+                      'v' ... ../src/syntax/typing.nit:1693,20
+                  ../src/syntax/typing.nit:1694,5--10
+                    'return' ... ../src/syntax/typing.nit:1694,5--10
+          ../src/syntax/typing.nit:1698,3--7
+            'super' ... ../src/syntax/typing.nit:1698,3--7
+      ../src/syntax/typing.nit:1701,2--1706,29
+        'redef' ... ../src/syntax/typing.nit:1701,2--6
+        ../src/syntax/typing.nit:1701,12
+        'fun' ... ../src/syntax/typing.nit:1701,8--10
+        ../src/syntax/typing.nit:1701,12--23
+          'closure_defs' ... ../src/syntax/typing.nit:1701,12--23
+        ../src/syntax/typing.nit:1703,6
+        ../src/syntax/typing.nit:1703,3--1706,29
+          ../src/syntax/typing.nit:1703,3--1706,29
+            'if' ... ../src/syntax/typing.nit:1703,3--4
+            ../src/syntax/typing.nit:1703,6--28
+              ../src/syntax/typing.nit:1703,6--19
+                ../src/syntax/typing.nit:1703,6
+                'n_closure_defs' ... ../src/syntax/typing.nit:1703,6--19
+              'is_empty' ... ../src/syntax/typing.nit:1703,21--28
+            ../src/syntax/typing.nit:1704,4--14
+              ../src/syntax/typing.nit:1704,4--14
+                'return' ... ../src/syntax/typing.nit:1704,4--9
+                ../src/syntax/typing.nit:1704,11--14
+                  'null' ... ../src/syntax/typing.nit:1704,11--14
+            ../src/syntax/typing.nit:1706,4--29
+              ../src/syntax/typing.nit:1706,4--29
+                'return' ... ../src/syntax/typing.nit:1706,4--9
+                ../src/syntax/typing.nit:1706,11--29
+                  ../src/syntax/typing.nit:1706,11--24
+                    ../src/syntax/typing.nit:1706,11
+                    'n_closure_defs' ... ../src/syntax/typing.nit:1706,11--24
+                  'to_a' ... ../src/syntax/typing.nit:1706,26--29
+      ../src/syntax/typing.nit:1710,2--1711,54
+        ../src/syntax/typing.nit:1710,2--1711,0
+          '# Create a variable acces corresponding to the call form
+' ... ../src/syntax/typing.nit:1710,2--1711,0
+        ../src/syntax/typing.nit:1711,6
+        'fun' ... ../src/syntax/typing.nit:1711,2--4
+        ../src/syntax/typing.nit:1711,6--20
+          'variable_create' ... ../src/syntax/typing.nit:1711,6--20
+        ../src/syntax/typing.nit:1711,22--54
+          ../src/syntax/typing.nit:1711,22--39
+            'variable' ... ../src/syntax/typing.nit:1711,22--29
+            ../src/syntax/typing.nit:1711,32--39
+              'Variable' ... ../src/syntax/typing.nit:1711,32--39
+          ../src/syntax/typing.nit:1711,43--54
+            'AVarFormExpr' ... ../src/syntax/typing.nit:1711,43--54
+    ../src/syntax/typing.nit:1714,1--1721,54
+      'redef' ... ../src/syntax/typing.nit:1714,1--5
+      ../src/syntax/typing.nit:1714,7
+      ../src/syntax/typing.nit:1714,7--11
+        'class' ... ../src/syntax/typing.nit:1714,7--11
+      'ACallExpr' ... ../src/syntax/typing.nit:1714,13--21
+      ../src/syntax/typing.nit:1715,2--1717,40
+        'redef' ... ../src/syntax/typing.nit:1715,2--6
+        ../src/syntax/typing.nit:1715,12
+        'fun' ... ../src/syntax/typing.nit:1715,8--10
+        ../src/syntax/typing.nit:1715,12--26
+          'variable_create' ... ../src/syntax/typing.nit:1715,12--26
+        ../src/syntax/typing.nit:1715,28--35
+          ../src/syntax/typing.nit:1715,28--35
+            'variable' ... ../src/syntax/typing.nit:1715,28--35
+        ../src/syntax/typing.nit:1717,3--40
+          ../src/syntax/typing.nit:1717,3--40
+            'return' ... ../src/syntax/typing.nit:1717,3--8
+            ../src/syntax/typing.nit:1717,10--40
+              'new' ... ../src/syntax/typing.nit:1717,10--12
+              ../src/syntax/typing.nit:1717,14--21
+                'AVarExpr' ... ../src/syntax/typing.nit:1717,14--21
+              'init_avarexpr' ... ../src/syntax/typing.nit:1717,23--35
+              ../src/syntax/typing.nit:1717,37--40
+                ../src/syntax/typing.nit:1717,37
+                'n_id' ... ../src/syntax/typing.nit:1717,37--40
+      ../src/syntax/typing.nit:1720,2--40
+        'redef' ... ../src/syntax/typing.nit:1720,2--6
+        ../src/syntax/typing.nit:1720,12
+        'fun' ... ../src/syntax/typing.nit:1720,8--10
+        ../src/syntax/typing.nit:1720,12--15
+          'name' ... ../src/syntax/typing.nit:1720,12--15
+        ../src/syntax/typing.nit:1720,27
+        ../src/syntax/typing.nit:1720,20--40
+          'return' ... ../src/syntax/typing.nit:1720,20--25
+          ../src/syntax/typing.nit:1720,27--40
+            ../src/syntax/typing.nit:1720,27--30
+              ../src/syntax/typing.nit:1720,27
+              'n_id' ... ../src/syntax/typing.nit:1720,27--30
+            'to_symbol' ... ../src/syntax/typing.nit:1720,32--40
+      ../src/syntax/typing.nit:1721,2--54
+        'redef' ... ../src/syntax/typing.nit:1721,2--6
+        ../src/syntax/typing.nit:1721,12
+        'fun' ... ../src/syntax/typing.nit:1721,8--10
+        ../src/syntax/typing.nit:1721,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1721,12--32
+        ../src/syntax/typing.nit:1721,44
+        ../src/syntax/typing.nit:1721,37--54
+          'return' ... ../src/syntax/typing.nit:1721,37--42
+          ../src/syntax/typing.nit:1721,44--54
+            ../src/syntax/typing.nit:1721,44--49
+              ../src/syntax/typing.nit:1721,44
+              'n_args' ... ../src/syntax/typing.nit:1721,44--49
+            'to_a' ... ../src/syntax/typing.nit:1721,51--54
+    ../src/syntax/typing.nit:1724,1--1734,12
+      'redef' ... ../src/syntax/typing.nit:1724,1--5
+      ../src/syntax/typing.nit:1724,7
+      ../src/syntax/typing.nit:1724,7--11
+        'class' ... ../src/syntax/typing.nit:1724,7--11
+      'ACallAssignExpr' ... ../src/syntax/typing.nit:1724,13--27
+      ../src/syntax/typing.nit:1725,2--1727,71
+        'redef' ... ../src/syntax/typing.nit:1725,2--6
+        ../src/syntax/typing.nit:1725,12
+        'fun' ... ../src/syntax/typing.nit:1725,8--10
+        ../src/syntax/typing.nit:1725,12--26
+          'variable_create' ... ../src/syntax/typing.nit:1725,12--26
+        ../src/syntax/typing.nit:1725,28--35
+          ../src/syntax/typing.nit:1725,28--35
+            'variable' ... ../src/syntax/typing.nit:1725,28--35
+        ../src/syntax/typing.nit:1727,3--71
+          ../src/syntax/typing.nit:1727,3--71
+            'return' ... ../src/syntax/typing.nit:1727,3--8
+            ../src/syntax/typing.nit:1727,10--71
+              'new' ... ../src/syntax/typing.nit:1727,10--12
+              ../src/syntax/typing.nit:1727,14--27
+                'AVarAssignExpr' ... ../src/syntax/typing.nit:1727,14--27
+              'init_avarassignexpr' ... ../src/syntax/typing.nit:1727,29--47
+              ../src/syntax/typing.nit:1727,49--52
+                ../src/syntax/typing.nit:1727,49
+                'n_id' ... ../src/syntax/typing.nit:1727,49--52
+              ../src/syntax/typing.nit:1727,55--62
+                ../src/syntax/typing.nit:1727,55
+                'n_assign' ... ../src/syntax/typing.nit:1727,55--62
+              ../src/syntax/typing.nit:1727,65--71
+                ../src/syntax/typing.nit:1727,65
+                'n_value' ... ../src/syntax/typing.nit:1727,65--71
+      ../src/syntax/typing.nit:1730,2--53
+        'redef' ... ../src/syntax/typing.nit:1730,2--6
+        ../src/syntax/typing.nit:1730,12
+        'fun' ... ../src/syntax/typing.nit:1730,8--10
+        ../src/syntax/typing.nit:1730,12--15
+          'name' ... ../src/syntax/typing.nit:1730,12--15
+        ../src/syntax/typing.nit:1730,28
+        ../src/syntax/typing.nit:1730,20--53
+          'return' ... ../src/syntax/typing.nit:1730,20--25
+          ../src/syntax/typing.nit:1730,28--53
+            ../src/syntax/typing.nit:1730,28--42
+              ../src/syntax/typing.nit:1730,28--36
+                ../src/syntax/typing.nit:1730,28--31
+                  ../src/syntax/typing.nit:1730,28
+                  'n_id' ... ../src/syntax/typing.nit:1730,28--31
+                'text' ... ../src/syntax/typing.nit:1730,33--36
+              ../src/syntax/typing.nit:1730,40--42
+                '"="' ... ../src/syntax/typing.nit:1730,40--42
+            'to_symbol' ... ../src/syntax/typing.nit:1730,45--53
+      ../src/syntax/typing.nit:1731,2--1734,12
+        'redef' ... ../src/syntax/typing.nit:1731,2--6
+        ../src/syntax/typing.nit:1731,12
+        'fun' ... ../src/syntax/typing.nit:1731,8--10
+        ../src/syntax/typing.nit:1731,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1731,12--32
+        ../src/syntax/typing.nit:1732,13
+        ../src/syntax/typing.nit:1732,3--1734,12
+          ../src/syntax/typing.nit:1732,3--23
+            'var' ... ../src/syntax/typing.nit:1732,3--5
+            'res' ... ../src/syntax/typing.nit:1732,7--9
+            '=' ... ../src/syntax/typing.nit:1732,11
+            ../src/syntax/typing.nit:1732,13--23
+              ../src/syntax/typing.nit:1732,13--18
+                ../src/syntax/typing.nit:1732,13
+                'n_args' ... ../src/syntax/typing.nit:1732,13--18
+              'to_a' ... ../src/syntax/typing.nit:1732,20--23
+          ../src/syntax/typing.nit:1733,3--17
+            ../src/syntax/typing.nit:1733,3--5
+              ../src/syntax/typing.nit:1733,3
+              'res' ... ../src/syntax/typing.nit:1733,3--5
+            'add' ... ../src/syntax/typing.nit:1733,7--9
+            ../src/syntax/typing.nit:1733,11--17
+              ../src/syntax/typing.nit:1733,11
+              'n_value' ... ../src/syntax/typing.nit:1733,11--17
+          ../src/syntax/typing.nit:1734,3--12
+            'return' ... ../src/syntax/typing.nit:1734,3--8
+            ../src/syntax/typing.nit:1734,10--12
+              ../src/syntax/typing.nit:1734,10
+              'res' ... ../src/syntax/typing.nit:1734,10--12
+    ../src/syntax/typing.nit:1738,1--1745,54
+      'redef' ... ../src/syntax/typing.nit:1738,1--5
+      ../src/syntax/typing.nit:1738,7
+      ../src/syntax/typing.nit:1738,7--11
+        'class' ... ../src/syntax/typing.nit:1738,7--11
+      'ACallReassignExpr' ... ../src/syntax/typing.nit:1738,13--29
+      ../src/syntax/typing.nit:1739,2--1741,78
+        'redef' ... ../src/syntax/typing.nit:1739,2--6
+        ../src/syntax/typing.nit:1739,12
+        'fun' ... ../src/syntax/typing.nit:1739,8--10
+        ../src/syntax/typing.nit:1739,12--26
+          'variable_create' ... ../src/syntax/typing.nit:1739,12--26
+        ../src/syntax/typing.nit:1739,28--35
+          ../src/syntax/typing.nit:1739,28--35
+            'variable' ... ../src/syntax/typing.nit:1739,28--35
+        ../src/syntax/typing.nit:1741,3--78
+          ../src/syntax/typing.nit:1741,3--78
+            'return' ... ../src/syntax/typing.nit:1741,3--8
+            ../src/syntax/typing.nit:1741,10--78
+              'new' ... ../src/syntax/typing.nit:1741,10--12
+              ../src/syntax/typing.nit:1741,14--29
+                'AVarReassignExpr' ... ../src/syntax/typing.nit:1741,14--29
+              'init_avarreassignexpr' ... ../src/syntax/typing.nit:1741,31--51
+              ../src/syntax/typing.nit:1741,53--56
+                ../src/syntax/typing.nit:1741,53
+                'n_id' ... ../src/syntax/typing.nit:1741,53--56
+              ../src/syntax/typing.nit:1741,59--69
+                ../src/syntax/typing.nit:1741,59
+                'n_assign_op' ... ../src/syntax/typing.nit:1741,59--69
+              ../src/syntax/typing.nit:1741,72--78
+                ../src/syntax/typing.nit:1741,72
+                'n_value' ... ../src/syntax/typing.nit:1741,72--78
+      ../src/syntax/typing.nit:1744,2--40
+        'redef' ... ../src/syntax/typing.nit:1744,2--6
+        ../src/syntax/typing.nit:1744,12
+        'fun' ... ../src/syntax/typing.nit:1744,8--10
+        ../src/syntax/typing.nit:1744,12--15
+          'name' ... ../src/syntax/typing.nit:1744,12--15
+        ../src/syntax/typing.nit:1744,27
+        ../src/syntax/typing.nit:1744,20--40
+          'return' ... ../src/syntax/typing.nit:1744,20--25
+          ../src/syntax/typing.nit:1744,27--40
+            ../src/syntax/typing.nit:1744,27--30
+              ../src/syntax/typing.nit:1744,27
+              'n_id' ... ../src/syntax/typing.nit:1744,27--30
+            'to_symbol' ... ../src/syntax/typing.nit:1744,32--40
+      ../src/syntax/typing.nit:1745,2--54
+        'redef' ... ../src/syntax/typing.nit:1745,2--6
+        ../src/syntax/typing.nit:1745,12
+        'fun' ... ../src/syntax/typing.nit:1745,8--10
+        ../src/syntax/typing.nit:1745,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1745,12--32
+        ../src/syntax/typing.nit:1745,44
+        ../src/syntax/typing.nit:1745,37--54
+          'return' ... ../src/syntax/typing.nit:1745,37--42
+          ../src/syntax/typing.nit:1745,44--54
+            ../src/syntax/typing.nit:1745,44--49
+              ../src/syntax/typing.nit:1745,44
+              'n_args' ... ../src/syntax/typing.nit:1745,44--49
+            'to_a' ... ../src/syntax/typing.nit:1745,51--54
+    ../src/syntax/typing.nit:1748,1--1756,29
+      'redef' ... ../src/syntax/typing.nit:1748,1--5
+      ../src/syntax/typing.nit:1748,7
+      ../src/syntax/typing.nit:1748,7--11
+        'class' ... ../src/syntax/typing.nit:1748,7--11
+      'ABraExpr' ... ../src/syntax/typing.nit:1748,13--20
+      ../src/syntax/typing.nit:1749,2--45
+        'redef' ... ../src/syntax/typing.nit:1749,2--6
+        ../src/syntax/typing.nit:1749,12
+        'fun' ... ../src/syntax/typing.nit:1749,8--10
+        ../src/syntax/typing.nit:1749,12--15
+          'name' ... ../src/syntax/typing.nit:1749,12--15
+        ../src/syntax/typing.nit:1749,32
+        ../src/syntax/typing.nit:1749,20--45
+          'return' ... ../src/syntax/typing.nit:1749,20--25
+          ../src/syntax/typing.nit:1749,27--45
+            'once' ... ../src/syntax/typing.nit:1749,27--30
+            ../src/syntax/typing.nit:1749,32--45
+              ../src/syntax/typing.nit:1749,32--35
+                '"[]"' ... ../src/syntax/typing.nit:1749,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1749,37--45
+      ../src/syntax/typing.nit:1750,2--54
+        'redef' ... ../src/syntax/typing.nit:1750,2--6
+        ../src/syntax/typing.nit:1750,12
+        'fun' ... ../src/syntax/typing.nit:1750,8--10
+        ../src/syntax/typing.nit:1750,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1750,12--32
+        ../src/syntax/typing.nit:1750,44
+        ../src/syntax/typing.nit:1750,37--54
+          'return' ... ../src/syntax/typing.nit:1750,37--42
+          ../src/syntax/typing.nit:1750,44--54
+            ../src/syntax/typing.nit:1750,44--49
+              ../src/syntax/typing.nit:1750,44
+              'n_args' ... ../src/syntax/typing.nit:1750,44--49
+            'to_a' ... ../src/syntax/typing.nit:1750,51--54
+      ../src/syntax/typing.nit:1751,2--1756,29
+        'redef' ... ../src/syntax/typing.nit:1751,2--6
+        ../src/syntax/typing.nit:1751,12
+        'fun' ... ../src/syntax/typing.nit:1751,8--10
+        ../src/syntax/typing.nit:1751,12--23
+          'closure_defs' ... ../src/syntax/typing.nit:1751,12--23
+        ../src/syntax/typing.nit:1753,6
+        ../src/syntax/typing.nit:1753,3--1756,29
+          ../src/syntax/typing.nit:1753,3--1756,29
+            'if' ... ../src/syntax/typing.nit:1753,3--4
+            ../src/syntax/typing.nit:1753,6--28
+              ../src/syntax/typing.nit:1753,6--19
+                ../src/syntax/typing.nit:1753,6
+                'n_closure_defs' ... ../src/syntax/typing.nit:1753,6--19
+              'is_empty' ... ../src/syntax/typing.nit:1753,21--28
+            ../src/syntax/typing.nit:1754,4--14
+              ../src/syntax/typing.nit:1754,4--14
+                'return' ... ../src/syntax/typing.nit:1754,4--9
+                ../src/syntax/typing.nit:1754,11--14
+                  'null' ... ../src/syntax/typing.nit:1754,11--14
+            ../src/syntax/typing.nit:1756,4--29
+              ../src/syntax/typing.nit:1756,4--29
+                'return' ... ../src/syntax/typing.nit:1756,4--9
+                ../src/syntax/typing.nit:1756,11--29
+                  ../src/syntax/typing.nit:1756,11--24
+                    ../src/syntax/typing.nit:1756,11
+                    'n_closure_defs' ... ../src/syntax/typing.nit:1756,11--24
+                  'to_a' ... ../src/syntax/typing.nit:1756,26--29
+    ../src/syntax/typing.nit:1761,1--1766,12
+      'redef' ... ../src/syntax/typing.nit:1761,1--5
+      ../src/syntax/typing.nit:1761,7
+      ../src/syntax/typing.nit:1761,7--11
+        'class' ... ../src/syntax/typing.nit:1761,7--11
+      'ABraAssignExpr' ... ../src/syntax/typing.nit:1761,13--26
+      ../src/syntax/typing.nit:1762,2--46
+        'redef' ... ../src/syntax/typing.nit:1762,2--6
+        ../src/syntax/typing.nit:1762,12
+        'fun' ... ../src/syntax/typing.nit:1762,8--10
+        ../src/syntax/typing.nit:1762,12--15
+          'name' ... ../src/syntax/typing.nit:1762,12--15
+        ../src/syntax/typing.nit:1762,32
+        ../src/syntax/typing.nit:1762,20--46
+          'return' ... ../src/syntax/typing.nit:1762,20--25
+          ../src/syntax/typing.nit:1762,27--46
+            'once' ... ../src/syntax/typing.nit:1762,27--30
+            ../src/syntax/typing.nit:1762,32--46
+              ../src/syntax/typing.nit:1762,32--36
+                '"[]="' ... ../src/syntax/typing.nit:1762,32--36
+              'to_symbol' ... ../src/syntax/typing.nit:1762,38--46
+      ../src/syntax/typing.nit:1763,2--1766,12
+        'redef' ... ../src/syntax/typing.nit:1763,2--6
+        ../src/syntax/typing.nit:1763,12
+        'fun' ... ../src/syntax/typing.nit:1763,8--10
+        ../src/syntax/typing.nit:1763,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1763,12--32
+        ../src/syntax/typing.nit:1764,13
+        ../src/syntax/typing.nit:1764,3--1766,12
+          ../src/syntax/typing.nit:1764,3--23
+            'var' ... ../src/syntax/typing.nit:1764,3--5
+            'res' ... ../src/syntax/typing.nit:1764,7--9
+            '=' ... ../src/syntax/typing.nit:1764,11
+            ../src/syntax/typing.nit:1764,13--23
+              ../src/syntax/typing.nit:1764,13--18
+                ../src/syntax/typing.nit:1764,13
+                'n_args' ... ../src/syntax/typing.nit:1764,13--18
+              'to_a' ... ../src/syntax/typing.nit:1764,20--23
+          ../src/syntax/typing.nit:1765,3--17
+            ../src/syntax/typing.nit:1765,3--5
+              ../src/syntax/typing.nit:1765,3
+              'res' ... ../src/syntax/typing.nit:1765,3--5
+            'add' ... ../src/syntax/typing.nit:1765,7--9
+            ../src/syntax/typing.nit:1765,11--17
+              ../src/syntax/typing.nit:1765,11
+              'n_value' ... ../src/syntax/typing.nit:1765,11--17
+          ../src/syntax/typing.nit:1766,3--12
+            'return' ... ../src/syntax/typing.nit:1766,3--8
+            ../src/syntax/typing.nit:1766,10--12
+              ../src/syntax/typing.nit:1766,10
+              'res' ... ../src/syntax/typing.nit:1766,10--12
+    ../src/syntax/typing.nit:1770,1--1772,54
+      'redef' ... ../src/syntax/typing.nit:1770,1--5
+      ../src/syntax/typing.nit:1770,7
+      ../src/syntax/typing.nit:1770,7--11
+        'class' ... ../src/syntax/typing.nit:1770,7--11
+      'ABraReassignExpr' ... ../src/syntax/typing.nit:1770,13--28
+      ../src/syntax/typing.nit:1771,2--45
+        'redef' ... ../src/syntax/typing.nit:1771,2--6
+        ../src/syntax/typing.nit:1771,12
+        'fun' ... ../src/syntax/typing.nit:1771,8--10
+        ../src/syntax/typing.nit:1771,12--15
+          'name' ... ../src/syntax/typing.nit:1771,12--15
+        ../src/syntax/typing.nit:1771,32
+        ../src/syntax/typing.nit:1771,20--45
+          'return' ... ../src/syntax/typing.nit:1771,20--25
+          ../src/syntax/typing.nit:1771,27--45
+            'once' ... ../src/syntax/typing.nit:1771,27--30
+            ../src/syntax/typing.nit:1771,32--45
+              ../src/syntax/typing.nit:1771,32--35
+                '"[]"' ... ../src/syntax/typing.nit:1771,32--35
+              'to_symbol' ... ../src/syntax/typing.nit:1771,37--45
+      ../src/syntax/typing.nit:1772,2--54
+        'redef' ... ../src/syntax/typing.nit:1772,2--6
+        ../src/syntax/typing.nit:1772,12
+        'fun' ... ../src/syntax/typing.nit:1772,8--10
+        ../src/syntax/typing.nit:1772,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1772,12--32
+        ../src/syntax/typing.nit:1772,44
+        ../src/syntax/typing.nit:1772,37--54
+          'return' ... ../src/syntax/typing.nit:1772,37--42
+          ../src/syntax/typing.nit:1772,44--54
+            ../src/syntax/typing.nit:1772,44--49
+              ../src/syntax/typing.nit:1772,44
+              'n_args' ... ../src/syntax/typing.nit:1772,44--49
+            'to_a' ... ../src/syntax/typing.nit:1772,51--54
+    ../src/syntax/typing.nit:1775,1--1777,54
+      'redef' ... ../src/syntax/typing.nit:1775,1--5
+      ../src/syntax/typing.nit:1775,7
+      ../src/syntax/typing.nit:1775,7--11
+        'class' ... ../src/syntax/typing.nit:1775,7--11
+      'AInitExpr' ... ../src/syntax/typing.nit:1775,13--21
+      ../src/syntax/typing.nit:1776,2--47
+        'redef' ... ../src/syntax/typing.nit:1776,2--6
+        ../src/syntax/typing.nit:1776,12
+        'fun' ... ../src/syntax/typing.nit:1776,8--10
+        ../src/syntax/typing.nit:1776,12--15
+          'name' ... ../src/syntax/typing.nit:1776,12--15
+        ../src/syntax/typing.nit:1776,32
+        ../src/syntax/typing.nit:1776,20--47
+          'return' ... ../src/syntax/typing.nit:1776,20--25
+          ../src/syntax/typing.nit:1776,27--47
+            'once' ... ../src/syntax/typing.nit:1776,27--30
+            ../src/syntax/typing.nit:1776,32--47
+              ../src/syntax/typing.nit:1776,32--37
+                '"init"' ... ../src/syntax/typing.nit:1776,32--37
+              'to_symbol' ... ../src/syntax/typing.nit:1776,39--47
+      ../src/syntax/typing.nit:1777,2--54
+        'redef' ... ../src/syntax/typing.nit:1777,2--6
+        ../src/syntax/typing.nit:1777,12
+        'fun' ... ../src/syntax/typing.nit:1777,8--10
+        ../src/syntax/typing.nit:1777,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1777,12--32
+        ../src/syntax/typing.nit:1777,44
+        ../src/syntax/typing.nit:1777,37--54
+          'return' ... ../src/syntax/typing.nit:1777,37--42
+          ../src/syntax/typing.nit:1777,44--54
+            ../src/syntax/typing.nit:1777,44--49
+              ../src/syntax/typing.nit:1777,44
+              'n_args' ... ../src/syntax/typing.nit:1777,44--49
+            'to_a' ... ../src/syntax/typing.nit:1777,51--54
+    ../src/syntax/typing.nit:1780,1--1797,18
+      'redef' ... ../src/syntax/typing.nit:1780,1--5
+      ../src/syntax/typing.nit:1780,7
+      ../src/syntax/typing.nit:1780,7--11
+        'class' ... ../src/syntax/typing.nit:1780,7--11
+      'AClosureCallExpr' ... ../src/syntax/typing.nit:1780,13--28
+      ../src/syntax/typing.nit:1781,2--40
+        ../src/syntax/typing.nit:1781,17
+        'var' ... ../src/syntax/typing.nit:1781,2--4
+        '_variable' ... ../src/syntax/typing.nit:1781,6--14
+        ../src/syntax/typing.nit:1781,17--40
+          'nullable' ... ../src/syntax/typing.nit:1781,17--24
+          'ClosureVariable' ... ../src/syntax/typing.nit:1781,26--40
+      ../src/syntax/typing.nit:1782,2--51
+        'redef' ... ../src/syntax/typing.nit:1782,2--6
+        ../src/syntax/typing.nit:1782,12
+        'fun' ... ../src/syntax/typing.nit:1782,8--10
+        ../src/syntax/typing.nit:1782,12--19
+          'variable' ... ../src/syntax/typing.nit:1782,12--19
+        ../src/syntax/typing.nit:1782,31
+        ../src/syntax/typing.nit:1782,24--51
+          'return' ... ../src/syntax/typing.nit:1782,24--29
+          ../src/syntax/typing.nit:1782,31--51
+            ../src/syntax/typing.nit:1782,31--39
+              ../src/syntax/typing.nit:1782,31
+              '_variable' ... ../src/syntax/typing.nit:1782,31--39
+            'as' ... ../src/syntax/typing.nit:1782,41--42
+            'not' ... ../src/syntax/typing.nit:1782,44--46
+            'null' ... ../src/syntax/typing.nit:1782,48--51
+      ../src/syntax/typing.nit:1783,2--54
+        'redef' ... ../src/syntax/typing.nit:1783,2--6
+        ../src/syntax/typing.nit:1783,12
+        'fun' ... ../src/syntax/typing.nit:1783,8--10
+        ../src/syntax/typing.nit:1783,12--32
+          'compute_raw_arguments' ... ../src/syntax/typing.nit:1783,12--32
+        ../src/syntax/typing.nit:1783,44
+        ../src/syntax/typing.nit:1783,37--54
+          'return' ... ../src/syntax/typing.nit:1783,37--42
+          ../src/syntax/typing.nit:1783,44--54
+            ../src/syntax/typing.nit:1783,44--49
+              ../src/syntax/typing.nit:1783,44
+              'n_args' ... ../src/syntax/typing.nit:1783,44--49
+            'to_a' ... ../src/syntax/typing.nit:1783,51--54
+      ../src/syntax/typing.nit:1785,2--1797,18
+        'redef' ... ../src/syntax/typing.nit:1785,2--6
+        ../src/syntax/typing.nit:1785,12
+        'fun' ... ../src/syntax/typing.nit:1785,8--10
+        ../src/syntax/typing.nit:1785,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1785,12--23
+        ../src/syntax/typing.nit:1785,25
+          ../src/syntax/typing.nit:1785,25
+            'v' ... ../src/syntax/typing.nit:1785,25
+        ../src/syntax/typing.nit:1787,3--1797,18
+          ../src/syntax/typing.nit:1787,3--19
+            'var' ... ../src/syntax/typing.nit:1787,3--5
+            'va' ... ../src/syntax/typing.nit:1787,7--8
+            '=' ... ../src/syntax/typing.nit:1787,10
+            ../src/syntax/typing.nit:1787,12--19
+              ../src/syntax/typing.nit:1787,12
+              'variable' ... ../src/syntax/typing.nit:1787,12--19
+          ../src/syntax/typing.nit:1788,3--49
+            'if' ... ../src/syntax/typing.nit:1788,3--4
+            ../src/syntax/typing.nit:1788,6--24
+              ../src/syntax/typing.nit:1788,6--15
+                ../src/syntax/typing.nit:1788,6--7
+                  ../src/syntax/typing.nit:1788,6
+                  'va' ... ../src/syntax/typing.nit:1788,6--7
+                'closure' ... ../src/syntax/typing.nit:1788,9--15
+              'is_break' ... ../src/syntax/typing.nit:1788,17--24
+            ../src/syntax/typing.nit:1788,31--49
+              ../src/syntax/typing.nit:1788,31
+                ../src/syntax/typing.nit:1788,31
+                'v' ... ../src/syntax/typing.nit:1788,31
+              'mark_unreash' ... ../src/syntax/typing.nit:1788,33--44
+              ../src/syntax/typing.nit:1788,46--49
+                'self' ... ../src/syntax/typing.nit:1788,46--49
+          ../src/syntax/typing.nit:1789,3--32
+            'var' ... ../src/syntax/typing.nit:1789,3--5
+            'sig' ... ../src/syntax/typing.nit:1789,7--9
+            '=' ... ../src/syntax/typing.nit:1789,11
+            ../src/syntax/typing.nit:1789,13--32
+              ../src/syntax/typing.nit:1789,13--22
+                ../src/syntax/typing.nit:1789,13--14
+                  ../src/syntax/typing.nit:1789,13
+                  'va' ... ../src/syntax/typing.nit:1789,13--14
+                'closure' ... ../src/syntax/typing.nit:1789,16--22
+              'signature' ... ../src/syntax/typing.nit:1789,24--32
+          ../src/syntax/typing.nit:1790,3--73
+            'var' ... ../src/syntax/typing.nit:1790,3--5
+            's' ... ../src/syntax/typing.nit:1790,7
+            '=' ... ../src/syntax/typing.nit:1790,9
+            ../src/syntax/typing.nit:1790,11--73
+              ../src/syntax/typing.nit:1790,29
+              'process_signature' ... ../src/syntax/typing.nit:1790,11--27
+              ../src/syntax/typing.nit:1790,29
+                ../src/syntax/typing.nit:1790,29
+                'v' ... ../src/syntax/typing.nit:1790,29
+              ../src/syntax/typing.nit:1790,32--34
+                ../src/syntax/typing.nit:1790,32
+                'sig' ... ../src/syntax/typing.nit:1790,32--34
+              ../src/syntax/typing.nit:1790,37--50
+                ../src/syntax/typing.nit:1790,37--40
+                  ../src/syntax/typing.nit:1790,37
+                  'n_id' ... ../src/syntax/typing.nit:1790,37--40
+                'to_symbol' ... ../src/syntax/typing.nit:1790,42--50
+              ../src/syntax/typing.nit:1790,53--73
+                ../src/syntax/typing.nit:1790,53
+                'compute_raw_arguments' ... ../src/syntax/typing.nit:1790,53--73
+          ../src/syntax/typing.nit:1791,3--1792,63
+            'if' ... ../src/syntax/typing.nit:1791,3--4
+            ../src/syntax/typing.nit:1791,6--32
+              'not' ... ../src/syntax/typing.nit:1791,6--8
+              ../src/syntax/typing.nit:1791,10--32
+                ../src/syntax/typing.nit:1791,10--23
+                  ../src/syntax/typing.nit:1791,10
+                  'n_closure_defs' ... ../src/syntax/typing.nit:1791,10--23
+                'is_empty' ... ../src/syntax/typing.nit:1791,25--32
+            ../src/syntax/typing.nit:1792,4--63
+              ../src/syntax/typing.nit:1792,4--63
+                ../src/syntax/typing.nit:1792,21
+                'process_closures' ... ../src/syntax/typing.nit:1792,4--19
+                ../src/syntax/typing.nit:1792,21
+                  ../src/syntax/typing.nit:1792,21
+                  'v' ... ../src/syntax/typing.nit:1792,21
+                ../src/syntax/typing.nit:1792,24--26
+                  ../src/syntax/typing.nit:1792,24
+                  'sig' ... ../src/syntax/typing.nit:1792,24--26
+                ../src/syntax/typing.nit:1792,29--42
+                  ../src/syntax/typing.nit:1792,29--32
+                    ../src/syntax/typing.nit:1792,29
+                    'n_id' ... ../src/syntax/typing.nit:1792,29--32
+                  'to_symbol' ... ../src/syntax/typing.nit:1792,34--42
+                ../src/syntax/typing.nit:1792,45--63
+                  ../src/syntax/typing.nit:1792,45--58
+                    ../src/syntax/typing.nit:1792,45
+                    'n_closure_defs' ... ../src/syntax/typing.nit:1792,45--58
+                  'to_a' ... ../src/syntax/typing.nit:1792,60--63
+          ../src/syntax/typing.nit:1794,3--22
+            'if' ... ../src/syntax/typing.nit:1794,3--4
+            ../src/syntax/typing.nit:1794,6--10
+              'not' ... ../src/syntax/typing.nit:1794,6--8
+              ../src/syntax/typing.nit:1794,10
+                ../src/syntax/typing.nit:1794,10
+                's' ... ../src/syntax/typing.nit:1794,10
+            ../src/syntax/typing.nit:1794,17--22
+              'return' ... ../src/syntax/typing.nit:1794,17--22
+          ../src/syntax/typing.nit:1795,3--23
+            ../src/syntax/typing.nit:1795,21
+            '_prop_signature' ... ../src/syntax/typing.nit:1795,3--17
+            '=' ... ../src/syntax/typing.nit:1795,19
+            ../src/syntax/typing.nit:1795,21--23
+              ../src/syntax/typing.nit:1795,21
+              'sig' ... ../src/syntax/typing.nit:1795,21--23
+          ../src/syntax/typing.nit:1796,3--26
+            ../src/syntax/typing.nit:1796,12
+            '_stype' ... ../src/syntax/typing.nit:1796,3--8
+            '=' ... ../src/syntax/typing.nit:1796,10
+            ../src/syntax/typing.nit:1796,12--26
+              ../src/syntax/typing.nit:1796,12--14
+                ../src/syntax/typing.nit:1796,12
+                'sig' ... ../src/syntax/typing.nit:1796,12--14
+              'return_type' ... ../src/syntax/typing.nit:1796,16--26
+          ../src/syntax/typing.nit:1797,3--18
+            ../src/syntax/typing.nit:1797,15
+            '_is_typed' ... ../src/syntax/typing.nit:1797,3--11
+            '=' ... ../src/syntax/typing.nit:1797,13
+            ../src/syntax/typing.nit:1797,15--18
+              'true' ... ../src/syntax/typing.nit:1797,15--18
+    ../src/syntax/typing.nit:1801,1--1802,22
+      'redef' ... ../src/syntax/typing.nit:1801,1--5
+      ../src/syntax/typing.nit:1801,7
+      ../src/syntax/typing.nit:1801,7--11
+        'class' ... ../src/syntax/typing.nit:1801,7--11
+      'AClosureId' ... ../src/syntax/typing.nit:1801,13--22
+      ../src/syntax/typing.nit:1802,2--22
+        ../src/syntax/typing.nit:1802,6
+        'fun' ... ../src/syntax/typing.nit:1802,2--4
+        ../src/syntax/typing.nit:1802,6--14
+          'to_symbol' ... ../src/syntax/typing.nit:1802,6--14
+        ../src/syntax/typing.nit:1802,17--22
+          ../src/syntax/typing.nit:1802,17--22
+            'Symbol' ... ../src/syntax/typing.nit:1802,17--22
+    ../src/syntax/typing.nit:1804,1--1805,53
+      'redef' ... ../src/syntax/typing.nit:1804,1--5
+      ../src/syntax/typing.nit:1804,7
+      ../src/syntax/typing.nit:1804,7--11
+        'class' ... ../src/syntax/typing.nit:1804,7--11
+      'ASimpleClosureId' ... ../src/syntax/typing.nit:1804,13--28
+      ../src/syntax/typing.nit:1805,2--53
+        'redef' ... ../src/syntax/typing.nit:1805,2--6
+        ../src/syntax/typing.nit:1805,12
+        'fun' ... ../src/syntax/typing.nit:1805,8--10
+        ../src/syntax/typing.nit:1805,12--20
+          'to_symbol' ... ../src/syntax/typing.nit:1805,12--20
+        ../src/syntax/typing.nit:1805,23--28
+          ../src/syntax/typing.nit:1805,23--28
+            'Symbol' ... ../src/syntax/typing.nit:1805,23--28
+        ../src/syntax/typing.nit:1805,33--53
+          'return' ... ../src/syntax/typing.nit:1805,33--38
+          ../src/syntax/typing.nit:1805,40--53
+            ../src/syntax/typing.nit:1805,40--43
+              ../src/syntax/typing.nit:1805,40
+              'n_id' ... ../src/syntax/typing.nit:1805,40--43
+            'to_symbol' ... ../src/syntax/typing.nit:1805,45--53
+    ../src/syntax/typing.nit:1807,1--1808,58
+      'redef' ... ../src/syntax/typing.nit:1807,1--5
+      ../src/syntax/typing.nit:1807,7
+      ../src/syntax/typing.nit:1807,7--11
+        'class' ... ../src/syntax/typing.nit:1807,7--11
+      'ABreakClosureId' ... ../src/syntax/typing.nit:1807,13--27
+      ../src/syntax/typing.nit:1808,2--58
+        'redef' ... ../src/syntax/typing.nit:1808,2--6
+        ../src/syntax/typing.nit:1808,12
+        'fun' ... ../src/syntax/typing.nit:1808,8--10
+        ../src/syntax/typing.nit:1808,12--20
+          'to_symbol' ... ../src/syntax/typing.nit:1808,12--20
+        ../src/syntax/typing.nit:1808,23--28
+          ../src/syntax/typing.nit:1808,23--28
+            'Symbol' ... ../src/syntax/typing.nit:1808,23--28
+        ../src/syntax/typing.nit:1808,33--58
+          'return' ... ../src/syntax/typing.nit:1808,33--38
+          ../src/syntax/typing.nit:1808,40--58
+            ../src/syntax/typing.nit:1808,40--48
+              ../src/syntax/typing.nit:1808,40
+              'n_kwbreak' ... ../src/syntax/typing.nit:1808,40--48
+            'to_symbol' ... ../src/syntax/typing.nit:1808,50--58
+    ../src/syntax/typing.nit:1811,1--1861,17
+      'redef' ... ../src/syntax/typing.nit:1811,1--5
+      ../src/syntax/typing.nit:1811,7
+      ../src/syntax/typing.nit:1811,7--11
+        'class' ... ../src/syntax/typing.nit:1811,7--11
+      'AClosureDef' ... ../src/syntax/typing.nit:1811,13--23
+      ../src/syntax/typing.nit:1812,2--33
+        ../src/syntax/typing.nit:1812,16
+        'var' ... ../src/syntax/typing.nit:1812,2--4
+        '_closure' ... ../src/syntax/typing.nit:1812,6--13
+        ../src/syntax/typing.nit:1812,16--33
+          'nullable' ... ../src/syntax/typing.nit:1812,16--23
+          'MMClosure' ... ../src/syntax/typing.nit:1812,25--33
+      ../src/syntax/typing.nit:1813,2--49
+        'redef' ... ../src/syntax/typing.nit:1813,2--6
+        ../src/syntax/typing.nit:1813,12
+        'fun' ... ../src/syntax/typing.nit:1813,8--10
+        ../src/syntax/typing.nit:1813,12--18
+          'closure' ... ../src/syntax/typing.nit:1813,12--18
+        ../src/syntax/typing.nit:1813,30
+        ../src/syntax/typing.nit:1813,23--49
+          'return' ... ../src/syntax/typing.nit:1813,23--28
+          ../src/syntax/typing.nit:1813,30--49
+            ../src/syntax/typing.nit:1813,30--37
+              ../src/syntax/typing.nit:1813,30
+              '_closure' ... ../src/syntax/typing.nit:1813,30--37
+            'as' ... ../src/syntax/typing.nit:1813,39--40
+            'not' ... ../src/syntax/typing.nit:1813,42--44
+            'null' ... ../src/syntax/typing.nit:1813,46--49
+      ../src/syntax/typing.nit:1815,2--1816,49
+        ../src/syntax/typing.nit:1815,2--1816,0
+          '# The corresponding escapable object
+' ... ../src/syntax/typing.nit:1815,2--1816,0
+        ../src/syntax/typing.nit:1816,2--9
+          'readable' ... ../src/syntax/typing.nit:1816,2--9
+        ../src/syntax/typing.nit:1816,27
+        'var' ... ../src/syntax/typing.nit:1816,11--13
+        '_escapable' ... ../src/syntax/typing.nit:1816,15--24
+        ../src/syntax/typing.nit:1816,27--49
+          'nullable' ... ../src/syntax/typing.nit:1816,27--34
+          'EscapableBlock' ... ../src/syntax/typing.nit:1816,36--49
+      ../src/syntax/typing.nit:1818,2--34
+        ../src/syntax/typing.nit:1818,23
+        'var' ... ../src/syntax/typing.nit:1818,2--4
+        '_accept_typing2' ... ../src/syntax/typing.nit:1818,6--20
+        ../src/syntax/typing.nit:1818,23--26
+          'Bool' ... ../src/syntax/typing.nit:1818,23--26
+        ../src/syntax/typing.nit:1818,30--34
+          'false' ... ../src/syntax/typing.nit:1818,30--34
+      ../src/syntax/typing.nit:1819,2--1822,31
+        'redef' ... ../src/syntax/typing.nit:1819,2--6
+        ../src/syntax/typing.nit:1819,12
+        'fun' ... ../src/syntax/typing.nit:1819,8--10
+        ../src/syntax/typing.nit:1819,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:1819,12--24
+        ../src/syntax/typing.nit:1819,26
+          ../src/syntax/typing.nit:1819,26
+            'v' ... ../src/syntax/typing.nit:1819,26
+        ../src/syntax/typing.nit:1822,3--31
+          ../src/syntax/typing.nit:1822,3--31
+            'if' ... ../src/syntax/typing.nit:1822,3--4
+            ../src/syntax/typing.nit:1822,6--20
+              ../src/syntax/typing.nit:1822,6
+              '_accept_typing2' ... ../src/syntax/typing.nit:1822,6--20
+            ../src/syntax/typing.nit:1822,27--31
+              'super' ... ../src/syntax/typing.nit:1822,27--31
+      ../src/syntax/typing.nit:1825,2--1861,17
+        ../src/syntax/typing.nit:1825,2--8
+          'private' ... ../src/syntax/typing.nit:1825,2--8
+        'fun' ... ../src/syntax/typing.nit:1825,10--12
+        ../src/syntax/typing.nit:1825,14--27
+          'accept_typing2' ... ../src/syntax/typing.nit:1825,14--27
+        ../src/syntax/typing.nit:1825,29--67
+          ../src/syntax/typing.nit:1825,29--44
+            'v' ... ../src/syntax/typing.nit:1825,29
+            ../src/syntax/typing.nit:1825,32--44
+              'TypingVisitor' ... ../src/syntax/typing.nit:1825,32--44
+          ../src/syntax/typing.nit:1825,47--67
+            'esc' ... ../src/syntax/typing.nit:1825,47--49
+            ../src/syntax/typing.nit:1825,52--67
+              'EscapableClosure' ... ../src/syntax/typing.nit:1825,52--67
+        ../src/syntax/typing.nit:1827,3--1861,17
+          ../src/syntax/typing.nit:1827,3--18
+            ../src/syntax/typing.nit:1827,16
+            '_escapable' ... ../src/syntax/typing.nit:1827,3--12
+            '=' ... ../src/syntax/typing.nit:1827,14
+            ../src/syntax/typing.nit:1827,16--18
+              ../src/syntax/typing.nit:1827,16
+              'esc' ... ../src/syntax/typing.nit:1827,16--18
+          ../src/syntax/typing.nit:1829,3--33
+            'var' ... ../src/syntax/typing.nit:1829,3--5
+            'sig' ... ../src/syntax/typing.nit:1829,7--9
+            '=' ... ../src/syntax/typing.nit:1829,11
+            ../src/syntax/typing.nit:1829,13--33
+              ../src/syntax/typing.nit:1829,13--23
+                ../src/syntax/typing.nit:1829,13--15
+                  ../src/syntax/typing.nit:1829,13
+                  'esc' ... ../src/syntax/typing.nit:1829,13--15
+                'closure' ... ../src/syntax/typing.nit:1829,17--23
+              'signature' ... ../src/syntax/typing.nit:1829,25--33
+          ../src/syntax/typing.nit:1830,3--1832,9
+            'if' ... ../src/syntax/typing.nit:1830,3--4
+            ../src/syntax/typing.nit:1830,6--30
+              ../src/syntax/typing.nit:1830,6--14
+                ../src/syntax/typing.nit:1830,6--8
+                  ../src/syntax/typing.nit:1830,6
+                  'sig' ... ../src/syntax/typing.nit:1830,6--8
+                'arity' ... ../src/syntax/typing.nit:1830,10--14
+              ../src/syntax/typing.nit:1830,19--30
+                ../src/syntax/typing.nit:1830,19--23
+                  ../src/syntax/typing.nit:1830,19
+                  'n_ids' ... ../src/syntax/typing.nit:1830,19--23
+                'length' ... ../src/syntax/typing.nit:1830,25--30
+            ../src/syntax/typing.nit:1831,4--1832,9
+              ../src/syntax/typing.nit:1831,4--94
+                ../src/syntax/typing.nit:1831,4
+                  ../src/syntax/typing.nit:1831,4
+                  'v' ... ../src/syntax/typing.nit:1831,4
+                'error' ... ../src/syntax/typing.nit:1831,6--10
+                ../src/syntax/typing.nit:1831,12--15
+                  'self' ... ../src/syntax/typing.nit:1831,12--15
+                ../src/syntax/typing.nit:1831,18--94
+                  ../src/syntax/typing.nit:1831,18--26
+                    '"Error: {' ... ../src/syntax/typing.nit:1831,18--26
+                  ../src/syntax/typing.nit:1831,27--35
+                    ../src/syntax/typing.nit:1831,27--29
+                      ../src/syntax/typing.nit:1831,27
+                      'sig' ... ../src/syntax/typing.nit:1831,27--29
+                    'arity' ... ../src/syntax/typing.nit:1831,31--35
+                  ../src/syntax/typing.nit:1831,36--73
+                    '} automatic variable names expected, {' ... ../src/syntax/typing.nit:1831,36--73
+                  ../src/syntax/typing.nit:1831,74--85
+                    ../src/syntax/typing.nit:1831,74--78
+                      ../src/syntax/typing.nit:1831,74
+                      'n_ids' ... ../src/syntax/typing.nit:1831,74--78
+                    'length' ... ../src/syntax/typing.nit:1831,80--85
+                  ../src/syntax/typing.nit:1831,86--94
+                    '} found."' ... ../src/syntax/typing.nit:1831,86--94
+              ../src/syntax/typing.nit:1832,4--9
+                'return' ... ../src/syntax/typing.nit:1832,4--9
+          ../src/syntax/typing.nit:1835,3--24
+            ../src/syntax/typing.nit:1835,14
+            '_closure' ... ../src/syntax/typing.nit:1835,3--10
+            '=' ... ../src/syntax/typing.nit:1835,12
+            ../src/syntax/typing.nit:1835,14--24
+              ../src/syntax/typing.nit:1835,14--16
+                ../src/syntax/typing.nit:1835,14
+                'esc' ... ../src/syntax/typing.nit:1835,14--16
+              'closure' ... ../src/syntax/typing.nit:1835,18--24
+          ../src/syntax/typing.nit:1837,3--23
+            ../src/syntax/typing.nit:1837,3--13
+              ../src/syntax/typing.nit:1837,3
+                ../src/syntax/typing.nit:1837,3
+                'v' ... ../src/syntax/typing.nit:1837,3
+              'scope_ctx' ... ../src/syntax/typing.nit:1837,5--13
+            'push' ... ../src/syntax/typing.nit:1837,15--18
+            ../src/syntax/typing.nit:1837,20--23
+              'self' ... ../src/syntax/typing.nit:1837,20--23
+          ../src/syntax/typing.nit:1838,3--31
+            'var' ... ../src/syntax/typing.nit:1838,3--5
+            'old_flow_ctx' ... ../src/syntax/typing.nit:1838,7--18
+            '=' ... ../src/syntax/typing.nit:1838,20
+            ../src/syntax/typing.nit:1838,22--31
+              ../src/syntax/typing.nit:1838,22
+                ../src/syntax/typing.nit:1838,22
+                'v' ... ../src/syntax/typing.nit:1838,22
+              'flow_ctx' ... ../src/syntax/typing.nit:1838,24--31
+          ../src/syntax/typing.nit:1839,3--41
+            'var' ... ../src/syntax/typing.nit:1839,3--5
+            'old_base_flow_ctx' ... ../src/syntax/typing.nit:1839,7--23
+            '=' ... ../src/syntax/typing.nit:1839,25
+            ../src/syntax/typing.nit:1839,27--41
+              ../src/syntax/typing.nit:1839,27
+                ../src/syntax/typing.nit:1839,27
+                'v' ... ../src/syntax/typing.nit:1839,27
+              'base_flow_ctx' ... ../src/syntax/typing.nit:1839,29--41
+          ../src/syntax/typing.nit:1840,3--30
+            ../src/syntax/typing.nit:1840,3
+              ../src/syntax/typing.nit:1840,3
+              'v' ... ../src/syntax/typing.nit:1840,3
+            'base_flow_ctx' ... ../src/syntax/typing.nit:1840,5--17
+            '=' ... ../src/syntax/typing.nit:1840,19
+            ../src/syntax/typing.nit:1840,21--30
+              ../src/syntax/typing.nit:1840,21
+                ../src/syntax/typing.nit:1840,21
+                'v' ... ../src/syntax/typing.nit:1840,21
+              'flow_ctx' ... ../src/syntax/typing.nit:1840,23--30
+          ../src/syntax/typing.nit:1841,3--36
+            ../src/syntax/typing.nit:1841,25
+            'variables' ... ../src/syntax/typing.nit:1841,3--11
+            '=' ... ../src/syntax/typing.nit:1841,13
+            ../src/syntax/typing.nit:1841,15--36
+              'new' ... ../src/syntax/typing.nit:1841,15--17
+              ../src/syntax/typing.nit:1841,19--36
+                'Array' ... ../src/syntax/typing.nit:1841,19--23
+                ../src/syntax/typing.nit:1841,25--36
+                  'AutoVariable' ... ../src/syntax/typing.nit:1841,25--36
+          ../src/syntax/typing.nit:1842,3--1846,30
+            'for' ... ../src/syntax/typing.nit:1842,3--5
+            'i' ... ../src/syntax/typing.nit:1842,7
+            ../src/syntax/typing.nit:1842,13--27
+              ../src/syntax/typing.nit:1842,13
+                '0' ... ../src/syntax/typing.nit:1842,13
+              ../src/syntax/typing.nit:1842,16--27
+                ../src/syntax/typing.nit:1842,16--20
+                  ../src/syntax/typing.nit:1842,16
+                  'n_ids' ... ../src/syntax/typing.nit:1842,16--20
+                'length' ... ../src/syntax/typing.nit:1842,22--27
+            'do' ... ../src/syntax/typing.nit:1842,30--31
+            ../src/syntax/typing.nit:1843,4--1846,30
+              ../src/syntax/typing.nit:1843,4--56
+                'var' ... ../src/syntax/typing.nit:1843,4--6
+                'va' ... ../src/syntax/typing.nit:1843,8--9
+                '=' ... ../src/syntax/typing.nit:1843,11
+                ../src/syntax/typing.nit:1843,13--56
+                  'new' ... ../src/syntax/typing.nit:1843,13--15
+                  ../src/syntax/typing.nit:1843,17--28
+                    'AutoVariable' ... ../src/syntax/typing.nit:1843,17--28
+                  ../src/syntax/typing.nit:1843,30--47
+                    ../src/syntax/typing.nit:1843,30--36
+                      ../src/syntax/typing.nit:1843,30--34
+                        ../src/syntax/typing.nit:1843,30
+                        'n_ids' ... ../src/syntax/typing.nit:1843,30--34
+                      ../src/syntax/typing.nit:1843,36
+                        ../src/syntax/typing.nit:1843,36
+                        'i' ... ../src/syntax/typing.nit:1843,36
+                    'to_symbol' ... ../src/syntax/typing.nit:1843,39--47
+                  ../src/syntax/typing.nit:1843,50--56
+                    ../src/syntax/typing.nit:1843,50--54
+                      ../src/syntax/typing.nit:1843,50
+                      'n_ids' ... ../src/syntax/typing.nit:1843,50--54
+                    ../src/syntax/typing.nit:1843,56
+                      ../src/syntax/typing.nit:1843,56
+                      'i' ... ../src/syntax/typing.nit:1843,56
+              ../src/syntax/typing.nit:1844,4--19
+                ../src/syntax/typing.nit:1844,4--12
+                  ../src/syntax/typing.nit:1844,4
+                  'variables' ... ../src/syntax/typing.nit:1844,4--12
+                'add' ... ../src/syntax/typing.nit:1844,14--16
+                ../src/syntax/typing.nit:1844,18--19
+                  ../src/syntax/typing.nit:1844,18
+                  'va' ... ../src/syntax/typing.nit:1844,18--19
+              ../src/syntax/typing.nit:1845,4--19
+                ../src/syntax/typing.nit:1845,4--5
+                  ../src/syntax/typing.nit:1845,4
+                  'va' ... ../src/syntax/typing.nit:1845,4--5
+                'stype' ... ../src/syntax/typing.nit:1845,7--11
+                '=' ... ../src/syntax/typing.nit:1845,13
+                ../src/syntax/typing.nit:1845,15--19
+                  ../src/syntax/typing.nit:1845,15--17
+                    ../src/syntax/typing.nit:1845,15
+                    'sig' ... ../src/syntax/typing.nit:1845,15--17
+                  ../src/syntax/typing.nit:1845,19
+                    ../src/syntax/typing.nit:1845,19
+                    'i' ... ../src/syntax/typing.nit:1845,19
+              ../src/syntax/typing.nit:1846,4--30
+                ../src/syntax/typing.nit:1846,4--14
+                  ../src/syntax/typing.nit:1846,4
+                    ../src/syntax/typing.nit:1846,4
+                    'v' ... ../src/syntax/typing.nit:1846,4
+                  'scope_ctx' ... ../src/syntax/typing.nit:1846,6--14
+                'add_variable' ... ../src/syntax/typing.nit:1846,16--27
+                ../src/syntax/typing.nit:1846,29--30
+                  ../src/syntax/typing.nit:1846,29
+                  'va' ... ../src/syntax/typing.nit:1846,29--30
+          ../src/syntax/typing.nit:1849,3--24
+            ../src/syntax/typing.nit:1849,21
+            '_accept_typing2' ... ../src/syntax/typing.nit:1849,3--17
+            '=' ... ../src/syntax/typing.nit:1849,19
+            ../src/syntax/typing.nit:1849,21--24
+              'true' ... ../src/syntax/typing.nit:1849,21--24
+          ../src/syntax/typing.nit:1850,3--17
+            ../src/syntax/typing.nit:1850,17
+            'accept_typing' ... ../src/syntax/typing.nit:1850,3--15
+            ../src/syntax/typing.nit:1850,17
+              ../src/syntax/typing.nit:1850,17
+              'v' ... ../src/syntax/typing.nit:1850,17
+          ../src/syntax/typing.nit:1852,3--1856,100
+            'if' ... ../src/syntax/typing.nit:1852,3--4
+            ../src/syntax/typing.nit:1852,6--32
+              ../src/syntax/typing.nit:1852,6--23
+                ../src/syntax/typing.nit:1852,6--15
+                  ../src/syntax/typing.nit:1852,6
+                    ../src/syntax/typing.nit:1852,6
+                    'v' ... ../src/syntax/typing.nit:1852,6
+                  'flow_ctx' ... ../src/syntax/typing.nit:1852,8--15
+                'unreash' ... ../src/syntax/typing.nit:1852,17--23
+              ../src/syntax/typing.nit:1852,28--32
+                'false' ... ../src/syntax/typing.nit:1852,28--32
+            ../src/syntax/typing.nit:1853,4--1856,100
+              ../src/syntax/typing.nit:1853,4--1856,100
+                'if' ... ../src/syntax/typing.nit:1853,4--5
+                ../src/syntax/typing.nit:1853,7--43
+                  ../src/syntax/typing.nit:1853,7--35
+                    ../src/syntax/typing.nit:1853,7--23
+                      ../src/syntax/typing.nit:1853,7--13
+                        ../src/syntax/typing.nit:1853,7
+                        'closure' ... ../src/syntax/typing.nit:1853,7--13
+                      'signature' ... ../src/syntax/typing.nit:1853,15--23
+                    'return_type' ... ../src/syntax/typing.nit:1853,25--35
+                  ../src/syntax/typing.nit:1853,40--43
+                    'null' ... ../src/syntax/typing.nit:1853,40--43
+                ../src/syntax/typing.nit:1854,5--97
+                  ../src/syntax/typing.nit:1854,5--97
+                    ../src/syntax/typing.nit:1854,5
+                      ../src/syntax/typing.nit:1854,5
+                      'v' ... ../src/syntax/typing.nit:1854,5
+                    'error' ... ../src/syntax/typing.nit:1854,7--11
+                    ../src/syntax/typing.nit:1854,13--16
+                      'self' ... ../src/syntax/typing.nit:1854,13--16
+                    ../src/syntax/typing.nit:1854,19--97
+                      '"Control error: Reached end of block (a 'continue' with a value was expected)."' ... ../src/syntax/typing.nit:1854,19--97
+                ../src/syntax/typing.nit:1855,9--1856,100
+                  'if' ... ../src/syntax/typing.nit:1855,9--10
+                  ../src/syntax/typing.nit:1855,12--54
+                    ../src/syntax/typing.nit:1855,12--27
+                      ../src/syntax/typing.nit:1855,12--18
+                        ../src/syntax/typing.nit:1855,12
+                        'closure' ... ../src/syntax/typing.nit:1855,12--18
+                      'is_break' ... ../src/syntax/typing.nit:1855,20--27
+                    ../src/syntax/typing.nit:1855,33--54
+                      ../src/syntax/typing.nit:1855,33--46
+                        ../src/syntax/typing.nit:1855,33--35
+                          ../src/syntax/typing.nit:1855,33
+                          'esc' ... ../src/syntax/typing.nit:1855,33--35
+                        'break_list' ... ../src/syntax/typing.nit:1855,37--46
+                      ../src/syntax/typing.nit:1855,51--54
+                        'null' ... ../src/syntax/typing.nit:1855,51--54
+                  ../src/syntax/typing.nit:1856,5--100
+                    ../src/syntax/typing.nit:1856,5--100
+                      ../src/syntax/typing.nit:1856,5
+                        ../src/syntax/typing.nit:1856,5
+                        'v' ... ../src/syntax/typing.nit:1856,5
+                      'error' ... ../src/syntax/typing.nit:1856,7--11
+                      ../src/syntax/typing.nit:1856,13--16
+                        'self' ... ../src/syntax/typing.nit:1856,13--16
+                      ../src/syntax/typing.nit:1856,19--100
+                        '"Control error: Reached end of break block (a 'break' with a value was expected)."' ... ../src/syntax/typing.nit:1856,19--100
+          ../src/syntax/typing.nit:1859,3--27
+            ../src/syntax/typing.nit:1859,3
+              ../src/syntax/typing.nit:1859,3
+              'v' ... ../src/syntax/typing.nit:1859,3
+            'flow_ctx' ... ../src/syntax/typing.nit:1859,5--12
+            '=' ... ../src/syntax/typing.nit:1859,14
+            ../src/syntax/typing.nit:1859,16--27
+              ../src/syntax/typing.nit:1859,16
+              'old_flow_ctx' ... ../src/syntax/typing.nit:1859,16--27
+          ../src/syntax/typing.nit:1860,3--37
+            ../src/syntax/typing.nit:1860,3
+              ../src/syntax/typing.nit:1860,3
+              'v' ... ../src/syntax/typing.nit:1860,3
+            'base_flow_ctx' ... ../src/syntax/typing.nit:1860,5--17
+            '=' ... ../src/syntax/typing.nit:1860,19
+            ../src/syntax/typing.nit:1860,21--37
+              ../src/syntax/typing.nit:1860,21
+              'old_base_flow_ctx' ... ../src/syntax/typing.nit:1860,21--37
+          ../src/syntax/typing.nit:1861,3--17
+            ../src/syntax/typing.nit:1861,3--13
+              ../src/syntax/typing.nit:1861,3
+                ../src/syntax/typing.nit:1861,3
+                'v' ... ../src/syntax/typing.nit:1861,3
+              'scope_ctx' ... ../src/syntax/typing.nit:1861,5--13
+            'pop' ... ../src/syntax/typing.nit:1861,15--17
+    ../src/syntax/typing.nit:1865,1--1890,54
+      ../src/syntax/typing.nit:1865,1
+      ../src/syntax/typing.nit:1865,1--5
+        'class' ... ../src/syntax/typing.nit:1865,1--5
+      'ATypeCheckExpr' ... ../src/syntax/typing.nit:1865,7--20
+      ../src/syntax/typing.nit:1866,2--12
+        'super' ... ../src/syntax/typing.nit:1866,2--6
+        ../src/syntax/typing.nit:1866,8--12
+          'AExpr' ... ../src/syntax/typing.nit:1866,8--12
+      ../src/syntax/typing.nit:1867,2--1890,54
+        ../src/syntax/typing.nit:1867,2--8
+          'private' ... ../src/syntax/typing.nit:1867,2--8
+        'fun' ... ../src/syntax/typing.nit:1867,10--12
+        ../src/syntax/typing.nit:1867,14--28
+          'check_expr_cast' ... ../src/syntax/typing.nit:1867,14--28
+        ../src/syntax/typing.nit:1867,30--75
+          ../src/syntax/typing.nit:1867,30--45
+            'v' ... ../src/syntax/typing.nit:1867,30
+            ../src/syntax/typing.nit:1867,33--45
+              'TypingVisitor' ... ../src/syntax/typing.nit:1867,33--45
+          ../src/syntax/typing.nit:1867,48--60
+            'n_expr' ... ../src/syntax/typing.nit:1867,48--53
+            ../src/syntax/typing.nit:1867,56--60
+              'AExpr' ... ../src/syntax/typing.nit:1867,56--60
+          ../src/syntax/typing.nit:1867,63--75
+            'n_type' ... ../src/syntax/typing.nit:1867,63--68
+            ../src/syntax/typing.nit:1867,71--75
+              'AType' ... ../src/syntax/typing.nit:1867,71--75
+        ../src/syntax/typing.nit:1869,3--1890,54
+          ../src/syntax/typing.nit:1869,3--41
+            'if' ... ../src/syntax/typing.nit:1869,3--4
+            ../src/syntax/typing.nit:1869,6--28
+              'not' ... ../src/syntax/typing.nit:1869,6--8
+              ../src/syntax/typing.nit:1869,10--28
+                ../src/syntax/typing.nit:1869,10
+                  ../src/syntax/typing.nit:1869,10
+                  'v' ... ../src/syntax/typing.nit:1869,10
+                'check_expr' ... ../src/syntax/typing.nit:1869,12--21
+                ../src/syntax/typing.nit:1869,23--28
+                  ../src/syntax/typing.nit:1869,23
+                  'n_expr' ... ../src/syntax/typing.nit:1869,23--28
+            ../src/syntax/typing.nit:1869,36--41
+              'return' ... ../src/syntax/typing.nit:1869,36--41
+          ../src/syntax/typing.nit:1870,3--36
+            'if' ... ../src/syntax/typing.nit:1870,3--4
+            ../src/syntax/typing.nit:1870,6--24
+              'not' ... ../src/syntax/typing.nit:1870,6--8
+              ../src/syntax/typing.nit:1870,10--24
+                ../src/syntax/typing.nit:1870,10--15
+                  ../src/syntax/typing.nit:1870,10
+                  'n_type' ... ../src/syntax/typing.nit:1870,10--15
+                'is_typed' ... ../src/syntax/typing.nit:1870,17--24
+            ../src/syntax/typing.nit:1870,31--36
+              'return' ... ../src/syntax/typing.nit:1870,31--36
+          ../src/syntax/typing.nit:1871,3--26
+            'var' ... ../src/syntax/typing.nit:1871,3--5
+            'etype' ... ../src/syntax/typing.nit:1871,7--11
+            '=' ... ../src/syntax/typing.nit:1871,13
+            ../src/syntax/typing.nit:1871,15--26
+              ../src/syntax/typing.nit:1871,15--20
+                ../src/syntax/typing.nit:1871,15
+                'n_expr' ... ../src/syntax/typing.nit:1871,15--20
+              'stype' ... ../src/syntax/typing.nit:1871,22--26
+          ../src/syntax/typing.nit:1872,3--26
+            'var' ... ../src/syntax/typing.nit:1872,3--5
+            'ttype' ... ../src/syntax/typing.nit:1872,7--11
+            '=' ... ../src/syntax/typing.nit:1872,13
+            ../src/syntax/typing.nit:1872,15--26
+              ../src/syntax/typing.nit:1872,15--20
+                ../src/syntax/typing.nit:1872,15
+                'n_type' ... ../src/syntax/typing.nit:1872,15--20
+              'stype' ... ../src/syntax/typing.nit:1872,22--26
+          ../src/syntax/typing.nit:1873,3--1890,54
+            'if' ... ../src/syntax/typing.nit:1873,3--4
+            ../src/syntax/typing.nit:1873,6--19
+              ../src/syntax/typing.nit:1873,6--10
+                ../src/syntax/typing.nit:1873,6
+                'etype' ... ../src/syntax/typing.nit:1873,6--10
+              ../src/syntax/typing.nit:1873,15--19
+                ../src/syntax/typing.nit:1873,15
+                'ttype' ... ../src/syntax/typing.nit:1873,15--19
+            ../src/syntax/typing.nit:1874,4--62
+              ../src/syntax/typing.nit:1874,4--62
+                ../src/syntax/typing.nit:1874,4
+                  ../src/syntax/typing.nit:1874,4
+                  'v' ... ../src/syntax/typing.nit:1874,4
+                'warning' ... ../src/syntax/typing.nit:1874,6--12
+                ../src/syntax/typing.nit:1874,14--17
+                  'self' ... ../src/syntax/typing.nit:1874,14--17
+                ../src/syntax/typing.nit:1874,20--62
+                  ../src/syntax/typing.nit:1874,20--54
+                    '"Warning: Expression is already a {' ... ../src/syntax/typing.nit:1874,20--54
+                  ../src/syntax/typing.nit:1874,55--59
+                    ../src/syntax/typing.nit:1874,55
+                    'ttype' ... ../src/syntax/typing.nit:1874,55--59
+                  ../src/syntax/typing.nit:1874,60--62
+                    '}."' ... ../src/syntax/typing.nit:1874,60--62
+            ../src/syntax/typing.nit:1875,8--1890,54
+              'if' ... ../src/syntax/typing.nit:1875,8--9
+              ../src/syntax/typing.nit:1875,11--23
+                ../src/syntax/typing.nit:1875,11--15
+                  ../src/syntax/typing.nit:1875,11
+                  'etype' ... ../src/syntax/typing.nit:1875,11--15
+                ../src/syntax/typing.nit:1875,19--23
+                  ../src/syntax/typing.nit:1875,19
+                  'ttype' ... ../src/syntax/typing.nit:1875,19--23
+              ../src/syntax/typing.nit:1876,4--84
+                ../src/syntax/typing.nit:1876,4--84
+                  ../src/syntax/typing.nit:1876,4
+                    ../src/syntax/typing.nit:1876,4
+                    'v' ... ../src/syntax/typing.nit:1876,4
+                  'warning' ... ../src/syntax/typing.nit:1876,6--12
+                  ../src/syntax/typing.nit:1876,14--17
+                    'self' ... ../src/syntax/typing.nit:1876,14--17
+                  ../src/syntax/typing.nit:1876,20--84
+                    ../src/syntax/typing.nit:1876,20--54
+                      '"Warning: Expression is already a {' ... ../src/syntax/typing.nit:1876,20--54
+                    ../src/syntax/typing.nit:1876,55--59
+                      ../src/syntax/typing.nit:1876,55
+                      'ttype' ... ../src/syntax/typing.nit:1876,55--59
+                    ../src/syntax/typing.nit:1876,60--76
+                      '} since it is a {' ... ../src/syntax/typing.nit:1876,60--76
+                    ../src/syntax/typing.nit:1876,77--81
+                      ../src/syntax/typing.nit:1876,77
+                      'etype' ... ../src/syntax/typing.nit:1876,77--81
+                    ../src/syntax/typing.nit:1876,82--84
+                      '}."' ... ../src/syntax/typing.nit:1876,82--84
+              ../src/syntax/typing.nit:1877,8--1890,54
+                'if' ... ../src/syntax/typing.nit:1877,8--9
+                ../src/syntax/typing.nit:1877,11--30
+                  ../src/syntax/typing.nit:1877,11--15
+                    ../src/syntax/typing.nit:1877,11
+                    'etype' ... ../src/syntax/typing.nit:1877,11--15
+                  ../src/syntax/typing.nit:1877,21--30
+                    'MMTypeNone' ... ../src/syntax/typing.nit:1877,21--30
+                ../src/syntax/typing.nit:1879,4--79
+                  ../src/syntax/typing.nit:1879,4--79
+                    ../src/syntax/typing.nit:1879,4
+                      ../src/syntax/typing.nit:1879,4
+                      'v' ... ../src/syntax/typing.nit:1879,4
+                    'warning' ... ../src/syntax/typing.nit:1879,6--12
+                    ../src/syntax/typing.nit:1879,14--17
+                      'self' ... ../src/syntax/typing.nit:1879,14--17
+                    ../src/syntax/typing.nit:1879,20--79
+                      ../src/syntax/typing.nit:1879,20--71
+                        '"Warning: Expression is null therefore cannot be a {' ... ../src/syntax/typing.nit:1879,20--71
+                      ../src/syntax/typing.nit:1879,72--76
+                        ../src/syntax/typing.nit:1879,72
+                        'ttype' ... ../src/syntax/typing.nit:1879,72--76
+                      ../src/syntax/typing.nit:1879,77--79
+                        '}."' ... ../src/syntax/typing.nit:1879,77--79
+                ../src/syntax/typing.nit:1880,8--1890,54
+                  'if' ... ../src/syntax/typing.nit:1880,8--9
+                  ../src/syntax/typing.nit:1880,11--57
+                    ../src/syntax/typing.nit:1880,11--27
+                      ../src/syntax/typing.nit:1880,11--15
+                        ../src/syntax/typing.nit:1880,11
+                        'etype' ... ../src/syntax/typing.nit:1880,11--15
+                      'is_nullable' ... ../src/syntax/typing.nit:1880,17--27
+                    ../src/syntax/typing.nit:1880,33--57
+                      ../src/syntax/typing.nit:1880,33--48
+                        ../src/syntax/typing.nit:1880,33--37
+                          ../src/syntax/typing.nit:1880,33
+                          'etype' ... ../src/syntax/typing.nit:1880,33--37
+                        'as_notnull' ... ../src/syntax/typing.nit:1880,39--48
+                      ../src/syntax/typing.nit:1880,53--57
+                        ../src/syntax/typing.nit:1880,53
+                        'ttype' ... ../src/syntax/typing.nit:1880,53--57
+                  ../src/syntax/typing.nit:1881,4--1890,54
+                    ../src/syntax/typing.nit:1881,4--1890,54
+                      'if' ... ../src/syntax/typing.nit:1881,4--5
+                      ../src/syntax/typing.nit:1881,7--56
+                        ../src/syntax/typing.nit:1881,7--28
+                          ../src/syntax/typing.nit:1881,7--11
+                            ../src/syntax/typing.nit:1881,7
+                            'ttype' ... ../src/syntax/typing.nit:1881,7--11
+                          ../src/syntax/typing.nit:1881,17--28
+                            'MMTypeFormal' ... ../src/syntax/typing.nit:1881,17--28
+                        ../src/syntax/typing.nit:1881,34--56
+                          ../src/syntax/typing.nit:1881,34--44
+                            ../src/syntax/typing.nit:1881,34--38
+                              ../src/syntax/typing.nit:1881,34
+                              'ttype' ... ../src/syntax/typing.nit:1881,34--38
+                            'bound' ... ../src/syntax/typing.nit:1881,40--44
+                          'is_nullable' ... ../src/syntax/typing.nit:1881,46--56
+                      ../src/syntax/typing.nit:1887,9--1890,54
+                        'if' ... ../src/syntax/typing.nit:1887,9--10
+                        ../src/syntax/typing.nit:1887,12--28
+                          ../src/syntax/typing.nit:1887,12--15
+                            'self' ... ../src/syntax/typing.nit:1887,12--15
+                          ../src/syntax/typing.nit:1887,21--28
+                            'AIsaExpr' ... ../src/syntax/typing.nit:1887,21--28
+                        ../src/syntax/typing.nit:1888,5--48
+                          ../src/syntax/typing.nit:1888,5--48
+                            ../src/syntax/typing.nit:1888,5
+                              ../src/syntax/typing.nit:1888,5
+                              'v' ... ../src/syntax/typing.nit:1888,5
+                            'warning' ... ../src/syntax/typing.nit:1888,7--13
+                            ../src/syntax/typing.nit:1888,15--18
+                              'self' ... ../src/syntax/typing.nit:1888,15--18
+                            ../src/syntax/typing.nit:1888,21--48
+                              '"Warning: Prefer '!= null'."' ... ../src/syntax/typing.nit:1888,21--48
+                        ../src/syntax/typing.nit:1890,5--54
+                          ../src/syntax/typing.nit:1890,5--54
+                            ../src/syntax/typing.nit:1890,5
+                              ../src/syntax/typing.nit:1890,5
+                              'v' ... ../src/syntax/typing.nit:1890,5
+                            'warning' ... ../src/syntax/typing.nit:1890,7--13
+                            ../src/syntax/typing.nit:1890,15--18
+                              'self' ... ../src/syntax/typing.nit:1890,15--18
+                            ../src/syntax/typing.nit:1890,21--54
+                              '"Warning: Prefer '.as(not null)'."' ... ../src/syntax/typing.nit:1890,21--54
+    ../src/syntax/typing.nit:1896,1--1907,18
+      'redef' ... ../src/syntax/typing.nit:1896,1--5
+      ../src/syntax/typing.nit:1896,7
+      ../src/syntax/typing.nit:1896,7--11
+        'class' ... ../src/syntax/typing.nit:1896,7--11
+      'AIsaExpr' ... ../src/syntax/typing.nit:1896,13--20
+      ../src/syntax/typing.nit:1897,2--21
+        'super' ... ../src/syntax/typing.nit:1897,2--6
+        ../src/syntax/typing.nit:1897,8--21
+          'ATypeCheckExpr' ... ../src/syntax/typing.nit:1897,8--21
+      ../src/syntax/typing.nit:1898,2--1907,18
+        'redef' ... ../src/syntax/typing.nit:1898,2--6
+        ../src/syntax/typing.nit:1898,12
+        'fun' ... ../src/syntax/typing.nit:1898,8--10
+        ../src/syntax/typing.nit:1898,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1898,12--23
+        ../src/syntax/typing.nit:1898,25
+          ../src/syntax/typing.nit:1898,25
+            'v' ... ../src/syntax/typing.nit:1898,25
+        ../src/syntax/typing.nit:1900,3--1907,18
+          ../src/syntax/typing.nit:1900,3--35
+            ../src/syntax/typing.nit:1900,19
+            'check_expr_cast' ... ../src/syntax/typing.nit:1900,3--17
+            ../src/syntax/typing.nit:1900,19
+              ../src/syntax/typing.nit:1900,19
+              'v' ... ../src/syntax/typing.nit:1900,19
+            ../src/syntax/typing.nit:1900,22--27
+              ../src/syntax/typing.nit:1900,22
+              'n_expr' ... ../src/syntax/typing.nit:1900,22--27
+            ../src/syntax/typing.nit:1900,30--35
+              ../src/syntax/typing.nit:1900,30
+              'n_type' ... ../src/syntax/typing.nit:1900,30--35
+          ../src/syntax/typing.nit:1901,3--36
+            'if' ... ../src/syntax/typing.nit:1901,3--4
+            ../src/syntax/typing.nit:1901,6--24
+              'not' ... ../src/syntax/typing.nit:1901,6--8
+              ../src/syntax/typing.nit:1901,10--24
+                ../src/syntax/typing.nit:1901,10--15
+                  ../src/syntax/typing.nit:1901,10
+                  'n_type' ... ../src/syntax/typing.nit:1901,10--15
+                'is_typed' ... ../src/syntax/typing.nit:1901,17--24
+            ../src/syntax/typing.nit:1901,31--36
+              'return' ... ../src/syntax/typing.nit:1901,31--36
+          ../src/syntax/typing.nit:1902,3--36
+            'var' ... ../src/syntax/typing.nit:1902,3--5
+            'variable' ... ../src/syntax/typing.nit:1902,7--14
+            '=' ... ../src/syntax/typing.nit:1902,16
+            ../src/syntax/typing.nit:1902,18--36
+              ../src/syntax/typing.nit:1902,18--23
+                ../src/syntax/typing.nit:1902,18
+                'n_expr' ... ../src/syntax/typing.nit:1902,18--23
+              'its_variable' ... ../src/syntax/typing.nit:1902,25--36
+          ../src/syntax/typing.nit:1903,3--1904,71
+            'if' ... ../src/syntax/typing.nit:1903,3--4
+            ../src/syntax/typing.nit:1903,6--21
+              ../src/syntax/typing.nit:1903,6--13
+                ../src/syntax/typing.nit:1903,6
+                'variable' ... ../src/syntax/typing.nit:1903,6--13
+              ../src/syntax/typing.nit:1903,18--21
+                'null' ... ../src/syntax/typing.nit:1903,18--21
+            ../src/syntax/typing.nit:1904,4--71
+              ../src/syntax/typing.nit:1904,4--71
+                ../src/syntax/typing.nit:1904,24
+                '_if_true_flow_ctx' ... ../src/syntax/typing.nit:1904,4--20
+                '=' ... ../src/syntax/typing.nit:1904,22
+                ../src/syntax/typing.nit:1904,24--71
+                  ../src/syntax/typing.nit:1904,24--33
+                    ../src/syntax/typing.nit:1904,24
+                      ../src/syntax/typing.nit:1904,24
+                      'v' ... ../src/syntax/typing.nit:1904,24
+                    'flow_ctx' ... ../src/syntax/typing.nit:1904,26--33
+                  'sub_with' ... ../src/syntax/typing.nit:1904,35--42
+                  ../src/syntax/typing.nit:1904,44--47
+                    'self' ... ../src/syntax/typing.nit:1904,44--47
+                  ../src/syntax/typing.nit:1904,50--57
+                    ../src/syntax/typing.nit:1904,50
+                    'variable' ... ../src/syntax/typing.nit:1904,50--57
+                  ../src/syntax/typing.nit:1904,60--71
+                    ../src/syntax/typing.nit:1904,60--65
+                      ../src/syntax/typing.nit:1904,60
+                      'n_type' ... ../src/syntax/typing.nit:1904,60--65
+                    'stype' ... ../src/syntax/typing.nit:1904,67--71
+          ../src/syntax/typing.nit:1906,3--22
+            ../src/syntax/typing.nit:1906,12
+            '_stype' ... ../src/syntax/typing.nit:1906,3--8
+            '=' ... ../src/syntax/typing.nit:1906,10
+            ../src/syntax/typing.nit:1906,12--22
+              ../src/syntax/typing.nit:1906,12
+                ../src/syntax/typing.nit:1906,12
+                'v' ... ../src/syntax/typing.nit:1906,12
+              'type_bool' ... ../src/syntax/typing.nit:1906,14--22
+          ../src/syntax/typing.nit:1907,3--18
+            ../src/syntax/typing.nit:1907,15
+            '_is_typed' ... ../src/syntax/typing.nit:1907,3--11
+            '=' ... ../src/syntax/typing.nit:1907,13
+            ../src/syntax/typing.nit:1907,15--18
+              'true' ... ../src/syntax/typing.nit:1907,15--18
+    ../src/syntax/typing.nit:1911,1--1918,28
+      'redef' ... ../src/syntax/typing.nit:1911,1--5
+      ../src/syntax/typing.nit:1911,7
+      ../src/syntax/typing.nit:1911,7--11
+        'class' ... ../src/syntax/typing.nit:1911,7--11
+      'AAsCastExpr' ... ../src/syntax/typing.nit:1911,13--23
+      ../src/syntax/typing.nit:1912,2--21
+        'super' ... ../src/syntax/typing.nit:1912,2--6
+        ../src/syntax/typing.nit:1912,8--21
+          'ATypeCheckExpr' ... ../src/syntax/typing.nit:1912,8--21
+      ../src/syntax/typing.nit:1913,2--1918,28
+        'redef' ... ../src/syntax/typing.nit:1913,2--6
+        ../src/syntax/typing.nit:1913,12
+        'fun' ... ../src/syntax/typing.nit:1913,8--10
+        ../src/syntax/typing.nit:1913,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1913,12--23
+        ../src/syntax/typing.nit:1913,25
+          ../src/syntax/typing.nit:1913,25
+            'v' ... ../src/syntax/typing.nit:1913,25
+        ../src/syntax/typing.nit:1915,3--1918,28
+          ../src/syntax/typing.nit:1915,3--35
+            ../src/syntax/typing.nit:1915,19
+            'check_expr_cast' ... ../src/syntax/typing.nit:1915,3--17
+            ../src/syntax/typing.nit:1915,19
+              ../src/syntax/typing.nit:1915,19
+              'v' ... ../src/syntax/typing.nit:1915,19
+            ../src/syntax/typing.nit:1915,22--27
+              ../src/syntax/typing.nit:1915,22
+              'n_expr' ... ../src/syntax/typing.nit:1915,22--27
+            ../src/syntax/typing.nit:1915,30--35
+              ../src/syntax/typing.nit:1915,30
+              'n_type' ... ../src/syntax/typing.nit:1915,30--35
+          ../src/syntax/typing.nit:1916,3--36
+            'if' ... ../src/syntax/typing.nit:1916,3--4
+            ../src/syntax/typing.nit:1916,6--24
+              'not' ... ../src/syntax/typing.nit:1916,6--8
+              ../src/syntax/typing.nit:1916,10--24
+                ../src/syntax/typing.nit:1916,10--15
+                  ../src/syntax/typing.nit:1916,10
+                  'n_type' ... ../src/syntax/typing.nit:1916,10--15
+                'is_typed' ... ../src/syntax/typing.nit:1916,17--24
+            ../src/syntax/typing.nit:1916,31--36
+              'return' ... ../src/syntax/typing.nit:1916,31--36
+          ../src/syntax/typing.nit:1917,3--23
+            ../src/syntax/typing.nit:1917,12
+            '_stype' ... ../src/syntax/typing.nit:1917,3--8
+            '=' ... ../src/syntax/typing.nit:1917,10
+            ../src/syntax/typing.nit:1917,12--23
+              ../src/syntax/typing.nit:1917,12--17
+                ../src/syntax/typing.nit:1917,12
+                'n_type' ... ../src/syntax/typing.nit:1917,12--17
+              'stype' ... ../src/syntax/typing.nit:1917,19--23
+          ../src/syntax/typing.nit:1918,3--28
+            ../src/syntax/typing.nit:1918,15
+            '_is_typed' ... ../src/syntax/typing.nit:1918,3--11
+            '=' ... ../src/syntax/typing.nit:1918,13
+            ../src/syntax/typing.nit:1918,15--28
+              ../src/syntax/typing.nit:1918,15--20
+                ../src/syntax/typing.nit:1918,15
+                '_stype' ... ../src/syntax/typing.nit:1918,15--20
+              ../src/syntax/typing.nit:1918,25--28
+                'null' ... ../src/syntax/typing.nit:1918,25--28
+    ../src/syntax/typing.nit:1922,1--1934,18
+      'redef' ... ../src/syntax/typing.nit:1922,1--5
+      ../src/syntax/typing.nit:1922,7
+      ../src/syntax/typing.nit:1922,7--11
+        'class' ... ../src/syntax/typing.nit:1922,7--11
+      'AAsNotnullExpr' ... ../src/syntax/typing.nit:1922,13--26
+      ../src/syntax/typing.nit:1923,2--1934,18
+        'redef' ... ../src/syntax/typing.nit:1923,2--6
+        ../src/syntax/typing.nit:1923,12
+        'fun' ... ../src/syntax/typing.nit:1923,8--10
+        ../src/syntax/typing.nit:1923,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1923,12--23
+        ../src/syntax/typing.nit:1923,25
+          ../src/syntax/typing.nit:1923,25
+            'v' ... ../src/syntax/typing.nit:1923,25
+        ../src/syntax/typing.nit:1925,3--1934,18
+          ../src/syntax/typing.nit:1925,3--41
+            'if' ... ../src/syntax/typing.nit:1925,3--4
+            ../src/syntax/typing.nit:1925,6--28
+              'not' ... ../src/syntax/typing.nit:1925,6--8
+              ../src/syntax/typing.nit:1925,10--28
+                ../src/syntax/typing.nit:1925,10
+                  ../src/syntax/typing.nit:1925,10
+                  'v' ... ../src/syntax/typing.nit:1925,10
+                'check_expr' ... ../src/syntax/typing.nit:1925,12--21
+                ../src/syntax/typing.nit:1925,23--28
+                  ../src/syntax/typing.nit:1925,23
+                  'n_expr' ... ../src/syntax/typing.nit:1925,23--28
+            ../src/syntax/typing.nit:1925,36--41
+              'return' ... ../src/syntax/typing.nit:1925,36--41
+          ../src/syntax/typing.nit:1926,3--22
+            'var' ... ../src/syntax/typing.nit:1926,3--5
+            't' ... ../src/syntax/typing.nit:1926,7
+            '=' ... ../src/syntax/typing.nit:1926,9
+            ../src/syntax/typing.nit:1926,11--22
+              ../src/syntax/typing.nit:1926,11--16
+                ../src/syntax/typing.nit:1926,11
+                'n_expr' ... ../src/syntax/typing.nit:1926,11--16
+              'stype' ... ../src/syntax/typing.nit:1926,18--22
+          ../src/syntax/typing.nit:1927,3--1931,68
+            'if' ... ../src/syntax/typing.nit:1927,3--4
+            ../src/syntax/typing.nit:1927,6--21
+              ../src/syntax/typing.nit:1927,6
+                ../src/syntax/typing.nit:1927,6
+                't' ... ../src/syntax/typing.nit:1927,6
+              ../src/syntax/typing.nit:1927,12--21
+                'MMTypeNone' ... ../src/syntax/typing.nit:1927,12--21
+            ../src/syntax/typing.nit:1928,4--1929,9
+              ../src/syntax/typing.nit:1928,4--64
+                ../src/syntax/typing.nit:1928,4
+                  ../src/syntax/typing.nit:1928,4
+                  'v' ... ../src/syntax/typing.nit:1928,4
+                'error' ... ../src/syntax/typing.nit:1928,6--10
+                ../src/syntax/typing.nit:1928,12--17
+                  ../src/syntax/typing.nit:1928,12
+                  'n_expr' ... ../src/syntax/typing.nit:1928,12--17
+                ../src/syntax/typing.nit:1928,20--64
+                  '"Type error: 'as(not null)' on 'null' value."' ... ../src/syntax/typing.nit:1928,20--64
+              ../src/syntax/typing.nit:1929,4--9
+                'return' ... ../src/syntax/typing.nit:1929,4--9
+            ../src/syntax/typing.nit:1930,8--1931,68
+              'if' ... ../src/syntax/typing.nit:1930,8--9
+              ../src/syntax/typing.nit:1930,11--27
+                'not' ... ../src/syntax/typing.nit:1930,11--13
+                ../src/syntax/typing.nit:1930,15--27
+                  ../src/syntax/typing.nit:1930,15
+                    ../src/syntax/typing.nit:1930,15
+                    't' ... ../src/syntax/typing.nit:1930,15
+                  'is_nullable' ... ../src/syntax/typing.nit:1930,17--27
+              ../src/syntax/typing.nit:1931,4--68
+                ../src/syntax/typing.nit:1931,4--68
+                  ../src/syntax/typing.nit:1931,4
+                    ../src/syntax/typing.nit:1931,4
+                    'v' ... ../src/syntax/typing.nit:1931,4
+                  'warning' ... ../src/syntax/typing.nit:1931,6--12
+                  ../src/syntax/typing.nit:1931,14--19
+                    ../src/syntax/typing.nit:1931,14
+                    'n_expr' ... ../src/syntax/typing.nit:1931,14--19
+                  ../src/syntax/typing.nit:1931,22--68
+                    '"Warning: 'as(not null)' on non nullable type."' ... ../src/syntax/typing.nit:1931,22--68
+          ../src/syntax/typing.nit:1933,3--34
+            ../src/syntax/typing.nit:1933,12
+            '_stype' ... ../src/syntax/typing.nit:1933,3--8
+            '=' ... ../src/syntax/typing.nit:1933,10
+            ../src/syntax/typing.nit:1933,12--34
+              ../src/syntax/typing.nit:1933,12--23
+                ../src/syntax/typing.nit:1933,12--17
+                  ../src/syntax/typing.nit:1933,12
+                  'n_expr' ... ../src/syntax/typing.nit:1933,12--17
+                'stype' ... ../src/syntax/typing.nit:1933,19--23
+              'as_notnull' ... ../src/syntax/typing.nit:1933,25--34
+          ../src/syntax/typing.nit:1934,3--18
+            ../src/syntax/typing.nit:1934,15
+            '_is_typed' ... ../src/syntax/typing.nit:1934,3--11
+            '=' ... ../src/syntax/typing.nit:1934,13
+            ../src/syntax/typing.nit:1934,15--18
+              'true' ... ../src/syntax/typing.nit:1934,15--18
+    ../src/syntax/typing.nit:1938,1--1944,23
+      'redef' ... ../src/syntax/typing.nit:1938,1--5
+      ../src/syntax/typing.nit:1938,7
+      ../src/syntax/typing.nit:1938,7--11
+        'class' ... ../src/syntax/typing.nit:1938,7--11
+      'AProxyExpr' ... ../src/syntax/typing.nit:1938,13--22
+      ../src/syntax/typing.nit:1939,2--1944,23
+        'redef' ... ../src/syntax/typing.nit:1939,2--6
+        ../src/syntax/typing.nit:1939,12
+        'fun' ... ../src/syntax/typing.nit:1939,8--10
+        ../src/syntax/typing.nit:1939,12--23
+          'after_typing' ... ../src/syntax/typing.nit:1939,12--23
+        ../src/syntax/typing.nit:1939,25
+          ../src/syntax/typing.nit:1939,25
+            'v' ... ../src/syntax/typing.nit:1939,25
+        ../src/syntax/typing.nit:1941,3--1944,23
+          ../src/syntax/typing.nit:1941,3--36
+            'if' ... ../src/syntax/typing.nit:1941,3--4
+            ../src/syntax/typing.nit:1941,6--24
+              'not' ... ../src/syntax/typing.nit:1941,6--8
+              ../src/syntax/typing.nit:1941,10--24
+                ../src/syntax/typing.nit:1941,10--15
+                  ../src/syntax/typing.nit:1941,10
+                  'n_expr' ... ../src/syntax/typing.nit:1941,10--15
+                'is_typed' ... ../src/syntax/typing.nit:1941,17--24
+            ../src/syntax/typing.nit:1941,31--36
+              'return' ... ../src/syntax/typing.nit:1941,31--36
+          ../src/syntax/typing.nit:1942,3--18
+            ../src/syntax/typing.nit:1942,15
+            '_is_typed' ... ../src/syntax/typing.nit:1942,3--11
+            '=' ... ../src/syntax/typing.nit:1942,13
+            ../src/syntax/typing.nit:1942,15--18
+              'true' ... ../src/syntax/typing.nit:1942,15--18
+          ../src/syntax/typing.nit:1943,3--36
+            'if' ... ../src/syntax/typing.nit:1943,3--4
+            ../src/syntax/typing.nit:1943,6--24
+              ../src/syntax/typing.nit:1943,6--11
+                ../src/syntax/typing.nit:1943,6
+                'n_expr' ... ../src/syntax/typing.nit:1943,6--11
+              'is_statement' ... ../src/syntax/typing.nit:1943,13--24
+            ../src/syntax/typing.nit:1943,31--36
+              'return' ... ../src/syntax/typing.nit:1943,31--36
+          ../src/syntax/typing.nit:1944,3--23
+            ../src/syntax/typing.nit:1944,12
+            '_stype' ... ../src/syntax/typing.nit:1944,3--8
+            '=' ... ../src/syntax/typing.nit:1944,10
+            ../src/syntax/typing.nit:1944,12--23
+              ../src/syntax/typing.nit:1944,12--17
+                ../src/syntax/typing.nit:1944,12
+                'n_expr' ... ../src/syntax/typing.nit:1944,12--17
+              'stype' ... ../src/syntax/typing.nit:1944,19--23
+    ../src/syntax/typing.nit:1948,1--1958,33
+      'redef' ... ../src/syntax/typing.nit:1948,1--5
+      ../src/syntax/typing.nit:1948,7
+      ../src/syntax/typing.nit:1948,7--11
+        'class' ... ../src/syntax/typing.nit:1948,7--11
+      'AOnceExpr' ... ../src/syntax/typing.nit:1948,13--21
+      ../src/syntax/typing.nit:1949,2--1958,33
+        'redef' ... ../src/syntax/typing.nit:1949,2--6
+        ../src/syntax/typing.nit:1949,12
+        'fun' ... ../src/syntax/typing.nit:1949,8--10
+        ../src/syntax/typing.nit:1949,12--24
+          'accept_typing' ... ../src/syntax/typing.nit:1949,12--24
+        ../src/syntax/typing.nit:1949,26
+          ../src/syntax/typing.nit:1949,26
+            'v' ... ../src/syntax/typing.nit:1949,26
+        ../src/syntax/typing.nit:1951,3--1958,33
+          ../src/syntax/typing.nit:1951,3--1952,55
+            'if' ... ../src/syntax/typing.nit:1951,3--4
+            ../src/syntax/typing.nit:1951,6--21
+              ../src/syntax/typing.nit:1951,6--17
+                ../src/syntax/typing.nit:1951,6
+                  ../src/syntax/typing.nit:1951,6
+                  'v' ... ../src/syntax/typing.nit:1951,6
+                'once_count' ... ../src/syntax/typing.nit:1951,8--17
+              ../src/syntax/typing.nit:1951,21
+                '0' ... ../src/syntax/typing.nit:1951,21
+            ../src/syntax/typing.nit:1952,4--55
+              ../src/syntax/typing.nit:1952,4--55
+                ../src/syntax/typing.nit:1952,4
+                  ../src/syntax/typing.nit:1952,4
+                  'v' ... ../src/syntax/typing.nit:1952,4
+                'warning' ... ../src/syntax/typing.nit:1952,6--12
+                ../src/syntax/typing.nit:1952,14--17
+                  'self' ... ../src/syntax/typing.nit:1952,14--17
+                ../src/syntax/typing.nit:1952,20--55
+                  '"Useless once in a once expression."' ... ../src/syntax/typing.nit:1952,20--55
+          ../src/syntax/typing.nit:1954,3--33
+            ../src/syntax/typing.nit:1954,3
+              ../src/syntax/typing.nit:1954,3
+              'v' ... ../src/syntax/typing.nit:1954,3
+            'once_count' ... ../src/syntax/typing.nit:1954,5--14
+            '=' ... ../src/syntax/typing.nit:1954,16
+            ../src/syntax/typing.nit:1954,18--33
+              ../src/syntax/typing.nit:1954,18--29
+                ../src/syntax/typing.nit:1954,18
+                  ../src/syntax/typing.nit:1954,18
+                  'v' ... ../src/syntax/typing.nit:1954,18
+                'once_count' ... ../src/syntax/typing.nit:1954,20--29
+              ../src/syntax/typing.nit:1954,33
+                '1' ... ../src/syntax/typing.nit:1954,33
+          ../src/syntax/typing.nit:1956,3--7
+            'super' ... ../src/syntax/typing.nit:1956,3--7
+          ../src/syntax/typing.nit:1958,3--33
+            ../src/syntax/typing.nit:1958,3
+              ../src/syntax/typing.nit:1958,3
+              'v' ... ../src/syntax/typing.nit:1958,3
+            'once_count' ... ../src/syntax/typing.nit:1958,5--14
+            '=' ... ../src/syntax/typing.nit:1958,16
+            ../src/syntax/typing.nit:1958,18--33
+              ../src/syntax/typing.nit:1958,18--29
+                ../src/syntax/typing.nit:1958,18
+                  ../src/syntax/typing.nit:1958,18
+                  'v' ... ../src/syntax/typing.nit:1958,18
+                'once_count' ... ../src/syntax/typing.nit:1958,20--29
+              ../src/syntax/typing.nit:1958,33
+                '1' ... ../src/syntax/typing.nit:1958,33
+  '' ... ../src/syntax/typing.nit:1962,1
diff --git a/tests/sav/test_parser_args2.sav b/tests/sav/test_parser_args2.sav
new file mode 100644 (file)
index 0000000..480ba4f
--- /dev/null
@@ -0,0 +1,12537 @@
+Read token at ../src/syntax/typing.nit:1,1--2,0 text='# This file is part of NIT ( http://www.nitlanguage.org ).
+'
+Read token at ../src/syntax/typing.nit:2,1--3,0 text='#
+'
+Read token at ../src/syntax/typing.nit:3,1--4,0 text='# Copyright 2008 Jean Privat <jean@pryen.org>
+'
+Read token at ../src/syntax/typing.nit:4,1--5,0 text='#
+'
+Read token at ../src/syntax/typing.nit:5,1--6,0 text='# Licensed under the Apache License, Version 2.0 (the "License");
+'
+Read token at ../src/syntax/typing.nit:6,1--7,0 text='# you may not use this file except in compliance with the License.
+'
+Read token at ../src/syntax/typing.nit:7,1--8,0 text='# You may obtain a copy of the License at
+'
+Read token at ../src/syntax/typing.nit:8,1--9,0 text='#
+'
+Read token at ../src/syntax/typing.nit:9,1--10,0 text='#     http://www.apache.org/licenses/LICENSE-2.0
+'
+Read token at ../src/syntax/typing.nit:10,1--11,0 text='#
+'
+Read token at ../src/syntax/typing.nit:11,1--12,0 text='# Unless required by applicable law or agreed to in writing, software
+'
+Read token at ../src/syntax/typing.nit:12,1--13,0 text='# distributed under the License is distributed on an "AS IS" BASIS,
+'
+Read token at ../src/syntax/typing.nit:13,1--14,0 text='# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+'
+Read token at ../src/syntax/typing.nit:14,1--15,0 text='# See the License for the specific language governing permissions and
+'
+Read token at ../src/syntax/typing.nit:15,1--16,0 text='# limitations under the License.
+'
+Read token at ../src/syntax/typing.nit:16,1--17,0 text='
+'
+Read token at ../src/syntax/typing.nit:17,1--18,0 text='# Analysis property bodies, statements and expressions
+'
+Read token at ../src/syntax/typing.nit:18,1--7 text='package'
+Read token at ../src/syntax/typing.nit:18,9--14 text='typing'
+Read token at ../src/syntax/typing.nit:18,15--19,0 text='
+'
+Read token at ../src/syntax/typing.nit:19,1--20,0 text='
+'
+Read token at ../src/syntax/typing.nit:20,1--6 text='import'
+Read token at ../src/syntax/typing.nit:20,8--18 text='syntax_base'
+Read token at ../src/syntax/typing.nit:20,19--21,0 text='
+'
+Read token at ../src/syntax/typing.nit:21,1--6 text='import'
+Read token at ../src/syntax/typing.nit:21,8--11 text='flow'
+Read token at ../src/syntax/typing.nit:21,12--22,0 text='
+'
+Read token at ../src/syntax/typing.nit:22,1--6 text='import'
+Read token at ../src/syntax/typing.nit:22,8--12 text='scope'
+Read token at ../src/syntax/typing.nit:22,13--23,0 text='
+'
+Read token at ../src/syntax/typing.nit:23,1--24,0 text='
+'
+Read token at ../src/syntax/typing.nit:24,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:24,7--11 text='class'
+Read token at ../src/syntax/typing.nit:24,13--23 text='MMSrcModule'
+Read token at ../src/syntax/typing.nit:24,24--25,0 text='
+'
+Read token at ../src/syntax/typing.nit:25,2--26,0 text='# Walk trough the module and type statments and expressions
+'
+Read token at ../src/syntax/typing.nit:26,2--27,0 text='# Require than supermodules are processed
+'
+Read token at ../src/syntax/typing.nit:27,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:27,6--14 text='do_typing'
+Read token at ../src/syntax/typing.nit:27,15 text='('
+Read token at ../src/syntax/typing.nit:27,16--17 text='tc'
+Read token at ../src/syntax/typing.nit:27,18 text=':'
+Read token at ../src/syntax/typing.nit:27,20--30 text='ToolContext'
+Read token at ../src/syntax/typing.nit:27,31 text=')'
+Read token at ../src/syntax/typing.nit:27,32--28,0 text='
+'
+Read token at ../src/syntax/typing.nit:28,2--3 text='do'
+Read token at ../src/syntax/typing.nit:28,4--29,0 text='
+'
+Read token at ../src/syntax/typing.nit:29,3--5 text='var'
+Read token at ../src/syntax/typing.nit:29,7--8 text='tv'
+Read token at ../src/syntax/typing.nit:29,10 text='='
+Read token at ../src/syntax/typing.nit:29,12--14 text='new'
+Read token at ../src/syntax/typing.nit:29,16--28 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:29,29 text='('
+Read token at ../src/syntax/typing.nit:29,30--31 text='tc'
+Read token at ../src/syntax/typing.nit:29,32 text=','
+Read token at ../src/syntax/typing.nit:29,34--37 text='self'
+Read token at ../src/syntax/typing.nit:29,38 text=')'
+Read token at ../src/syntax/typing.nit:29,39--30,0 text='
+'
+Read token at ../src/syntax/typing.nit:30,3--4 text='tv'
+Read token at ../src/syntax/typing.nit:30,5 text='.'
+Read token at ../src/syntax/typing.nit:30,6--16 text='enter_visit'
+Read token at ../src/syntax/typing.nit:30,17 text='('
+Read token at ../src/syntax/typing.nit:30,18--21 text='node'
+Read token at ../src/syntax/typing.nit:30,22 text=')'
+Read token at ../src/syntax/typing.nit:30,23--31,0 text='
+'
+Read token at ../src/syntax/typing.nit:31,2--4 text='end'
+Read token at ../src/syntax/typing.nit:31,5--32,0 text='
+'
+Read token at ../src/syntax/typing.nit:32,1--3 text='end'
+Read token at ../src/syntax/typing.nit:32,4--33,0 text='
+'
+Read token at ../src/syntax/typing.nit:33,1--34,0 text='
+'
+Read token at ../src/syntax/typing.nit:34,1--35,0 text='# Typing visitor
+'
+Read token at ../src/syntax/typing.nit:35,1--36,0 text='# * Associate local variables to nodes
+'
+Read token at ../src/syntax/typing.nit:36,1--37,0 text='# * Distinguish method call and local variable access
+'
+Read token at ../src/syntax/typing.nit:37,1--38,0 text='# * Resolve call and attribute access
+'
+Read token at ../src/syntax/typing.nit:38,1--39,0 text='# * Check type conformance
+'
+Read token at ../src/syntax/typing.nit:39,1--7 text='private'
+Read token at ../src/syntax/typing.nit:39,9--13 text='class'
+Read token at ../src/syntax/typing.nit:39,15--27 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:39,28--40,0 text='
+'
+Read token at ../src/syntax/typing.nit:40,2--6 text='super'
+Read token at ../src/syntax/typing.nit:40,8--23 text='AbsSyntaxVisitor'
+Read token at ../src/syntax/typing.nit:40,24--41,0 text='
+'
+Read token at ../src/syntax/typing.nit:41,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:41,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:41,12--16 text='visit'
+Read token at ../src/syntax/typing.nit:41,17 text='('
+Read token at ../src/syntax/typing.nit:41,18 text='n'
+Read token at ../src/syntax/typing.nit:41,19 text=')'
+Read token at ../src/syntax/typing.nit:41,20--42,0 text='
+'
+Read token at ../src/syntax/typing.nit:42,2--3 text='do'
+Read token at ../src/syntax/typing.nit:42,4--43,0 text='
+'
+Read token at ../src/syntax/typing.nit:43,3--4 text='if'
+Read token at ../src/syntax/typing.nit:43,6 text='n'
+Read token at ../src/syntax/typing.nit:43,8--9 text='!='
+Read token at ../src/syntax/typing.nit:43,11--14 text='null'
+Read token at ../src/syntax/typing.nit:43,16--19 text='then'
+Read token at ../src/syntax/typing.nit:43,21 text='n'
+Read token at ../src/syntax/typing.nit:43,22 text='.'
+Read token at ../src/syntax/typing.nit:43,23--35 text='accept_typing'
+Read token at ../src/syntax/typing.nit:43,36 text='('
+Read token at ../src/syntax/typing.nit:43,37--40 text='self'
+Read token at ../src/syntax/typing.nit:43,41 text=')'
+Read token at ../src/syntax/typing.nit:43,42--44,0 text='
+'
+Read token at ../src/syntax/typing.nit:44,2--4 text='end'
+Read token at ../src/syntax/typing.nit:44,5--45,0 text='
+'
+Read token at ../src/syntax/typing.nit:45,1--46,0 text='
+'
+Read token at ../src/syntax/typing.nit:46,2--47,0 text='# Current knowledge about scoped things (variable, labels, etc.)
+'
+Read token at ../src/syntax/typing.nit:47,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:47,11--13 text='var'
+Read token at ../src/syntax/typing.nit:47,15--24 text='_scope_ctx'
+Read token at ../src/syntax/typing.nit:47,25 text=':'
+Read token at ../src/syntax/typing.nit:47,27--38 text='ScopeContext'
+Read token at ../src/syntax/typing.nit:47,40 text='='
+Read token at ../src/syntax/typing.nit:47,42--44 text='new'
+Read token at ../src/syntax/typing.nit:47,46--57 text='ScopeContext'
+Read token at ../src/syntax/typing.nit:47,58 text='('
+Read token at ../src/syntax/typing.nit:47,59--62 text='self'
+Read token at ../src/syntax/typing.nit:47,63 text=')'
+Read token at ../src/syntax/typing.nit:47,64--48,0 text='
+'
+Read token at ../src/syntax/typing.nit:48,1--49,0 text='
+'
+Read token at ../src/syntax/typing.nit:49,2--50,0 text='# Current knowledge about control flow
+'
+Read token at ../src/syntax/typing.nit:50,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:50,6--13 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:50,14 text=':'
+Read token at ../src/syntax/typing.nit:50,16--26 text='FlowContext'
+Read token at ../src/syntax/typing.nit:50,28--29 text='do'
+Read token at ../src/syntax/typing.nit:50,31--36 text='return'
+Read token at ../src/syntax/typing.nit:50,38--46 text='_flow_ctx'
+Read token at ../src/syntax/typing.nit:50,47 text='.'
+Read token at ../src/syntax/typing.nit:50,48--49 text='as'
+Read token at ../src/syntax/typing.nit:50,50 text='('
+Read token at ../src/syntax/typing.nit:50,51--53 text='not'
+Read token at ../src/syntax/typing.nit:50,55--58 text='null'
+Read token at ../src/syntax/typing.nit:50,59 text=')'
+Read token at ../src/syntax/typing.nit:50,60--51,0 text='
+'
+Read token at ../src/syntax/typing.nit:51,2--9 text='writable'
+Read token at ../src/syntax/typing.nit:51,11--13 text='var'
+Read token at ../src/syntax/typing.nit:51,15--23 text='_flow_ctx'
+Read token at ../src/syntax/typing.nit:51,24 text=':'
+Read token at ../src/syntax/typing.nit:51,26--33 text='nullable'
+Read token at ../src/syntax/typing.nit:51,35--45 text='FlowContext'
+Read token at ../src/syntax/typing.nit:51,46--52,0 text='
+'
+Read token at ../src/syntax/typing.nit:52,1--53,0 text='
+'
+Read token at ../src/syntax/typing.nit:53,2--54,0 text='# Mark a local variable as set
+'
+Read token at ../src/syntax/typing.nit:54,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:54,6--16 text='mark_is_set'
+Read token at ../src/syntax/typing.nit:54,17 text='('
+Read token at ../src/syntax/typing.nit:54,18--19 text='va'
+Read token at ../src/syntax/typing.nit:54,20 text=':'
+Read token at ../src/syntax/typing.nit:54,22--29 text='Variable'
+Read token at ../src/syntax/typing.nit:54,30 text=')'
+Read token at ../src/syntax/typing.nit:54,31--55,0 text='
+'
+Read token at ../src/syntax/typing.nit:55,2--3 text='do'
+Read token at ../src/syntax/typing.nit:55,4--56,0 text='
+'
+Read token at ../src/syntax/typing.nit:56,3--4 text='if'
+Read token at ../src/syntax/typing.nit:56,6--13 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:56,14 text='.'
+Read token at ../src/syntax/typing.nit:56,15--20 text='is_set'
+Read token at ../src/syntax/typing.nit:56,21 text='('
+Read token at ../src/syntax/typing.nit:56,22--23 text='va'
+Read token at ../src/syntax/typing.nit:56,24 text=')'
+Read token at ../src/syntax/typing.nit:56,26--29 text='then'
+Read token at ../src/syntax/typing.nit:56,31--36 text='return'
+Read token at ../src/syntax/typing.nit:56,37--57,0 text='
+'
+Read token at ../src/syntax/typing.nit:57,3--10 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:57,12 text='='
+Read token at ../src/syntax/typing.nit:57,14--21 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:57,22 text='.'
+Read token at ../src/syntax/typing.nit:57,23--37 text='sub_setvariable'
+Read token at ../src/syntax/typing.nit:57,38 text='('
+Read token at ../src/syntax/typing.nit:57,39--40 text='va'
+Read token at ../src/syntax/typing.nit:57,41 text=')'
+Read token at ../src/syntax/typing.nit:57,42--58,0 text='
+'
+Read token at ../src/syntax/typing.nit:58,2--4 text='end'
+Read token at ../src/syntax/typing.nit:58,5--59,0 text='
+'
+Read token at ../src/syntax/typing.nit:59,1--60,0 text='
+'
+Read token at ../src/syntax/typing.nit:60,2--61,0 text='# Mark the flow context as unreashable
+'
+Read token at ../src/syntax/typing.nit:61,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:61,6--17 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:61,18 text='('
+Read token at ../src/syntax/typing.nit:61,19 text='n'
+Read token at ../src/syntax/typing.nit:61,20 text=':'
+Read token at ../src/syntax/typing.nit:61,22--26 text='ANode'
+Read token at ../src/syntax/typing.nit:61,27 text=')'
+Read token at ../src/syntax/typing.nit:61,28--62,0 text='
+'
+Read token at ../src/syntax/typing.nit:62,2--3 text='do'
+Read token at ../src/syntax/typing.nit:62,4--63,0 text='
+'
+Read token at ../src/syntax/typing.nit:63,3--10 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:63,12 text='='
+Read token at ../src/syntax/typing.nit:63,14--21 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:63,22 text='.'
+Read token at ../src/syntax/typing.nit:63,23--33 text='sub_unreash'
+Read token at ../src/syntax/typing.nit:63,34 text='('
+Read token at ../src/syntax/typing.nit:63,35 text='n'
+Read token at ../src/syntax/typing.nit:63,36 text=')'
+Read token at ../src/syntax/typing.nit:63,37--64,0 text='
+'
+Read token at ../src/syntax/typing.nit:64,2--4 text='end'
+Read token at ../src/syntax/typing.nit:64,5--65,0 text='
+'
+Read token at ../src/syntax/typing.nit:65,1--66,0 text='
+'
+Read token at ../src/syntax/typing.nit:66,2--67,0 text='# Enter in an expression as inside a new local variable scope
+'
+Read token at ../src/syntax/typing.nit:67,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:67,6--22 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:67,23 text='('
+Read token at ../src/syntax/typing.nit:67,24--27 text='node'
+Read token at ../src/syntax/typing.nit:67,28 text=':'
+Read token at ../src/syntax/typing.nit:67,30--37 text='nullable'
+Read token at ../src/syntax/typing.nit:67,39--43 text='AExpr'
+Read token at ../src/syntax/typing.nit:67,44 text=')'
+Read token at ../src/syntax/typing.nit:67,45--68,0 text='
+'
+Read token at ../src/syntax/typing.nit:68,2--3 text='do'
+Read token at ../src/syntax/typing.nit:68,4--69,0 text='
+'
+Read token at ../src/syntax/typing.nit:69,3--4 text='if'
+Read token at ../src/syntax/typing.nit:69,6--9 text='node'
+Read token at ../src/syntax/typing.nit:69,11--12 text='=='
+Read token at ../src/syntax/typing.nit:69,14--17 text='null'
+Read token at ../src/syntax/typing.nit:69,19--22 text='then'
+Read token at ../src/syntax/typing.nit:69,24--29 text='return'
+Read token at ../src/syntax/typing.nit:69,30--70,0 text='
+'
+Read token at ../src/syntax/typing.nit:70,3--11 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:70,12 text='.'
+Read token at ../src/syntax/typing.nit:70,13--16 text='push'
+Read token at ../src/syntax/typing.nit:70,17 text='('
+Read token at ../src/syntax/typing.nit:70,18--21 text='node'
+Read token at ../src/syntax/typing.nit:70,22 text=')'
+Read token at ../src/syntax/typing.nit:70,23--71,0 text='
+'
+Read token at ../src/syntax/typing.nit:71,3--13 text='enter_visit'
+Read token at ../src/syntax/typing.nit:71,14 text='('
+Read token at ../src/syntax/typing.nit:71,15--18 text='node'
+Read token at ../src/syntax/typing.nit:71,19 text=')'
+Read token at ../src/syntax/typing.nit:71,20--72,0 text='
+'
+Read token at ../src/syntax/typing.nit:72,3--11 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:72,12 text='.'
+Read token at ../src/syntax/typing.nit:72,13--15 text='pop'
+Read token at ../src/syntax/typing.nit:72,16--73,0 text='
+'
+Read token at ../src/syntax/typing.nit:73,2--4 text='end'
+Read token at ../src/syntax/typing.nit:73,5--74,0 text='
+'
+Read token at ../src/syntax/typing.nit:74,1--75,0 text='
+'
+Read token at ../src/syntax/typing.nit:75,2--76,0 text='# Non-bypassable knowledge about variables names and types
+'
+Read token at ../src/syntax/typing.nit:76,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:76,6--18 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:76,19 text=':'
+Read token at ../src/syntax/typing.nit:76,21--31 text='FlowContext'
+Read token at ../src/syntax/typing.nit:76,33--34 text='do'
+Read token at ../src/syntax/typing.nit:76,36--41 text='return'
+Read token at ../src/syntax/typing.nit:76,43--56 text='_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:76,57 text='.'
+Read token at ../src/syntax/typing.nit:76,58--59 text='as'
+Read token at ../src/syntax/typing.nit:76,60 text='('
+Read token at ../src/syntax/typing.nit:76,61--63 text='not'
+Read token at ../src/syntax/typing.nit:76,65--68 text='null'
+Read token at ../src/syntax/typing.nit:76,69 text=')'
+Read token at ../src/syntax/typing.nit:76,70--77,0 text='
+'
+Read token at ../src/syntax/typing.nit:77,2--9 text='writable'
+Read token at ../src/syntax/typing.nit:77,11--13 text='var'
+Read token at ../src/syntax/typing.nit:77,15--28 text='_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:77,29 text=':'
+Read token at ../src/syntax/typing.nit:77,31--38 text='nullable'
+Read token at ../src/syntax/typing.nit:77,40--50 text='FlowContext'
+Read token at ../src/syntax/typing.nit:77,51--78,0 text='
+'
+Read token at ../src/syntax/typing.nit:78,1--79,0 text='
+'
+Read token at ../src/syntax/typing.nit:79,2--80,0 text='# The current reciever
+'
+Read token at ../src/syntax/typing.nit:80,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:80,6--13 text='self_var'
+Read token at ../src/syntax/typing.nit:80,14 text=':'
+Read token at ../src/syntax/typing.nit:80,16--28 text='ParamVariable'
+Read token at ../src/syntax/typing.nit:80,30--31 text='do'
+Read token at ../src/syntax/typing.nit:80,33--38 text='return'
+Read token at ../src/syntax/typing.nit:80,40--48 text='_self_var'
+Read token at ../src/syntax/typing.nit:80,49 text='.'
+Read token at ../src/syntax/typing.nit:80,50--51 text='as'
+Read token at ../src/syntax/typing.nit:80,52 text='('
+Read token at ../src/syntax/typing.nit:80,53--55 text='not'
+Read token at ../src/syntax/typing.nit:80,57--60 text='null'
+Read token at ../src/syntax/typing.nit:80,61 text=')'
+Read token at ../src/syntax/typing.nit:80,62--81,0 text='
+'
+Read token at ../src/syntax/typing.nit:81,2--9 text='writable'
+Read token at ../src/syntax/typing.nit:81,11--13 text='var'
+Read token at ../src/syntax/typing.nit:81,15--23 text='_self_var'
+Read token at ../src/syntax/typing.nit:81,24 text=':'
+Read token at ../src/syntax/typing.nit:81,26--33 text='nullable'
+Read token at ../src/syntax/typing.nit:81,35--47 text='ParamVariable'
+Read token at ../src/syntax/typing.nit:81,48--82,0 text='
+'
+Read token at ../src/syntax/typing.nit:82,1--83,0 text='
+'
+Read token at ../src/syntax/typing.nit:83,2--84,0 text='# Block of the current method
+'
+Read token at ../src/syntax/typing.nit:84,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:84,11--18 text='writable'
+Read token at ../src/syntax/typing.nit:84,20--22 text='var'
+Read token at ../src/syntax/typing.nit:84,24--33 text='_top_block'
+Read token at ../src/syntax/typing.nit:84,34 text=':'
+Read token at ../src/syntax/typing.nit:84,36--43 text='nullable'
+Read token at ../src/syntax/typing.nit:84,45--49 text='AExpr'
+Read token at ../src/syntax/typing.nit:84,50--85,0 text='
+'
+Read token at ../src/syntax/typing.nit:85,1--86,0 text='
+'
+Read token at ../src/syntax/typing.nit:86,2--87,0 text='# List of explicit invocation of constructors of super-classes
+'
+Read token at ../src/syntax/typing.nit:87,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:87,11--18 text='writable'
+Read token at ../src/syntax/typing.nit:87,20--22 text='var'
+Read token at ../src/syntax/typing.nit:87,24--49 text='_explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:87,50 text=':'
+Read token at ../src/syntax/typing.nit:87,52--59 text='nullable'
+Read token at ../src/syntax/typing.nit:87,61--65 text='Array'
+Read token at ../src/syntax/typing.nit:87,66 text='['
+Read token at ../src/syntax/typing.nit:87,67--74 text='MMMethod'
+Read token at ../src/syntax/typing.nit:87,75 text=']'
+Read token at ../src/syntax/typing.nit:87,76--88,0 text='
+'
+Read token at ../src/syntax/typing.nit:88,1--89,0 text='
+'
+Read token at ../src/syntax/typing.nit:89,2--90,0 text='# Is a other constructor of the same class invoked
+'
+Read token at ../src/syntax/typing.nit:90,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:90,11--18 text='writable'
+Read token at ../src/syntax/typing.nit:90,20--22 text='var'
+Read token at ../src/syntax/typing.nit:90,24--48 text='_explicit_other_init_call'
+Read token at ../src/syntax/typing.nit:90,49 text=':'
+Read token at ../src/syntax/typing.nit:90,51--54 text='Bool'
+Read token at ../src/syntax/typing.nit:90,56 text='='
+Read token at ../src/syntax/typing.nit:90,58--62 text='false'
+Read token at ../src/syntax/typing.nit:90,63--91,0 text='
+'
+Read token at ../src/syntax/typing.nit:91,1--92,0 text='
+'
+Read token at ../src/syntax/typing.nit:92,2--93,0 text='# Make the if_true_flow_ctx of the expression effective
+'
+Read token at ../src/syntax/typing.nit:93,2--8 text='private'
+Read token at ../src/syntax/typing.nit:93,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:93,14--33 text='use_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:93,34 text='('
+Read token at ../src/syntax/typing.nit:93,35 text='e'
+Read token at ../src/syntax/typing.nit:93,36 text=':'
+Read token at ../src/syntax/typing.nit:93,38--42 text='AExpr'
+Read token at ../src/syntax/typing.nit:93,43 text=')'
+Read token at ../src/syntax/typing.nit:93,44--94,0 text='
+'
+Read token at ../src/syntax/typing.nit:94,2--3 text='do'
+Read token at ../src/syntax/typing.nit:94,4--95,0 text='
+'
+Read token at ../src/syntax/typing.nit:95,3--5 text='var'
+Read token at ../src/syntax/typing.nit:95,7--9 text='ctx'
+Read token at ../src/syntax/typing.nit:95,11 text='='
+Read token at ../src/syntax/typing.nit:95,13 text='e'
+Read token at ../src/syntax/typing.nit:95,14 text='.'
+Read token at ../src/syntax/typing.nit:95,15--30 text='if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:95,31--96,0 text='
+'
+Read token at ../src/syntax/typing.nit:96,3--4 text='if'
+Read token at ../src/syntax/typing.nit:96,6--8 text='ctx'
+Read token at ../src/syntax/typing.nit:96,10--11 text='!='
+Read token at ../src/syntax/typing.nit:96,13--16 text='null'
+Read token at ../src/syntax/typing.nit:96,18--21 text='then'
+Read token at ../src/syntax/typing.nit:96,23--30 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:96,32 text='='
+Read token at ../src/syntax/typing.nit:96,34--36 text='ctx'
+Read token at ../src/syntax/typing.nit:96,37--97,0 text='
+'
+Read token at ../src/syntax/typing.nit:97,2--4 text='end'
+Read token at ../src/syntax/typing.nit:97,5--98,0 text='
+'
+Read token at ../src/syntax/typing.nit:98,1--99,0 text='
+'
+Read token at ../src/syntax/typing.nit:99,2--100,0 text='# Make the if_false_flow_ctx of the expression effective
+'
+Read token at ../src/syntax/typing.nit:100,2--8 text='private'
+Read token at ../src/syntax/typing.nit:100,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:100,14--34 text='use_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:100,35 text='('
+Read token at ../src/syntax/typing.nit:100,36 text='e'
+Read token at ../src/syntax/typing.nit:100,37 text=':'
+Read token at ../src/syntax/typing.nit:100,39--43 text='AExpr'
+Read token at ../src/syntax/typing.nit:100,44 text=')'
+Read token at ../src/syntax/typing.nit:100,45--101,0 text='
+'
+Read token at ../src/syntax/typing.nit:101,2--3 text='do'
+Read token at ../src/syntax/typing.nit:101,4--102,0 text='
+'
+Read token at ../src/syntax/typing.nit:102,3--5 text='var'
+Read token at ../src/syntax/typing.nit:102,7--9 text='ctx'
+Read token at ../src/syntax/typing.nit:102,11 text='='
+Read token at ../src/syntax/typing.nit:102,13 text='e'
+Read token at ../src/syntax/typing.nit:102,14 text='.'
+Read token at ../src/syntax/typing.nit:102,15--31 text='if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:102,32--103,0 text='
+'
+Read token at ../src/syntax/typing.nit:103,3--4 text='if'
+Read token at ../src/syntax/typing.nit:103,6--8 text='ctx'
+Read token at ../src/syntax/typing.nit:103,10--11 text='!='
+Read token at ../src/syntax/typing.nit:103,13--16 text='null'
+Read token at ../src/syntax/typing.nit:103,18--21 text='then'
+Read token at ../src/syntax/typing.nit:103,23--30 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:103,32 text='='
+Read token at ../src/syntax/typing.nit:103,34--36 text='ctx'
+Read token at ../src/syntax/typing.nit:103,37--104,0 text='
+'
+Read token at ../src/syntax/typing.nit:104,2--4 text='end'
+Read token at ../src/syntax/typing.nit:104,5--105,0 text='
+'
+Read token at ../src/syntax/typing.nit:105,1--106,0 text='
+'
+Read token at ../src/syntax/typing.nit:106,2--107,0 text='# Are we inside a default closure definition ?
+'
+Read token at ../src/syntax/typing.nit:107,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:107,11--18 text='writable'
+Read token at ../src/syntax/typing.nit:107,20--22 text='var'
+Read token at ../src/syntax/typing.nit:107,24--53 text='_is_default_closure_definition'
+Read token at ../src/syntax/typing.nit:107,54 text=':'
+Read token at ../src/syntax/typing.nit:107,56--59 text='Bool'
+Read token at ../src/syntax/typing.nit:107,61 text='='
+Read token at ../src/syntax/typing.nit:107,63--67 text='false'
+Read token at ../src/syntax/typing.nit:107,68--108,0 text='
+'
+Read token at ../src/syntax/typing.nit:108,1--109,0 text='
+'
+Read token at ../src/syntax/typing.nit:109,2--110,0 text='# Number of nested once
+'
+Read token at ../src/syntax/typing.nit:110,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:110,11--18 text='writable'
+Read token at ../src/syntax/typing.nit:110,20--22 text='var'
+Read token at ../src/syntax/typing.nit:110,24--34 text='_once_count'
+Read token at ../src/syntax/typing.nit:110,35 text=':'
+Read token at ../src/syntax/typing.nit:110,37--39 text='Int'
+Read token at ../src/syntax/typing.nit:110,41 text='='
+Read token at ../src/syntax/typing.nit:110,43 text='0'
+Read token at ../src/syntax/typing.nit:110,44--111,0 text='
+'
+Read token at ../src/syntax/typing.nit:111,1--112,0 text='
+'
+Read token at ../src/syntax/typing.nit:112,2--5 text='init'
+Read token at ../src/syntax/typing.nit:112,6 text='('
+Read token at ../src/syntax/typing.nit:112,7--8 text='tc'
+Read token at ../src/syntax/typing.nit:112,9 text=','
+Read token at ../src/syntax/typing.nit:112,11--13 text='mod'
+Read token at ../src/syntax/typing.nit:112,14 text=')'
+Read token at ../src/syntax/typing.nit:112,16--17 text='do'
+Read token at ../src/syntax/typing.nit:112,19--23 text='super'
+Read token at ../src/syntax/typing.nit:112,24--113,0 text='
+'
+Read token at ../src/syntax/typing.nit:113,1--114,0 text='
+'
+Read token at ../src/syntax/typing.nit:114,2--8 text='private'
+Read token at ../src/syntax/typing.nit:114,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:114,14--40 text='get_default_constructor_for'
+Read token at ../src/syntax/typing.nit:114,41 text='('
+Read token at ../src/syntax/typing.nit:114,42 text='n'
+Read token at ../src/syntax/typing.nit:114,43 text=':'
+Read token at ../src/syntax/typing.nit:114,45--49 text='ANode'
+Read token at ../src/syntax/typing.nit:114,50 text=','
+Read token at ../src/syntax/typing.nit:114,52 text='c'
+Read token at ../src/syntax/typing.nit:114,53 text=':'
+Read token at ../src/syntax/typing.nit:114,55--66 text='MMLocalClass'
+Read token at ../src/syntax/typing.nit:114,67 text=','
+Read token at ../src/syntax/typing.nit:114,69--72 text='prop'
+Read token at ../src/syntax/typing.nit:114,73 text=':'
+Read token at ../src/syntax/typing.nit:114,75--85 text='MMSrcMethod'
+Read token at ../src/syntax/typing.nit:114,86 text=')'
+Read token at ../src/syntax/typing.nit:114,87 text=':'
+Read token at ../src/syntax/typing.nit:114,89--96 text='nullable'
+Read token at ../src/syntax/typing.nit:114,98--105 text='MMMethod'
+Read token at ../src/syntax/typing.nit:114,106--115,0 text='
+'
+Read token at ../src/syntax/typing.nit:115,2--3 text='do'
+Read token at ../src/syntax/typing.nit:115,4--116,0 text='
+'
+Read token at ../src/syntax/typing.nit:116,3--5 text='var'
+Read token at ../src/syntax/typing.nit:116,7 text='v'
+Read token at ../src/syntax/typing.nit:116,9 text='='
+Read token at ../src/syntax/typing.nit:116,11--14 text='self'
+Read token at ../src/syntax/typing.nit:116,15--117,0 text='
+'
+Read token at ../src/syntax/typing.nit:117,3--118,0 text='#var prop = v.local_property
+'
+Read token at ../src/syntax/typing.nit:118,3--119,0 text='#assert prop isa MMMethod
+'
+Read token at ../src/syntax/typing.nit:119,3--5 text='var'
+Read token at ../src/syntax/typing.nit:119,7--16 text='candidates'
+Read token at ../src/syntax/typing.nit:119,18 text='='
+Read token at ../src/syntax/typing.nit:119,20--22 text='new'
+Read token at ../src/syntax/typing.nit:119,24--28 text='Array'
+Read token at ../src/syntax/typing.nit:119,29 text='['
+Read token at ../src/syntax/typing.nit:119,30--37 text='MMMethod'
+Read token at ../src/syntax/typing.nit:119,38 text=']'
+Read token at ../src/syntax/typing.nit:119,39--120,0 text='
+'
+Read token at ../src/syntax/typing.nit:120,3--5 text='var'
+Read token at ../src/syntax/typing.nit:120,7--22 text='false_candidates'
+Read token at ../src/syntax/typing.nit:120,24 text='='
+Read token at ../src/syntax/typing.nit:120,26--28 text='new'
+Read token at ../src/syntax/typing.nit:120,30--34 text='Array'
+Read token at ../src/syntax/typing.nit:120,35 text='['
+Read token at ../src/syntax/typing.nit:120,36--43 text='MMMethod'
+Read token at ../src/syntax/typing.nit:120,44 text=']'
+Read token at ../src/syntax/typing.nit:120,45--121,0 text='
+'
+Read token at ../src/syntax/typing.nit:121,3--5 text='var'
+Read token at ../src/syntax/typing.nit:121,7--12 text='parity'
+Read token at ../src/syntax/typing.nit:121,14 text='='
+Read token at ../src/syntax/typing.nit:121,16--19 text='prop'
+Read token at ../src/syntax/typing.nit:121,20 text='.'
+Read token at ../src/syntax/typing.nit:121,21--29 text='signature'
+Read token at ../src/syntax/typing.nit:121,30 text='.'
+Read token at ../src/syntax/typing.nit:121,31--35 text='arity'
+Read token at ../src/syntax/typing.nit:121,36--122,0 text='
+'
+Read token at ../src/syntax/typing.nit:122,3--5 text='for'
+Read token at ../src/syntax/typing.nit:122,7 text='g'
+Read token at ../src/syntax/typing.nit:122,9--10 text='in'
+Read token at ../src/syntax/typing.nit:122,12 text='c'
+Read token at ../src/syntax/typing.nit:122,13 text='.'
+Read token at ../src/syntax/typing.nit:122,14--30 text='global_properties'
+Read token at ../src/syntax/typing.nit:122,32--33 text='do'
+Read token at ../src/syntax/typing.nit:122,34--123,0 text='
+'
+Read token at ../src/syntax/typing.nit:123,4--5 text='if'
+Read token at ../src/syntax/typing.nit:123,7--9 text='not'
+Read token at ../src/syntax/typing.nit:123,11 text='g'
+Read token at ../src/syntax/typing.nit:123,12 text='.'
+Read token at ../src/syntax/typing.nit:123,13--23 text='is_init_for'
+Read token at ../src/syntax/typing.nit:123,24 text='('
+Read token at ../src/syntax/typing.nit:123,25 text='c'
+Read token at ../src/syntax/typing.nit:123,26 text=')'
+Read token at ../src/syntax/typing.nit:123,28--31 text='then'
+Read token at ../src/syntax/typing.nit:123,33--40 text='continue'
+Read token at ../src/syntax/typing.nit:123,41--124,0 text='
+'
+Read token at ../src/syntax/typing.nit:124,4--6 text='var'
+Read token at ../src/syntax/typing.nit:124,8--9 text='gp'
+Read token at ../src/syntax/typing.nit:124,11 text='='
+Read token at ../src/syntax/typing.nit:124,13 text='c'
+Read token at ../src/syntax/typing.nit:124,14 text='['
+Read token at ../src/syntax/typing.nit:124,15 text='g'
+Read token at ../src/syntax/typing.nit:124,16 text=']'
+Read token at ../src/syntax/typing.nit:124,17--125,0 text='
+'
+Read token at ../src/syntax/typing.nit:125,4--6 text='var'
+Read token at ../src/syntax/typing.nit:125,8--10 text='gps'
+Read token at ../src/syntax/typing.nit:125,12 text='='
+Read token at ../src/syntax/typing.nit:125,14--15 text='gp'
+Read token at ../src/syntax/typing.nit:125,16 text='.'
+Read token at ../src/syntax/typing.nit:125,17--29 text='signature_for'
+Read token at ../src/syntax/typing.nit:125,30 text='('
+Read token at ../src/syntax/typing.nit:125,31 text='c'
+Read token at ../src/syntax/typing.nit:125,32 text='.'
+Read token at ../src/syntax/typing.nit:125,33--40 text='get_type'
+Read token at ../src/syntax/typing.nit:125,41 text=')'
+Read token at ../src/syntax/typing.nit:125,42--126,0 text='
+'
+Read token at ../src/syntax/typing.nit:126,4--9 text='assert'
+Read token at ../src/syntax/typing.nit:126,11--12 text='gp'
+Read token at ../src/syntax/typing.nit:126,14--16 text='isa'
+Read token at ../src/syntax/typing.nit:126,18--28 text='MMSrcMethod'
+Read token at ../src/syntax/typing.nit:126,29--127,0 text='
+'
+Read token at ../src/syntax/typing.nit:127,4--6 text='var'
+Read token at ../src/syntax/typing.nit:127,8--13 text='garity'
+Read token at ../src/syntax/typing.nit:127,15 text='='
+Read token at ../src/syntax/typing.nit:127,17--19 text='gps'
+Read token at ../src/syntax/typing.nit:127,20 text='.'
+Read token at ../src/syntax/typing.nit:127,21--25 text='arity'
+Read token at ../src/syntax/typing.nit:127,26--128,0 text='
+'
+Read token at ../src/syntax/typing.nit:128,4--5 text='if'
+Read token at ../src/syntax/typing.nit:128,7--8 text='gp'
+Read token at ../src/syntax/typing.nit:128,9 text='.'
+Read token at ../src/syntax/typing.nit:128,10--13 text='name'
+Read token at ../src/syntax/typing.nit:128,15--16 text='=='
+Read token at ../src/syntax/typing.nit:128,18--21 text='prop'
+Read token at ../src/syntax/typing.nit:128,22 text='.'
+Read token at ../src/syntax/typing.nit:128,23--26 text='name'
+Read token at ../src/syntax/typing.nit:128,28--31 text='then'
+Read token at ../src/syntax/typing.nit:128,32--129,0 text='
+'
+Read token at ../src/syntax/typing.nit:129,5--6 text='if'
+Read token at ../src/syntax/typing.nit:129,8--13 text='garity'
+Read token at ../src/syntax/typing.nit:129,15--16 text='=='
+Read token at ../src/syntax/typing.nit:129,18 text='0'
+Read token at ../src/syntax/typing.nit:129,20--21 text='or'
+Read token at ../src/syntax/typing.nit:129,23 text='('
+Read token at ../src/syntax/typing.nit:129,24--29 text='parity'
+Read token at ../src/syntax/typing.nit:129,31--32 text='=='
+Read token at ../src/syntax/typing.nit:129,34--39 text='garity'
+Read token at ../src/syntax/typing.nit:129,41--43 text='and'
+Read token at ../src/syntax/typing.nit:129,45--48 text='prop'
+Read token at ../src/syntax/typing.nit:129,49 text='.'
+Read token at ../src/syntax/typing.nit:129,50--58 text='signature'
+Read token at ../src/syntax/typing.nit:129,60 text='<'
+Read token at ../src/syntax/typing.nit:129,62--64 text='gps'
+Read token at ../src/syntax/typing.nit:129,65 text=')'
+Read token at ../src/syntax/typing.nit:129,67--70 text='then'
+Read token at ../src/syntax/typing.nit:129,71--130,0 text='
+'
+Read token at ../src/syntax/typing.nit:130,6--11 text='return'
+Read token at ../src/syntax/typing.nit:130,13--14 text='gp'
+Read token at ../src/syntax/typing.nit:130,15--131,0 text='
+'
+Read token at ../src/syntax/typing.nit:131,5--8 text='else'
+Read token at ../src/syntax/typing.nit:131,9--132,0 text='
+'
+Read token at ../src/syntax/typing.nit:132,6--21 text='false_candidates'
+Read token at ../src/syntax/typing.nit:132,22 text='.'
+Read token at ../src/syntax/typing.nit:132,23--25 text='add'
+Read token at ../src/syntax/typing.nit:132,26 text='('
+Read token at ../src/syntax/typing.nit:132,27--28 text='gp'
+Read token at ../src/syntax/typing.nit:132,29 text=')'
+Read token at ../src/syntax/typing.nit:132,30--133,0 text='
+'
+Read token at ../src/syntax/typing.nit:133,5--7 text='end'
+Read token at ../src/syntax/typing.nit:133,8--134,0 text='
+'
+Read token at ../src/syntax/typing.nit:134,4--7 text='else'
+Read token at ../src/syntax/typing.nit:134,9--10 text='if'
+Read token at ../src/syntax/typing.nit:134,12--17 text='garity'
+Read token at ../src/syntax/typing.nit:134,19--20 text='=='
+Read token at ../src/syntax/typing.nit:134,22 text='0'
+Read token at ../src/syntax/typing.nit:134,24--26 text='and'
+Read token at ../src/syntax/typing.nit:134,28--29 text='gp'
+Read token at ../src/syntax/typing.nit:134,30 text='.'
+Read token at ../src/syntax/typing.nit:134,31--34 text='name'
+Read token at ../src/syntax/typing.nit:134,36--37 text='=='
+Read token at ../src/syntax/typing.nit:134,39--42 text='once'
+Read token at ../src/syntax/typing.nit:134,44 text='('
+Read token at ../src/syntax/typing.nit:134,45--50 text='"init"'
+Read token at ../src/syntax/typing.nit:134,51 text='.'
+Read token at ../src/syntax/typing.nit:134,52--60 text='to_symbol'
+Read token at ../src/syntax/typing.nit:134,61 text=')'
+Read token at ../src/syntax/typing.nit:134,63--66 text='then'
+Read token at ../src/syntax/typing.nit:134,67--135,0 text='
+'
+Read token at ../src/syntax/typing.nit:135,5--14 text='candidates'
+Read token at ../src/syntax/typing.nit:135,15 text='.'
+Read token at ../src/syntax/typing.nit:135,16--18 text='add'
+Read token at ../src/syntax/typing.nit:135,19 text='('
+Read token at ../src/syntax/typing.nit:135,20--21 text='gp'
+Read token at ../src/syntax/typing.nit:135,22 text=')'
+Read token at ../src/syntax/typing.nit:135,23--136,0 text='
+'
+Read token at ../src/syntax/typing.nit:136,5--20 text='false_candidates'
+Read token at ../src/syntax/typing.nit:136,21 text='.'
+Read token at ../src/syntax/typing.nit:136,22--24 text='add'
+Read token at ../src/syntax/typing.nit:136,25 text='('
+Read token at ../src/syntax/typing.nit:136,26--27 text='gp'
+Read token at ../src/syntax/typing.nit:136,28 text=')'
+Read token at ../src/syntax/typing.nit:136,29--137,0 text='
+'
+Read token at ../src/syntax/typing.nit:137,4--7 text='else'
+Read token at ../src/syntax/typing.nit:137,8--138,0 text='
+'
+Read token at ../src/syntax/typing.nit:138,5--20 text='false_candidates'
+Read token at ../src/syntax/typing.nit:138,21 text='.'
+Read token at ../src/syntax/typing.nit:138,22--24 text='add'
+Read token at ../src/syntax/typing.nit:138,25 text='('
+Read token at ../src/syntax/typing.nit:138,26--27 text='gp'
+Read token at ../src/syntax/typing.nit:138,28 text=')'
+Read token at ../src/syntax/typing.nit:138,29--139,0 text='
+'
+Read token at ../src/syntax/typing.nit:139,4--6 text='end'
+Read token at ../src/syntax/typing.nit:139,7--140,0 text='
+'
+Read token at ../src/syntax/typing.nit:140,3--5 text='end'
+Read token at ../src/syntax/typing.nit:140,6--141,0 text='
+'
+Read token at ../src/syntax/typing.nit:141,3--4 text='if'
+Read token at ../src/syntax/typing.nit:141,6--15 text='candidates'
+Read token at ../src/syntax/typing.nit:141,16 text='.'
+Read token at ../src/syntax/typing.nit:141,17--22 text='length'
+Read token at ../src/syntax/typing.nit:141,24--25 text='=='
+Read token at ../src/syntax/typing.nit:141,27 text='1'
+Read token at ../src/syntax/typing.nit:141,29--32 text='then'
+Read token at ../src/syntax/typing.nit:141,33--142,0 text='
+'
+Read token at ../src/syntax/typing.nit:142,4--9 text='return'
+Read token at ../src/syntax/typing.nit:142,11--20 text='candidates'
+Read token at ../src/syntax/typing.nit:142,21 text='.'
+Read token at ../src/syntax/typing.nit:142,22--26 text='first'
+Read token at ../src/syntax/typing.nit:142,27--143,0 text='
+'
+Read token at ../src/syntax/typing.nit:143,3--6 text='else'
+Read token at ../src/syntax/typing.nit:143,8--9 text='if'
+Read token at ../src/syntax/typing.nit:143,11--20 text='candidates'
+Read token at ../src/syntax/typing.nit:143,21 text='.'
+Read token at ../src/syntax/typing.nit:143,22--27 text='length'
+Read token at ../src/syntax/typing.nit:143,29 text='>'
+Read token at ../src/syntax/typing.nit:143,31 text='0'
+Read token at ../src/syntax/typing.nit:143,33--36 text='then'
+Read token at ../src/syntax/typing.nit:143,37--144,0 text='
+'
+Read token at ../src/syntax/typing.nit:144,4--6 text='var'
+Read token at ../src/syntax/typing.nit:144,8 text='a'
+Read token at ../src/syntax/typing.nit:144,10 text='='
+Read token at ../src/syntax/typing.nit:144,12--14 text='new'
+Read token at ../src/syntax/typing.nit:144,16--20 text='Array'
+Read token at ../src/syntax/typing.nit:144,21 text='['
+Read token at ../src/syntax/typing.nit:144,22--27 text='String'
+Read token at ../src/syntax/typing.nit:144,28 text=']'
+Read token at ../src/syntax/typing.nit:144,29--145,0 text='
+'
+Read token at ../src/syntax/typing.nit:145,4--6 text='for'
+Read token at ../src/syntax/typing.nit:145,8 text='p'
+Read token at ../src/syntax/typing.nit:145,10--11 text='in'
+Read token at ../src/syntax/typing.nit:145,13--22 text='candidates'
+Read token at ../src/syntax/typing.nit:145,24--25 text='do'
+Read token at ../src/syntax/typing.nit:145,26--146,0 text='
+'
+Read token at ../src/syntax/typing.nit:146,5 text='a'
+Read token at ../src/syntax/typing.nit:146,6 text='.'
+Read token at ../src/syntax/typing.nit:146,7--9 text='add'
+Read token at ../src/syntax/typing.nit:146,10 text='('
+Read token at ../src/syntax/typing.nit:146,11--12 text='"{'
+Read token at ../src/syntax/typing.nit:146,13 text='p'
+Read token at ../src/syntax/typing.nit:146,14 text='.'
+Read token at ../src/syntax/typing.nit:146,15--23 text='full_name'
+Read token at ../src/syntax/typing.nit:146,24--25 text='}{'
+Read token at ../src/syntax/typing.nit:146,26 text='p'
+Read token at ../src/syntax/typing.nit:146,27 text='.'
+Read token at ../src/syntax/typing.nit:146,28--36 text='signature'
+Read token at ../src/syntax/typing.nit:146,37 text='.'
+Read token at ../src/syntax/typing.nit:146,38--39 text='as'
+Read token at ../src/syntax/typing.nit:146,40 text='('
+Read token at ../src/syntax/typing.nit:146,41--43 text='not'
+Read token at ../src/syntax/typing.nit:146,45--48 text='null'
+Read token at ../src/syntax/typing.nit:146,49 text=')'
+Read token at ../src/syntax/typing.nit:146,50--51 text='}"'
+Read token at ../src/syntax/typing.nit:146,52 text=')'
+Read token at ../src/syntax/typing.nit:146,53--147,0 text='
+'
+Read token at ../src/syntax/typing.nit:147,4--6 text='end'
+Read token at ../src/syntax/typing.nit:147,7--148,0 text='
+'
+Read token at ../src/syntax/typing.nit:148,4 text='v'
+Read token at ../src/syntax/typing.nit:148,5 text='.'
+Read token at ../src/syntax/typing.nit:148,6--10 text='error'
+Read token at ../src/syntax/typing.nit:148,11 text='('
+Read token at ../src/syntax/typing.nit:148,12 text='n'
+Read token at ../src/syntax/typing.nit:148,13 text=','
+Read token at ../src/syntax/typing.nit:148,15--67 text='"Error: Conflicting default constructor to call for {'
+Read token at ../src/syntax/typing.nit:148,68 text='c'
+Read token at ../src/syntax/typing.nit:148,69--72 text='}: {'
+Read token at ../src/syntax/typing.nit:148,73 text='a'
+Read token at ../src/syntax/typing.nit:148,74 text='.'
+Read token at ../src/syntax/typing.nit:148,75--78 text='join'
+Read token at ../src/syntax/typing.nit:148,79 text='('
+Read token at ../src/syntax/typing.nit:148,80--83 text='", "'
+Read token at ../src/syntax/typing.nit:148,84 text=')'
+Read token at ../src/syntax/typing.nit:148,85--87 text='}."'
+Read token at ../src/syntax/typing.nit:148,88 text=')'
+Read token at ../src/syntax/typing.nit:148,89--149,0 text='
+'
+Read token at ../src/syntax/typing.nit:149,4--9 text='return'
+Read token at ../src/syntax/typing.nit:149,11--14 text='null'
+Read token at ../src/syntax/typing.nit:149,15--150,0 text='
+'
+Read token at ../src/syntax/typing.nit:150,3--6 text='else'
+Read token at ../src/syntax/typing.nit:150,8--9 text='if'
+Read token at ../src/syntax/typing.nit:150,11--26 text='false_candidates'
+Read token at ../src/syntax/typing.nit:150,27 text='.'
+Read token at ../src/syntax/typing.nit:150,28--33 text='length'
+Read token at ../src/syntax/typing.nit:150,35 text='>'
+Read token at ../src/syntax/typing.nit:150,37 text='0'
+Read token at ../src/syntax/typing.nit:150,39--42 text='then'
+Read token at ../src/syntax/typing.nit:150,43--151,0 text='
+'
+Read token at ../src/syntax/typing.nit:151,4--6 text='var'
+Read token at ../src/syntax/typing.nit:151,8 text='a'
+Read token at ../src/syntax/typing.nit:151,10 text='='
+Read token at ../src/syntax/typing.nit:151,12--14 text='new'
+Read token at ../src/syntax/typing.nit:151,16--20 text='Array'
+Read token at ../src/syntax/typing.nit:151,21 text='['
+Read token at ../src/syntax/typing.nit:151,22--27 text='String'
+Read token at ../src/syntax/typing.nit:151,28 text=']'
+Read token at ../src/syntax/typing.nit:151,29--152,0 text='
+'
+Read token at ../src/syntax/typing.nit:152,4--6 text='for'
+Read token at ../src/syntax/typing.nit:152,8 text='p'
+Read token at ../src/syntax/typing.nit:152,10--11 text='in'
+Read token at ../src/syntax/typing.nit:152,13--28 text='false_candidates'
+Read token at ../src/syntax/typing.nit:152,30--31 text='do'
+Read token at ../src/syntax/typing.nit:152,32--153,0 text='
+'
+Read token at ../src/syntax/typing.nit:153,5 text='a'
+Read token at ../src/syntax/typing.nit:153,6 text='.'
+Read token at ../src/syntax/typing.nit:153,7--9 text='add'
+Read token at ../src/syntax/typing.nit:153,10 text='('
+Read token at ../src/syntax/typing.nit:153,11--12 text='"{'
+Read token at ../src/syntax/typing.nit:153,13 text='p'
+Read token at ../src/syntax/typing.nit:153,14 text='.'
+Read token at ../src/syntax/typing.nit:153,15--23 text='full_name'
+Read token at ../src/syntax/typing.nit:153,24--25 text='}{'
+Read token at ../src/syntax/typing.nit:153,26 text='p'
+Read token at ../src/syntax/typing.nit:153,27 text='.'
+Read token at ../src/syntax/typing.nit:153,28--36 text='signature'
+Read token at ../src/syntax/typing.nit:153,37 text='.'
+Read token at ../src/syntax/typing.nit:153,38--39 text='as'
+Read token at ../src/syntax/typing.nit:153,40 text='('
+Read token at ../src/syntax/typing.nit:153,41--43 text='not'
+Read token at ../src/syntax/typing.nit:153,45--48 text='null'
+Read token at ../src/syntax/typing.nit:153,49 text=')'
+Read token at ../src/syntax/typing.nit:153,50--51 text='}"'
+Read token at ../src/syntax/typing.nit:153,52 text=')'
+Read token at ../src/syntax/typing.nit:153,53--154,0 text='
+'
+Read token at ../src/syntax/typing.nit:154,4--6 text='end'
+Read token at ../src/syntax/typing.nit:154,7--155,0 text='
+'
+Read token at ../src/syntax/typing.nit:155,4 text='v'
+Read token at ../src/syntax/typing.nit:155,5 text='.'
+Read token at ../src/syntax/typing.nit:155,6--10 text='error'
+Read token at ../src/syntax/typing.nit:155,11 text='('
+Read token at ../src/syntax/typing.nit:155,12 text='n'
+Read token at ../src/syntax/typing.nit:155,13 text=','
+Read token at ../src/syntax/typing.nit:155,15--71 text='"Error: there is no available compatible constructor in {'
+Read token at ../src/syntax/typing.nit:155,72 text='c'
+Read token at ../src/syntax/typing.nit:155,73--101 text='}. Discarded candidates are {'
+Read token at ../src/syntax/typing.nit:155,102 text='a'
+Read token at ../src/syntax/typing.nit:155,103 text='.'
+Read token at ../src/syntax/typing.nit:155,104--107 text='join'
+Read token at ../src/syntax/typing.nit:155,108 text='('
+Read token at ../src/syntax/typing.nit:155,109--112 text='", "'
+Read token at ../src/syntax/typing.nit:155,113 text=')'
+Read token at ../src/syntax/typing.nit:155,114--116 text='}."'
+Read token at ../src/syntax/typing.nit:155,117 text=')'
+Read token at ../src/syntax/typing.nit:155,118--156,0 text='
+'
+Read token at ../src/syntax/typing.nit:156,4--9 text='return'
+Read token at ../src/syntax/typing.nit:156,11--14 text='null'
+Read token at ../src/syntax/typing.nit:156,15--157,0 text='
+'
+Read token at ../src/syntax/typing.nit:157,3--6 text='else'
+Read token at ../src/syntax/typing.nit:157,7--158,0 text='
+'
+Read token at ../src/syntax/typing.nit:158,4 text='v'
+Read token at ../src/syntax/typing.nit:158,5 text='.'
+Read token at ../src/syntax/typing.nit:158,6--10 text='error'
+Read token at ../src/syntax/typing.nit:158,11 text='('
+Read token at ../src/syntax/typing.nit:158,12 text='n'
+Read token at ../src/syntax/typing.nit:158,13 text=','
+Read token at ../src/syntax/typing.nit:158,15--71 text='"Error: there is no available compatible constructor in {'
+Read token at ../src/syntax/typing.nit:158,72 text='c'
+Read token at ../src/syntax/typing.nit:158,73--75 text='}."'
+Read token at ../src/syntax/typing.nit:158,76 text=')'
+Read token at ../src/syntax/typing.nit:158,77--159,0 text='
+'
+Read token at ../src/syntax/typing.nit:159,4--9 text='return'
+Read token at ../src/syntax/typing.nit:159,11--14 text='null'
+Read token at ../src/syntax/typing.nit:159,15--160,0 text='
+'
+Read token at ../src/syntax/typing.nit:160,3--5 text='end'
+Read token at ../src/syntax/typing.nit:160,6--161,0 text='
+'
+Read token at ../src/syntax/typing.nit:161,2--4 text='end'
+Read token at ../src/syntax/typing.nit:161,5--162,0 text='
+'
+Read token at ../src/syntax/typing.nit:162,1--3 text='end'
+Read token at ../src/syntax/typing.nit:162,4--163,0 text='
+'
+Read token at ../src/syntax/typing.nit:163,1--164,0 text='
+'
+Read token at ../src/syntax/typing.nit:164,1--165,0 text='
+'
+Read token at ../src/syntax/typing.nit:165,1--166,0 text='###############################################################################
+'
+Read token at ../src/syntax/typing.nit:166,1--167,0 text='
+'
+Read token at ../src/syntax/typing.nit:167,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:167,7--11 text='class'
+Read token at ../src/syntax/typing.nit:167,13--17 text='ANode'
+Read token at ../src/syntax/typing.nit:167,18--168,0 text='
+'
+Read token at ../src/syntax/typing.nit:168,2--8 text='private'
+Read token at ../src/syntax/typing.nit:168,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:168,14--26 text='accept_typing'
+Read token at ../src/syntax/typing.nit:168,27 text='('
+Read token at ../src/syntax/typing.nit:168,28 text='v'
+Read token at ../src/syntax/typing.nit:168,29 text=':'
+Read token at ../src/syntax/typing.nit:168,31--43 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:168,44 text=')'
+Read token at ../src/syntax/typing.nit:168,46--169,0 text='
+'
+Read token at ../src/syntax/typing.nit:169,2--3 text='do'
+Read token at ../src/syntax/typing.nit:169,4--170,0 text='
+'
+Read token at ../src/syntax/typing.nit:170,3--27 text='accept_abs_syntax_visitor'
+Read token at ../src/syntax/typing.nit:170,28 text='('
+Read token at ../src/syntax/typing.nit:170,29 text='v'
+Read token at ../src/syntax/typing.nit:170,30 text=')'
+Read token at ../src/syntax/typing.nit:170,31--171,0 text='
+'
+Read token at ../src/syntax/typing.nit:171,3--14 text='after_typing'
+Read token at ../src/syntax/typing.nit:171,15 text='('
+Read token at ../src/syntax/typing.nit:171,16 text='v'
+Read token at ../src/syntax/typing.nit:171,17 text=')'
+Read token at ../src/syntax/typing.nit:171,18--172,0 text='
+'
+Read token at ../src/syntax/typing.nit:172,2--4 text='end'
+Read token at ../src/syntax/typing.nit:172,5--173,0 text='
+'
+Read token at ../src/syntax/typing.nit:173,2--8 text='private'
+Read token at ../src/syntax/typing.nit:173,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:173,14--25 text='after_typing'
+Read token at ../src/syntax/typing.nit:173,26 text='('
+Read token at ../src/syntax/typing.nit:173,27 text='v'
+Read token at ../src/syntax/typing.nit:173,28 text=':'
+Read token at ../src/syntax/typing.nit:173,30--42 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:173,43 text=')'
+Read token at ../src/syntax/typing.nit:173,45--46 text='do'
+Read token at ../src/syntax/typing.nit:173,48--50 text='end'
+Read token at ../src/syntax/typing.nit:173,51--174,0 text='
+'
+Read token at ../src/syntax/typing.nit:174,1--3 text='end'
+Read token at ../src/syntax/typing.nit:174,4--175,0 text='
+'
+Read token at ../src/syntax/typing.nit:175,1--176,0 text='
+'
+Read token at ../src/syntax/typing.nit:176,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:176,7--11 text='class'
+Read token at ../src/syntax/typing.nit:176,13--21 text='AClassdef'
+Read token at ../src/syntax/typing.nit:176,22--177,0 text='
+'
+Read token at ../src/syntax/typing.nit:177,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:177,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:177,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:177,25 text='('
+Read token at ../src/syntax/typing.nit:177,26 text='v'
+Read token at ../src/syntax/typing.nit:177,27 text=')'
+Read token at ../src/syntax/typing.nit:177,28--178,0 text='
+'
+Read token at ../src/syntax/typing.nit:178,2--3 text='do'
+Read token at ../src/syntax/typing.nit:178,4--179,0 text='
+'
+Read token at ../src/syntax/typing.nit:179,3 text='v'
+Read token at ../src/syntax/typing.nit:179,4 text='.'
+Read token at ../src/syntax/typing.nit:179,5--12 text='self_var'
+Read token at ../src/syntax/typing.nit:179,14 text='='
+Read token at ../src/syntax/typing.nit:179,16--18 text='new'
+Read token at ../src/syntax/typing.nit:179,20--32 text='ParamVariable'
+Read token at ../src/syntax/typing.nit:179,33 text='('
+Read token at ../src/syntax/typing.nit:179,34--39 text='"self"'
+Read token at ../src/syntax/typing.nit:179,40 text='.'
+Read token at ../src/syntax/typing.nit:179,41--49 text='to_symbol'
+Read token at ../src/syntax/typing.nit:179,50 text=','
+Read token at ../src/syntax/typing.nit:179,52--55 text='self'
+Read token at ../src/syntax/typing.nit:179,56 text=')'
+Read token at ../src/syntax/typing.nit:179,57--180,0 text='
+'
+Read token at ../src/syntax/typing.nit:180,3 text='v'
+Read token at ../src/syntax/typing.nit:180,4 text='.'
+Read token at ../src/syntax/typing.nit:180,5--12 text='self_var'
+Read token at ../src/syntax/typing.nit:180,13 text='.'
+Read token at ../src/syntax/typing.nit:180,14--18 text='stype'
+Read token at ../src/syntax/typing.nit:180,20 text='='
+Read token at ../src/syntax/typing.nit:180,22--32 text='local_class'
+Read token at ../src/syntax/typing.nit:180,33 text='.'
+Read token at ../src/syntax/typing.nit:180,34--41 text='get_type'
+Read token at ../src/syntax/typing.nit:180,42--181,0 text='
+'
+Read token at ../src/syntax/typing.nit:181,3--7 text='super'
+Read token at ../src/syntax/typing.nit:181,8--182,0 text='
+'
+Read token at ../src/syntax/typing.nit:182,2--4 text='end'
+Read token at ../src/syntax/typing.nit:182,5--183,0 text='
+'
+Read token at ../src/syntax/typing.nit:183,1--3 text='end'
+Read token at ../src/syntax/typing.nit:183,4--184,0 text='
+'
+Read token at ../src/syntax/typing.nit:184,1--185,0 text='
+'
+Read token at ../src/syntax/typing.nit:185,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:185,7--11 text='class'
+Read token at ../src/syntax/typing.nit:185,13--20 text='APropdef'
+Read token at ../src/syntax/typing.nit:185,21--186,0 text='
+'
+Read token at ../src/syntax/typing.nit:186,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:186,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:186,12--19 text='self_var'
+Read token at ../src/syntax/typing.nit:186,21--22 text='do'
+Read token at ../src/syntax/typing.nit:186,24--29 text='return'
+Read token at ../src/syntax/typing.nit:186,31--39 text='_self_var'
+Read token at ../src/syntax/typing.nit:186,40 text='.'
+Read token at ../src/syntax/typing.nit:186,41--42 text='as'
+Read token at ../src/syntax/typing.nit:186,43 text='('
+Read token at ../src/syntax/typing.nit:186,44--46 text='not'
+Read token at ../src/syntax/typing.nit:186,48--51 text='null'
+Read token at ../src/syntax/typing.nit:186,52 text=')'
+Read token at ../src/syntax/typing.nit:186,53--187,0 text='
+'
+Read token at ../src/syntax/typing.nit:187,2--4 text='var'
+Read token at ../src/syntax/typing.nit:187,6--14 text='_self_var'
+Read token at ../src/syntax/typing.nit:187,15 text=':'
+Read token at ../src/syntax/typing.nit:187,17--24 text='nullable'
+Read token at ../src/syntax/typing.nit:187,26--38 text='ParamVariable'
+Read token at ../src/syntax/typing.nit:187,39--188,0 text='
+'
+Read token at ../src/syntax/typing.nit:188,1--3 text='end'
+Read token at ../src/syntax/typing.nit:188,4--189,0 text='
+'
+Read token at ../src/syntax/typing.nit:189,1--190,0 text='
+'
+Read token at ../src/syntax/typing.nit:190,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:190,7--11 text='class'
+Read token at ../src/syntax/typing.nit:190,13--24 text='AAttrPropdef'
+Read token at ../src/syntax/typing.nit:190,25--191,0 text='
+'
+Read token at ../src/syntax/typing.nit:191,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:191,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:191,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:191,25 text='('
+Read token at ../src/syntax/typing.nit:191,26 text='v'
+Read token at ../src/syntax/typing.nit:191,27 text=')'
+Read token at ../src/syntax/typing.nit:191,28--192,0 text='
+'
+Read token at ../src/syntax/typing.nit:192,2--3 text='do'
+Read token at ../src/syntax/typing.nit:192,4--193,0 text='
+'
+Read token at ../src/syntax/typing.nit:193,3 text='v'
+Read token at ../src/syntax/typing.nit:193,4 text='.'
+Read token at ../src/syntax/typing.nit:193,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:193,14 text='='
+Read token at ../src/syntax/typing.nit:193,16--18 text='new'
+Read token at ../src/syntax/typing.nit:193,20--34 text='RootFlowContext'
+Read token at ../src/syntax/typing.nit:193,35 text='('
+Read token at ../src/syntax/typing.nit:193,36 text='v'
+Read token at ../src/syntax/typing.nit:193,37 text=','
+Read token at ../src/syntax/typing.nit:193,39--42 text='self'
+Read token at ../src/syntax/typing.nit:193,43 text=')'
+Read token at ../src/syntax/typing.nit:193,44--194,0 text='
+'
+Read token at ../src/syntax/typing.nit:194,3 text='v'
+Read token at ../src/syntax/typing.nit:194,4 text='.'
+Read token at ../src/syntax/typing.nit:194,5--17 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:194,19 text='='
+Read token at ../src/syntax/typing.nit:194,21 text='v'
+Read token at ../src/syntax/typing.nit:194,22 text='.'
+Read token at ../src/syntax/typing.nit:194,23--30 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:194,31--195,0 text='
+'
+Read token at ../src/syntax/typing.nit:195,1--196,0 text='
+'
+Read token at ../src/syntax/typing.nit:196,3 text='v'
+Read token at ../src/syntax/typing.nit:196,4 text='.'
+Read token at ../src/syntax/typing.nit:196,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:196,14 text='.'
+Read token at ../src/syntax/typing.nit:196,15--18 text='push'
+Read token at ../src/syntax/typing.nit:196,19 text='('
+Read token at ../src/syntax/typing.nit:196,20--23 text='self'
+Read token at ../src/syntax/typing.nit:196,24 text=')'
+Read token at ../src/syntax/typing.nit:196,25--197,0 text='
+'
+Read token at ../src/syntax/typing.nit:197,3--11 text='_self_var'
+Read token at ../src/syntax/typing.nit:197,13 text='='
+Read token at ../src/syntax/typing.nit:197,15 text='v'
+Read token at ../src/syntax/typing.nit:197,16 text='.'
+Read token at ../src/syntax/typing.nit:197,17--24 text='self_var'
+Read token at ../src/syntax/typing.nit:197,25--198,0 text='
+'
+Read token at ../src/syntax/typing.nit:198,3--7 text='super'
+Read token at ../src/syntax/typing.nit:198,8--199,0 text='
+'
+Read token at ../src/syntax/typing.nit:199,3--4 text='if'
+Read token at ../src/syntax/typing.nit:199,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:199,13--14 text='!='
+Read token at ../src/syntax/typing.nit:199,16--19 text='null'
+Read token at ../src/syntax/typing.nit:199,21--24 text='then'
+Read token at ../src/syntax/typing.nit:199,25--200,0 text='
+'
+Read token at ../src/syntax/typing.nit:200,4 text='v'
+Read token at ../src/syntax/typing.nit:200,5 text='.'
+Read token at ../src/syntax/typing.nit:200,6--23 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:200,24 text='('
+Read token at ../src/syntax/typing.nit:200,25--30 text='n_expr'
+Read token at ../src/syntax/typing.nit:200,31 text='.'
+Read token at ../src/syntax/typing.nit:200,32--33 text='as'
+Read token at ../src/syntax/typing.nit:200,34 text='('
+Read token at ../src/syntax/typing.nit:200,35--37 text='not'
+Read token at ../src/syntax/typing.nit:200,39--42 text='null'
+Read token at ../src/syntax/typing.nit:200,43 text=')'
+Read token at ../src/syntax/typing.nit:200,44 text=','
+Read token at ../src/syntax/typing.nit:200,46--49 text='prop'
+Read token at ../src/syntax/typing.nit:200,50 text='.'
+Read token at ../src/syntax/typing.nit:200,51--59 text='signature'
+Read token at ../src/syntax/typing.nit:200,60 text='.'
+Read token at ../src/syntax/typing.nit:200,61--71 text='return_type'
+Read token at ../src/syntax/typing.nit:200,72 text='.'
+Read token at ../src/syntax/typing.nit:200,73--74 text='as'
+Read token at ../src/syntax/typing.nit:200,75 text='('
+Read token at ../src/syntax/typing.nit:200,76--78 text='not'
+Read token at ../src/syntax/typing.nit:200,80--83 text='null'
+Read token at ../src/syntax/typing.nit:200,84 text=')'
+Read token at ../src/syntax/typing.nit:200,85 text=')'
+Read token at ../src/syntax/typing.nit:200,86--201,0 text='
+'
+Read token at ../src/syntax/typing.nit:201,3--5 text='end'
+Read token at ../src/syntax/typing.nit:201,6--202,0 text='
+'
+Read token at ../src/syntax/typing.nit:202,3 text='v'
+Read token at ../src/syntax/typing.nit:202,4 text='.'
+Read token at ../src/syntax/typing.nit:202,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:202,14 text='.'
+Read token at ../src/syntax/typing.nit:202,15--17 text='pop'
+Read token at ../src/syntax/typing.nit:202,18--203,0 text='
+'
+Read token at ../src/syntax/typing.nit:203,2--4 text='end'
+Read token at ../src/syntax/typing.nit:203,5--204,0 text='
+'
+Read token at ../src/syntax/typing.nit:204,1--3 text='end'
+Read token at ../src/syntax/typing.nit:204,4--205,0 text='
+'
+Read token at ../src/syntax/typing.nit:205,1--206,0 text='
+'
+Read token at ../src/syntax/typing.nit:206,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:206,7--11 text='class'
+Read token at ../src/syntax/typing.nit:206,13--24 text='AMethPropdef'
+Read token at ../src/syntax/typing.nit:206,25--207,0 text='
+'
+Read token at ../src/syntax/typing.nit:207,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:207,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:207,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:207,25 text='('
+Read token at ../src/syntax/typing.nit:207,26 text='v'
+Read token at ../src/syntax/typing.nit:207,27 text=')'
+Read token at ../src/syntax/typing.nit:207,28--208,0 text='
+'
+Read token at ../src/syntax/typing.nit:208,2--3 text='do'
+Read token at ../src/syntax/typing.nit:208,4--209,0 text='
+'
+Read token at ../src/syntax/typing.nit:209,3 text='v'
+Read token at ../src/syntax/typing.nit:209,4 text='.'
+Read token at ../src/syntax/typing.nit:209,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:209,14 text='='
+Read token at ../src/syntax/typing.nit:209,16--18 text='new'
+Read token at ../src/syntax/typing.nit:209,20--34 text='RootFlowContext'
+Read token at ../src/syntax/typing.nit:209,35 text='('
+Read token at ../src/syntax/typing.nit:209,36 text='v'
+Read token at ../src/syntax/typing.nit:209,37 text=','
+Read token at ../src/syntax/typing.nit:209,39--42 text='self'
+Read token at ../src/syntax/typing.nit:209,43 text=')'
+Read token at ../src/syntax/typing.nit:209,44--210,0 text='
+'
+Read token at ../src/syntax/typing.nit:210,3 text='v'
+Read token at ../src/syntax/typing.nit:210,4 text='.'
+Read token at ../src/syntax/typing.nit:210,5--17 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:210,19 text='='
+Read token at ../src/syntax/typing.nit:210,21 text='v'
+Read token at ../src/syntax/typing.nit:210,22 text='.'
+Read token at ../src/syntax/typing.nit:210,23--30 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:210,31--211,0 text='
+'
+Read token at ../src/syntax/typing.nit:211,1--212,0 text='
+'
+Read token at ../src/syntax/typing.nit:212,3 text='v'
+Read token at ../src/syntax/typing.nit:212,4 text='.'
+Read token at ../src/syntax/typing.nit:212,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:212,14 text='.'
+Read token at ../src/syntax/typing.nit:212,15--18 text='push'
+Read token at ../src/syntax/typing.nit:212,19 text='('
+Read token at ../src/syntax/typing.nit:212,20--23 text='self'
+Read token at ../src/syntax/typing.nit:212,24 text=')'
+Read token at ../src/syntax/typing.nit:212,25--213,0 text='
+'
+Read token at ../src/syntax/typing.nit:213,3--11 text='_self_var'
+Read token at ../src/syntax/typing.nit:213,13 text='='
+Read token at ../src/syntax/typing.nit:213,15 text='v'
+Read token at ../src/syntax/typing.nit:213,16 text='.'
+Read token at ../src/syntax/typing.nit:213,17--24 text='self_var'
+Read token at ../src/syntax/typing.nit:213,25--214,0 text='
+'
+Read token at ../src/syntax/typing.nit:214,3--7 text='super'
+Read token at ../src/syntax/typing.nit:214,8--215,0 text='
+'
+Read token at ../src/syntax/typing.nit:215,3 text='v'
+Read token at ../src/syntax/typing.nit:215,4 text='.'
+Read token at ../src/syntax/typing.nit:215,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:215,14 text='.'
+Read token at ../src/syntax/typing.nit:215,15--17 text='pop'
+Read token at ../src/syntax/typing.nit:215,18--216,0 text='
+'
+Read token at ../src/syntax/typing.nit:216,2--4 text='end'
+Read token at ../src/syntax/typing.nit:216,5--217,0 text='
+'
+Read token at ../src/syntax/typing.nit:217,1--3 text='end'
+Read token at ../src/syntax/typing.nit:217,4--218,0 text='
+'
+Read token at ../src/syntax/typing.nit:218,1--219,0 text='
+'
+Read token at ../src/syntax/typing.nit:219,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:219,7--11 text='class'
+Read token at ../src/syntax/typing.nit:219,13--32 text='AConcreteMethPropdef'
+Read token at ../src/syntax/typing.nit:219,33--220,0 text='
+'
+Read token at ../src/syntax/typing.nit:220,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:220,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:220,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:220,24 text='('
+Read token at ../src/syntax/typing.nit:220,25 text='v'
+Read token at ../src/syntax/typing.nit:220,26 text=')'
+Read token at ../src/syntax/typing.nit:220,27--221,0 text='
+'
+Read token at ../src/syntax/typing.nit:221,2--3 text='do'
+Read token at ../src/syntax/typing.nit:221,4--222,0 text='
+'
+Read token at ../src/syntax/typing.nit:222,3--7 text='super'
+Read token at ../src/syntax/typing.nit:222,8--223,0 text='
+'
+Read token at ../src/syntax/typing.nit:223,3--4 text='if'
+Read token at ../src/syntax/typing.nit:223,6--8 text='not'
+Read token at ../src/syntax/typing.nit:223,10 text='v'
+Read token at ../src/syntax/typing.nit:223,11 text='.'
+Read token at ../src/syntax/typing.nit:223,12--19 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:223,20 text='.'
+Read token at ../src/syntax/typing.nit:223,21--27 text='unreash'
+Read token at ../src/syntax/typing.nit:223,29--31 text='and'
+Read token at ../src/syntax/typing.nit:223,33--38 text='method'
+Read token at ../src/syntax/typing.nit:223,39 text='.'
+Read token at ../src/syntax/typing.nit:223,40--48 text='signature'
+Read token at ../src/syntax/typing.nit:223,49 text='.'
+Read token at ../src/syntax/typing.nit:223,50--60 text='return_type'
+Read token at ../src/syntax/typing.nit:223,62--63 text='!='
+Read token at ../src/syntax/typing.nit:223,65--68 text='null'
+Read token at ../src/syntax/typing.nit:223,70--73 text='then'
+Read token at ../src/syntax/typing.nit:223,74--224,0 text='
+'
+Read token at ../src/syntax/typing.nit:224,4 text='v'
+Read token at ../src/syntax/typing.nit:224,5 text='.'
+Read token at ../src/syntax/typing.nit:224,6--10 text='error'
+Read token at ../src/syntax/typing.nit:224,11 text='('
+Read token at ../src/syntax/typing.nit:224,12--15 text='self'
+Read token at ../src/syntax/typing.nit:224,16 text=','
+Read token at ../src/syntax/typing.nit:224,18--97 text='"Control error: Reached end of function (a 'return' with a value was expected)."'
+Read token at ../src/syntax/typing.nit:224,98 text=')'
+Read token at ../src/syntax/typing.nit:224,99--225,0 text='
+'
+Read token at ../src/syntax/typing.nit:225,3--5 text='end'
+Read token at ../src/syntax/typing.nit:225,6--226,0 text='
+'
+Read token at ../src/syntax/typing.nit:226,2--4 text='end'
+Read token at ../src/syntax/typing.nit:226,5--227,0 text='
+'
+Read token at ../src/syntax/typing.nit:227,1--3 text='end'
+Read token at ../src/syntax/typing.nit:227,4--228,0 text='
+'
+Read token at ../src/syntax/typing.nit:228,1--229,0 text='
+'
+Read token at ../src/syntax/typing.nit:229,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:229,7--11 text='class'
+Read token at ../src/syntax/typing.nit:229,13--32 text='AConcreteInitPropdef'
+Read token at ../src/syntax/typing.nit:229,33--230,0 text='
+'
+Read token at ../src/syntax/typing.nit:230,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:230,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:230,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:230,25 text='('
+Read token at ../src/syntax/typing.nit:230,26 text='v'
+Read token at ../src/syntax/typing.nit:230,27 text=')'
+Read token at ../src/syntax/typing.nit:230,28--231,0 text='
+'
+Read token at ../src/syntax/typing.nit:231,2--3 text='do'
+Read token at ../src/syntax/typing.nit:231,4--232,0 text='
+'
+Read token at ../src/syntax/typing.nit:232,3 text='v'
+Read token at ../src/syntax/typing.nit:232,4 text='.'
+Read token at ../src/syntax/typing.nit:232,5--13 text='top_block'
+Read token at ../src/syntax/typing.nit:232,15 text='='
+Read token at ../src/syntax/typing.nit:232,17--23 text='n_block'
+Read token at ../src/syntax/typing.nit:232,24--233,0 text='
+'
+Read token at ../src/syntax/typing.nit:233,3 text='v'
+Read token at ../src/syntax/typing.nit:233,4 text='.'
+Read token at ../src/syntax/typing.nit:233,5--29 text='explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:233,31 text='='
+Read token at ../src/syntax/typing.nit:233,33--57 text='explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:233,58--234,0 text='
+'
+Read token at ../src/syntax/typing.nit:234,3 text='v'
+Read token at ../src/syntax/typing.nit:234,4 text='.'
+Read token at ../src/syntax/typing.nit:234,5--28 text='explicit_other_init_call'
+Read token at ../src/syntax/typing.nit:234,30 text='='
+Read token at ../src/syntax/typing.nit:234,32--36 text='false'
+Read token at ../src/syntax/typing.nit:234,37--235,0 text='
+'
+Read token at ../src/syntax/typing.nit:235,3--7 text='super'
+Read token at ../src/syntax/typing.nit:235,8--236,0 text='
+'
+Read token at ../src/syntax/typing.nit:236,2--4 text='end'
+Read token at ../src/syntax/typing.nit:236,5--237,0 text='
+'
+Read token at ../src/syntax/typing.nit:237,1--238,0 text='
+'
+Read token at ../src/syntax/typing.nit:238,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:238,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:238,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:238,24 text='('
+Read token at ../src/syntax/typing.nit:238,25 text='v'
+Read token at ../src/syntax/typing.nit:238,26 text=')'
+Read token at ../src/syntax/typing.nit:238,27--239,0 text='
+'
+Read token at ../src/syntax/typing.nit:239,2--3 text='do'
+Read token at ../src/syntax/typing.nit:239,4--240,0 text='
+'
+Read token at ../src/syntax/typing.nit:240,3--7 text='super'
+Read token at ../src/syntax/typing.nit:240,8--241,0 text='
+'
+Read token at ../src/syntax/typing.nit:241,3--4 text='if'
+Read token at ../src/syntax/typing.nit:241,6 text='v'
+Read token at ../src/syntax/typing.nit:241,7 text='.'
+Read token at ../src/syntax/typing.nit:241,8--31 text='explicit_other_init_call'
+Read token at ../src/syntax/typing.nit:241,33--34 text='or'
+Read token at ../src/syntax/typing.nit:241,36--41 text='method'
+Read token at ../src/syntax/typing.nit:241,42 text='.'
+Read token at ../src/syntax/typing.nit:241,43--48 text='global'
+Read token at ../src/syntax/typing.nit:241,49 text='.'
+Read token at ../src/syntax/typing.nit:241,50--54 text='intro'
+Read token at ../src/syntax/typing.nit:241,56--57 text='!='
+Read token at ../src/syntax/typing.nit:241,59--64 text='method'
+Read token at ../src/syntax/typing.nit:241,66--69 text='then'
+Read token at ../src/syntax/typing.nit:241,70--242,0 text='
+'
+Read token at ../src/syntax/typing.nit:242,4--243,0 text='# TODO: something?
+'
+Read token at ../src/syntax/typing.nit:243,3--6 text='else'
+Read token at ../src/syntax/typing.nit:243,8--244,0 text='
+'
+Read token at ../src/syntax/typing.nit:244,4--6 text='var'
+Read token at ../src/syntax/typing.nit:244,8 text='i'
+Read token at ../src/syntax/typing.nit:244,10 text='='
+Read token at ../src/syntax/typing.nit:244,12 text='0'
+Read token at ../src/syntax/typing.nit:244,13--245,0 text='
+'
+Read token at ../src/syntax/typing.nit:245,4--6 text='var'
+Read token at ../src/syntax/typing.nit:245,8 text='l'
+Read token at ../src/syntax/typing.nit:245,10 text='='
+Read token at ../src/syntax/typing.nit:245,12--36 text='explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:245,37 text='.'
+Read token at ../src/syntax/typing.nit:245,38--43 text='length'
+Read token at ../src/syntax/typing.nit:245,44--246,0 text='
+'
+Read token at ../src/syntax/typing.nit:246,4--6 text='var'
+Read token at ../src/syntax/typing.nit:246,8--12 text='cur_m'
+Read token at ../src/syntax/typing.nit:246,13 text=':'
+Read token at ../src/syntax/typing.nit:246,15--22 text='nullable'
+Read token at ../src/syntax/typing.nit:246,24--31 text='MMMethod'
+Read token at ../src/syntax/typing.nit:246,33 text='='
+Read token at ../src/syntax/typing.nit:246,35--38 text='null'
+Read token at ../src/syntax/typing.nit:246,39--247,0 text='
+'
+Read token at ../src/syntax/typing.nit:247,4--6 text='var'
+Read token at ../src/syntax/typing.nit:247,8--12 text='cur_c'
+Read token at ../src/syntax/typing.nit:247,13 text=':'
+Read token at ../src/syntax/typing.nit:247,15--22 text='nullable'
+Read token at ../src/syntax/typing.nit:247,24--35 text='MMLocalClass'
+Read token at ../src/syntax/typing.nit:247,37 text='='
+Read token at ../src/syntax/typing.nit:247,39--42 text='null'
+Read token at ../src/syntax/typing.nit:247,43--248,0 text='
+'
+Read token at ../src/syntax/typing.nit:248,4--5 text='if'
+Read token at ../src/syntax/typing.nit:248,7 text='i'
+Read token at ../src/syntax/typing.nit:248,9 text='<'
+Read token at ../src/syntax/typing.nit:248,11 text='l'
+Read token at ../src/syntax/typing.nit:248,13--16 text='then'
+Read token at ../src/syntax/typing.nit:248,17--249,0 text='
+'
+Read token at ../src/syntax/typing.nit:249,5--9 text='cur_m'
+Read token at ../src/syntax/typing.nit:249,11 text='='
+Read token at ../src/syntax/typing.nit:249,13--37 text='explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:249,38 text='['
+Read token at ../src/syntax/typing.nit:249,39 text='i'
+Read token at ../src/syntax/typing.nit:249,40 text=']'
+Read token at ../src/syntax/typing.nit:249,41--250,0 text='
+'
+Read token at ../src/syntax/typing.nit:250,5--9 text='cur_c'
+Read token at ../src/syntax/typing.nit:250,11 text='='
+Read token at ../src/syntax/typing.nit:250,13--17 text='cur_m'
+Read token at ../src/syntax/typing.nit:250,18 text='.'
+Read token at ../src/syntax/typing.nit:250,19--24 text='global'
+Read token at ../src/syntax/typing.nit:250,25 text='.'
+Read token at ../src/syntax/typing.nit:250,26--30 text='intro'
+Read token at ../src/syntax/typing.nit:250,31 text='.'
+Read token at ../src/syntax/typing.nit:250,32--42 text='local_class'
+Read token at ../src/syntax/typing.nit:250,43 text='.'
+Read token at ../src/syntax/typing.nit:250,44--53 text='for_module'
+Read token at ../src/syntax/typing.nit:250,54 text='('
+Read token at ../src/syntax/typing.nit:250,55 text='v'
+Read token at ../src/syntax/typing.nit:250,56 text='.'
+Read token at ../src/syntax/typing.nit:250,57--64 text='mmmodule'
+Read token at ../src/syntax/typing.nit:250,65 text=')'
+Read token at ../src/syntax/typing.nit:250,66--251,0 text='
+'
+Read token at ../src/syntax/typing.nit:251,4--6 text='end'
+Read token at ../src/syntax/typing.nit:251,7--252,0 text='
+'
+Read token at ../src/syntax/typing.nit:252,4--6 text='var'
+Read token at ../src/syntax/typing.nit:252,8 text='j'
+Read token at ../src/syntax/typing.nit:252,10 text='='
+Read token at ../src/syntax/typing.nit:252,12 text='0'
+Read token at ../src/syntax/typing.nit:252,13--253,0 text='
+'
+Read token at ../src/syntax/typing.nit:253,4--8 text='while'
+Read token at ../src/syntax/typing.nit:253,10 text='j'
+Read token at ../src/syntax/typing.nit:253,12 text='<'
+Read token at ../src/syntax/typing.nit:253,14 text='v'
+Read token at ../src/syntax/typing.nit:253,15 text='.'
+Read token at ../src/syntax/typing.nit:253,16--26 text='local_class'
+Read token at ../src/syntax/typing.nit:253,27 text='.'
+Read token at ../src/syntax/typing.nit:253,28--31 text='cshe'
+Read token at ../src/syntax/typing.nit:253,32 text='.'
+Read token at ../src/syntax/typing.nit:253,33--47 text='direct_greaters'
+Read token at ../src/syntax/typing.nit:253,48 text='.'
+Read token at ../src/syntax/typing.nit:253,49--54 text='length'
+Read token at ../src/syntax/typing.nit:253,56--57 text='do'
+Read token at ../src/syntax/typing.nit:253,58--254,0 text='
+'
+Read token at ../src/syntax/typing.nit:254,5--7 text='var'
+Read token at ../src/syntax/typing.nit:254,9 text='c'
+Read token at ../src/syntax/typing.nit:254,11 text='='
+Read token at ../src/syntax/typing.nit:254,13 text='v'
+Read token at ../src/syntax/typing.nit:254,14 text='.'
+Read token at ../src/syntax/typing.nit:254,15--25 text='local_class'
+Read token at ../src/syntax/typing.nit:254,26 text='.'
+Read token at ../src/syntax/typing.nit:254,27--30 text='cshe'
+Read token at ../src/syntax/typing.nit:254,31 text='.'
+Read token at ../src/syntax/typing.nit:254,32--46 text='direct_greaters'
+Read token at ../src/syntax/typing.nit:254,47 text='['
+Read token at ../src/syntax/typing.nit:254,48 text='j'
+Read token at ../src/syntax/typing.nit:254,49 text=']'
+Read token at ../src/syntax/typing.nit:254,50--255,0 text='
+'
+Read token at ../src/syntax/typing.nit:255,5--6 text='if'
+Read token at ../src/syntax/typing.nit:255,8 text='c'
+Read token at ../src/syntax/typing.nit:255,9 text='.'
+Read token at ../src/syntax/typing.nit:255,10--15 text='global'
+Read token at ../src/syntax/typing.nit:255,16 text='.'
+Read token at ../src/syntax/typing.nit:255,17--28 text='is_interface'
+Read token at ../src/syntax/typing.nit:255,30--31 text='or'
+Read token at ../src/syntax/typing.nit:255,33 text='c'
+Read token at ../src/syntax/typing.nit:255,34 text='.'
+Read token at ../src/syntax/typing.nit:255,35--40 text='global'
+Read token at ../src/syntax/typing.nit:255,41 text='.'
+Read token at ../src/syntax/typing.nit:255,42--48 text='is_enum'
+Read token at ../src/syntax/typing.nit:255,50--51 text='or'
+Read token at ../src/syntax/typing.nit:255,53 text='c'
+Read token at ../src/syntax/typing.nit:255,54 text='.'
+Read token at ../src/syntax/typing.nit:255,55--60 text='global'
+Read token at ../src/syntax/typing.nit:255,61 text='.'
+Read token at ../src/syntax/typing.nit:255,62--69 text='is_mixin'
+Read token at ../src/syntax/typing.nit:255,71--74 text='then'
+Read token at ../src/syntax/typing.nit:255,75--256,0 text='
+'
+Read token at ../src/syntax/typing.nit:256,6 text='j'
+Read token at ../src/syntax/typing.nit:256,8--9 text='+='
+Read token at ../src/syntax/typing.nit:256,11 text='1'
+Read token at ../src/syntax/typing.nit:256,12--257,0 text='
+'
+Read token at ../src/syntax/typing.nit:257,5--8 text='else'
+Read token at ../src/syntax/typing.nit:257,10--11 text='if'
+Read token at ../src/syntax/typing.nit:257,13--17 text='cur_c'
+Read token at ../src/syntax/typing.nit:257,19--20 text='!='
+Read token at ../src/syntax/typing.nit:257,22--25 text='null'
+Read token at ../src/syntax/typing.nit:257,27--29 text='and'
+Read token at ../src/syntax/typing.nit:257,31 text='('
+Read token at ../src/syntax/typing.nit:257,32 text='c'
+Read token at ../src/syntax/typing.nit:257,33 text='.'
+Read token at ../src/syntax/typing.nit:257,34--37 text='cshe'
+Read token at ../src/syntax/typing.nit:257,39--40 text='<='
+Read token at ../src/syntax/typing.nit:257,42--46 text='cur_c'
+Read token at ../src/syntax/typing.nit:257,48--49 text='or'
+Read token at ../src/syntax/typing.nit:257,51--55 text='cur_c'
+Read token at ../src/syntax/typing.nit:257,56 text='.'
+Read token at ../src/syntax/typing.nit:257,57--62 text='global'
+Read token at ../src/syntax/typing.nit:257,63 text='.'
+Read token at ../src/syntax/typing.nit:257,64--71 text='is_mixin'
+Read token at ../src/syntax/typing.nit:257,72 text=')'
+Read token at ../src/syntax/typing.nit:257,74--77 text='then'
+Read token at ../src/syntax/typing.nit:257,78--258,0 text='
+'
+Read token at ../src/syntax/typing.nit:258,6--7 text='if'
+Read token at ../src/syntax/typing.nit:258,9 text='c'
+Read token at ../src/syntax/typing.nit:258,11--12 text='=='
+Read token at ../src/syntax/typing.nit:258,14--18 text='cur_c'
+Read token at ../src/syntax/typing.nit:258,20--23 text='then'
+Read token at ../src/syntax/typing.nit:258,25 text='j'
+Read token at ../src/syntax/typing.nit:258,27--28 text='+='
+Read token at ../src/syntax/typing.nit:258,30 text='1'
+Read token at ../src/syntax/typing.nit:258,31--259,0 text='
+'
+Read token at ../src/syntax/typing.nit:259,6--21 text='super_init_calls'
+Read token at ../src/syntax/typing.nit:259,22 text='.'
+Read token at ../src/syntax/typing.nit:259,23--25 text='add'
+Read token at ../src/syntax/typing.nit:259,26 text='('
+Read token at ../src/syntax/typing.nit:259,27--31 text='cur_m'
+Read token at ../src/syntax/typing.nit:259,32 text='.'
+Read token at ../src/syntax/typing.nit:259,33--34 text='as'
+Read token at ../src/syntax/typing.nit:259,35 text='('
+Read token at ../src/syntax/typing.nit:259,36--38 text='not'
+Read token at ../src/syntax/typing.nit:259,40--43 text='null'
+Read token at ../src/syntax/typing.nit:259,44 text=')'
+Read token at ../src/syntax/typing.nit:259,45 text=')'
+Read token at ../src/syntax/typing.nit:259,46--260,0 text='
+'
+Read token at ../src/syntax/typing.nit:260,6 text='i'
+Read token at ../src/syntax/typing.nit:260,8--9 text='+='
+Read token at ../src/syntax/typing.nit:260,11 text='1'
+Read token at ../src/syntax/typing.nit:260,12--261,0 text='
+'
+Read token at ../src/syntax/typing.nit:261,6--7 text='if'
+Read token at ../src/syntax/typing.nit:261,9 text='i'
+Read token at ../src/syntax/typing.nit:261,11 text='<'
+Read token at ../src/syntax/typing.nit:261,13 text='l'
+Read token at ../src/syntax/typing.nit:261,15--18 text='then'
+Read token at ../src/syntax/typing.nit:261,19--262,0 text='
+'
+Read token at ../src/syntax/typing.nit:262,7--11 text='cur_m'
+Read token at ../src/syntax/typing.nit:262,13 text='='
+Read token at ../src/syntax/typing.nit:262,15--39 text='explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:262,40 text='['
+Read token at ../src/syntax/typing.nit:262,41 text='i'
+Read token at ../src/syntax/typing.nit:262,42 text=']'
+Read token at ../src/syntax/typing.nit:262,43--263,0 text='
+'
+Read token at ../src/syntax/typing.nit:263,7--11 text='cur_c'
+Read token at ../src/syntax/typing.nit:263,13 text='='
+Read token at ../src/syntax/typing.nit:263,15--19 text='cur_m'
+Read token at ../src/syntax/typing.nit:263,20 text='.'
+Read token at ../src/syntax/typing.nit:263,21--26 text='global'
+Read token at ../src/syntax/typing.nit:263,27 text='.'
+Read token at ../src/syntax/typing.nit:263,28--32 text='intro'
+Read token at ../src/syntax/typing.nit:263,33 text='.'
+Read token at ../src/syntax/typing.nit:263,34--44 text='local_class'
+Read token at ../src/syntax/typing.nit:263,45 text='.'
+Read token at ../src/syntax/typing.nit:263,46--55 text='for_module'
+Read token at ../src/syntax/typing.nit:263,56 text='('
+Read token at ../src/syntax/typing.nit:263,57 text='v'
+Read token at ../src/syntax/typing.nit:263,58 text='.'
+Read token at ../src/syntax/typing.nit:263,59--66 text='mmmodule'
+Read token at ../src/syntax/typing.nit:263,67 text=')'
+Read token at ../src/syntax/typing.nit:263,68--264,0 text='
+'
+Read token at ../src/syntax/typing.nit:264,6--9 text='else'
+Read token at ../src/syntax/typing.nit:264,10--265,0 text='
+'
+Read token at ../src/syntax/typing.nit:265,7--11 text='cur_m'
+Read token at ../src/syntax/typing.nit:265,13 text='='
+Read token at ../src/syntax/typing.nit:265,15--18 text='null'
+Read token at ../src/syntax/typing.nit:265,19--266,0 text='
+'
+Read token at ../src/syntax/typing.nit:266,7--11 text='cur_c'
+Read token at ../src/syntax/typing.nit:266,13 text='='
+Read token at ../src/syntax/typing.nit:266,15--18 text='null'
+Read token at ../src/syntax/typing.nit:266,19--267,0 text='
+'
+Read token at ../src/syntax/typing.nit:267,6--8 text='end'
+Read token at ../src/syntax/typing.nit:267,9--268,0 text='
+'
+Read token at ../src/syntax/typing.nit:268,5--8 text='else'
+Read token at ../src/syntax/typing.nit:268,9--269,0 text='
+'
+Read token at ../src/syntax/typing.nit:269,6--8 text='var'
+Read token at ../src/syntax/typing.nit:269,10 text='p'
+Read token at ../src/syntax/typing.nit:269,12 text='='
+Read token at ../src/syntax/typing.nit:269,14 text='v'
+Read token at ../src/syntax/typing.nit:269,15 text='.'
+Read token at ../src/syntax/typing.nit:269,16--42 text='get_default_constructor_for'
+Read token at ../src/syntax/typing.nit:269,43 text='('
+Read token at ../src/syntax/typing.nit:269,44--47 text='self'
+Read token at ../src/syntax/typing.nit:269,48 text=','
+Read token at ../src/syntax/typing.nit:269,50 text='c'
+Read token at ../src/syntax/typing.nit:269,51 text=','
+Read token at ../src/syntax/typing.nit:269,53--58 text='method'
+Read token at ../src/syntax/typing.nit:269,59 text=')'
+Read token at ../src/syntax/typing.nit:269,60--270,0 text='
+'
+Read token at ../src/syntax/typing.nit:270,6--7 text='if'
+Read token at ../src/syntax/typing.nit:270,9 text='p'
+Read token at ../src/syntax/typing.nit:270,11--12 text='!='
+Read token at ../src/syntax/typing.nit:270,14--17 text='null'
+Read token at ../src/syntax/typing.nit:270,19--22 text='then'
+Read token at ../src/syntax/typing.nit:270,23--271,0 text='
+'
+Read token at ../src/syntax/typing.nit:271,7--22 text='super_init_calls'
+Read token at ../src/syntax/typing.nit:271,23 text='.'
+Read token at ../src/syntax/typing.nit:271,24--26 text='add'
+Read token at ../src/syntax/typing.nit:271,27 text='('
+Read token at ../src/syntax/typing.nit:271,28 text='p'
+Read token at ../src/syntax/typing.nit:271,29 text=')'
+Read token at ../src/syntax/typing.nit:271,30--272,0 text='
+'
+Read token at ../src/syntax/typing.nit:272,6--8 text='end'
+Read token at ../src/syntax/typing.nit:272,9--273,0 text='
+'
+Read token at ../src/syntax/typing.nit:273,6 text='j'
+Read token at ../src/syntax/typing.nit:273,8--9 text='+='
+Read token at ../src/syntax/typing.nit:273,11 text='1'
+Read token at ../src/syntax/typing.nit:273,12--274,0 text='
+'
+Read token at ../src/syntax/typing.nit:274,5--7 text='end'
+Read token at ../src/syntax/typing.nit:274,8--275,0 text='
+'
+Read token at ../src/syntax/typing.nit:275,4--6 text='end'
+Read token at ../src/syntax/typing.nit:275,7--276,0 text='
+'
+Read token at ../src/syntax/typing.nit:276,3--5 text='end'
+Read token at ../src/syntax/typing.nit:276,6--277,0 text='
+'
+Read token at ../src/syntax/typing.nit:277,2--4 text='end'
+Read token at ../src/syntax/typing.nit:277,5--278,0 text='
+'
+Read token at ../src/syntax/typing.nit:278,1--3 text='end'
+Read token at ../src/syntax/typing.nit:278,4--279,0 text='
+'
+Read token at ../src/syntax/typing.nit:279,1--280,0 text='
+'
+Read token at ../src/syntax/typing.nit:280,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:280,7--11 text='class'
+Read token at ../src/syntax/typing.nit:280,13--18 text='AParam'
+Read token at ../src/syntax/typing.nit:280,19--281,0 text='
+'
+Read token at ../src/syntax/typing.nit:281,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:281,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:281,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:281,24 text='('
+Read token at ../src/syntax/typing.nit:281,25 text='v'
+Read token at ../src/syntax/typing.nit:281,26 text=')'
+Read token at ../src/syntax/typing.nit:281,27--282,0 text='
+'
+Read token at ../src/syntax/typing.nit:282,2--3 text='do'
+Read token at ../src/syntax/typing.nit:282,4--283,0 text='
+'
+Read token at ../src/syntax/typing.nit:283,3 text='v'
+Read token at ../src/syntax/typing.nit:283,4 text='.'
+Read token at ../src/syntax/typing.nit:283,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:283,14 text='.'
+Read token at ../src/syntax/typing.nit:283,15--26 text='add_variable'
+Read token at ../src/syntax/typing.nit:283,27 text='('
+Read token at ../src/syntax/typing.nit:283,28--35 text='variable'
+Read token at ../src/syntax/typing.nit:283,36 text=')'
+Read token at ../src/syntax/typing.nit:283,37--284,0 text='
+'
+Read token at ../src/syntax/typing.nit:284,2--4 text='end'
+Read token at ../src/syntax/typing.nit:284,5--285,0 text='
+'
+Read token at ../src/syntax/typing.nit:285,1--3 text='end'
+Read token at ../src/syntax/typing.nit:285,4--286,0 text='
+'
+Read token at ../src/syntax/typing.nit:286,1--287,0 text='
+'
+Read token at ../src/syntax/typing.nit:287,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:287,7--11 text='class'
+Read token at ../src/syntax/typing.nit:287,13--24 text='AClosureDecl'
+Read token at ../src/syntax/typing.nit:287,25--288,0 text='
+'
+Read token at ../src/syntax/typing.nit:288,2--289,0 text='# The corresponding escapable object
+'
+Read token at ../src/syntax/typing.nit:289,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:289,11--13 text='var'
+Read token at ../src/syntax/typing.nit:289,15--24 text='_escapable'
+Read token at ../src/syntax/typing.nit:289,25 text=':'
+Read token at ../src/syntax/typing.nit:289,27--34 text='nullable'
+Read token at ../src/syntax/typing.nit:289,36--49 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:289,50--290,0 text='
+'
+Read token at ../src/syntax/typing.nit:290,1--291,0 text='
+'
+Read token at ../src/syntax/typing.nit:291,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:291,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:291,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:291,25 text='('
+Read token at ../src/syntax/typing.nit:291,26 text='v'
+Read token at ../src/syntax/typing.nit:291,27 text=')'
+Read token at ../src/syntax/typing.nit:291,28--292,0 text='
+'
+Read token at ../src/syntax/typing.nit:292,2--3 text='do'
+Read token at ../src/syntax/typing.nit:292,4--293,0 text='
+'
+Read token at ../src/syntax/typing.nit:293,3--294,0 text='# Register the closure for ClosureCallExpr
+'
+Read token at ../src/syntax/typing.nit:294,3 text='v'
+Read token at ../src/syntax/typing.nit:294,4 text='.'
+Read token at ../src/syntax/typing.nit:294,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:294,14 text='.'
+Read token at ../src/syntax/typing.nit:294,15--26 text='add_variable'
+Read token at ../src/syntax/typing.nit:294,27 text='('
+Read token at ../src/syntax/typing.nit:294,28--35 text='variable'
+Read token at ../src/syntax/typing.nit:294,36 text=')'
+Read token at ../src/syntax/typing.nit:294,37--295,0 text='
+'
+Read token at ../src/syntax/typing.nit:295,1--296,0 text='
+'
+Read token at ../src/syntax/typing.nit:296,3--5 text='var'
+Read token at ../src/syntax/typing.nit:296,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:296,20 text='='
+Read token at ../src/syntax/typing.nit:296,22 text='v'
+Read token at ../src/syntax/typing.nit:296,23 text='.'
+Read token at ../src/syntax/typing.nit:296,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:296,32--297,0 text='
+'
+Read token at ../src/syntax/typing.nit:297,3--5 text='var'
+Read token at ../src/syntax/typing.nit:297,7--23 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:297,25 text='='
+Read token at ../src/syntax/typing.nit:297,27 text='v'
+Read token at ../src/syntax/typing.nit:297,28 text='.'
+Read token at ../src/syntax/typing.nit:297,29--41 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:297,42--298,0 text='
+'
+Read token at ../src/syntax/typing.nit:298,3 text='v'
+Read token at ../src/syntax/typing.nit:298,4 text='.'
+Read token at ../src/syntax/typing.nit:298,5--17 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:298,19 text='='
+Read token at ../src/syntax/typing.nit:298,21 text='v'
+Read token at ../src/syntax/typing.nit:298,22 text='.'
+Read token at ../src/syntax/typing.nit:298,23--30 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:298,31--299,0 text='
+'
+Read token at ../src/syntax/typing.nit:299,1--300,0 text='
+'
+Read token at ../src/syntax/typing.nit:300,3--5 text='var'
+Read token at ../src/syntax/typing.nit:300,7--11 text='blist'
+Read token at ../src/syntax/typing.nit:300,12 text=':'
+Read token at ../src/syntax/typing.nit:300,14--21 text='nullable'
+Read token at ../src/syntax/typing.nit:300,23--27 text='Array'
+Read token at ../src/syntax/typing.nit:300,28 text='['
+Read token at ../src/syntax/typing.nit:300,29--33 text='AExpr'
+Read token at ../src/syntax/typing.nit:300,34 text=']'
+Read token at ../src/syntax/typing.nit:300,36 text='='
+Read token at ../src/syntax/typing.nit:300,38--41 text='null'
+Read token at ../src/syntax/typing.nit:300,42--301,0 text='
+'
+Read token at ../src/syntax/typing.nit:301,3--5 text='var'
+Read token at ../src/syntax/typing.nit:301,7 text='t'
+Read token at ../src/syntax/typing.nit:301,9 text='='
+Read token at ../src/syntax/typing.nit:301,11 text='v'
+Read token at ../src/syntax/typing.nit:301,12 text='.'
+Read token at ../src/syntax/typing.nit:301,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:301,27 text='.'
+Read token at ../src/syntax/typing.nit:301,28--36 text='signature'
+Read token at ../src/syntax/typing.nit:301,37 text='.'
+Read token at ../src/syntax/typing.nit:301,38--48 text='return_type'
+Read token at ../src/syntax/typing.nit:301,49--302,0 text='
+'
+Read token at ../src/syntax/typing.nit:302,3--4 text='if'
+Read token at ../src/syntax/typing.nit:302,6 text='t'
+Read token at ../src/syntax/typing.nit:302,8--9 text='!='
+Read token at ../src/syntax/typing.nit:302,11--14 text='null'
+Read token at ../src/syntax/typing.nit:302,16--19 text='then'
+Read token at ../src/syntax/typing.nit:302,21--25 text='blist'
+Read token at ../src/syntax/typing.nit:302,27 text='='
+Read token at ../src/syntax/typing.nit:302,29--31 text='new'
+Read token at ../src/syntax/typing.nit:302,33--37 text='Array'
+Read token at ../src/syntax/typing.nit:302,38 text='['
+Read token at ../src/syntax/typing.nit:302,39--43 text='AExpr'
+Read token at ../src/syntax/typing.nit:302,44 text=']'
+Read token at ../src/syntax/typing.nit:302,45--303,0 text='
+'
+Read token at ../src/syntax/typing.nit:303,3--5 text='var'
+Read token at ../src/syntax/typing.nit:303,7--15 text='escapable'
+Read token at ../src/syntax/typing.nit:303,17 text='='
+Read token at ../src/syntax/typing.nit:303,19--21 text='new'
+Read token at ../src/syntax/typing.nit:303,23--38 text='EscapableClosure'
+Read token at ../src/syntax/typing.nit:303,39 text='('
+Read token at ../src/syntax/typing.nit:303,40--43 text='self'
+Read token at ../src/syntax/typing.nit:303,44 text=','
+Read token at ../src/syntax/typing.nit:303,46--53 text='variable'
+Read token at ../src/syntax/typing.nit:303,54 text='.'
+Read token at ../src/syntax/typing.nit:303,55--61 text='closure'
+Read token at ../src/syntax/typing.nit:303,62 text=','
+Read token at ../src/syntax/typing.nit:303,64--68 text='blist'
+Read token at ../src/syntax/typing.nit:303,69 text=')'
+Read token at ../src/syntax/typing.nit:303,70--304,0 text='
+'
+Read token at ../src/syntax/typing.nit:304,3--12 text='_escapable'
+Read token at ../src/syntax/typing.nit:304,14 text='='
+Read token at ../src/syntax/typing.nit:304,16--24 text='escapable'
+Read token at ../src/syntax/typing.nit:304,25--305,0 text='
+'
+Read token at ../src/syntax/typing.nit:305,3 text='v'
+Read token at ../src/syntax/typing.nit:305,4 text='.'
+Read token at ../src/syntax/typing.nit:305,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:305,14 text='.'
+Read token at ../src/syntax/typing.nit:305,15--28 text='push_escapable'
+Read token at ../src/syntax/typing.nit:305,29 text='('
+Read token at ../src/syntax/typing.nit:305,30--38 text='escapable'
+Read token at ../src/syntax/typing.nit:305,39 text=','
+Read token at ../src/syntax/typing.nit:305,41--44 text='null'
+Read token at ../src/syntax/typing.nit:305,45 text=')'
+Read token at ../src/syntax/typing.nit:305,46--306,0 text='
+'
+Read token at ../src/syntax/typing.nit:306,1--307,0 text='
+'
+Read token at ../src/syntax/typing.nit:307,3 text='v'
+Read token at ../src/syntax/typing.nit:307,4 text='.'
+Read token at ../src/syntax/typing.nit:307,5--33 text='is_default_closure_definition'
+Read token at ../src/syntax/typing.nit:307,35 text='='
+Read token at ../src/syntax/typing.nit:307,37--40 text='true'
+Read token at ../src/syntax/typing.nit:307,41--308,0 text='
+'
+Read token at ../src/syntax/typing.nit:308,1--309,0 text='
+'
+Read token at ../src/syntax/typing.nit:309,3--7 text='super'
+Read token at ../src/syntax/typing.nit:309,8--310,0 text='
+'
+Read token at ../src/syntax/typing.nit:310,1--311,0 text='
+'
+Read token at ../src/syntax/typing.nit:311,3 text='v'
+Read token at ../src/syntax/typing.nit:311,4 text='.'
+Read token at ../src/syntax/typing.nit:311,5--33 text='is_default_closure_definition'
+Read token at ../src/syntax/typing.nit:311,35 text='='
+Read token at ../src/syntax/typing.nit:311,37--41 text='false'
+Read token at ../src/syntax/typing.nit:311,42--312,0 text='
+'
+Read token at ../src/syntax/typing.nit:312,1--313,0 text='
+'
+Read token at ../src/syntax/typing.nit:313,3--4 text='if'
+Read token at ../src/syntax/typing.nit:313,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:313,13--14 text='!='
+Read token at ../src/syntax/typing.nit:313,16--19 text='null'
+Read token at ../src/syntax/typing.nit:313,21--24 text='then'
+Read token at ../src/syntax/typing.nit:313,25--314,0 text='
+'
+Read token at ../src/syntax/typing.nit:314,4--5 text='if'
+Read token at ../src/syntax/typing.nit:314,7 text='v'
+Read token at ../src/syntax/typing.nit:314,8 text='.'
+Read token at ../src/syntax/typing.nit:314,9--16 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:314,17 text='.'
+Read token at ../src/syntax/typing.nit:314,18--24 text='unreash'
+Read token at ../src/syntax/typing.nit:314,26--27 text='=='
+Read token at ../src/syntax/typing.nit:314,29--33 text='false'
+Read token at ../src/syntax/typing.nit:314,35--38 text='then'
+Read token at ../src/syntax/typing.nit:314,39--315,0 text='
+'
+Read token at ../src/syntax/typing.nit:315,5--6 text='if'
+Read token at ../src/syntax/typing.nit:315,8--15 text='variable'
+Read token at ../src/syntax/typing.nit:315,16 text='.'
+Read token at ../src/syntax/typing.nit:315,17--23 text='closure'
+Read token at ../src/syntax/typing.nit:315,24 text='.'
+Read token at ../src/syntax/typing.nit:315,25--33 text='signature'
+Read token at ../src/syntax/typing.nit:315,34 text='.'
+Read token at ../src/syntax/typing.nit:315,35--45 text='return_type'
+Read token at ../src/syntax/typing.nit:315,47--48 text='!='
+Read token at ../src/syntax/typing.nit:315,50--53 text='null'
+Read token at ../src/syntax/typing.nit:315,55--58 text='then'
+Read token at ../src/syntax/typing.nit:315,59--316,0 text='
+'
+Read token at ../src/syntax/typing.nit:316,6 text='v'
+Read token at ../src/syntax/typing.nit:316,7 text='.'
+Read token at ../src/syntax/typing.nit:316,8--12 text='error'
+Read token at ../src/syntax/typing.nit:316,13 text='('
+Read token at ../src/syntax/typing.nit:316,14--17 text='self'
+Read token at ../src/syntax/typing.nit:316,18 text=','
+Read token at ../src/syntax/typing.nit:316,20--98 text='"Control error: Reached end of block (a 'continue' with a value was expected)."'
+Read token at ../src/syntax/typing.nit:316,99 text=')'
+Read token at ../src/syntax/typing.nit:316,100--317,0 text='
+'
+Read token at ../src/syntax/typing.nit:317,5--8 text='else'
+Read token at ../src/syntax/typing.nit:317,10--11 text='if'
+Read token at ../src/syntax/typing.nit:317,13--20 text='variable'
+Read token at ../src/syntax/typing.nit:317,21 text='.'
+Read token at ../src/syntax/typing.nit:317,22--28 text='closure'
+Read token at ../src/syntax/typing.nit:317,29 text='.'
+Read token at ../src/syntax/typing.nit:317,30--37 text='is_break'
+Read token at ../src/syntax/typing.nit:317,39--41 text='and'
+Read token at ../src/syntax/typing.nit:317,43--51 text='escapable'
+Read token at ../src/syntax/typing.nit:317,52 text='.'
+Read token at ../src/syntax/typing.nit:317,53--62 text='break_list'
+Read token at ../src/syntax/typing.nit:317,64--65 text='!='
+Read token at ../src/syntax/typing.nit:317,67--70 text='null'
+Read token at ../src/syntax/typing.nit:317,72--75 text='then'
+Read token at ../src/syntax/typing.nit:317,76--318,0 text='
+'
+Read token at ../src/syntax/typing.nit:318,6 text='v'
+Read token at ../src/syntax/typing.nit:318,7 text='.'
+Read token at ../src/syntax/typing.nit:318,8--12 text='error'
+Read token at ../src/syntax/typing.nit:318,13 text='('
+Read token at ../src/syntax/typing.nit:318,14--17 text='self'
+Read token at ../src/syntax/typing.nit:318,18 text=','
+Read token at ../src/syntax/typing.nit:318,20--101 text='"Control error: Reached end of break block (a 'break' with a value was expected)."'
+Read token at ../src/syntax/typing.nit:318,102 text=')'
+Read token at ../src/syntax/typing.nit:318,103--319,0 text='
+'
+Read token at ../src/syntax/typing.nit:319,5--7 text='end'
+Read token at ../src/syntax/typing.nit:319,8--320,0 text='
+'
+Read token at ../src/syntax/typing.nit:320,4--6 text='end'
+Read token at ../src/syntax/typing.nit:320,7--321,0 text='
+'
+Read token at ../src/syntax/typing.nit:321,3--5 text='end'
+Read token at ../src/syntax/typing.nit:321,6--322,0 text='
+'
+Read token at ../src/syntax/typing.nit:322,3--4 text='if'
+Read token at ../src/syntax/typing.nit:322,6--10 text='blist'
+Read token at ../src/syntax/typing.nit:322,12--13 text='!='
+Read token at ../src/syntax/typing.nit:322,15--18 text='null'
+Read token at ../src/syntax/typing.nit:322,20--23 text='then'
+Read token at ../src/syntax/typing.nit:322,25--27 text='for'
+Read token at ../src/syntax/typing.nit:322,29 text='x'
+Read token at ../src/syntax/typing.nit:322,31--32 text='in'
+Read token at ../src/syntax/typing.nit:322,34--38 text='blist'
+Read token at ../src/syntax/typing.nit:322,40--41 text='do'
+Read token at ../src/syntax/typing.nit:322,42--323,0 text='
+'
+Read token at ../src/syntax/typing.nit:323,4 text='v'
+Read token at ../src/syntax/typing.nit:323,5 text='.'
+Read token at ../src/syntax/typing.nit:323,6--23 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:323,24 text='('
+Read token at ../src/syntax/typing.nit:323,25 text='x'
+Read token at ../src/syntax/typing.nit:323,26 text=','
+Read token at ../src/syntax/typing.nit:323,28 text='t'
+Read token at ../src/syntax/typing.nit:323,29 text=')'
+Read token at ../src/syntax/typing.nit:323,30--324,0 text='
+'
+Read token at ../src/syntax/typing.nit:324,3--5 text='end'
+Read token at ../src/syntax/typing.nit:324,6--325,0 text='
+'
+Read token at ../src/syntax/typing.nit:325,1--326,0 text='
+'
+Read token at ../src/syntax/typing.nit:326,3 text='v'
+Read token at ../src/syntax/typing.nit:326,4 text='.'
+Read token at ../src/syntax/typing.nit:326,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:326,14 text='='
+Read token at ../src/syntax/typing.nit:326,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:326,28--327,0 text='
+'
+Read token at ../src/syntax/typing.nit:327,3 text='v'
+Read token at ../src/syntax/typing.nit:327,4 text='.'
+Read token at ../src/syntax/typing.nit:327,5--17 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:327,19 text='='
+Read token at ../src/syntax/typing.nit:327,21--37 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:327,38--328,0 text='
+'
+Read token at ../src/syntax/typing.nit:328,3 text='v'
+Read token at ../src/syntax/typing.nit:328,4 text='.'
+Read token at ../src/syntax/typing.nit:328,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:328,14 text='.'
+Read token at ../src/syntax/typing.nit:328,15--17 text='pop'
+Read token at ../src/syntax/typing.nit:328,18--329,0 text='
+'
+Read token at ../src/syntax/typing.nit:329,2--4 text='end'
+Read token at ../src/syntax/typing.nit:329,5--330,0 text='
+'
+Read token at ../src/syntax/typing.nit:330,1--3 text='end'
+Read token at ../src/syntax/typing.nit:330,4--331,0 text='
+'
+Read token at ../src/syntax/typing.nit:331,1--332,0 text='
+'
+Read token at ../src/syntax/typing.nit:332,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:332,7--11 text='class'
+Read token at ../src/syntax/typing.nit:332,13--17 text='AType'
+Read token at ../src/syntax/typing.nit:332,18--333,0 text='
+'
+Read token at ../src/syntax/typing.nit:333,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:333,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:333,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:333,17 text=':'
+Read token at ../src/syntax/typing.nit:333,19--24 text='MMType'
+Read token at ../src/syntax/typing.nit:333,26--27 text='do'
+Read token at ../src/syntax/typing.nit:333,29--34 text='return'
+Read token at ../src/syntax/typing.nit:333,36--41 text='_stype'
+Read token at ../src/syntax/typing.nit:333,42 text='.'
+Read token at ../src/syntax/typing.nit:333,43--44 text='as'
+Read token at ../src/syntax/typing.nit:333,45 text='('
+Read token at ../src/syntax/typing.nit:333,46--48 text='not'
+Read token at ../src/syntax/typing.nit:333,50--53 text='null'
+Read token at ../src/syntax/typing.nit:333,54 text=')'
+Read token at ../src/syntax/typing.nit:333,55--334,0 text='
+'
+Read token at ../src/syntax/typing.nit:334,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:334,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:334,12--19 text='is_typed'
+Read token at ../src/syntax/typing.nit:334,20 text=':'
+Read token at ../src/syntax/typing.nit:334,22--25 text='Bool'
+Read token at ../src/syntax/typing.nit:334,27--28 text='do'
+Read token at ../src/syntax/typing.nit:334,30--35 text='return'
+Read token at ../src/syntax/typing.nit:334,37--42 text='_stype'
+Read token at ../src/syntax/typing.nit:334,44--45 text='!='
+Read token at ../src/syntax/typing.nit:334,47--50 text='null'
+Read token at ../src/syntax/typing.nit:334,51--335,0 text='
+'
+Read token at ../src/syntax/typing.nit:335,2--4 text='var'
+Read token at ../src/syntax/typing.nit:335,6--11 text='_stype'
+Read token at ../src/syntax/typing.nit:335,12 text=':'
+Read token at ../src/syntax/typing.nit:335,14--21 text='nullable'
+Read token at ../src/syntax/typing.nit:335,23--28 text='MMType'
+Read token at ../src/syntax/typing.nit:335,29--336,0 text='
+'
+Read token at ../src/syntax/typing.nit:336,1--337,0 text='
+'
+Read token at ../src/syntax/typing.nit:337,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:337,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:337,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:337,24 text='('
+Read token at ../src/syntax/typing.nit:337,25 text='v'
+Read token at ../src/syntax/typing.nit:337,26 text=')'
+Read token at ../src/syntax/typing.nit:337,27--338,0 text='
+'
+Read token at ../src/syntax/typing.nit:338,2--3 text='do'
+Read token at ../src/syntax/typing.nit:338,4--339,0 text='
+'
+Read token at ../src/syntax/typing.nit:339,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:339,10 text='='
+Read token at ../src/syntax/typing.nit:339,12--20 text='get_stype'
+Read token at ../src/syntax/typing.nit:339,21 text='('
+Read token at ../src/syntax/typing.nit:339,22 text='v'
+Read token at ../src/syntax/typing.nit:339,23 text=')'
+Read token at ../src/syntax/typing.nit:339,24--340,0 text='
+'
+Read token at ../src/syntax/typing.nit:340,2--4 text='end'
+Read token at ../src/syntax/typing.nit:340,5--341,0 text='
+'
+Read token at ../src/syntax/typing.nit:341,1--3 text='end'
+Read token at ../src/syntax/typing.nit:341,4--342,0 text='
+'
+Read token at ../src/syntax/typing.nit:342,1--343,0 text='
+'
+Read token at ../src/syntax/typing.nit:343,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:343,7--11 text='class'
+Read token at ../src/syntax/typing.nit:343,13--17 text='AExpr'
+Read token at ../src/syntax/typing.nit:343,18--344,0 text='
+'
+Read token at ../src/syntax/typing.nit:344,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:344,8--15 text='readable'
+Read token at ../src/syntax/typing.nit:344,17--19 text='var'
+Read token at ../src/syntax/typing.nit:344,21--29 text='_is_typed'
+Read token at ../src/syntax/typing.nit:344,30 text=':'
+Read token at ../src/syntax/typing.nit:344,32--35 text='Bool'
+Read token at ../src/syntax/typing.nit:344,37 text='='
+Read token at ../src/syntax/typing.nit:344,39--43 text='false'
+Read token at ../src/syntax/typing.nit:344,44--345,0 text='
+'
+Read token at ../src/syntax/typing.nit:345,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:345,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:345,12--23 text='is_statement'
+Read token at ../src/syntax/typing.nit:345,24 text=':'
+Read token at ../src/syntax/typing.nit:345,26--29 text='Bool'
+Read token at ../src/syntax/typing.nit:345,31--32 text='do'
+Read token at ../src/syntax/typing.nit:345,34--39 text='return'
+Read token at ../src/syntax/typing.nit:345,41--46 text='_stype'
+Read token at ../src/syntax/typing.nit:345,48--49 text='=='
+Read token at ../src/syntax/typing.nit:345,51--54 text='null'
+Read token at ../src/syntax/typing.nit:345,55--346,0 text='
+'
+Read token at ../src/syntax/typing.nit:346,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:346,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:346,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:346,17--347,0 text='
+'
+Read token at ../src/syntax/typing.nit:347,2--3 text='do'
+Read token at ../src/syntax/typing.nit:347,4--348,0 text='
+'
+Read token at ../src/syntax/typing.nit:348,3--4 text='if'
+Read token at ../src/syntax/typing.nit:348,6--8 text='not'
+Read token at ../src/syntax/typing.nit:348,10--17 text='is_typed'
+Read token at ../src/syntax/typing.nit:348,19--22 text='then'
+Read token at ../src/syntax/typing.nit:348,23--349,0 text='
+'
+Read token at ../src/syntax/typing.nit:349,4--8 text='print'
+Read token at ../src/syntax/typing.nit:349,10--11 text='"{'
+Read token at ../src/syntax/typing.nit:349,12--19 text='location'
+Read token at ../src/syntax/typing.nit:349,20--35 text='}: not is_typed"'
+Read token at ../src/syntax/typing.nit:349,36--350,0 text='
+'
+Read token at ../src/syntax/typing.nit:350,4--8 text='abort'
+Read token at ../src/syntax/typing.nit:350,9--351,0 text='
+'
+Read token at ../src/syntax/typing.nit:351,3--5 text='end'
+Read token at ../src/syntax/typing.nit:351,6--352,0 text='
+'
+Read token at ../src/syntax/typing.nit:352,3--4 text='if'
+Read token at ../src/syntax/typing.nit:352,6--17 text='is_statement'
+Read token at ../src/syntax/typing.nit:352,19--22 text='then'
+Read token at ../src/syntax/typing.nit:352,23--353,0 text='
+'
+Read token at ../src/syntax/typing.nit:353,4--8 text='print'
+Read token at ../src/syntax/typing.nit:353,10--11 text='"{'
+Read token at ../src/syntax/typing.nit:353,12--19 text='location'
+Read token at ../src/syntax/typing.nit:353,20--35 text='}: is_statement"'
+Read token at ../src/syntax/typing.nit:353,36--354,0 text='
+'
+Read token at ../src/syntax/typing.nit:354,4--8 text='abort'
+Read token at ../src/syntax/typing.nit:354,9--355,0 text='
+'
+Read token at ../src/syntax/typing.nit:355,3--5 text='end'
+Read token at ../src/syntax/typing.nit:355,6--356,0 text='
+'
+Read token at ../src/syntax/typing.nit:356,3--8 text='return'
+Read token at ../src/syntax/typing.nit:356,10--15 text='_stype'
+Read token at ../src/syntax/typing.nit:356,16 text='.'
+Read token at ../src/syntax/typing.nit:356,17--18 text='as'
+Read token at ../src/syntax/typing.nit:356,19 text='('
+Read token at ../src/syntax/typing.nit:356,20--22 text='not'
+Read token at ../src/syntax/typing.nit:356,24--27 text='null'
+Read token at ../src/syntax/typing.nit:356,28 text=')'
+Read token at ../src/syntax/typing.nit:356,29--357,0 text='
+'
+Read token at ../src/syntax/typing.nit:357,2--4 text='end'
+Read token at ../src/syntax/typing.nit:357,5--358,0 text='
+'
+Read token at ../src/syntax/typing.nit:358,2--4 text='var'
+Read token at ../src/syntax/typing.nit:358,6--11 text='_stype'
+Read token at ../src/syntax/typing.nit:358,12 text=':'
+Read token at ../src/syntax/typing.nit:358,14--21 text='nullable'
+Read token at ../src/syntax/typing.nit:358,23--28 text='MMType'
+Read token at ../src/syntax/typing.nit:358,29--359,0 text='
+'
+Read token at ../src/syntax/typing.nit:359,1--360,0 text='
+'
+Read token at ../src/syntax/typing.nit:360,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:360,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:360,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:360,24 text='('
+Read token at ../src/syntax/typing.nit:360,25 text='v'
+Read token at ../src/syntax/typing.nit:360,26 text=')'
+Read token at ../src/syntax/typing.nit:360,27--361,0 text='
+'
+Read token at ../src/syntax/typing.nit:361,2--3 text='do'
+Read token at ../src/syntax/typing.nit:361,4--362,0 text='
+'
+Read token at ../src/syntax/typing.nit:362,3--363,0 text='# Default behavior is to be happy
+'
+Read token at ../src/syntax/typing.nit:363,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:363,13 text='='
+Read token at ../src/syntax/typing.nit:363,15--18 text='true'
+Read token at ../src/syntax/typing.nit:363,19--364,0 text='
+'
+Read token at ../src/syntax/typing.nit:364,2--4 text='end'
+Read token at ../src/syntax/typing.nit:364,5--365,0 text='
+'
+Read token at ../src/syntax/typing.nit:365,1--366,0 text='
+'
+Read token at ../src/syntax/typing.nit:366,2--367,0 text='# Is the expression the implicit receiver
+'
+Read token at ../src/syntax/typing.nit:367,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:367,6--21 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:367,22 text=':'
+Read token at ../src/syntax/typing.nit:367,24--27 text='Bool'
+Read token at ../src/syntax/typing.nit:367,29--30 text='do'
+Read token at ../src/syntax/typing.nit:367,32--37 text='return'
+Read token at ../src/syntax/typing.nit:367,39--43 text='false'
+Read token at ../src/syntax/typing.nit:367,44--368,0 text='
+'
+Read token at ../src/syntax/typing.nit:368,1--369,0 text='
+'
+Read token at ../src/syntax/typing.nit:369,2--370,0 text='# Is the expression the current receiver (implicit or explicit)
+'
+Read token at ../src/syntax/typing.nit:370,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:370,6--12 text='is_self'
+Read token at ../src/syntax/typing.nit:370,13 text=':'
+Read token at ../src/syntax/typing.nit:370,15--18 text='Bool'
+Read token at ../src/syntax/typing.nit:370,20--21 text='do'
+Read token at ../src/syntax/typing.nit:370,23--28 text='return'
+Read token at ../src/syntax/typing.nit:370,30--34 text='false'
+Read token at ../src/syntax/typing.nit:370,35--371,0 text='
+'
+Read token at ../src/syntax/typing.nit:371,1--372,0 text='
+'
+Read token at ../src/syntax/typing.nit:372,2--373,0 text='# The variable accessed is any
+'
+Read token at ../src/syntax/typing.nit:373,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:373,6--17 text='its_variable'
+Read token at ../src/syntax/typing.nit:373,18 text=':'
+Read token at ../src/syntax/typing.nit:373,20--27 text='nullable'
+Read token at ../src/syntax/typing.nit:373,29--36 text='Variable'
+Read token at ../src/syntax/typing.nit:373,38--39 text='do'
+Read token at ../src/syntax/typing.nit:373,41--46 text='return'
+Read token at ../src/syntax/typing.nit:373,48--51 text='null'
+Read token at ../src/syntax/typing.nit:373,52--374,0 text='
+'
+Read token at ../src/syntax/typing.nit:374,1--375,0 text='
+'
+Read token at ../src/syntax/typing.nit:375,2--376,0 text='# The control flow information if current boolean expression is true
+'
+Read token at ../src/syntax/typing.nit:376,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:376,11--17 text='private'
+Read token at ../src/syntax/typing.nit:376,19--21 text='var'
+Read token at ../src/syntax/typing.nit:376,23--39 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:376,40 text=':'
+Read token at ../src/syntax/typing.nit:376,42--49 text='nullable'
+Read token at ../src/syntax/typing.nit:376,51--61 text='FlowContext'
+Read token at ../src/syntax/typing.nit:376,62--377,0 text='
+'
+Read token at ../src/syntax/typing.nit:377,1--378,0 text='
+'
+Read token at ../src/syntax/typing.nit:378,2--379,0 text='# The control flow information if current boolean expression is false
+'
+Read token at ../src/syntax/typing.nit:379,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:379,11--17 text='private'
+Read token at ../src/syntax/typing.nit:379,19--21 text='var'
+Read token at ../src/syntax/typing.nit:379,23--40 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:379,41 text=':'
+Read token at ../src/syntax/typing.nit:379,43--50 text='nullable'
+Read token at ../src/syntax/typing.nit:379,52--62 text='FlowContext'
+Read token at ../src/syntax/typing.nit:379,63--380,0 text='
+'
+Read token at ../src/syntax/typing.nit:380,1--3 text='end'
+Read token at ../src/syntax/typing.nit:380,4--381,0 text='
+'
+Read token at ../src/syntax/typing.nit:381,1--382,0 text='
+'
+Read token at ../src/syntax/typing.nit:382,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:382,7--11 text='class'
+Read token at ../src/syntax/typing.nit:382,13--24 text='AVardeclExpr'
+Read token at ../src/syntax/typing.nit:382,25--383,0 text='
+'
+Read token at ../src/syntax/typing.nit:383,2--4 text='var'
+Read token at ../src/syntax/typing.nit:383,6--14 text='_variable'
+Read token at ../src/syntax/typing.nit:383,15 text=':'
+Read token at ../src/syntax/typing.nit:383,17--24 text='nullable'
+Read token at ../src/syntax/typing.nit:383,26--36 text='VarVariable'
+Read token at ../src/syntax/typing.nit:383,37--384,0 text='
+'
+Read token at ../src/syntax/typing.nit:384,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:384,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:384,12--19 text='variable'
+Read token at ../src/syntax/typing.nit:384,21--22 text='do'
+Read token at ../src/syntax/typing.nit:384,24--29 text='return'
+Read token at ../src/syntax/typing.nit:384,31--39 text='_variable'
+Read token at ../src/syntax/typing.nit:384,40 text='.'
+Read token at ../src/syntax/typing.nit:384,41--42 text='as'
+Read token at ../src/syntax/typing.nit:384,43 text='('
+Read token at ../src/syntax/typing.nit:384,44--46 text='not'
+Read token at ../src/syntax/typing.nit:384,48--51 text='null'
+Read token at ../src/syntax/typing.nit:384,52 text=')'
+Read token at ../src/syntax/typing.nit:384,53--385,0 text='
+'
+Read token at ../src/syntax/typing.nit:385,1--386,0 text='
+'
+Read token at ../src/syntax/typing.nit:386,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:386,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:386,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:386,24 text='('
+Read token at ../src/syntax/typing.nit:386,25 text='v'
+Read token at ../src/syntax/typing.nit:386,26 text=')'
+Read token at ../src/syntax/typing.nit:386,27--387,0 text='
+'
+Read token at ../src/syntax/typing.nit:387,2--3 text='do'
+Read token at ../src/syntax/typing.nit:387,4--388,0 text='
+'
+Read token at ../src/syntax/typing.nit:388,3--5 text='var'
+Read token at ../src/syntax/typing.nit:388,7--8 text='va'
+Read token at ../src/syntax/typing.nit:388,10 text='='
+Read token at ../src/syntax/typing.nit:388,12--14 text='new'
+Read token at ../src/syntax/typing.nit:388,16--26 text='VarVariable'
+Read token at ../src/syntax/typing.nit:388,27 text='('
+Read token at ../src/syntax/typing.nit:388,28--31 text='n_id'
+Read token at ../src/syntax/typing.nit:388,32 text='.'
+Read token at ../src/syntax/typing.nit:388,33--41 text='to_symbol'
+Read token at ../src/syntax/typing.nit:388,42 text=','
+Read token at ../src/syntax/typing.nit:388,44--47 text='n_id'
+Read token at ../src/syntax/typing.nit:388,48 text=')'
+Read token at ../src/syntax/typing.nit:388,49--389,0 text='
+'
+Read token at ../src/syntax/typing.nit:389,3--11 text='_variable'
+Read token at ../src/syntax/typing.nit:389,13 text='='
+Read token at ../src/syntax/typing.nit:389,15--16 text='va'
+Read token at ../src/syntax/typing.nit:389,17--390,0 text='
+'
+Read token at ../src/syntax/typing.nit:390,3 text='v'
+Read token at ../src/syntax/typing.nit:390,4 text='.'
+Read token at ../src/syntax/typing.nit:390,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:390,14 text='.'
+Read token at ../src/syntax/typing.nit:390,15--26 text='add_variable'
+Read token at ../src/syntax/typing.nit:390,27 text='('
+Read token at ../src/syntax/typing.nit:390,28--29 text='va'
+Read token at ../src/syntax/typing.nit:390,30 text=')'
+Read token at ../src/syntax/typing.nit:390,31--391,0 text='
+'
+Read token at ../src/syntax/typing.nit:391,3--5 text='var'
+Read token at ../src/syntax/typing.nit:391,7--8 text='ne'
+Read token at ../src/syntax/typing.nit:391,10 text='='
+Read token at ../src/syntax/typing.nit:391,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:391,18--392,0 text='
+'
+Read token at ../src/syntax/typing.nit:392,3--4 text='if'
+Read token at ../src/syntax/typing.nit:392,6--7 text='ne'
+Read token at ../src/syntax/typing.nit:392,9--10 text='!='
+Read token at ../src/syntax/typing.nit:392,12--15 text='null'
+Read token at ../src/syntax/typing.nit:392,17--20 text='then'
+Read token at ../src/syntax/typing.nit:392,22 text='v'
+Read token at ../src/syntax/typing.nit:392,23 text='.'
+Read token at ../src/syntax/typing.nit:392,24--34 text='mark_is_set'
+Read token at ../src/syntax/typing.nit:392,35 text='('
+Read token at ../src/syntax/typing.nit:392,36--37 text='va'
+Read token at ../src/syntax/typing.nit:392,38 text=')'
+Read token at ../src/syntax/typing.nit:392,39--393,0 text='
+'
+Read token at ../src/syntax/typing.nit:393,1--394,0 text='
+'
+Read token at ../src/syntax/typing.nit:394,3--4 text='if'
+Read token at ../src/syntax/typing.nit:394,6--11 text='n_type'
+Read token at ../src/syntax/typing.nit:394,13--14 text='!='
+Read token at ../src/syntax/typing.nit:394,16--19 text='null'
+Read token at ../src/syntax/typing.nit:394,21--24 text='then'
+Read token at ../src/syntax/typing.nit:394,25--395,0 text='
+'
+Read token at ../src/syntax/typing.nit:395,4--5 text='if'
+Read token at ../src/syntax/typing.nit:395,7--9 text='not'
+Read token at ../src/syntax/typing.nit:395,11--16 text='n_type'
+Read token at ../src/syntax/typing.nit:395,17 text='.'
+Read token at ../src/syntax/typing.nit:395,18--25 text='is_typed'
+Read token at ../src/syntax/typing.nit:395,27--30 text='then'
+Read token at ../src/syntax/typing.nit:395,32--37 text='return'
+Read token at ../src/syntax/typing.nit:395,38--396,0 text='
+'
+Read token at ../src/syntax/typing.nit:396,4--5 text='va'
+Read token at ../src/syntax/typing.nit:396,6 text='.'
+Read token at ../src/syntax/typing.nit:396,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:396,13 text='='
+Read token at ../src/syntax/typing.nit:396,15--20 text='n_type'
+Read token at ../src/syntax/typing.nit:396,21 text='.'
+Read token at ../src/syntax/typing.nit:396,22--26 text='stype'
+Read token at ../src/syntax/typing.nit:396,27--397,0 text='
+'
+Read token at ../src/syntax/typing.nit:397,4--5 text='if'
+Read token at ../src/syntax/typing.nit:397,7--8 text='ne'
+Read token at ../src/syntax/typing.nit:397,10--11 text='!='
+Read token at ../src/syntax/typing.nit:397,13--16 text='null'
+Read token at ../src/syntax/typing.nit:397,18--21 text='then'
+Read token at ../src/syntax/typing.nit:397,22--398,0 text='
+'
+Read token at ../src/syntax/typing.nit:398,5 text='v'
+Read token at ../src/syntax/typing.nit:398,6 text='.'
+Read token at ../src/syntax/typing.nit:398,7--24 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:398,25 text='('
+Read token at ../src/syntax/typing.nit:398,26--27 text='ne'
+Read token at ../src/syntax/typing.nit:398,28 text=','
+Read token at ../src/syntax/typing.nit:398,30--31 text='va'
+Read token at ../src/syntax/typing.nit:398,32 text='.'
+Read token at ../src/syntax/typing.nit:398,33--37 text='stype'
+Read token at ../src/syntax/typing.nit:398,38 text=')'
+Read token at ../src/syntax/typing.nit:398,39--399,0 text='
+'
+Read token at ../src/syntax/typing.nit:399,4--6 text='end'
+Read token at ../src/syntax/typing.nit:399,7--400,0 text='
+'
+Read token at ../src/syntax/typing.nit:400,3--6 text='else'
+Read token at ../src/syntax/typing.nit:400,8--9 text='if'
+Read token at ../src/syntax/typing.nit:400,11--12 text='ne'
+Read token at ../src/syntax/typing.nit:400,14--15 text='!='
+Read token at ../src/syntax/typing.nit:400,17--20 text='null'
+Read token at ../src/syntax/typing.nit:400,22--25 text='then'
+Read token at ../src/syntax/typing.nit:400,26--401,0 text='
+'
+Read token at ../src/syntax/typing.nit:401,4--5 text='if'
+Read token at ../src/syntax/typing.nit:401,7--9 text='not'
+Read token at ../src/syntax/typing.nit:401,11 text='v'
+Read token at ../src/syntax/typing.nit:401,12 text='.'
+Read token at ../src/syntax/typing.nit:401,13--22 text='check_expr'
+Read token at ../src/syntax/typing.nit:401,23 text='('
+Read token at ../src/syntax/typing.nit:401,24--25 text='ne'
+Read token at ../src/syntax/typing.nit:401,26 text=')'
+Read token at ../src/syntax/typing.nit:401,28--31 text='then'
+Read token at ../src/syntax/typing.nit:401,33--38 text='return'
+Read token at ../src/syntax/typing.nit:401,39--402,0 text='
+'
+Read token at ../src/syntax/typing.nit:402,4--5 text='va'
+Read token at ../src/syntax/typing.nit:402,6 text='.'
+Read token at ../src/syntax/typing.nit:402,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:402,13 text='='
+Read token at ../src/syntax/typing.nit:402,15--16 text='ne'
+Read token at ../src/syntax/typing.nit:402,17 text='.'
+Read token at ../src/syntax/typing.nit:402,18--22 text='stype'
+Read token at ../src/syntax/typing.nit:402,23--403,0 text='
+'
+Read token at ../src/syntax/typing.nit:403,3--6 text='else'
+Read token at ../src/syntax/typing.nit:403,7--404,0 text='
+'
+Read token at ../src/syntax/typing.nit:404,4--5 text='va'
+Read token at ../src/syntax/typing.nit:404,6 text='.'
+Read token at ../src/syntax/typing.nit:404,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:404,13 text='='
+Read token at ../src/syntax/typing.nit:404,15 text='v'
+Read token at ../src/syntax/typing.nit:404,16 text='.'
+Read token at ../src/syntax/typing.nit:404,17--27 text='type_object'
+Read token at ../src/syntax/typing.nit:404,28 text='.'
+Read token at ../src/syntax/typing.nit:404,29--39 text='as_nullable'
+Read token at ../src/syntax/typing.nit:404,40--405,0 text='
+'
+Read token at ../src/syntax/typing.nit:405,3--5 text='end'
+Read token at ../src/syntax/typing.nit:405,6--406,0 text='
+'
+Read token at ../src/syntax/typing.nit:406,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:406,13 text='='
+Read token at ../src/syntax/typing.nit:406,15--18 text='true'
+Read token at ../src/syntax/typing.nit:406,19--407,0 text='
+'
+Read token at ../src/syntax/typing.nit:407,2--4 text='end'
+Read token at ../src/syntax/typing.nit:407,5--408,0 text='
+'
+Read token at ../src/syntax/typing.nit:408,1--3 text='end'
+Read token at ../src/syntax/typing.nit:408,4--409,0 text='
+'
+Read token at ../src/syntax/typing.nit:409,1--410,0 text='
+'
+Read token at ../src/syntax/typing.nit:410,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:410,7--11 text='class'
+Read token at ../src/syntax/typing.nit:410,13--22 text='ABlockExpr'
+Read token at ../src/syntax/typing.nit:410,23--411,0 text='
+'
+Read token at ../src/syntax/typing.nit:411,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:411,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:411,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:411,25 text='('
+Read token at ../src/syntax/typing.nit:411,26 text='v'
+Read token at ../src/syntax/typing.nit:411,27 text=')'
+Read token at ../src/syntax/typing.nit:411,28--412,0 text='
+'
+Read token at ../src/syntax/typing.nit:412,2--3 text='do'
+Read token at ../src/syntax/typing.nit:412,4--413,0 text='
+'
+Read token at ../src/syntax/typing.nit:413,3--5 text='for'
+Read token at ../src/syntax/typing.nit:413,7 text='e'
+Read token at ../src/syntax/typing.nit:413,9--10 text='in'
+Read token at ../src/syntax/typing.nit:413,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:413,19--20 text='do'
+Read token at ../src/syntax/typing.nit:413,21--414,0 text='
+'
+Read token at ../src/syntax/typing.nit:414,4--5 text='if'
+Read token at ../src/syntax/typing.nit:414,7--9 text='not'
+Read token at ../src/syntax/typing.nit:414,11 text='v'
+Read token at ../src/syntax/typing.nit:414,12 text='.'
+Read token at ../src/syntax/typing.nit:414,13--20 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:414,21 text='.'
+Read token at ../src/syntax/typing.nit:414,22--28 text='unreash'
+Read token at ../src/syntax/typing.nit:414,30--33 text='then'
+Read token at ../src/syntax/typing.nit:414,34--415,0 text='
+'
+Read token at ../src/syntax/typing.nit:415,5 text='v'
+Read token at ../src/syntax/typing.nit:415,6 text='.'
+Read token at ../src/syntax/typing.nit:415,7--17 text='enter_visit'
+Read token at ../src/syntax/typing.nit:415,18 text='('
+Read token at ../src/syntax/typing.nit:415,19 text='e'
+Read token at ../src/syntax/typing.nit:415,20 text=')'
+Read token at ../src/syntax/typing.nit:415,21--416,0 text='
+'
+Read token at ../src/syntax/typing.nit:416,4--7 text='else'
+Read token at ../src/syntax/typing.nit:416,9--10 text='if'
+Read token at ../src/syntax/typing.nit:416,12--14 text='not'
+Read token at ../src/syntax/typing.nit:416,16 text='v'
+Read token at ../src/syntax/typing.nit:416,17 text='.'
+Read token at ../src/syntax/typing.nit:416,18--25 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:416,26 text='.'
+Read token at ../src/syntax/typing.nit:416,27--41 text='already_unreash'
+Read token at ../src/syntax/typing.nit:416,43--46 text='then'
+Read token at ../src/syntax/typing.nit:416,47--417,0 text='
+'
+Read token at ../src/syntax/typing.nit:417,5 text='v'
+Read token at ../src/syntax/typing.nit:417,6 text='.'
+Read token at ../src/syntax/typing.nit:417,7--14 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:417,15 text='.'
+Read token at ../src/syntax/typing.nit:417,16--30 text='already_unreash'
+Read token at ../src/syntax/typing.nit:417,32 text='='
+Read token at ../src/syntax/typing.nit:417,34--37 text='true'
+Read token at ../src/syntax/typing.nit:417,38--418,0 text='
+'
+Read token at ../src/syntax/typing.nit:418,5 text='v'
+Read token at ../src/syntax/typing.nit:418,6 text='.'
+Read token at ../src/syntax/typing.nit:418,7--11 text='error'
+Read token at ../src/syntax/typing.nit:418,12 text='('
+Read token at ../src/syntax/typing.nit:418,13 text='e'
+Read token at ../src/syntax/typing.nit:418,14 text=','
+Read token at ../src/syntax/typing.nit:418,16--46 text='"Error: unreachable statement."'
+Read token at ../src/syntax/typing.nit:418,47 text=')'
+Read token at ../src/syntax/typing.nit:418,48--419,0 text='
+'
+Read token at ../src/syntax/typing.nit:419,4--6 text='end'
+Read token at ../src/syntax/typing.nit:419,7--420,0 text='
+'
+Read token at ../src/syntax/typing.nit:420,3--5 text='end'
+Read token at ../src/syntax/typing.nit:420,6--421,0 text='
+'
+Read token at ../src/syntax/typing.nit:421,1--422,0 text='
+'
+Read token at ../src/syntax/typing.nit:422,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:422,13 text='='
+Read token at ../src/syntax/typing.nit:422,15--18 text='true'
+Read token at ../src/syntax/typing.nit:422,19--423,0 text='
+'
+Read token at ../src/syntax/typing.nit:423,2--4 text='end'
+Read token at ../src/syntax/typing.nit:423,5--424,0 text='
+'
+Read token at ../src/syntax/typing.nit:424,1--3 text='end'
+Read token at ../src/syntax/typing.nit:424,4--425,0 text='
+'
+Read token at ../src/syntax/typing.nit:425,1--426,0 text='
+'
+Read token at ../src/syntax/typing.nit:426,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:426,7--11 text='class'
+Read token at ../src/syntax/typing.nit:426,13--23 text='AReturnExpr'
+Read token at ../src/syntax/typing.nit:426,24--427,0 text='
+'
+Read token at ../src/syntax/typing.nit:427,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:427,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:427,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:427,24 text='('
+Read token at ../src/syntax/typing.nit:427,25 text='v'
+Read token at ../src/syntax/typing.nit:427,26 text=')'
+Read token at ../src/syntax/typing.nit:427,27--428,0 text='
+'
+Read token at ../src/syntax/typing.nit:428,2--3 text='do'
+Read token at ../src/syntax/typing.nit:428,4--429,0 text='
+'
+Read token at ../src/syntax/typing.nit:429,3 text='v'
+Read token at ../src/syntax/typing.nit:429,4 text='.'
+Read token at ../src/syntax/typing.nit:429,5--16 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:429,17 text='('
+Read token at ../src/syntax/typing.nit:429,18--21 text='self'
+Read token at ../src/syntax/typing.nit:429,22 text=')'
+Read token at ../src/syntax/typing.nit:429,23--430,0 text='
+'
+Read token at ../src/syntax/typing.nit:430,3--5 text='var'
+Read token at ../src/syntax/typing.nit:430,7 text='t'
+Read token at ../src/syntax/typing.nit:430,9 text='='
+Read token at ../src/syntax/typing.nit:430,11 text='v'
+Read token at ../src/syntax/typing.nit:430,12 text='.'
+Read token at ../src/syntax/typing.nit:430,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:430,27 text='.'
+Read token at ../src/syntax/typing.nit:430,28--36 text='signature'
+Read token at ../src/syntax/typing.nit:430,37 text='.'
+Read token at ../src/syntax/typing.nit:430,38--48 text='return_type'
+Read token at ../src/syntax/typing.nit:430,49--431,0 text='
+'
+Read token at ../src/syntax/typing.nit:431,1--432,0 text='
+'
+Read token at ../src/syntax/typing.nit:432,3--4 text='if'
+Read token at ../src/syntax/typing.nit:432,6 text='v'
+Read token at ../src/syntax/typing.nit:432,7 text='.'
+Read token at ../src/syntax/typing.nit:432,8--36 text='is_default_closure_definition'
+Read token at ../src/syntax/typing.nit:432,38--41 text='then'
+Read token at ../src/syntax/typing.nit:432,42--433,0 text='
+'
+Read token at ../src/syntax/typing.nit:433,4 text='v'
+Read token at ../src/syntax/typing.nit:433,5 text='.'
+Read token at ../src/syntax/typing.nit:433,6--10 text='error'
+Read token at ../src/syntax/typing.nit:433,11 text='('
+Read token at ../src/syntax/typing.nit:433,12--15 text='self'
+Read token at ../src/syntax/typing.nit:433,16 text=','
+Read token at ../src/syntax/typing.nit:433,18--101 text='"Error: 'return' invalid in default closure definitions. Use 'continue' or 'break'."'
+Read token at ../src/syntax/typing.nit:433,102 text=')'
+Read token at ../src/syntax/typing.nit:433,103--434,0 text='
+'
+Read token at ../src/syntax/typing.nit:434,4--9 text='return'
+Read token at ../src/syntax/typing.nit:434,10--435,0 text='
+'
+Read token at ../src/syntax/typing.nit:435,3--5 text='end'
+Read token at ../src/syntax/typing.nit:435,6--436,0 text='
+'
+Read token at ../src/syntax/typing.nit:436,1--437,0 text='
+'
+Read token at ../src/syntax/typing.nit:437,3--5 text='var'
+Read token at ../src/syntax/typing.nit:437,7 text='e'
+Read token at ../src/syntax/typing.nit:437,9 text='='
+Read token at ../src/syntax/typing.nit:437,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:437,17--438,0 text='
+'
+Read token at ../src/syntax/typing.nit:438,3--4 text='if'
+Read token at ../src/syntax/typing.nit:438,6 text='e'
+Read token at ../src/syntax/typing.nit:438,8--9 text='=='
+Read token at ../src/syntax/typing.nit:438,11--14 text='null'
+Read token at ../src/syntax/typing.nit:438,16--18 text='and'
+Read token at ../src/syntax/typing.nit:438,20 text='t'
+Read token at ../src/syntax/typing.nit:438,22--23 text='!='
+Read token at ../src/syntax/typing.nit:438,25--28 text='null'
+Read token at ../src/syntax/typing.nit:438,30--33 text='then'
+Read token at ../src/syntax/typing.nit:438,34--439,0 text='
+'
+Read token at ../src/syntax/typing.nit:439,4 text='v'
+Read token at ../src/syntax/typing.nit:439,5 text='.'
+Read token at ../src/syntax/typing.nit:439,6--10 text='error'
+Read token at ../src/syntax/typing.nit:439,11 text='('
+Read token at ../src/syntax/typing.nit:439,12--15 text='self'
+Read token at ../src/syntax/typing.nit:439,16 text=','
+Read token at ../src/syntax/typing.nit:439,18--61 text='"Error: Return without value in a function."'
+Read token at ../src/syntax/typing.nit:439,62 text=')'
+Read token at ../src/syntax/typing.nit:439,63--440,0 text='
+'
+Read token at ../src/syntax/typing.nit:440,3--6 text='else'
+Read token at ../src/syntax/typing.nit:440,8--9 text='if'
+Read token at ../src/syntax/typing.nit:440,11 text='e'
+Read token at ../src/syntax/typing.nit:440,13--14 text='!='
+Read token at ../src/syntax/typing.nit:440,16--19 text='null'
+Read token at ../src/syntax/typing.nit:440,21--23 text='and'
+Read token at ../src/syntax/typing.nit:440,25 text='t'
+Read token at ../src/syntax/typing.nit:440,27--28 text='=='
+Read token at ../src/syntax/typing.nit:440,30--33 text='null'
+Read token at ../src/syntax/typing.nit:440,35--38 text='then'
+Read token at ../src/syntax/typing.nit:440,39--441,0 text='
+'
+Read token at ../src/syntax/typing.nit:441,4 text='v'
+Read token at ../src/syntax/typing.nit:441,5 text='.'
+Read token at ../src/syntax/typing.nit:441,6--10 text='error'
+Read token at ../src/syntax/typing.nit:441,11 text='('
+Read token at ../src/syntax/typing.nit:441,12--15 text='self'
+Read token at ../src/syntax/typing.nit:441,16 text=','
+Read token at ../src/syntax/typing.nit:441,18--59 text='"Error: Return with value in a procedure."'
+Read token at ../src/syntax/typing.nit:441,60 text=')'
+Read token at ../src/syntax/typing.nit:441,61--442,0 text='
+'
+Read token at ../src/syntax/typing.nit:442,3--6 text='else'
+Read token at ../src/syntax/typing.nit:442,8--9 text='if'
+Read token at ../src/syntax/typing.nit:442,11 text='e'
+Read token at ../src/syntax/typing.nit:442,13--14 text='!='
+Read token at ../src/syntax/typing.nit:442,16--19 text='null'
+Read token at ../src/syntax/typing.nit:442,21--23 text='and'
+Read token at ../src/syntax/typing.nit:442,25 text='t'
+Read token at ../src/syntax/typing.nit:442,27--28 text='!='
+Read token at ../src/syntax/typing.nit:442,30--33 text='null'
+Read token at ../src/syntax/typing.nit:442,35--38 text='then'
+Read token at ../src/syntax/typing.nit:442,39--443,0 text='
+'
+Read token at ../src/syntax/typing.nit:443,4 text='v'
+Read token at ../src/syntax/typing.nit:443,5 text='.'
+Read token at ../src/syntax/typing.nit:443,6--23 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:443,24 text='('
+Read token at ../src/syntax/typing.nit:443,25 text='e'
+Read token at ../src/syntax/typing.nit:443,26 text=','
+Read token at ../src/syntax/typing.nit:443,28 text='t'
+Read token at ../src/syntax/typing.nit:443,29 text=')'
+Read token at ../src/syntax/typing.nit:443,30--444,0 text='
+'
+Read token at ../src/syntax/typing.nit:444,3--5 text='end'
+Read token at ../src/syntax/typing.nit:444,6--445,0 text='
+'
+Read token at ../src/syntax/typing.nit:445,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:445,13 text='='
+Read token at ../src/syntax/typing.nit:445,15--18 text='true'
+Read token at ../src/syntax/typing.nit:445,19--446,0 text='
+'
+Read token at ../src/syntax/typing.nit:446,2--4 text='end'
+Read token at ../src/syntax/typing.nit:446,5--447,0 text='
+'
+Read token at ../src/syntax/typing.nit:447,1--3 text='end'
+Read token at ../src/syntax/typing.nit:447,4--448,0 text='
+'
+Read token at ../src/syntax/typing.nit:448,1--449,0 text='
+'
+Read token at ../src/syntax/typing.nit:449,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:449,7--11 text='class'
+Read token at ../src/syntax/typing.nit:449,13--25 text='AContinueExpr'
+Read token at ../src/syntax/typing.nit:449,26--450,0 text='
+'
+Read token at ../src/syntax/typing.nit:450,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:450,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:450,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:450,24 text='('
+Read token at ../src/syntax/typing.nit:450,25 text='v'
+Read token at ../src/syntax/typing.nit:450,26 text=')'
+Read token at ../src/syntax/typing.nit:450,27--451,0 text='
+'
+Read token at ../src/syntax/typing.nit:451,2--3 text='do'
+Read token at ../src/syntax/typing.nit:451,4--452,0 text='
+'
+Read token at ../src/syntax/typing.nit:452,3 text='v'
+Read token at ../src/syntax/typing.nit:452,4 text='.'
+Read token at ../src/syntax/typing.nit:452,5--16 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:452,17 text='('
+Read token at ../src/syntax/typing.nit:452,18--21 text='self'
+Read token at ../src/syntax/typing.nit:452,22 text=')'
+Read token at ../src/syntax/typing.nit:452,23--453,0 text='
+'
+Read token at ../src/syntax/typing.nit:453,3--5 text='var'
+Read token at ../src/syntax/typing.nit:453,7--9 text='esc'
+Read token at ../src/syntax/typing.nit:453,11 text='='
+Read token at ../src/syntax/typing.nit:453,13--35 text='compute_escapable_block'
+Read token at ../src/syntax/typing.nit:453,36 text='('
+Read token at ../src/syntax/typing.nit:453,37 text='v'
+Read token at ../src/syntax/typing.nit:453,38 text='.'
+Read token at ../src/syntax/typing.nit:453,39--47 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:453,48 text=')'
+Read token at ../src/syntax/typing.nit:453,49--454,0 text='
+'
+Read token at ../src/syntax/typing.nit:454,3--4 text='if'
+Read token at ../src/syntax/typing.nit:454,6--8 text='esc'
+Read token at ../src/syntax/typing.nit:454,10--11 text='=='
+Read token at ../src/syntax/typing.nit:454,13--16 text='null'
+Read token at ../src/syntax/typing.nit:454,18--21 text='then'
+Read token at ../src/syntax/typing.nit:454,23--28 text='return'
+Read token at ../src/syntax/typing.nit:454,29--455,0 text='
+'
+Read token at ../src/syntax/typing.nit:455,1--456,0 text='
+'
+Read token at ../src/syntax/typing.nit:456,3--4 text='if'
+Read token at ../src/syntax/typing.nit:456,6--8 text='esc'
+Read token at ../src/syntax/typing.nit:456,9 text='.'
+Read token at ../src/syntax/typing.nit:456,10--23 text='is_break_block'
+Read token at ../src/syntax/typing.nit:456,25--28 text='then'
+Read token at ../src/syntax/typing.nit:456,29--457,0 text='
+'
+Read token at ../src/syntax/typing.nit:457,4 text='v'
+Read token at ../src/syntax/typing.nit:457,5 text='.'
+Read token at ../src/syntax/typing.nit:457,6--10 text='error'
+Read token at ../src/syntax/typing.nit:457,11 text='('
+Read token at ../src/syntax/typing.nit:457,12--15 text='self'
+Read token at ../src/syntax/typing.nit:457,16 text=','
+Read token at ../src/syntax/typing.nit:457,18--58 text='"Error: cannot 'continue', only 'break'."'
+Read token at ../src/syntax/typing.nit:457,59 text=')'
+Read token at ../src/syntax/typing.nit:457,60--458,0 text='
+'
+Read token at ../src/syntax/typing.nit:458,4--9 text='return'
+Read token at ../src/syntax/typing.nit:458,10--459,0 text='
+'
+Read token at ../src/syntax/typing.nit:459,3--5 text='end'
+Read token at ../src/syntax/typing.nit:459,6--460,0 text='
+'
+Read token at ../src/syntax/typing.nit:460,1--461,0 text='
+'
+Read token at ../src/syntax/typing.nit:461,3--5 text='var'
+Read token at ../src/syntax/typing.nit:461,7 text='t'
+Read token at ../src/syntax/typing.nit:461,9 text='='
+Read token at ../src/syntax/typing.nit:461,11--13 text='esc'
+Read token at ../src/syntax/typing.nit:461,14 text='.'
+Read token at ../src/syntax/typing.nit:461,15--28 text='continue_stype'
+Read token at ../src/syntax/typing.nit:461,29--462,0 text='
+'
+Read token at ../src/syntax/typing.nit:462,3--4 text='if'
+Read token at ../src/syntax/typing.nit:462,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:462,13--14 text='=='
+Read token at ../src/syntax/typing.nit:462,16--19 text='null'
+Read token at ../src/syntax/typing.nit:462,21--23 text='and'
+Read token at ../src/syntax/typing.nit:462,25 text='t'
+Read token at ../src/syntax/typing.nit:462,27--28 text='!='
+Read token at ../src/syntax/typing.nit:462,30--33 text='null'
+Read token at ../src/syntax/typing.nit:462,35--38 text='then'
+Read token at ../src/syntax/typing.nit:462,39--463,0 text='
+'
+Read token at ../src/syntax/typing.nit:463,4 text='v'
+Read token at ../src/syntax/typing.nit:463,5 text='.'
+Read token at ../src/syntax/typing.nit:463,6--10 text='error'
+Read token at ../src/syntax/typing.nit:463,11 text='('
+Read token at ../src/syntax/typing.nit:463,12--15 text='self'
+Read token at ../src/syntax/typing.nit:463,16 text=','
+Read token at ../src/syntax/typing.nit:463,18--71 text='"Error: continue with a value required in this block."'
+Read token at ../src/syntax/typing.nit:463,72 text=')'
+Read token at ../src/syntax/typing.nit:463,73--464,0 text='
+'
+Read token at ../src/syntax/typing.nit:464,3--6 text='else'
+Read token at ../src/syntax/typing.nit:464,8--9 text='if'
+Read token at ../src/syntax/typing.nit:464,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:464,18--19 text='!='
+Read token at ../src/syntax/typing.nit:464,21--24 text='null'
+Read token at ../src/syntax/typing.nit:464,26--28 text='and'
+Read token at ../src/syntax/typing.nit:464,30 text='t'
+Read token at ../src/syntax/typing.nit:464,32--33 text='=='
+Read token at ../src/syntax/typing.nit:464,35--38 text='null'
+Read token at ../src/syntax/typing.nit:464,40--43 text='then'
+Read token at ../src/syntax/typing.nit:464,44--465,0 text='
+'
+Read token at ../src/syntax/typing.nit:465,4 text='v'
+Read token at ../src/syntax/typing.nit:465,5 text='.'
+Read token at ../src/syntax/typing.nit:465,6--10 text='error'
+Read token at ../src/syntax/typing.nit:465,11 text='('
+Read token at ../src/syntax/typing.nit:465,12--15 text='self'
+Read token at ../src/syntax/typing.nit:465,16 text=','
+Read token at ../src/syntax/typing.nit:465,18--72 text='"Error: continue without value required in this block."'
+Read token at ../src/syntax/typing.nit:465,73 text=')'
+Read token at ../src/syntax/typing.nit:465,74--466,0 text='
+'
+Read token at ../src/syntax/typing.nit:466,3--6 text='else'
+Read token at ../src/syntax/typing.nit:466,8--9 text='if'
+Read token at ../src/syntax/typing.nit:466,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:466,18--19 text='!='
+Read token at ../src/syntax/typing.nit:466,21--24 text='null'
+Read token at ../src/syntax/typing.nit:466,26--28 text='and'
+Read token at ../src/syntax/typing.nit:466,30 text='t'
+Read token at ../src/syntax/typing.nit:466,32--33 text='!='
+Read token at ../src/syntax/typing.nit:466,35--38 text='null'
+Read token at ../src/syntax/typing.nit:466,40--43 text='then'
+Read token at ../src/syntax/typing.nit:466,44--467,0 text='
+'
+Read token at ../src/syntax/typing.nit:467,4 text='v'
+Read token at ../src/syntax/typing.nit:467,5 text='.'
+Read token at ../src/syntax/typing.nit:467,6--23 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:467,24 text='('
+Read token at ../src/syntax/typing.nit:467,25--30 text='n_expr'
+Read token at ../src/syntax/typing.nit:467,31 text='.'
+Read token at ../src/syntax/typing.nit:467,32--33 text='as'
+Read token at ../src/syntax/typing.nit:467,34 text='('
+Read token at ../src/syntax/typing.nit:467,35--37 text='not'
+Read token at ../src/syntax/typing.nit:467,39--42 text='null'
+Read token at ../src/syntax/typing.nit:467,43 text=')'
+Read token at ../src/syntax/typing.nit:467,44 text=','
+Read token at ../src/syntax/typing.nit:467,46 text='t'
+Read token at ../src/syntax/typing.nit:467,47 text=')'
+Read token at ../src/syntax/typing.nit:467,48--468,0 text='
+'
+Read token at ../src/syntax/typing.nit:468,3--5 text='end'
+Read token at ../src/syntax/typing.nit:468,6--469,0 text='
+'
+Read token at ../src/syntax/typing.nit:469,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:469,13 text='='
+Read token at ../src/syntax/typing.nit:469,15--18 text='true'
+Read token at ../src/syntax/typing.nit:469,19--470,0 text='
+'
+Read token at ../src/syntax/typing.nit:470,2--4 text='end'
+Read token at ../src/syntax/typing.nit:470,5--471,0 text='
+'
+Read token at ../src/syntax/typing.nit:471,1--3 text='end'
+Read token at ../src/syntax/typing.nit:471,4--472,0 text='
+'
+Read token at ../src/syntax/typing.nit:472,1--473,0 text='
+'
+Read token at ../src/syntax/typing.nit:473,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:473,7--11 text='class'
+Read token at ../src/syntax/typing.nit:473,13--22 text='ABreakExpr'
+Read token at ../src/syntax/typing.nit:473,23--474,0 text='
+'
+Read token at ../src/syntax/typing.nit:474,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:474,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:474,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:474,24 text='('
+Read token at ../src/syntax/typing.nit:474,25 text='v'
+Read token at ../src/syntax/typing.nit:474,26 text=')'
+Read token at ../src/syntax/typing.nit:474,27--475,0 text='
+'
+Read token at ../src/syntax/typing.nit:475,2--3 text='do'
+Read token at ../src/syntax/typing.nit:475,4--476,0 text='
+'
+Read token at ../src/syntax/typing.nit:476,3--5 text='var'
+Read token at ../src/syntax/typing.nit:476,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:476,20 text='='
+Read token at ../src/syntax/typing.nit:476,22 text='v'
+Read token at ../src/syntax/typing.nit:476,23 text='.'
+Read token at ../src/syntax/typing.nit:476,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:476,32--477,0 text='
+'
+Read token at ../src/syntax/typing.nit:477,3 text='v'
+Read token at ../src/syntax/typing.nit:477,4 text='.'
+Read token at ../src/syntax/typing.nit:477,5--16 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:477,17 text='('
+Read token at ../src/syntax/typing.nit:477,18--21 text='self'
+Read token at ../src/syntax/typing.nit:477,22 text=')'
+Read token at ../src/syntax/typing.nit:477,23--478,0 text='
+'
+Read token at ../src/syntax/typing.nit:478,3--5 text='var'
+Read token at ../src/syntax/typing.nit:478,7--9 text='esc'
+Read token at ../src/syntax/typing.nit:478,11 text='='
+Read token at ../src/syntax/typing.nit:478,13--35 text='compute_escapable_block'
+Read token at ../src/syntax/typing.nit:478,36 text='('
+Read token at ../src/syntax/typing.nit:478,37 text='v'
+Read token at ../src/syntax/typing.nit:478,38 text='.'
+Read token at ../src/syntax/typing.nit:478,39--47 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:478,48 text=')'
+Read token at ../src/syntax/typing.nit:478,49--479,0 text='
+'
+Read token at ../src/syntax/typing.nit:479,3--4 text='if'
+Read token at ../src/syntax/typing.nit:479,6--8 text='esc'
+Read token at ../src/syntax/typing.nit:479,10--11 text='=='
+Read token at ../src/syntax/typing.nit:479,13--16 text='null'
+Read token at ../src/syntax/typing.nit:479,18--21 text='then'
+Read token at ../src/syntax/typing.nit:479,23--28 text='return'
+Read token at ../src/syntax/typing.nit:479,29--480,0 text='
+'
+Read token at ../src/syntax/typing.nit:480,1--481,0 text='
+'
+Read token at ../src/syntax/typing.nit:481,3--5 text='esc'
+Read token at ../src/syntax/typing.nit:481,6 text='.'
+Read token at ../src/syntax/typing.nit:481,7--25 text='break_flow_contexts'
+Read token at ../src/syntax/typing.nit:481,26 text='.'
+Read token at ../src/syntax/typing.nit:481,27--29 text='add'
+Read token at ../src/syntax/typing.nit:481,30 text='('
+Read token at ../src/syntax/typing.nit:481,31--42 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:481,43 text=')'
+Read token at ../src/syntax/typing.nit:481,44--482,0 text='
+'
+Read token at ../src/syntax/typing.nit:482,1--483,0 text='
+'
+Read token at ../src/syntax/typing.nit:483,3--5 text='var'
+Read token at ../src/syntax/typing.nit:483,7--8 text='bl'
+Read token at ../src/syntax/typing.nit:483,10 text='='
+Read token at ../src/syntax/typing.nit:483,12--14 text='esc'
+Read token at ../src/syntax/typing.nit:483,15 text='.'
+Read token at ../src/syntax/typing.nit:483,16--25 text='break_list'
+Read token at ../src/syntax/typing.nit:483,26--484,0 text='
+'
+Read token at ../src/syntax/typing.nit:484,3--4 text='if'
+Read token at ../src/syntax/typing.nit:484,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:484,13--14 text='=='
+Read token at ../src/syntax/typing.nit:484,16--19 text='null'
+Read token at ../src/syntax/typing.nit:484,21--23 text='and'
+Read token at ../src/syntax/typing.nit:484,25--26 text='bl'
+Read token at ../src/syntax/typing.nit:484,28--29 text='!='
+Read token at ../src/syntax/typing.nit:484,31--34 text='null'
+Read token at ../src/syntax/typing.nit:484,36--39 text='then'
+Read token at ../src/syntax/typing.nit:484,40--485,0 text='
+'
+Read token at ../src/syntax/typing.nit:485,4 text='v'
+Read token at ../src/syntax/typing.nit:485,5 text='.'
+Read token at ../src/syntax/typing.nit:485,6--10 text='error'
+Read token at ../src/syntax/typing.nit:485,11 text='('
+Read token at ../src/syntax/typing.nit:485,12--15 text='self'
+Read token at ../src/syntax/typing.nit:485,16 text=','
+Read token at ../src/syntax/typing.nit:485,18--68 text='"Error: break with a value required in this block."'
+Read token at ../src/syntax/typing.nit:485,69 text=')'
+Read token at ../src/syntax/typing.nit:485,70--486,0 text='
+'
+Read token at ../src/syntax/typing.nit:486,3--6 text='else'
+Read token at ../src/syntax/typing.nit:486,8--9 text='if'
+Read token at ../src/syntax/typing.nit:486,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:486,18--19 text='!='
+Read token at ../src/syntax/typing.nit:486,21--24 text='null'
+Read token at ../src/syntax/typing.nit:486,26--28 text='and'
+Read token at ../src/syntax/typing.nit:486,30--31 text='bl'
+Read token at ../src/syntax/typing.nit:486,33--34 text='=='
+Read token at ../src/syntax/typing.nit:486,36--39 text='null'
+Read token at ../src/syntax/typing.nit:486,41--44 text='then'
+Read token at ../src/syntax/typing.nit:486,45--487,0 text='
+'
+Read token at ../src/syntax/typing.nit:487,4 text='v'
+Read token at ../src/syntax/typing.nit:487,5 text='.'
+Read token at ../src/syntax/typing.nit:487,6--10 text='error'
+Read token at ../src/syntax/typing.nit:487,11 text='('
+Read token at ../src/syntax/typing.nit:487,12--15 text='self'
+Read token at ../src/syntax/typing.nit:487,16 text=','
+Read token at ../src/syntax/typing.nit:487,18--69 text='"Error: break without value required in this block."'
+Read token at ../src/syntax/typing.nit:487,70 text=')'
+Read token at ../src/syntax/typing.nit:487,71--488,0 text='
+'
+Read token at ../src/syntax/typing.nit:488,3--6 text='else'
+Read token at ../src/syntax/typing.nit:488,8--9 text='if'
+Read token at ../src/syntax/typing.nit:488,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:488,18--19 text='!='
+Read token at ../src/syntax/typing.nit:488,21--24 text='null'
+Read token at ../src/syntax/typing.nit:488,26--28 text='and'
+Read token at ../src/syntax/typing.nit:488,30--31 text='bl'
+Read token at ../src/syntax/typing.nit:488,33--34 text='!='
+Read token at ../src/syntax/typing.nit:488,36--39 text='null'
+Read token at ../src/syntax/typing.nit:488,41--44 text='then'
+Read token at ../src/syntax/typing.nit:488,45--489,0 text='
+'
+Read token at ../src/syntax/typing.nit:489,4--490,0 text='# Typing check can only be done later
+'
+Read token at ../src/syntax/typing.nit:490,4--5 text='bl'
+Read token at ../src/syntax/typing.nit:490,6 text='.'
+Read token at ../src/syntax/typing.nit:490,7--9 text='add'
+Read token at ../src/syntax/typing.nit:490,10 text='('
+Read token at ../src/syntax/typing.nit:490,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:490,17 text='.'
+Read token at ../src/syntax/typing.nit:490,18--19 text='as'
+Read token at ../src/syntax/typing.nit:490,20 text='('
+Read token at ../src/syntax/typing.nit:490,21--23 text='not'
+Read token at ../src/syntax/typing.nit:490,25--28 text='null'
+Read token at ../src/syntax/typing.nit:490,29 text=')'
+Read token at ../src/syntax/typing.nit:490,30 text=')'
+Read token at ../src/syntax/typing.nit:490,31--491,0 text='
+'
+Read token at ../src/syntax/typing.nit:491,3--5 text='end'
+Read token at ../src/syntax/typing.nit:491,6--492,0 text='
+'
+Read token at ../src/syntax/typing.nit:492,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:492,13 text='='
+Read token at ../src/syntax/typing.nit:492,15--18 text='true'
+Read token at ../src/syntax/typing.nit:492,19--493,0 text='
+'
+Read token at ../src/syntax/typing.nit:493,2--4 text='end'
+Read token at ../src/syntax/typing.nit:493,5--494,0 text='
+'
+Read token at ../src/syntax/typing.nit:494,1--3 text='end'
+Read token at ../src/syntax/typing.nit:494,4--495,0 text='
+'
+Read token at ../src/syntax/typing.nit:495,1--496,0 text='
+'
+Read token at ../src/syntax/typing.nit:496,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:496,7--11 text='class'
+Read token at ../src/syntax/typing.nit:496,13--22 text='AAbortExpr'
+Read token at ../src/syntax/typing.nit:496,23--497,0 text='
+'
+Read token at ../src/syntax/typing.nit:497,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:497,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:497,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:497,24 text='('
+Read token at ../src/syntax/typing.nit:497,25 text='v'
+Read token at ../src/syntax/typing.nit:497,26 text=')'
+Read token at ../src/syntax/typing.nit:497,27--498,0 text='
+'
+Read token at ../src/syntax/typing.nit:498,2--3 text='do'
+Read token at ../src/syntax/typing.nit:498,4--499,0 text='
+'
+Read token at ../src/syntax/typing.nit:499,3 text='v'
+Read token at ../src/syntax/typing.nit:499,4 text='.'
+Read token at ../src/syntax/typing.nit:499,5--16 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:499,17 text='('
+Read token at ../src/syntax/typing.nit:499,18--21 text='self'
+Read token at ../src/syntax/typing.nit:499,22 text=')'
+Read token at ../src/syntax/typing.nit:499,23--500,0 text='
+'
+Read token at ../src/syntax/typing.nit:500,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:500,13 text='='
+Read token at ../src/syntax/typing.nit:500,15--18 text='true'
+Read token at ../src/syntax/typing.nit:500,19--501,0 text='
+'
+Read token at ../src/syntax/typing.nit:501,2--4 text='end'
+Read token at ../src/syntax/typing.nit:501,5--502,0 text='
+'
+Read token at ../src/syntax/typing.nit:502,1--3 text='end'
+Read token at ../src/syntax/typing.nit:502,4--503,0 text='
+'
+Read token at ../src/syntax/typing.nit:503,1--504,0 text='
+'
+Read token at ../src/syntax/typing.nit:504,1--505,0 text='# An abstract control structure with feature escapable block
+'
+Read token at ../src/syntax/typing.nit:505,1--5 text='class'
+Read token at ../src/syntax/typing.nit:505,7--17 text='AAbsControl'
+Read token at ../src/syntax/typing.nit:505,18--506,0 text='
+'
+Read token at ../src/syntax/typing.nit:506,2--6 text='super'
+Read token at ../src/syntax/typing.nit:506,8--12 text='AExpr'
+Read token at ../src/syntax/typing.nit:506,13--507,0 text='
+'
+Read token at ../src/syntax/typing.nit:507,2--508,0 text='# The corresponding escapable block
+'
+Read token at ../src/syntax/typing.nit:508,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:508,11--13 text='var'
+Read token at ../src/syntax/typing.nit:508,15--24 text='_escapable'
+Read token at ../src/syntax/typing.nit:508,25 text=':'
+Read token at ../src/syntax/typing.nit:508,27--34 text='nullable'
+Read token at ../src/syntax/typing.nit:508,36--49 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:508,50--509,0 text='
+'
+Read token at ../src/syntax/typing.nit:509,1--510,0 text='
+'
+Read token at ../src/syntax/typing.nit:510,2--511,0 text='# Enter and process a control structure
+'
+Read token at ../src/syntax/typing.nit:511,2--8 text='private'
+Read token at ../src/syntax/typing.nit:511,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:511,14--28 text='process_control'
+Read token at ../src/syntax/typing.nit:511,29 text='('
+Read token at ../src/syntax/typing.nit:511,30 text='v'
+Read token at ../src/syntax/typing.nit:511,31 text=':'
+Read token at ../src/syntax/typing.nit:511,33--45 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:511,46 text=','
+Read token at ../src/syntax/typing.nit:511,48--56 text='escapable'
+Read token at ../src/syntax/typing.nit:511,57 text=':'
+Read token at ../src/syntax/typing.nit:511,59--72 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:511,73 text=','
+Read token at ../src/syntax/typing.nit:511,75--81 text='n_label'
+Read token at ../src/syntax/typing.nit:511,82 text=':'
+Read token at ../src/syntax/typing.nit:511,84--91 text='nullable'
+Read token at ../src/syntax/typing.nit:511,93--98 text='ALabel'
+Read token at ../src/syntax/typing.nit:511,99 text=','
+Read token at ../src/syntax/typing.nit:511,101--107 text='is_loop'
+Read token at ../src/syntax/typing.nit:511,108 text=':'
+Read token at ../src/syntax/typing.nit:511,110--113 text='Bool'
+Read token at ../src/syntax/typing.nit:511,114 text=')'
+Read token at ../src/syntax/typing.nit:511,115--512,0 text='
+'
+Read token at ../src/syntax/typing.nit:512,2--3 text='do'
+Read token at ../src/syntax/typing.nit:512,4--513,0 text='
+'
+Read token at ../src/syntax/typing.nit:513,3--514,0 text='# Register the escapable block
+'
+Read token at ../src/syntax/typing.nit:514,3--12 text='_escapable'
+Read token at ../src/syntax/typing.nit:514,14 text='='
+Read token at ../src/syntax/typing.nit:514,16--24 text='escapable'
+Read token at ../src/syntax/typing.nit:514,25--515,0 text='
+'
+Read token at ../src/syntax/typing.nit:515,3 text='v'
+Read token at ../src/syntax/typing.nit:515,4 text='.'
+Read token at ../src/syntax/typing.nit:515,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:515,14 text='.'
+Read token at ../src/syntax/typing.nit:515,15--28 text='push_escapable'
+Read token at ../src/syntax/typing.nit:515,29 text='('
+Read token at ../src/syntax/typing.nit:515,30--38 text='escapable'
+Read token at ../src/syntax/typing.nit:515,39 text=','
+Read token at ../src/syntax/typing.nit:515,41--47 text='n_label'
+Read token at ../src/syntax/typing.nit:515,48 text=')'
+Read token at ../src/syntax/typing.nit:515,49--516,0 text='
+'
+Read token at ../src/syntax/typing.nit:516,1--517,0 text='
+'
+Read token at ../src/syntax/typing.nit:517,3--518,0 text='# Save an prepare the contextes
+'
+Read token at ../src/syntax/typing.nit:518,3--5 text='var'
+Read token at ../src/syntax/typing.nit:518,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:518,20 text='='
+Read token at ../src/syntax/typing.nit:518,22 text='v'
+Read token at ../src/syntax/typing.nit:518,23 text='.'
+Read token at ../src/syntax/typing.nit:518,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:518,32--519,0 text='
+'
+Read token at ../src/syntax/typing.nit:519,3--5 text='var'
+Read token at ../src/syntax/typing.nit:519,7--23 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:519,25 text='='
+Read token at ../src/syntax/typing.nit:519,27 text='v'
+Read token at ../src/syntax/typing.nit:519,28 text='.'
+Read token at ../src/syntax/typing.nit:519,29--41 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:519,42--520,0 text='
+'
+Read token at ../src/syntax/typing.nit:520,3--4 text='if'
+Read token at ../src/syntax/typing.nit:520,6--12 text='is_loop'
+Read token at ../src/syntax/typing.nit:520,14--17 text='then'
+Read token at ../src/syntax/typing.nit:520,19 text='v'
+Read token at ../src/syntax/typing.nit:520,20 text='.'
+Read token at ../src/syntax/typing.nit:520,21--33 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:520,35 text='='
+Read token at ../src/syntax/typing.nit:520,37 text='v'
+Read token at ../src/syntax/typing.nit:520,38 text='.'
+Read token at ../src/syntax/typing.nit:520,39--46 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:520,47--521,0 text='
+'
+Read token at ../src/syntax/typing.nit:521,1--522,0 text='
+'
+Read token at ../src/syntax/typing.nit:522,3--523,0 text='# Do the main processing
+'
+Read token at ../src/syntax/typing.nit:523,3--24 text='process_control_inside'
+Read token at ../src/syntax/typing.nit:523,25 text='('
+Read token at ../src/syntax/typing.nit:523,26 text='v'
+Read token at ../src/syntax/typing.nit:523,27 text=')'
+Read token at ../src/syntax/typing.nit:523,28--524,0 text='
+'
+Read token at ../src/syntax/typing.nit:524,1--525,0 text='
+'
+Read token at ../src/syntax/typing.nit:525,3--526,0 text='# Add the end of the block as an exit context
+'
+Read token at ../src/syntax/typing.nit:526,3--4 text='if'
+Read token at ../src/syntax/typing.nit:526,6--8 text='not'
+Read token at ../src/syntax/typing.nit:526,10 text='v'
+Read token at ../src/syntax/typing.nit:526,11 text='.'
+Read token at ../src/syntax/typing.nit:526,12--19 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:526,20 text='.'
+Read token at ../src/syntax/typing.nit:526,21--27 text='unreash'
+Read token at ../src/syntax/typing.nit:526,29--32 text='then'
+Read token at ../src/syntax/typing.nit:526,33--527,0 text='
+'
+Read token at ../src/syntax/typing.nit:527,4--12 text='escapable'
+Read token at ../src/syntax/typing.nit:527,13 text='.'
+Read token at ../src/syntax/typing.nit:527,14--32 text='break_flow_contexts'
+Read token at ../src/syntax/typing.nit:527,33 text='.'
+Read token at ../src/syntax/typing.nit:527,34--36 text='add'
+Read token at ../src/syntax/typing.nit:527,37 text='('
+Read token at ../src/syntax/typing.nit:527,38 text='v'
+Read token at ../src/syntax/typing.nit:527,39 text='.'
+Read token at ../src/syntax/typing.nit:527,40--47 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:527,48 text=')'
+Read token at ../src/syntax/typing.nit:527,49--528,0 text='
+'
+Read token at ../src/syntax/typing.nit:528,3--5 text='end'
+Read token at ../src/syntax/typing.nit:528,6--529,0 text='
+'
+Read token at ../src/syntax/typing.nit:529,1--530,0 text='
+'
+Read token at ../src/syntax/typing.nit:530,3--531,0 text='# Merge all exit contexts
+'
+Read token at ../src/syntax/typing.nit:531,3--4 text='if'
+Read token at ../src/syntax/typing.nit:531,6--14 text='escapable'
+Read token at ../src/syntax/typing.nit:531,15 text='.'
+Read token at ../src/syntax/typing.nit:531,16--34 text='break_flow_contexts'
+Read token at ../src/syntax/typing.nit:531,35 text='.'
+Read token at ../src/syntax/typing.nit:531,36--43 text='is_empty'
+Read token at ../src/syntax/typing.nit:531,45--48 text='then'
+Read token at ../src/syntax/typing.nit:531,49--532,0 text='
+'
+Read token at ../src/syntax/typing.nit:532,4 text='v'
+Read token at ../src/syntax/typing.nit:532,5 text='.'
+Read token at ../src/syntax/typing.nit:532,6--13 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:532,15 text='='
+Read token at ../src/syntax/typing.nit:532,17--28 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:532,29--533,0 text='
+'
+Read token at ../src/syntax/typing.nit:533,4 text='v'
+Read token at ../src/syntax/typing.nit:533,5 text='.'
+Read token at ../src/syntax/typing.nit:533,6--17 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:533,18 text='('
+Read token at ../src/syntax/typing.nit:533,19--22 text='self'
+Read token at ../src/syntax/typing.nit:533,23 text=')'
+Read token at ../src/syntax/typing.nit:533,24--534,0 text='
+'
+Read token at ../src/syntax/typing.nit:534,3--6 text='else'
+Read token at ../src/syntax/typing.nit:534,7--535,0 text='
+'
+Read token at ../src/syntax/typing.nit:535,4 text='v'
+Read token at ../src/syntax/typing.nit:535,5 text='.'
+Read token at ../src/syntax/typing.nit:535,6--13 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:535,15 text='='
+Read token at ../src/syntax/typing.nit:535,17--33 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:535,34 text='.'
+Read token at ../src/syntax/typing.nit:535,35--39 text='merge'
+Read token at ../src/syntax/typing.nit:535,40 text='('
+Read token at ../src/syntax/typing.nit:535,41--44 text='self'
+Read token at ../src/syntax/typing.nit:535,45 text=','
+Read token at ../src/syntax/typing.nit:535,47--55 text='escapable'
+Read token at ../src/syntax/typing.nit:535,56 text='.'
+Read token at ../src/syntax/typing.nit:535,57--75 text='break_flow_contexts'
+Read token at ../src/syntax/typing.nit:535,76 text=')'
+Read token at ../src/syntax/typing.nit:535,77--536,0 text='
+'
+Read token at ../src/syntax/typing.nit:536,3--5 text='end'
+Read token at ../src/syntax/typing.nit:536,6--537,0 text='
+'
+Read token at ../src/syntax/typing.nit:537,1--538,0 text='
+'
+Read token at ../src/syntax/typing.nit:538,3--4 text='if'
+Read token at ../src/syntax/typing.nit:538,6--12 text='is_loop'
+Read token at ../src/syntax/typing.nit:538,14--17 text='then'
+Read token at ../src/syntax/typing.nit:538,19 text='v'
+Read token at ../src/syntax/typing.nit:538,20 text='.'
+Read token at ../src/syntax/typing.nit:538,21--33 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:538,35 text='='
+Read token at ../src/syntax/typing.nit:538,37--53 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:538,54--539,0 text='
+'
+Read token at ../src/syntax/typing.nit:539,3 text='v'
+Read token at ../src/syntax/typing.nit:539,4 text='.'
+Read token at ../src/syntax/typing.nit:539,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:539,14 text='.'
+Read token at ../src/syntax/typing.nit:539,15--17 text='pop'
+Read token at ../src/syntax/typing.nit:539,18--540,0 text='
+'
+Read token at ../src/syntax/typing.nit:540,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:540,13 text='='
+Read token at ../src/syntax/typing.nit:540,15--18 text='true'
+Read token at ../src/syntax/typing.nit:540,19--541,0 text='
+'
+Read token at ../src/syntax/typing.nit:541,2--4 text='end'
+Read token at ../src/syntax/typing.nit:541,5--542,0 text='
+'
+Read token at ../src/syntax/typing.nit:542,1--543,0 text='
+'
+Read token at ../src/syntax/typing.nit:543,2--544,0 text='# What to do inside the control block?
+'
+Read token at ../src/syntax/typing.nit:544,2--8 text='private'
+Read token at ../src/syntax/typing.nit:544,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:544,14--35 text='process_control_inside'
+Read token at ../src/syntax/typing.nit:544,36 text='('
+Read token at ../src/syntax/typing.nit:544,37 text='v'
+Read token at ../src/syntax/typing.nit:544,38 text=':'
+Read token at ../src/syntax/typing.nit:544,40--52 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:544,53 text=')'
+Read token at ../src/syntax/typing.nit:544,55--56 text='is'
+Read token at ../src/syntax/typing.nit:544,58--65 text='abstract'
+Read token at ../src/syntax/typing.nit:544,66--545,0 text='
+'
+Read token at ../src/syntax/typing.nit:545,1--3 text='end'
+Read token at ../src/syntax/typing.nit:545,4--546,0 text='
+'
+Read token at ../src/syntax/typing.nit:546,1--547,0 text='
+'
+Read token at ../src/syntax/typing.nit:547,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:547,7--11 text='class'
+Read token at ../src/syntax/typing.nit:547,13--19 text='ADoExpr'
+Read token at ../src/syntax/typing.nit:547,20--548,0 text='
+'
+Read token at ../src/syntax/typing.nit:548,2--6 text='super'
+Read token at ../src/syntax/typing.nit:548,8--18 text='AAbsControl'
+Read token at ../src/syntax/typing.nit:548,19--549,0 text='
+'
+Read token at ../src/syntax/typing.nit:549,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:549,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:549,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:549,25 text='('
+Read token at ../src/syntax/typing.nit:549,26 text='v'
+Read token at ../src/syntax/typing.nit:549,27 text=')'
+Read token at ../src/syntax/typing.nit:549,28--550,0 text='
+'
+Read token at ../src/syntax/typing.nit:550,2--3 text='do'
+Read token at ../src/syntax/typing.nit:550,4--551,0 text='
+'
+Read token at ../src/syntax/typing.nit:551,3--17 text='process_control'
+Read token at ../src/syntax/typing.nit:551,18 text='('
+Read token at ../src/syntax/typing.nit:551,19 text='v'
+Read token at ../src/syntax/typing.nit:551,20 text=','
+Read token at ../src/syntax/typing.nit:551,22--24 text='new'
+Read token at ../src/syntax/typing.nit:551,26--48 text='BreakOnlyEscapableBlock'
+Read token at ../src/syntax/typing.nit:551,49 text='('
+Read token at ../src/syntax/typing.nit:551,50--53 text='self'
+Read token at ../src/syntax/typing.nit:551,54 text=')'
+Read token at ../src/syntax/typing.nit:551,55 text=','
+Read token at ../src/syntax/typing.nit:551,57--63 text='n_label'
+Read token at ../src/syntax/typing.nit:551,64 text=','
+Read token at ../src/syntax/typing.nit:551,66--70 text='false'
+Read token at ../src/syntax/typing.nit:551,71 text=')'
+Read token at ../src/syntax/typing.nit:551,72--552,0 text='
+'
+Read token at ../src/syntax/typing.nit:552,2--4 text='end'
+Read token at ../src/syntax/typing.nit:552,5--553,0 text='
+'
+Read token at ../src/syntax/typing.nit:553,1--554,0 text='
+'
+Read token at ../src/syntax/typing.nit:554,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:554,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:554,12--33 text='process_control_inside'
+Read token at ../src/syntax/typing.nit:554,34 text='('
+Read token at ../src/syntax/typing.nit:554,35 text='v'
+Read token at ../src/syntax/typing.nit:554,36 text=')'
+Read token at ../src/syntax/typing.nit:554,37--555,0 text='
+'
+Read token at ../src/syntax/typing.nit:555,2--3 text='do'
+Read token at ../src/syntax/typing.nit:555,4--556,0 text='
+'
+Read token at ../src/syntax/typing.nit:556,3 text='v'
+Read token at ../src/syntax/typing.nit:556,4 text='.'
+Read token at ../src/syntax/typing.nit:556,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:556,22 text='('
+Read token at ../src/syntax/typing.nit:556,23--29 text='n_block'
+Read token at ../src/syntax/typing.nit:556,30 text=')'
+Read token at ../src/syntax/typing.nit:556,31--557,0 text='
+'
+Read token at ../src/syntax/typing.nit:557,2--4 text='end'
+Read token at ../src/syntax/typing.nit:557,5--558,0 text='
+'
+Read token at ../src/syntax/typing.nit:558,1--3 text='end'
+Read token at ../src/syntax/typing.nit:558,4--559,0 text='
+'
+Read token at ../src/syntax/typing.nit:559,1--560,0 text='
+'
+Read token at ../src/syntax/typing.nit:560,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:560,7--11 text='class'
+Read token at ../src/syntax/typing.nit:560,13--19 text='AIfExpr'
+Read token at ../src/syntax/typing.nit:560,20--561,0 text='
+'
+Read token at ../src/syntax/typing.nit:561,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:561,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:561,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:561,25 text='('
+Read token at ../src/syntax/typing.nit:561,26 text='v'
+Read token at ../src/syntax/typing.nit:561,27 text=')'
+Read token at ../src/syntax/typing.nit:561,28--562,0 text='
+'
+Read token at ../src/syntax/typing.nit:562,2--3 text='do'
+Read token at ../src/syntax/typing.nit:562,4--563,0 text='
+'
+Read token at ../src/syntax/typing.nit:563,3 text='v'
+Read token at ../src/syntax/typing.nit:563,4 text='.'
+Read token at ../src/syntax/typing.nit:563,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:563,16 text='('
+Read token at ../src/syntax/typing.nit:563,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:563,23 text=')'
+Read token at ../src/syntax/typing.nit:563,24--564,0 text='
+'
+Read token at ../src/syntax/typing.nit:564,3 text='v'
+Read token at ../src/syntax/typing.nit:564,4 text='.'
+Read token at ../src/syntax/typing.nit:564,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:564,23 text='('
+Read token at ../src/syntax/typing.nit:564,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:564,30 text=','
+Read token at ../src/syntax/typing.nit:564,32 text='v'
+Read token at ../src/syntax/typing.nit:564,33 text='.'
+Read token at ../src/syntax/typing.nit:564,34--42 text='type_bool'
+Read token at ../src/syntax/typing.nit:564,43 text=')'
+Read token at ../src/syntax/typing.nit:564,44--565,0 text='
+'
+Read token at ../src/syntax/typing.nit:565,1--566,0 text='
+'
+Read token at ../src/syntax/typing.nit:566,3--567,0 text='# Prepare 'then' context
+'
+Read token at ../src/syntax/typing.nit:567,3--5 text='var'
+Read token at ../src/syntax/typing.nit:567,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:567,20 text='='
+Read token at ../src/syntax/typing.nit:567,22 text='v'
+Read token at ../src/syntax/typing.nit:567,23 text='.'
+Read token at ../src/syntax/typing.nit:567,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:567,32--568,0 text='
+'
+Read token at ../src/syntax/typing.nit:568,3 text='v'
+Read token at ../src/syntax/typing.nit:568,4 text='.'
+Read token at ../src/syntax/typing.nit:568,5--24 text='use_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:568,25 text='('
+Read token at ../src/syntax/typing.nit:568,26--31 text='n_expr'
+Read token at ../src/syntax/typing.nit:568,32 text=')'
+Read token at ../src/syntax/typing.nit:568,33--569,0 text='
+'
+Read token at ../src/syntax/typing.nit:569,1--570,0 text='
+'
+Read token at ../src/syntax/typing.nit:570,3--571,0 text='# Process the 'then'
+'
+Read token at ../src/syntax/typing.nit:571,3 text='v'
+Read token at ../src/syntax/typing.nit:571,4 text='.'
+Read token at ../src/syntax/typing.nit:571,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:571,22 text='('
+Read token at ../src/syntax/typing.nit:571,23--28 text='n_then'
+Read token at ../src/syntax/typing.nit:571,29 text=')'
+Read token at ../src/syntax/typing.nit:571,30--572,0 text='
+'
+Read token at ../src/syntax/typing.nit:572,1--573,0 text='
+'
+Read token at ../src/syntax/typing.nit:573,3--574,0 text='# Remember what appened in the 'then'
+'
+Read token at ../src/syntax/typing.nit:574,3--5 text='var'
+Read token at ../src/syntax/typing.nit:574,7--19 text='then_flow_ctx'
+Read token at ../src/syntax/typing.nit:574,21 text='='
+Read token at ../src/syntax/typing.nit:574,23 text='v'
+Read token at ../src/syntax/typing.nit:574,24 text='.'
+Read token at ../src/syntax/typing.nit:574,25--32 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:574,33--575,0 text='
+'
+Read token at ../src/syntax/typing.nit:575,1--576,0 text='
+'
+Read token at ../src/syntax/typing.nit:576,3--577,0 text='# Prepare 'else' context
+'
+Read token at ../src/syntax/typing.nit:577,3 text='v'
+Read token at ../src/syntax/typing.nit:577,4 text='.'
+Read token at ../src/syntax/typing.nit:577,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:577,14 text='='
+Read token at ../src/syntax/typing.nit:577,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:577,28--578,0 text='
+'
+Read token at ../src/syntax/typing.nit:578,3 text='v'
+Read token at ../src/syntax/typing.nit:578,4 text='.'
+Read token at ../src/syntax/typing.nit:578,5--25 text='use_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:578,26 text='('
+Read token at ../src/syntax/typing.nit:578,27--32 text='n_expr'
+Read token at ../src/syntax/typing.nit:578,33 text=')'
+Read token at ../src/syntax/typing.nit:578,34--579,0 text='
+'
+Read token at ../src/syntax/typing.nit:579,1--580,0 text='
+'
+Read token at ../src/syntax/typing.nit:580,3--581,0 text='# Process the 'else'
+'
+Read token at ../src/syntax/typing.nit:581,3 text='v'
+Read token at ../src/syntax/typing.nit:581,4 text='.'
+Read token at ../src/syntax/typing.nit:581,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:581,22 text='('
+Read token at ../src/syntax/typing.nit:581,23--28 text='n_else'
+Read token at ../src/syntax/typing.nit:581,29 text=')'
+Read token at ../src/syntax/typing.nit:581,30--582,0 text='
+'
+Read token at ../src/syntax/typing.nit:582,1--583,0 text='
+'
+Read token at ../src/syntax/typing.nit:583,3--584,0 text='# Merge 'then' and 'else' contexts
+'
+Read token at ../src/syntax/typing.nit:584,3 text='v'
+Read token at ../src/syntax/typing.nit:584,4 text='.'
+Read token at ../src/syntax/typing.nit:584,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:584,14 text='='
+Read token at ../src/syntax/typing.nit:584,16 text='v'
+Read token at ../src/syntax/typing.nit:584,17 text='.'
+Read token at ../src/syntax/typing.nit:584,18--30 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:584,31 text='.'
+Read token at ../src/syntax/typing.nit:584,32--42 text='merge_reash'
+Read token at ../src/syntax/typing.nit:584,43 text='('
+Read token at ../src/syntax/typing.nit:584,44--47 text='self'
+Read token at ../src/syntax/typing.nit:584,48 text=','
+Read token at ../src/syntax/typing.nit:584,50--62 text='then_flow_ctx'
+Read token at ../src/syntax/typing.nit:584,63 text=','
+Read token at ../src/syntax/typing.nit:584,65 text='v'
+Read token at ../src/syntax/typing.nit:584,66 text='.'
+Read token at ../src/syntax/typing.nit:584,67--74 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:584,75 text=')'
+Read token at ../src/syntax/typing.nit:584,76--585,0 text='
+'
+Read token at ../src/syntax/typing.nit:585,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:585,13 text='='
+Read token at ../src/syntax/typing.nit:585,15--18 text='true'
+Read token at ../src/syntax/typing.nit:585,19--586,0 text='
+'
+Read token at ../src/syntax/typing.nit:586,2--4 text='end'
+Read token at ../src/syntax/typing.nit:586,5--587,0 text='
+'
+Read token at ../src/syntax/typing.nit:587,1--3 text='end'
+Read token at ../src/syntax/typing.nit:587,4--588,0 text='
+'
+Read token at ../src/syntax/typing.nit:588,1--589,0 text='
+'
+Read token at ../src/syntax/typing.nit:589,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:589,7--11 text='class'
+Read token at ../src/syntax/typing.nit:589,13--22 text='AWhileExpr'
+Read token at ../src/syntax/typing.nit:589,23--590,0 text='
+'
+Read token at ../src/syntax/typing.nit:590,2--6 text='super'
+Read token at ../src/syntax/typing.nit:590,8--18 text='AAbsControl'
+Read token at ../src/syntax/typing.nit:590,19--591,0 text='
+'
+Read token at ../src/syntax/typing.nit:591,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:591,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:591,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:591,25 text='('
+Read token at ../src/syntax/typing.nit:591,26 text='v'
+Read token at ../src/syntax/typing.nit:591,27 text=')'
+Read token at ../src/syntax/typing.nit:591,28--592,0 text='
+'
+Read token at ../src/syntax/typing.nit:592,2--3 text='do'
+Read token at ../src/syntax/typing.nit:592,4--593,0 text='
+'
+Read token at ../src/syntax/typing.nit:593,3--17 text='process_control'
+Read token at ../src/syntax/typing.nit:593,18 text='('
+Read token at ../src/syntax/typing.nit:593,19 text='v'
+Read token at ../src/syntax/typing.nit:593,20 text=','
+Read token at ../src/syntax/typing.nit:593,22--24 text='new'
+Read token at ../src/syntax/typing.nit:593,26--39 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:593,40 text='('
+Read token at ../src/syntax/typing.nit:593,41--44 text='self'
+Read token at ../src/syntax/typing.nit:593,45 text=')'
+Read token at ../src/syntax/typing.nit:593,46 text=','
+Read token at ../src/syntax/typing.nit:593,48--54 text='n_label'
+Read token at ../src/syntax/typing.nit:593,55 text=','
+Read token at ../src/syntax/typing.nit:593,57--60 text='true'
+Read token at ../src/syntax/typing.nit:593,61 text=')'
+Read token at ../src/syntax/typing.nit:593,62--594,0 text='
+'
+Read token at ../src/syntax/typing.nit:594,2--4 text='end'
+Read token at ../src/syntax/typing.nit:594,5--595,0 text='
+'
+Read token at ../src/syntax/typing.nit:595,1--596,0 text='
+'
+Read token at ../src/syntax/typing.nit:596,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:596,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:596,12--33 text='process_control_inside'
+Read token at ../src/syntax/typing.nit:596,34 text='('
+Read token at ../src/syntax/typing.nit:596,35 text='v'
+Read token at ../src/syntax/typing.nit:596,36 text=')'
+Read token at ../src/syntax/typing.nit:596,37--597,0 text='
+'
+Read token at ../src/syntax/typing.nit:597,2--3 text='do'
+Read token at ../src/syntax/typing.nit:597,4--598,0 text='
+'
+Read token at ../src/syntax/typing.nit:598,3--5 text='var'
+Read token at ../src/syntax/typing.nit:598,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:598,20 text='='
+Read token at ../src/syntax/typing.nit:598,22 text='v'
+Read token at ../src/syntax/typing.nit:598,23 text='.'
+Read token at ../src/syntax/typing.nit:598,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:598,32--599,0 text='
+'
+Read token at ../src/syntax/typing.nit:599,1--600,0 text='
+'
+Read token at ../src/syntax/typing.nit:600,3--601,0 text='# Process condition
+'
+Read token at ../src/syntax/typing.nit:601,3 text='v'
+Read token at ../src/syntax/typing.nit:601,4 text='.'
+Read token at ../src/syntax/typing.nit:601,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:601,16 text='('
+Read token at ../src/syntax/typing.nit:601,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:601,23 text=')'
+Read token at ../src/syntax/typing.nit:601,24--602,0 text='
+'
+Read token at ../src/syntax/typing.nit:602,3 text='v'
+Read token at ../src/syntax/typing.nit:602,4 text='.'
+Read token at ../src/syntax/typing.nit:602,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:602,23 text='('
+Read token at ../src/syntax/typing.nit:602,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:602,30 text=','
+Read token at ../src/syntax/typing.nit:602,32 text='v'
+Read token at ../src/syntax/typing.nit:602,33 text='.'
+Read token at ../src/syntax/typing.nit:602,34--42 text='type_bool'
+Read token at ../src/syntax/typing.nit:602,43 text=')'
+Read token at ../src/syntax/typing.nit:602,44--603,0 text='
+'
+Read token at ../src/syntax/typing.nit:603,1--604,0 text='
+'
+Read token at ../src/syntax/typing.nit:604,3--4 text='if'
+Read token at ../src/syntax/typing.nit:604,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:604,13--15 text='isa'
+Read token at ../src/syntax/typing.nit:604,17--25 text='ATrueExpr'
+Read token at ../src/syntax/typing.nit:604,27--30 text='then'
+Read token at ../src/syntax/typing.nit:604,31--605,0 text='
+'
+Read token at ../src/syntax/typing.nit:605,4 text='v'
+Read token at ../src/syntax/typing.nit:605,5 text='.'
+Read token at ../src/syntax/typing.nit:605,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:605,13 text='('
+Read token at ../src/syntax/typing.nit:605,14--17 text='self'
+Read token at ../src/syntax/typing.nit:605,18 text=','
+Read token at ../src/syntax/typing.nit:605,20--68 text='"Warning: use 'loop' instead of 'while true do'."'
+Read token at ../src/syntax/typing.nit:605,69 text=')'
+Read token at ../src/syntax/typing.nit:605,70--606,0 text='
+'
+Read token at ../src/syntax/typing.nit:606,3--5 text='end'
+Read token at ../src/syntax/typing.nit:606,6--607,0 text='
+'
+Read token at ../src/syntax/typing.nit:607,1--608,0 text='
+'
+Read token at ../src/syntax/typing.nit:608,3--609,0 text='# Prepare inside context (assert cond)
+'
+Read token at ../src/syntax/typing.nit:609,3 text='v'
+Read token at ../src/syntax/typing.nit:609,4 text='.'
+Read token at ../src/syntax/typing.nit:609,5--24 text='use_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:609,25 text='('
+Read token at ../src/syntax/typing.nit:609,26--31 text='n_expr'
+Read token at ../src/syntax/typing.nit:609,32 text=')'
+Read token at ../src/syntax/typing.nit:609,33--610,0 text='
+'
+Read token at ../src/syntax/typing.nit:610,1--611,0 text='
+'
+Read token at ../src/syntax/typing.nit:611,3--612,0 text='# Process inside
+'
+Read token at ../src/syntax/typing.nit:612,3 text='v'
+Read token at ../src/syntax/typing.nit:612,4 text='.'
+Read token at ../src/syntax/typing.nit:612,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:612,22 text='('
+Read token at ../src/syntax/typing.nit:612,23--29 text='n_block'
+Read token at ../src/syntax/typing.nit:612,30 text=')'
+Read token at ../src/syntax/typing.nit:612,31--613,0 text='
+'
+Read token at ../src/syntax/typing.nit:613,1--614,0 text='
+'
+Read token at ../src/syntax/typing.nit:614,3--615,0 text='# Compute outside context (assert !cond + all breaks)
+'
+Read token at ../src/syntax/typing.nit:615,3 text='v'
+Read token at ../src/syntax/typing.nit:615,4 text='.'
+Read token at ../src/syntax/typing.nit:615,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:615,14 text='='
+Read token at ../src/syntax/typing.nit:615,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:615,28--616,0 text='
+'
+Read token at ../src/syntax/typing.nit:616,3 text='v'
+Read token at ../src/syntax/typing.nit:616,4 text='.'
+Read token at ../src/syntax/typing.nit:616,5--25 text='use_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:616,26 text='('
+Read token at ../src/syntax/typing.nit:616,27--32 text='n_expr'
+Read token at ../src/syntax/typing.nit:616,33 text=')'
+Read token at ../src/syntax/typing.nit:616,34--617,0 text='
+'
+Read token at ../src/syntax/typing.nit:617,3--11 text='escapable'
+Read token at ../src/syntax/typing.nit:617,12 text='.'
+Read token at ../src/syntax/typing.nit:617,13--31 text='break_flow_contexts'
+Read token at ../src/syntax/typing.nit:617,32 text='.'
+Read token at ../src/syntax/typing.nit:617,33--35 text='add'
+Read token at ../src/syntax/typing.nit:617,36 text='('
+Read token at ../src/syntax/typing.nit:617,37 text='v'
+Read token at ../src/syntax/typing.nit:617,38 text='.'
+Read token at ../src/syntax/typing.nit:617,39--46 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:617,47 text=')'
+Read token at ../src/syntax/typing.nit:617,48--618,0 text='
+'
+Read token at ../src/syntax/typing.nit:618,2--4 text='end'
+Read token at ../src/syntax/typing.nit:618,5--619,0 text='
+'
+Read token at ../src/syntax/typing.nit:619,1--3 text='end'
+Read token at ../src/syntax/typing.nit:619,4--620,0 text='
+'
+Read token at ../src/syntax/typing.nit:620,1--621,0 text='
+'
+Read token at ../src/syntax/typing.nit:621,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:621,7--11 text='class'
+Read token at ../src/syntax/typing.nit:621,13--21 text='ALoopExpr'
+Read token at ../src/syntax/typing.nit:621,22--622,0 text='
+'
+Read token at ../src/syntax/typing.nit:622,2--6 text='super'
+Read token at ../src/syntax/typing.nit:622,8--18 text='AAbsControl'
+Read token at ../src/syntax/typing.nit:622,19--623,0 text='
+'
+Read token at ../src/syntax/typing.nit:623,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:623,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:623,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:623,25 text='('
+Read token at ../src/syntax/typing.nit:623,26 text='v'
+Read token at ../src/syntax/typing.nit:623,27 text=')'
+Read token at ../src/syntax/typing.nit:623,28--624,0 text='
+'
+Read token at ../src/syntax/typing.nit:624,2--3 text='do'
+Read token at ../src/syntax/typing.nit:624,4--625,0 text='
+'
+Read token at ../src/syntax/typing.nit:625,3--17 text='process_control'
+Read token at ../src/syntax/typing.nit:625,18 text='('
+Read token at ../src/syntax/typing.nit:625,19 text='v'
+Read token at ../src/syntax/typing.nit:625,20 text=','
+Read token at ../src/syntax/typing.nit:625,22--24 text='new'
+Read token at ../src/syntax/typing.nit:625,26--39 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:625,40 text='('
+Read token at ../src/syntax/typing.nit:625,41--44 text='self'
+Read token at ../src/syntax/typing.nit:625,45 text=')'
+Read token at ../src/syntax/typing.nit:625,46 text=','
+Read token at ../src/syntax/typing.nit:625,48--54 text='n_label'
+Read token at ../src/syntax/typing.nit:625,55 text=','
+Read token at ../src/syntax/typing.nit:625,57--60 text='true'
+Read token at ../src/syntax/typing.nit:625,61 text=')'
+Read token at ../src/syntax/typing.nit:625,62--626,0 text='
+'
+Read token at ../src/syntax/typing.nit:626,2--4 text='end'
+Read token at ../src/syntax/typing.nit:626,5--627,0 text='
+'
+Read token at ../src/syntax/typing.nit:627,1--628,0 text='
+'
+Read token at ../src/syntax/typing.nit:628,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:628,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:628,12--33 text='process_control_inside'
+Read token at ../src/syntax/typing.nit:628,34 text='('
+Read token at ../src/syntax/typing.nit:628,35 text='v'
+Read token at ../src/syntax/typing.nit:628,36 text=')'
+Read token at ../src/syntax/typing.nit:628,37--629,0 text='
+'
+Read token at ../src/syntax/typing.nit:629,2--3 text='do'
+Read token at ../src/syntax/typing.nit:629,4--630,0 text='
+'
+Read token at ../src/syntax/typing.nit:630,3--631,0 text='# Process inside
+'
+Read token at ../src/syntax/typing.nit:631,3 text='v'
+Read token at ../src/syntax/typing.nit:631,4 text='.'
+Read token at ../src/syntax/typing.nit:631,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:631,22 text='('
+Read token at ../src/syntax/typing.nit:631,23--29 text='n_block'
+Read token at ../src/syntax/typing.nit:631,30 text=')'
+Read token at ../src/syntax/typing.nit:631,31--632,0 text='
+'
+Read token at ../src/syntax/typing.nit:632,1--633,0 text='
+'
+Read token at ../src/syntax/typing.nit:633,3--634,0 text='# Never automatically reach after the loop
+'
+Read token at ../src/syntax/typing.nit:634,3 text='v'
+Read token at ../src/syntax/typing.nit:634,4 text='.'
+Read token at ../src/syntax/typing.nit:634,5--16 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:634,17 text='('
+Read token at ../src/syntax/typing.nit:634,18--21 text='self'
+Read token at ../src/syntax/typing.nit:634,22 text=')'
+Read token at ../src/syntax/typing.nit:634,23--635,0 text='
+'
+Read token at ../src/syntax/typing.nit:635,2--4 text='end'
+Read token at ../src/syntax/typing.nit:635,5--636,0 text='
+'
+Read token at ../src/syntax/typing.nit:636,1--3 text='end'
+Read token at ../src/syntax/typing.nit:636,4--637,0 text='
+'
+Read token at ../src/syntax/typing.nit:637,1--638,0 text='
+'
+Read token at ../src/syntax/typing.nit:638,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:638,7--11 text='class'
+Read token at ../src/syntax/typing.nit:638,13--20 text='AForExpr'
+Read token at ../src/syntax/typing.nit:638,21--639,0 text='
+'
+Read token at ../src/syntax/typing.nit:639,2--6 text='super'
+Read token at ../src/syntax/typing.nit:639,8--18 text='AAbsControl'
+Read token at ../src/syntax/typing.nit:639,19--640,0 text='
+'
+Read token at ../src/syntax/typing.nit:640,2--4 text='var'
+Read token at ../src/syntax/typing.nit:640,6--15 text='_variables'
+Read token at ../src/syntax/typing.nit:640,16 text=':'
+Read token at ../src/syntax/typing.nit:640,18--25 text='nullable'
+Read token at ../src/syntax/typing.nit:640,27--31 text='Array'
+Read token at ../src/syntax/typing.nit:640,32 text='['
+Read token at ../src/syntax/typing.nit:640,33--44 text='AutoVariable'
+Read token at ../src/syntax/typing.nit:640,45 text=']'
+Read token at ../src/syntax/typing.nit:640,46--641,0 text='
+'
+Read token at ../src/syntax/typing.nit:641,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:641,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:641,12--20 text='variables'
+Read token at ../src/syntax/typing.nit:641,22--23 text='do'
+Read token at ../src/syntax/typing.nit:641,25--30 text='return'
+Read token at ../src/syntax/typing.nit:641,32--41 text='_variables'
+Read token at ../src/syntax/typing.nit:641,42 text='.'
+Read token at ../src/syntax/typing.nit:641,43--44 text='as'
+Read token at ../src/syntax/typing.nit:641,45 text='('
+Read token at ../src/syntax/typing.nit:641,46--48 text='not'
+Read token at ../src/syntax/typing.nit:641,50--53 text='null'
+Read token at ../src/syntax/typing.nit:641,54 text=')'
+Read token at ../src/syntax/typing.nit:641,55--642,0 text='
+'
+Read token at ../src/syntax/typing.nit:642,1--643,0 text='
+'
+Read token at ../src/syntax/typing.nit:643,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:643,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:643,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:643,25 text='('
+Read token at ../src/syntax/typing.nit:643,26 text='v'
+Read token at ../src/syntax/typing.nit:643,27 text=')'
+Read token at ../src/syntax/typing.nit:643,28--644,0 text='
+'
+Read token at ../src/syntax/typing.nit:644,2--3 text='do'
+Read token at ../src/syntax/typing.nit:644,4--645,0 text='
+'
+Read token at ../src/syntax/typing.nit:645,3--17 text='process_control'
+Read token at ../src/syntax/typing.nit:645,18 text='('
+Read token at ../src/syntax/typing.nit:645,19 text='v'
+Read token at ../src/syntax/typing.nit:645,20 text=','
+Read token at ../src/syntax/typing.nit:645,22--24 text='new'
+Read token at ../src/syntax/typing.nit:645,26--39 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:645,40 text='('
+Read token at ../src/syntax/typing.nit:645,41--44 text='self'
+Read token at ../src/syntax/typing.nit:645,45 text=')'
+Read token at ../src/syntax/typing.nit:645,46 text=','
+Read token at ../src/syntax/typing.nit:645,48--54 text='n_label'
+Read token at ../src/syntax/typing.nit:645,55 text=','
+Read token at ../src/syntax/typing.nit:645,57--60 text='true'
+Read token at ../src/syntax/typing.nit:645,61 text=')'
+Read token at ../src/syntax/typing.nit:645,62--646,0 text='
+'
+Read token at ../src/syntax/typing.nit:646,2--4 text='end'
+Read token at ../src/syntax/typing.nit:646,5--647,0 text='
+'
+Read token at ../src/syntax/typing.nit:647,1--648,0 text='
+'
+Read token at ../src/syntax/typing.nit:648,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:648,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:648,12--33 text='process_control_inside'
+Read token at ../src/syntax/typing.nit:648,34 text='('
+Read token at ../src/syntax/typing.nit:648,35 text='v'
+Read token at ../src/syntax/typing.nit:648,36 text=')'
+Read token at ../src/syntax/typing.nit:648,37--649,0 text='
+'
+Read token at ../src/syntax/typing.nit:649,2--3 text='do'
+Read token at ../src/syntax/typing.nit:649,4--650,0 text='
+'
+Read token at ../src/syntax/typing.nit:650,3 text='v'
+Read token at ../src/syntax/typing.nit:650,4 text='.'
+Read token at ../src/syntax/typing.nit:650,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:650,14 text='.'
+Read token at ../src/syntax/typing.nit:650,15--18 text='push'
+Read token at ../src/syntax/typing.nit:650,19 text='('
+Read token at ../src/syntax/typing.nit:650,20--23 text='self'
+Read token at ../src/syntax/typing.nit:650,24 text=')'
+Read token at ../src/syntax/typing.nit:650,25--651,0 text='
+'
+Read token at ../src/syntax/typing.nit:651,3--5 text='var'
+Read token at ../src/syntax/typing.nit:651,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:651,20 text='='
+Read token at ../src/syntax/typing.nit:651,22 text='v'
+Read token at ../src/syntax/typing.nit:651,23 text='.'
+Read token at ../src/syntax/typing.nit:651,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:651,32--652,0 text='
+'
+Read token at ../src/syntax/typing.nit:652,1--653,0 text='
+'
+Read token at ../src/syntax/typing.nit:653,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:653,12 text='('
+Read token at ../src/syntax/typing.nit:653,13 text='v'
+Read token at ../src/syntax/typing.nit:653,14 text=')'
+Read token at ../src/syntax/typing.nit:653,15--654,0 text='
+'
+Read token at ../src/syntax/typing.nit:654,1--655,0 text='
+'
+Read token at ../src/syntax/typing.nit:655,3--656,0 text='# Process inside
+'
+Read token at ../src/syntax/typing.nit:656,3 text='v'
+Read token at ../src/syntax/typing.nit:656,4 text='.'
+Read token at ../src/syntax/typing.nit:656,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:656,22 text='('
+Read token at ../src/syntax/typing.nit:656,23--29 text='n_block'
+Read token at ../src/syntax/typing.nit:656,30 text=')'
+Read token at ../src/syntax/typing.nit:656,31--657,0 text='
+'
+Read token at ../src/syntax/typing.nit:657,1--658,0 text='
+'
+Read token at ../src/syntax/typing.nit:658,3--659,0 text='# end == begin of the loop
+'
+Read token at ../src/syntax/typing.nit:659,3 text='v'
+Read token at ../src/syntax/typing.nit:659,4 text='.'
+Read token at ../src/syntax/typing.nit:659,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:659,14 text='='
+Read token at ../src/syntax/typing.nit:659,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:659,28--660,0 text='
+'
+Read token at ../src/syntax/typing.nit:660,3 text='v'
+Read token at ../src/syntax/typing.nit:660,4 text='.'
+Read token at ../src/syntax/typing.nit:660,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:660,14 text='.'
+Read token at ../src/syntax/typing.nit:660,15--17 text='pop'
+Read token at ../src/syntax/typing.nit:660,18--661,0 text='
+'
+Read token at ../src/syntax/typing.nit:661,2--4 text='end'
+Read token at ../src/syntax/typing.nit:661,5--662,0 text='
+'
+Read token at ../src/syntax/typing.nit:662,1--663,0 text='
+'
+Read token at ../src/syntax/typing.nit:663,2--8 text='private'
+Read token at ../src/syntax/typing.nit:663,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:663,14--22 text='do_typing'
+Read token at ../src/syntax/typing.nit:663,23 text='('
+Read token at ../src/syntax/typing.nit:663,24 text='v'
+Read token at ../src/syntax/typing.nit:663,25 text=':'
+Read token at ../src/syntax/typing.nit:663,27--39 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:663,40 text=')'
+Read token at ../src/syntax/typing.nit:663,41--664,0 text='
+'
+Read token at ../src/syntax/typing.nit:664,2--3 text='do'
+Read token at ../src/syntax/typing.nit:664,4--665,0 text='
+'
+Read token at ../src/syntax/typing.nit:665,3--666,0 text='# Create the automatic variables
+'
+Read token at ../src/syntax/typing.nit:666,3--5 text='var'
+Read token at ../src/syntax/typing.nit:666,7--9 text='vas'
+Read token at ../src/syntax/typing.nit:666,11 text='='
+Read token at ../src/syntax/typing.nit:666,13--15 text='new'
+Read token at ../src/syntax/typing.nit:666,17--21 text='Array'
+Read token at ../src/syntax/typing.nit:666,22 text='['
+Read token at ../src/syntax/typing.nit:666,23--34 text='AutoVariable'
+Read token at ../src/syntax/typing.nit:666,35 text=']'
+Read token at ../src/syntax/typing.nit:666,36--667,0 text='
+'
+Read token at ../src/syntax/typing.nit:667,3--5 text='for'
+Read token at ../src/syntax/typing.nit:667,7--10 text='n_id'
+Read token at ../src/syntax/typing.nit:667,12--13 text='in'
+Read token at ../src/syntax/typing.nit:667,15--19 text='n_ids'
+Read token at ../src/syntax/typing.nit:667,21--22 text='do'
+Read token at ../src/syntax/typing.nit:667,23--668,0 text='
+'
+Read token at ../src/syntax/typing.nit:668,4--6 text='var'
+Read token at ../src/syntax/typing.nit:668,8--9 text='va'
+Read token at ../src/syntax/typing.nit:668,11 text='='
+Read token at ../src/syntax/typing.nit:668,13--15 text='new'
+Read token at ../src/syntax/typing.nit:668,17--28 text='AutoVariable'
+Read token at ../src/syntax/typing.nit:668,29 text='('
+Read token at ../src/syntax/typing.nit:668,30--33 text='n_id'
+Read token at ../src/syntax/typing.nit:668,34 text='.'
+Read token at ../src/syntax/typing.nit:668,35--43 text='to_symbol'
+Read token at ../src/syntax/typing.nit:668,44 text=','
+Read token at ../src/syntax/typing.nit:668,46--49 text='n_id'
+Read token at ../src/syntax/typing.nit:668,50 text=')'
+Read token at ../src/syntax/typing.nit:668,51--669,0 text='
+'
+Read token at ../src/syntax/typing.nit:669,4 text='v'
+Read token at ../src/syntax/typing.nit:669,5 text='.'
+Read token at ../src/syntax/typing.nit:669,6--14 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:669,15 text='.'
+Read token at ../src/syntax/typing.nit:669,16--27 text='add_variable'
+Read token at ../src/syntax/typing.nit:669,28 text='('
+Read token at ../src/syntax/typing.nit:669,29--30 text='va'
+Read token at ../src/syntax/typing.nit:669,31 text=')'
+Read token at ../src/syntax/typing.nit:669,32--670,0 text='
+'
+Read token at ../src/syntax/typing.nit:670,4--6 text='vas'
+Read token at ../src/syntax/typing.nit:670,7 text='.'
+Read token at ../src/syntax/typing.nit:670,8--10 text='add'
+Read token at ../src/syntax/typing.nit:670,11 text='('
+Read token at ../src/syntax/typing.nit:670,12--13 text='va'
+Read token at ../src/syntax/typing.nit:670,14 text=')'
+Read token at ../src/syntax/typing.nit:670,15--671,0 text='
+'
+Read token at ../src/syntax/typing.nit:671,3--5 text='end'
+Read token at ../src/syntax/typing.nit:671,6--672,0 text='
+'
+Read token at ../src/syntax/typing.nit:672,3--12 text='_variables'
+Read token at ../src/syntax/typing.nit:672,14 text='='
+Read token at ../src/syntax/typing.nit:672,16--18 text='vas'
+Read token at ../src/syntax/typing.nit:672,19--673,0 text='
+'
+Read token at ../src/syntax/typing.nit:673,1--674,0 text='
+'
+Read token at ../src/syntax/typing.nit:674,3--675,0 text='# Process reciever
+'
+Read token at ../src/syntax/typing.nit:675,3 text='v'
+Read token at ../src/syntax/typing.nit:675,4 text='.'
+Read token at ../src/syntax/typing.nit:675,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:675,16 text='('
+Read token at ../src/syntax/typing.nit:675,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:675,23 text=')'
+Read token at ../src/syntax/typing.nit:675,24--676,0 text='
+'
+Read token at ../src/syntax/typing.nit:676,3--4 text='if'
+Read token at ../src/syntax/typing.nit:676,6--8 text='not'
+Read token at ../src/syntax/typing.nit:676,10 text='v'
+Read token at ../src/syntax/typing.nit:676,11 text='.'
+Read token at ../src/syntax/typing.nit:676,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:676,22 text='('
+Read token at ../src/syntax/typing.nit:676,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:676,29 text=')'
+Read token at ../src/syntax/typing.nit:676,31--34 text='then'
+Read token at ../src/syntax/typing.nit:676,36--41 text='return'
+Read token at ../src/syntax/typing.nit:676,42--677,0 text='
+'
+Read token at ../src/syntax/typing.nit:677,3--5 text='var'
+Read token at ../src/syntax/typing.nit:677,7--15 text='expr_type'
+Read token at ../src/syntax/typing.nit:677,17 text='='
+Read token at ../src/syntax/typing.nit:677,19--24 text='n_expr'
+Read token at ../src/syntax/typing.nit:677,25 text='.'
+Read token at ../src/syntax/typing.nit:677,26--30 text='stype'
+Read token at ../src/syntax/typing.nit:677,31--678,0 text='
+'
+Read token at ../src/syntax/typing.nit:678,1--679,0 text='
+'
+Read token at ../src/syntax/typing.nit:679,3--4 text='if'
+Read token at ../src/syntax/typing.nit:679,6--14 text='expr_type'
+Read token at ../src/syntax/typing.nit:679,15 text='.'
+Read token at ../src/syntax/typing.nit:679,16--26 text='is_nullable'
+Read token at ../src/syntax/typing.nit:679,28--31 text='then'
+Read token at ../src/syntax/typing.nit:679,32--680,0 text='
+'
+Read token at ../src/syntax/typing.nit:680,4 text='v'
+Read token at ../src/syntax/typing.nit:680,5 text='.'
+Read token at ../src/syntax/typing.nit:680,6--10 text='error'
+Read token at ../src/syntax/typing.nit:680,11 text='('
+Read token at ../src/syntax/typing.nit:680,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:680,18 text=','
+Read token at ../src/syntax/typing.nit:680,20--64 text='"Type error: 'for' on a nullable expression."'
+Read token at ../src/syntax/typing.nit:680,65 text=')'
+Read token at ../src/syntax/typing.nit:680,66--681,0 text='
+'
+Read token at ../src/syntax/typing.nit:681,4--9 text='return'
+Read token at ../src/syntax/typing.nit:681,10--682,0 text='
+'
+Read token at ../src/syntax/typing.nit:682,3--5 text='end'
+Read token at ../src/syntax/typing.nit:682,6--683,0 text='
+'
+Read token at ../src/syntax/typing.nit:683,1--684,0 text='
+'
+Read token at ../src/syntax/typing.nit:684,3--685,0 text='# Get iterate
+'
+Read token at ../src/syntax/typing.nit:685,3--5 text='var'
+Read token at ../src/syntax/typing.nit:685,7--18 text='iterate_name'
+Read token at ../src/syntax/typing.nit:685,20 text='='
+Read token at ../src/syntax/typing.nit:685,22--25 text='once'
+Read token at ../src/syntax/typing.nit:685,27--35 text='"iterate"'
+Read token at ../src/syntax/typing.nit:685,36 text='.'
+Read token at ../src/syntax/typing.nit:685,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:685,46--686,0 text='
+'
+Read token at ../src/syntax/typing.nit:686,3--4 text='if'
+Read token at ../src/syntax/typing.nit:686,6--8 text='not'
+Read token at ../src/syntax/typing.nit:686,10--18 text='expr_type'
+Read token at ../src/syntax/typing.nit:686,19 text='.'
+Read token at ../src/syntax/typing.nit:686,20--30 text='local_class'
+Read token at ../src/syntax/typing.nit:686,31 text='.'
+Read token at ../src/syntax/typing.nit:686,32--58 text='has_global_property_by_name'
+Read token at ../src/syntax/typing.nit:686,59 text='('
+Read token at ../src/syntax/typing.nit:686,60--71 text='iterate_name'
+Read token at ../src/syntax/typing.nit:686,72 text=')'
+Read token at ../src/syntax/typing.nit:686,74--77 text='then'
+Read token at ../src/syntax/typing.nit:686,78--687,0 text='
+'
+Read token at ../src/syntax/typing.nit:687,4 text='v'
+Read token at ../src/syntax/typing.nit:687,5 text='.'
+Read token at ../src/syntax/typing.nit:687,6--10 text='error'
+Read token at ../src/syntax/typing.nit:687,11 text='('
+Read token at ../src/syntax/typing.nit:687,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:687,18 text=','
+Read token at ../src/syntax/typing.nit:687,20--81 text='"Type error: Expected a type with an 'iterate' method. Found {'
+Read token at ../src/syntax/typing.nit:687,82--90 text='expr_type'
+Read token at ../src/syntax/typing.nit:687,91--93 text='}."'
+Read token at ../src/syntax/typing.nit:687,94 text=')'
+Read token at ../src/syntax/typing.nit:687,95--688,0 text='
+'
+Read token at ../src/syntax/typing.nit:688,4--9 text='return'
+Read token at ../src/syntax/typing.nit:688,10--689,0 text='
+'
+Read token at ../src/syntax/typing.nit:689,3--5 text='end'
+Read token at ../src/syntax/typing.nit:689,6--690,0 text='
+'
+Read token at ../src/syntax/typing.nit:690,3--5 text='var'
+Read token at ../src/syntax/typing.nit:690,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:690,12 text='='
+Read token at ../src/syntax/typing.nit:690,14--22 text='expr_type'
+Read token at ../src/syntax/typing.nit:690,23 text='.'
+Read token at ../src/syntax/typing.nit:690,24--34 text='local_class'
+Read token at ../src/syntax/typing.nit:690,35 text='.'
+Read token at ../src/syntax/typing.nit:690,36--48 text='select_method'
+Read token at ../src/syntax/typing.nit:690,49 text='('
+Read token at ../src/syntax/typing.nit:690,50--61 text='iterate_name'
+Read token at ../src/syntax/typing.nit:690,62 text=')'
+Read token at ../src/syntax/typing.nit:690,63--691,0 text='
+'
+Read token at ../src/syntax/typing.nit:691,3--6 text='prop'
+Read token at ../src/syntax/typing.nit:691,7 text='.'
+Read token at ../src/syntax/typing.nit:691,8--13 text='global'
+Read token at ../src/syntax/typing.nit:691,14 text='.'
+Read token at ../src/syntax/typing.nit:691,15--30 text='check_visibility'
+Read token at ../src/syntax/typing.nit:691,31 text='('
+Read token at ../src/syntax/typing.nit:691,32 text='v'
+Read token at ../src/syntax/typing.nit:691,33 text=','
+Read token at ../src/syntax/typing.nit:691,35--38 text='self'
+Read token at ../src/syntax/typing.nit:691,39 text=','
+Read token at ../src/syntax/typing.nit:691,41 text='v'
+Read token at ../src/syntax/typing.nit:691,42 text='.'
+Read token at ../src/syntax/typing.nit:691,43--50 text='mmmodule'
+Read token at ../src/syntax/typing.nit:691,51 text=','
+Read token at ../src/syntax/typing.nit:691,53--58 text='n_expr'
+Read token at ../src/syntax/typing.nit:691,59 text='.'
+Read token at ../src/syntax/typing.nit:691,60--66 text='is_self'
+Read token at ../src/syntax/typing.nit:691,67 text=')'
+Read token at ../src/syntax/typing.nit:691,68--692,0 text='
+'
+Read token at ../src/syntax/typing.nit:692,3--5 text='var'
+Read token at ../src/syntax/typing.nit:692,7--10 text='psig'
+Read token at ../src/syntax/typing.nit:692,12 text='='
+Read token at ../src/syntax/typing.nit:692,14--17 text='prop'
+Read token at ../src/syntax/typing.nit:692,18 text='.'
+Read token at ../src/syntax/typing.nit:692,19--31 text='signature_for'
+Read token at ../src/syntax/typing.nit:692,32 text='('
+Read token at ../src/syntax/typing.nit:692,33--41 text='expr_type'
+Read token at ../src/syntax/typing.nit:692,42 text=')'
+Read token at ../src/syntax/typing.nit:692,43--693,0 text='
+'
+Read token at ../src/syntax/typing.nit:693,3--4 text='if'
+Read token at ../src/syntax/typing.nit:693,6--8 text='not'
+Read token at ../src/syntax/typing.nit:693,10--15 text='n_expr'
+Read token at ../src/syntax/typing.nit:693,16 text='.'
+Read token at ../src/syntax/typing.nit:693,17--23 text='is_self'
+Read token at ../src/syntax/typing.nit:693,25--28 text='then'
+Read token at ../src/syntax/typing.nit:693,30--33 text='psig'
+Read token at ../src/syntax/typing.nit:693,35 text='='
+Read token at ../src/syntax/typing.nit:693,37--40 text='psig'
+Read token at ../src/syntax/typing.nit:693,41 text='.'
+Read token at ../src/syntax/typing.nit:693,42--53 text='not_for_self'
+Read token at ../src/syntax/typing.nit:693,54--694,0 text='
+'
+Read token at ../src/syntax/typing.nit:694,3--4 text='if'
+Read token at ../src/syntax/typing.nit:694,6--9 text='psig'
+Read token at ../src/syntax/typing.nit:694,10 text='.'
+Read token at ../src/syntax/typing.nit:694,11--15 text='arity'
+Read token at ../src/syntax/typing.nit:694,17--18 text='!='
+Read token at ../src/syntax/typing.nit:694,20 text='0'
+Read token at ../src/syntax/typing.nit:694,22--25 text='then'
+Read token at ../src/syntax/typing.nit:694,26--695,0 text='
+'
+Read token at ../src/syntax/typing.nit:695,4 text='v'
+Read token at ../src/syntax/typing.nit:695,5 text='.'
+Read token at ../src/syntax/typing.nit:695,6--10 text='error'
+Read token at ../src/syntax/typing.nit:695,11 text='('
+Read token at ../src/syntax/typing.nit:695,12--15 text='self'
+Read token at ../src/syntax/typing.nit:695,16 text=','
+Read token at ../src/syntax/typing.nit:695,18--82 text='"Error: 'iterate' incompatible with 'for': require no arguments."'
+Read token at ../src/syntax/typing.nit:695,83 text=')'
+Read token at ../src/syntax/typing.nit:695,84--696,0 text='
+'
+Read token at ../src/syntax/typing.nit:696,4--9 text='return'
+Read token at ../src/syntax/typing.nit:696,10--697,0 text='
+'
+Read token at ../src/syntax/typing.nit:697,3--6 text='else'
+Read token at ../src/syntax/typing.nit:697,8--9 text='if'
+Read token at ../src/syntax/typing.nit:697,11--14 text='psig'
+Read token at ../src/syntax/typing.nit:697,15 text='.'
+Read token at ../src/syntax/typing.nit:697,16--23 text='closures'
+Read token at ../src/syntax/typing.nit:697,24 text='.'
+Read token at ../src/syntax/typing.nit:697,25--30 text='length'
+Read token at ../src/syntax/typing.nit:697,32--33 text='!='
+Read token at ../src/syntax/typing.nit:697,35 text='1'
+Read token at ../src/syntax/typing.nit:697,37--40 text='then'
+Read token at ../src/syntax/typing.nit:697,41--698,0 text='
+'
+Read token at ../src/syntax/typing.nit:698,4 text='v'
+Read token at ../src/syntax/typing.nit:698,5 text='.'
+Read token at ../src/syntax/typing.nit:698,6--10 text='error'
+Read token at ../src/syntax/typing.nit:698,11 text='('
+Read token at ../src/syntax/typing.nit:698,12--15 text='self'
+Read token at ../src/syntax/typing.nit:698,16 text=','
+Read token at ../src/syntax/typing.nit:698,18--81 text='"Error: 'iterate' incompatible with 'for': require one closure."'
+Read token at ../src/syntax/typing.nit:698,82 text=')'
+Read token at ../src/syntax/typing.nit:698,83--699,0 text='
+'
+Read token at ../src/syntax/typing.nit:699,4--9 text='return'
+Read token at ../src/syntax/typing.nit:699,10--700,0 text='
+'
+Read token at ../src/syntax/typing.nit:700,3--5 text='end'
+Read token at ../src/syntax/typing.nit:700,6--701,0 text='
+'
+Read token at ../src/syntax/typing.nit:701,3--6 text='psig'
+Read token at ../src/syntax/typing.nit:701,8 text='='
+Read token at ../src/syntax/typing.nit:701,10--13 text='psig'
+Read token at ../src/syntax/typing.nit:701,14 text='.'
+Read token at ../src/syntax/typing.nit:701,15--22 text='closures'
+Read token at ../src/syntax/typing.nit:701,23 text='.'
+Read token at ../src/syntax/typing.nit:701,24--28 text='first'
+Read token at ../src/syntax/typing.nit:701,29 text='.'
+Read token at ../src/syntax/typing.nit:701,30--38 text='signature'
+Read token at ../src/syntax/typing.nit:701,39--702,0 text='
+'
+Read token at ../src/syntax/typing.nit:702,3--4 text='if'
+Read token at ../src/syntax/typing.nit:702,6--9 text='psig'
+Read token at ../src/syntax/typing.nit:702,10 text='.'
+Read token at ../src/syntax/typing.nit:702,11--21 text='return_type'
+Read token at ../src/syntax/typing.nit:702,23--24 text='!='
+Read token at ../src/syntax/typing.nit:702,26--29 text='null'
+Read token at ../src/syntax/typing.nit:702,31--34 text='then'
+Read token at ../src/syntax/typing.nit:702,35--703,0 text='
+'
+Read token at ../src/syntax/typing.nit:703,4 text='v'
+Read token at ../src/syntax/typing.nit:703,5 text='.'
+Read token at ../src/syntax/typing.nit:703,6--10 text='error'
+Read token at ../src/syntax/typing.nit:703,11 text='('
+Read token at ../src/syntax/typing.nit:703,12--15 text='self'
+Read token at ../src/syntax/typing.nit:703,16 text=','
+Read token at ../src/syntax/typing.nit:703,18--92 text='"Error: 'iterate' incompatible with 'for': require one procedural closure."'
+Read token at ../src/syntax/typing.nit:703,93 text=')'
+Read token at ../src/syntax/typing.nit:703,94--704,0 text='
+'
+Read token at ../src/syntax/typing.nit:704,4--9 text='return'
+Read token at ../src/syntax/typing.nit:704,10--705,0 text='
+'
+Read token at ../src/syntax/typing.nit:705,3--5 text='end'
+Read token at ../src/syntax/typing.nit:705,6--706,0 text='
+'
+Read token at ../src/syntax/typing.nit:706,3--4 text='if'
+Read token at ../src/syntax/typing.nit:706,6--8 text='vas'
+Read token at ../src/syntax/typing.nit:706,9 text='.'
+Read token at ../src/syntax/typing.nit:706,10--15 text='length'
+Read token at ../src/syntax/typing.nit:706,17--18 text='!='
+Read token at ../src/syntax/typing.nit:706,20--23 text='psig'
+Read token at ../src/syntax/typing.nit:706,24 text='.'
+Read token at ../src/syntax/typing.nit:706,25--29 text='arity'
+Read token at ../src/syntax/typing.nit:706,31--34 text='then'
+Read token at ../src/syntax/typing.nit:706,35--707,0 text='
+'
+Read token at ../src/syntax/typing.nit:707,4--5 text='if'
+Read token at ../src/syntax/typing.nit:707,7--10 text='psig'
+Read token at ../src/syntax/typing.nit:707,11 text='.'
+Read token at ../src/syntax/typing.nit:707,12--16 text='arity'
+Read token at ../src/syntax/typing.nit:707,18--19 text='=='
+Read token at ../src/syntax/typing.nit:707,21 text='1'
+Read token at ../src/syntax/typing.nit:707,23--26 text='then'
+Read token at ../src/syntax/typing.nit:707,27--708,0 text='
+'
+Read token at ../src/syntax/typing.nit:708,5 text='v'
+Read token at ../src/syntax/typing.nit:708,6 text='.'
+Read token at ../src/syntax/typing.nit:708,7--11 text='error'
+Read token at ../src/syntax/typing.nit:708,12 text='('
+Read token at ../src/syntax/typing.nit:708,13--16 text='self'
+Read token at ../src/syntax/typing.nit:708,17 text=','
+Read token at ../src/syntax/typing.nit:708,19--36 text='"Error: Expected {'
+Read token at ../src/syntax/typing.nit:708,37--40 text='psig'
+Read token at ../src/syntax/typing.nit:708,41 text='.'
+Read token at ../src/syntax/typing.nit:708,42--46 text='arity'
+Read token at ../src/syntax/typing.nit:708,47--58 text='} variable {'
+Read token at ../src/syntax/typing.nit:708,59--62 text='psig'
+Read token at ../src/syntax/typing.nit:708,63--72 text='}, found {'
+Read token at ../src/syntax/typing.nit:708,73--75 text='vas'
+Read token at ../src/syntax/typing.nit:708,76 text='.'
+Read token at ../src/syntax/typing.nit:708,77--82 text='length'
+Read token at ../src/syntax/typing.nit:708,83--85 text='}."'
+Read token at ../src/syntax/typing.nit:708,86 text=')'
+Read token at ../src/syntax/typing.nit:708,87--709,0 text='
+'
+Read token at ../src/syntax/typing.nit:709,4--7 text='else'
+Read token at ../src/syntax/typing.nit:709,8--710,0 text='
+'
+Read token at ../src/syntax/typing.nit:710,5 text='v'
+Read token at ../src/syntax/typing.nit:710,6 text='.'
+Read token at ../src/syntax/typing.nit:710,7--11 text='error'
+Read token at ../src/syntax/typing.nit:710,12 text='('
+Read token at ../src/syntax/typing.nit:710,13--16 text='self'
+Read token at ../src/syntax/typing.nit:710,17 text=','
+Read token at ../src/syntax/typing.nit:710,19--36 text='"Error: Expected {'
+Read token at ../src/syntax/typing.nit:710,37--40 text='psig'
+Read token at ../src/syntax/typing.nit:710,41 text='.'
+Read token at ../src/syntax/typing.nit:710,42--46 text='arity'
+Read token at ../src/syntax/typing.nit:710,47--59 text='} variables {'
+Read token at ../src/syntax/typing.nit:710,60--63 text='psig'
+Read token at ../src/syntax/typing.nit:710,64--73 text='}, found {'
+Read token at ../src/syntax/typing.nit:710,74--76 text='vas'
+Read token at ../src/syntax/typing.nit:710,77 text='.'
+Read token at ../src/syntax/typing.nit:710,78--83 text='length'
+Read token at ../src/syntax/typing.nit:710,84--86 text='}."'
+Read token at ../src/syntax/typing.nit:710,87 text=')'
+Read token at ../src/syntax/typing.nit:710,88--711,0 text='
+'
+Read token at ../src/syntax/typing.nit:711,4--6 text='end'
+Read token at ../src/syntax/typing.nit:711,7--712,0 text='
+'
+Read token at ../src/syntax/typing.nit:712,4--9 text='return'
+Read token at ../src/syntax/typing.nit:712,10--713,0 text='
+'
+Read token at ../src/syntax/typing.nit:713,3--5 text='end'
+Read token at ../src/syntax/typing.nit:713,6--714,0 text='
+'
+Read token at ../src/syntax/typing.nit:714,1--715,0 text='
+'
+Read token at ../src/syntax/typing.nit:715,3--716,0 text='# Type the automatic variables
+'
+Read token at ../src/syntax/typing.nit:716,3--5 text='for'
+Read token at ../src/syntax/typing.nit:716,7 text='i'
+Read token at ../src/syntax/typing.nit:716,9--10 text='in'
+Read token at ../src/syntax/typing.nit:716,12 text='['
+Read token at ../src/syntax/typing.nit:716,13 text='0'
+Read token at ../src/syntax/typing.nit:716,14--15 text='..'
+Read token at ../src/syntax/typing.nit:716,16--18 text='vas'
+Read token at ../src/syntax/typing.nit:716,19 text='.'
+Read token at ../src/syntax/typing.nit:716,20--25 text='length'
+Read token at ../src/syntax/typing.nit:716,26 text='['
+Read token at ../src/syntax/typing.nit:716,28--29 text='do'
+Read token at ../src/syntax/typing.nit:716,30--717,0 text='
+'
+Read token at ../src/syntax/typing.nit:717,4--6 text='vas'
+Read token at ../src/syntax/typing.nit:717,7 text='['
+Read token at ../src/syntax/typing.nit:717,8 text='i'
+Read token at ../src/syntax/typing.nit:717,9 text=']'
+Read token at ../src/syntax/typing.nit:717,10 text='.'
+Read token at ../src/syntax/typing.nit:717,11--15 text='stype'
+Read token at ../src/syntax/typing.nit:717,17 text='='
+Read token at ../src/syntax/typing.nit:717,19--22 text='psig'
+Read token at ../src/syntax/typing.nit:717,23 text='['
+Read token at ../src/syntax/typing.nit:717,24 text='i'
+Read token at ../src/syntax/typing.nit:717,25 text=']'
+Read token at ../src/syntax/typing.nit:717,26--718,0 text='
+'
+Read token at ../src/syntax/typing.nit:718,3--5 text='end'
+Read token at ../src/syntax/typing.nit:718,6--719,0 text='
+'
+Read token at ../src/syntax/typing.nit:719,2--4 text='end'
+Read token at ../src/syntax/typing.nit:719,5--720,0 text='
+'
+Read token at ../src/syntax/typing.nit:720,1--3 text='end'
+Read token at ../src/syntax/typing.nit:720,4--721,0 text='
+'
+Read token at ../src/syntax/typing.nit:721,1--722,0 text='
+'
+Read token at ../src/syntax/typing.nit:722,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:722,7--11 text='class'
+Read token at ../src/syntax/typing.nit:722,13--23 text='AAssertExpr'
+Read token at ../src/syntax/typing.nit:722,24--723,0 text='
+'
+Read token at ../src/syntax/typing.nit:723,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:723,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:723,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:723,25 text='('
+Read token at ../src/syntax/typing.nit:723,26 text='v'
+Read token at ../src/syntax/typing.nit:723,27 text=')'
+Read token at ../src/syntax/typing.nit:723,28--724,0 text='
+'
+Read token at ../src/syntax/typing.nit:724,2--3 text='do'
+Read token at ../src/syntax/typing.nit:724,4--725,0 text='
+'
+Read token at ../src/syntax/typing.nit:725,3--726,0 text='# Process condition
+'
+Read token at ../src/syntax/typing.nit:726,3 text='v'
+Read token at ../src/syntax/typing.nit:726,4 text='.'
+Read token at ../src/syntax/typing.nit:726,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:726,16 text='('
+Read token at ../src/syntax/typing.nit:726,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:726,23 text=')'
+Read token at ../src/syntax/typing.nit:726,24--727,0 text='
+'
+Read token at ../src/syntax/typing.nit:727,3 text='v'
+Read token at ../src/syntax/typing.nit:727,4 text='.'
+Read token at ../src/syntax/typing.nit:727,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:727,23 text='('
+Read token at ../src/syntax/typing.nit:727,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:727,30 text=','
+Read token at ../src/syntax/typing.nit:727,32 text='v'
+Read token at ../src/syntax/typing.nit:727,33 text='.'
+Read token at ../src/syntax/typing.nit:727,34--42 text='type_bool'
+Read token at ../src/syntax/typing.nit:727,43 text=')'
+Read token at ../src/syntax/typing.nit:727,44--728,0 text='
+'
+Read token at ../src/syntax/typing.nit:728,1--729,0 text='
+'
+Read token at ../src/syntax/typing.nit:729,3--730,0 text='# Process optional 'else' part
+'
+Read token at ../src/syntax/typing.nit:730,3--4 text='if'
+Read token at ../src/syntax/typing.nit:730,6--11 text='n_else'
+Read token at ../src/syntax/typing.nit:730,13--14 text='!='
+Read token at ../src/syntax/typing.nit:730,16--19 text='null'
+Read token at ../src/syntax/typing.nit:730,21--24 text='then'
+Read token at ../src/syntax/typing.nit:730,25--731,0 text='
+'
+Read token at ../src/syntax/typing.nit:731,4--6 text='var'
+Read token at ../src/syntax/typing.nit:731,8--19 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:731,21 text='='
+Read token at ../src/syntax/typing.nit:731,23 text='v'
+Read token at ../src/syntax/typing.nit:731,24 text='.'
+Read token at ../src/syntax/typing.nit:731,25--32 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:731,33--732,0 text='
+'
+Read token at ../src/syntax/typing.nit:732,4 text='v'
+Read token at ../src/syntax/typing.nit:732,5 text='.'
+Read token at ../src/syntax/typing.nit:732,6--26 text='use_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:732,27 text='('
+Read token at ../src/syntax/typing.nit:732,28--33 text='n_expr'
+Read token at ../src/syntax/typing.nit:732,34 text=')'
+Read token at ../src/syntax/typing.nit:732,35--733,0 text='
+'
+Read token at ../src/syntax/typing.nit:733,4 text='v'
+Read token at ../src/syntax/typing.nit:733,5 text='.'
+Read token at ../src/syntax/typing.nit:733,6--16 text='enter_visit'
+Read token at ../src/syntax/typing.nit:733,17 text='('
+Read token at ../src/syntax/typing.nit:733,18--23 text='n_else'
+Read token at ../src/syntax/typing.nit:733,24 text=')'
+Read token at ../src/syntax/typing.nit:733,25--734,0 text='
+'
+Read token at ../src/syntax/typing.nit:734,4 text='v'
+Read token at ../src/syntax/typing.nit:734,5 text='.'
+Read token at ../src/syntax/typing.nit:734,6--13 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:734,15 text='='
+Read token at ../src/syntax/typing.nit:734,17--28 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:734,29--735,0 text='
+'
+Read token at ../src/syntax/typing.nit:735,3--5 text='end'
+Read token at ../src/syntax/typing.nit:735,6--736,0 text='
+'
+Read token at ../src/syntax/typing.nit:736,1--737,0 text='
+'
+Read token at ../src/syntax/typing.nit:737,3--738,0 text='# Prepare outside
+'
+Read token at ../src/syntax/typing.nit:738,3 text='v'
+Read token at ../src/syntax/typing.nit:738,4 text='.'
+Read token at ../src/syntax/typing.nit:738,5--24 text='use_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:738,25 text='('
+Read token at ../src/syntax/typing.nit:738,26--31 text='n_expr'
+Read token at ../src/syntax/typing.nit:738,32 text=')'
+Read token at ../src/syntax/typing.nit:738,33--739,0 text='
+'
+Read token at ../src/syntax/typing.nit:739,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:739,13 text='='
+Read token at ../src/syntax/typing.nit:739,15--18 text='true'
+Read token at ../src/syntax/typing.nit:739,19--740,0 text='
+'
+Read token at ../src/syntax/typing.nit:740,2--4 text='end'
+Read token at ../src/syntax/typing.nit:740,5--741,0 text='
+'
+Read token at ../src/syntax/typing.nit:741,1--3 text='end'
+Read token at ../src/syntax/typing.nit:741,4--742,0 text='
+'
+Read token at ../src/syntax/typing.nit:742,1--743,0 text='
+'
+Read token at ../src/syntax/typing.nit:743,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:743,7--11 text='class'
+Read token at ../src/syntax/typing.nit:743,13--24 text='AVarFormExpr'
+Read token at ../src/syntax/typing.nit:743,25--744,0 text='
+'
+Read token at ../src/syntax/typing.nit:744,2--4 text='var'
+Read token at ../src/syntax/typing.nit:744,6--14 text='_variable'
+Read token at ../src/syntax/typing.nit:744,15 text=':'
+Read token at ../src/syntax/typing.nit:744,17--24 text='nullable'
+Read token at ../src/syntax/typing.nit:744,26--33 text='Variable'
+Read token at ../src/syntax/typing.nit:744,34--745,0 text='
+'
+Read token at ../src/syntax/typing.nit:745,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:745,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:745,12--19 text='variable'
+Read token at ../src/syntax/typing.nit:745,21--22 text='do'
+Read token at ../src/syntax/typing.nit:745,24--29 text='return'
+Read token at ../src/syntax/typing.nit:745,31--39 text='_variable'
+Read token at ../src/syntax/typing.nit:745,40 text='.'
+Read token at ../src/syntax/typing.nit:745,41--42 text='as'
+Read token at ../src/syntax/typing.nit:745,43 text='('
+Read token at ../src/syntax/typing.nit:745,44--46 text='not'
+Read token at ../src/syntax/typing.nit:745,48--51 text='null'
+Read token at ../src/syntax/typing.nit:745,52 text=')'
+Read token at ../src/syntax/typing.nit:745,53--746,0 text='
+'
+Read token at ../src/syntax/typing.nit:746,1--3 text='end'
+Read token at ../src/syntax/typing.nit:746,4--747,0 text='
+'
+Read token at ../src/syntax/typing.nit:747,1--748,0 text='
+'
+Read token at ../src/syntax/typing.nit:748,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:748,7--11 text='class'
+Read token at ../src/syntax/typing.nit:748,13--20 text='AVarExpr'
+Read token at ../src/syntax/typing.nit:748,21--749,0 text='
+'
+Read token at ../src/syntax/typing.nit:749,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:749,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:749,12--23 text='its_variable'
+Read token at ../src/syntax/typing.nit:749,25--26 text='do'
+Read token at ../src/syntax/typing.nit:749,28--33 text='return'
+Read token at ../src/syntax/typing.nit:749,35--42 text='variable'
+Read token at ../src/syntax/typing.nit:749,43--750,0 text='
+'
+Read token at ../src/syntax/typing.nit:750,1--751,0 text='
+'
+Read token at ../src/syntax/typing.nit:751,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:751,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:751,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:751,24 text='('
+Read token at ../src/syntax/typing.nit:751,25 text='v'
+Read token at ../src/syntax/typing.nit:751,26 text=')'
+Read token at ../src/syntax/typing.nit:751,27--752,0 text='
+'
+Read token at ../src/syntax/typing.nit:752,2--3 text='do'
+Read token at ../src/syntax/typing.nit:752,4--753,0 text='
+'
+Read token at ../src/syntax/typing.nit:753,3 text='v'
+Read token at ../src/syntax/typing.nit:753,4 text='.'
+Read token at ../src/syntax/typing.nit:753,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:753,13 text='.'
+Read token at ../src/syntax/typing.nit:753,14--25 text='check_is_set'
+Read token at ../src/syntax/typing.nit:753,26 text='('
+Read token at ../src/syntax/typing.nit:753,27--30 text='self'
+Read token at ../src/syntax/typing.nit:753,31 text=','
+Read token at ../src/syntax/typing.nit:753,33--40 text='variable'
+Read token at ../src/syntax/typing.nit:753,41 text=')'
+Read token at ../src/syntax/typing.nit:753,42--754,0 text='
+'
+Read token at ../src/syntax/typing.nit:754,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:754,10 text='='
+Read token at ../src/syntax/typing.nit:754,12 text='v'
+Read token at ../src/syntax/typing.nit:754,13 text='.'
+Read token at ../src/syntax/typing.nit:754,14--21 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:754,22 text='.'
+Read token at ../src/syntax/typing.nit:754,23--27 text='stype'
+Read token at ../src/syntax/typing.nit:754,28 text='('
+Read token at ../src/syntax/typing.nit:754,29--36 text='variable'
+Read token at ../src/syntax/typing.nit:754,37 text=')'
+Read token at ../src/syntax/typing.nit:754,38--755,0 text='
+'
+Read token at ../src/syntax/typing.nit:755,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:755,13 text='='
+Read token at ../src/syntax/typing.nit:755,15--20 text='_stype'
+Read token at ../src/syntax/typing.nit:755,22--23 text='!='
+Read token at ../src/syntax/typing.nit:755,25--28 text='null'
+Read token at ../src/syntax/typing.nit:755,29--756,0 text='
+'
+Read token at ../src/syntax/typing.nit:756,2--4 text='end'
+Read token at ../src/syntax/typing.nit:756,5--757,0 text='
+'
+Read token at ../src/syntax/typing.nit:757,1--3 text='end'
+Read token at ../src/syntax/typing.nit:757,4--758,0 text='
+'
+Read token at ../src/syntax/typing.nit:758,1--759,0 text='
+'
+Read token at ../src/syntax/typing.nit:759,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:759,7--11 text='class'
+Read token at ../src/syntax/typing.nit:759,13--26 text='AVarAssignExpr'
+Read token at ../src/syntax/typing.nit:759,27--760,0 text='
+'
+Read token at ../src/syntax/typing.nit:760,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:760,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:760,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:760,24 text='('
+Read token at ../src/syntax/typing.nit:760,25 text='v'
+Read token at ../src/syntax/typing.nit:760,26 text=')'
+Read token at ../src/syntax/typing.nit:760,27--761,0 text='
+'
+Read token at ../src/syntax/typing.nit:761,2--3 text='do'
+Read token at ../src/syntax/typing.nit:761,4--762,0 text='
+'
+Read token at ../src/syntax/typing.nit:762,3 text='v'
+Read token at ../src/syntax/typing.nit:762,4 text='.'
+Read token at ../src/syntax/typing.nit:762,5--15 text='mark_is_set'
+Read token at ../src/syntax/typing.nit:762,16 text='('
+Read token at ../src/syntax/typing.nit:762,17--24 text='variable'
+Read token at ../src/syntax/typing.nit:762,25 text=')'
+Read token at ../src/syntax/typing.nit:762,26--763,0 text='
+'
+Read token at ../src/syntax/typing.nit:763,1--764,0 text='
+'
+Read token at ../src/syntax/typing.nit:764,3--765,0 text='# Check the base type
+'
+Read token at ../src/syntax/typing.nit:765,3--5 text='var'
+Read token at ../src/syntax/typing.nit:765,7--11 text='btype'
+Read token at ../src/syntax/typing.nit:765,13 text='='
+Read token at ../src/syntax/typing.nit:765,15 text='v'
+Read token at ../src/syntax/typing.nit:765,16 text='.'
+Read token at ../src/syntax/typing.nit:765,17--29 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:765,30 text='.'
+Read token at ../src/syntax/typing.nit:765,31--35 text='stype'
+Read token at ../src/syntax/typing.nit:765,36 text='('
+Read token at ../src/syntax/typing.nit:765,37--44 text='variable'
+Read token at ../src/syntax/typing.nit:765,45 text=')'
+Read token at ../src/syntax/typing.nit:765,46--766,0 text='
+'
+Read token at ../src/syntax/typing.nit:766,3--4 text='if'
+Read token at ../src/syntax/typing.nit:766,6--8 text='not'
+Read token at ../src/syntax/typing.nit:766,10 text='v'
+Read token at ../src/syntax/typing.nit:766,11 text='.'
+Read token at ../src/syntax/typing.nit:766,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:766,22 text='('
+Read token at ../src/syntax/typing.nit:766,23--29 text='n_value'
+Read token at ../src/syntax/typing.nit:766,30 text=')'
+Read token at ../src/syntax/typing.nit:766,32--35 text='then'
+Read token at ../src/syntax/typing.nit:766,37--42 text='return'
+Read token at ../src/syntax/typing.nit:766,43--767,0 text='
+'
+Read token at ../src/syntax/typing.nit:767,3--4 text='if'
+Read token at ../src/syntax/typing.nit:767,6--10 text='btype'
+Read token at ../src/syntax/typing.nit:767,12--13 text='!='
+Read token at ../src/syntax/typing.nit:767,15--18 text='null'
+Read token at ../src/syntax/typing.nit:767,20--22 text='and'
+Read token at ../src/syntax/typing.nit:767,24--26 text='not'
+Read token at ../src/syntax/typing.nit:767,28 text='v'
+Read token at ../src/syntax/typing.nit:767,29 text='.'
+Read token at ../src/syntax/typing.nit:767,30--47 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:767,48 text='('
+Read token at ../src/syntax/typing.nit:767,49--55 text='n_value'
+Read token at ../src/syntax/typing.nit:767,56 text=','
+Read token at ../src/syntax/typing.nit:767,58--62 text='btype'
+Read token at ../src/syntax/typing.nit:767,63 text=')'
+Read token at ../src/syntax/typing.nit:767,65--68 text='then'
+Read token at ../src/syntax/typing.nit:767,70--75 text='return'
+Read token at ../src/syntax/typing.nit:767,76--768,0 text='
+'
+Read token at ../src/syntax/typing.nit:768,1--769,0 text='
+'
+Read token at ../src/syntax/typing.nit:769,3--770,0 text='# Always cast
+'
+Read token at ../src/syntax/typing.nit:770,3 text='v'
+Read token at ../src/syntax/typing.nit:770,4 text='.'
+Read token at ../src/syntax/typing.nit:770,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:770,14 text='='
+Read token at ../src/syntax/typing.nit:770,16 text='v'
+Read token at ../src/syntax/typing.nit:770,17 text='.'
+Read token at ../src/syntax/typing.nit:770,18--25 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:770,26 text='.'
+Read token at ../src/syntax/typing.nit:770,27--34 text='sub_with'
+Read token at ../src/syntax/typing.nit:770,35 text='('
+Read token at ../src/syntax/typing.nit:770,36--39 text='self'
+Read token at ../src/syntax/typing.nit:770,40 text=','
+Read token at ../src/syntax/typing.nit:770,42--49 text='variable'
+Read token at ../src/syntax/typing.nit:770,50 text=','
+Read token at ../src/syntax/typing.nit:770,52--58 text='n_value'
+Read token at ../src/syntax/typing.nit:770,59 text='.'
+Read token at ../src/syntax/typing.nit:770,60--64 text='stype'
+Read token at ../src/syntax/typing.nit:770,65 text=')'
+Read token at ../src/syntax/typing.nit:770,66--771,0 text='
+'
+Read token at ../src/syntax/typing.nit:771,1--772,0 text='
+'
+Read token at ../src/syntax/typing.nit:772,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:772,13 text='='
+Read token at ../src/syntax/typing.nit:772,15--18 text='true'
+Read token at ../src/syntax/typing.nit:772,19--773,0 text='
+'
+Read token at ../src/syntax/typing.nit:773,2--4 text='end'
+Read token at ../src/syntax/typing.nit:773,5--774,0 text='
+'
+Read token at ../src/syntax/typing.nit:774,1--3 text='end'
+Read token at ../src/syntax/typing.nit:774,4--775,0 text='
+'
+Read token at ../src/syntax/typing.nit:775,1--776,0 text='
+'
+Read token at ../src/syntax/typing.nit:776,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:776,7--11 text='class'
+Read token at ../src/syntax/typing.nit:776,13--29 text='AReassignFormExpr'
+Read token at ../src/syntax/typing.nit:776,30--777,0 text='
+'
+Read token at ../src/syntax/typing.nit:777,2--778,0 text='# Compute and check method used through the reassigment operator
+'
+Read token at ../src/syntax/typing.nit:778,2--779,0 text='# On success return the static type of the result of the reassigment operator
+'
+Read token at ../src/syntax/typing.nit:779,2--780,0 text='# Else display an error and return null
+'
+Read token at ../src/syntax/typing.nit:780,2--8 text='private'
+Read token at ../src/syntax/typing.nit:780,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:780,14--29 text='do_rvalue_typing'
+Read token at ../src/syntax/typing.nit:780,30 text='('
+Read token at ../src/syntax/typing.nit:780,31 text='v'
+Read token at ../src/syntax/typing.nit:780,32 text=':'
+Read token at ../src/syntax/typing.nit:780,34--46 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:780,47 text=','
+Read token at ../src/syntax/typing.nit:780,49--59 text='type_lvalue'
+Read token at ../src/syntax/typing.nit:780,60 text=':'
+Read token at ../src/syntax/typing.nit:780,62--69 text='nullable'
+Read token at ../src/syntax/typing.nit:780,71--76 text='MMType'
+Read token at ../src/syntax/typing.nit:780,77 text=')'
+Read token at ../src/syntax/typing.nit:780,78 text=':'
+Read token at ../src/syntax/typing.nit:780,80--87 text='nullable'
+Read token at ../src/syntax/typing.nit:780,89--94 text='MMType'
+Read token at ../src/syntax/typing.nit:780,95--781,0 text='
+'
+Read token at ../src/syntax/typing.nit:781,2--3 text='do'
+Read token at ../src/syntax/typing.nit:781,4--782,0 text='
+'
+Read token at ../src/syntax/typing.nit:782,3--4 text='if'
+Read token at ../src/syntax/typing.nit:782,6--16 text='type_lvalue'
+Read token at ../src/syntax/typing.nit:782,18--19 text='=='
+Read token at ../src/syntax/typing.nit:782,21--24 text='null'
+Read token at ../src/syntax/typing.nit:782,26--29 text='then'
+Read token at ../src/syntax/typing.nit:782,30--783,0 text='
+'
+Read token at ../src/syntax/typing.nit:783,4--9 text='return'
+Read token at ../src/syntax/typing.nit:783,11--14 text='null'
+Read token at ../src/syntax/typing.nit:783,15--784,0 text='
+'
+Read token at ../src/syntax/typing.nit:784,3--5 text='end'
+Read token at ../src/syntax/typing.nit:784,6--785,0 text='
+'
+Read token at ../src/syntax/typing.nit:785,3--5 text='var'
+Read token at ../src/syntax/typing.nit:785,7--10 text='name'
+Read token at ../src/syntax/typing.nit:785,12 text='='
+Read token at ../src/syntax/typing.nit:785,14--24 text='n_assign_op'
+Read token at ../src/syntax/typing.nit:785,25 text='.'
+Read token at ../src/syntax/typing.nit:785,26--36 text='method_name'
+Read token at ../src/syntax/typing.nit:785,37--786,0 text='
+'
+Read token at ../src/syntax/typing.nit:786,3--4 text='if'
+Read token at ../src/syntax/typing.nit:786,6--16 text='type_lvalue'
+Read token at ../src/syntax/typing.nit:786,18--20 text='isa'
+Read token at ../src/syntax/typing.nit:786,22--31 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:786,33--36 text='then'
+Read token at ../src/syntax/typing.nit:786,37--787,0 text='
+'
+Read token at ../src/syntax/typing.nit:787,4 text='v'
+Read token at ../src/syntax/typing.nit:787,5 text='.'
+Read token at ../src/syntax/typing.nit:787,6--10 text='error'
+Read token at ../src/syntax/typing.nit:787,11 text='('
+Read token at ../src/syntax/typing.nit:787,12--15 text='self'
+Read token at ../src/syntax/typing.nit:787,16 text=','
+Read token at ../src/syntax/typing.nit:787,18--34 text='"Error: Method '{'
+Read token at ../src/syntax/typing.nit:787,35--38 text='name'
+Read token at ../src/syntax/typing.nit:787,39--57 text='}' call on 'null'."'
+Read token at ../src/syntax/typing.nit:787,58 text=')'
+Read token at ../src/syntax/typing.nit:787,59--788,0 text='
+'
+Read token at ../src/syntax/typing.nit:788,4--9 text='return'
+Read token at ../src/syntax/typing.nit:788,11--14 text='null'
+Read token at ../src/syntax/typing.nit:788,15--789,0 text='
+'
+Read token at ../src/syntax/typing.nit:789,3--5 text='end'
+Read token at ../src/syntax/typing.nit:789,6--790,0 text='
+'
+Read token at ../src/syntax/typing.nit:790,3--5 text='var'
+Read token at ../src/syntax/typing.nit:790,7--8 text='lc'
+Read token at ../src/syntax/typing.nit:790,10 text='='
+Read token at ../src/syntax/typing.nit:790,12--22 text='type_lvalue'
+Read token at ../src/syntax/typing.nit:790,23 text='.'
+Read token at ../src/syntax/typing.nit:790,24--34 text='local_class'
+Read token at ../src/syntax/typing.nit:790,35--791,0 text='
+'
+Read token at ../src/syntax/typing.nit:791,3--4 text='if'
+Read token at ../src/syntax/typing.nit:791,6--8 text='not'
+Read token at ../src/syntax/typing.nit:791,10--11 text='lc'
+Read token at ../src/syntax/typing.nit:791,12 text='.'
+Read token at ../src/syntax/typing.nit:791,13--39 text='has_global_property_by_name'
+Read token at ../src/syntax/typing.nit:791,40 text='('
+Read token at ../src/syntax/typing.nit:791,41--44 text='name'
+Read token at ../src/syntax/typing.nit:791,45 text=')'
+Read token at ../src/syntax/typing.nit:791,47--50 text='then'
+Read token at ../src/syntax/typing.nit:791,51--792,0 text='
+'
+Read token at ../src/syntax/typing.nit:792,4 text='v'
+Read token at ../src/syntax/typing.nit:792,5 text='.'
+Read token at ../src/syntax/typing.nit:792,6--10 text='error'
+Read token at ../src/syntax/typing.nit:792,11 text='('
+Read token at ../src/syntax/typing.nit:792,12--15 text='self'
+Read token at ../src/syntax/typing.nit:792,16 text=','
+Read token at ../src/syntax/typing.nit:792,18--34 text='"Error: Method '{'
+Read token at ../src/syntax/typing.nit:792,35--38 text='name'
+Read token at ../src/syntax/typing.nit:792,39--60 text='}' doesn't exists in {'
+Read token at ../src/syntax/typing.nit:792,61--71 text='type_lvalue'
+Read token at ../src/syntax/typing.nit:792,72--74 text='}."'
+Read token at ../src/syntax/typing.nit:792,75 text=')'
+Read token at ../src/syntax/typing.nit:792,76--793,0 text='
+'
+Read token at ../src/syntax/typing.nit:793,4--9 text='return'
+Read token at ../src/syntax/typing.nit:793,11--14 text='null'
+Read token at ../src/syntax/typing.nit:793,15--794,0 text='
+'
+Read token at ../src/syntax/typing.nit:794,3--5 text='end'
+Read token at ../src/syntax/typing.nit:794,6--795,0 text='
+'
+Read token at ../src/syntax/typing.nit:795,3--5 text='var'
+Read token at ../src/syntax/typing.nit:795,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:795,12 text='='
+Read token at ../src/syntax/typing.nit:795,14--15 text='lc'
+Read token at ../src/syntax/typing.nit:795,16 text='.'
+Read token at ../src/syntax/typing.nit:795,17--29 text='select_method'
+Read token at ../src/syntax/typing.nit:795,30 text='('
+Read token at ../src/syntax/typing.nit:795,31--34 text='name'
+Read token at ../src/syntax/typing.nit:795,35 text=')'
+Read token at ../src/syntax/typing.nit:795,36--796,0 text='
+'
+Read token at ../src/syntax/typing.nit:796,3--6 text='prop'
+Read token at ../src/syntax/typing.nit:796,7 text='.'
+Read token at ../src/syntax/typing.nit:796,8--13 text='global'
+Read token at ../src/syntax/typing.nit:796,14 text='.'
+Read token at ../src/syntax/typing.nit:796,15--30 text='check_visibility'
+Read token at ../src/syntax/typing.nit:796,31 text='('
+Read token at ../src/syntax/typing.nit:796,32 text='v'
+Read token at ../src/syntax/typing.nit:796,33 text=','
+Read token at ../src/syntax/typing.nit:796,35--38 text='self'
+Read token at ../src/syntax/typing.nit:796,39 text=','
+Read token at ../src/syntax/typing.nit:796,41 text='v'
+Read token at ../src/syntax/typing.nit:796,42 text='.'
+Read token at ../src/syntax/typing.nit:796,43--50 text='mmmodule'
+Read token at ../src/syntax/typing.nit:796,51 text=','
+Read token at ../src/syntax/typing.nit:796,53--57 text='false'
+Read token at ../src/syntax/typing.nit:796,58 text=')'
+Read token at ../src/syntax/typing.nit:796,59--797,0 text='
+'
+Read token at ../src/syntax/typing.nit:797,3--5 text='var'
+Read token at ../src/syntax/typing.nit:797,7--10 text='psig'
+Read token at ../src/syntax/typing.nit:797,12 text='='
+Read token at ../src/syntax/typing.nit:797,14--17 text='prop'
+Read token at ../src/syntax/typing.nit:797,18 text='.'
+Read token at ../src/syntax/typing.nit:797,19--31 text='signature_for'
+Read token at ../src/syntax/typing.nit:797,32 text='('
+Read token at ../src/syntax/typing.nit:797,33--43 text='type_lvalue'
+Read token at ../src/syntax/typing.nit:797,44 text=')'
+Read token at ../src/syntax/typing.nit:797,45--798,0 text='
+'
+Read token at ../src/syntax/typing.nit:798,3--16 text='_assign_method'
+Read token at ../src/syntax/typing.nit:798,18 text='='
+Read token at ../src/syntax/typing.nit:798,20--23 text='prop'
+Read token at ../src/syntax/typing.nit:798,24--799,0 text='
+'
+Read token at ../src/syntax/typing.nit:799,3--4 text='if'
+Read token at ../src/syntax/typing.nit:799,6--8 text='not'
+Read token at ../src/syntax/typing.nit:799,10 text='v'
+Read token at ../src/syntax/typing.nit:799,11 text='.'
+Read token at ../src/syntax/typing.nit:799,12--29 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:799,30 text='('
+Read token at ../src/syntax/typing.nit:799,31--37 text='n_value'
+Read token at ../src/syntax/typing.nit:799,38 text=','
+Read token at ../src/syntax/typing.nit:799,40--43 text='psig'
+Read token at ../src/syntax/typing.nit:799,44 text='['
+Read token at ../src/syntax/typing.nit:799,45 text='0'
+Read token at ../src/syntax/typing.nit:799,46 text=']'
+Read token at ../src/syntax/typing.nit:799,47 text='.'
+Read token at ../src/syntax/typing.nit:799,48--59 text='not_for_self'
+Read token at ../src/syntax/typing.nit:799,60 text=')'
+Read token at ../src/syntax/typing.nit:799,62--65 text='then'
+Read token at ../src/syntax/typing.nit:799,67--72 text='return'
+Read token at ../src/syntax/typing.nit:799,74--77 text='null'
+Read token at ../src/syntax/typing.nit:799,78--800,0 text='
+'
+Read token at ../src/syntax/typing.nit:800,3--8 text='return'
+Read token at ../src/syntax/typing.nit:800,10--13 text='psig'
+Read token at ../src/syntax/typing.nit:800,14 text='.'
+Read token at ../src/syntax/typing.nit:800,15--25 text='return_type'
+Read token at ../src/syntax/typing.nit:800,26 text='.'
+Read token at ../src/syntax/typing.nit:800,27--38 text='not_for_self'
+Read token at ../src/syntax/typing.nit:800,39--801,0 text='
+'
+Read token at ../src/syntax/typing.nit:801,2--4 text='end'
+Read token at ../src/syntax/typing.nit:801,5--802,0 text='
+'
+Read token at ../src/syntax/typing.nit:802,1--803,0 text='
+'
+Read token at ../src/syntax/typing.nit:803,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:803,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:803,12--24 text='assign_method'
+Read token at ../src/syntax/typing.nit:803,26--27 text='do'
+Read token at ../src/syntax/typing.nit:803,29--34 text='return'
+Read token at ../src/syntax/typing.nit:803,36--49 text='_assign_method'
+Read token at ../src/syntax/typing.nit:803,50 text='.'
+Read token at ../src/syntax/typing.nit:803,51--52 text='as'
+Read token at ../src/syntax/typing.nit:803,53 text='('
+Read token at ../src/syntax/typing.nit:803,54--56 text='not'
+Read token at ../src/syntax/typing.nit:803,58--61 text='null'
+Read token at ../src/syntax/typing.nit:803,62 text=')'
+Read token at ../src/syntax/typing.nit:803,63--804,0 text='
+'
+Read token at ../src/syntax/typing.nit:804,2--4 text='var'
+Read token at ../src/syntax/typing.nit:804,6--19 text='_assign_method'
+Read token at ../src/syntax/typing.nit:804,20 text=':'
+Read token at ../src/syntax/typing.nit:804,22--29 text='nullable'
+Read token at ../src/syntax/typing.nit:804,31--38 text='MMMethod'
+Read token at ../src/syntax/typing.nit:804,39--805,0 text='
+'
+Read token at ../src/syntax/typing.nit:805,1--3 text='end'
+Read token at ../src/syntax/typing.nit:805,4--806,0 text='
+'
+Read token at ../src/syntax/typing.nit:806,1--807,0 text='
+'
+Read token at ../src/syntax/typing.nit:807,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:807,7--11 text='class'
+Read token at ../src/syntax/typing.nit:807,13--28 text='AVarReassignExpr'
+Read token at ../src/syntax/typing.nit:807,29--808,0 text='
+'
+Read token at ../src/syntax/typing.nit:808,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:808,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:808,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:808,24 text='('
+Read token at ../src/syntax/typing.nit:808,25 text='v'
+Read token at ../src/syntax/typing.nit:808,26 text=')'
+Read token at ../src/syntax/typing.nit:808,27--809,0 text='
+'
+Read token at ../src/syntax/typing.nit:809,2--3 text='do'
+Read token at ../src/syntax/typing.nit:809,4--810,0 text='
+'
+Read token at ../src/syntax/typing.nit:810,3 text='v'
+Read token at ../src/syntax/typing.nit:810,4 text='.'
+Read token at ../src/syntax/typing.nit:810,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:810,13 text='.'
+Read token at ../src/syntax/typing.nit:810,14--25 text='check_is_set'
+Read token at ../src/syntax/typing.nit:810,26 text='('
+Read token at ../src/syntax/typing.nit:810,27--30 text='self'
+Read token at ../src/syntax/typing.nit:810,31 text=','
+Read token at ../src/syntax/typing.nit:810,33--40 text='variable'
+Read token at ../src/syntax/typing.nit:810,41 text=')'
+Read token at ../src/syntax/typing.nit:810,42--811,0 text='
+'
+Read token at ../src/syntax/typing.nit:811,3 text='v'
+Read token at ../src/syntax/typing.nit:811,4 text='.'
+Read token at ../src/syntax/typing.nit:811,5--15 text='mark_is_set'
+Read token at ../src/syntax/typing.nit:811,16 text='('
+Read token at ../src/syntax/typing.nit:811,17--24 text='variable'
+Read token at ../src/syntax/typing.nit:811,25 text=')'
+Read token at ../src/syntax/typing.nit:811,26--812,0 text='
+'
+Read token at ../src/syntax/typing.nit:812,3--5 text='var'
+Read token at ../src/syntax/typing.nit:812,7 text='t'
+Read token at ../src/syntax/typing.nit:812,9 text='='
+Read token at ../src/syntax/typing.nit:812,11 text='v'
+Read token at ../src/syntax/typing.nit:812,12 text='.'
+Read token at ../src/syntax/typing.nit:812,13--20 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:812,21 text='.'
+Read token at ../src/syntax/typing.nit:812,22--26 text='stype'
+Read token at ../src/syntax/typing.nit:812,27 text='('
+Read token at ../src/syntax/typing.nit:812,28--35 text='variable'
+Read token at ../src/syntax/typing.nit:812,36 text=')'
+Read token at ../src/syntax/typing.nit:812,37--813,0 text='
+'
+Read token at ../src/syntax/typing.nit:813,3--5 text='var'
+Read token at ../src/syntax/typing.nit:813,7--8 text='t2'
+Read token at ../src/syntax/typing.nit:813,10 text='='
+Read token at ../src/syntax/typing.nit:813,12--27 text='do_rvalue_typing'
+Read token at ../src/syntax/typing.nit:813,28 text='('
+Read token at ../src/syntax/typing.nit:813,29 text='v'
+Read token at ../src/syntax/typing.nit:813,30 text=','
+Read token at ../src/syntax/typing.nit:813,32 text='t'
+Read token at ../src/syntax/typing.nit:813,33 text=')'
+Read token at ../src/syntax/typing.nit:813,34--814,0 text='
+'
+Read token at ../src/syntax/typing.nit:814,3--4 text='if'
+Read token at ../src/syntax/typing.nit:814,6--7 text='t2'
+Read token at ../src/syntax/typing.nit:814,9--10 text='=='
+Read token at ../src/syntax/typing.nit:814,12--15 text='null'
+Read token at ../src/syntax/typing.nit:814,17--20 text='then'
+Read token at ../src/syntax/typing.nit:814,22--27 text='return'
+Read token at ../src/syntax/typing.nit:814,28--815,0 text='
+'
+Read token at ../src/syntax/typing.nit:815,1--816,0 text='
+'
+Read token at ../src/syntax/typing.nit:816,3--817,0 text='# Check the base type
+'
+Read token at ../src/syntax/typing.nit:817,3--5 text='var'
+Read token at ../src/syntax/typing.nit:817,7--11 text='btype'
+Read token at ../src/syntax/typing.nit:817,13 text='='
+Read token at ../src/syntax/typing.nit:817,15 text='v'
+Read token at ../src/syntax/typing.nit:817,16 text='.'
+Read token at ../src/syntax/typing.nit:817,17--29 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:817,30 text='.'
+Read token at ../src/syntax/typing.nit:817,31--35 text='stype'
+Read token at ../src/syntax/typing.nit:817,36 text='('
+Read token at ../src/syntax/typing.nit:817,37--44 text='variable'
+Read token at ../src/syntax/typing.nit:817,45 text=')'
+Read token at ../src/syntax/typing.nit:817,46--818,0 text='
+'
+Read token at ../src/syntax/typing.nit:818,3--4 text='if'
+Read token at ../src/syntax/typing.nit:818,6--8 text='not'
+Read token at ../src/syntax/typing.nit:818,10 text='v'
+Read token at ../src/syntax/typing.nit:818,11 text='.'
+Read token at ../src/syntax/typing.nit:818,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:818,22 text='('
+Read token at ../src/syntax/typing.nit:818,23--29 text='n_value'
+Read token at ../src/syntax/typing.nit:818,30 text=')'
+Read token at ../src/syntax/typing.nit:818,32--35 text='then'
+Read token at ../src/syntax/typing.nit:818,37--42 text='return'
+Read token at ../src/syntax/typing.nit:818,43--819,0 text='
+'
+Read token at ../src/syntax/typing.nit:819,3--4 text='if'
+Read token at ../src/syntax/typing.nit:819,6--10 text='btype'
+Read token at ../src/syntax/typing.nit:819,12--13 text='!='
+Read token at ../src/syntax/typing.nit:819,15--18 text='null'
+Read token at ../src/syntax/typing.nit:819,20--22 text='and'
+Read token at ../src/syntax/typing.nit:819,24--26 text='not'
+Read token at ../src/syntax/typing.nit:819,28 text='v'
+Read token at ../src/syntax/typing.nit:819,29 text='.'
+Read token at ../src/syntax/typing.nit:819,30--42 text='check_conform'
+Read token at ../src/syntax/typing.nit:819,43 text='('
+Read token at ../src/syntax/typing.nit:819,44--50 text='n_value'
+Read token at ../src/syntax/typing.nit:819,51 text=','
+Read token at ../src/syntax/typing.nit:819,53--54 text='t2'
+Read token at ../src/syntax/typing.nit:819,55 text=','
+Read token at ../src/syntax/typing.nit:819,57--61 text='btype'
+Read token at ../src/syntax/typing.nit:819,62 text=')'
+Read token at ../src/syntax/typing.nit:819,64--67 text='then'
+Read token at ../src/syntax/typing.nit:819,69--74 text='return'
+Read token at ../src/syntax/typing.nit:819,75--820,0 text='
+'
+Read token at ../src/syntax/typing.nit:820,1--821,0 text='
+'
+Read token at ../src/syntax/typing.nit:821,3--822,0 text='# Always cast
+'
+Read token at ../src/syntax/typing.nit:822,3 text='v'
+Read token at ../src/syntax/typing.nit:822,4 text='.'
+Read token at ../src/syntax/typing.nit:822,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:822,14 text='='
+Read token at ../src/syntax/typing.nit:822,16 text='v'
+Read token at ../src/syntax/typing.nit:822,17 text='.'
+Read token at ../src/syntax/typing.nit:822,18--25 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:822,26 text='.'
+Read token at ../src/syntax/typing.nit:822,27--34 text='sub_with'
+Read token at ../src/syntax/typing.nit:822,35 text='('
+Read token at ../src/syntax/typing.nit:822,36--39 text='self'
+Read token at ../src/syntax/typing.nit:822,40 text=','
+Read token at ../src/syntax/typing.nit:822,42--49 text='variable'
+Read token at ../src/syntax/typing.nit:822,50 text=','
+Read token at ../src/syntax/typing.nit:822,52--53 text='t2'
+Read token at ../src/syntax/typing.nit:822,54 text=')'
+Read token at ../src/syntax/typing.nit:822,55--823,0 text='
+'
+Read token at ../src/syntax/typing.nit:823,1--824,0 text='
+'
+Read token at ../src/syntax/typing.nit:824,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:824,13 text='='
+Read token at ../src/syntax/typing.nit:824,15--18 text='true'
+Read token at ../src/syntax/typing.nit:824,19--825,0 text='
+'
+Read token at ../src/syntax/typing.nit:825,2--4 text='end'
+Read token at ../src/syntax/typing.nit:825,5--826,0 text='
+'
+Read token at ../src/syntax/typing.nit:826,1--3 text='end'
+Read token at ../src/syntax/typing.nit:826,4--827,0 text='
+'
+Read token at ../src/syntax/typing.nit:827,1--828,0 text='
+'
+Read token at ../src/syntax/typing.nit:828,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:828,7--11 text='class'
+Read token at ../src/syntax/typing.nit:828,13--21 text='AAssignOp'
+Read token at ../src/syntax/typing.nit:828,22--829,0 text='
+'
+Read token at ../src/syntax/typing.nit:829,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:829,6--16 text='method_name'
+Read token at ../src/syntax/typing.nit:829,17 text=':'
+Read token at ../src/syntax/typing.nit:829,19--24 text='Symbol'
+Read token at ../src/syntax/typing.nit:829,26--27 text='is'
+Read token at ../src/syntax/typing.nit:829,29--36 text='abstract'
+Read token at ../src/syntax/typing.nit:829,37--830,0 text='
+'
+Read token at ../src/syntax/typing.nit:830,1--3 text='end'
+Read token at ../src/syntax/typing.nit:830,4--831,0 text='
+'
+Read token at ../src/syntax/typing.nit:831,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:831,7--11 text='class'
+Read token at ../src/syntax/typing.nit:831,13--25 text='APlusAssignOp'
+Read token at ../src/syntax/typing.nit:831,26--832,0 text='
+'
+Read token at ../src/syntax/typing.nit:832,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:832,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:832,12--22 text='method_name'
+Read token at ../src/syntax/typing.nit:832,24--25 text='do'
+Read token at ../src/syntax/typing.nit:832,27--32 text='return'
+Read token at ../src/syntax/typing.nit:832,34--37 text='once'
+Read token at ../src/syntax/typing.nit:832,39--41 text='"+"'
+Read token at ../src/syntax/typing.nit:832,42 text='.'
+Read token at ../src/syntax/typing.nit:832,43--51 text='to_symbol'
+Read token at ../src/syntax/typing.nit:832,52--833,0 text='
+'
+Read token at ../src/syntax/typing.nit:833,1--3 text='end'
+Read token at ../src/syntax/typing.nit:833,4--834,0 text='
+'
+Read token at ../src/syntax/typing.nit:834,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:834,7--11 text='class'
+Read token at ../src/syntax/typing.nit:834,13--26 text='AMinusAssignOp'
+Read token at ../src/syntax/typing.nit:834,27--835,0 text='
+'
+Read token at ../src/syntax/typing.nit:835,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:835,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:835,12--22 text='method_name'
+Read token at ../src/syntax/typing.nit:835,24--25 text='do'
+Read token at ../src/syntax/typing.nit:835,27--32 text='return'
+Read token at ../src/syntax/typing.nit:835,34--37 text='once'
+Read token at ../src/syntax/typing.nit:835,39--41 text='"-"'
+Read token at ../src/syntax/typing.nit:835,42 text='.'
+Read token at ../src/syntax/typing.nit:835,43--51 text='to_symbol'
+Read token at ../src/syntax/typing.nit:835,52--836,0 text='
+'
+Read token at ../src/syntax/typing.nit:836,1--3 text='end'
+Read token at ../src/syntax/typing.nit:836,4--837,0 text='
+'
+Read token at ../src/syntax/typing.nit:837,1--838,0 text='
+'
+Read token at ../src/syntax/typing.nit:838,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:838,7--11 text='class'
+Read token at ../src/syntax/typing.nit:838,13--21 text='ASelfExpr'
+Read token at ../src/syntax/typing.nit:838,22--839,0 text='
+'
+Read token at ../src/syntax/typing.nit:839,2--4 text='var'
+Read token at ../src/syntax/typing.nit:839,6--14 text='_variable'
+Read token at ../src/syntax/typing.nit:839,15 text=':'
+Read token at ../src/syntax/typing.nit:839,17--24 text='nullable'
+Read token at ../src/syntax/typing.nit:839,26--38 text='ParamVariable'
+Read token at ../src/syntax/typing.nit:839,39--840,0 text='
+'
+Read token at ../src/syntax/typing.nit:840,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:840,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:840,12--19 text='variable'
+Read token at ../src/syntax/typing.nit:840,21--22 text='do'
+Read token at ../src/syntax/typing.nit:840,24--29 text='return'
+Read token at ../src/syntax/typing.nit:840,31--39 text='_variable'
+Read token at ../src/syntax/typing.nit:840,40 text='.'
+Read token at ../src/syntax/typing.nit:840,41--42 text='as'
+Read token at ../src/syntax/typing.nit:840,43 text='('
+Read token at ../src/syntax/typing.nit:840,44--46 text='not'
+Read token at ../src/syntax/typing.nit:840,48--51 text='null'
+Read token at ../src/syntax/typing.nit:840,52 text=')'
+Read token at ../src/syntax/typing.nit:840,53--841,0 text='
+'
+Read token at ../src/syntax/typing.nit:841,1--842,0 text='
+'
+Read token at ../src/syntax/typing.nit:842,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:842,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:842,12--23 text='its_variable'
+Read token at ../src/syntax/typing.nit:842,25--26 text='do'
+Read token at ../src/syntax/typing.nit:842,28--33 text='return'
+Read token at ../src/syntax/typing.nit:842,35--42 text='variable'
+Read token at ../src/syntax/typing.nit:842,43--843,0 text='
+'
+Read token at ../src/syntax/typing.nit:843,1--844,0 text='
+'
+Read token at ../src/syntax/typing.nit:844,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:844,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:844,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:844,24 text='('
+Read token at ../src/syntax/typing.nit:844,25 text='v'
+Read token at ../src/syntax/typing.nit:844,26 text=')'
+Read token at ../src/syntax/typing.nit:844,27--845,0 text='
+'
+Read token at ../src/syntax/typing.nit:845,2--3 text='do'
+Read token at ../src/syntax/typing.nit:845,4--846,0 text='
+'
+Read token at ../src/syntax/typing.nit:846,3--11 text='_variable'
+Read token at ../src/syntax/typing.nit:846,13 text='='
+Read token at ../src/syntax/typing.nit:846,15 text='v'
+Read token at ../src/syntax/typing.nit:846,16 text='.'
+Read token at ../src/syntax/typing.nit:846,17--24 text='self_var'
+Read token at ../src/syntax/typing.nit:846,25--847,0 text='
+'
+Read token at ../src/syntax/typing.nit:847,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:847,10 text='='
+Read token at ../src/syntax/typing.nit:847,12 text='v'
+Read token at ../src/syntax/typing.nit:847,13 text='.'
+Read token at ../src/syntax/typing.nit:847,14--21 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:847,22 text='.'
+Read token at ../src/syntax/typing.nit:847,23--27 text='stype'
+Read token at ../src/syntax/typing.nit:847,28 text='('
+Read token at ../src/syntax/typing.nit:847,29--36 text='variable'
+Read token at ../src/syntax/typing.nit:847,37 text=')'
+Read token at ../src/syntax/typing.nit:847,38--848,0 text='
+'
+Read token at ../src/syntax/typing.nit:848,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:848,13 text='='
+Read token at ../src/syntax/typing.nit:848,15--18 text='true'
+Read token at ../src/syntax/typing.nit:848,19--849,0 text='
+'
+Read token at ../src/syntax/typing.nit:849,2--4 text='end'
+Read token at ../src/syntax/typing.nit:849,5--850,0 text='
+'
+Read token at ../src/syntax/typing.nit:850,1--851,0 text='
+'
+Read token at ../src/syntax/typing.nit:851,9--13 text='redef'
+Read token at ../src/syntax/typing.nit:851,15--17 text='fun'
+Read token at ../src/syntax/typing.nit:851,19--25 text='is_self'
+Read token at ../src/syntax/typing.nit:851,27--28 text='do'
+Read token at ../src/syntax/typing.nit:851,30--35 text='return'
+Read token at ../src/syntax/typing.nit:851,37--40 text='true'
+Read token at ../src/syntax/typing.nit:851,41--852,0 text='
+'
+Read token at ../src/syntax/typing.nit:852,1--3 text='end'
+Read token at ../src/syntax/typing.nit:852,4--853,0 text='
+'
+Read token at ../src/syntax/typing.nit:853,1--854,0 text='
+'
+Read token at ../src/syntax/typing.nit:854,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:854,7--11 text='class'
+Read token at ../src/syntax/typing.nit:854,13--29 text='AImplicitSelfExpr'
+Read token at ../src/syntax/typing.nit:854,30--855,0 text='
+'
+Read token at ../src/syntax/typing.nit:855,9--13 text='redef'
+Read token at ../src/syntax/typing.nit:855,15--17 text='fun'
+Read token at ../src/syntax/typing.nit:855,19--34 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:855,36--37 text='do'
+Read token at ../src/syntax/typing.nit:855,39--44 text='return'
+Read token at ../src/syntax/typing.nit:855,46--49 text='true'
+Read token at ../src/syntax/typing.nit:855,50--856,0 text='
+'
+Read token at ../src/syntax/typing.nit:856,1--3 text='end'
+Read token at ../src/syntax/typing.nit:856,4--857,0 text='
+'
+Read token at ../src/syntax/typing.nit:857,1--858,0 text='
+'
+Read token at ../src/syntax/typing.nit:858,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:858,7--11 text='class'
+Read token at ../src/syntax/typing.nit:858,13--23 text='AIfexprExpr'
+Read token at ../src/syntax/typing.nit:858,24--859,0 text='
+'
+Read token at ../src/syntax/typing.nit:859,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:859,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:859,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:859,25 text='('
+Read token at ../src/syntax/typing.nit:859,26 text='v'
+Read token at ../src/syntax/typing.nit:859,27 text=')'
+Read token at ../src/syntax/typing.nit:859,28--860,0 text='
+'
+Read token at ../src/syntax/typing.nit:860,2--3 text='do'
+Read token at ../src/syntax/typing.nit:860,4--861,0 text='
+'
+Read token at ../src/syntax/typing.nit:861,3--5 text='var'
+Read token at ../src/syntax/typing.nit:861,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:861,20 text='='
+Read token at ../src/syntax/typing.nit:861,22 text='v'
+Read token at ../src/syntax/typing.nit:861,23 text='.'
+Read token at ../src/syntax/typing.nit:861,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:861,32--862,0 text='
+'
+Read token at ../src/syntax/typing.nit:862,1--863,0 text='
+'
+Read token at ../src/syntax/typing.nit:863,3--864,0 text='# Process condition
+'
+Read token at ../src/syntax/typing.nit:864,3 text='v'
+Read token at ../src/syntax/typing.nit:864,4 text='.'
+Read token at ../src/syntax/typing.nit:864,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:864,16 text='('
+Read token at ../src/syntax/typing.nit:864,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:864,23 text=')'
+Read token at ../src/syntax/typing.nit:864,24--865,0 text='
+'
+Read token at ../src/syntax/typing.nit:865,3 text='v'
+Read token at ../src/syntax/typing.nit:865,4 text='.'
+Read token at ../src/syntax/typing.nit:865,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:865,23 text='('
+Read token at ../src/syntax/typing.nit:865,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:865,30 text=','
+Read token at ../src/syntax/typing.nit:865,32 text='v'
+Read token at ../src/syntax/typing.nit:865,33 text='.'
+Read token at ../src/syntax/typing.nit:865,34--42 text='type_bool'
+Read token at ../src/syntax/typing.nit:865,43 text=')'
+Read token at ../src/syntax/typing.nit:865,44--866,0 text='
+'
+Read token at ../src/syntax/typing.nit:866,1--867,0 text='
+'
+Read token at ../src/syntax/typing.nit:867,3--868,0 text='# Prepare 'then' context
+'
+Read token at ../src/syntax/typing.nit:868,3 text='v'
+Read token at ../src/syntax/typing.nit:868,4 text='.'
+Read token at ../src/syntax/typing.nit:868,5--24 text='use_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:868,25 text='('
+Read token at ../src/syntax/typing.nit:868,26--31 text='n_expr'
+Read token at ../src/syntax/typing.nit:868,32 text=')'
+Read token at ../src/syntax/typing.nit:868,33--869,0 text='
+'
+Read token at ../src/syntax/typing.nit:869,1--870,0 text='
+'
+Read token at ../src/syntax/typing.nit:870,3--871,0 text='# Process 'then'
+'
+Read token at ../src/syntax/typing.nit:871,3 text='v'
+Read token at ../src/syntax/typing.nit:871,4 text='.'
+Read token at ../src/syntax/typing.nit:871,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:871,22 text='('
+Read token at ../src/syntax/typing.nit:871,23--28 text='n_then'
+Read token at ../src/syntax/typing.nit:871,29 text=')'
+Read token at ../src/syntax/typing.nit:871,30--872,0 text='
+'
+Read token at ../src/syntax/typing.nit:872,1--873,0 text='
+'
+Read token at ../src/syntax/typing.nit:873,3--874,0 text='# Remember what appened in the 'then'
+'
+Read token at ../src/syntax/typing.nit:874,3--5 text='var'
+Read token at ../src/syntax/typing.nit:874,7--19 text='then_flow_ctx'
+Read token at ../src/syntax/typing.nit:874,21 text='='
+Read token at ../src/syntax/typing.nit:874,23 text='v'
+Read token at ../src/syntax/typing.nit:874,24 text='.'
+Read token at ../src/syntax/typing.nit:874,25--32 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:874,33--875,0 text='
+'
+Read token at ../src/syntax/typing.nit:875,1--876,0 text='
+'
+Read token at ../src/syntax/typing.nit:876,3--877,0 text='# Prepare 'else' context
+'
+Read token at ../src/syntax/typing.nit:877,3 text='v'
+Read token at ../src/syntax/typing.nit:877,4 text='.'
+Read token at ../src/syntax/typing.nit:877,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:877,14 text='='
+Read token at ../src/syntax/typing.nit:877,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:877,28--878,0 text='
+'
+Read token at ../src/syntax/typing.nit:878,3 text='v'
+Read token at ../src/syntax/typing.nit:878,4 text='.'
+Read token at ../src/syntax/typing.nit:878,5--25 text='use_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:878,26 text='('
+Read token at ../src/syntax/typing.nit:878,27--32 text='n_expr'
+Read token at ../src/syntax/typing.nit:878,33 text=')'
+Read token at ../src/syntax/typing.nit:878,34--879,0 text='
+'
+Read token at ../src/syntax/typing.nit:879,1--880,0 text='
+'
+Read token at ../src/syntax/typing.nit:880,3--881,0 text='# Process 'else'
+'
+Read token at ../src/syntax/typing.nit:881,3 text='v'
+Read token at ../src/syntax/typing.nit:881,4 text='.'
+Read token at ../src/syntax/typing.nit:881,5--21 text='enter_visit_block'
+Read token at ../src/syntax/typing.nit:881,22 text='('
+Read token at ../src/syntax/typing.nit:881,23--28 text='n_else'
+Read token at ../src/syntax/typing.nit:881,29 text=')'
+Read token at ../src/syntax/typing.nit:881,30--882,0 text='
+'
+Read token at ../src/syntax/typing.nit:882,1--883,0 text='
+'
+Read token at ../src/syntax/typing.nit:883,3--884,0 text='# Merge 'then' and 'else' contexts
+'
+Read token at ../src/syntax/typing.nit:884,3 text='v'
+Read token at ../src/syntax/typing.nit:884,4 text='.'
+Read token at ../src/syntax/typing.nit:884,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:884,14 text='='
+Read token at ../src/syntax/typing.nit:884,16 text='v'
+Read token at ../src/syntax/typing.nit:884,17 text='.'
+Read token at ../src/syntax/typing.nit:884,18--30 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:884,31 text='.'
+Read token at ../src/syntax/typing.nit:884,32--42 text='merge_reash'
+Read token at ../src/syntax/typing.nit:884,43 text='('
+Read token at ../src/syntax/typing.nit:884,44--47 text='self'
+Read token at ../src/syntax/typing.nit:884,48 text=','
+Read token at ../src/syntax/typing.nit:884,50--62 text='then_flow_ctx'
+Read token at ../src/syntax/typing.nit:884,63 text=','
+Read token at ../src/syntax/typing.nit:884,65 text='v'
+Read token at ../src/syntax/typing.nit:884,66 text='.'
+Read token at ../src/syntax/typing.nit:884,67--74 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:884,75 text=')'
+Read token at ../src/syntax/typing.nit:884,76--885,0 text='
+'
+Read token at ../src/syntax/typing.nit:885,1--886,0 text='
+'
+Read token at ../src/syntax/typing.nit:886,3--5 text='var'
+Read token at ../src/syntax/typing.nit:886,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:886,13 text='='
+Read token at ../src/syntax/typing.nit:886,15 text='v'
+Read token at ../src/syntax/typing.nit:886,16 text='.'
+Read token at ../src/syntax/typing.nit:886,17--39 text='check_conform_multiexpr'
+Read token at ../src/syntax/typing.nit:886,40 text='('
+Read token at ../src/syntax/typing.nit:886,41--44 text='null'
+Read token at ../src/syntax/typing.nit:886,45 text=','
+Read token at ../src/syntax/typing.nit:886,47 text='['
+Read token at ../src/syntax/typing.nit:886,48--53 text='n_then'
+Read token at ../src/syntax/typing.nit:886,54 text=','
+Read token at ../src/syntax/typing.nit:886,56--61 text='n_else'
+Read token at ../src/syntax/typing.nit:886,62 text=']'
+Read token at ../src/syntax/typing.nit:886,63 text=')'
+Read token at ../src/syntax/typing.nit:886,64--887,0 text='
+'
+Read token at ../src/syntax/typing.nit:887,3--4 text='if'
+Read token at ../src/syntax/typing.nit:887,6--10 text='stype'
+Read token at ../src/syntax/typing.nit:887,12--13 text='=='
+Read token at ../src/syntax/typing.nit:887,15--18 text='null'
+Read token at ../src/syntax/typing.nit:887,20--23 text='then'
+Read token at ../src/syntax/typing.nit:887,25--30 text='return'
+Read token at ../src/syntax/typing.nit:887,31--888,0 text='
+'
+Read token at ../src/syntax/typing.nit:888,1--889,0 text='
+'
+Read token at ../src/syntax/typing.nit:889,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:889,10 text='='
+Read token at ../src/syntax/typing.nit:889,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:889,17--890,0 text='
+'
+Read token at ../src/syntax/typing.nit:890,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:890,13 text='='
+Read token at ../src/syntax/typing.nit:890,15--18 text='true'
+Read token at ../src/syntax/typing.nit:890,19--891,0 text='
+'
+Read token at ../src/syntax/typing.nit:891,2--4 text='end'
+Read token at ../src/syntax/typing.nit:891,5--892,0 text='
+'
+Read token at ../src/syntax/typing.nit:892,1--3 text='end'
+Read token at ../src/syntax/typing.nit:892,4--893,0 text='
+'
+Read token at ../src/syntax/typing.nit:893,1--894,0 text='
+'
+Read token at ../src/syntax/typing.nit:894,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:894,7--11 text='class'
+Read token at ../src/syntax/typing.nit:894,13--21 text='ABoolExpr'
+Read token at ../src/syntax/typing.nit:894,22--895,0 text='
+'
+Read token at ../src/syntax/typing.nit:895,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:895,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:895,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:895,24 text='('
+Read token at ../src/syntax/typing.nit:895,25 text='v'
+Read token at ../src/syntax/typing.nit:895,26 text=')'
+Read token at ../src/syntax/typing.nit:895,27--896,0 text='
+'
+Read token at ../src/syntax/typing.nit:896,2--3 text='do'
+Read token at ../src/syntax/typing.nit:896,4--897,0 text='
+'
+Read token at ../src/syntax/typing.nit:897,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:897,10 text='='
+Read token at ../src/syntax/typing.nit:897,12 text='v'
+Read token at ../src/syntax/typing.nit:897,13 text='.'
+Read token at ../src/syntax/typing.nit:897,14--22 text='type_bool'
+Read token at ../src/syntax/typing.nit:897,23--898,0 text='
+'
+Read token at ../src/syntax/typing.nit:898,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:898,13 text='='
+Read token at ../src/syntax/typing.nit:898,15--18 text='true'
+Read token at ../src/syntax/typing.nit:898,19--899,0 text='
+'
+Read token at ../src/syntax/typing.nit:899,2--4 text='end'
+Read token at ../src/syntax/typing.nit:899,5--900,0 text='
+'
+Read token at ../src/syntax/typing.nit:900,1--3 text='end'
+Read token at ../src/syntax/typing.nit:900,4--901,0 text='
+'
+Read token at ../src/syntax/typing.nit:901,1--902,0 text='
+'
+Read token at ../src/syntax/typing.nit:902,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:902,7--11 text='class'
+Read token at ../src/syntax/typing.nit:902,13--19 text='AOrExpr'
+Read token at ../src/syntax/typing.nit:902,20--903,0 text='
+'
+Read token at ../src/syntax/typing.nit:903,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:903,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:903,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:903,25 text='('
+Read token at ../src/syntax/typing.nit:903,26 text='v'
+Read token at ../src/syntax/typing.nit:903,27 text=')'
+Read token at ../src/syntax/typing.nit:903,28--904,0 text='
+'
+Read token at ../src/syntax/typing.nit:904,2--3 text='do'
+Read token at ../src/syntax/typing.nit:904,4--905,0 text='
+'
+Read token at ../src/syntax/typing.nit:905,3--5 text='var'
+Read token at ../src/syntax/typing.nit:905,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:905,20 text='='
+Read token at ../src/syntax/typing.nit:905,22 text='v'
+Read token at ../src/syntax/typing.nit:905,23 text='.'
+Read token at ../src/syntax/typing.nit:905,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:905,32--906,0 text='
+'
+Read token at ../src/syntax/typing.nit:906,3--5 text='var'
+Read token at ../src/syntax/typing.nit:906,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:906,13 text='='
+Read token at ../src/syntax/typing.nit:906,15 text='v'
+Read token at ../src/syntax/typing.nit:906,16 text='.'
+Read token at ../src/syntax/typing.nit:906,17--25 text='type_bool'
+Read token at ../src/syntax/typing.nit:906,26--907,0 text='
+'
+Read token at ../src/syntax/typing.nit:907,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:907,10 text='='
+Read token at ../src/syntax/typing.nit:907,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:907,17--908,0 text='
+'
+Read token at ../src/syntax/typing.nit:908,1--909,0 text='
+'
+Read token at ../src/syntax/typing.nit:909,3--910,0 text='# Process left operand
+'
+Read token at ../src/syntax/typing.nit:910,3 text='v'
+Read token at ../src/syntax/typing.nit:910,4 text='.'
+Read token at ../src/syntax/typing.nit:910,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:910,16 text='('
+Read token at ../src/syntax/typing.nit:910,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:910,23 text=')'
+Read token at ../src/syntax/typing.nit:910,24--911,0 text='
+'
+Read token at ../src/syntax/typing.nit:911,1--912,0 text='
+'
+Read token at ../src/syntax/typing.nit:912,3--913,0 text='# Prepare right operand context
+'
+Read token at ../src/syntax/typing.nit:913,3 text='v'
+Read token at ../src/syntax/typing.nit:913,4 text='.'
+Read token at ../src/syntax/typing.nit:913,5--25 text='use_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:913,26 text='('
+Read token at ../src/syntax/typing.nit:913,27--32 text='n_expr'
+Read token at ../src/syntax/typing.nit:913,33 text=')'
+Read token at ../src/syntax/typing.nit:913,34--914,0 text='
+'
+Read token at ../src/syntax/typing.nit:914,1--915,0 text='
+'
+Read token at ../src/syntax/typing.nit:915,3--916,0 text='# Process right operand
+'
+Read token at ../src/syntax/typing.nit:916,3 text='v'
+Read token at ../src/syntax/typing.nit:916,4 text='.'
+Read token at ../src/syntax/typing.nit:916,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:916,16 text='('
+Read token at ../src/syntax/typing.nit:916,17--23 text='n_expr2'
+Read token at ../src/syntax/typing.nit:916,24 text=')'
+Read token at ../src/syntax/typing.nit:916,25--917,0 text='
+'
+Read token at ../src/syntax/typing.nit:917,3--4 text='if'
+Read token at ../src/syntax/typing.nit:917,6--12 text='n_expr2'
+Read token at ../src/syntax/typing.nit:917,13 text='.'
+Read token at ../src/syntax/typing.nit:917,14--30 text='if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:917,32--33 text='!='
+Read token at ../src/syntax/typing.nit:917,35--38 text='null'
+Read token at ../src/syntax/typing.nit:917,40--43 text='then'
+Read token at ../src/syntax/typing.nit:917,44--918,0 text='
+'
+Read token at ../src/syntax/typing.nit:918,4--21 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:918,23 text='='
+Read token at ../src/syntax/typing.nit:918,25--31 text='n_expr2'
+Read token at ../src/syntax/typing.nit:918,32 text='.'
+Read token at ../src/syntax/typing.nit:918,33--49 text='if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:918,50--919,0 text='
+'
+Read token at ../src/syntax/typing.nit:919,3--6 text='else'
+Read token at ../src/syntax/typing.nit:919,7--920,0 text='
+'
+Read token at ../src/syntax/typing.nit:920,4--21 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:920,23 text='='
+Read token at ../src/syntax/typing.nit:920,25 text='v'
+Read token at ../src/syntax/typing.nit:920,26 text='.'
+Read token at ../src/syntax/typing.nit:920,27--34 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:920,35--921,0 text='
+'
+Read token at ../src/syntax/typing.nit:921,3--5 text='end'
+Read token at ../src/syntax/typing.nit:921,6--922,0 text='
+'
+Read token at ../src/syntax/typing.nit:922,1--923,0 text='
+'
+Read token at ../src/syntax/typing.nit:923,3 text='v'
+Read token at ../src/syntax/typing.nit:923,4 text='.'
+Read token at ../src/syntax/typing.nit:923,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:923,14 text='='
+Read token at ../src/syntax/typing.nit:923,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:923,28--924,0 text='
+'
+Read token at ../src/syntax/typing.nit:924,1--925,0 text='
+'
+Read token at ../src/syntax/typing.nit:925,3 text='v'
+Read token at ../src/syntax/typing.nit:925,4 text='.'
+Read token at ../src/syntax/typing.nit:925,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:925,23 text='('
+Read token at ../src/syntax/typing.nit:925,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:925,30 text=','
+Read token at ../src/syntax/typing.nit:925,32--36 text='stype'
+Read token at ../src/syntax/typing.nit:925,37 text=')'
+Read token at ../src/syntax/typing.nit:925,38--926,0 text='
+'
+Read token at ../src/syntax/typing.nit:926,3 text='v'
+Read token at ../src/syntax/typing.nit:926,4 text='.'
+Read token at ../src/syntax/typing.nit:926,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:926,23 text='('
+Read token at ../src/syntax/typing.nit:926,24--30 text='n_expr2'
+Read token at ../src/syntax/typing.nit:926,31 text=','
+Read token at ../src/syntax/typing.nit:926,33--37 text='stype'
+Read token at ../src/syntax/typing.nit:926,38 text=')'
+Read token at ../src/syntax/typing.nit:926,39--927,0 text='
+'
+Read token at ../src/syntax/typing.nit:927,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:927,10 text='='
+Read token at ../src/syntax/typing.nit:927,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:927,17--928,0 text='
+'
+Read token at ../src/syntax/typing.nit:928,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:928,13 text='='
+Read token at ../src/syntax/typing.nit:928,15--18 text='true'
+Read token at ../src/syntax/typing.nit:928,19--929,0 text='
+'
+Read token at ../src/syntax/typing.nit:929,2--4 text='end'
+Read token at ../src/syntax/typing.nit:929,5--930,0 text='
+'
+Read token at ../src/syntax/typing.nit:930,1--3 text='end'
+Read token at ../src/syntax/typing.nit:930,4--931,0 text='
+'
+Read token at ../src/syntax/typing.nit:931,1--932,0 text='
+'
+Read token at ../src/syntax/typing.nit:932,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:932,7--11 text='class'
+Read token at ../src/syntax/typing.nit:932,13--20 text='AAndExpr'
+Read token at ../src/syntax/typing.nit:932,21--933,0 text='
+'
+Read token at ../src/syntax/typing.nit:933,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:933,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:933,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:933,25 text='('
+Read token at ../src/syntax/typing.nit:933,26 text='v'
+Read token at ../src/syntax/typing.nit:933,27 text=')'
+Read token at ../src/syntax/typing.nit:933,28--934,0 text='
+'
+Read token at ../src/syntax/typing.nit:934,2--3 text='do'
+Read token at ../src/syntax/typing.nit:934,4--935,0 text='
+'
+Read token at ../src/syntax/typing.nit:935,3--5 text='var'
+Read token at ../src/syntax/typing.nit:935,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:935,20 text='='
+Read token at ../src/syntax/typing.nit:935,22 text='v'
+Read token at ../src/syntax/typing.nit:935,23 text='.'
+Read token at ../src/syntax/typing.nit:935,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:935,32--936,0 text='
+'
+Read token at ../src/syntax/typing.nit:936,3--5 text='var'
+Read token at ../src/syntax/typing.nit:936,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:936,13 text='='
+Read token at ../src/syntax/typing.nit:936,15 text='v'
+Read token at ../src/syntax/typing.nit:936,16 text='.'
+Read token at ../src/syntax/typing.nit:936,17--25 text='type_bool'
+Read token at ../src/syntax/typing.nit:936,26--937,0 text='
+'
+Read token at ../src/syntax/typing.nit:937,1--938,0 text='
+'
+Read token at ../src/syntax/typing.nit:938,3--939,0 text='# Process left operand
+'
+Read token at ../src/syntax/typing.nit:939,3 text='v'
+Read token at ../src/syntax/typing.nit:939,4 text='.'
+Read token at ../src/syntax/typing.nit:939,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:939,16 text='('
+Read token at ../src/syntax/typing.nit:939,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:939,23 text=')'
+Read token at ../src/syntax/typing.nit:939,24--940,0 text='
+'
+Read token at ../src/syntax/typing.nit:940,1--941,0 text='
+'
+Read token at ../src/syntax/typing.nit:941,3--942,0 text='# Prepare right operand context
+'
+Read token at ../src/syntax/typing.nit:942,3 text='v'
+Read token at ../src/syntax/typing.nit:942,4 text='.'
+Read token at ../src/syntax/typing.nit:942,5--24 text='use_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:942,25 text='('
+Read token at ../src/syntax/typing.nit:942,26--31 text='n_expr'
+Read token at ../src/syntax/typing.nit:942,32 text=')'
+Read token at ../src/syntax/typing.nit:942,33--943,0 text='
+'
+Read token at ../src/syntax/typing.nit:943,1--944,0 text='
+'
+Read token at ../src/syntax/typing.nit:944,3--945,0 text='# Process right operand
+'
+Read token at ../src/syntax/typing.nit:945,3 text='v'
+Read token at ../src/syntax/typing.nit:945,4 text='.'
+Read token at ../src/syntax/typing.nit:945,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:945,16 text='('
+Read token at ../src/syntax/typing.nit:945,17--23 text='n_expr2'
+Read token at ../src/syntax/typing.nit:945,24 text=')'
+Read token at ../src/syntax/typing.nit:945,25--946,0 text='
+'
+Read token at ../src/syntax/typing.nit:946,3--4 text='if'
+Read token at ../src/syntax/typing.nit:946,6--12 text='n_expr2'
+Read token at ../src/syntax/typing.nit:946,13 text='.'
+Read token at ../src/syntax/typing.nit:946,14--29 text='if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:946,31--32 text='!='
+Read token at ../src/syntax/typing.nit:946,34--37 text='null'
+Read token at ../src/syntax/typing.nit:946,39--42 text='then'
+Read token at ../src/syntax/typing.nit:946,43--947,0 text='
+'
+Read token at ../src/syntax/typing.nit:947,4--20 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:947,22 text='='
+Read token at ../src/syntax/typing.nit:947,24--30 text='n_expr2'
+Read token at ../src/syntax/typing.nit:947,31 text='.'
+Read token at ../src/syntax/typing.nit:947,32--47 text='if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:947,48--948,0 text='
+'
+Read token at ../src/syntax/typing.nit:948,3--6 text='else'
+Read token at ../src/syntax/typing.nit:948,7--949,0 text='
+'
+Read token at ../src/syntax/typing.nit:949,4--20 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:949,22 text='='
+Read token at ../src/syntax/typing.nit:949,24 text='v'
+Read token at ../src/syntax/typing.nit:949,25 text='.'
+Read token at ../src/syntax/typing.nit:949,26--33 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:949,34--950,0 text='
+'
+Read token at ../src/syntax/typing.nit:950,3--5 text='end'
+Read token at ../src/syntax/typing.nit:950,6--951,0 text='
+'
+Read token at ../src/syntax/typing.nit:951,1--952,0 text='
+'
+Read token at ../src/syntax/typing.nit:952,3 text='v'
+Read token at ../src/syntax/typing.nit:952,4 text='.'
+Read token at ../src/syntax/typing.nit:952,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:952,14 text='='
+Read token at ../src/syntax/typing.nit:952,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:952,28--953,0 text='
+'
+Read token at ../src/syntax/typing.nit:953,1--954,0 text='
+'
+Read token at ../src/syntax/typing.nit:954,3 text='v'
+Read token at ../src/syntax/typing.nit:954,4 text='.'
+Read token at ../src/syntax/typing.nit:954,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:954,23 text='('
+Read token at ../src/syntax/typing.nit:954,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:954,30 text=','
+Read token at ../src/syntax/typing.nit:954,32--36 text='stype'
+Read token at ../src/syntax/typing.nit:954,37 text=')'
+Read token at ../src/syntax/typing.nit:954,38--955,0 text='
+'
+Read token at ../src/syntax/typing.nit:955,3 text='v'
+Read token at ../src/syntax/typing.nit:955,4 text='.'
+Read token at ../src/syntax/typing.nit:955,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:955,23 text='('
+Read token at ../src/syntax/typing.nit:955,24--30 text='n_expr2'
+Read token at ../src/syntax/typing.nit:955,31 text=','
+Read token at ../src/syntax/typing.nit:955,33--37 text='stype'
+Read token at ../src/syntax/typing.nit:955,38 text=')'
+Read token at ../src/syntax/typing.nit:955,39--956,0 text='
+'
+Read token at ../src/syntax/typing.nit:956,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:956,10 text='='
+Read token at ../src/syntax/typing.nit:956,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:956,17--957,0 text='
+'
+Read token at ../src/syntax/typing.nit:957,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:957,13 text='='
+Read token at ../src/syntax/typing.nit:957,15--18 text='true'
+Read token at ../src/syntax/typing.nit:957,19--958,0 text='
+'
+Read token at ../src/syntax/typing.nit:958,2--4 text='end'
+Read token at ../src/syntax/typing.nit:958,5--959,0 text='
+'
+Read token at ../src/syntax/typing.nit:959,1--3 text='end'
+Read token at ../src/syntax/typing.nit:959,4--960,0 text='
+'
+Read token at ../src/syntax/typing.nit:960,1--961,0 text='
+'
+Read token at ../src/syntax/typing.nit:961,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:961,7--11 text='class'
+Read token at ../src/syntax/typing.nit:961,13--20 text='ANotExpr'
+Read token at ../src/syntax/typing.nit:961,21--962,0 text='
+'
+Read token at ../src/syntax/typing.nit:962,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:962,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:962,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:962,24 text='('
+Read token at ../src/syntax/typing.nit:962,25 text='v'
+Read token at ../src/syntax/typing.nit:962,26 text=')'
+Read token at ../src/syntax/typing.nit:962,27--963,0 text='
+'
+Read token at ../src/syntax/typing.nit:963,2--3 text='do'
+Read token at ../src/syntax/typing.nit:963,4--964,0 text='
+'
+Read token at ../src/syntax/typing.nit:964,3 text='v'
+Read token at ../src/syntax/typing.nit:964,4 text='.'
+Read token at ../src/syntax/typing.nit:964,5--22 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:964,23 text='('
+Read token at ../src/syntax/typing.nit:964,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:964,30 text=','
+Read token at ../src/syntax/typing.nit:964,32 text='v'
+Read token at ../src/syntax/typing.nit:964,33 text='.'
+Read token at ../src/syntax/typing.nit:964,34--42 text='type_bool'
+Read token at ../src/syntax/typing.nit:964,43 text=')'
+Read token at ../src/syntax/typing.nit:964,44--965,0 text='
+'
+Read token at ../src/syntax/typing.nit:965,1--966,0 text='
+'
+Read token at ../src/syntax/typing.nit:966,3--967,0 text='# Invert if_true/if_false information
+'
+Read token at ../src/syntax/typing.nit:967,3--20 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:967,22 text='='
+Read token at ../src/syntax/typing.nit:967,24--29 text='n_expr'
+Read token at ../src/syntax/typing.nit:967,30 text='.'
+Read token at ../src/syntax/typing.nit:967,31--47 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:967,48--968,0 text='
+'
+Read token at ../src/syntax/typing.nit:968,3--19 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:968,21 text='='
+Read token at ../src/syntax/typing.nit:968,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:968,29 text='.'
+Read token at ../src/syntax/typing.nit:968,30--47 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:968,48--969,0 text='
+'
+Read token at ../src/syntax/typing.nit:969,1--970,0 text='
+'
+Read token at ../src/syntax/typing.nit:970,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:970,10 text='='
+Read token at ../src/syntax/typing.nit:970,12 text='v'
+Read token at ../src/syntax/typing.nit:970,13 text='.'
+Read token at ../src/syntax/typing.nit:970,14--22 text='type_bool'
+Read token at ../src/syntax/typing.nit:970,23--971,0 text='
+'
+Read token at ../src/syntax/typing.nit:971,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:971,13 text='='
+Read token at ../src/syntax/typing.nit:971,15--18 text='true'
+Read token at ../src/syntax/typing.nit:971,19--972,0 text='
+'
+Read token at ../src/syntax/typing.nit:972,2--4 text='end'
+Read token at ../src/syntax/typing.nit:972,5--973,0 text='
+'
+Read token at ../src/syntax/typing.nit:973,1--3 text='end'
+Read token at ../src/syntax/typing.nit:973,4--974,0 text='
+'
+Read token at ../src/syntax/typing.nit:974,1--975,0 text='
+'
+Read token at ../src/syntax/typing.nit:975,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:975,7--11 text='class'
+Read token at ../src/syntax/typing.nit:975,13--23 text='AOrElseExpr'
+Read token at ../src/syntax/typing.nit:975,24--976,0 text='
+'
+Read token at ../src/syntax/typing.nit:976,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:976,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:976,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:976,24 text='('
+Read token at ../src/syntax/typing.nit:976,25 text='v'
+Read token at ../src/syntax/typing.nit:976,26 text=')'
+Read token at ../src/syntax/typing.nit:976,27--977,0 text='
+'
+Read token at ../src/syntax/typing.nit:977,2--3 text='do'
+Read token at ../src/syntax/typing.nit:977,4--978,0 text='
+'
+Read token at ../src/syntax/typing.nit:978,3--5 text='var'
+Read token at ../src/syntax/typing.nit:978,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:978,20 text='='
+Read token at ../src/syntax/typing.nit:978,22 text='v'
+Read token at ../src/syntax/typing.nit:978,23 text='.'
+Read token at ../src/syntax/typing.nit:978,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:978,32--979,0 text='
+'
+Read token at ../src/syntax/typing.nit:979,1--980,0 text='
+'
+Read token at ../src/syntax/typing.nit:980,3--981,0 text='# Process left operand
+'
+Read token at ../src/syntax/typing.nit:981,3 text='v'
+Read token at ../src/syntax/typing.nit:981,4 text='.'
+Read token at ../src/syntax/typing.nit:981,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:981,16 text='('
+Read token at ../src/syntax/typing.nit:981,17--22 text='n_expr'
+Read token at ../src/syntax/typing.nit:981,23 text=')'
+Read token at ../src/syntax/typing.nit:981,24--982,0 text='
+'
+Read token at ../src/syntax/typing.nit:982,3 text='v'
+Read token at ../src/syntax/typing.nit:982,4 text='.'
+Read token at ../src/syntax/typing.nit:982,5--14 text='check_expr'
+Read token at ../src/syntax/typing.nit:982,15 text='('
+Read token at ../src/syntax/typing.nit:982,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:982,22 text=')'
+Read token at ../src/syntax/typing.nit:982,23--983,0 text='
+'
+Read token at ../src/syntax/typing.nit:983,1--984,0 text='
+'
+Read token at ../src/syntax/typing.nit:984,3--985,0 text='# Consider the type of the left operand
+'
+Read token at ../src/syntax/typing.nit:985,3--5 text='var'
+Read token at ../src/syntax/typing.nit:985,7 text='t'
+Read token at ../src/syntax/typing.nit:985,9 text='='
+Read token at ../src/syntax/typing.nit:985,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:985,17 text='.'
+Read token at ../src/syntax/typing.nit:985,18--22 text='stype'
+Read token at ../src/syntax/typing.nit:985,23--986,0 text='
+'
+Read token at ../src/syntax/typing.nit:986,3--4 text='if'
+Read token at ../src/syntax/typing.nit:986,6--8 text='not'
+Read token at ../src/syntax/typing.nit:986,10 text='t'
+Read token at ../src/syntax/typing.nit:986,11 text='.'
+Read token at ../src/syntax/typing.nit:986,12--22 text='is_nullable'
+Read token at ../src/syntax/typing.nit:986,24--27 text='then'
+Read token at ../src/syntax/typing.nit:986,28--987,0 text='
+'
+Read token at ../src/syntax/typing.nit:987,4 text='v'
+Read token at ../src/syntax/typing.nit:987,5 text='.'
+Read token at ../src/syntax/typing.nit:987,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:987,13 text='('
+Read token at ../src/syntax/typing.nit:987,14--19 text='n_expr'
+Read token at ../src/syntax/typing.nit:987,20 text=','
+Read token at ../src/syntax/typing.nit:987,22--83 text='"Warning: left operant of a 'or else' is not a nullable type."'
+Read token at ../src/syntax/typing.nit:987,84 text=')'
+Read token at ../src/syntax/typing.nit:987,85--988,0 text='
+'
+Read token at ../src/syntax/typing.nit:988,3--6 text='else'
+Read token at ../src/syntax/typing.nit:988,7--989,0 text='
+'
+Read token at ../src/syntax/typing.nit:989,4 text='t'
+Read token at ../src/syntax/typing.nit:989,6 text='='
+Read token at ../src/syntax/typing.nit:989,8 text='t'
+Read token at ../src/syntax/typing.nit:989,9 text='.'
+Read token at ../src/syntax/typing.nit:989,10--19 text='as_notnull'
+Read token at ../src/syntax/typing.nit:989,20--990,0 text='
+'
+Read token at ../src/syntax/typing.nit:990,3--5 text='end'
+Read token at ../src/syntax/typing.nit:990,6--991,0 text='
+'
+Read token at ../src/syntax/typing.nit:991,1--992,0 text='
+'
+Read token at ../src/syntax/typing.nit:992,3--993,0 text='# Prepare the else context : ie the first expression is null
+'
+Read token at ../src/syntax/typing.nit:993,3--5 text='var'
+Read token at ../src/syntax/typing.nit:993,7--14 text='variable'
+Read token at ../src/syntax/typing.nit:993,16 text='='
+Read token at ../src/syntax/typing.nit:993,18--23 text='n_expr'
+Read token at ../src/syntax/typing.nit:993,24 text='.'
+Read token at ../src/syntax/typing.nit:993,25--36 text='its_variable'
+Read token at ../src/syntax/typing.nit:993,37--994,0 text='
+'
+Read token at ../src/syntax/typing.nit:994,3--4 text='if'
+Read token at ../src/syntax/typing.nit:994,6--13 text='variable'
+Read token at ../src/syntax/typing.nit:994,15--16 text='!='
+Read token at ../src/syntax/typing.nit:994,18--21 text='null'
+Read token at ../src/syntax/typing.nit:994,23--26 text='then'
+Read token at ../src/syntax/typing.nit:994,27--995,0 text='
+'
+Read token at ../src/syntax/typing.nit:995,4 text='v'
+Read token at ../src/syntax/typing.nit:995,5 text='.'
+Read token at ../src/syntax/typing.nit:995,6--13 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:995,14 text='.'
+Read token at ../src/syntax/typing.nit:995,15--22 text='sub_with'
+Read token at ../src/syntax/typing.nit:995,23 text='('
+Read token at ../src/syntax/typing.nit:995,24--27 text='self'
+Read token at ../src/syntax/typing.nit:995,28 text=','
+Read token at ../src/syntax/typing.nit:995,30--37 text='variable'
+Read token at ../src/syntax/typing.nit:995,38 text=','
+Read token at ../src/syntax/typing.nit:995,40 text='v'
+Read token at ../src/syntax/typing.nit:995,41 text='.'
+Read token at ../src/syntax/typing.nit:995,42--50 text='type_none'
+Read token at ../src/syntax/typing.nit:995,51 text=')'
+Read token at ../src/syntax/typing.nit:995,52--996,0 text='
+'
+Read token at ../src/syntax/typing.nit:996,3--5 text='end'
+Read token at ../src/syntax/typing.nit:996,6--997,0 text='
+'
+Read token at ../src/syntax/typing.nit:997,1--998,0 text='
+'
+Read token at ../src/syntax/typing.nit:998,3--999,0 text='# Process right operand
+'
+Read token at ../src/syntax/typing.nit:999,3 text='v'
+Read token at ../src/syntax/typing.nit:999,4 text='.'
+Read token at ../src/syntax/typing.nit:999,5--15 text='enter_visit'
+Read token at ../src/syntax/typing.nit:999,16 text='('
+Read token at ../src/syntax/typing.nit:999,17--23 text='n_expr2'
+Read token at ../src/syntax/typing.nit:999,24 text=')'
+Read token at ../src/syntax/typing.nit:999,25--1000,0 text='
+'
+Read token at ../src/syntax/typing.nit:1000,3 text='v'
+Read token at ../src/syntax/typing.nit:1000,4 text='.'
+Read token at ../src/syntax/typing.nit:1000,5--14 text='check_expr'
+Read token at ../src/syntax/typing.nit:1000,15 text='('
+Read token at ../src/syntax/typing.nit:1000,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1000,22 text=')'
+Read token at ../src/syntax/typing.nit:1000,23--1001,0 text='
+'
+Read token at ../src/syntax/typing.nit:1001,1--1002,0 text='
+'
+Read token at ../src/syntax/typing.nit:1002,3--1003,0 text='# Restore the context
+'
+Read token at ../src/syntax/typing.nit:1003,3 text='v'
+Read token at ../src/syntax/typing.nit:1003,4 text='.'
+Read token at ../src/syntax/typing.nit:1003,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1003,14 text='='
+Read token at ../src/syntax/typing.nit:1003,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:1003,28--1004,0 text='
+'
+Read token at ../src/syntax/typing.nit:1004,1--1005,0 text='
+'
+Read token at ../src/syntax/typing.nit:1005,3--1006,0 text='# Merge the types
+'
+Read token at ../src/syntax/typing.nit:1006,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1006,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:1006,13 text='='
+Read token at ../src/syntax/typing.nit:1006,15 text='v'
+Read token at ../src/syntax/typing.nit:1006,16 text='.'
+Read token at ../src/syntax/typing.nit:1006,17--39 text='check_conform_multiexpr'
+Read token at ../src/syntax/typing.nit:1006,40 text='('
+Read token at ../src/syntax/typing.nit:1006,41 text='t'
+Read token at ../src/syntax/typing.nit:1006,42 text=','
+Read token at ../src/syntax/typing.nit:1006,44 text='['
+Read token at ../src/syntax/typing.nit:1006,45--51 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1006,52 text=']'
+Read token at ../src/syntax/typing.nit:1006,53 text=')'
+Read token at ../src/syntax/typing.nit:1006,54--1007,0 text='
+'
+Read token at ../src/syntax/typing.nit:1007,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1007,6--10 text='stype'
+Read token at ../src/syntax/typing.nit:1007,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1007,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1007,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1007,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1007,31--1008,0 text='
+'
+Read token at ../src/syntax/typing.nit:1008,1--1009,0 text='
+'
+Read token at ../src/syntax/typing.nit:1009,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1009,10 text='='
+Read token at ../src/syntax/typing.nit:1009,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:1009,17--1010,0 text='
+'
+Read token at ../src/syntax/typing.nit:1010,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1010,13 text='='
+Read token at ../src/syntax/typing.nit:1010,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1010,19--1011,0 text='
+'
+Read token at ../src/syntax/typing.nit:1011,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1011,5--1012,0 text='
+'
+Read token at ../src/syntax/typing.nit:1012,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1012,4--1013,0 text='
+'
+Read token at ../src/syntax/typing.nit:1013,1--1014,0 text='
+'
+Read token at ../src/syntax/typing.nit:1014,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1014,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1014,13--20 text='AIntExpr'
+Read token at ../src/syntax/typing.nit:1014,21--1015,0 text='
+'
+Read token at ../src/syntax/typing.nit:1015,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1015,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1015,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1015,24 text='('
+Read token at ../src/syntax/typing.nit:1015,25 text='v'
+Read token at ../src/syntax/typing.nit:1015,26 text=')'
+Read token at ../src/syntax/typing.nit:1015,27--1016,0 text='
+'
+Read token at ../src/syntax/typing.nit:1016,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1016,4--1017,0 text='
+'
+Read token at ../src/syntax/typing.nit:1017,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1017,10 text='='
+Read token at ../src/syntax/typing.nit:1017,12 text='v'
+Read token at ../src/syntax/typing.nit:1017,13 text='.'
+Read token at ../src/syntax/typing.nit:1017,14--21 text='type_int'
+Read token at ../src/syntax/typing.nit:1017,22--1018,0 text='
+'
+Read token at ../src/syntax/typing.nit:1018,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1018,13 text='='
+Read token at ../src/syntax/typing.nit:1018,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1018,19--1019,0 text='
+'
+Read token at ../src/syntax/typing.nit:1019,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1019,5--1020,0 text='
+'
+Read token at ../src/syntax/typing.nit:1020,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1020,4--1021,0 text='
+'
+Read token at ../src/syntax/typing.nit:1021,1--1022,0 text='
+'
+Read token at ../src/syntax/typing.nit:1022,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1022,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1022,13--22 text='AFloatExpr'
+Read token at ../src/syntax/typing.nit:1022,23--1023,0 text='
+'
+Read token at ../src/syntax/typing.nit:1023,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1023,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1023,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1023,24 text='('
+Read token at ../src/syntax/typing.nit:1023,25 text='v'
+Read token at ../src/syntax/typing.nit:1023,26 text=')'
+Read token at ../src/syntax/typing.nit:1023,27--1024,0 text='
+'
+Read token at ../src/syntax/typing.nit:1024,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1024,4--1025,0 text='
+'
+Read token at ../src/syntax/typing.nit:1025,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1025,10 text='='
+Read token at ../src/syntax/typing.nit:1025,12 text='v'
+Read token at ../src/syntax/typing.nit:1025,13 text='.'
+Read token at ../src/syntax/typing.nit:1025,14--23 text='type_float'
+Read token at ../src/syntax/typing.nit:1025,24--1026,0 text='
+'
+Read token at ../src/syntax/typing.nit:1026,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1026,13 text='='
+Read token at ../src/syntax/typing.nit:1026,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1026,19--1027,0 text='
+'
+Read token at ../src/syntax/typing.nit:1027,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1027,5--1028,0 text='
+'
+Read token at ../src/syntax/typing.nit:1028,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1028,4--1029,0 text='
+'
+Read token at ../src/syntax/typing.nit:1029,1--1030,0 text='
+'
+Read token at ../src/syntax/typing.nit:1030,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1030,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1030,13--21 text='ACharExpr'
+Read token at ../src/syntax/typing.nit:1030,22--1031,0 text='
+'
+Read token at ../src/syntax/typing.nit:1031,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1031,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1031,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1031,24 text='('
+Read token at ../src/syntax/typing.nit:1031,25 text='v'
+Read token at ../src/syntax/typing.nit:1031,26 text=')'
+Read token at ../src/syntax/typing.nit:1031,27--1032,0 text='
+'
+Read token at ../src/syntax/typing.nit:1032,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1032,4--1033,0 text='
+'
+Read token at ../src/syntax/typing.nit:1033,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1033,10 text='='
+Read token at ../src/syntax/typing.nit:1033,12 text='v'
+Read token at ../src/syntax/typing.nit:1033,13 text='.'
+Read token at ../src/syntax/typing.nit:1033,14--22 text='type_char'
+Read token at ../src/syntax/typing.nit:1033,23--1034,0 text='
+'
+Read token at ../src/syntax/typing.nit:1034,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1034,13 text='='
+Read token at ../src/syntax/typing.nit:1034,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1034,19--1035,0 text='
+'
+Read token at ../src/syntax/typing.nit:1035,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1035,5--1036,0 text='
+'
+Read token at ../src/syntax/typing.nit:1036,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1036,4--1037,0 text='
+'
+Read token at ../src/syntax/typing.nit:1037,1--1038,0 text='
+'
+Read token at ../src/syntax/typing.nit:1038,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1038,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1038,13--27 text='AStringFormExpr'
+Read token at ../src/syntax/typing.nit:1038,28--1039,0 text='
+'
+Read token at ../src/syntax/typing.nit:1039,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1039,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1039,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1039,24 text='('
+Read token at ../src/syntax/typing.nit:1039,25 text='v'
+Read token at ../src/syntax/typing.nit:1039,26 text=')'
+Read token at ../src/syntax/typing.nit:1039,27--1040,0 text='
+'
+Read token at ../src/syntax/typing.nit:1040,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1040,4--1041,0 text='
+'
+Read token at ../src/syntax/typing.nit:1041,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1041,10 text='='
+Read token at ../src/syntax/typing.nit:1041,12 text='v'
+Read token at ../src/syntax/typing.nit:1041,13 text='.'
+Read token at ../src/syntax/typing.nit:1041,14--24 text='type_string'
+Read token at ../src/syntax/typing.nit:1041,25--1042,0 text='
+'
+Read token at ../src/syntax/typing.nit:1042,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1042,13 text='='
+Read token at ../src/syntax/typing.nit:1042,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1042,19--1043,0 text='
+'
+Read token at ../src/syntax/typing.nit:1043,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1043,5--1044,0 text='
+'
+Read token at ../src/syntax/typing.nit:1044,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1044,4--1045,0 text='
+'
+Read token at ../src/syntax/typing.nit:1045,1--1046,0 text='
+'
+Read token at ../src/syntax/typing.nit:1046,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1046,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1046,13--28 text='ASuperstringExpr'
+Read token at ../src/syntax/typing.nit:1046,29--1047,0 text='
+'
+Read token at ../src/syntax/typing.nit:1047,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1047,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1047,12--16 text='atype'
+Read token at ../src/syntax/typing.nit:1047,18--19 text='do'
+Read token at ../src/syntax/typing.nit:1047,21--26 text='return'
+Read token at ../src/syntax/typing.nit:1047,28--33 text='_atype'
+Read token at ../src/syntax/typing.nit:1047,34 text='.'
+Read token at ../src/syntax/typing.nit:1047,35--36 text='as'
+Read token at ../src/syntax/typing.nit:1047,37 text='('
+Read token at ../src/syntax/typing.nit:1047,38--40 text='not'
+Read token at ../src/syntax/typing.nit:1047,42--45 text='null'
+Read token at ../src/syntax/typing.nit:1047,46 text=')'
+Read token at ../src/syntax/typing.nit:1047,47--1048,0 text='
+'
+Read token at ../src/syntax/typing.nit:1048,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1048,6--11 text='_atype'
+Read token at ../src/syntax/typing.nit:1048,12 text=':'
+Read token at ../src/syntax/typing.nit:1048,14--21 text='nullable'
+Read token at ../src/syntax/typing.nit:1048,23--28 text='MMType'
+Read token at ../src/syntax/typing.nit:1048,29--1049,0 text='
+'
+Read token at ../src/syntax/typing.nit:1049,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1049,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1049,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1049,24 text='('
+Read token at ../src/syntax/typing.nit:1049,25 text='v'
+Read token at ../src/syntax/typing.nit:1049,26 text=')'
+Read token at ../src/syntax/typing.nit:1049,27--1050,0 text='
+'
+Read token at ../src/syntax/typing.nit:1050,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1050,4--1051,0 text='
+'
+Read token at ../src/syntax/typing.nit:1051,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1051,7--11 text='otype'
+Read token at ../src/syntax/typing.nit:1051,13 text='='
+Read token at ../src/syntax/typing.nit:1051,15 text='v'
+Read token at ../src/syntax/typing.nit:1051,16 text='.'
+Read token at ../src/syntax/typing.nit:1051,17--27 text='type_object'
+Read token at ../src/syntax/typing.nit:1051,28--1052,0 text='
+'
+Read token at ../src/syntax/typing.nit:1052,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1052,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:1052,13 text='='
+Read token at ../src/syntax/typing.nit:1052,15 text='v'
+Read token at ../src/syntax/typing.nit:1052,16 text='.'
+Read token at ../src/syntax/typing.nit:1052,17--27 text='type_string'
+Read token at ../src/syntax/typing.nit:1052,28--1053,0 text='
+'
+Read token at ../src/syntax/typing.nit:1053,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1053,10 text='='
+Read token at ../src/syntax/typing.nit:1053,12--16 text='stype'
+Read token at ../src/syntax/typing.nit:1053,17--1054,0 text='
+'
+Read token at ../src/syntax/typing.nit:1054,3--5 text='for'
+Read token at ../src/syntax/typing.nit:1054,7 text='e'
+Read token at ../src/syntax/typing.nit:1054,9--10 text='in'
+Read token at ../src/syntax/typing.nit:1054,12--18 text='n_exprs'
+Read token at ../src/syntax/typing.nit:1054,20--21 text='do'
+Read token at ../src/syntax/typing.nit:1054,23 text='v'
+Read token at ../src/syntax/typing.nit:1054,24 text='.'
+Read token at ../src/syntax/typing.nit:1054,25--42 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:1054,43 text='('
+Read token at ../src/syntax/typing.nit:1054,44 text='e'
+Read token at ../src/syntax/typing.nit:1054,45 text=','
+Read token at ../src/syntax/typing.nit:1054,47--51 text='otype'
+Read token at ../src/syntax/typing.nit:1054,52 text=')'
+Read token at ../src/syntax/typing.nit:1054,53--1055,0 text='
+'
+Read token at ../src/syntax/typing.nit:1055,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1055,7--11 text='atype'
+Read token at ../src/syntax/typing.nit:1055,13 text='='
+Read token at ../src/syntax/typing.nit:1055,15 text='v'
+Read token at ../src/syntax/typing.nit:1055,16 text='.'
+Read token at ../src/syntax/typing.nit:1055,17--26 text='type_array'
+Read token at ../src/syntax/typing.nit:1055,27 text='('
+Read token at ../src/syntax/typing.nit:1055,28--32 text='stype'
+Read token at ../src/syntax/typing.nit:1055,33 text=')'
+Read token at ../src/syntax/typing.nit:1055,34--1056,0 text='
+'
+Read token at ../src/syntax/typing.nit:1056,3--8 text='_atype'
+Read token at ../src/syntax/typing.nit:1056,10 text='='
+Read token at ../src/syntax/typing.nit:1056,12--16 text='atype'
+Read token at ../src/syntax/typing.nit:1056,17--1057,0 text='
+'
+Read token at ../src/syntax/typing.nit:1057,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1057,13 text='='
+Read token at ../src/syntax/typing.nit:1057,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1057,19--1058,0 text='
+'
+Read token at ../src/syntax/typing.nit:1058,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1058,5--1059,0 text='
+'
+Read token at ../src/syntax/typing.nit:1059,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1059,4--1060,0 text='
+'
+Read token at ../src/syntax/typing.nit:1060,1--1061,0 text='
+'
+Read token at ../src/syntax/typing.nit:1061,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1061,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1061,13--21 text='ANullExpr'
+Read token at ../src/syntax/typing.nit:1061,22--1062,0 text='
+'
+Read token at ../src/syntax/typing.nit:1062,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1062,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1062,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1062,24 text='('
+Read token at ../src/syntax/typing.nit:1062,25 text='v'
+Read token at ../src/syntax/typing.nit:1062,26 text=')'
+Read token at ../src/syntax/typing.nit:1062,27--1063,0 text='
+'
+Read token at ../src/syntax/typing.nit:1063,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1063,4--1064,0 text='
+'
+Read token at ../src/syntax/typing.nit:1064,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1064,10 text='='
+Read token at ../src/syntax/typing.nit:1064,12 text='v'
+Read token at ../src/syntax/typing.nit:1064,13 text='.'
+Read token at ../src/syntax/typing.nit:1064,14--22 text='type_none'
+Read token at ../src/syntax/typing.nit:1064,23--1065,0 text='
+'
+Read token at ../src/syntax/typing.nit:1065,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1065,13 text='='
+Read token at ../src/syntax/typing.nit:1065,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1065,19--1066,0 text='
+'
+Read token at ../src/syntax/typing.nit:1066,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1066,5--1067,0 text='
+'
+Read token at ../src/syntax/typing.nit:1067,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1067,4--1068,0 text='
+'
+Read token at ../src/syntax/typing.nit:1068,1--1069,0 text='
+'
+Read token at ../src/syntax/typing.nit:1069,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1069,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1069,13--22 text='AArrayExpr'
+Read token at ../src/syntax/typing.nit:1069,23--1070,0 text='
+'
+Read token at ../src/syntax/typing.nit:1070,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1070,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1070,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1070,24 text='('
+Read token at ../src/syntax/typing.nit:1070,25 text='v'
+Read token at ../src/syntax/typing.nit:1070,26 text=')'
+Read token at ../src/syntax/typing.nit:1070,27--1071,0 text='
+'
+Read token at ../src/syntax/typing.nit:1071,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1071,4--1072,0 text='
+'
+Read token at ../src/syntax/typing.nit:1072,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1072,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:1072,13 text='='
+Read token at ../src/syntax/typing.nit:1072,15 text='v'
+Read token at ../src/syntax/typing.nit:1072,16 text='.'
+Read token at ../src/syntax/typing.nit:1072,17--39 text='check_conform_multiexpr'
+Read token at ../src/syntax/typing.nit:1072,40 text='('
+Read token at ../src/syntax/typing.nit:1072,41--44 text='null'
+Read token at ../src/syntax/typing.nit:1072,45 text=','
+Read token at ../src/syntax/typing.nit:1072,47--53 text='n_exprs'
+Read token at ../src/syntax/typing.nit:1072,54 text=')'
+Read token at ../src/syntax/typing.nit:1072,55--1073,0 text='
+'
+Read token at ../src/syntax/typing.nit:1073,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1073,6--10 text='stype'
+Read token at ../src/syntax/typing.nit:1073,12--13 text='!='
+Read token at ../src/syntax/typing.nit:1073,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1073,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1073,25--33 text='do_typing'
+Read token at ../src/syntax/typing.nit:1073,34 text='('
+Read token at ../src/syntax/typing.nit:1073,35 text='v'
+Read token at ../src/syntax/typing.nit:1073,36 text=','
+Read token at ../src/syntax/typing.nit:1073,38--42 text='stype'
+Read token at ../src/syntax/typing.nit:1073,43 text=')'
+Read token at ../src/syntax/typing.nit:1073,44--1074,0 text='
+'
+Read token at ../src/syntax/typing.nit:1074,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1074,5--1075,0 text='
+'
+Read token at ../src/syntax/typing.nit:1075,1--1076,0 text='
+'
+Read token at ../src/syntax/typing.nit:1076,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1076,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1076,14--22 text='do_typing'
+Read token at ../src/syntax/typing.nit:1076,23 text='('
+Read token at ../src/syntax/typing.nit:1076,24 text='v'
+Read token at ../src/syntax/typing.nit:1076,25 text=':'
+Read token at ../src/syntax/typing.nit:1076,27--39 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1076,40 text=','
+Read token at ../src/syntax/typing.nit:1076,42--53 text='element_type'
+Read token at ../src/syntax/typing.nit:1076,54 text=':'
+Read token at ../src/syntax/typing.nit:1076,56--61 text='MMType'
+Read token at ../src/syntax/typing.nit:1076,62 text=')'
+Read token at ../src/syntax/typing.nit:1076,63--1077,0 text='
+'
+Read token at ../src/syntax/typing.nit:1077,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1077,4--1078,0 text='
+'
+Read token at ../src/syntax/typing.nit:1078,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1078,10 text='='
+Read token at ../src/syntax/typing.nit:1078,12 text='v'
+Read token at ../src/syntax/typing.nit:1078,13 text='.'
+Read token at ../src/syntax/typing.nit:1078,14--23 text='type_array'
+Read token at ../src/syntax/typing.nit:1078,24 text='('
+Read token at ../src/syntax/typing.nit:1078,25--36 text='element_type'
+Read token at ../src/syntax/typing.nit:1078,37 text=')'
+Read token at ../src/syntax/typing.nit:1078,38--1079,0 text='
+'
+Read token at ../src/syntax/typing.nit:1079,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1079,13 text='='
+Read token at ../src/syntax/typing.nit:1079,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1079,19--1080,0 text='
+'
+Read token at ../src/syntax/typing.nit:1080,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1080,5--1081,0 text='
+'
+Read token at ../src/syntax/typing.nit:1081,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1081,4--1082,0 text='
+'
+Read token at ../src/syntax/typing.nit:1082,1--1083,0 text='
+'
+Read token at ../src/syntax/typing.nit:1083,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1083,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1083,13--22 text='ARangeExpr'
+Read token at ../src/syntax/typing.nit:1083,23--1084,0 text='
+'
+Read token at ../src/syntax/typing.nit:1084,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1084,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1084,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1084,24 text='('
+Read token at ../src/syntax/typing.nit:1084,25 text='v'
+Read token at ../src/syntax/typing.nit:1084,26 text=')'
+Read token at ../src/syntax/typing.nit:1084,27--1085,0 text='
+'
+Read token at ../src/syntax/typing.nit:1085,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1085,4--1086,0 text='
+'
+Read token at ../src/syntax/typing.nit:1086,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1086,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1086,10 text='v'
+Read token at ../src/syntax/typing.nit:1086,11 text='.'
+Read token at ../src/syntax/typing.nit:1086,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:1086,22 text='('
+Read token at ../src/syntax/typing.nit:1086,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:1086,29 text=')'
+Read token at ../src/syntax/typing.nit:1086,31--32 text='or'
+Read token at ../src/syntax/typing.nit:1086,34--36 text='not'
+Read token at ../src/syntax/typing.nit:1086,38 text='v'
+Read token at ../src/syntax/typing.nit:1086,39 text='.'
+Read token at ../src/syntax/typing.nit:1086,40--49 text='check_expr'
+Read token at ../src/syntax/typing.nit:1086,50 text='('
+Read token at ../src/syntax/typing.nit:1086,51--57 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1086,58 text=')'
+Read token at ../src/syntax/typing.nit:1086,60--63 text='then'
+Read token at ../src/syntax/typing.nit:1086,65--70 text='return'
+Read token at ../src/syntax/typing.nit:1086,71--1087,0 text='
+'
+Read token at ../src/syntax/typing.nit:1087,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1087,7--11 text='ntype'
+Read token at ../src/syntax/typing.nit:1087,13 text='='
+Read token at ../src/syntax/typing.nit:1087,15--20 text='n_expr'
+Read token at ../src/syntax/typing.nit:1087,21 text='.'
+Read token at ../src/syntax/typing.nit:1087,22--26 text='stype'
+Read token at ../src/syntax/typing.nit:1087,27--1088,0 text='
+'
+Read token at ../src/syntax/typing.nit:1088,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1088,7--12 text='ntype2'
+Read token at ../src/syntax/typing.nit:1088,14 text='='
+Read token at ../src/syntax/typing.nit:1088,16--22 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1088,23 text='.'
+Read token at ../src/syntax/typing.nit:1088,24--28 text='stype'
+Read token at ../src/syntax/typing.nit:1088,29--1089,0 text='
+'
+Read token at ../src/syntax/typing.nit:1089,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1089,6--10 text='ntype'
+Read token at ../src/syntax/typing.nit:1089,12 text='<'
+Read token at ../src/syntax/typing.nit:1089,14--19 text='ntype2'
+Read token at ../src/syntax/typing.nit:1089,21--24 text='then'
+Read token at ../src/syntax/typing.nit:1089,25--1090,0 text='
+'
+Read token at ../src/syntax/typing.nit:1090,4--8 text='ntype'
+Read token at ../src/syntax/typing.nit:1090,10 text='='
+Read token at ../src/syntax/typing.nit:1090,12--17 text='ntype2'
+Read token at ../src/syntax/typing.nit:1090,18--1091,0 text='
+'
+Read token at ../src/syntax/typing.nit:1091,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1091,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1091,11--13 text='not'
+Read token at ../src/syntax/typing.nit:1091,15--20 text='ntype2'
+Read token at ../src/syntax/typing.nit:1091,22 text='<'
+Read token at ../src/syntax/typing.nit:1091,24--28 text='ntype'
+Read token at ../src/syntax/typing.nit:1091,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1091,34--1092,0 text='
+'
+Read token at ../src/syntax/typing.nit:1092,4 text='v'
+Read token at ../src/syntax/typing.nit:1092,5 text='.'
+Read token at ../src/syntax/typing.nit:1092,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1092,11 text='('
+Read token at ../src/syntax/typing.nit:1092,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1092,16 text=','
+Read token at ../src/syntax/typing.nit:1092,18--31 text='"Type error: {'
+Read token at ../src/syntax/typing.nit:1092,32--36 text='ntype'
+Read token at ../src/syntax/typing.nit:1092,37--57 text='} incompatible with {'
+Read token at ../src/syntax/typing.nit:1092,58--63 text='ntype2'
+Read token at ../src/syntax/typing.nit:1092,64--66 text='}."'
+Read token at ../src/syntax/typing.nit:1092,67 text=')'
+Read token at ../src/syntax/typing.nit:1092,68--1093,0 text='
+'
+Read token at ../src/syntax/typing.nit:1093,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1093,10--1094,0 text='
+'
+Read token at ../src/syntax/typing.nit:1094,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1094,6--1095,0 text='
+'
+Read token at ../src/syntax/typing.nit:1095,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1095,7--11 text='dtype'
+Read token at ../src/syntax/typing.nit:1095,13 text='='
+Read token at ../src/syntax/typing.nit:1095,15 text='v'
+Read token at ../src/syntax/typing.nit:1095,16 text='.'
+Read token at ../src/syntax/typing.nit:1095,17--29 text='type_discrete'
+Read token at ../src/syntax/typing.nit:1095,30--1096,0 text='
+'
+Read token at ../src/syntax/typing.nit:1096,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1096,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1096,10 text='v'
+Read token at ../src/syntax/typing.nit:1096,11 text='.'
+Read token at ../src/syntax/typing.nit:1096,12--29 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:1096,30 text='('
+Read token at ../src/syntax/typing.nit:1096,31--36 text='n_expr'
+Read token at ../src/syntax/typing.nit:1096,37 text=','
+Read token at ../src/syntax/typing.nit:1096,39--43 text='dtype'
+Read token at ../src/syntax/typing.nit:1096,44 text=')'
+Read token at ../src/syntax/typing.nit:1096,46--47 text='or'
+Read token at ../src/syntax/typing.nit:1096,49--51 text='not'
+Read token at ../src/syntax/typing.nit:1096,53 text='v'
+Read token at ../src/syntax/typing.nit:1096,54 text='.'
+Read token at ../src/syntax/typing.nit:1096,55--72 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:1096,73 text='('
+Read token at ../src/syntax/typing.nit:1096,74--80 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1096,81 text=','
+Read token at ../src/syntax/typing.nit:1096,83--87 text='dtype'
+Read token at ../src/syntax/typing.nit:1096,88 text=')'
+Read token at ../src/syntax/typing.nit:1096,90--93 text='then'
+Read token at ../src/syntax/typing.nit:1096,95--100 text='return'
+Read token at ../src/syntax/typing.nit:1096,101--1097,0 text='
+'
+Read token at ../src/syntax/typing.nit:1097,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1097,10 text='='
+Read token at ../src/syntax/typing.nit:1097,12 text='v'
+Read token at ../src/syntax/typing.nit:1097,13 text='.'
+Read token at ../src/syntax/typing.nit:1097,14--23 text='type_range'
+Read token at ../src/syntax/typing.nit:1097,24 text='('
+Read token at ../src/syntax/typing.nit:1097,25--29 text='ntype'
+Read token at ../src/syntax/typing.nit:1097,30 text=')'
+Read token at ../src/syntax/typing.nit:1097,31--1098,0 text='
+'
+Read token at ../src/syntax/typing.nit:1098,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1098,13 text='='
+Read token at ../src/syntax/typing.nit:1098,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1098,19--1099,0 text='
+'
+Read token at ../src/syntax/typing.nit:1099,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1099,5--1100,0 text='
+'
+Read token at ../src/syntax/typing.nit:1100,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1100,4--1101,0 text='
+'
+Read token at ../src/syntax/typing.nit:1101,1--1102,0 text='
+'
+Read token at ../src/syntax/typing.nit:1102,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1102,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1102,13--22 text='ASuperExpr'
+Read token at ../src/syntax/typing.nit:1102,23--1103,0 text='
+'
+Read token at ../src/syntax/typing.nit:1103,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1103,8--15 text='readable'
+Read token at ../src/syntax/typing.nit:1103,17--19 text='var'
+Read token at ../src/syntax/typing.nit:1103,21--39 text='_init_in_superclass'
+Read token at ../src/syntax/typing.nit:1103,40 text=':'
+Read token at ../src/syntax/typing.nit:1103,42--49 text='nullable'
+Read token at ../src/syntax/typing.nit:1103,51--58 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1103,59--1104,0 text='
+'
+Read token at ../src/syntax/typing.nit:1104,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1104,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1104,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1104,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1104,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1104,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1104,50 text='.'
+Read token at ../src/syntax/typing.nit:1104,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1104,55--1105,0 text='
+'
+Read token at ../src/syntax/typing.nit:1105,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1105,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1105,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1105,24 text='('
+Read token at ../src/syntax/typing.nit:1105,25 text='v'
+Read token at ../src/syntax/typing.nit:1105,26 text=')'
+Read token at ../src/syntax/typing.nit:1105,27--1106,0 text='
+'
+Read token at ../src/syntax/typing.nit:1106,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1106,4--1107,0 text='
+'
+Read token at ../src/syntax/typing.nit:1107,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1107,7--11 text='precs'
+Read token at ../src/syntax/typing.nit:1107,12 text=':'
+Read token at ../src/syntax/typing.nit:1107,14--18 text='Array'
+Read token at ../src/syntax/typing.nit:1107,19 text='['
+Read token at ../src/syntax/typing.nit:1107,20--34 text='MMLocalProperty'
+Read token at ../src/syntax/typing.nit:1107,35 text=']'
+Read token at ../src/syntax/typing.nit:1107,37 text='='
+Read token at ../src/syntax/typing.nit:1107,39 text='v'
+Read token at ../src/syntax/typing.nit:1107,40 text='.'
+Read token at ../src/syntax/typing.nit:1107,41--54 text='local_property'
+Read token at ../src/syntax/typing.nit:1107,55 text='.'
+Read token at ../src/syntax/typing.nit:1107,56--59 text='prhe'
+Read token at ../src/syntax/typing.nit:1107,60 text='.'
+Read token at ../src/syntax/typing.nit:1107,61--75 text='direct_greaters'
+Read token at ../src/syntax/typing.nit:1107,76--1108,0 text='
+'
+Read token at ../src/syntax/typing.nit:1108,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1108,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1108,10--14 text='precs'
+Read token at ../src/syntax/typing.nit:1108,15 text='.'
+Read token at ../src/syntax/typing.nit:1108,16--23 text='is_empty'
+Read token at ../src/syntax/typing.nit:1108,25--28 text='then'
+Read token at ../src/syntax/typing.nit:1108,29--1109,0 text='
+'
+Read token at ../src/syntax/typing.nit:1109,4 text='v'
+Read token at ../src/syntax/typing.nit:1109,5 text='.'
+Read token at ../src/syntax/typing.nit:1109,6--19 text='local_property'
+Read token at ../src/syntax/typing.nit:1109,20 text='.'
+Read token at ../src/syntax/typing.nit:1109,21--30 text='need_super'
+Read token at ../src/syntax/typing.nit:1109,32 text='='
+Read token at ../src/syntax/typing.nit:1109,34--37 text='true'
+Read token at ../src/syntax/typing.nit:1109,38--1110,0 text='
+'
+Read token at ../src/syntax/typing.nit:1110,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1110,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1110,11 text='v'
+Read token at ../src/syntax/typing.nit:1110,12 text='.'
+Read token at ../src/syntax/typing.nit:1110,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:1110,27 text='.'
+Read token at ../src/syntax/typing.nit:1110,28--33 text='global'
+Read token at ../src/syntax/typing.nit:1110,34 text='.'
+Read token at ../src/syntax/typing.nit:1110,35--41 text='is_init'
+Read token at ../src/syntax/typing.nit:1110,43--46 text='then'
+Read token at ../src/syntax/typing.nit:1110,47--1111,0 text='
+'
+Read token at ../src/syntax/typing.nit:1111,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1111,8--17 text='base_precs'
+Read token at ../src/syntax/typing.nit:1111,19 text='='
+Read token at ../src/syntax/typing.nit:1111,21 text='v'
+Read token at ../src/syntax/typing.nit:1111,22 text='.'
+Read token at ../src/syntax/typing.nit:1111,23--33 text='local_class'
+Read token at ../src/syntax/typing.nit:1111,34 text='.'
+Read token at ../src/syntax/typing.nit:1111,35--53 text='super_methods_named'
+Read token at ../src/syntax/typing.nit:1111,54 text='('
+Read token at ../src/syntax/typing.nit:1111,55 text='v'
+Read token at ../src/syntax/typing.nit:1111,56 text='.'
+Read token at ../src/syntax/typing.nit:1111,57--70 text='local_property'
+Read token at ../src/syntax/typing.nit:1111,71 text='.'
+Read token at ../src/syntax/typing.nit:1111,72--75 text='name'
+Read token at ../src/syntax/typing.nit:1111,76 text=')'
+Read token at ../src/syntax/typing.nit:1111,77--1112,0 text='
+'
+Read token at ../src/syntax/typing.nit:1112,4--6 text='for'
+Read token at ../src/syntax/typing.nit:1112,8 text='p'
+Read token at ../src/syntax/typing.nit:1112,10--11 text='in'
+Read token at ../src/syntax/typing.nit:1112,13--22 text='base_precs'
+Read token at ../src/syntax/typing.nit:1112,24--25 text='do'
+Read token at ../src/syntax/typing.nit:1112,26--1113,0 text='
+'
+Read token at ../src/syntax/typing.nit:1113,5--6 text='if'
+Read token at ../src/syntax/typing.nit:1113,8--10 text='not'
+Read token at ../src/syntax/typing.nit:1113,12 text='p'
+Read token at ../src/syntax/typing.nit:1113,13 text='.'
+Read token at ../src/syntax/typing.nit:1113,14--19 text='global'
+Read token at ../src/syntax/typing.nit:1113,20 text='.'
+Read token at ../src/syntax/typing.nit:1113,21--27 text='is_init'
+Read token at ../src/syntax/typing.nit:1113,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1113,33--1114,0 text='
+'
+Read token at ../src/syntax/typing.nit:1114,6 text='v'
+Read token at ../src/syntax/typing.nit:1114,7 text='.'
+Read token at ../src/syntax/typing.nit:1114,8--12 text='error'
+Read token at ../src/syntax/typing.nit:1114,13 text='('
+Read token at ../src/syntax/typing.nit:1114,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1114,18 text=','
+Read token at ../src/syntax/typing.nit:1114,20--28 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1114,29 text='p'
+Read token at ../src/syntax/typing.nit:1114,30 text='.'
+Read token at ../src/syntax/typing.nit:1114,31--41 text='local_class'
+Read token at ../src/syntax/typing.nit:1114,42--45 text='}::{'
+Read token at ../src/syntax/typing.nit:1114,46 text='p'
+Read token at ../src/syntax/typing.nit:1114,47--70 text='} is not a constructor."'
+Read token at ../src/syntax/typing.nit:1114,71 text=')'
+Read token at ../src/syntax/typing.nit:1114,72--1115,0 text='
+'
+Read token at ../src/syntax/typing.nit:1115,5--8 text='else'
+Read token at ../src/syntax/typing.nit:1115,9--1116,0 text='
+'
+Read token at ../src/syntax/typing.nit:1116,6--10 text='precs'
+Read token at ../src/syntax/typing.nit:1116,11 text='.'
+Read token at ../src/syntax/typing.nit:1116,12--14 text='add'
+Read token at ../src/syntax/typing.nit:1116,15 text='('
+Read token at ../src/syntax/typing.nit:1116,16 text='v'
+Read token at ../src/syntax/typing.nit:1116,17 text='.'
+Read token at ../src/syntax/typing.nit:1116,18--28 text='local_class'
+Read token at ../src/syntax/typing.nit:1116,29 text='['
+Read token at ../src/syntax/typing.nit:1116,30 text='p'
+Read token at ../src/syntax/typing.nit:1116,31 text='.'
+Read token at ../src/syntax/typing.nit:1116,32--37 text='global'
+Read token at ../src/syntax/typing.nit:1116,38 text=']'
+Read token at ../src/syntax/typing.nit:1116,39 text=')'
+Read token at ../src/syntax/typing.nit:1116,40--1117,0 text='
+'
+Read token at ../src/syntax/typing.nit:1117,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1117,8--1118,0 text='
+'
+Read token at ../src/syntax/typing.nit:1118,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1118,7--1119,0 text='
+'
+Read token at ../src/syntax/typing.nit:1119,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1119,7--11 text='precs'
+Read token at ../src/syntax/typing.nit:1119,12 text='.'
+Read token at ../src/syntax/typing.nit:1119,13--20 text='is_empty'
+Read token at ../src/syntax/typing.nit:1119,22--25 text='then'
+Read token at ../src/syntax/typing.nit:1119,26--1120,0 text='
+'
+Read token at ../src/syntax/typing.nit:1120,5 text='v'
+Read token at ../src/syntax/typing.nit:1120,6 text='.'
+Read token at ../src/syntax/typing.nit:1120,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1120,12 text='('
+Read token at ../src/syntax/typing.nit:1120,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1120,17 text=','
+Read token at ../src/syntax/typing.nit:1120,19--47 text='"Error: No contructor named {'
+Read token at ../src/syntax/typing.nit:1120,48 text='v'
+Read token at ../src/syntax/typing.nit:1120,49 text='.'
+Read token at ../src/syntax/typing.nit:1120,50--63 text='local_property'
+Read token at ../src/syntax/typing.nit:1120,64 text='.'
+Read token at ../src/syntax/typing.nit:1120,65--68 text='name'
+Read token at ../src/syntax/typing.nit:1120,69--87 text='} in superclasses."'
+Read token at ../src/syntax/typing.nit:1120,88 text=')'
+Read token at ../src/syntax/typing.nit:1120,89--1121,0 text='
+'
+Read token at ../src/syntax/typing.nit:1121,5--10 text='return'
+Read token at ../src/syntax/typing.nit:1121,11--1122,0 text='
+'
+Read token at ../src/syntax/typing.nit:1122,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1122,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1122,12--16 text='precs'
+Read token at ../src/syntax/typing.nit:1122,17 text='.'
+Read token at ../src/syntax/typing.nit:1122,18--23 text='length'
+Read token at ../src/syntax/typing.nit:1122,25 text='>'
+Read token at ../src/syntax/typing.nit:1122,27 text='1'
+Read token at ../src/syntax/typing.nit:1122,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1122,33--1123,0 text='
+'
+Read token at ../src/syntax/typing.nit:1123,5 text='v'
+Read token at ../src/syntax/typing.nit:1123,6 text='.'
+Read token at ../src/syntax/typing.nit:1123,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1123,12 text='('
+Read token at ../src/syntax/typing.nit:1123,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1123,17 text=','
+Read token at ../src/syntax/typing.nit:1123,19--57 text='"Error: Conflicting contructors named {'
+Read token at ../src/syntax/typing.nit:1123,58 text='v'
+Read token at ../src/syntax/typing.nit:1123,59 text='.'
+Read token at ../src/syntax/typing.nit:1123,60--73 text='local_property'
+Read token at ../src/syntax/typing.nit:1123,74 text='.'
+Read token at ../src/syntax/typing.nit:1123,75--78 text='name'
+Read token at ../src/syntax/typing.nit:1123,79--98 text='} in superclasses: {'
+Read token at ../src/syntax/typing.nit:1123,99--103 text='precs'
+Read token at ../src/syntax/typing.nit:1123,104 text='.'
+Read token at ../src/syntax/typing.nit:1123,105--108 text='join'
+Read token at ../src/syntax/typing.nit:1123,109 text='('
+Read token at ../src/syntax/typing.nit:1123,110--113 text='", "'
+Read token at ../src/syntax/typing.nit:1123,114 text=')'
+Read token at ../src/syntax/typing.nit:1123,115--117 text='}."'
+Read token at ../src/syntax/typing.nit:1123,118 text=')'
+Read token at ../src/syntax/typing.nit:1123,119--1124,0 text='
+'
+Read token at ../src/syntax/typing.nit:1124,5--10 text='return'
+Read token at ../src/syntax/typing.nit:1124,11--1125,0 text='
+'
+Read token at ../src/syntax/typing.nit:1125,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1125,7--1126,0 text='
+'
+Read token at ../src/syntax/typing.nit:1126,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1126,8 text='p'
+Read token at ../src/syntax/typing.nit:1126,10 text='='
+Read token at ../src/syntax/typing.nit:1126,12--21 text='base_precs'
+Read token at ../src/syntax/typing.nit:1126,22 text='.'
+Read token at ../src/syntax/typing.nit:1126,23--27 text='first'
+Read token at ../src/syntax/typing.nit:1126,28--1127,0 text='
+'
+Read token at ../src/syntax/typing.nit:1127,4--9 text='assert'
+Read token at ../src/syntax/typing.nit:1127,11 text='p'
+Read token at ../src/syntax/typing.nit:1127,13--15 text='isa'
+Read token at ../src/syntax/typing.nit:1127,17--24 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1127,25--1128,0 text='
+'
+Read token at ../src/syntax/typing.nit:1128,4--22 text='_init_in_superclass'
+Read token at ../src/syntax/typing.nit:1128,24 text='='
+Read token at ../src/syntax/typing.nit:1128,26 text='p'
+Read token at ../src/syntax/typing.nit:1128,27--1129,0 text='
+'
+Read token at ../src/syntax/typing.nit:1129,4--27 text='register_super_init_call'
+Read token at ../src/syntax/typing.nit:1129,28 text='('
+Read token at ../src/syntax/typing.nit:1129,29 text='v'
+Read token at ../src/syntax/typing.nit:1129,30 text=','
+Read token at ../src/syntax/typing.nit:1129,32 text='p'
+Read token at ../src/syntax/typing.nit:1129,33 text=')'
+Read token at ../src/syntax/typing.nit:1129,34--1130,0 text='
+'
+Read token at ../src/syntax/typing.nit:1130,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1130,7--12 text='n_args'
+Read token at ../src/syntax/typing.nit:1130,13 text='.'
+Read token at ../src/syntax/typing.nit:1130,14--19 text='length'
+Read token at ../src/syntax/typing.nit:1130,21 text='>'
+Read token at ../src/syntax/typing.nit:1130,23 text='0'
+Read token at ../src/syntax/typing.nit:1130,25--28 text='then'
+Read token at ../src/syntax/typing.nit:1130,29--1131,0 text='
+'
+Read token at ../src/syntax/typing.nit:1131,5--7 text='var'
+Read token at ../src/syntax/typing.nit:1131,9--17 text='signature'
+Read token at ../src/syntax/typing.nit:1131,19 text='='
+Read token at ../src/syntax/typing.nit:1131,21--33 text='get_signature'
+Read token at ../src/syntax/typing.nit:1131,34 text='('
+Read token at ../src/syntax/typing.nit:1131,35 text='v'
+Read token at ../src/syntax/typing.nit:1131,36 text=','
+Read token at ../src/syntax/typing.nit:1131,38 text='v'
+Read token at ../src/syntax/typing.nit:1131,39 text='.'
+Read token at ../src/syntax/typing.nit:1131,40--47 text='self_var'
+Read token at ../src/syntax/typing.nit:1131,48 text='.'
+Read token at ../src/syntax/typing.nit:1131,49--53 text='stype'
+Read token at ../src/syntax/typing.nit:1131,54 text='.'
+Read token at ../src/syntax/typing.nit:1131,55--56 text='as'
+Read token at ../src/syntax/typing.nit:1131,57 text='('
+Read token at ../src/syntax/typing.nit:1131,58--60 text='not'
+Read token at ../src/syntax/typing.nit:1131,62--65 text='null'
+Read token at ../src/syntax/typing.nit:1131,66 text=')'
+Read token at ../src/syntax/typing.nit:1131,67 text=','
+Read token at ../src/syntax/typing.nit:1131,69 text='p'
+Read token at ../src/syntax/typing.nit:1131,70 text=','
+Read token at ../src/syntax/typing.nit:1131,72--75 text='true'
+Read token at ../src/syntax/typing.nit:1131,76 text=')'
+Read token at ../src/syntax/typing.nit:1131,77--1132,0 text='
+'
+Read token at ../src/syntax/typing.nit:1132,5--21 text='process_signature'
+Read token at ../src/syntax/typing.nit:1132,22 text='('
+Read token at ../src/syntax/typing.nit:1132,23 text='v'
+Read token at ../src/syntax/typing.nit:1132,24 text=','
+Read token at ../src/syntax/typing.nit:1132,26--34 text='signature'
+Read token at ../src/syntax/typing.nit:1132,35 text=','
+Read token at ../src/syntax/typing.nit:1132,37 text='p'
+Read token at ../src/syntax/typing.nit:1132,38 text='.'
+Read token at ../src/syntax/typing.nit:1132,39--42 text='name'
+Read token at ../src/syntax/typing.nit:1132,43 text=','
+Read token at ../src/syntax/typing.nit:1132,45--65 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1132,66 text=')'
+Read token at ../src/syntax/typing.nit:1132,67--1133,0 text='
+'
+Read token at ../src/syntax/typing.nit:1133,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1133,7--1134,0 text='
+'
+Read token at ../src/syntax/typing.nit:1134,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1134,7--1135,0 text='
+'
+Read token at ../src/syntax/typing.nit:1135,4 text='v'
+Read token at ../src/syntax/typing.nit:1135,5 text='.'
+Read token at ../src/syntax/typing.nit:1135,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1135,11 text='('
+Read token at ../src/syntax/typing.nit:1135,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1135,16 text=','
+Read token at ../src/syntax/typing.nit:1135,18--54 text='"Error: No super method to call for {'
+Read token at ../src/syntax/typing.nit:1135,55 text='v'
+Read token at ../src/syntax/typing.nit:1135,56 text='.'
+Read token at ../src/syntax/typing.nit:1135,57--70 text='local_property'
+Read token at ../src/syntax/typing.nit:1135,71--73 text='}."'
+Read token at ../src/syntax/typing.nit:1135,74 text=')'
+Read token at ../src/syntax/typing.nit:1135,75--1136,0 text='
+'
+Read token at ../src/syntax/typing.nit:1136,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1136,10--1137,0 text='
+'
+Read token at ../src/syntax/typing.nit:1137,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1137,6--1138,0 text='
+'
+Read token at ../src/syntax/typing.nit:1138,1--1139,0 text='
+'
+Read token at ../src/syntax/typing.nit:1139,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1139,6--10 text='precs'
+Read token at ../src/syntax/typing.nit:1139,11 text='.'
+Read token at ../src/syntax/typing.nit:1139,12--16 text='first'
+Read token at ../src/syntax/typing.nit:1139,17 text='.'
+Read token at ../src/syntax/typing.nit:1139,18--30 text='signature_for'
+Read token at ../src/syntax/typing.nit:1139,31 text='('
+Read token at ../src/syntax/typing.nit:1139,32 text='v'
+Read token at ../src/syntax/typing.nit:1139,33 text='.'
+Read token at ../src/syntax/typing.nit:1139,34--41 text='self_var'
+Read token at ../src/syntax/typing.nit:1139,42 text='.'
+Read token at ../src/syntax/typing.nit:1139,43--47 text='stype'
+Read token at ../src/syntax/typing.nit:1139,48 text='.'
+Read token at ../src/syntax/typing.nit:1139,49--50 text='as'
+Read token at ../src/syntax/typing.nit:1139,51 text='('
+Read token at ../src/syntax/typing.nit:1139,52--54 text='not'
+Read token at ../src/syntax/typing.nit:1139,56--59 text='null'
+Read token at ../src/syntax/typing.nit:1139,60 text=')'
+Read token at ../src/syntax/typing.nit:1139,61 text=')'
+Read token at ../src/syntax/typing.nit:1139,62 text='.'
+Read token at ../src/syntax/typing.nit:1139,63--73 text='return_type'
+Read token at ../src/syntax/typing.nit:1139,75--76 text='!='
+Read token at ../src/syntax/typing.nit:1139,78--81 text='null'
+Read token at ../src/syntax/typing.nit:1139,83--86 text='then'
+Read token at ../src/syntax/typing.nit:1139,87--1140,0 text='
+'
+Read token at ../src/syntax/typing.nit:1140,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1140,8--13 text='stypes'
+Read token at ../src/syntax/typing.nit:1140,15 text='='
+Read token at ../src/syntax/typing.nit:1140,17--19 text='new'
+Read token at ../src/syntax/typing.nit:1140,21--25 text='Array'
+Read token at ../src/syntax/typing.nit:1140,26 text='['
+Read token at ../src/syntax/typing.nit:1140,27--32 text='MMType'
+Read token at ../src/syntax/typing.nit:1140,33 text=']'
+Read token at ../src/syntax/typing.nit:1140,34--1141,0 text='
+'
+Read token at ../src/syntax/typing.nit:1141,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1141,8--12 text='stype'
+Read token at ../src/syntax/typing.nit:1141,13 text=':'
+Read token at ../src/syntax/typing.nit:1141,15--22 text='nullable'
+Read token at ../src/syntax/typing.nit:1141,24--29 text='MMType'
+Read token at ../src/syntax/typing.nit:1141,31 text='='
+Read token at ../src/syntax/typing.nit:1141,33--36 text='null'
+Read token at ../src/syntax/typing.nit:1141,37--1142,0 text='
+'
+Read token at ../src/syntax/typing.nit:1142,4--6 text='for'
+Read token at ../src/syntax/typing.nit:1142,8--11 text='prop'
+Read token at ../src/syntax/typing.nit:1142,13--14 text='in'
+Read token at ../src/syntax/typing.nit:1142,16--20 text='precs'
+Read token at ../src/syntax/typing.nit:1142,22--23 text='do'
+Read token at ../src/syntax/typing.nit:1142,24--1143,0 text='
+'
+Read token at ../src/syntax/typing.nit:1143,5--10 text='assert'
+Read token at ../src/syntax/typing.nit:1143,12--15 text='prop'
+Read token at ../src/syntax/typing.nit:1143,17--19 text='isa'
+Read token at ../src/syntax/typing.nit:1143,21--28 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1143,29--1144,0 text='
+'
+Read token at ../src/syntax/typing.nit:1144,5--7 text='var'
+Read token at ../src/syntax/typing.nit:1144,9 text='t'
+Read token at ../src/syntax/typing.nit:1144,11 text='='
+Read token at ../src/syntax/typing.nit:1144,13--16 text='prop'
+Read token at ../src/syntax/typing.nit:1144,17 text='.'
+Read token at ../src/syntax/typing.nit:1144,18--30 text='signature_for'
+Read token at ../src/syntax/typing.nit:1144,31 text='('
+Read token at ../src/syntax/typing.nit:1144,32 text='v'
+Read token at ../src/syntax/typing.nit:1144,33 text='.'
+Read token at ../src/syntax/typing.nit:1144,34--41 text='self_var'
+Read token at ../src/syntax/typing.nit:1144,42 text='.'
+Read token at ../src/syntax/typing.nit:1144,43--47 text='stype'
+Read token at ../src/syntax/typing.nit:1144,48 text='.'
+Read token at ../src/syntax/typing.nit:1144,49--50 text='as'
+Read token at ../src/syntax/typing.nit:1144,51 text='('
+Read token at ../src/syntax/typing.nit:1144,52--54 text='not'
+Read token at ../src/syntax/typing.nit:1144,56--59 text='null'
+Read token at ../src/syntax/typing.nit:1144,60 text=')'
+Read token at ../src/syntax/typing.nit:1144,61 text=')'
+Read token at ../src/syntax/typing.nit:1144,62 text='.'
+Read token at ../src/syntax/typing.nit:1144,63--73 text='return_type'
+Read token at ../src/syntax/typing.nit:1144,74 text='.'
+Read token at ../src/syntax/typing.nit:1144,75--84 text='for_module'
+Read token at ../src/syntax/typing.nit:1144,85 text='('
+Read token at ../src/syntax/typing.nit:1144,86 text='v'
+Read token at ../src/syntax/typing.nit:1144,87 text='.'
+Read token at ../src/syntax/typing.nit:1144,88--95 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1144,96 text=')'
+Read token at ../src/syntax/typing.nit:1144,97 text='.'
+Read token at ../src/syntax/typing.nit:1144,98--105 text='adapt_to'
+Read token at ../src/syntax/typing.nit:1144,106 text='('
+Read token at ../src/syntax/typing.nit:1144,107 text='v'
+Read token at ../src/syntax/typing.nit:1144,108 text='.'
+Read token at ../src/syntax/typing.nit:1144,109--122 text='local_property'
+Read token at ../src/syntax/typing.nit:1144,123 text='.'
+Read token at ../src/syntax/typing.nit:1144,124--132 text='signature'
+Read token at ../src/syntax/typing.nit:1144,133 text='.'
+Read token at ../src/syntax/typing.nit:1144,134--137 text='recv'
+Read token at ../src/syntax/typing.nit:1144,138 text=')'
+Read token at ../src/syntax/typing.nit:1144,139--1145,0 text='
+'
+Read token at ../src/syntax/typing.nit:1145,5--10 text='stypes'
+Read token at ../src/syntax/typing.nit:1145,11 text='.'
+Read token at ../src/syntax/typing.nit:1145,12--14 text='add'
+Read token at ../src/syntax/typing.nit:1145,15 text='('
+Read token at ../src/syntax/typing.nit:1145,16 text='t'
+Read token at ../src/syntax/typing.nit:1145,17 text=')'
+Read token at ../src/syntax/typing.nit:1145,18--1146,0 text='
+'
+Read token at ../src/syntax/typing.nit:1146,5--6 text='if'
+Read token at ../src/syntax/typing.nit:1146,8--12 text='stype'
+Read token at ../src/syntax/typing.nit:1146,14--15 text='=='
+Read token at ../src/syntax/typing.nit:1146,17--20 text='null'
+Read token at ../src/syntax/typing.nit:1146,22--23 text='or'
+Read token at ../src/syntax/typing.nit:1146,25--29 text='stype'
+Read token at ../src/syntax/typing.nit:1146,31 text='<'
+Read token at ../src/syntax/typing.nit:1146,33 text='t'
+Read token at ../src/syntax/typing.nit:1146,35--38 text='then'
+Read token at ../src/syntax/typing.nit:1146,39--1147,0 text='
+'
+Read token at ../src/syntax/typing.nit:1147,6--10 text='stype'
+Read token at ../src/syntax/typing.nit:1147,12 text='='
+Read token at ../src/syntax/typing.nit:1147,14 text='t'
+Read token at ../src/syntax/typing.nit:1147,15--1148,0 text='
+'
+Read token at ../src/syntax/typing.nit:1148,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1148,8--1149,0 text='
+'
+Read token at ../src/syntax/typing.nit:1149,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1149,7--1150,0 text='
+'
+Read token at ../src/syntax/typing.nit:1150,4--6 text='for'
+Read token at ../src/syntax/typing.nit:1150,8 text='t'
+Read token at ../src/syntax/typing.nit:1150,10--11 text='in'
+Read token at ../src/syntax/typing.nit:1150,13--18 text='stypes'
+Read token at ../src/syntax/typing.nit:1150,20--21 text='do'
+Read token at ../src/syntax/typing.nit:1150,22--1151,0 text='
+'
+Read token at ../src/syntax/typing.nit:1151,5 text='v'
+Read token at ../src/syntax/typing.nit:1151,6 text='.'
+Read token at ../src/syntax/typing.nit:1151,7--19 text='check_conform'
+Read token at ../src/syntax/typing.nit:1151,20 text='('
+Read token at ../src/syntax/typing.nit:1151,21--24 text='self'
+Read token at ../src/syntax/typing.nit:1151,25 text=','
+Read token at ../src/syntax/typing.nit:1151,27 text='t'
+Read token at ../src/syntax/typing.nit:1151,28 text=','
+Read token at ../src/syntax/typing.nit:1151,30--34 text='stype'
+Read token at ../src/syntax/typing.nit:1151,35 text='.'
+Read token at ../src/syntax/typing.nit:1151,36--37 text='as'
+Read token at ../src/syntax/typing.nit:1151,38 text='('
+Read token at ../src/syntax/typing.nit:1151,39--41 text='not'
+Read token at ../src/syntax/typing.nit:1151,43--46 text='null'
+Read token at ../src/syntax/typing.nit:1151,47 text=')'
+Read token at ../src/syntax/typing.nit:1151,48 text=')'
+Read token at ../src/syntax/typing.nit:1151,49--1152,0 text='
+'
+Read token at ../src/syntax/typing.nit:1152,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1152,7--1153,0 text='
+'
+Read token at ../src/syntax/typing.nit:1153,4--9 text='_stype'
+Read token at ../src/syntax/typing.nit:1153,11 text='='
+Read token at ../src/syntax/typing.nit:1153,13--17 text='stype'
+Read token at ../src/syntax/typing.nit:1153,18--1154,0 text='
+'
+Read token at ../src/syntax/typing.nit:1154,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1154,6--1155,0 text='
+'
+Read token at ../src/syntax/typing.nit:1155,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1155,7 text='p'
+Read token at ../src/syntax/typing.nit:1155,9 text='='
+Read token at ../src/syntax/typing.nit:1155,11 text='v'
+Read token at ../src/syntax/typing.nit:1155,12 text='.'
+Read token at ../src/syntax/typing.nit:1155,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:1155,27--1156,0 text='
+'
+Read token at ../src/syntax/typing.nit:1156,3--8 text='assert'
+Read token at ../src/syntax/typing.nit:1156,10 text='p'
+Read token at ../src/syntax/typing.nit:1156,12--14 text='isa'
+Read token at ../src/syntax/typing.nit:1156,16--26 text='MMSrcMethod'
+Read token at ../src/syntax/typing.nit:1156,27--1157,0 text='
+'
+Read token at ../src/syntax/typing.nit:1157,3--7 text='_prop'
+Read token at ../src/syntax/typing.nit:1157,9 text='='
+Read token at ../src/syntax/typing.nit:1157,11 text='p'
+Read token at ../src/syntax/typing.nit:1157,12--1158,0 text='
+'
+Read token at ../src/syntax/typing.nit:1158,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1158,13 text='='
+Read token at ../src/syntax/typing.nit:1158,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1158,19--1159,0 text='
+'
+Read token at ../src/syntax/typing.nit:1159,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1159,5--1160,0 text='
+'
+Read token at ../src/syntax/typing.nit:1160,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1160,4--1161,0 text='
+'
+Read token at ../src/syntax/typing.nit:1161,1--1162,0 text='
+'
+Read token at ../src/syntax/typing.nit:1162,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1162,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1162,13--25 text='AAttrFormExpr'
+Read token at ../src/syntax/typing.nit:1162,26--1163,0 text='
+'
+Read token at ../src/syntax/typing.nit:1163,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1163,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1163,12--15 text='prop'
+Read token at ../src/syntax/typing.nit:1163,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1163,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1163,27--31 text='_prop'
+Read token at ../src/syntax/typing.nit:1163,32 text='.'
+Read token at ../src/syntax/typing.nit:1163,33--34 text='as'
+Read token at ../src/syntax/typing.nit:1163,35 text='('
+Read token at ../src/syntax/typing.nit:1163,36--38 text='not'
+Read token at ../src/syntax/typing.nit:1163,40--43 text='null'
+Read token at ../src/syntax/typing.nit:1163,44 text=')'
+Read token at ../src/syntax/typing.nit:1163,45--1164,0 text='
+'
+Read token at ../src/syntax/typing.nit:1164,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1164,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1164,11 text=':'
+Read token at ../src/syntax/typing.nit:1164,13--20 text='nullable'
+Read token at ../src/syntax/typing.nit:1164,22--32 text='MMAttribute'
+Read token at ../src/syntax/typing.nit:1164,33--1165,0 text='
+'
+Read token at ../src/syntax/typing.nit:1165,1--1166,0 text='
+'
+Read token at ../src/syntax/typing.nit:1166,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1166,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1166,12--20 text='attr_type'
+Read token at ../src/syntax/typing.nit:1166,22--23 text='do'
+Read token at ../src/syntax/typing.nit:1166,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1166,32--41 text='_attr_type'
+Read token at ../src/syntax/typing.nit:1166,42 text='.'
+Read token at ../src/syntax/typing.nit:1166,43--44 text='as'
+Read token at ../src/syntax/typing.nit:1166,45 text='('
+Read token at ../src/syntax/typing.nit:1166,46--48 text='not'
+Read token at ../src/syntax/typing.nit:1166,50--53 text='null'
+Read token at ../src/syntax/typing.nit:1166,54 text=')'
+Read token at ../src/syntax/typing.nit:1166,55--1167,0 text='
+'
+Read token at ../src/syntax/typing.nit:1167,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1167,6--15 text='_attr_type'
+Read token at ../src/syntax/typing.nit:1167,16 text=':'
+Read token at ../src/syntax/typing.nit:1167,18--25 text='nullable'
+Read token at ../src/syntax/typing.nit:1167,27--32 text='MMType'
+Read token at ../src/syntax/typing.nit:1167,33--1168,0 text='
+'
+Read token at ../src/syntax/typing.nit:1168,1--1169,0 text='
+'
+Read token at ../src/syntax/typing.nit:1169,2--1170,0 text='# Compute the attribute accessed
+'
+Read token at ../src/syntax/typing.nit:1170,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1170,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1170,14--22 text='do_typing'
+Read token at ../src/syntax/typing.nit:1170,23 text='('
+Read token at ../src/syntax/typing.nit:1170,24 text='v'
+Read token at ../src/syntax/typing.nit:1170,25 text=':'
+Read token at ../src/syntax/typing.nit:1170,27--39 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1170,40 text=')'
+Read token at ../src/syntax/typing.nit:1170,41--1171,0 text='
+'
+Read token at ../src/syntax/typing.nit:1171,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1171,4--1172,0 text='
+'
+Read token at ../src/syntax/typing.nit:1172,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1172,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1172,10 text='v'
+Read token at ../src/syntax/typing.nit:1172,11 text='.'
+Read token at ../src/syntax/typing.nit:1172,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:1172,22 text='('
+Read token at ../src/syntax/typing.nit:1172,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:1172,29 text=')'
+Read token at ../src/syntax/typing.nit:1172,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1172,36--41 text='return'
+Read token at ../src/syntax/typing.nit:1172,42--1173,0 text='
+'
+Read token at ../src/syntax/typing.nit:1173,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1173,7--15 text='type_recv'
+Read token at ../src/syntax/typing.nit:1173,17 text='='
+Read token at ../src/syntax/typing.nit:1173,19--24 text='n_expr'
+Read token at ../src/syntax/typing.nit:1173,25 text='.'
+Read token at ../src/syntax/typing.nit:1173,26--30 text='stype'
+Read token at ../src/syntax/typing.nit:1173,31--1174,0 text='
+'
+Read token at ../src/syntax/typing.nit:1174,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1174,7--10 text='name'
+Read token at ../src/syntax/typing.nit:1174,12 text='='
+Read token at ../src/syntax/typing.nit:1174,14--17 text='n_id'
+Read token at ../src/syntax/typing.nit:1174,18 text='.'
+Read token at ../src/syntax/typing.nit:1174,19--27 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1174,28--1175,0 text='
+'
+Read token at ../src/syntax/typing.nit:1175,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1175,6--14 text='type_recv'
+Read token at ../src/syntax/typing.nit:1175,16--18 text='isa'
+Read token at ../src/syntax/typing.nit:1175,20--29 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1175,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1175,35--1176,0 text='
+'
+Read token at ../src/syntax/typing.nit:1176,4 text='v'
+Read token at ../src/syntax/typing.nit:1176,5 text='.'
+Read token at ../src/syntax/typing.nit:1176,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1176,11 text='('
+Read token at ../src/syntax/typing.nit:1176,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1176,16 text=','
+Read token at ../src/syntax/typing.nit:1176,18--37 text='"Error: Attribute '{'
+Read token at ../src/syntax/typing.nit:1176,38--41 text='name'
+Read token at ../src/syntax/typing.nit:1176,42--62 text='}' access on 'null'."'
+Read token at ../src/syntax/typing.nit:1176,63 text=')'
+Read token at ../src/syntax/typing.nit:1176,64--1177,0 text='
+'
+Read token at ../src/syntax/typing.nit:1177,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1177,10--1178,0 text='
+'
+Read token at ../src/syntax/typing.nit:1178,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1178,6--1179,0 text='
+'
+Read token at ../src/syntax/typing.nit:1179,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1179,7--8 text='lc'
+Read token at ../src/syntax/typing.nit:1179,10 text='='
+Read token at ../src/syntax/typing.nit:1179,12--20 text='type_recv'
+Read token at ../src/syntax/typing.nit:1179,21 text='.'
+Read token at ../src/syntax/typing.nit:1179,22--32 text='local_class'
+Read token at ../src/syntax/typing.nit:1179,33--1180,0 text='
+'
+Read token at ../src/syntax/typing.nit:1180,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1180,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1180,10--11 text='lc'
+Read token at ../src/syntax/typing.nit:1180,12 text='.'
+Read token at ../src/syntax/typing.nit:1180,13--39 text='has_global_property_by_name'
+Read token at ../src/syntax/typing.nit:1180,40 text='('
+Read token at ../src/syntax/typing.nit:1180,41--44 text='name'
+Read token at ../src/syntax/typing.nit:1180,45 text=')'
+Read token at ../src/syntax/typing.nit:1180,47--50 text='then'
+Read token at ../src/syntax/typing.nit:1180,51--1181,0 text='
+'
+Read token at ../src/syntax/typing.nit:1181,4 text='v'
+Read token at ../src/syntax/typing.nit:1181,5 text='.'
+Read token at ../src/syntax/typing.nit:1181,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1181,11 text='('
+Read token at ../src/syntax/typing.nit:1181,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1181,16 text=','
+Read token at ../src/syntax/typing.nit:1181,18--36 text='"Error: Attribute {'
+Read token at ../src/syntax/typing.nit:1181,37--40 text='name'
+Read token at ../src/syntax/typing.nit:1181,41--61 text='} doesn't exists in {'
+Read token at ../src/syntax/typing.nit:1181,62--70 text='type_recv'
+Read token at ../src/syntax/typing.nit:1181,71--73 text='}."'
+Read token at ../src/syntax/typing.nit:1181,74 text=')'
+Read token at ../src/syntax/typing.nit:1181,75--1182,0 text='
+'
+Read token at ../src/syntax/typing.nit:1182,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1182,10--1183,0 text='
+'
+Read token at ../src/syntax/typing.nit:1183,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1183,6--1184,0 text='
+'
+Read token at ../src/syntax/typing.nit:1184,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1184,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:1184,12 text='='
+Read token at ../src/syntax/typing.nit:1184,14--15 text='lc'
+Read token at ../src/syntax/typing.nit:1184,16 text='.'
+Read token at ../src/syntax/typing.nit:1184,17--32 text='select_attribute'
+Read token at ../src/syntax/typing.nit:1184,33 text='('
+Read token at ../src/syntax/typing.nit:1184,34--37 text='name'
+Read token at ../src/syntax/typing.nit:1184,38 text=')'
+Read token at ../src/syntax/typing.nit:1184,39--1185,0 text='
+'
+Read token at ../src/syntax/typing.nit:1185,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1185,6 text='v'
+Read token at ../src/syntax/typing.nit:1185,7 text='.'
+Read token at ../src/syntax/typing.nit:1185,8--15 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1185,16 text='.'
+Read token at ../src/syntax/typing.nit:1185,17--30 text='visibility_for'
+Read token at ../src/syntax/typing.nit:1185,31 text='('
+Read token at ../src/syntax/typing.nit:1185,32--35 text='prop'
+Read token at ../src/syntax/typing.nit:1185,36 text='.'
+Read token at ../src/syntax/typing.nit:1185,37--42 text='global'
+Read token at ../src/syntax/typing.nit:1185,43 text='.'
+Read token at ../src/syntax/typing.nit:1185,44--54 text='local_class'
+Read token at ../src/syntax/typing.nit:1185,55 text='.'
+Read token at ../src/syntax/typing.nit:1185,56--63 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1185,64 text=')'
+Read token at ../src/syntax/typing.nit:1185,66 text='<'
+Read token at ../src/syntax/typing.nit:1185,68 text='3'
+Read token at ../src/syntax/typing.nit:1185,70--73 text='then'
+Read token at ../src/syntax/typing.nit:1185,74--1186,0 text='
+'
+Read token at ../src/syntax/typing.nit:1186,4 text='v'
+Read token at ../src/syntax/typing.nit:1186,5 text='.'
+Read token at ../src/syntax/typing.nit:1186,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1186,11 text='('
+Read token at ../src/syntax/typing.nit:1186,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1186,16 text=','
+Read token at ../src/syntax/typing.nit:1186,18--36 text='"Error: Attribute {'
+Read token at ../src/syntax/typing.nit:1186,37--40 text='name'
+Read token at ../src/syntax/typing.nit:1186,41--48 text='} from {'
+Read token at ../src/syntax/typing.nit:1186,49--52 text='prop'
+Read token at ../src/syntax/typing.nit:1186,53 text='.'
+Read token at ../src/syntax/typing.nit:1186,54--59 text='global'
+Read token at ../src/syntax/typing.nit:1186,60 text='.'
+Read token at ../src/syntax/typing.nit:1186,61--71 text='local_class'
+Read token at ../src/syntax/typing.nit:1186,72 text='.'
+Read token at ../src/syntax/typing.nit:1186,73--80 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1186,81--99 text='} is invisible in {'
+Read token at ../src/syntax/typing.nit:1186,100 text='v'
+Read token at ../src/syntax/typing.nit:1186,101 text='.'
+Read token at ../src/syntax/typing.nit:1186,102--109 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1186,110--111 text='}"'
+Read token at ../src/syntax/typing.nit:1186,112 text=')'
+Read token at ../src/syntax/typing.nit:1186,113--1187,0 text='
+'
+Read token at ../src/syntax/typing.nit:1187,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1187,6--1188,0 text='
+'
+Read token at ../src/syntax/typing.nit:1188,3--7 text='_prop'
+Read token at ../src/syntax/typing.nit:1188,9 text='='
+Read token at ../src/syntax/typing.nit:1188,11--14 text='prop'
+Read token at ../src/syntax/typing.nit:1188,15--1189,0 text='
+'
+Read token at ../src/syntax/typing.nit:1189,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1189,7--8 text='at'
+Read token at ../src/syntax/typing.nit:1189,10 text='='
+Read token at ../src/syntax/typing.nit:1189,12--15 text='prop'
+Read token at ../src/syntax/typing.nit:1189,16 text='.'
+Read token at ../src/syntax/typing.nit:1189,17--29 text='signature_for'
+Read token at ../src/syntax/typing.nit:1189,30 text='('
+Read token at ../src/syntax/typing.nit:1189,31--39 text='type_recv'
+Read token at ../src/syntax/typing.nit:1189,40 text=')'
+Read token at ../src/syntax/typing.nit:1189,41 text='.'
+Read token at ../src/syntax/typing.nit:1189,42--52 text='return_type'
+Read token at ../src/syntax/typing.nit:1189,54--1190,0 text='
+'
+Read token at ../src/syntax/typing.nit:1190,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1190,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1190,10--15 text='n_expr'
+Read token at ../src/syntax/typing.nit:1190,16 text='.'
+Read token at ../src/syntax/typing.nit:1190,17--23 text='is_self'
+Read token at ../src/syntax/typing.nit:1190,25--28 text='then'
+Read token at ../src/syntax/typing.nit:1190,30--31 text='at'
+Read token at ../src/syntax/typing.nit:1190,33 text='='
+Read token at ../src/syntax/typing.nit:1190,35--36 text='at'
+Read token at ../src/syntax/typing.nit:1190,37 text='.'
+Read token at ../src/syntax/typing.nit:1190,38--49 text='not_for_self'
+Read token at ../src/syntax/typing.nit:1190,50--1191,0 text='
+'
+Read token at ../src/syntax/typing.nit:1191,3--12 text='_attr_type'
+Read token at ../src/syntax/typing.nit:1191,14 text='='
+Read token at ../src/syntax/typing.nit:1191,16--17 text='at'
+Read token at ../src/syntax/typing.nit:1191,18--1192,0 text='
+'
+Read token at ../src/syntax/typing.nit:1192,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1192,5--1193,0 text='
+'
+Read token at ../src/syntax/typing.nit:1193,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1193,4--1194,0 text='
+'
+Read token at ../src/syntax/typing.nit:1194,1--1195,0 text='
+'
+Read token at ../src/syntax/typing.nit:1195,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1195,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1195,13--21 text='AAttrExpr'
+Read token at ../src/syntax/typing.nit:1195,22--1196,0 text='
+'
+Read token at ../src/syntax/typing.nit:1196,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1196,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1196,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1196,24 text='('
+Read token at ../src/syntax/typing.nit:1196,25 text='v'
+Read token at ../src/syntax/typing.nit:1196,26 text=')'
+Read token at ../src/syntax/typing.nit:1196,27--1197,0 text='
+'
+Read token at ../src/syntax/typing.nit:1197,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1197,4--1198,0 text='
+'
+Read token at ../src/syntax/typing.nit:1198,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1198,12 text='('
+Read token at ../src/syntax/typing.nit:1198,13 text='v'
+Read token at ../src/syntax/typing.nit:1198,14 text=')'
+Read token at ../src/syntax/typing.nit:1198,15--1199,0 text='
+'
+Read token at ../src/syntax/typing.nit:1199,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1199,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1199,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1199,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1199,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1199,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1199,31--1200,0 text='
+'
+Read token at ../src/syntax/typing.nit:1200,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1200,10 text='='
+Read token at ../src/syntax/typing.nit:1200,12--20 text='attr_type'
+Read token at ../src/syntax/typing.nit:1200,21--1201,0 text='
+'
+Read token at ../src/syntax/typing.nit:1201,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1201,13 text='='
+Read token at ../src/syntax/typing.nit:1201,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1201,19--1202,0 text='
+'
+Read token at ../src/syntax/typing.nit:1202,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1202,5--1203,0 text='
+'
+Read token at ../src/syntax/typing.nit:1203,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1203,4--1204,0 text='
+'
+Read token at ../src/syntax/typing.nit:1204,1--1205,0 text='
+'
+Read token at ../src/syntax/typing.nit:1205,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1205,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1205,13--27 text='AAttrAssignExpr'
+Read token at ../src/syntax/typing.nit:1205,28--1206,0 text='
+'
+Read token at ../src/syntax/typing.nit:1206,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1206,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1206,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1206,24 text='('
+Read token at ../src/syntax/typing.nit:1206,25 text='v'
+Read token at ../src/syntax/typing.nit:1206,26 text=')'
+Read token at ../src/syntax/typing.nit:1206,27--1207,0 text='
+'
+Read token at ../src/syntax/typing.nit:1207,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1207,4--1208,0 text='
+'
+Read token at ../src/syntax/typing.nit:1208,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1208,12 text='('
+Read token at ../src/syntax/typing.nit:1208,13 text='v'
+Read token at ../src/syntax/typing.nit:1208,14 text=')'
+Read token at ../src/syntax/typing.nit:1208,15--1209,0 text='
+'
+Read token at ../src/syntax/typing.nit:1209,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1209,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1209,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1209,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1209,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1209,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1209,31--1210,0 text='
+'
+Read token at ../src/syntax/typing.nit:1210,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1210,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1210,10 text='v'
+Read token at ../src/syntax/typing.nit:1210,11 text='.'
+Read token at ../src/syntax/typing.nit:1210,12--29 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:1210,30 text='('
+Read token at ../src/syntax/typing.nit:1210,31--37 text='n_value'
+Read token at ../src/syntax/typing.nit:1210,38 text=','
+Read token at ../src/syntax/typing.nit:1210,40--48 text='attr_type'
+Read token at ../src/syntax/typing.nit:1210,49 text=')'
+Read token at ../src/syntax/typing.nit:1210,51--54 text='then'
+Read token at ../src/syntax/typing.nit:1210,56--61 text='return'
+Read token at ../src/syntax/typing.nit:1210,62--1211,0 text='
+'
+Read token at ../src/syntax/typing.nit:1211,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1211,13 text='='
+Read token at ../src/syntax/typing.nit:1211,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1211,19--1212,0 text='
+'
+Read token at ../src/syntax/typing.nit:1212,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1212,5--1213,0 text='
+'
+Read token at ../src/syntax/typing.nit:1213,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1213,4--1214,0 text='
+'
+Read token at ../src/syntax/typing.nit:1214,1--1215,0 text='
+'
+Read token at ../src/syntax/typing.nit:1215,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1215,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1215,13--29 text='AAttrReassignExpr'
+Read token at ../src/syntax/typing.nit:1215,30--1216,0 text='
+'
+Read token at ../src/syntax/typing.nit:1216,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1216,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1216,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1216,24 text='('
+Read token at ../src/syntax/typing.nit:1216,25 text='v'
+Read token at ../src/syntax/typing.nit:1216,26 text=')'
+Read token at ../src/syntax/typing.nit:1216,27--1217,0 text='
+'
+Read token at ../src/syntax/typing.nit:1217,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1217,4--1218,0 text='
+'
+Read token at ../src/syntax/typing.nit:1218,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1218,12 text='('
+Read token at ../src/syntax/typing.nit:1218,13 text='v'
+Read token at ../src/syntax/typing.nit:1218,14 text=')'
+Read token at ../src/syntax/typing.nit:1218,15--1219,0 text='
+'
+Read token at ../src/syntax/typing.nit:1219,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1219,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1219,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1219,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1219,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1219,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1219,31--1220,0 text='
+'
+Read token at ../src/syntax/typing.nit:1220,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1220,7 text='t'
+Read token at ../src/syntax/typing.nit:1220,9 text='='
+Read token at ../src/syntax/typing.nit:1220,11--26 text='do_rvalue_typing'
+Read token at ../src/syntax/typing.nit:1220,27 text='('
+Read token at ../src/syntax/typing.nit:1220,28 text='v'
+Read token at ../src/syntax/typing.nit:1220,29 text=','
+Read token at ../src/syntax/typing.nit:1220,31--39 text='attr_type'
+Read token at ../src/syntax/typing.nit:1220,40 text=')'
+Read token at ../src/syntax/typing.nit:1220,41--1221,0 text='
+'
+Read token at ../src/syntax/typing.nit:1221,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1221,6 text='t'
+Read token at ../src/syntax/typing.nit:1221,8--9 text='=='
+Read token at ../src/syntax/typing.nit:1221,11--14 text='null'
+Read token at ../src/syntax/typing.nit:1221,16--19 text='then'
+Read token at ../src/syntax/typing.nit:1221,21--26 text='return'
+Read token at ../src/syntax/typing.nit:1221,27--1222,0 text='
+'
+Read token at ../src/syntax/typing.nit:1222,3 text='v'
+Read token at ../src/syntax/typing.nit:1222,4 text='.'
+Read token at ../src/syntax/typing.nit:1222,5--17 text='check_conform'
+Read token at ../src/syntax/typing.nit:1222,18 text='('
+Read token at ../src/syntax/typing.nit:1222,19--22 text='self'
+Read token at ../src/syntax/typing.nit:1222,23 text=','
+Read token at ../src/syntax/typing.nit:1222,25 text='t'
+Read token at ../src/syntax/typing.nit:1222,26 text=','
+Read token at ../src/syntax/typing.nit:1222,28--34 text='n_value'
+Read token at ../src/syntax/typing.nit:1222,35 text='.'
+Read token at ../src/syntax/typing.nit:1222,36--40 text='stype'
+Read token at ../src/syntax/typing.nit:1222,41 text=')'
+Read token at ../src/syntax/typing.nit:1222,42--1223,0 text='
+'
+Read token at ../src/syntax/typing.nit:1223,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1223,13 text='='
+Read token at ../src/syntax/typing.nit:1223,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1223,19--1224,0 text='
+'
+Read token at ../src/syntax/typing.nit:1224,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1224,5--1225,0 text='
+'
+Read token at ../src/syntax/typing.nit:1225,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1225,4--1226,0 text='
+'
+Read token at ../src/syntax/typing.nit:1226,1--1227,0 text='
+'
+Read token at ../src/syntax/typing.nit:1227,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1227,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1227,13--26 text='AIssetAttrExpr'
+Read token at ../src/syntax/typing.nit:1227,27--1228,0 text='
+'
+Read token at ../src/syntax/typing.nit:1228,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1228,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1228,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1228,24 text='('
+Read token at ../src/syntax/typing.nit:1228,25 text='v'
+Read token at ../src/syntax/typing.nit:1228,26 text=')'
+Read token at ../src/syntax/typing.nit:1228,27--1229,0 text='
+'
+Read token at ../src/syntax/typing.nit:1229,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1229,4--1230,0 text='
+'
+Read token at ../src/syntax/typing.nit:1230,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1230,12 text='('
+Read token at ../src/syntax/typing.nit:1230,13 text='v'
+Read token at ../src/syntax/typing.nit:1230,14 text=')'
+Read token at ../src/syntax/typing.nit:1230,15--1231,0 text='
+'
+Read token at ../src/syntax/typing.nit:1231,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1231,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1231,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1231,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1231,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1231,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1231,31--1232,0 text='
+'
+Read token at ../src/syntax/typing.nit:1232,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1232,6--14 text='attr_type'
+Read token at ../src/syntax/typing.nit:1232,15 text='.'
+Read token at ../src/syntax/typing.nit:1232,16--26 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1232,28--31 text='then'
+Read token at ../src/syntax/typing.nit:1232,32--1233,0 text='
+'
+Read token at ../src/syntax/typing.nit:1233,4 text='v'
+Read token at ../src/syntax/typing.nit:1233,5 text='.'
+Read token at ../src/syntax/typing.nit:1233,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1233,11 text='('
+Read token at ../src/syntax/typing.nit:1233,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1233,16 text=','
+Read token at ../src/syntax/typing.nit:1233,18--56 text='"Error: isset on a nullable attribute."'
+Read token at ../src/syntax/typing.nit:1233,57 text=')'
+Read token at ../src/syntax/typing.nit:1233,58--1234,0 text='
+'
+Read token at ../src/syntax/typing.nit:1234,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1234,6--1235,0 text='
+'
+Read token at ../src/syntax/typing.nit:1235,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1235,10 text='='
+Read token at ../src/syntax/typing.nit:1235,12 text='v'
+Read token at ../src/syntax/typing.nit:1235,13 text='.'
+Read token at ../src/syntax/typing.nit:1235,14--22 text='type_bool'
+Read token at ../src/syntax/typing.nit:1235,23--1236,0 text='
+'
+Read token at ../src/syntax/typing.nit:1236,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1236,13 text='='
+Read token at ../src/syntax/typing.nit:1236,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1236,19--1237,0 text='
+'
+Read token at ../src/syntax/typing.nit:1237,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1237,5--1238,0 text='
+'
+Read token at ../src/syntax/typing.nit:1238,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1238,4--1239,0 text='
+'
+Read token at ../src/syntax/typing.nit:1239,1--1240,0 text='
+'
+Read token at ../src/syntax/typing.nit:1240,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1240,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1240,13--27 text='AAbsAbsSendExpr'
+Read token at ../src/syntax/typing.nit:1240,28--1241,0 text='
+'
+Read token at ../src/syntax/typing.nit:1241,2--1242,0 text='# The signature of the called property
+'
+Read token at ../src/syntax/typing.nit:1242,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1242,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1242,12--25 text='prop_signature'
+Read token at ../src/syntax/typing.nit:1242,27--28 text='do'
+Read token at ../src/syntax/typing.nit:1242,30--35 text='return'
+Read token at ../src/syntax/typing.nit:1242,37--51 text='_prop_signature'
+Read token at ../src/syntax/typing.nit:1242,52 text='.'
+Read token at ../src/syntax/typing.nit:1242,53--54 text='as'
+Read token at ../src/syntax/typing.nit:1242,55 text='('
+Read token at ../src/syntax/typing.nit:1242,56--58 text='not'
+Read token at ../src/syntax/typing.nit:1242,60--63 text='null'
+Read token at ../src/syntax/typing.nit:1242,64 text=')'
+Read token at ../src/syntax/typing.nit:1242,65--1243,0 text='
+'
+Read token at ../src/syntax/typing.nit:1243,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1243,6--20 text='_prop_signature'
+Read token at ../src/syntax/typing.nit:1243,21 text=':'
+Read token at ../src/syntax/typing.nit:1243,23--30 text='nullable'
+Read token at ../src/syntax/typing.nit:1243,32--42 text='MMSignature'
+Read token at ../src/syntax/typing.nit:1243,43--1244,0 text='
+'
+Read token at ../src/syntax/typing.nit:1244,1--1245,0 text='
+'
+Read token at ../src/syntax/typing.nit:1245,2--1246,0 text='# Raw arguments used (without vararg transformation)
+'
+Read token at ../src/syntax/typing.nit:1246,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1246,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1246,12--24 text='raw_arguments'
+Read token at ../src/syntax/typing.nit:1246,25 text=':'
+Read token at ../src/syntax/typing.nit:1246,27--31 text='Array'
+Read token at ../src/syntax/typing.nit:1246,32 text='['
+Read token at ../src/syntax/typing.nit:1246,33--37 text='AExpr'
+Read token at ../src/syntax/typing.nit:1246,38 text=']'
+Read token at ../src/syntax/typing.nit:1246,39--1247,0 text='
+'
+Read token at ../src/syntax/typing.nit:1247,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1247,4--1248,0 text='
+'
+Read token at ../src/syntax/typing.nit:1248,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1248,7--9 text='res'
+Read token at ../src/syntax/typing.nit:1248,11 text='='
+Read token at ../src/syntax/typing.nit:1248,13--32 text='_raw_arguments_cache'
+Read token at ../src/syntax/typing.nit:1248,33--1249,0 text='
+'
+Read token at ../src/syntax/typing.nit:1249,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1249,6--8 text='res'
+Read token at ../src/syntax/typing.nit:1249,10--11 text='!='
+Read token at ../src/syntax/typing.nit:1249,13--16 text='null'
+Read token at ../src/syntax/typing.nit:1249,18--21 text='then'
+Read token at ../src/syntax/typing.nit:1249,22--1250,0 text='
+'
+Read token at ../src/syntax/typing.nit:1250,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1250,11--13 text='res'
+Read token at ../src/syntax/typing.nit:1250,14--1251,0 text='
+'
+Read token at ../src/syntax/typing.nit:1251,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1251,7--1252,0 text='
+'
+Read token at ../src/syntax/typing.nit:1252,4--6 text='res'
+Read token at ../src/syntax/typing.nit:1252,8 text='='
+Read token at ../src/syntax/typing.nit:1252,10--30 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1252,31--1253,0 text='
+'
+Read token at ../src/syntax/typing.nit:1253,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1253,7--9 text='res'
+Read token at ../src/syntax/typing.nit:1253,11--12 text='=='
+Read token at ../src/syntax/typing.nit:1253,14--17 text='null'
+Read token at ../src/syntax/typing.nit:1253,19--22 text='then'
+Read token at ../src/syntax/typing.nit:1253,24--26 text='res'
+Read token at ../src/syntax/typing.nit:1253,28 text='='
+Read token at ../src/syntax/typing.nit:1253,30--32 text='new'
+Read token at ../src/syntax/typing.nit:1253,34--38 text='Array'
+Read token at ../src/syntax/typing.nit:1253,39 text='['
+Read token at ../src/syntax/typing.nit:1253,40--44 text='AExpr'
+Read token at ../src/syntax/typing.nit:1253,45 text=']'
+Read token at ../src/syntax/typing.nit:1253,46--1254,0 text='
+'
+Read token at ../src/syntax/typing.nit:1254,4--23 text='_raw_arguments_cache'
+Read token at ../src/syntax/typing.nit:1254,25 text='='
+Read token at ../src/syntax/typing.nit:1254,27--29 text='res'
+Read token at ../src/syntax/typing.nit:1254,30--1255,0 text='
+'
+Read token at ../src/syntax/typing.nit:1255,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1255,11--13 text='res'
+Read token at ../src/syntax/typing.nit:1255,14--1256,0 text='
+'
+Read token at ../src/syntax/typing.nit:1256,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1256,6--1257,0 text='
+'
+Read token at ../src/syntax/typing.nit:1257,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1257,5--1258,0 text='
+'
+Read token at ../src/syntax/typing.nit:1258,1--1259,0 text='
+'
+Read token at ../src/syntax/typing.nit:1259,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1259,6--25 text='_raw_arguments_cache'
+Read token at ../src/syntax/typing.nit:1259,26 text=':'
+Read token at ../src/syntax/typing.nit:1259,28--35 text='nullable'
+Read token at ../src/syntax/typing.nit:1259,37--41 text='Array'
+Read token at ../src/syntax/typing.nit:1259,42 text='['
+Read token at ../src/syntax/typing.nit:1259,43--47 text='AExpr'
+Read token at ../src/syntax/typing.nit:1259,48 text=']'
+Read token at ../src/syntax/typing.nit:1259,50 text='='
+Read token at ../src/syntax/typing.nit:1259,52--55 text='null'
+Read token at ../src/syntax/typing.nit:1259,56--1260,0 text='
+'
+Read token at ../src/syntax/typing.nit:1260,1--1261,0 text='
+'
+Read token at ../src/syntax/typing.nit:1261,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:1261,6--26 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1261,27 text=':'
+Read token at ../src/syntax/typing.nit:1261,29--36 text='nullable'
+Read token at ../src/syntax/typing.nit:1261,38--42 text='Array'
+Read token at ../src/syntax/typing.nit:1261,43 text='['
+Read token at ../src/syntax/typing.nit:1261,44--48 text='AExpr'
+Read token at ../src/syntax/typing.nit:1261,49 text=']'
+Read token at ../src/syntax/typing.nit:1261,50--1262,0 text='
+'
+Read token at ../src/syntax/typing.nit:1262,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1262,4--1263,0 text='
+'
+Read token at ../src/syntax/typing.nit:1263,3--7 text='print'
+Read token at ../src/syntax/typing.nit:1263,9--10 text='"{'
+Read token at ../src/syntax/typing.nit:1263,11--18 text='location'
+Read token at ../src/syntax/typing.nit:1263,19--45 text='} no compute_raw_arguments"'
+Read token at ../src/syntax/typing.nit:1263,46--1264,0 text='
+'
+Read token at ../src/syntax/typing.nit:1264,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1264,10--13 text='null'
+Read token at ../src/syntax/typing.nit:1264,14--1265,0 text='
+'
+Read token at ../src/syntax/typing.nit:1265,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1265,5--1266,0 text='
+'
+Read token at ../src/syntax/typing.nit:1266,1--1267,0 text='
+'
+Read token at ../src/syntax/typing.nit:1267,2--1268,0 text='# Check the conformity of a set of arguments `raw_args' to a signature.
+'
+Read token at ../src/syntax/typing.nit:1268,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1268,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1268,14--30 text='process_signature'
+Read token at ../src/syntax/typing.nit:1268,31 text='('
+Read token at ../src/syntax/typing.nit:1268,32 text='v'
+Read token at ../src/syntax/typing.nit:1268,33 text=':'
+Read token at ../src/syntax/typing.nit:1268,35--47 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1268,48 text=','
+Read token at ../src/syntax/typing.nit:1268,50--53 text='psig'
+Read token at ../src/syntax/typing.nit:1268,54 text=':'
+Read token at ../src/syntax/typing.nit:1268,56--66 text='MMSignature'
+Read token at ../src/syntax/typing.nit:1268,67 text=','
+Read token at ../src/syntax/typing.nit:1268,69--72 text='name'
+Read token at ../src/syntax/typing.nit:1268,73 text=':'
+Read token at ../src/syntax/typing.nit:1268,75--80 text='Symbol'
+Read token at ../src/syntax/typing.nit:1268,81 text=','
+Read token at ../src/syntax/typing.nit:1268,83--90 text='raw_args'
+Read token at ../src/syntax/typing.nit:1268,91 text=':'
+Read token at ../src/syntax/typing.nit:1268,93--100 text='nullable'
+Read token at ../src/syntax/typing.nit:1268,102--106 text='Array'
+Read token at ../src/syntax/typing.nit:1268,107 text='['
+Read token at ../src/syntax/typing.nit:1268,108--112 text='AExpr'
+Read token at ../src/syntax/typing.nit:1268,113 text=']'
+Read token at ../src/syntax/typing.nit:1268,114 text=')'
+Read token at ../src/syntax/typing.nit:1268,115 text=':'
+Read token at ../src/syntax/typing.nit:1268,117--120 text='Bool'
+Read token at ../src/syntax/typing.nit:1268,121--1269,0 text='
+'
+Read token at ../src/syntax/typing.nit:1269,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1269,4--1270,0 text='
+'
+Read token at ../src/syntax/typing.nit:1270,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1270,7--16 text='par_vararg'
+Read token at ../src/syntax/typing.nit:1270,18 text='='
+Read token at ../src/syntax/typing.nit:1270,20--23 text='psig'
+Read token at ../src/syntax/typing.nit:1270,24 text='.'
+Read token at ../src/syntax/typing.nit:1270,25--35 text='vararg_rank'
+Read token at ../src/syntax/typing.nit:1270,36--1271,0 text='
+'
+Read token at ../src/syntax/typing.nit:1271,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1271,7--15 text='par_arity'
+Read token at ../src/syntax/typing.nit:1271,17 text='='
+Read token at ../src/syntax/typing.nit:1271,19--22 text='psig'
+Read token at ../src/syntax/typing.nit:1271,23 text='.'
+Read token at ../src/syntax/typing.nit:1271,24--28 text='arity'
+Read token at ../src/syntax/typing.nit:1271,29--1272,0 text='
+'
+Read token at ../src/syntax/typing.nit:1272,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1272,7--15 text='raw_arity'
+Read token at ../src/syntax/typing.nit:1272,16 text=':'
+Read token at ../src/syntax/typing.nit:1272,18--20 text='Int'
+Read token at ../src/syntax/typing.nit:1272,21--1273,0 text='
+'
+Read token at ../src/syntax/typing.nit:1273,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1273,6--13 text='raw_args'
+Read token at ../src/syntax/typing.nit:1273,15--16 text='=='
+Read token at ../src/syntax/typing.nit:1273,18--21 text='null'
+Read token at ../src/syntax/typing.nit:1273,23--26 text='then'
+Read token at ../src/syntax/typing.nit:1273,28--36 text='raw_arity'
+Read token at ../src/syntax/typing.nit:1273,38 text='='
+Read token at ../src/syntax/typing.nit:1273,40 text='0'
+Read token at ../src/syntax/typing.nit:1273,42--45 text='else'
+Read token at ../src/syntax/typing.nit:1273,47--55 text='raw_arity'
+Read token at ../src/syntax/typing.nit:1273,57 text='='
+Read token at ../src/syntax/typing.nit:1273,59--66 text='raw_args'
+Read token at ../src/syntax/typing.nit:1273,67 text='.'
+Read token at ../src/syntax/typing.nit:1273,68--73 text='length'
+Read token at ../src/syntax/typing.nit:1273,74--1274,0 text='
+'
+Read token at ../src/syntax/typing.nit:1274,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1274,6--14 text='par_arity'
+Read token at ../src/syntax/typing.nit:1274,16 text='>'
+Read token at ../src/syntax/typing.nit:1274,18--26 text='raw_arity'
+Read token at ../src/syntax/typing.nit:1274,28--29 text='or'
+Read token at ../src/syntax/typing.nit:1274,31 text='('
+Read token at ../src/syntax/typing.nit:1274,32--40 text='par_arity'
+Read token at ../src/syntax/typing.nit:1274,42--43 text='!='
+Read token at ../src/syntax/typing.nit:1274,45--53 text='raw_arity'
+Read token at ../src/syntax/typing.nit:1274,55--57 text='and'
+Read token at ../src/syntax/typing.nit:1274,59--68 text='par_vararg'
+Read token at ../src/syntax/typing.nit:1274,70--71 text='=='
+Read token at ../src/syntax/typing.nit:1274,73 text='-'
+Read token at ../src/syntax/typing.nit:1274,74 text='1'
+Read token at ../src/syntax/typing.nit:1274,75 text=')'
+Read token at ../src/syntax/typing.nit:1274,77--80 text='then'
+Read token at ../src/syntax/typing.nit:1274,81--1275,0 text='
+'
+Read token at ../src/syntax/typing.nit:1275,4 text='v'
+Read token at ../src/syntax/typing.nit:1275,5 text='.'
+Read token at ../src/syntax/typing.nit:1275,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1275,11 text='('
+Read token at ../src/syntax/typing.nit:1275,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1275,16 text=','
+Read token at ../src/syntax/typing.nit:1275,18--56 text='"Error: arity mismatch; prototype is '{'
+Read token at ../src/syntax/typing.nit:1275,57--60 text='name'
+Read token at ../src/syntax/typing.nit:1275,61--62 text='}{'
+Read token at ../src/syntax/typing.nit:1275,63--66 text='psig'
+Read token at ../src/syntax/typing.nit:1275,67--70 text='}'."'
+Read token at ../src/syntax/typing.nit:1275,71 text=')'
+Read token at ../src/syntax/typing.nit:1275,72--1276,0 text='
+'
+Read token at ../src/syntax/typing.nit:1276,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1276,11--15 text='false'
+Read token at ../src/syntax/typing.nit:1276,16--1277,0 text='
+'
+Read token at ../src/syntax/typing.nit:1277,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1277,6--1278,0 text='
+'
+Read token at ../src/syntax/typing.nit:1278,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1278,7--13 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1278,15 text='='
+Read token at ../src/syntax/typing.nit:1278,17 text='0'
+Read token at ../src/syntax/typing.nit:1278,18--1279,0 text='
+'
+Read token at ../src/syntax/typing.nit:1279,3--5 text='for'
+Read token at ../src/syntax/typing.nit:1279,7--13 text='par_idx'
+Read token at ../src/syntax/typing.nit:1279,15--16 text='in'
+Read token at ../src/syntax/typing.nit:1279,18 text='['
+Read token at ../src/syntax/typing.nit:1279,19 text='0'
+Read token at ../src/syntax/typing.nit:1279,20--21 text='..'
+Read token at ../src/syntax/typing.nit:1279,22--30 text='par_arity'
+Read token at ../src/syntax/typing.nit:1279,31 text='['
+Read token at ../src/syntax/typing.nit:1279,33--34 text='do'
+Read token at ../src/syntax/typing.nit:1279,35--1280,0 text='
+'
+Read token at ../src/syntax/typing.nit:1280,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1280,8 text='a'
+Read token at ../src/syntax/typing.nit:1280,9 text=':'
+Read token at ../src/syntax/typing.nit:1280,11--15 text='AExpr'
+Read token at ../src/syntax/typing.nit:1280,16--1281,0 text='
+'
+Read token at ../src/syntax/typing.nit:1281,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1281,8--15 text='par_type'
+Read token at ../src/syntax/typing.nit:1281,17 text='='
+Read token at ../src/syntax/typing.nit:1281,19--22 text='psig'
+Read token at ../src/syntax/typing.nit:1281,23 text='['
+Read token at ../src/syntax/typing.nit:1281,24--30 text='par_idx'
+Read token at ../src/syntax/typing.nit:1281,31 text=']'
+Read token at ../src/syntax/typing.nit:1281,32--1282,0 text='
+'
+Read token at ../src/syntax/typing.nit:1282,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1282,7--13 text='par_idx'
+Read token at ../src/syntax/typing.nit:1282,15--16 text='=='
+Read token at ../src/syntax/typing.nit:1282,18--27 text='par_vararg'
+Read token at ../src/syntax/typing.nit:1282,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1282,33--1283,0 text='
+'
+Read token at ../src/syntax/typing.nit:1283,5--7 text='for'
+Read token at ../src/syntax/typing.nit:1283,9 text='i'
+Read token at ../src/syntax/typing.nit:1283,11--12 text='in'
+Read token at ../src/syntax/typing.nit:1283,14 text='['
+Read token at ../src/syntax/typing.nit:1283,15 text='0'
+Read token at ../src/syntax/typing.nit:1283,16--17 text='..'
+Read token at ../src/syntax/typing.nit:1283,18 text='('
+Read token at ../src/syntax/typing.nit:1283,19--27 text='raw_arity'
+Read token at ../src/syntax/typing.nit:1283,28 text='-'
+Read token at ../src/syntax/typing.nit:1283,29--37 text='par_arity'
+Read token at ../src/syntax/typing.nit:1283,38 text=')'
+Read token at ../src/syntax/typing.nit:1283,39 text=']'
+Read token at ../src/syntax/typing.nit:1283,41--42 text='do'
+Read token at ../src/syntax/typing.nit:1283,43--1284,0 text='
+'
+Read token at ../src/syntax/typing.nit:1284,6 text='a'
+Read token at ../src/syntax/typing.nit:1284,8 text='='
+Read token at ../src/syntax/typing.nit:1284,10--17 text='raw_args'
+Read token at ../src/syntax/typing.nit:1284,18 text='['
+Read token at ../src/syntax/typing.nit:1284,19--25 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1284,26 text=']'
+Read token at ../src/syntax/typing.nit:1284,27--1285,0 text='
+'
+Read token at ../src/syntax/typing.nit:1285,6 text='v'
+Read token at ../src/syntax/typing.nit:1285,7 text='.'
+Read token at ../src/syntax/typing.nit:1285,8--25 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:1285,26 text='('
+Read token at ../src/syntax/typing.nit:1285,27 text='a'
+Read token at ../src/syntax/typing.nit:1285,28 text=','
+Read token at ../src/syntax/typing.nit:1285,30--37 text='par_type'
+Read token at ../src/syntax/typing.nit:1285,38 text=')'
+Read token at ../src/syntax/typing.nit:1285,39--1286,0 text='
+'
+Read token at ../src/syntax/typing.nit:1286,6--12 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1286,14 text='='
+Read token at ../src/syntax/typing.nit:1286,16--22 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1286,24 text='+'
+Read token at ../src/syntax/typing.nit:1286,26 text='1'
+Read token at ../src/syntax/typing.nit:1286,27--1287,0 text='
+'
+Read token at ../src/syntax/typing.nit:1287,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1287,8--1288,0 text='
+'
+Read token at ../src/syntax/typing.nit:1288,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1288,8--1289,0 text='
+'
+Read token at ../src/syntax/typing.nit:1289,5 text='a'
+Read token at ../src/syntax/typing.nit:1289,7 text='='
+Read token at ../src/syntax/typing.nit:1289,9--16 text='raw_args'
+Read token at ../src/syntax/typing.nit:1289,17 text='['
+Read token at ../src/syntax/typing.nit:1289,18--24 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1289,25 text=']'
+Read token at ../src/syntax/typing.nit:1289,26--1290,0 text='
+'
+Read token at ../src/syntax/typing.nit:1290,5 text='v'
+Read token at ../src/syntax/typing.nit:1290,6 text='.'
+Read token at ../src/syntax/typing.nit:1290,7--24 text='check_conform_expr'
+Read token at ../src/syntax/typing.nit:1290,25 text='('
+Read token at ../src/syntax/typing.nit:1290,26 text='a'
+Read token at ../src/syntax/typing.nit:1290,27 text=','
+Read token at ../src/syntax/typing.nit:1290,29--36 text='par_type'
+Read token at ../src/syntax/typing.nit:1290,37 text=')'
+Read token at ../src/syntax/typing.nit:1290,38--1291,0 text='
+'
+Read token at ../src/syntax/typing.nit:1291,5--11 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1291,13 text='='
+Read token at ../src/syntax/typing.nit:1291,15--21 text='arg_idx'
+Read token at ../src/syntax/typing.nit:1291,23 text='+'
+Read token at ../src/syntax/typing.nit:1291,25 text='1'
+Read token at ../src/syntax/typing.nit:1291,26--1292,0 text='
+'
+Read token at ../src/syntax/typing.nit:1292,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1292,7--1293,0 text='
+'
+Read token at ../src/syntax/typing.nit:1293,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1293,6--1294,0 text='
+'
+Read token at ../src/syntax/typing.nit:1294,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1294,10--13 text='true'
+Read token at ../src/syntax/typing.nit:1294,14--1295,0 text='
+'
+Read token at ../src/syntax/typing.nit:1295,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1295,5--1296,0 text='
+'
+Read token at ../src/syntax/typing.nit:1296,1--1297,0 text='
+'
+Read token at ../src/syntax/typing.nit:1297,2--1298,0 text='# Check the conformity of a set of defined closures
+'
+Read token at ../src/syntax/typing.nit:1298,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1298,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1298,14--29 text='process_closures'
+Read token at ../src/syntax/typing.nit:1298,30 text='('
+Read token at ../src/syntax/typing.nit:1298,31 text='v'
+Read token at ../src/syntax/typing.nit:1298,32 text=':'
+Read token at ../src/syntax/typing.nit:1298,34--46 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1298,47 text=','
+Read token at ../src/syntax/typing.nit:1298,49--52 text='psig'
+Read token at ../src/syntax/typing.nit:1298,53 text=':'
+Read token at ../src/syntax/typing.nit:1298,55--65 text='MMSignature'
+Read token at ../src/syntax/typing.nit:1298,66 text=','
+Read token at ../src/syntax/typing.nit:1298,68--71 text='name'
+Read token at ../src/syntax/typing.nit:1298,72 text=':'
+Read token at ../src/syntax/typing.nit:1298,74--79 text='Symbol'
+Read token at ../src/syntax/typing.nit:1298,80 text=','
+Read token at ../src/syntax/typing.nit:1298,82--83 text='cd'
+Read token at ../src/syntax/typing.nit:1298,84 text=':'
+Read token at ../src/syntax/typing.nit:1298,86--93 text='nullable'
+Read token at ../src/syntax/typing.nit:1298,95--99 text='Array'
+Read token at ../src/syntax/typing.nit:1298,100 text='['
+Read token at ../src/syntax/typing.nit:1298,101--111 text='AClosureDef'
+Read token at ../src/syntax/typing.nit:1298,112 text=']'
+Read token at ../src/syntax/typing.nit:1298,113 text=')'
+Read token at ../src/syntax/typing.nit:1298,114 text=':'
+Read token at ../src/syntax/typing.nit:1298,116--123 text='nullable'
+Read token at ../src/syntax/typing.nit:1298,125--130 text='MMType'
+Read token at ../src/syntax/typing.nit:1298,131--1299,0 text='
+'
+Read token at ../src/syntax/typing.nit:1299,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1299,4--1300,0 text='
+'
+Read token at ../src/syntax/typing.nit:1300,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1300,7 text='t'
+Read token at ../src/syntax/typing.nit:1300,9 text='='
+Read token at ../src/syntax/typing.nit:1300,11--14 text='psig'
+Read token at ../src/syntax/typing.nit:1300,15 text='.'
+Read token at ../src/syntax/typing.nit:1300,16--26 text='return_type'
+Read token at ../src/syntax/typing.nit:1300,27--1301,0 text='
+'
+Read token at ../src/syntax/typing.nit:1301,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1301,7--8 text='cs'
+Read token at ../src/syntax/typing.nit:1301,10 text='='
+Read token at ../src/syntax/typing.nit:1301,12--15 text='psig'
+Read token at ../src/syntax/typing.nit:1301,16 text='.'
+Read token at ../src/syntax/typing.nit:1301,17--24 text='closures'
+Read token at ../src/syntax/typing.nit:1301,26--1302,0 text='# Declared closures
+'
+Read token at ../src/syntax/typing.nit:1302,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1302,7--15 text='min_arity'
+Read token at ../src/syntax/typing.nit:1302,17 text='='
+Read token at ../src/syntax/typing.nit:1302,19 text='0'
+Read token at ../src/syntax/typing.nit:1302,20--1303,0 text='
+'
+Read token at ../src/syntax/typing.nit:1303,3--5 text='for'
+Read token at ../src/syntax/typing.nit:1303,7 text='c'
+Read token at ../src/syntax/typing.nit:1303,9--10 text='in'
+Read token at ../src/syntax/typing.nit:1303,12--13 text='cs'
+Read token at ../src/syntax/typing.nit:1303,15--16 text='do'
+Read token at ../src/syntax/typing.nit:1303,17--1304,0 text='
+'
+Read token at ../src/syntax/typing.nit:1304,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1304,7--9 text='not'
+Read token at ../src/syntax/typing.nit:1304,11 text='c'
+Read token at ../src/syntax/typing.nit:1304,12 text='.'
+Read token at ../src/syntax/typing.nit:1304,13--23 text='is_optional'
+Read token at ../src/syntax/typing.nit:1304,25--28 text='then'
+Read token at ../src/syntax/typing.nit:1304,30--38 text='min_arity'
+Read token at ../src/syntax/typing.nit:1304,40--41 text='+='
+Read token at ../src/syntax/typing.nit:1304,43 text='1'
+Read token at ../src/syntax/typing.nit:1304,44--1305,0 text='
+'
+Read token at ../src/syntax/typing.nit:1305,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1305,6--1306,0 text='
+'
+Read token at ../src/syntax/typing.nit:1306,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1306,7--11 text='arity'
+Read token at ../src/syntax/typing.nit:1306,13 text='='
+Read token at ../src/syntax/typing.nit:1306,15 text='0'
+Read token at ../src/syntax/typing.nit:1306,16--1307,0 text='
+'
+Read token at ../src/syntax/typing.nit:1307,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1307,6--7 text='cd'
+Read token at ../src/syntax/typing.nit:1307,9--10 text='!='
+Read token at ../src/syntax/typing.nit:1307,12--15 text='null'
+Read token at ../src/syntax/typing.nit:1307,17--20 text='then'
+Read token at ../src/syntax/typing.nit:1307,22--26 text='arity'
+Read token at ../src/syntax/typing.nit:1307,28 text='='
+Read token at ../src/syntax/typing.nit:1307,30--31 text='cd'
+Read token at ../src/syntax/typing.nit:1307,32 text='.'
+Read token at ../src/syntax/typing.nit:1307,33--38 text='length'
+Read token at ../src/syntax/typing.nit:1307,39--1308,0 text='
+'
+Read token at ../src/syntax/typing.nit:1308,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1308,6--7 text='cs'
+Read token at ../src/syntax/typing.nit:1308,8 text='.'
+Read token at ../src/syntax/typing.nit:1308,9--14 text='length'
+Read token at ../src/syntax/typing.nit:1308,16 text='>'
+Read token at ../src/syntax/typing.nit:1308,18 text='0'
+Read token at ../src/syntax/typing.nit:1308,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1308,24--1309,0 text='
+'
+Read token at ../src/syntax/typing.nit:1309,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1309,7--11 text='arity'
+Read token at ../src/syntax/typing.nit:1309,13--14 text='=='
+Read token at ../src/syntax/typing.nit:1309,16 text='0'
+Read token at ../src/syntax/typing.nit:1309,18--20 text='and'
+Read token at ../src/syntax/typing.nit:1309,22--30 text='min_arity'
+Read token at ../src/syntax/typing.nit:1309,32 text='>'
+Read token at ../src/syntax/typing.nit:1309,34 text='0'
+Read token at ../src/syntax/typing.nit:1309,36--39 text='then'
+Read token at ../src/syntax/typing.nit:1309,40--1310,0 text='
+'
+Read token at ../src/syntax/typing.nit:1310,5 text='v'
+Read token at ../src/syntax/typing.nit:1310,6 text='.'
+Read token at ../src/syntax/typing.nit:1310,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1310,12 text='('
+Read token at ../src/syntax/typing.nit:1310,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1310,17 text=','
+Read token at ../src/syntax/typing.nit:1310,19--27 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1310,28--31 text='name'
+Read token at ../src/syntax/typing.nit:1310,32--43 text='} requires {'
+Read token at ../src/syntax/typing.nit:1310,44--45 text='cs'
+Read token at ../src/syntax/typing.nit:1310,46 text='.'
+Read token at ../src/syntax/typing.nit:1310,47--52 text='length'
+Read token at ../src/syntax/typing.nit:1310,53--62 text='} blocks."'
+Read token at ../src/syntax/typing.nit:1310,63 text=')'
+Read token at ../src/syntax/typing.nit:1310,64--1311,0 text='
+'
+Read token at ../src/syntax/typing.nit:1311,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1311,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1311,12--16 text='arity'
+Read token at ../src/syntax/typing.nit:1311,18 text='>'
+Read token at ../src/syntax/typing.nit:1311,20--21 text='cs'
+Read token at ../src/syntax/typing.nit:1311,22 text='.'
+Read token at ../src/syntax/typing.nit:1311,23--28 text='length'
+Read token at ../src/syntax/typing.nit:1311,30--31 text='or'
+Read token at ../src/syntax/typing.nit:1311,33--37 text='arity'
+Read token at ../src/syntax/typing.nit:1311,39 text='<'
+Read token at ../src/syntax/typing.nit:1311,41--49 text='min_arity'
+Read token at ../src/syntax/typing.nit:1311,51--54 text='then'
+Read token at ../src/syntax/typing.nit:1311,55--1312,0 text='
+'
+Read token at ../src/syntax/typing.nit:1312,5 text='v'
+Read token at ../src/syntax/typing.nit:1312,6 text='.'
+Read token at ../src/syntax/typing.nit:1312,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1312,12 text='('
+Read token at ../src/syntax/typing.nit:1312,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1312,17 text=','
+Read token at ../src/syntax/typing.nit:1312,19--27 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1312,28--31 text='name'
+Read token at ../src/syntax/typing.nit:1312,32--43 text='} requires {'
+Read token at ../src/syntax/typing.nit:1312,44--45 text='cs'
+Read token at ../src/syntax/typing.nit:1312,46 text='.'
+Read token at ../src/syntax/typing.nit:1312,47--52 text='length'
+Read token at ../src/syntax/typing.nit:1312,53--63 text='} blocks, {'
+Read token at ../src/syntax/typing.nit:1312,64--65 text='cd'
+Read token at ../src/syntax/typing.nit:1312,66 text='.'
+Read token at ../src/syntax/typing.nit:1312,67--72 text='length'
+Read token at ../src/syntax/typing.nit:1312,73--81 text='} found."'
+Read token at ../src/syntax/typing.nit:1312,82 text=')'
+Read token at ../src/syntax/typing.nit:1312,83--1313,0 text='
+'
+Read token at ../src/syntax/typing.nit:1313,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1313,8--1314,0 text='
+'
+Read token at ../src/syntax/typing.nit:1314,5--1315,0 text='# Initialize the break list if a value is required for breaks (ie. if the method is a function)
+'
+Read token at ../src/syntax/typing.nit:1315,5--7 text='var'
+Read token at ../src/syntax/typing.nit:1315,9--18 text='break_list'
+Read token at ../src/syntax/typing.nit:1315,19 text=':'
+Read token at ../src/syntax/typing.nit:1315,21--28 text='nullable'
+Read token at ../src/syntax/typing.nit:1315,30--34 text='Array'
+Read token at ../src/syntax/typing.nit:1315,35 text='['
+Read token at ../src/syntax/typing.nit:1315,36--45 text='ABreakExpr'
+Read token at ../src/syntax/typing.nit:1315,46 text=']'
+Read token at ../src/syntax/typing.nit:1315,48 text='='
+Read token at ../src/syntax/typing.nit:1315,50--53 text='null'
+Read token at ../src/syntax/typing.nit:1315,54--1316,0 text='
+'
+Read token at ../src/syntax/typing.nit:1316,5--6 text='if'
+Read token at ../src/syntax/typing.nit:1316,8 text='t'
+Read token at ../src/syntax/typing.nit:1316,10--11 text='!='
+Read token at ../src/syntax/typing.nit:1316,13--16 text='null'
+Read token at ../src/syntax/typing.nit:1316,18--21 text='then'
+Read token at ../src/syntax/typing.nit:1316,23--32 text='break_list'
+Read token at ../src/syntax/typing.nit:1316,34 text='='
+Read token at ../src/syntax/typing.nit:1316,36--38 text='new'
+Read token at ../src/syntax/typing.nit:1316,40--44 text='Array'
+Read token at ../src/syntax/typing.nit:1316,45 text='['
+Read token at ../src/syntax/typing.nit:1316,46--55 text='ABreakExpr'
+Read token at ../src/syntax/typing.nit:1316,56 text=']'
+Read token at ../src/syntax/typing.nit:1316,57--1317,0 text='
+'
+Read token at ../src/syntax/typing.nit:1317,1--1318,0 text='
+'
+Read token at ../src/syntax/typing.nit:1318,5--1319,0 text='# The n_label, is any in only set on the last decl
+'
+Read token at ../src/syntax/typing.nit:1319,5--7 text='var'
+Read token at ../src/syntax/typing.nit:1319,9--15 text='n_label'
+Read token at ../src/syntax/typing.nit:1319,17 text='='
+Read token at ../src/syntax/typing.nit:1319,19--20 text='if'
+Read token at ../src/syntax/typing.nit:1319,22--26 text='arity'
+Read token at ../src/syntax/typing.nit:1319,28 text='>'
+Read token at ../src/syntax/typing.nit:1319,30 text='0'
+Read token at ../src/syntax/typing.nit:1319,32--35 text='then'
+Read token at ../src/syntax/typing.nit:1319,37--38 text='cd'
+Read token at ../src/syntax/typing.nit:1319,39 text='['
+Read token at ../src/syntax/typing.nit:1319,40--44 text='arity'
+Read token at ../src/syntax/typing.nit:1319,45 text='-'
+Read token at ../src/syntax/typing.nit:1319,46 text='1'
+Read token at ../src/syntax/typing.nit:1319,47 text=']'
+Read token at ../src/syntax/typing.nit:1319,48 text='.'
+Read token at ../src/syntax/typing.nit:1319,49--55 text='n_label'
+Read token at ../src/syntax/typing.nit:1319,57--60 text='else'
+Read token at ../src/syntax/typing.nit:1319,62--65 text='null'
+Read token at ../src/syntax/typing.nit:1319,66--1320,0 text='
+'
+Read token at ../src/syntax/typing.nit:1320,1--1321,0 text='
+'
+Read token at ../src/syntax/typing.nit:1321,5--1322,0 text='# Process each closure definition
+'
+Read token at ../src/syntax/typing.nit:1322,5--7 text='for'
+Read token at ../src/syntax/typing.nit:1322,9 text='i'
+Read token at ../src/syntax/typing.nit:1322,11--12 text='in'
+Read token at ../src/syntax/typing.nit:1322,14 text='['
+Read token at ../src/syntax/typing.nit:1322,15 text='0'
+Read token at ../src/syntax/typing.nit:1322,16--17 text='..'
+Read token at ../src/syntax/typing.nit:1322,18--22 text='arity'
+Read token at ../src/syntax/typing.nit:1322,23 text='['
+Read token at ../src/syntax/typing.nit:1322,25--26 text='do'
+Read token at ../src/syntax/typing.nit:1322,27--1323,0 text='
+'
+Read token at ../src/syntax/typing.nit:1323,6--8 text='var'
+Read token at ../src/syntax/typing.nit:1323,10--12 text='cdi'
+Read token at ../src/syntax/typing.nit:1323,14 text='='
+Read token at ../src/syntax/typing.nit:1323,16--17 text='cd'
+Read token at ../src/syntax/typing.nit:1323,18 text='['
+Read token at ../src/syntax/typing.nit:1323,19 text='i'
+Read token at ../src/syntax/typing.nit:1323,20 text=']'
+Read token at ../src/syntax/typing.nit:1323,21--1324,0 text='
+'
+Read token at ../src/syntax/typing.nit:1324,6--8 text='var'
+Read token at ../src/syntax/typing.nit:1324,10--12 text='cni'
+Read token at ../src/syntax/typing.nit:1324,14 text='='
+Read token at ../src/syntax/typing.nit:1324,16--18 text='cdi'
+Read token at ../src/syntax/typing.nit:1324,19 text='.'
+Read token at ../src/syntax/typing.nit:1324,20--23 text='n_id'
+Read token at ../src/syntax/typing.nit:1324,24 text='.'
+Read token at ../src/syntax/typing.nit:1324,25--33 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1324,34--1325,0 text='
+'
+Read token at ../src/syntax/typing.nit:1325,6--8 text='var'
+Read token at ../src/syntax/typing.nit:1325,10--12 text='csi'
+Read token at ../src/syntax/typing.nit:1325,14 text='='
+Read token at ../src/syntax/typing.nit:1325,16--19 text='psig'
+Read token at ../src/syntax/typing.nit:1325,20 text='.'
+Read token at ../src/syntax/typing.nit:1325,21--33 text='closure_named'
+Read token at ../src/syntax/typing.nit:1325,34 text='('
+Read token at ../src/syntax/typing.nit:1325,35--37 text='cni'
+Read token at ../src/syntax/typing.nit:1325,38 text=')'
+Read token at ../src/syntax/typing.nit:1325,39--1326,0 text='
+'
+Read token at ../src/syntax/typing.nit:1326,6--7 text='if'
+Read token at ../src/syntax/typing.nit:1326,9--11 text='csi'
+Read token at ../src/syntax/typing.nit:1326,13--14 text='!='
+Read token at ../src/syntax/typing.nit:1326,16--19 text='null'
+Read token at ../src/syntax/typing.nit:1326,21--24 text='then'
+Read token at ../src/syntax/typing.nit:1326,25--1327,0 text='
+'
+Read token at ../src/syntax/typing.nit:1327,7--9 text='var'
+Read token at ../src/syntax/typing.nit:1327,11--13 text='esc'
+Read token at ../src/syntax/typing.nit:1327,15 text='='
+Read token at ../src/syntax/typing.nit:1327,17--19 text='new'
+Read token at ../src/syntax/typing.nit:1327,21--36 text='EscapableClosure'
+Read token at ../src/syntax/typing.nit:1327,37 text='('
+Read token at ../src/syntax/typing.nit:1327,38--40 text='cdi'
+Read token at ../src/syntax/typing.nit:1327,41 text=','
+Read token at ../src/syntax/typing.nit:1327,43--45 text='csi'
+Read token at ../src/syntax/typing.nit:1327,46 text=','
+Read token at ../src/syntax/typing.nit:1327,48--57 text='break_list'
+Read token at ../src/syntax/typing.nit:1327,58 text=')'
+Read token at ../src/syntax/typing.nit:1327,59--1328,0 text='
+'
+Read token at ../src/syntax/typing.nit:1328,7 text='v'
+Read token at ../src/syntax/typing.nit:1328,8 text='.'
+Read token at ../src/syntax/typing.nit:1328,9--17 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:1328,18 text='.'
+Read token at ../src/syntax/typing.nit:1328,19--32 text='push_escapable'
+Read token at ../src/syntax/typing.nit:1328,33 text='('
+Read token at ../src/syntax/typing.nit:1328,34--36 text='esc'
+Read token at ../src/syntax/typing.nit:1328,37 text=','
+Read token at ../src/syntax/typing.nit:1328,39--45 text='n_label'
+Read token at ../src/syntax/typing.nit:1328,46 text=')'
+Read token at ../src/syntax/typing.nit:1328,47--1329,0 text='
+'
+Read token at ../src/syntax/typing.nit:1329,7--9 text='cdi'
+Read token at ../src/syntax/typing.nit:1329,10 text='.'
+Read token at ../src/syntax/typing.nit:1329,11--24 text='accept_typing2'
+Read token at ../src/syntax/typing.nit:1329,25 text='('
+Read token at ../src/syntax/typing.nit:1329,26 text='v'
+Read token at ../src/syntax/typing.nit:1329,27 text=','
+Read token at ../src/syntax/typing.nit:1329,29--31 text='esc'
+Read token at ../src/syntax/typing.nit:1329,32 text=')'
+Read token at ../src/syntax/typing.nit:1329,33--1330,0 text='
+'
+Read token at ../src/syntax/typing.nit:1330,7 text='v'
+Read token at ../src/syntax/typing.nit:1330,8 text='.'
+Read token at ../src/syntax/typing.nit:1330,9--17 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:1330,18 text='.'
+Read token at ../src/syntax/typing.nit:1330,19--21 text='pop'
+Read token at ../src/syntax/typing.nit:1330,22--1331,0 text='
+'
+Read token at ../src/syntax/typing.nit:1331,6--9 text='else'
+Read token at ../src/syntax/typing.nit:1331,11--12 text='if'
+Read token at ../src/syntax/typing.nit:1331,14--15 text='cs'
+Read token at ../src/syntax/typing.nit:1331,16 text='.'
+Read token at ../src/syntax/typing.nit:1331,17--22 text='length'
+Read token at ../src/syntax/typing.nit:1331,24--25 text='=='
+Read token at ../src/syntax/typing.nit:1331,27 text='1'
+Read token at ../src/syntax/typing.nit:1331,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1331,33--1332,0 text='
+'
+Read token at ../src/syntax/typing.nit:1332,7 text='v'
+Read token at ../src/syntax/typing.nit:1332,8 text='.'
+Read token at ../src/syntax/typing.nit:1332,9--13 text='error'
+Read token at ../src/syntax/typing.nit:1332,14 text='('
+Read token at ../src/syntax/typing.nit:1332,15--17 text='cdi'
+Read token at ../src/syntax/typing.nit:1332,18 text='.'
+Read token at ../src/syntax/typing.nit:1332,19--22 text='n_id'
+Read token at ../src/syntax/typing.nit:1332,23 text=','
+Read token at ../src/syntax/typing.nit:1332,25--52 text='"Error: no closure named '!{'
+Read token at ../src/syntax/typing.nit:1332,53--55 text='cni'
+Read token at ../src/syntax/typing.nit:1332,56--62 text='}' in {'
+Read token at ../src/syntax/typing.nit:1332,63--66 text='name'
+Read token at ../src/syntax/typing.nit:1332,67--87 text='}; only closure is !{'
+Read token at ../src/syntax/typing.nit:1332,88--89 text='cs'
+Read token at ../src/syntax/typing.nit:1332,90 text='.'
+Read token at ../src/syntax/typing.nit:1332,91--95 text='first'
+Read token at ../src/syntax/typing.nit:1332,96 text='.'
+Read token at ../src/syntax/typing.nit:1332,97--100 text='name'
+Read token at ../src/syntax/typing.nit:1332,101--103 text='}."'
+Read token at ../src/syntax/typing.nit:1332,104 text=')'
+Read token at ../src/syntax/typing.nit:1332,105--1333,0 text='
+'
+Read token at ../src/syntax/typing.nit:1333,6--9 text='else'
+Read token at ../src/syntax/typing.nit:1333,10--1334,0 text='
+'
+Read token at ../src/syntax/typing.nit:1334,7--9 text='var'
+Read token at ../src/syntax/typing.nit:1334,11 text='a'
+Read token at ../src/syntax/typing.nit:1334,13 text='='
+Read token at ../src/syntax/typing.nit:1334,15--17 text='new'
+Read token at ../src/syntax/typing.nit:1334,19--23 text='Array'
+Read token at ../src/syntax/typing.nit:1334,24 text='['
+Read token at ../src/syntax/typing.nit:1334,25--30 text='String'
+Read token at ../src/syntax/typing.nit:1334,31 text=']'
+Read token at ../src/syntax/typing.nit:1334,32--1335,0 text='
+'
+Read token at ../src/syntax/typing.nit:1335,7--9 text='for'
+Read token at ../src/syntax/typing.nit:1335,11 text='c'
+Read token at ../src/syntax/typing.nit:1335,13--14 text='in'
+Read token at ../src/syntax/typing.nit:1335,16--17 text='cs'
+Read token at ../src/syntax/typing.nit:1335,19--20 text='do'
+Read token at ../src/syntax/typing.nit:1335,21--1336,0 text='
+'
+Read token at ../src/syntax/typing.nit:1336,8 text='a'
+Read token at ../src/syntax/typing.nit:1336,9 text='.'
+Read token at ../src/syntax/typing.nit:1336,10--12 text='add'
+Read token at ../src/syntax/typing.nit:1336,13 text='('
+Read token at ../src/syntax/typing.nit:1336,14--16 text='"!{'
+Read token at ../src/syntax/typing.nit:1336,17 text='c'
+Read token at ../src/syntax/typing.nit:1336,18 text='.'
+Read token at ../src/syntax/typing.nit:1336,19--22 text='name'
+Read token at ../src/syntax/typing.nit:1336,23--24 text='}"'
+Read token at ../src/syntax/typing.nit:1336,25 text=')'
+Read token at ../src/syntax/typing.nit:1336,26--1337,0 text='
+'
+Read token at ../src/syntax/typing.nit:1337,7--9 text='end'
+Read token at ../src/syntax/typing.nit:1337,10--1338,0 text='
+'
+Read token at ../src/syntax/typing.nit:1338,7 text='v'
+Read token at ../src/syntax/typing.nit:1338,8 text='.'
+Read token at ../src/syntax/typing.nit:1338,9--13 text='error'
+Read token at ../src/syntax/typing.nit:1338,14 text='('
+Read token at ../src/syntax/typing.nit:1338,15--17 text='cdi'
+Read token at ../src/syntax/typing.nit:1338,18 text='.'
+Read token at ../src/syntax/typing.nit:1338,19--22 text='n_id'
+Read token at ../src/syntax/typing.nit:1338,23 text=','
+Read token at ../src/syntax/typing.nit:1338,25--52 text='"Error: no closure named '!{'
+Read token at ../src/syntax/typing.nit:1338,53--55 text='cni'
+Read token at ../src/syntax/typing.nit:1338,56--62 text='}' in {'
+Read token at ../src/syntax/typing.nit:1338,63--66 text='name'
+Read token at ../src/syntax/typing.nit:1338,67--88 text='}; only closures are {'
+Read token at ../src/syntax/typing.nit:1338,89 text='a'
+Read token at ../src/syntax/typing.nit:1338,90 text='.'
+Read token at ../src/syntax/typing.nit:1338,91--94 text='join'
+Read token at ../src/syntax/typing.nit:1338,95 text='('
+Read token at ../src/syntax/typing.nit:1338,96--98 text='","'
+Read token at ../src/syntax/typing.nit:1338,99 text=')'
+Read token at ../src/syntax/typing.nit:1338,100--102 text='}."'
+Read token at ../src/syntax/typing.nit:1338,103 text=')'
+Read token at ../src/syntax/typing.nit:1338,104--1339,0 text='
+'
+Read token at ../src/syntax/typing.nit:1339,6--8 text='end'
+Read token at ../src/syntax/typing.nit:1339,9--1340,0 text='
+'
+Read token at ../src/syntax/typing.nit:1340,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1340,8--1341,0 text='
+'
+Read token at ../src/syntax/typing.nit:1341,1--1342,0 text='
+'
+Read token at ../src/syntax/typing.nit:1342,5--1343,0 text='# Check break type conformity
+'
+Read token at ../src/syntax/typing.nit:1343,5--6 text='if'
+Read token at ../src/syntax/typing.nit:1343,8--17 text='break_list'
+Read token at ../src/syntax/typing.nit:1343,19--20 text='!='
+Read token at ../src/syntax/typing.nit:1343,22--25 text='null'
+Read token at ../src/syntax/typing.nit:1343,27--30 text='then'
+Read token at ../src/syntax/typing.nit:1343,31--1344,0 text='
+'
+Read token at ../src/syntax/typing.nit:1344,6 text='t'
+Read token at ../src/syntax/typing.nit:1344,8 text='='
+Read token at ../src/syntax/typing.nit:1344,10 text='v'
+Read token at ../src/syntax/typing.nit:1344,11 text='.'
+Read token at ../src/syntax/typing.nit:1344,12--34 text='check_conform_multiexpr'
+Read token at ../src/syntax/typing.nit:1344,35 text='('
+Read token at ../src/syntax/typing.nit:1344,36 text='t'
+Read token at ../src/syntax/typing.nit:1344,37 text=','
+Read token at ../src/syntax/typing.nit:1344,39--48 text='break_list'
+Read token at ../src/syntax/typing.nit:1344,49 text=')'
+Read token at ../src/syntax/typing.nit:1344,50--1345,0 text='
+'
+Read token at ../src/syntax/typing.nit:1345,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1345,8--1346,0 text='
+'
+Read token at ../src/syntax/typing.nit:1346,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1346,7--1347,0 text='
+'
+Read token at ../src/syntax/typing.nit:1347,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1347,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1347,11--15 text='arity'
+Read token at ../src/syntax/typing.nit:1347,17--18 text='!='
+Read token at ../src/syntax/typing.nit:1347,20 text='0'
+Read token at ../src/syntax/typing.nit:1347,22--25 text='then'
+Read token at ../src/syntax/typing.nit:1347,26--1348,0 text='
+'
+Read token at ../src/syntax/typing.nit:1348,4 text='v'
+Read token at ../src/syntax/typing.nit:1348,5 text='.'
+Read token at ../src/syntax/typing.nit:1348,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1348,11 text='('
+Read token at ../src/syntax/typing.nit:1348,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1348,16 text=','
+Read token at ../src/syntax/typing.nit:1348,18--26 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1348,27--30 text='name'
+Read token at ../src/syntax/typing.nit:1348,31--57 text='} does not require blocks."'
+Read token at ../src/syntax/typing.nit:1348,58 text=')'
+Read token at ../src/syntax/typing.nit:1348,59--1349,0 text='
+'
+Read token at ../src/syntax/typing.nit:1349,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1349,6--1350,0 text='
+'
+Read token at ../src/syntax/typing.nit:1350,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1350,10 text='t'
+Read token at ../src/syntax/typing.nit:1350,11--1351,0 text='
+'
+Read token at ../src/syntax/typing.nit:1351,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1351,5--1352,0 text='
+'
+Read token at ../src/syntax/typing.nit:1352,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1352,4--1353,0 text='
+'
+Read token at ../src/syntax/typing.nit:1353,1--1354,0 text='
+'
+Read token at ../src/syntax/typing.nit:1354,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1354,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1354,13--24 text='AAbsSendExpr'
+Read token at ../src/syntax/typing.nit:1354,25--1355,0 text='
+'
+Read token at ../src/syntax/typing.nit:1355,2--1356,0 text='# Compute the called global property
+'
+Read token at ../src/syntax/typing.nit:1356,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1356,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1356,14--22 text='do_typing'
+Read token at ../src/syntax/typing.nit:1356,23 text='('
+Read token at ../src/syntax/typing.nit:1356,24 text='v'
+Read token at ../src/syntax/typing.nit:1356,25 text=':'
+Read token at ../src/syntax/typing.nit:1356,27--39 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1356,40 text=','
+Read token at ../src/syntax/typing.nit:1356,42--50 text='type_recv'
+Read token at ../src/syntax/typing.nit:1356,51 text=':'
+Read token at ../src/syntax/typing.nit:1356,53--58 text='MMType'
+Read token at ../src/syntax/typing.nit:1356,59 text=','
+Read token at ../src/syntax/typing.nit:1356,61--76 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1356,77 text=':'
+Read token at ../src/syntax/typing.nit:1356,79--82 text='Bool'
+Read token at ../src/syntax/typing.nit:1356,83 text=','
+Read token at ../src/syntax/typing.nit:1356,85--96 text='recv_is_self'
+Read token at ../src/syntax/typing.nit:1356,97 text=':'
+Read token at ../src/syntax/typing.nit:1356,99--102 text='Bool'
+Read token at ../src/syntax/typing.nit:1356,103 text=','
+Read token at ../src/syntax/typing.nit:1356,105--108 text='name'
+Read token at ../src/syntax/typing.nit:1356,109 text=':'
+Read token at ../src/syntax/typing.nit:1356,111--116 text='Symbol'
+Read token at ../src/syntax/typing.nit:1356,117 text=','
+Read token at ../src/syntax/typing.nit:1356,119--126 text='raw_args'
+Read token at ../src/syntax/typing.nit:1356,127 text=':'
+Read token at ../src/syntax/typing.nit:1356,129--136 text='nullable'
+Read token at ../src/syntax/typing.nit:1356,138--142 text='Array'
+Read token at ../src/syntax/typing.nit:1356,143 text='['
+Read token at ../src/syntax/typing.nit:1356,144--148 text='AExpr'
+Read token at ../src/syntax/typing.nit:1356,149 text=']'
+Read token at ../src/syntax/typing.nit:1356,150 text=','
+Read token at ../src/syntax/typing.nit:1356,152--163 text='closure_defs'
+Read token at ../src/syntax/typing.nit:1356,164 text=':'
+Read token at ../src/syntax/typing.nit:1356,166--173 text='nullable'
+Read token at ../src/syntax/typing.nit:1356,175--179 text='Array'
+Read token at ../src/syntax/typing.nit:1356,180 text='['
+Read token at ../src/syntax/typing.nit:1356,181--191 text='AClosureDef'
+Read token at ../src/syntax/typing.nit:1356,192 text=']'
+Read token at ../src/syntax/typing.nit:1356,193 text=')'
+Read token at ../src/syntax/typing.nit:1356,194--1357,0 text='
+'
+Read token at ../src/syntax/typing.nit:1357,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1357,4--1358,0 text='
+'
+Read token at ../src/syntax/typing.nit:1358,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1358,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:1358,12 text='='
+Read token at ../src/syntax/typing.nit:1358,14--25 text='get_property'
+Read token at ../src/syntax/typing.nit:1358,26 text='('
+Read token at ../src/syntax/typing.nit:1358,27 text='v'
+Read token at ../src/syntax/typing.nit:1358,28 text=','
+Read token at ../src/syntax/typing.nit:1358,30--38 text='type_recv'
+Read token at ../src/syntax/typing.nit:1358,39 text=','
+Read token at ../src/syntax/typing.nit:1358,41--56 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1358,57 text=','
+Read token at ../src/syntax/typing.nit:1358,59--62 text='name'
+Read token at ../src/syntax/typing.nit:1358,63 text=')'
+Read token at ../src/syntax/typing.nit:1358,64--1359,0 text='
+'
+Read token at ../src/syntax/typing.nit:1359,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1359,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1359,11--12 text='=='
+Read token at ../src/syntax/typing.nit:1359,14--17 text='null'
+Read token at ../src/syntax/typing.nit:1359,19--22 text='then'
+Read token at ../src/syntax/typing.nit:1359,24--29 text='return'
+Read token at ../src/syntax/typing.nit:1359,30--1360,0 text='
+'
+Read token at ../src/syntax/typing.nit:1360,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1360,7--9 text='sig'
+Read token at ../src/syntax/typing.nit:1360,11 text='='
+Read token at ../src/syntax/typing.nit:1360,13--25 text='get_signature'
+Read token at ../src/syntax/typing.nit:1360,26 text='('
+Read token at ../src/syntax/typing.nit:1360,27 text='v'
+Read token at ../src/syntax/typing.nit:1360,28 text=','
+Read token at ../src/syntax/typing.nit:1360,30--38 text='type_recv'
+Read token at ../src/syntax/typing.nit:1360,39 text=','
+Read token at ../src/syntax/typing.nit:1360,41--44 text='prop'
+Read token at ../src/syntax/typing.nit:1360,45 text=','
+Read token at ../src/syntax/typing.nit:1360,47--58 text='recv_is_self'
+Read token at ../src/syntax/typing.nit:1360,59 text=')'
+Read token at ../src/syntax/typing.nit:1360,60--1361,0 text='
+'
+Read token at ../src/syntax/typing.nit:1361,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1361,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1361,10--26 text='process_signature'
+Read token at ../src/syntax/typing.nit:1361,27 text='('
+Read token at ../src/syntax/typing.nit:1361,28 text='v'
+Read token at ../src/syntax/typing.nit:1361,29 text=','
+Read token at ../src/syntax/typing.nit:1361,31--33 text='sig'
+Read token at ../src/syntax/typing.nit:1361,34 text=','
+Read token at ../src/syntax/typing.nit:1361,36--39 text='prop'
+Read token at ../src/syntax/typing.nit:1361,40 text='.'
+Read token at ../src/syntax/typing.nit:1361,41--44 text='name'
+Read token at ../src/syntax/typing.nit:1361,45 text=','
+Read token at ../src/syntax/typing.nit:1361,47--54 text='raw_args'
+Read token at ../src/syntax/typing.nit:1361,55 text=')'
+Read token at ../src/syntax/typing.nit:1361,57--60 text='then'
+Read token at ../src/syntax/typing.nit:1361,62--67 text='return'
+Read token at ../src/syntax/typing.nit:1361,68--1362,0 text='
+'
+Read token at ../src/syntax/typing.nit:1362,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1362,7--11 text='rtype'
+Read token at ../src/syntax/typing.nit:1362,13 text='='
+Read token at ../src/syntax/typing.nit:1362,15--30 text='process_closures'
+Read token at ../src/syntax/typing.nit:1362,31 text='('
+Read token at ../src/syntax/typing.nit:1362,32 text='v'
+Read token at ../src/syntax/typing.nit:1362,33 text=','
+Read token at ../src/syntax/typing.nit:1362,35--37 text='sig'
+Read token at ../src/syntax/typing.nit:1362,38 text=','
+Read token at ../src/syntax/typing.nit:1362,40--43 text='prop'
+Read token at ../src/syntax/typing.nit:1362,44 text='.'
+Read token at ../src/syntax/typing.nit:1362,45--48 text='name'
+Read token at ../src/syntax/typing.nit:1362,49 text=','
+Read token at ../src/syntax/typing.nit:1362,51--62 text='closure_defs'
+Read token at ../src/syntax/typing.nit:1362,63 text=')'
+Read token at ../src/syntax/typing.nit:1362,64--1363,0 text='
+'
+Read token at ../src/syntax/typing.nit:1363,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1363,6--10 text='rtype'
+Read token at ../src/syntax/typing.nit:1363,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1363,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1363,20--22 text='and'
+Read token at ../src/syntax/typing.nit:1363,24--26 text='sig'
+Read token at ../src/syntax/typing.nit:1363,27 text='.'
+Read token at ../src/syntax/typing.nit:1363,28--38 text='return_type'
+Read token at ../src/syntax/typing.nit:1363,40--41 text='!='
+Read token at ../src/syntax/typing.nit:1363,43--46 text='null'
+Read token at ../src/syntax/typing.nit:1363,48--51 text='then'
+Read token at ../src/syntax/typing.nit:1363,53--58 text='return'
+Read token at ../src/syntax/typing.nit:1363,59--1364,0 text='
+'
+Read token at ../src/syntax/typing.nit:1364,3--7 text='_prop'
+Read token at ../src/syntax/typing.nit:1364,9 text='='
+Read token at ../src/syntax/typing.nit:1364,11--14 text='prop'
+Read token at ../src/syntax/typing.nit:1364,15--1365,0 text='
+'
+Read token at ../src/syntax/typing.nit:1365,3--17 text='_prop_signature'
+Read token at ../src/syntax/typing.nit:1365,19 text='='
+Read token at ../src/syntax/typing.nit:1365,21--23 text='sig'
+Read token at ../src/syntax/typing.nit:1365,24--1366,0 text='
+'
+Read token at ../src/syntax/typing.nit:1366,3--14 text='_return_type'
+Read token at ../src/syntax/typing.nit:1366,16 text='='
+Read token at ../src/syntax/typing.nit:1366,18--22 text='rtype'
+Read token at ../src/syntax/typing.nit:1366,23--1367,0 text='
+'
+Read token at ../src/syntax/typing.nit:1367,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1367,5--1368,0 text='
+'
+Read token at ../src/syntax/typing.nit:1368,1--1369,0 text='
+'
+Read token at ../src/syntax/typing.nit:1369,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1369,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1369,14--25 text='get_property'
+Read token at ../src/syntax/typing.nit:1369,26 text='('
+Read token at ../src/syntax/typing.nit:1369,27 text='v'
+Read token at ../src/syntax/typing.nit:1369,28 text=':'
+Read token at ../src/syntax/typing.nit:1369,30--42 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1369,43 text=','
+Read token at ../src/syntax/typing.nit:1369,45--53 text='type_recv'
+Read token at ../src/syntax/typing.nit:1369,54 text=':'
+Read token at ../src/syntax/typing.nit:1369,56--61 text='MMType'
+Read token at ../src/syntax/typing.nit:1369,62 text=','
+Read token at ../src/syntax/typing.nit:1369,64--79 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1369,80 text=':'
+Read token at ../src/syntax/typing.nit:1369,82--85 text='Bool'
+Read token at ../src/syntax/typing.nit:1369,86 text=','
+Read token at ../src/syntax/typing.nit:1369,88--91 text='name'
+Read token at ../src/syntax/typing.nit:1369,92 text=':'
+Read token at ../src/syntax/typing.nit:1369,94--99 text='Symbol'
+Read token at ../src/syntax/typing.nit:1369,100 text=')'
+Read token at ../src/syntax/typing.nit:1369,101 text=':'
+Read token at ../src/syntax/typing.nit:1369,103--110 text='nullable'
+Read token at ../src/syntax/typing.nit:1369,112--119 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1369,120--1370,0 text='
+'
+Read token at ../src/syntax/typing.nit:1370,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1370,4--1371,0 text='
+'
+Read token at ../src/syntax/typing.nit:1371,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1371,6--14 text='type_recv'
+Read token at ../src/syntax/typing.nit:1371,16--18 text='isa'
+Read token at ../src/syntax/typing.nit:1371,20--29 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1371,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1371,35--1372,0 text='
+'
+Read token at ../src/syntax/typing.nit:1372,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1372,7--10 text='name'
+Read token at ../src/syntax/typing.nit:1372,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1372,15 text='('
+Read token at ../src/syntax/typing.nit:1372,16--19 text='once'
+Read token at ../src/syntax/typing.nit:1372,21--24 text='"=="'
+Read token at ../src/syntax/typing.nit:1372,25 text='.'
+Read token at ../src/syntax/typing.nit:1372,26--34 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1372,35 text=')'
+Read token at ../src/syntax/typing.nit:1372,37--38 text='or'
+Read token at ../src/syntax/typing.nit:1372,40--43 text='name'
+Read token at ../src/syntax/typing.nit:1372,45--46 text='=='
+Read token at ../src/syntax/typing.nit:1372,48 text='('
+Read token at ../src/syntax/typing.nit:1372,49--52 text='once'
+Read token at ../src/syntax/typing.nit:1372,54--57 text='"!="'
+Read token at ../src/syntax/typing.nit:1372,58 text='.'
+Read token at ../src/syntax/typing.nit:1372,59--67 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1372,68 text=')'
+Read token at ../src/syntax/typing.nit:1372,70--73 text='then'
+Read token at ../src/syntax/typing.nit:1372,74--1373,0 text='
+'
+Read token at ../src/syntax/typing.nit:1373,5--1374,0 text='# Special case on != and == that are allowed for 'null'
+'
+Read token at ../src/syntax/typing.nit:1374,5--13 text='type_recv'
+Read token at ../src/syntax/typing.nit:1374,15 text='='
+Read token at ../src/syntax/typing.nit:1374,17 text='v'
+Read token at ../src/syntax/typing.nit:1374,18 text='.'
+Read token at ../src/syntax/typing.nit:1374,19--29 text='type_object'
+Read token at ../src/syntax/typing.nit:1374,30 text='.'
+Read token at ../src/syntax/typing.nit:1374,31--41 text='as_nullable'
+Read token at ../src/syntax/typing.nit:1374,42--1375,0 text='
+'
+Read token at ../src/syntax/typing.nit:1375,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1375,8--1376,0 text='
+'
+Read token at ../src/syntax/typing.nit:1376,5 text='v'
+Read token at ../src/syntax/typing.nit:1376,6 text='.'
+Read token at ../src/syntax/typing.nit:1376,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1376,12 text='('
+Read token at ../src/syntax/typing.nit:1376,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1376,17 text=','
+Read token at ../src/syntax/typing.nit:1376,19--35 text='"Error: Method '{'
+Read token at ../src/syntax/typing.nit:1376,36--39 text='name'
+Read token at ../src/syntax/typing.nit:1376,40--58 text='}' call on 'null'."'
+Read token at ../src/syntax/typing.nit:1376,59 text=')'
+Read token at ../src/syntax/typing.nit:1376,60--1377,0 text='
+'
+Read token at ../src/syntax/typing.nit:1377,5--10 text='return'
+Read token at ../src/syntax/typing.nit:1377,12--15 text='null'
+Read token at ../src/syntax/typing.nit:1377,16--1378,0 text='
+'
+Read token at ../src/syntax/typing.nit:1378,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1378,7--1379,0 text='
+'
+Read token at ../src/syntax/typing.nit:1379,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1379,6--1380,0 text='
+'
+Read token at ../src/syntax/typing.nit:1380,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1380,7--8 text='lc'
+Read token at ../src/syntax/typing.nit:1380,10 text='='
+Read token at ../src/syntax/typing.nit:1380,12--20 text='type_recv'
+Read token at ../src/syntax/typing.nit:1380,21 text='.'
+Read token at ../src/syntax/typing.nit:1380,22--32 text='local_class'
+Read token at ../src/syntax/typing.nit:1380,33--1381,0 text='
+'
+Read token at ../src/syntax/typing.nit:1381,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1381,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:1381,11 text=':'
+Read token at ../src/syntax/typing.nit:1381,13--20 text='nullable'
+Read token at ../src/syntax/typing.nit:1381,22--29 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1381,31 text='='
+Read token at ../src/syntax/typing.nit:1381,33--36 text='null'
+Read token at ../src/syntax/typing.nit:1381,37--1382,0 text='
+'
+Read token at ../src/syntax/typing.nit:1382,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1382,6--7 text='lc'
+Read token at ../src/syntax/typing.nit:1382,8 text='.'
+Read token at ../src/syntax/typing.nit:1382,9--35 text='has_global_property_by_name'
+Read token at ../src/syntax/typing.nit:1382,36 text='('
+Read token at ../src/syntax/typing.nit:1382,37--40 text='name'
+Read token at ../src/syntax/typing.nit:1382,41 text=')'
+Read token at ../src/syntax/typing.nit:1382,43--46 text='then'
+Read token at ../src/syntax/typing.nit:1382,48--51 text='prop'
+Read token at ../src/syntax/typing.nit:1382,53 text='='
+Read token at ../src/syntax/typing.nit:1382,55--56 text='lc'
+Read token at ../src/syntax/typing.nit:1382,57 text='.'
+Read token at ../src/syntax/typing.nit:1382,58--70 text='select_method'
+Read token at ../src/syntax/typing.nit:1382,71 text='('
+Read token at ../src/syntax/typing.nit:1382,72--75 text='name'
+Read token at ../src/syntax/typing.nit:1382,76 text=')'
+Read token at ../src/syntax/typing.nit:1382,77--1383,0 text='
+'
+Read token at ../src/syntax/typing.nit:1383,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1383,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1383,11--12 text='=='
+Read token at ../src/syntax/typing.nit:1383,14--17 text='null'
+Read token at ../src/syntax/typing.nit:1383,19--21 text='and'
+Read token at ../src/syntax/typing.nit:1383,23 text='v'
+Read token at ../src/syntax/typing.nit:1383,24 text='.'
+Read token at ../src/syntax/typing.nit:1383,25--38 text='local_property'
+Read token at ../src/syntax/typing.nit:1383,39 text='.'
+Read token at ../src/syntax/typing.nit:1383,40--45 text='global'
+Read token at ../src/syntax/typing.nit:1383,46 text='.'
+Read token at ../src/syntax/typing.nit:1383,47--53 text='is_init'
+Read token at ../src/syntax/typing.nit:1383,55--58 text='then'
+Read token at ../src/syntax/typing.nit:1383,59--1384,0 text='
+'
+Read token at ../src/syntax/typing.nit:1384,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1384,8--12 text='props'
+Read token at ../src/syntax/typing.nit:1384,14 text='='
+Read token at ../src/syntax/typing.nit:1384,16--17 text='lc'
+Read token at ../src/syntax/typing.nit:1384,18 text='.'
+Read token at ../src/syntax/typing.nit:1384,19--37 text='super_methods_named'
+Read token at ../src/syntax/typing.nit:1384,38 text='('
+Read token at ../src/syntax/typing.nit:1384,39--42 text='name'
+Read token at ../src/syntax/typing.nit:1384,43 text=')'
+Read token at ../src/syntax/typing.nit:1384,44--1385,0 text='
+'
+Read token at ../src/syntax/typing.nit:1385,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1385,7--11 text='props'
+Read token at ../src/syntax/typing.nit:1385,12 text='.'
+Read token at ../src/syntax/typing.nit:1385,13--18 text='length'
+Read token at ../src/syntax/typing.nit:1385,20 text='>'
+Read token at ../src/syntax/typing.nit:1385,22 text='1'
+Read token at ../src/syntax/typing.nit:1385,24--27 text='then'
+Read token at ../src/syntax/typing.nit:1385,28--1386,0 text='
+'
+Read token at ../src/syntax/typing.nit:1386,5 text='v'
+Read token at ../src/syntax/typing.nit:1386,6 text='.'
+Read token at ../src/syntax/typing.nit:1386,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1386,12 text='('
+Read token at ../src/syntax/typing.nit:1386,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1386,17 text=','
+Read token at ../src/syntax/typing.nit:1386,19--49 text='"Error: Ambigous method name '{'
+Read token at ../src/syntax/typing.nit:1386,50--53 text='name'
+Read token at ../src/syntax/typing.nit:1386,54--61 text='}' for {'
+Read token at ../src/syntax/typing.nit:1386,62--66 text='props'
+Read token at ../src/syntax/typing.nit:1386,67 text='.'
+Read token at ../src/syntax/typing.nit:1386,68--71 text='join'
+Read token at ../src/syntax/typing.nit:1386,72 text='('
+Read token at ../src/syntax/typing.nit:1386,73--76 text='", "'
+Read token at ../src/syntax/typing.nit:1386,77 text=')'
+Read token at ../src/syntax/typing.nit:1386,78--106 text='}. Use explicit designation."'
+Read token at ../src/syntax/typing.nit:1386,107 text=')'
+Read token at ../src/syntax/typing.nit:1386,108--1387,0 text='
+'
+Read token at ../src/syntax/typing.nit:1387,5--10 text='return'
+Read token at ../src/syntax/typing.nit:1387,12--15 text='null'
+Read token at ../src/syntax/typing.nit:1387,16--1388,0 text='
+'
+Read token at ../src/syntax/typing.nit:1388,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1388,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1388,12--16 text='props'
+Read token at ../src/syntax/typing.nit:1388,17 text='.'
+Read token at ../src/syntax/typing.nit:1388,18--23 text='length'
+Read token at ../src/syntax/typing.nit:1388,25--26 text='=='
+Read token at ../src/syntax/typing.nit:1388,28 text='1'
+Read token at ../src/syntax/typing.nit:1388,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1388,35--1389,0 text='
+'
+Read token at ../src/syntax/typing.nit:1389,5--7 text='var'
+Read token at ../src/syntax/typing.nit:1389,9 text='p'
+Read token at ../src/syntax/typing.nit:1389,11 text='='
+Read token at ../src/syntax/typing.nit:1389,13--14 text='lc'
+Read token at ../src/syntax/typing.nit:1389,15 text='['
+Read token at ../src/syntax/typing.nit:1389,16--20 text='props'
+Read token at ../src/syntax/typing.nit:1389,21 text='.'
+Read token at ../src/syntax/typing.nit:1389,22--26 text='first'
+Read token at ../src/syntax/typing.nit:1389,27 text='.'
+Read token at ../src/syntax/typing.nit:1389,28--33 text='global'
+Read token at ../src/syntax/typing.nit:1389,34 text=']'
+Read token at ../src/syntax/typing.nit:1389,35--1390,0 text='
+'
+Read token at ../src/syntax/typing.nit:1390,5--10 text='assert'
+Read token at ../src/syntax/typing.nit:1390,12 text='p'
+Read token at ../src/syntax/typing.nit:1390,14--16 text='isa'
+Read token at ../src/syntax/typing.nit:1390,18--25 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1390,26--1391,0 text='
+'
+Read token at ../src/syntax/typing.nit:1391,5--8 text='prop'
+Read token at ../src/syntax/typing.nit:1391,10 text='='
+Read token at ../src/syntax/typing.nit:1391,12 text='p'
+Read token at ../src/syntax/typing.nit:1391,13--1392,0 text='
+'
+Read token at ../src/syntax/typing.nit:1392,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1392,7--1393,0 text='
+'
+Read token at ../src/syntax/typing.nit:1393,1--1394,0 text='
+'
+Read token at ../src/syntax/typing.nit:1394,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1394,6--1395,0 text='
+'
+Read token at ../src/syntax/typing.nit:1395,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1395,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1395,11--12 text='=='
+Read token at ../src/syntax/typing.nit:1395,14--17 text='null'
+Read token at ../src/syntax/typing.nit:1395,19--22 text='then'
+Read token at ../src/syntax/typing.nit:1395,23--1396,0 text='
+'
+Read token at ../src/syntax/typing.nit:1396,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1396,7--22 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1396,24--27 text='then'
+Read token at ../src/syntax/typing.nit:1396,28--1397,0 text='
+'
+Read token at ../src/syntax/typing.nit:1397,5 text='v'
+Read token at ../src/syntax/typing.nit:1397,6 text='.'
+Read token at ../src/syntax/typing.nit:1397,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1397,12 text='('
+Read token at ../src/syntax/typing.nit:1397,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1397,17 text=','
+Read token at ../src/syntax/typing.nit:1397,19--47 text='"Error: Method or variable '{'
+Read token at ../src/syntax/typing.nit:1397,48--51 text='name'
+Read token at ../src/syntax/typing.nit:1397,52--66 text='}' unknown in {'
+Read token at ../src/syntax/typing.nit:1397,67--75 text='type_recv'
+Read token at ../src/syntax/typing.nit:1397,76--78 text='}."'
+Read token at ../src/syntax/typing.nit:1397,79 text=')'
+Read token at ../src/syntax/typing.nit:1397,80--1398,0 text='
+'
+Read token at ../src/syntax/typing.nit:1398,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1398,8--1399,0 text='
+'
+Read token at ../src/syntax/typing.nit:1399,5 text='v'
+Read token at ../src/syntax/typing.nit:1399,6 text='.'
+Read token at ../src/syntax/typing.nit:1399,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1399,12 text='('
+Read token at ../src/syntax/typing.nit:1399,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1399,17 text=','
+Read token at ../src/syntax/typing.nit:1399,19--35 text='"Error: Method '{'
+Read token at ../src/syntax/typing.nit:1399,36--39 text='name'
+Read token at ../src/syntax/typing.nit:1399,40--61 text='}' doesn't exists in {'
+Read token at ../src/syntax/typing.nit:1399,62--70 text='type_recv'
+Read token at ../src/syntax/typing.nit:1399,71--73 text='}."'
+Read token at ../src/syntax/typing.nit:1399,74 text=')'
+Read token at ../src/syntax/typing.nit:1399,75--1400,0 text='
+'
+Read token at ../src/syntax/typing.nit:1400,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1400,7--1401,0 text='
+'
+Read token at ../src/syntax/typing.nit:1401,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1401,11--14 text='null'
+Read token at ../src/syntax/typing.nit:1401,15--1402,0 text='
+'
+Read token at ../src/syntax/typing.nit:1402,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1402,6--1403,0 text='
+'
+Read token at ../src/syntax/typing.nit:1403,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1403,10--13 text='prop'
+Read token at ../src/syntax/typing.nit:1403,14--1404,0 text='
+'
+Read token at ../src/syntax/typing.nit:1404,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1404,5--1405,0 text='
+'
+Read token at ../src/syntax/typing.nit:1405,1--1406,0 text='
+'
+Read token at ../src/syntax/typing.nit:1406,2--1407,0 text='# Get the signature for a local property and a receiver
+'
+Read token at ../src/syntax/typing.nit:1407,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1407,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1407,14--26 text='get_signature'
+Read token at ../src/syntax/typing.nit:1407,27 text='('
+Read token at ../src/syntax/typing.nit:1407,28 text='v'
+Read token at ../src/syntax/typing.nit:1407,29 text=':'
+Read token at ../src/syntax/typing.nit:1407,31--43 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1407,44 text=','
+Read token at ../src/syntax/typing.nit:1407,46--54 text='type_recv'
+Read token at ../src/syntax/typing.nit:1407,55 text=':'
+Read token at ../src/syntax/typing.nit:1407,57--62 text='MMType'
+Read token at ../src/syntax/typing.nit:1407,63 text=','
+Read token at ../src/syntax/typing.nit:1407,65--68 text='prop'
+Read token at ../src/syntax/typing.nit:1407,69 text=':'
+Read token at ../src/syntax/typing.nit:1407,71--78 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1407,79 text=','
+Read token at ../src/syntax/typing.nit:1407,81--92 text='recv_is_self'
+Read token at ../src/syntax/typing.nit:1407,93 text=':'
+Read token at ../src/syntax/typing.nit:1407,95--98 text='Bool'
+Read token at ../src/syntax/typing.nit:1407,99 text=')'
+Read token at ../src/syntax/typing.nit:1407,100 text=':'
+Read token at ../src/syntax/typing.nit:1407,102--112 text='MMSignature'
+Read token at ../src/syntax/typing.nit:1407,113--1408,0 text='
+'
+Read token at ../src/syntax/typing.nit:1408,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1408,4--1409,0 text='
+'
+Read token at ../src/syntax/typing.nit:1409,3--6 text='prop'
+Read token at ../src/syntax/typing.nit:1409,7 text='.'
+Read token at ../src/syntax/typing.nit:1409,8--13 text='global'
+Read token at ../src/syntax/typing.nit:1409,14 text='.'
+Read token at ../src/syntax/typing.nit:1409,15--30 text='check_visibility'
+Read token at ../src/syntax/typing.nit:1409,31 text='('
+Read token at ../src/syntax/typing.nit:1409,32 text='v'
+Read token at ../src/syntax/typing.nit:1409,33 text=','
+Read token at ../src/syntax/typing.nit:1409,35--38 text='self'
+Read token at ../src/syntax/typing.nit:1409,39 text=','
+Read token at ../src/syntax/typing.nit:1409,41 text='v'
+Read token at ../src/syntax/typing.nit:1409,42 text='.'
+Read token at ../src/syntax/typing.nit:1409,43--50 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1409,51 text=','
+Read token at ../src/syntax/typing.nit:1409,53--64 text='recv_is_self'
+Read token at ../src/syntax/typing.nit:1409,65 text=')'
+Read token at ../src/syntax/typing.nit:1409,66--1410,0 text='
+'
+Read token at ../src/syntax/typing.nit:1410,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1410,7--10 text='psig'
+Read token at ../src/syntax/typing.nit:1410,12 text='='
+Read token at ../src/syntax/typing.nit:1410,14--17 text='prop'
+Read token at ../src/syntax/typing.nit:1410,18 text='.'
+Read token at ../src/syntax/typing.nit:1410,19--31 text='signature_for'
+Read token at ../src/syntax/typing.nit:1410,32 text='('
+Read token at ../src/syntax/typing.nit:1410,33--41 text='type_recv'
+Read token at ../src/syntax/typing.nit:1410,42 text=')'
+Read token at ../src/syntax/typing.nit:1410,43--1411,0 text='
+'
+Read token at ../src/syntax/typing.nit:1411,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1411,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1411,10--21 text='recv_is_self'
+Read token at ../src/syntax/typing.nit:1411,23--26 text='then'
+Read token at ../src/syntax/typing.nit:1411,28--31 text='psig'
+Read token at ../src/syntax/typing.nit:1411,33 text='='
+Read token at ../src/syntax/typing.nit:1411,35--38 text='psig'
+Read token at ../src/syntax/typing.nit:1411,39 text='.'
+Read token at ../src/syntax/typing.nit:1411,40--51 text='not_for_self'
+Read token at ../src/syntax/typing.nit:1411,52--1412,0 text='
+'
+Read token at ../src/syntax/typing.nit:1412,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1412,10--13 text='psig'
+Read token at ../src/syntax/typing.nit:1412,14--1413,0 text='
+'
+Read token at ../src/syntax/typing.nit:1413,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1413,5--1414,0 text='
+'
+Read token at ../src/syntax/typing.nit:1414,1--1415,0 text='
+'
+Read token at ../src/syntax/typing.nit:1415,2--1416,0 text='# The invoked method (once computed)
+'
+Read token at ../src/syntax/typing.nit:1416,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1416,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1416,12--15 text='prop'
+Read token at ../src/syntax/typing.nit:1416,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1416,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1416,27--31 text='_prop'
+Read token at ../src/syntax/typing.nit:1416,32 text='.'
+Read token at ../src/syntax/typing.nit:1416,33--34 text='as'
+Read token at ../src/syntax/typing.nit:1416,35 text='('
+Read token at ../src/syntax/typing.nit:1416,36--38 text='not'
+Read token at ../src/syntax/typing.nit:1416,40--43 text='null'
+Read token at ../src/syntax/typing.nit:1416,44 text=')'
+Read token at ../src/syntax/typing.nit:1416,45--1417,0 text='
+'
+Read token at ../src/syntax/typing.nit:1417,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1417,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1417,11 text=':'
+Read token at ../src/syntax/typing.nit:1417,13--20 text='nullable'
+Read token at ../src/syntax/typing.nit:1417,22--29 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1417,30--1418,0 text='
+'
+Read token at ../src/syntax/typing.nit:1418,1--1419,0 text='
+'
+Read token at ../src/syntax/typing.nit:1419,2--1420,0 text='# The return type (if any) (once computed)
+'
+Read token at ../src/syntax/typing.nit:1420,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1420,8--15 text='readable'
+Read token at ../src/syntax/typing.nit:1420,17--19 text='var'
+Read token at ../src/syntax/typing.nit:1420,21--32 text='_return_type'
+Read token at ../src/syntax/typing.nit:1420,33 text=':'
+Read token at ../src/syntax/typing.nit:1420,35--42 text='nullable'
+Read token at ../src/syntax/typing.nit:1420,44--49 text='MMType'
+Read token at ../src/syntax/typing.nit:1420,50--1421,0 text='
+'
+Read token at ../src/syntax/typing.nit:1421,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1421,4--1422,0 text='
+'
+Read token at ../src/syntax/typing.nit:1422,1--1423,0 text='
+'
+Read token at ../src/syntax/typing.nit:1423,1--1424,0 text='# A possible call of constructor in a super class
+'
+Read token at ../src/syntax/typing.nit:1424,1--1425,0 text='# Could be an explicit call or with the 'super' keyword
+'
+Read token at ../src/syntax/typing.nit:1425,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1425,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1425,13--26 text='ASuperInitCall'
+Read token at ../src/syntax/typing.nit:1425,27--1426,0 text='
+'
+Read token at ../src/syntax/typing.nit:1426,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1426,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1426,14--37 text='register_super_init_call'
+Read token at ../src/syntax/typing.nit:1426,38 text='('
+Read token at ../src/syntax/typing.nit:1426,39 text='v'
+Read token at ../src/syntax/typing.nit:1426,40 text=':'
+Read token at ../src/syntax/typing.nit:1426,42--54 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1426,55 text=','
+Read token at ../src/syntax/typing.nit:1426,57--64 text='property'
+Read token at ../src/syntax/typing.nit:1426,65 text=':'
+Read token at ../src/syntax/typing.nit:1426,67--74 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1426,75 text=')'
+Read token at ../src/syntax/typing.nit:1426,76--1427,0 text='
+'
+Read token at ../src/syntax/typing.nit:1427,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1427,4--1428,0 text='
+'
+Read token at ../src/syntax/typing.nit:1428,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1428,6--11 text='parent'
+Read token at ../src/syntax/typing.nit:1428,13--14 text='!='
+Read token at ../src/syntax/typing.nit:1428,16 text='v'
+Read token at ../src/syntax/typing.nit:1428,17 text='.'
+Read token at ../src/syntax/typing.nit:1428,18--26 text='top_block'
+Read token at ../src/syntax/typing.nit:1428,28--30 text='and'
+Read token at ../src/syntax/typing.nit:1428,32--35 text='self'
+Read token at ../src/syntax/typing.nit:1428,37--38 text='!='
+Read token at ../src/syntax/typing.nit:1428,40 text='v'
+Read token at ../src/syntax/typing.nit:1428,41 text='.'
+Read token at ../src/syntax/typing.nit:1428,42--50 text='top_block'
+Read token at ../src/syntax/typing.nit:1428,52--55 text='then'
+Read token at ../src/syntax/typing.nit:1428,56--1429,0 text='
+'
+Read token at ../src/syntax/typing.nit:1429,4 text='v'
+Read token at ../src/syntax/typing.nit:1429,5 text='.'
+Read token at ../src/syntax/typing.nit:1429,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1429,11 text='('
+Read token at ../src/syntax/typing.nit:1429,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1429,16 text=','
+Read token at ../src/syntax/typing.nit:1429,18--49 text='"Error: Constructor invocation {'
+Read token at ../src/syntax/typing.nit:1429,50--57 text='property'
+Read token at ../src/syntax/typing.nit:1429,58--88 text='} must not be in nested block."'
+Read token at ../src/syntax/typing.nit:1429,89 text=')'
+Read token at ../src/syntax/typing.nit:1429,90--1430,0 text='
+'
+Read token at ../src/syntax/typing.nit:1430,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1430,6--1431,0 text='
+'
+Read token at ../src/syntax/typing.nit:1431,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1431,7--9 text='cla'
+Read token at ../src/syntax/typing.nit:1431,11 text='='
+Read token at ../src/syntax/typing.nit:1431,13 text='v'
+Read token at ../src/syntax/typing.nit:1431,14 text='.'
+Read token at ../src/syntax/typing.nit:1431,15--22 text='mmmodule'
+Read token at ../src/syntax/typing.nit:1431,23 text='['
+Read token at ../src/syntax/typing.nit:1431,24--31 text='property'
+Read token at ../src/syntax/typing.nit:1431,32 text='.'
+Read token at ../src/syntax/typing.nit:1431,33--38 text='global'
+Read token at ../src/syntax/typing.nit:1431,39 text='.'
+Read token at ../src/syntax/typing.nit:1431,40--44 text='intro'
+Read token at ../src/syntax/typing.nit:1431,45 text='.'
+Read token at ../src/syntax/typing.nit:1431,46--56 text='local_class'
+Read token at ../src/syntax/typing.nit:1431,57 text='.'
+Read token at ../src/syntax/typing.nit:1431,58--63 text='global'
+Read token at ../src/syntax/typing.nit:1431,64 text=']'
+Read token at ../src/syntax/typing.nit:1431,65--1432,0 text='
+'
+Read token at ../src/syntax/typing.nit:1432,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1432,7--16 text='prev_class'
+Read token at ../src/syntax/typing.nit:1432,17 text=':'
+Read token at ../src/syntax/typing.nit:1432,19--26 text='nullable'
+Read token at ../src/syntax/typing.nit:1432,28--39 text='MMLocalClass'
+Read token at ../src/syntax/typing.nit:1432,41 text='='
+Read token at ../src/syntax/typing.nit:1432,43--46 text='null'
+Read token at ../src/syntax/typing.nit:1432,47--1433,0 text='
+'
+Read token at ../src/syntax/typing.nit:1433,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1433,7--10 text='esic'
+Read token at ../src/syntax/typing.nit:1433,12 text='='
+Read token at ../src/syntax/typing.nit:1433,14 text='v'
+Read token at ../src/syntax/typing.nit:1433,15 text='.'
+Read token at ../src/syntax/typing.nit:1433,16--40 text='explicit_super_init_calls'
+Read token at ../src/syntax/typing.nit:1433,41 text='.'
+Read token at ../src/syntax/typing.nit:1433,42--43 text='as'
+Read token at ../src/syntax/typing.nit:1433,44 text='('
+Read token at ../src/syntax/typing.nit:1433,45--47 text='not'
+Read token at ../src/syntax/typing.nit:1433,49--52 text='null'
+Read token at ../src/syntax/typing.nit:1433,53 text=')'
+Read token at ../src/syntax/typing.nit:1433,54--1434,0 text='
+'
+Read token at ../src/syntax/typing.nit:1434,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1434,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1434,10--13 text='esic'
+Read token at ../src/syntax/typing.nit:1434,14 text='.'
+Read token at ../src/syntax/typing.nit:1434,15--22 text='is_empty'
+Read token at ../src/syntax/typing.nit:1434,24--27 text='then'
+Read token at ../src/syntax/typing.nit:1434,28--1435,0 text='
+'
+Read token at ../src/syntax/typing.nit:1435,4--13 text='prev_class'
+Read token at ../src/syntax/typing.nit:1435,15 text='='
+Read token at ../src/syntax/typing.nit:1435,17--20 text='esic'
+Read token at ../src/syntax/typing.nit:1435,21 text='.'
+Read token at ../src/syntax/typing.nit:1435,22--25 text='last'
+Read token at ../src/syntax/typing.nit:1435,26 text='.'
+Read token at ../src/syntax/typing.nit:1435,27--32 text='global'
+Read token at ../src/syntax/typing.nit:1435,33 text='.'
+Read token at ../src/syntax/typing.nit:1435,34--38 text='intro'
+Read token at ../src/syntax/typing.nit:1435,39 text='.'
+Read token at ../src/syntax/typing.nit:1435,40--50 text='local_class'
+Read token at ../src/syntax/typing.nit:1435,51--1436,0 text='
+'
+Read token at ../src/syntax/typing.nit:1436,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1436,6--1437,0 text='
+'
+Read token at ../src/syntax/typing.nit:1437,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1437,7--11 text='order'
+Read token at ../src/syntax/typing.nit:1437,13 text='='
+Read token at ../src/syntax/typing.nit:1437,15 text='v'
+Read token at ../src/syntax/typing.nit:1437,16 text='.'
+Read token at ../src/syntax/typing.nit:1437,17--27 text='local_class'
+Read token at ../src/syntax/typing.nit:1437,28 text='.'
+Read token at ../src/syntax/typing.nit:1437,29--32 text='cshe'
+Read token at ../src/syntax/typing.nit:1437,33 text='.'
+Read token at ../src/syntax/typing.nit:1437,34--57 text='reverse_linear_extension'
+Read token at ../src/syntax/typing.nit:1437,58--1438,0 text='
+'
+Read token at ../src/syntax/typing.nit:1438,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1438,6--8 text='cla'
+Read token at ../src/syntax/typing.nit:1438,10--11 text='=='
+Read token at ../src/syntax/typing.nit:1438,13 text='v'
+Read token at ../src/syntax/typing.nit:1438,14 text='.'
+Read token at ../src/syntax/typing.nit:1438,15--25 text='local_class'
+Read token at ../src/syntax/typing.nit:1438,27--30 text='then'
+Read token at ../src/syntax/typing.nit:1438,31--1439,0 text='
+'
+Read token at ../src/syntax/typing.nit:1439,4 text='v'
+Read token at ../src/syntax/typing.nit:1439,5 text='.'
+Read token at ../src/syntax/typing.nit:1439,6--29 text='explicit_other_init_call'
+Read token at ../src/syntax/typing.nit:1439,31 text='='
+Read token at ../src/syntax/typing.nit:1439,33--36 text='true'
+Read token at ../src/syntax/typing.nit:1439,37--1440,0 text='
+'
+Read token at ../src/syntax/typing.nit:1440,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1440,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1440,11--13 text='not'
+Read token at ../src/syntax/typing.nit:1440,15--19 text='order'
+Read token at ../src/syntax/typing.nit:1440,20 text='.'
+Read token at ../src/syntax/typing.nit:1440,21--23 text='has'
+Read token at ../src/syntax/typing.nit:1440,24 text='('
+Read token at ../src/syntax/typing.nit:1440,25--27 text='cla'
+Read token at ../src/syntax/typing.nit:1440,28 text=')'
+Read token at ../src/syntax/typing.nit:1440,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1440,34--1441,0 text='
+'
+Read token at ../src/syntax/typing.nit:1441,4 text='v'
+Read token at ../src/syntax/typing.nit:1441,5 text='.'
+Read token at ../src/syntax/typing.nit:1441,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1441,11 text='('
+Read token at ../src/syntax/typing.nit:1441,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1441,16 text=','
+Read token at ../src/syntax/typing.nit:1441,18--47 text='"Error: Constructor of class {'
+Read token at ../src/syntax/typing.nit:1441,48--50 text='cla'
+Read token at ../src/syntax/typing.nit:1441,51--68 text='} must be one in {'
+Read token at ../src/syntax/typing.nit:1441,69--73 text='order'
+Read token at ../src/syntax/typing.nit:1441,74 text='.'
+Read token at ../src/syntax/typing.nit:1441,75--78 text='join'
+Read token at ../src/syntax/typing.nit:1441,79 text='('
+Read token at ../src/syntax/typing.nit:1441,80--83 text='", "'
+Read token at ../src/syntax/typing.nit:1441,84 text=')'
+Read token at ../src/syntax/typing.nit:1441,85--87 text='}."'
+Read token at ../src/syntax/typing.nit:1441,88 text=')'
+Read token at ../src/syntax/typing.nit:1441,89--1442,0 text='
+'
+Read token at ../src/syntax/typing.nit:1442,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1442,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1442,11--13 text='cla'
+Read token at ../src/syntax/typing.nit:1442,15--16 text='=='
+Read token at ../src/syntax/typing.nit:1442,18--27 text='prev_class'
+Read token at ../src/syntax/typing.nit:1442,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1442,33--1443,0 text='
+'
+Read token at ../src/syntax/typing.nit:1443,4 text='v'
+Read token at ../src/syntax/typing.nit:1443,5 text='.'
+Read token at ../src/syntax/typing.nit:1443,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1443,11 text='('
+Read token at ../src/syntax/typing.nit:1443,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1443,16 text=','
+Read token at ../src/syntax/typing.nit:1443,18--73 text='"Error: Only one super constructor invocation of class {'
+Read token at ../src/syntax/typing.nit:1443,74--76 text='cla'
+Read token at ../src/syntax/typing.nit:1443,77--90 text='} is allowed."'
+Read token at ../src/syntax/typing.nit:1443,91 text=')'
+Read token at ../src/syntax/typing.nit:1443,92--1444,0 text='
+'
+Read token at ../src/syntax/typing.nit:1444,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1444,7--1445,0 text='
+'
+Read token at ../src/syntax/typing.nit:1445,4--6 text='for'
+Read token at ../src/syntax/typing.nit:1445,8 text='c'
+Read token at ../src/syntax/typing.nit:1445,10--11 text='in'
+Read token at ../src/syntax/typing.nit:1445,13--17 text='order'
+Read token at ../src/syntax/typing.nit:1445,19--20 text='do'
+Read token at ../src/syntax/typing.nit:1445,21--1446,0 text='
+'
+Read token at ../src/syntax/typing.nit:1446,5--6 text='if'
+Read token at ../src/syntax/typing.nit:1446,8 text='c'
+Read token at ../src/syntax/typing.nit:1446,10--11 text='=='
+Read token at ../src/syntax/typing.nit:1446,13--22 text='prev_class'
+Read token at ../src/syntax/typing.nit:1446,24--27 text='then'
+Read token at ../src/syntax/typing.nit:1446,28--1447,0 text='
+'
+Read token at ../src/syntax/typing.nit:1447,6--15 text='prev_class'
+Read token at ../src/syntax/typing.nit:1447,17 text='='
+Read token at ../src/syntax/typing.nit:1447,19--22 text='null'
+Read token at ../src/syntax/typing.nit:1447,23--1448,0 text='
+'
+Read token at ../src/syntax/typing.nit:1448,5--8 text='else'
+Read token at ../src/syntax/typing.nit:1448,10--11 text='if'
+Read token at ../src/syntax/typing.nit:1448,13 text='c'
+Read token at ../src/syntax/typing.nit:1448,15--16 text='=='
+Read token at ../src/syntax/typing.nit:1448,18--20 text='cla'
+Read token at ../src/syntax/typing.nit:1448,22--25 text='then'
+Read token at ../src/syntax/typing.nit:1448,26--1449,0 text='
+'
+Read token at ../src/syntax/typing.nit:1449,6--7 text='if'
+Read token at ../src/syntax/typing.nit:1449,9--18 text='prev_class'
+Read token at ../src/syntax/typing.nit:1449,20--21 text='!='
+Read token at ../src/syntax/typing.nit:1449,23--26 text='null'
+Read token at ../src/syntax/typing.nit:1449,28--31 text='then'
+Read token at ../src/syntax/typing.nit:1449,32--1450,0 text='
+'
+Read token at ../src/syntax/typing.nit:1450,7 text='v'
+Read token at ../src/syntax/typing.nit:1450,8 text='.'
+Read token at ../src/syntax/typing.nit:1450,9--13 text='error'
+Read token at ../src/syntax/typing.nit:1450,14 text='('
+Read token at ../src/syntax/typing.nit:1450,15--18 text='self'
+Read token at ../src/syntax/typing.nit:1450,19 text=','
+Read token at ../src/syntax/typing.nit:1450,21--44 text='"Error: Constructor of {'
+Read token at ../src/syntax/typing.nit:1450,45 text='c'
+Read token at ../src/syntax/typing.nit:1450,46--86 text='} must be invoked before constructor of {'
+Read token at ../src/syntax/typing.nit:1450,87--96 text='prev_class'
+Read token at ../src/syntax/typing.nit:1450,97--98 text='}"'
+Read token at ../src/syntax/typing.nit:1450,99 text=')'
+Read token at ../src/syntax/typing.nit:1450,100--1451,0 text='
+'
+Read token at ../src/syntax/typing.nit:1451,6--8 text='end'
+Read token at ../src/syntax/typing.nit:1451,9--1452,0 text='
+'
+Read token at ../src/syntax/typing.nit:1452,6--9 text='esic'
+Read token at ../src/syntax/typing.nit:1452,10 text='.'
+Read token at ../src/syntax/typing.nit:1452,11--13 text='add'
+Read token at ../src/syntax/typing.nit:1452,14 text='('
+Read token at ../src/syntax/typing.nit:1452,15--22 text='property'
+Read token at ../src/syntax/typing.nit:1452,23 text=')'
+Read token at ../src/syntax/typing.nit:1452,24--1453,0 text='
+'
+Read token at ../src/syntax/typing.nit:1453,6--10 text='break'
+Read token at ../src/syntax/typing.nit:1453,11--1454,0 text='
+'
+Read token at ../src/syntax/typing.nit:1454,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1454,8--1455,0 text='
+'
+Read token at ../src/syntax/typing.nit:1455,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1455,7--1456,0 text='
+'
+Read token at ../src/syntax/typing.nit:1456,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1456,6--1457,0 text='
+'
+Read token at ../src/syntax/typing.nit:1457,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1457,5--1458,0 text='
+'
+Read token at ../src/syntax/typing.nit:1458,1--1459,0 text='
+'
+Read token at ../src/syntax/typing.nit:1459,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1459,4--1460,0 text='
+'
+Read token at ../src/syntax/typing.nit:1460,1--1461,0 text='
+'
+Read token at ../src/syntax/typing.nit:1461,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1461,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1461,13--20 text='ANewExpr'
+Read token at ../src/syntax/typing.nit:1461,21--1462,0 text='
+'
+Read token at ../src/syntax/typing.nit:1462,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1462,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1462,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1462,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1462,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1462,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1462,50 text='.'
+Read token at ../src/syntax/typing.nit:1462,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1462,55--1463,0 text='
+'
+Read token at ../src/syntax/typing.nit:1463,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1463,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1463,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1463,24 text='('
+Read token at ../src/syntax/typing.nit:1463,25 text='v'
+Read token at ../src/syntax/typing.nit:1463,26 text=')'
+Read token at ../src/syntax/typing.nit:1463,27--1464,0 text='
+'
+Read token at ../src/syntax/typing.nit:1464,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1464,4--1465,0 text='
+'
+Read token at ../src/syntax/typing.nit:1465,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1465,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1465,10--15 text='n_type'
+Read token at ../src/syntax/typing.nit:1465,16 text='.'
+Read token at ../src/syntax/typing.nit:1465,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1465,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1465,31--36 text='return'
+Read token at ../src/syntax/typing.nit:1465,37--1466,0 text='
+'
+Read token at ../src/syntax/typing.nit:1466,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1466,7 text='t'
+Read token at ../src/syntax/typing.nit:1466,9 text='='
+Read token at ../src/syntax/typing.nit:1466,11--16 text='n_type'
+Read token at ../src/syntax/typing.nit:1466,17 text='.'
+Read token at ../src/syntax/typing.nit:1466,18--22 text='stype'
+Read token at ../src/syntax/typing.nit:1466,23--1467,0 text='
+'
+Read token at ../src/syntax/typing.nit:1467,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1467,6 text='t'
+Read token at ../src/syntax/typing.nit:1467,7 text='.'
+Read token at ../src/syntax/typing.nit:1467,8--18 text='local_class'
+Read token at ../src/syntax/typing.nit:1467,19 text='.'
+Read token at ../src/syntax/typing.nit:1467,20--25 text='global'
+Read token at ../src/syntax/typing.nit:1467,26 text='.'
+Read token at ../src/syntax/typing.nit:1467,27--37 text='is_abstract'
+Read token at ../src/syntax/typing.nit:1467,39--42 text='then'
+Read token at ../src/syntax/typing.nit:1467,43--1468,0 text='
+'
+Read token at ../src/syntax/typing.nit:1468,4 text='v'
+Read token at ../src/syntax/typing.nit:1468,5 text='.'
+Read token at ../src/syntax/typing.nit:1468,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1468,11 text='('
+Read token at ../src/syntax/typing.nit:1468,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1468,16 text=','
+Read token at ../src/syntax/typing.nit:1468,18--60 text='"Error: try to instantiate abstract class {'
+Read token at ../src/syntax/typing.nit:1468,61 text='t'
+Read token at ../src/syntax/typing.nit:1468,62 text='.'
+Read token at ../src/syntax/typing.nit:1468,63--73 text='local_class'
+Read token at ../src/syntax/typing.nit:1468,74--76 text='}."'
+Read token at ../src/syntax/typing.nit:1468,77 text=')'
+Read token at ../src/syntax/typing.nit:1468,78--1469,0 text='
+'
+Read token at ../src/syntax/typing.nit:1469,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1469,10--1470,0 text='
+'
+Read token at ../src/syntax/typing.nit:1470,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1470,6--1471,0 text='
+'
+Read token at ../src/syntax/typing.nit:1471,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1471,7--10 text='name'
+Read token at ../src/syntax/typing.nit:1471,11 text=':'
+Read token at ../src/syntax/typing.nit:1471,13--18 text='Symbol'
+Read token at ../src/syntax/typing.nit:1471,19--1472,0 text='
+'
+Read token at ../src/syntax/typing.nit:1472,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1472,6--9 text='n_id'
+Read token at ../src/syntax/typing.nit:1472,11--12 text='=='
+Read token at ../src/syntax/typing.nit:1472,14--17 text='null'
+Read token at ../src/syntax/typing.nit:1472,19--22 text='then'
+Read token at ../src/syntax/typing.nit:1472,23--1473,0 text='
+'
+Read token at ../src/syntax/typing.nit:1473,4--7 text='name'
+Read token at ../src/syntax/typing.nit:1473,9 text='='
+Read token at ../src/syntax/typing.nit:1473,11--14 text='once'
+Read token at ../src/syntax/typing.nit:1473,16--21 text='"init"'
+Read token at ../src/syntax/typing.nit:1473,22 text='.'
+Read token at ../src/syntax/typing.nit:1473,23--31 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1473,32--1474,0 text='
+'
+Read token at ../src/syntax/typing.nit:1474,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1474,7--1475,0 text='
+'
+Read token at ../src/syntax/typing.nit:1475,4--7 text='name'
+Read token at ../src/syntax/typing.nit:1475,9 text='='
+Read token at ../src/syntax/typing.nit:1475,11--14 text='n_id'
+Read token at ../src/syntax/typing.nit:1475,15 text='.'
+Read token at ../src/syntax/typing.nit:1475,16--24 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1475,25--1476,0 text='
+'
+Read token at ../src/syntax/typing.nit:1476,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1476,6--1477,0 text='
+'
+Read token at ../src/syntax/typing.nit:1477,1--1478,0 text='
+'
+Read token at ../src/syntax/typing.nit:1478,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1478,12 text='('
+Read token at ../src/syntax/typing.nit:1478,13 text='v'
+Read token at ../src/syntax/typing.nit:1478,14 text=','
+Read token at ../src/syntax/typing.nit:1478,16 text='t'
+Read token at ../src/syntax/typing.nit:1478,17 text=','
+Read token at ../src/syntax/typing.nit:1478,19--23 text='false'
+Read token at ../src/syntax/typing.nit:1478,24 text=','
+Read token at ../src/syntax/typing.nit:1478,26--30 text='false'
+Read token at ../src/syntax/typing.nit:1478,31 text=','
+Read token at ../src/syntax/typing.nit:1478,33--36 text='name'
+Read token at ../src/syntax/typing.nit:1478,37 text=','
+Read token at ../src/syntax/typing.nit:1478,39--51 text='raw_arguments'
+Read token at ../src/syntax/typing.nit:1478,52 text=','
+Read token at ../src/syntax/typing.nit:1478,54--57 text='null'
+Read token at ../src/syntax/typing.nit:1478,58 text=')'
+Read token at ../src/syntax/typing.nit:1478,59--1479,0 text='
+'
+Read token at ../src/syntax/typing.nit:1479,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1479,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1479,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1479,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1479,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1479,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1479,31--1480,0 text='
+'
+Read token at ../src/syntax/typing.nit:1480,1--1481,0 text='
+'
+Read token at ../src/syntax/typing.nit:1481,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1481,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1481,10--13 text='prop'
+Read token at ../src/syntax/typing.nit:1481,14 text='.'
+Read token at ../src/syntax/typing.nit:1481,15--20 text='global'
+Read token at ../src/syntax/typing.nit:1481,21 text='.'
+Read token at ../src/syntax/typing.nit:1481,22--28 text='is_init'
+Read token at ../src/syntax/typing.nit:1481,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1481,34--1482,0 text='
+'
+Read token at ../src/syntax/typing.nit:1482,4 text='v'
+Read token at ../src/syntax/typing.nit:1482,5 text='.'
+Read token at ../src/syntax/typing.nit:1482,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1482,11 text='('
+Read token at ../src/syntax/typing.nit:1482,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1482,16 text=','
+Read token at ../src/syntax/typing.nit:1482,18--26 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1482,27--30 text='prop'
+Read token at ../src/syntax/typing.nit:1482,31--54 text='} is not a constructor."'
+Read token at ../src/syntax/typing.nit:1482,55 text=')'
+Read token at ../src/syntax/typing.nit:1482,56--1483,0 text='
+'
+Read token at ../src/syntax/typing.nit:1483,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1483,10--1484,0 text='
+'
+Read token at ../src/syntax/typing.nit:1484,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1484,6--1485,0 text='
+'
+Read token at ../src/syntax/typing.nit:1485,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1485,10 text='='
+Read token at ../src/syntax/typing.nit:1485,12 text='t'
+Read token at ../src/syntax/typing.nit:1485,13--1486,0 text='
+'
+Read token at ../src/syntax/typing.nit:1486,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1486,13 text='='
+Read token at ../src/syntax/typing.nit:1486,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1486,19--1487,0 text='
+'
+Read token at ../src/syntax/typing.nit:1487,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1487,5--1488,0 text='
+'
+Read token at ../src/syntax/typing.nit:1488,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1488,4--1489,0 text='
+'
+Read token at ../src/syntax/typing.nit:1489,1--1490,0 text='
+'
+Read token at ../src/syntax/typing.nit:1490,1--1491,0 text='
+'
+Read token at ../src/syntax/typing.nit:1491,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1491,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1491,13--21 text='ASendExpr'
+Read token at ../src/syntax/typing.nit:1491,22--1492,0 text='
+'
+Read token at ../src/syntax/typing.nit:1492,2--1493,0 text='# Name of the invoked property
+'
+Read token at ../src/syntax/typing.nit:1493,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:1493,6--9 text='name'
+Read token at ../src/syntax/typing.nit:1493,10 text=':'
+Read token at ../src/syntax/typing.nit:1493,12--17 text='Symbol'
+Read token at ../src/syntax/typing.nit:1493,19--20 text='is'
+Read token at ../src/syntax/typing.nit:1493,22--29 text='abstract'
+Read token at ../src/syntax/typing.nit:1493,31--1494,0 text='
+'
+Read token at ../src/syntax/typing.nit:1494,1--1495,0 text='
+'
+Read token at ../src/syntax/typing.nit:1495,2--1496,0 text='# Closure definitions
+'
+Read token at ../src/syntax/typing.nit:1496,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1496,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1496,12--23 text='closure_defs'
+Read token at ../src/syntax/typing.nit:1496,24 text=':'
+Read token at ../src/syntax/typing.nit:1496,26--33 text='nullable'
+Read token at ../src/syntax/typing.nit:1496,35--39 text='Array'
+Read token at ../src/syntax/typing.nit:1496,40 text='['
+Read token at ../src/syntax/typing.nit:1496,41--51 text='AClosureDef'
+Read token at ../src/syntax/typing.nit:1496,52 text=']'
+Read token at ../src/syntax/typing.nit:1496,54--55 text='do'
+Read token at ../src/syntax/typing.nit:1496,57--62 text='return'
+Read token at ../src/syntax/typing.nit:1496,64--67 text='null'
+Read token at ../src/syntax/typing.nit:1496,68--1497,0 text='
+'
+Read token at ../src/syntax/typing.nit:1497,1--1498,0 text='
+'
+Read token at ../src/syntax/typing.nit:1498,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1498,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1498,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1498,24 text='('
+Read token at ../src/syntax/typing.nit:1498,25 text='v'
+Read token at ../src/syntax/typing.nit:1498,26 text=')'
+Read token at ../src/syntax/typing.nit:1498,27--1499,0 text='
+'
+Read token at ../src/syntax/typing.nit:1499,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1499,4--1500,0 text='
+'
+Read token at ../src/syntax/typing.nit:1500,3--15 text='do_all_typing'
+Read token at ../src/syntax/typing.nit:1500,16 text='('
+Read token at ../src/syntax/typing.nit:1500,17 text='v'
+Read token at ../src/syntax/typing.nit:1500,18 text=')'
+Read token at ../src/syntax/typing.nit:1500,19--1501,0 text='
+'
+Read token at ../src/syntax/typing.nit:1501,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1501,5--1502,0 text='
+'
+Read token at ../src/syntax/typing.nit:1502,1--1503,0 text='
+'
+Read token at ../src/syntax/typing.nit:1503,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1503,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1503,14--26 text='do_all_typing'
+Read token at ../src/syntax/typing.nit:1503,27 text='('
+Read token at ../src/syntax/typing.nit:1503,28 text='v'
+Read token at ../src/syntax/typing.nit:1503,29 text=':'
+Read token at ../src/syntax/typing.nit:1503,31--43 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1503,44 text=')'
+Read token at ../src/syntax/typing.nit:1503,45--1504,0 text='
+'
+Read token at ../src/syntax/typing.nit:1504,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1504,4--1505,0 text='
+'
+Read token at ../src/syntax/typing.nit:1505,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1505,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1505,10 text='v'
+Read token at ../src/syntax/typing.nit:1505,11 text='.'
+Read token at ../src/syntax/typing.nit:1505,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:1505,22 text='('
+Read token at ../src/syntax/typing.nit:1505,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:1505,29 text=')'
+Read token at ../src/syntax/typing.nit:1505,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1505,36--41 text='return'
+Read token at ../src/syntax/typing.nit:1505,42--1506,0 text='
+'
+Read token at ../src/syntax/typing.nit:1506,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1506,12 text='('
+Read token at ../src/syntax/typing.nit:1506,13 text='v'
+Read token at ../src/syntax/typing.nit:1506,14 text=','
+Read token at ../src/syntax/typing.nit:1506,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1506,22 text='.'
+Read token at ../src/syntax/typing.nit:1506,23--27 text='stype'
+Read token at ../src/syntax/typing.nit:1506,28 text=','
+Read token at ../src/syntax/typing.nit:1506,30--35 text='n_expr'
+Read token at ../src/syntax/typing.nit:1506,36 text='.'
+Read token at ../src/syntax/typing.nit:1506,37--52 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1506,53 text=','
+Read token at ../src/syntax/typing.nit:1506,55--60 text='n_expr'
+Read token at ../src/syntax/typing.nit:1506,61 text='.'
+Read token at ../src/syntax/typing.nit:1506,62--68 text='is_self'
+Read token at ../src/syntax/typing.nit:1506,69 text=','
+Read token at ../src/syntax/typing.nit:1506,71--74 text='name'
+Read token at ../src/syntax/typing.nit:1506,75 text=','
+Read token at ../src/syntax/typing.nit:1506,77--89 text='raw_arguments'
+Read token at ../src/syntax/typing.nit:1506,90 text=','
+Read token at ../src/syntax/typing.nit:1506,92--103 text='closure_defs'
+Read token at ../src/syntax/typing.nit:1506,104 text=')'
+Read token at ../src/syntax/typing.nit:1506,105--1507,0 text='
+'
+Read token at ../src/syntax/typing.nit:1507,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1507,6--10 text='_prop'
+Read token at ../src/syntax/typing.nit:1507,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1507,15--18 text='null'
+Read token at ../src/syntax/typing.nit:1507,20--23 text='then'
+Read token at ../src/syntax/typing.nit:1507,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1507,31--1508,0 text='
+'
+Read token at ../src/syntax/typing.nit:1508,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1508,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:1508,12 text='='
+Read token at ../src/syntax/typing.nit:1508,14--18 text='_prop'
+Read token at ../src/syntax/typing.nit:1508,19 text='.'
+Read token at ../src/syntax/typing.nit:1508,20--21 text='as'
+Read token at ../src/syntax/typing.nit:1508,22 text='('
+Read token at ../src/syntax/typing.nit:1508,23--25 text='not'
+Read token at ../src/syntax/typing.nit:1508,27--30 text='null'
+Read token at ../src/syntax/typing.nit:1508,31 text=')'
+Read token at ../src/syntax/typing.nit:1508,32--1509,0 text='
+'
+Read token at ../src/syntax/typing.nit:1509,1--1510,0 text='
+'
+Read token at ../src/syntax/typing.nit:1510,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1510,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1510,10 text='.'
+Read token at ../src/syntax/typing.nit:1510,11--16 text='global'
+Read token at ../src/syntax/typing.nit:1510,17 text='.'
+Read token at ../src/syntax/typing.nit:1510,18--24 text='is_init'
+Read token at ../src/syntax/typing.nit:1510,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1510,30--1511,0 text='
+'
+Read token at ../src/syntax/typing.nit:1511,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1511,7--9 text='not'
+Read token at ../src/syntax/typing.nit:1511,11 text='v'
+Read token at ../src/syntax/typing.nit:1511,12 text='.'
+Read token at ../src/syntax/typing.nit:1511,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:1511,27 text='.'
+Read token at ../src/syntax/typing.nit:1511,28--33 text='global'
+Read token at ../src/syntax/typing.nit:1511,34 text='.'
+Read token at ../src/syntax/typing.nit:1511,35--41 text='is_init'
+Read token at ../src/syntax/typing.nit:1511,43--46 text='then'
+Read token at ../src/syntax/typing.nit:1511,47--1512,0 text='
+'
+Read token at ../src/syntax/typing.nit:1512,5 text='v'
+Read token at ../src/syntax/typing.nit:1512,6 text='.'
+Read token at ../src/syntax/typing.nit:1512,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1512,12 text='('
+Read token at ../src/syntax/typing.nit:1512,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1512,17 text=','
+Read token at ../src/syntax/typing.nit:1512,19--53 text='"Error: try to invoke constructor {'
+Read token at ../src/syntax/typing.nit:1512,54--57 text='prop'
+Read token at ../src/syntax/typing.nit:1512,58--72 text='} in a method."'
+Read token at ../src/syntax/typing.nit:1512,73 text=')'
+Read token at ../src/syntax/typing.nit:1512,74--1513,0 text='
+'
+Read token at ../src/syntax/typing.nit:1513,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1513,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1513,12--14 text='not'
+Read token at ../src/syntax/typing.nit:1513,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1513,22 text='.'
+Read token at ../src/syntax/typing.nit:1513,23--29 text='is_self'
+Read token at ../src/syntax/typing.nit:1513,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1513,35--1514,0 text='
+'
+Read token at ../src/syntax/typing.nit:1514,5 text='v'
+Read token at ../src/syntax/typing.nit:1514,6 text='.'
+Read token at ../src/syntax/typing.nit:1514,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1514,12 text='('
+Read token at ../src/syntax/typing.nit:1514,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1514,17 text=','
+Read token at ../src/syntax/typing.nit:1514,19--39 text='"Error: constructor {'
+Read token at ../src/syntax/typing.nit:1514,40--43 text='prop'
+Read token at ../src/syntax/typing.nit:1514,44--71 text='} is not invoken on 'self'."'
+Read token at ../src/syntax/typing.nit:1514,72 text=')'
+Read token at ../src/syntax/typing.nit:1514,73--1515,0 text='
+'
+Read token at ../src/syntax/typing.nit:1515,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1515,8--1516,0 text='
+'
+Read token at ../src/syntax/typing.nit:1516,5--28 text='register_super_init_call'
+Read token at ../src/syntax/typing.nit:1516,29 text='('
+Read token at ../src/syntax/typing.nit:1516,30 text='v'
+Read token at ../src/syntax/typing.nit:1516,31 text=','
+Read token at ../src/syntax/typing.nit:1516,33--36 text='prop'
+Read token at ../src/syntax/typing.nit:1516,37 text=')'
+Read token at ../src/syntax/typing.nit:1516,38--1517,0 text='
+'
+Read token at ../src/syntax/typing.nit:1517,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1517,7--1518,0 text='
+'
+Read token at ../src/syntax/typing.nit:1518,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1518,6--1519,0 text='
+'
+Read token at ../src/syntax/typing.nit:1519,1--1520,0 text='
+'
+Read token at ../src/syntax/typing.nit:1520,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1520,10 text='='
+Read token at ../src/syntax/typing.nit:1520,12--22 text='return_type'
+Read token at ../src/syntax/typing.nit:1520,23--1521,0 text='
+'
+Read token at ../src/syntax/typing.nit:1521,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1521,13 text='='
+Read token at ../src/syntax/typing.nit:1521,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1521,19--1522,0 text='
+'
+Read token at ../src/syntax/typing.nit:1522,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1522,5--1523,0 text='
+'
+Read token at ../src/syntax/typing.nit:1523,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1523,4--1524,0 text='
+'
+Read token at ../src/syntax/typing.nit:1524,1--1525,0 text='
+'
+Read token at ../src/syntax/typing.nit:1525,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1525,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1525,13--29 text='ASendReassignExpr'
+Read token at ../src/syntax/typing.nit:1525,30--1526,0 text='
+'
+Read token at ../src/syntax/typing.nit:1526,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1526,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1526,12--20 text='read_prop'
+Read token at ../src/syntax/typing.nit:1526,22--23 text='do'
+Read token at ../src/syntax/typing.nit:1526,25--30 text='return'
+Read token at ../src/syntax/typing.nit:1526,32--41 text='_read_prop'
+Read token at ../src/syntax/typing.nit:1526,42 text='.'
+Read token at ../src/syntax/typing.nit:1526,43--44 text='as'
+Read token at ../src/syntax/typing.nit:1526,45 text='('
+Read token at ../src/syntax/typing.nit:1526,46--48 text='not'
+Read token at ../src/syntax/typing.nit:1526,50--53 text='null'
+Read token at ../src/syntax/typing.nit:1526,54 text=')'
+Read token at ../src/syntax/typing.nit:1526,55--1527,0 text='
+'
+Read token at ../src/syntax/typing.nit:1527,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1527,6--15 text='_read_prop'
+Read token at ../src/syntax/typing.nit:1527,16 text=':'
+Read token at ../src/syntax/typing.nit:1527,18--25 text='nullable'
+Read token at ../src/syntax/typing.nit:1527,27--34 text='MMMethod'
+Read token at ../src/syntax/typing.nit:1527,35--1528,0 text='
+'
+Read token at ../src/syntax/typing.nit:1528,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1528,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1528,12--24 text='do_all_typing'
+Read token at ../src/syntax/typing.nit:1528,25 text='('
+Read token at ../src/syntax/typing.nit:1528,26 text='v'
+Read token at ../src/syntax/typing.nit:1528,27 text=')'
+Read token at ../src/syntax/typing.nit:1528,28--1529,0 text='
+'
+Read token at ../src/syntax/typing.nit:1529,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1529,4--1530,0 text='
+'
+Read token at ../src/syntax/typing.nit:1530,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1530,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1530,10 text='v'
+Read token at ../src/syntax/typing.nit:1530,11 text='.'
+Read token at ../src/syntax/typing.nit:1530,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:1530,22 text='('
+Read token at ../src/syntax/typing.nit:1530,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:1530,29 text=')'
+Read token at ../src/syntax/typing.nit:1530,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1530,36--41 text='return'
+Read token at ../src/syntax/typing.nit:1530,42--1531,0 text='
+'
+Read token at ../src/syntax/typing.nit:1531,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1531,7--14 text='raw_args'
+Read token at ../src/syntax/typing.nit:1531,16 text='='
+Read token at ../src/syntax/typing.nit:1531,18--30 text='raw_arguments'
+Read token at ../src/syntax/typing.nit:1531,31--1532,0 text='
+'
+Read token at ../src/syntax/typing.nit:1532,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1532,12 text='('
+Read token at ../src/syntax/typing.nit:1532,13 text='v'
+Read token at ../src/syntax/typing.nit:1532,14 text=','
+Read token at ../src/syntax/typing.nit:1532,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1532,22 text='.'
+Read token at ../src/syntax/typing.nit:1532,23--27 text='stype'
+Read token at ../src/syntax/typing.nit:1532,28 text=','
+Read token at ../src/syntax/typing.nit:1532,30--35 text='n_expr'
+Read token at ../src/syntax/typing.nit:1532,36 text='.'
+Read token at ../src/syntax/typing.nit:1532,37--52 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1532,53 text=','
+Read token at ../src/syntax/typing.nit:1532,55--60 text='n_expr'
+Read token at ../src/syntax/typing.nit:1532,61 text='.'
+Read token at ../src/syntax/typing.nit:1532,62--68 text='is_self'
+Read token at ../src/syntax/typing.nit:1532,69 text=','
+Read token at ../src/syntax/typing.nit:1532,71--74 text='name'
+Read token at ../src/syntax/typing.nit:1532,75 text=','
+Read token at ../src/syntax/typing.nit:1532,77--84 text='raw_args'
+Read token at ../src/syntax/typing.nit:1532,85 text=','
+Read token at ../src/syntax/typing.nit:1532,87--90 text='null'
+Read token at ../src/syntax/typing.nit:1532,91 text=')'
+Read token at ../src/syntax/typing.nit:1532,92--1533,0 text='
+'
+Read token at ../src/syntax/typing.nit:1533,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1533,7--10 text='prop'
+Read token at ../src/syntax/typing.nit:1533,12 text='='
+Read token at ../src/syntax/typing.nit:1533,14--18 text='_prop'
+Read token at ../src/syntax/typing.nit:1533,19--1534,0 text='
+'
+Read token at ../src/syntax/typing.nit:1534,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1534,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1534,11--12 text='=='
+Read token at ../src/syntax/typing.nit:1534,14--17 text='null'
+Read token at ../src/syntax/typing.nit:1534,19--22 text='then'
+Read token at ../src/syntax/typing.nit:1534,24--29 text='return'
+Read token at ../src/syntax/typing.nit:1534,30--1535,0 text='
+'
+Read token at ../src/syntax/typing.nit:1535,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1535,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1535,10 text='.'
+Read token at ../src/syntax/typing.nit:1535,11--16 text='global'
+Read token at ../src/syntax/typing.nit:1535,17 text='.'
+Read token at ../src/syntax/typing.nit:1535,18--24 text='is_init'
+Read token at ../src/syntax/typing.nit:1535,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1535,30--1536,0 text='
+'
+Read token at ../src/syntax/typing.nit:1536,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1536,7--9 text='not'
+Read token at ../src/syntax/typing.nit:1536,11 text='v'
+Read token at ../src/syntax/typing.nit:1536,12 text='.'
+Read token at ../src/syntax/typing.nit:1536,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:1536,27 text='.'
+Read token at ../src/syntax/typing.nit:1536,28--33 text='global'
+Read token at ../src/syntax/typing.nit:1536,34 text='.'
+Read token at ../src/syntax/typing.nit:1536,35--41 text='is_init'
+Read token at ../src/syntax/typing.nit:1536,43--46 text='then'
+Read token at ../src/syntax/typing.nit:1536,47--1537,0 text='
+'
+Read token at ../src/syntax/typing.nit:1537,5 text='v'
+Read token at ../src/syntax/typing.nit:1537,6 text='.'
+Read token at ../src/syntax/typing.nit:1537,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1537,12 text='('
+Read token at ../src/syntax/typing.nit:1537,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1537,17 text=','
+Read token at ../src/syntax/typing.nit:1537,19--53 text='"Error: try to invoke constructor {'
+Read token at ../src/syntax/typing.nit:1537,54--57 text='prop'
+Read token at ../src/syntax/typing.nit:1537,58--72 text='} in a method."'
+Read token at ../src/syntax/typing.nit:1537,73 text=')'
+Read token at ../src/syntax/typing.nit:1537,74--1538,0 text='
+'
+Read token at ../src/syntax/typing.nit:1538,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1538,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1538,12--14 text='not'
+Read token at ../src/syntax/typing.nit:1538,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1538,22 text='.'
+Read token at ../src/syntax/typing.nit:1538,23--29 text='is_self'
+Read token at ../src/syntax/typing.nit:1538,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1538,35--1539,0 text='
+'
+Read token at ../src/syntax/typing.nit:1539,5 text='v'
+Read token at ../src/syntax/typing.nit:1539,6 text='.'
+Read token at ../src/syntax/typing.nit:1539,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1539,12 text='('
+Read token at ../src/syntax/typing.nit:1539,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1539,17 text=','
+Read token at ../src/syntax/typing.nit:1539,19--39 text='"Error: constructor {'
+Read token at ../src/syntax/typing.nit:1539,40--43 text='prop'
+Read token at ../src/syntax/typing.nit:1539,44--71 text='} is not invoken on 'self'."'
+Read token at ../src/syntax/typing.nit:1539,72 text=')'
+Read token at ../src/syntax/typing.nit:1539,73--1540,0 text='
+'
+Read token at ../src/syntax/typing.nit:1540,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1540,7--1541,0 text='
+'
+Read token at ../src/syntax/typing.nit:1541,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1541,6--1542,0 text='
+'
+Read token at ../src/syntax/typing.nit:1542,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1542,7 text='t'
+Read token at ../src/syntax/typing.nit:1542,9 text='='
+Read token at ../src/syntax/typing.nit:1542,11--14 text='prop'
+Read token at ../src/syntax/typing.nit:1542,15 text='.'
+Read token at ../src/syntax/typing.nit:1542,16--28 text='signature_for'
+Read token at ../src/syntax/typing.nit:1542,29 text='('
+Read token at ../src/syntax/typing.nit:1542,30--35 text='n_expr'
+Read token at ../src/syntax/typing.nit:1542,36 text='.'
+Read token at ../src/syntax/typing.nit:1542,37--41 text='stype'
+Read token at ../src/syntax/typing.nit:1542,42 text=')'
+Read token at ../src/syntax/typing.nit:1542,43 text='.'
+Read token at ../src/syntax/typing.nit:1542,44--54 text='return_type'
+Read token at ../src/syntax/typing.nit:1542,55 text='.'
+Read token at ../src/syntax/typing.nit:1542,56--57 text='as'
+Read token at ../src/syntax/typing.nit:1542,58 text='('
+Read token at ../src/syntax/typing.nit:1542,59--61 text='not'
+Read token at ../src/syntax/typing.nit:1542,63--66 text='null'
+Read token at ../src/syntax/typing.nit:1542,67 text=')'
+Read token at ../src/syntax/typing.nit:1542,68--1543,0 text='
+'
+Read token at ../src/syntax/typing.nit:1543,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1543,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1543,10--15 text='n_expr'
+Read token at ../src/syntax/typing.nit:1543,16 text='.'
+Read token at ../src/syntax/typing.nit:1543,17--23 text='is_self'
+Read token at ../src/syntax/typing.nit:1543,25--28 text='then'
+Read token at ../src/syntax/typing.nit:1543,30 text='t'
+Read token at ../src/syntax/typing.nit:1543,32 text='='
+Read token at ../src/syntax/typing.nit:1543,34 text='t'
+Read token at ../src/syntax/typing.nit:1543,35 text='.'
+Read token at ../src/syntax/typing.nit:1543,36--47 text='not_for_self'
+Read token at ../src/syntax/typing.nit:1543,48--1544,0 text='
+'
+Read token at ../src/syntax/typing.nit:1544,1--1545,0 text='
+'
+Read token at ../src/syntax/typing.nit:1545,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1545,7--8 text='t2'
+Read token at ../src/syntax/typing.nit:1545,10 text='='
+Read token at ../src/syntax/typing.nit:1545,12--27 text='do_rvalue_typing'
+Read token at ../src/syntax/typing.nit:1545,28 text='('
+Read token at ../src/syntax/typing.nit:1545,29 text='v'
+Read token at ../src/syntax/typing.nit:1545,30 text=','
+Read token at ../src/syntax/typing.nit:1545,32 text='t'
+Read token at ../src/syntax/typing.nit:1545,33 text=')'
+Read token at ../src/syntax/typing.nit:1545,34--1546,0 text='
+'
+Read token at ../src/syntax/typing.nit:1546,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1546,6--7 text='t2'
+Read token at ../src/syntax/typing.nit:1546,9--10 text='=='
+Read token at ../src/syntax/typing.nit:1546,12--15 text='null'
+Read token at ../src/syntax/typing.nit:1546,17--20 text='then'
+Read token at ../src/syntax/typing.nit:1546,22--27 text='return'
+Read token at ../src/syntax/typing.nit:1546,28--1547,0 text='
+'
+Read token at ../src/syntax/typing.nit:1547,3 text='v'
+Read token at ../src/syntax/typing.nit:1547,4 text='.'
+Read token at ../src/syntax/typing.nit:1547,5--17 text='check_conform'
+Read token at ../src/syntax/typing.nit:1547,18 text='('
+Read token at ../src/syntax/typing.nit:1547,19--22 text='self'
+Read token at ../src/syntax/typing.nit:1547,23 text=','
+Read token at ../src/syntax/typing.nit:1547,25--26 text='t2'
+Read token at ../src/syntax/typing.nit:1547,27 text=','
+Read token at ../src/syntax/typing.nit:1547,29--35 text='n_value'
+Read token at ../src/syntax/typing.nit:1547,36 text='.'
+Read token at ../src/syntax/typing.nit:1547,37--41 text='stype'
+Read token at ../src/syntax/typing.nit:1547,42 text=')'
+Read token at ../src/syntax/typing.nit:1547,43--1548,0 text='
+'
+Read token at ../src/syntax/typing.nit:1548,1--1549,0 text='
+'
+Read token at ../src/syntax/typing.nit:1549,3--12 text='_read_prop'
+Read token at ../src/syntax/typing.nit:1549,14 text='='
+Read token at ../src/syntax/typing.nit:1549,16--19 text='prop'
+Read token at ../src/syntax/typing.nit:1549,20--1550,0 text='
+'
+Read token at ../src/syntax/typing.nit:1550,3--10 text='raw_args'
+Read token at ../src/syntax/typing.nit:1550,12 text='='
+Read token at ../src/syntax/typing.nit:1550,14--21 text='raw_args'
+Read token at ../src/syntax/typing.nit:1550,22 text='.'
+Read token at ../src/syntax/typing.nit:1550,23--26 text='to_a'
+Read token at ../src/syntax/typing.nit:1550,27--1551,0 text='
+'
+Read token at ../src/syntax/typing.nit:1551,3--10 text='raw_args'
+Read token at ../src/syntax/typing.nit:1551,11 text='.'
+Read token at ../src/syntax/typing.nit:1551,12--14 text='add'
+Read token at ../src/syntax/typing.nit:1551,15 text='('
+Read token at ../src/syntax/typing.nit:1551,16--22 text='n_value'
+Read token at ../src/syntax/typing.nit:1551,23 text=')'
+Read token at ../src/syntax/typing.nit:1551,24--1552,0 text='
+'
+Read token at ../src/syntax/typing.nit:1552,1--1553,0 text='
+'
+Read token at ../src/syntax/typing.nit:1553,3--11 text='do_typing'
+Read token at ../src/syntax/typing.nit:1553,12 text='('
+Read token at ../src/syntax/typing.nit:1553,13 text='v'
+Read token at ../src/syntax/typing.nit:1553,14 text=','
+Read token at ../src/syntax/typing.nit:1553,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1553,22 text='.'
+Read token at ../src/syntax/typing.nit:1553,23--27 text='stype'
+Read token at ../src/syntax/typing.nit:1553,28 text=','
+Read token at ../src/syntax/typing.nit:1553,30--35 text='n_expr'
+Read token at ../src/syntax/typing.nit:1553,36 text='.'
+Read token at ../src/syntax/typing.nit:1553,37--52 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1553,53 text=','
+Read token at ../src/syntax/typing.nit:1553,55--60 text='n_expr'
+Read token at ../src/syntax/typing.nit:1553,61 text='.'
+Read token at ../src/syntax/typing.nit:1553,62--68 text='is_self'
+Read token at ../src/syntax/typing.nit:1553,69 text=','
+Read token at ../src/syntax/typing.nit:1553,71--72 text='"{'
+Read token at ../src/syntax/typing.nit:1553,73--76 text='name'
+Read token at ../src/syntax/typing.nit:1553,77--79 text='}="'
+Read token at ../src/syntax/typing.nit:1553,80 text='.'
+Read token at ../src/syntax/typing.nit:1553,81--89 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1553,90 text=','
+Read token at ../src/syntax/typing.nit:1553,92--99 text='raw_args'
+Read token at ../src/syntax/typing.nit:1553,100 text=','
+Read token at ../src/syntax/typing.nit:1553,102--105 text='null'
+Read token at ../src/syntax/typing.nit:1553,106 text=')'
+Read token at ../src/syntax/typing.nit:1553,107--1554,0 text='
+'
+Read token at ../src/syntax/typing.nit:1554,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1554,6--9 text='prop'
+Read token at ../src/syntax/typing.nit:1554,10 text='.'
+Read token at ../src/syntax/typing.nit:1554,11--16 text='global'
+Read token at ../src/syntax/typing.nit:1554,17 text='.'
+Read token at ../src/syntax/typing.nit:1554,18--24 text='is_init'
+Read token at ../src/syntax/typing.nit:1554,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1554,30--1555,0 text='
+'
+Read token at ../src/syntax/typing.nit:1555,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1555,7--9 text='not'
+Read token at ../src/syntax/typing.nit:1555,11 text='v'
+Read token at ../src/syntax/typing.nit:1555,12 text='.'
+Read token at ../src/syntax/typing.nit:1555,13--26 text='local_property'
+Read token at ../src/syntax/typing.nit:1555,27 text='.'
+Read token at ../src/syntax/typing.nit:1555,28--33 text='global'
+Read token at ../src/syntax/typing.nit:1555,34 text='.'
+Read token at ../src/syntax/typing.nit:1555,35--41 text='is_init'
+Read token at ../src/syntax/typing.nit:1555,43--46 text='then'
+Read token at ../src/syntax/typing.nit:1555,47--1556,0 text='
+'
+Read token at ../src/syntax/typing.nit:1556,5 text='v'
+Read token at ../src/syntax/typing.nit:1556,6 text='.'
+Read token at ../src/syntax/typing.nit:1556,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1556,12 text='('
+Read token at ../src/syntax/typing.nit:1556,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1556,17 text=','
+Read token at ../src/syntax/typing.nit:1556,19--53 text='"Error: try to invoke constructor {'
+Read token at ../src/syntax/typing.nit:1556,54--57 text='prop'
+Read token at ../src/syntax/typing.nit:1556,58--72 text='} in a method."'
+Read token at ../src/syntax/typing.nit:1556,73 text=')'
+Read token at ../src/syntax/typing.nit:1556,74--1557,0 text='
+'
+Read token at ../src/syntax/typing.nit:1557,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1557,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1557,12--14 text='not'
+Read token at ../src/syntax/typing.nit:1557,16--21 text='n_expr'
+Read token at ../src/syntax/typing.nit:1557,22 text='.'
+Read token at ../src/syntax/typing.nit:1557,23--29 text='is_self'
+Read token at ../src/syntax/typing.nit:1557,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1557,35--1558,0 text='
+'
+Read token at ../src/syntax/typing.nit:1558,5 text='v'
+Read token at ../src/syntax/typing.nit:1558,6 text='.'
+Read token at ../src/syntax/typing.nit:1558,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1558,12 text='('
+Read token at ../src/syntax/typing.nit:1558,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1558,17 text=','
+Read token at ../src/syntax/typing.nit:1558,19--39 text='"Error: constructor {'
+Read token at ../src/syntax/typing.nit:1558,40--43 text='prop'
+Read token at ../src/syntax/typing.nit:1558,44--71 text='} is not invoken on 'self'."'
+Read token at ../src/syntax/typing.nit:1558,72 text=')'
+Read token at ../src/syntax/typing.nit:1558,73--1559,0 text='
+'
+Read token at ../src/syntax/typing.nit:1559,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1559,7--1560,0 text='
+'
+Read token at ../src/syntax/typing.nit:1560,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1560,6--1561,0 text='
+'
+Read token at ../src/syntax/typing.nit:1561,1--1562,0 text='
+'
+Read token at ../src/syntax/typing.nit:1562,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1562,13 text='='
+Read token at ../src/syntax/typing.nit:1562,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1562,19--1563,0 text='
+'
+Read token at ../src/syntax/typing.nit:1563,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1563,5--1564,0 text='
+'
+Read token at ../src/syntax/typing.nit:1564,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1564,4--1565,0 text='
+'
+Read token at ../src/syntax/typing.nit:1565,1--1566,0 text='
+'
+Read token at ../src/syntax/typing.nit:1566,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1566,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1566,13--22 text='ABinopExpr'
+Read token at ../src/syntax/typing.nit:1566,23--1567,0 text='
+'
+Read token at ../src/syntax/typing.nit:1567,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1567,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1567,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1567,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1567,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1567,44 text='['
+Read token at ../src/syntax/typing.nit:1567,45--51 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1567,52 text=']'
+Read token at ../src/syntax/typing.nit:1567,53--1568,0 text='
+'
+Read token at ../src/syntax/typing.nit:1568,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1568,4--1569,0 text='
+'
+Read token at ../src/syntax/typing.nit:1569,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1569,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1569,13--19 text='AEqExpr'
+Read token at ../src/syntax/typing.nit:1569,20--1570,0 text='
+'
+Read token at ../src/syntax/typing.nit:1570,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1570,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1570,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1570,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1570,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1570,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1570,32--35 text='"=="'
+Read token at ../src/syntax/typing.nit:1570,36 text='.'
+Read token at ../src/syntax/typing.nit:1570,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1570,46--1571,0 text='
+'
+Read token at ../src/syntax/typing.nit:1571,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1571,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1571,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1571,24 text='('
+Read token at ../src/syntax/typing.nit:1571,25 text='v'
+Read token at ../src/syntax/typing.nit:1571,26 text=')'
+Read token at ../src/syntax/typing.nit:1571,27--1572,0 text='
+'
+Read token at ../src/syntax/typing.nit:1572,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1572,4--1573,0 text='
+'
+Read token at ../src/syntax/typing.nit:1573,3--7 text='super'
+Read token at ../src/syntax/typing.nit:1573,8--1574,0 text='
+'
+Read token at ../src/syntax/typing.nit:1574,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1574,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1574,10--15 text='n_expr'
+Read token at ../src/syntax/typing.nit:1574,16 text='.'
+Read token at ../src/syntax/typing.nit:1574,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1574,26--27 text='or'
+Read token at ../src/syntax/typing.nit:1574,29--31 text='not'
+Read token at ../src/syntax/typing.nit:1574,33--39 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1574,40 text='.'
+Read token at ../src/syntax/typing.nit:1574,41--48 text='is_typed'
+Read token at ../src/syntax/typing.nit:1574,50--53 text='then'
+Read token at ../src/syntax/typing.nit:1574,55--60 text='return'
+Read token at ../src/syntax/typing.nit:1574,61--1575,0 text='
+'
+Read token at ../src/syntax/typing.nit:1575,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1575,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:1575,12 text='.'
+Read token at ../src/syntax/typing.nit:1575,13--17 text='stype'
+Read token at ../src/syntax/typing.nit:1575,19--21 text='isa'
+Read token at ../src/syntax/typing.nit:1575,23--32 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1575,34--36 text='and'
+Read token at ../src/syntax/typing.nit:1575,38--40 text='not'
+Read token at ../src/syntax/typing.nit:1575,42--48 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1575,49 text='.'
+Read token at ../src/syntax/typing.nit:1575,50--54 text='stype'
+Read token at ../src/syntax/typing.nit:1575,55 text='.'
+Read token at ../src/syntax/typing.nit:1575,56--66 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1575,68--69 text='or'
+Read token at ../src/syntax/typing.nit:1575,70--1576,0 text='
+'
+Read token at ../src/syntax/typing.nit:1576,3--9 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1576,10 text='.'
+Read token at ../src/syntax/typing.nit:1576,11--15 text='stype'
+Read token at ../src/syntax/typing.nit:1576,17--19 text='isa'
+Read token at ../src/syntax/typing.nit:1576,21--30 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1576,32--34 text='and'
+Read token at ../src/syntax/typing.nit:1576,36--38 text='not'
+Read token at ../src/syntax/typing.nit:1576,40--45 text='n_expr'
+Read token at ../src/syntax/typing.nit:1576,46 text='.'
+Read token at ../src/syntax/typing.nit:1576,47--51 text='stype'
+Read token at ../src/syntax/typing.nit:1576,52 text='.'
+Read token at ../src/syntax/typing.nit:1576,53--63 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1576,65--68 text='then'
+Read token at ../src/syntax/typing.nit:1576,69--1577,0 text='
+'
+Read token at ../src/syntax/typing.nit:1577,4 text='v'
+Read token at ../src/syntax/typing.nit:1577,5 text='.'
+Read token at ../src/syntax/typing.nit:1577,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1577,13 text='('
+Read token at ../src/syntax/typing.nit:1577,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1577,18 text=','
+Read token at ../src/syntax/typing.nit:1577,20--80 text='"Warning: comparaison between null and a non nullable value."'
+Read token at ../src/syntax/typing.nit:1577,81 text=')'
+Read token at ../src/syntax/typing.nit:1577,82--1578,0 text='
+'
+Read token at ../src/syntax/typing.nit:1578,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1578,6--1579,0 text='
+'
+Read token at ../src/syntax/typing.nit:1579,1--1580,0 text='
+'
+Read token at ../src/syntax/typing.nit:1580,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1580,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:1580,12 text='.'
+Read token at ../src/syntax/typing.nit:1580,13--17 text='stype'
+Read token at ../src/syntax/typing.nit:1580,19--21 text='isa'
+Read token at ../src/syntax/typing.nit:1580,23--32 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1580,34--37 text='then'
+Read token at ../src/syntax/typing.nit:1580,38--1581,0 text='
+'
+Read token at ../src/syntax/typing.nit:1581,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1581,7--13 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1581,14 text='.'
+Read token at ../src/syntax/typing.nit:1581,15--19 text='stype'
+Read token at ../src/syntax/typing.nit:1581,21--23 text='isa'
+Read token at ../src/syntax/typing.nit:1581,25--34 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1581,36--39 text='then'
+Read token at ../src/syntax/typing.nit:1581,40--1582,0 text='
+'
+Read token at ../src/syntax/typing.nit:1582,5 text='v'
+Read token at ../src/syntax/typing.nit:1582,6 text='.'
+Read token at ../src/syntax/typing.nit:1582,7--13 text='warning'
+Read token at ../src/syntax/typing.nit:1582,14 text='('
+Read token at ../src/syntax/typing.nit:1582,15--18 text='self'
+Read token at ../src/syntax/typing.nit:1582,19 text=','
+Read token at ../src/syntax/typing.nit:1582,21--65 text='"Warning: comparaison between 2 null values."'
+Read token at ../src/syntax/typing.nit:1582,66 text=')'
+Read token at ../src/syntax/typing.nit:1582,67--1583,0 text='
+'
+Read token at ../src/syntax/typing.nit:1583,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1583,8--1584,0 text='
+'
+Read token at ../src/syntax/typing.nit:1584,5--14 text='try_to_isa'
+Read token at ../src/syntax/typing.nit:1584,15 text='('
+Read token at ../src/syntax/typing.nit:1584,16 text='v'
+Read token at ../src/syntax/typing.nit:1584,17 text=','
+Read token at ../src/syntax/typing.nit:1584,19--25 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1584,26 text=')'
+Read token at ../src/syntax/typing.nit:1584,27--1585,0 text='
+'
+Read token at ../src/syntax/typing.nit:1585,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1585,7--1586,0 text='
+'
+Read token at ../src/syntax/typing.nit:1586,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1586,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1586,11--17 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1586,18 text='.'
+Read token at ../src/syntax/typing.nit:1586,19--23 text='stype'
+Read token at ../src/syntax/typing.nit:1586,25--27 text='isa'
+Read token at ../src/syntax/typing.nit:1586,29--38 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1586,40--43 text='then'
+Read token at ../src/syntax/typing.nit:1586,44--1587,0 text='
+'
+Read token at ../src/syntax/typing.nit:1587,4--13 text='try_to_isa'
+Read token at ../src/syntax/typing.nit:1587,14 text='('
+Read token at ../src/syntax/typing.nit:1587,15 text='v'
+Read token at ../src/syntax/typing.nit:1587,16 text=','
+Read token at ../src/syntax/typing.nit:1587,18--23 text='n_expr'
+Read token at ../src/syntax/typing.nit:1587,24 text=')'
+Read token at ../src/syntax/typing.nit:1587,25--1588,0 text='
+'
+Read token at ../src/syntax/typing.nit:1588,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1588,6--1589,0 text='
+'
+Read token at ../src/syntax/typing.nit:1589,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1589,5--1590,0 text='
+'
+Read token at ../src/syntax/typing.nit:1590,1--1591,0 text='
+'
+Read token at ../src/syntax/typing.nit:1591,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1591,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1591,14--23 text='try_to_isa'
+Read token at ../src/syntax/typing.nit:1591,24 text='('
+Read token at ../src/syntax/typing.nit:1591,25 text='v'
+Read token at ../src/syntax/typing.nit:1591,26 text=':'
+Read token at ../src/syntax/typing.nit:1591,28--40 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1591,41 text=','
+Read token at ../src/syntax/typing.nit:1591,43 text='n'
+Read token at ../src/syntax/typing.nit:1591,44 text=':'
+Read token at ../src/syntax/typing.nit:1591,46--50 text='AExpr'
+Read token at ../src/syntax/typing.nit:1591,51 text=')'
+Read token at ../src/syntax/typing.nit:1591,52--1592,0 text='
+'
+Read token at ../src/syntax/typing.nit:1592,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1592,4--1593,0 text='
+'
+Read token at ../src/syntax/typing.nit:1593,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1593,7--14 text='variable'
+Read token at ../src/syntax/typing.nit:1593,16 text='='
+Read token at ../src/syntax/typing.nit:1593,18 text='n'
+Read token at ../src/syntax/typing.nit:1593,19 text='.'
+Read token at ../src/syntax/typing.nit:1593,20--31 text='its_variable'
+Read token at ../src/syntax/typing.nit:1593,32--1594,0 text='
+'
+Read token at ../src/syntax/typing.nit:1594,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1594,6--13 text='variable'
+Read token at ../src/syntax/typing.nit:1594,15--16 text='!='
+Read token at ../src/syntax/typing.nit:1594,18--21 text='null'
+Read token at ../src/syntax/typing.nit:1594,23--25 text='and'
+Read token at ../src/syntax/typing.nit:1594,27 text='n'
+Read token at ../src/syntax/typing.nit:1594,28 text='.'
+Read token at ../src/syntax/typing.nit:1594,29--33 text='stype'
+Read token at ../src/syntax/typing.nit:1594,35--37 text='isa'
+Read token at ../src/syntax/typing.nit:1594,39--52 text='MMNullableType'
+Read token at ../src/syntax/typing.nit:1594,54--57 text='then'
+Read token at ../src/syntax/typing.nit:1594,58--1595,0 text='
+'
+Read token at ../src/syntax/typing.nit:1595,4--21 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:1595,23 text='='
+Read token at ../src/syntax/typing.nit:1595,25 text='v'
+Read token at ../src/syntax/typing.nit:1595,26 text='.'
+Read token at ../src/syntax/typing.nit:1595,27--34 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1595,35 text='.'
+Read token at ../src/syntax/typing.nit:1595,36--43 text='sub_with'
+Read token at ../src/syntax/typing.nit:1595,44 text='('
+Read token at ../src/syntax/typing.nit:1595,45--48 text='self'
+Read token at ../src/syntax/typing.nit:1595,49 text=','
+Read token at ../src/syntax/typing.nit:1595,51--58 text='variable'
+Read token at ../src/syntax/typing.nit:1595,59 text=','
+Read token at ../src/syntax/typing.nit:1595,61 text='n'
+Read token at ../src/syntax/typing.nit:1595,62 text='.'
+Read token at ../src/syntax/typing.nit:1595,63--67 text='stype'
+Read token at ../src/syntax/typing.nit:1595,68 text='.'
+Read token at ../src/syntax/typing.nit:1595,69--78 text='as_notnull'
+Read token at ../src/syntax/typing.nit:1595,79 text=')'
+Read token at ../src/syntax/typing.nit:1595,80--1596,0 text='
+'
+Read token at ../src/syntax/typing.nit:1596,4--20 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:1596,22 text='='
+Read token at ../src/syntax/typing.nit:1596,24 text='v'
+Read token at ../src/syntax/typing.nit:1596,25 text='.'
+Read token at ../src/syntax/typing.nit:1596,26--33 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1596,34 text='.'
+Read token at ../src/syntax/typing.nit:1596,35--42 text='sub_with'
+Read token at ../src/syntax/typing.nit:1596,43 text='('
+Read token at ../src/syntax/typing.nit:1596,44--47 text='self'
+Read token at ../src/syntax/typing.nit:1596,48 text=','
+Read token at ../src/syntax/typing.nit:1596,50--57 text='variable'
+Read token at ../src/syntax/typing.nit:1596,58 text=','
+Read token at ../src/syntax/typing.nit:1596,60 text='v'
+Read token at ../src/syntax/typing.nit:1596,61 text='.'
+Read token at ../src/syntax/typing.nit:1596,62--70 text='type_none'
+Read token at ../src/syntax/typing.nit:1596,71 text=')'
+Read token at ../src/syntax/typing.nit:1596,72--1597,0 text='
+'
+Read token at ../src/syntax/typing.nit:1597,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1597,6--1598,0 text='
+'
+Read token at ../src/syntax/typing.nit:1598,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1598,5--1599,0 text='
+'
+Read token at ../src/syntax/typing.nit:1599,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1599,4--1600,0 text='
+'
+Read token at ../src/syntax/typing.nit:1600,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1600,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1600,13--19 text='ANeExpr'
+Read token at ../src/syntax/typing.nit:1600,20--1601,0 text='
+'
+Read token at ../src/syntax/typing.nit:1601,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1601,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1601,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1601,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1601,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1601,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1601,32--35 text='"!="'
+Read token at ../src/syntax/typing.nit:1601,36 text='.'
+Read token at ../src/syntax/typing.nit:1601,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1601,46--1602,0 text='
+'
+Read token at ../src/syntax/typing.nit:1602,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1602,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1602,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1602,24 text='('
+Read token at ../src/syntax/typing.nit:1602,25 text='v'
+Read token at ../src/syntax/typing.nit:1602,26 text=')'
+Read token at ../src/syntax/typing.nit:1602,27--1603,0 text='
+'
+Read token at ../src/syntax/typing.nit:1603,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1603,4--1604,0 text='
+'
+Read token at ../src/syntax/typing.nit:1604,3--7 text='super'
+Read token at ../src/syntax/typing.nit:1604,8--1605,0 text='
+'
+Read token at ../src/syntax/typing.nit:1605,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1605,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1605,10--15 text='n_expr'
+Read token at ../src/syntax/typing.nit:1605,16 text='.'
+Read token at ../src/syntax/typing.nit:1605,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1605,26--27 text='or'
+Read token at ../src/syntax/typing.nit:1605,29--31 text='not'
+Read token at ../src/syntax/typing.nit:1605,33--39 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1605,40 text='.'
+Read token at ../src/syntax/typing.nit:1605,41--48 text='is_typed'
+Read token at ../src/syntax/typing.nit:1605,50--53 text='then'
+Read token at ../src/syntax/typing.nit:1605,55--60 text='return'
+Read token at ../src/syntax/typing.nit:1605,61--1606,0 text='
+'
+Read token at ../src/syntax/typing.nit:1606,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1606,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:1606,12 text='.'
+Read token at ../src/syntax/typing.nit:1606,13--17 text='stype'
+Read token at ../src/syntax/typing.nit:1606,19--21 text='isa'
+Read token at ../src/syntax/typing.nit:1606,23--32 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1606,34--36 text='and'
+Read token at ../src/syntax/typing.nit:1606,38--40 text='not'
+Read token at ../src/syntax/typing.nit:1606,42--48 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1606,49 text='.'
+Read token at ../src/syntax/typing.nit:1606,50--54 text='stype'
+Read token at ../src/syntax/typing.nit:1606,55 text='.'
+Read token at ../src/syntax/typing.nit:1606,56--66 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1606,68--69 text='or'
+Read token at ../src/syntax/typing.nit:1606,70--1607,0 text='
+'
+Read token at ../src/syntax/typing.nit:1607,3--9 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1607,10 text='.'
+Read token at ../src/syntax/typing.nit:1607,11--15 text='stype'
+Read token at ../src/syntax/typing.nit:1607,17--19 text='isa'
+Read token at ../src/syntax/typing.nit:1607,21--30 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1607,32--34 text='and'
+Read token at ../src/syntax/typing.nit:1607,36--38 text='not'
+Read token at ../src/syntax/typing.nit:1607,40--45 text='n_expr'
+Read token at ../src/syntax/typing.nit:1607,46 text='.'
+Read token at ../src/syntax/typing.nit:1607,47--51 text='stype'
+Read token at ../src/syntax/typing.nit:1607,52 text='.'
+Read token at ../src/syntax/typing.nit:1607,53--63 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1607,65--68 text='then'
+Read token at ../src/syntax/typing.nit:1607,69--1608,0 text='
+'
+Read token at ../src/syntax/typing.nit:1608,4 text='v'
+Read token at ../src/syntax/typing.nit:1608,5 text='.'
+Read token at ../src/syntax/typing.nit:1608,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1608,13 text='('
+Read token at ../src/syntax/typing.nit:1608,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1608,18 text=','
+Read token at ../src/syntax/typing.nit:1608,20--80 text='"Warning: comparaison between null and a non nullable value."'
+Read token at ../src/syntax/typing.nit:1608,81 text=')'
+Read token at ../src/syntax/typing.nit:1608,82--1609,0 text='
+'
+Read token at ../src/syntax/typing.nit:1609,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1609,6--1610,0 text='
+'
+Read token at ../src/syntax/typing.nit:1610,1--1611,0 text='
+'
+Read token at ../src/syntax/typing.nit:1611,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1611,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:1611,12 text='.'
+Read token at ../src/syntax/typing.nit:1611,13--17 text='stype'
+Read token at ../src/syntax/typing.nit:1611,19--21 text='isa'
+Read token at ../src/syntax/typing.nit:1611,23--32 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1611,34--37 text='then'
+Read token at ../src/syntax/typing.nit:1611,38--1612,0 text='
+'
+Read token at ../src/syntax/typing.nit:1612,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1612,7--13 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1612,14 text='.'
+Read token at ../src/syntax/typing.nit:1612,15--19 text='stype'
+Read token at ../src/syntax/typing.nit:1612,21--23 text='isa'
+Read token at ../src/syntax/typing.nit:1612,25--34 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1612,36--39 text='then'
+Read token at ../src/syntax/typing.nit:1612,40--1613,0 text='
+'
+Read token at ../src/syntax/typing.nit:1613,5 text='v'
+Read token at ../src/syntax/typing.nit:1613,6 text='.'
+Read token at ../src/syntax/typing.nit:1613,7--13 text='warning'
+Read token at ../src/syntax/typing.nit:1613,14 text='('
+Read token at ../src/syntax/typing.nit:1613,15--18 text='self'
+Read token at ../src/syntax/typing.nit:1613,19 text=','
+Read token at ../src/syntax/typing.nit:1613,21--65 text='"Warning: comparaison between 2 null values."'
+Read token at ../src/syntax/typing.nit:1613,66 text=')'
+Read token at ../src/syntax/typing.nit:1613,67--1614,0 text='
+'
+Read token at ../src/syntax/typing.nit:1614,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1614,8--1615,0 text='
+'
+Read token at ../src/syntax/typing.nit:1615,5--14 text='try_to_isa'
+Read token at ../src/syntax/typing.nit:1615,15 text='('
+Read token at ../src/syntax/typing.nit:1615,16 text='v'
+Read token at ../src/syntax/typing.nit:1615,17 text=','
+Read token at ../src/syntax/typing.nit:1615,19--25 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1615,26 text=')'
+Read token at ../src/syntax/typing.nit:1615,27--1616,0 text='
+'
+Read token at ../src/syntax/typing.nit:1616,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1616,7--1617,0 text='
+'
+Read token at ../src/syntax/typing.nit:1617,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1617,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1617,11--17 text='n_expr2'
+Read token at ../src/syntax/typing.nit:1617,18 text='.'
+Read token at ../src/syntax/typing.nit:1617,19--23 text='stype'
+Read token at ../src/syntax/typing.nit:1617,25--27 text='isa'
+Read token at ../src/syntax/typing.nit:1617,29--38 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1617,40--43 text='then'
+Read token at ../src/syntax/typing.nit:1617,44--1618,0 text='
+'
+Read token at ../src/syntax/typing.nit:1618,4--13 text='try_to_isa'
+Read token at ../src/syntax/typing.nit:1618,14 text='('
+Read token at ../src/syntax/typing.nit:1618,15 text='v'
+Read token at ../src/syntax/typing.nit:1618,16 text=','
+Read token at ../src/syntax/typing.nit:1618,18--23 text='n_expr'
+Read token at ../src/syntax/typing.nit:1618,24 text=')'
+Read token at ../src/syntax/typing.nit:1618,25--1619,0 text='
+'
+Read token at ../src/syntax/typing.nit:1619,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1619,6--1620,0 text='
+'
+Read token at ../src/syntax/typing.nit:1620,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1620,5--1621,0 text='
+'
+Read token at ../src/syntax/typing.nit:1621,1--1622,0 text='
+'
+Read token at ../src/syntax/typing.nit:1622,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1622,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1622,14--23 text='try_to_isa'
+Read token at ../src/syntax/typing.nit:1622,24 text='('
+Read token at ../src/syntax/typing.nit:1622,25 text='v'
+Read token at ../src/syntax/typing.nit:1622,26 text=':'
+Read token at ../src/syntax/typing.nit:1622,28--40 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1622,41 text=','
+Read token at ../src/syntax/typing.nit:1622,43 text='n'
+Read token at ../src/syntax/typing.nit:1622,44 text=':'
+Read token at ../src/syntax/typing.nit:1622,46--50 text='AExpr'
+Read token at ../src/syntax/typing.nit:1622,51 text=')'
+Read token at ../src/syntax/typing.nit:1622,52--1623,0 text='
+'
+Read token at ../src/syntax/typing.nit:1623,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1623,4--1624,0 text='
+'
+Read token at ../src/syntax/typing.nit:1624,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1624,7--14 text='variable'
+Read token at ../src/syntax/typing.nit:1624,16 text='='
+Read token at ../src/syntax/typing.nit:1624,18 text='n'
+Read token at ../src/syntax/typing.nit:1624,19 text='.'
+Read token at ../src/syntax/typing.nit:1624,20--31 text='its_variable'
+Read token at ../src/syntax/typing.nit:1624,32--1625,0 text='
+'
+Read token at ../src/syntax/typing.nit:1625,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1625,6--13 text='variable'
+Read token at ../src/syntax/typing.nit:1625,15--16 text='!='
+Read token at ../src/syntax/typing.nit:1625,18--21 text='null'
+Read token at ../src/syntax/typing.nit:1625,23--25 text='and'
+Read token at ../src/syntax/typing.nit:1625,27 text='n'
+Read token at ../src/syntax/typing.nit:1625,28 text='.'
+Read token at ../src/syntax/typing.nit:1625,29--33 text='stype'
+Read token at ../src/syntax/typing.nit:1625,35--37 text='isa'
+Read token at ../src/syntax/typing.nit:1625,39--52 text='MMNullableType'
+Read token at ../src/syntax/typing.nit:1625,54--57 text='then'
+Read token at ../src/syntax/typing.nit:1625,58--1626,0 text='
+'
+Read token at ../src/syntax/typing.nit:1626,4--20 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:1626,22 text='='
+Read token at ../src/syntax/typing.nit:1626,24 text='v'
+Read token at ../src/syntax/typing.nit:1626,25 text='.'
+Read token at ../src/syntax/typing.nit:1626,26--33 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1626,34 text='.'
+Read token at ../src/syntax/typing.nit:1626,35--42 text='sub_with'
+Read token at ../src/syntax/typing.nit:1626,43 text='('
+Read token at ../src/syntax/typing.nit:1626,44--47 text='self'
+Read token at ../src/syntax/typing.nit:1626,48 text=','
+Read token at ../src/syntax/typing.nit:1626,50--57 text='variable'
+Read token at ../src/syntax/typing.nit:1626,58 text=','
+Read token at ../src/syntax/typing.nit:1626,60 text='n'
+Read token at ../src/syntax/typing.nit:1626,61 text='.'
+Read token at ../src/syntax/typing.nit:1626,62--66 text='stype'
+Read token at ../src/syntax/typing.nit:1626,67 text='.'
+Read token at ../src/syntax/typing.nit:1626,68--77 text='as_notnull'
+Read token at ../src/syntax/typing.nit:1626,78 text=')'
+Read token at ../src/syntax/typing.nit:1626,79--1627,0 text='
+'
+Read token at ../src/syntax/typing.nit:1627,4--21 text='_if_false_flow_ctx'
+Read token at ../src/syntax/typing.nit:1627,23 text='='
+Read token at ../src/syntax/typing.nit:1627,25 text='v'
+Read token at ../src/syntax/typing.nit:1627,26 text='.'
+Read token at ../src/syntax/typing.nit:1627,27--34 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1627,35 text='.'
+Read token at ../src/syntax/typing.nit:1627,36--43 text='sub_with'
+Read token at ../src/syntax/typing.nit:1627,44 text='('
+Read token at ../src/syntax/typing.nit:1627,45--48 text='self'
+Read token at ../src/syntax/typing.nit:1627,49 text=','
+Read token at ../src/syntax/typing.nit:1627,51--58 text='variable'
+Read token at ../src/syntax/typing.nit:1627,59 text=','
+Read token at ../src/syntax/typing.nit:1627,61 text='v'
+Read token at ../src/syntax/typing.nit:1627,62 text='.'
+Read token at ../src/syntax/typing.nit:1627,63--71 text='type_none'
+Read token at ../src/syntax/typing.nit:1627,72 text=')'
+Read token at ../src/syntax/typing.nit:1627,73--1628,0 text='
+'
+Read token at ../src/syntax/typing.nit:1628,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1628,6--1629,0 text='
+'
+Read token at ../src/syntax/typing.nit:1629,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1629,5--1630,0 text='
+'
+Read token at ../src/syntax/typing.nit:1630,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1630,4--1631,0 text='
+'
+Read token at ../src/syntax/typing.nit:1631,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1631,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1631,13--19 text='ALtExpr'
+Read token at ../src/syntax/typing.nit:1631,20--1632,0 text='
+'
+Read token at ../src/syntax/typing.nit:1632,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1632,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1632,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1632,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1632,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1632,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1632,32--34 text='"<"'
+Read token at ../src/syntax/typing.nit:1632,35 text='.'
+Read token at ../src/syntax/typing.nit:1632,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1632,45--1633,0 text='
+'
+Read token at ../src/syntax/typing.nit:1633,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1633,4--1634,0 text='
+'
+Read token at ../src/syntax/typing.nit:1634,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1634,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1634,13--19 text='ALeExpr'
+Read token at ../src/syntax/typing.nit:1634,20--1635,0 text='
+'
+Read token at ../src/syntax/typing.nit:1635,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1635,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1635,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1635,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1635,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1635,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1635,32--35 text='"<="'
+Read token at ../src/syntax/typing.nit:1635,36 text='.'
+Read token at ../src/syntax/typing.nit:1635,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1635,46--1636,0 text='
+'
+Read token at ../src/syntax/typing.nit:1636,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1636,4--1637,0 text='
+'
+Read token at ../src/syntax/typing.nit:1637,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1637,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1637,13--19 text='ALlExpr'
+Read token at ../src/syntax/typing.nit:1637,20--1638,0 text='
+'
+Read token at ../src/syntax/typing.nit:1638,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1638,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1638,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1638,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1638,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1638,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1638,32--35 text='"<<"'
+Read token at ../src/syntax/typing.nit:1638,36 text='.'
+Read token at ../src/syntax/typing.nit:1638,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1638,46--1639,0 text='
+'
+Read token at ../src/syntax/typing.nit:1639,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1639,4--1640,0 text='
+'
+Read token at ../src/syntax/typing.nit:1640,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1640,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1640,13--19 text='AGtExpr'
+Read token at ../src/syntax/typing.nit:1640,20--1641,0 text='
+'
+Read token at ../src/syntax/typing.nit:1641,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1641,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1641,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1641,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1641,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1641,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1641,32--34 text='">"'
+Read token at ../src/syntax/typing.nit:1641,35 text='.'
+Read token at ../src/syntax/typing.nit:1641,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1641,45--1642,0 text='
+'
+Read token at ../src/syntax/typing.nit:1642,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1642,4--1643,0 text='
+'
+Read token at ../src/syntax/typing.nit:1643,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1643,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1643,13--19 text='AGeExpr'
+Read token at ../src/syntax/typing.nit:1643,20--1644,0 text='
+'
+Read token at ../src/syntax/typing.nit:1644,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1644,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1644,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1644,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1644,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1644,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1644,32--35 text='">="'
+Read token at ../src/syntax/typing.nit:1644,36 text='.'
+Read token at ../src/syntax/typing.nit:1644,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1644,46--1645,0 text='
+'
+Read token at ../src/syntax/typing.nit:1645,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1645,4--1646,0 text='
+'
+Read token at ../src/syntax/typing.nit:1646,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1646,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1646,13--19 text='AGgExpr'
+Read token at ../src/syntax/typing.nit:1646,20--1647,0 text='
+'
+Read token at ../src/syntax/typing.nit:1647,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1647,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1647,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1647,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1647,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1647,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1647,32--35 text='">>"'
+Read token at ../src/syntax/typing.nit:1647,36 text='.'
+Read token at ../src/syntax/typing.nit:1647,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1647,46--1648,0 text='
+'
+Read token at ../src/syntax/typing.nit:1648,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1648,4--1649,0 text='
+'
+Read token at ../src/syntax/typing.nit:1649,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1649,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1649,13--21 text='APlusExpr'
+Read token at ../src/syntax/typing.nit:1649,22--1650,0 text='
+'
+Read token at ../src/syntax/typing.nit:1650,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1650,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1650,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1650,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1650,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1650,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1650,32--34 text='"+"'
+Read token at ../src/syntax/typing.nit:1650,35 text='.'
+Read token at ../src/syntax/typing.nit:1650,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1650,45--1651,0 text='
+'
+Read token at ../src/syntax/typing.nit:1651,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1651,4--1652,0 text='
+'
+Read token at ../src/syntax/typing.nit:1652,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1652,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1652,13--22 text='AMinusExpr'
+Read token at ../src/syntax/typing.nit:1652,23--1653,0 text='
+'
+Read token at ../src/syntax/typing.nit:1653,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1653,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1653,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1653,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1653,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1653,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1653,32--34 text='"-"'
+Read token at ../src/syntax/typing.nit:1653,35 text='.'
+Read token at ../src/syntax/typing.nit:1653,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1653,45--1654,0 text='
+'
+Read token at ../src/syntax/typing.nit:1654,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1654,4--1655,0 text='
+'
+Read token at ../src/syntax/typing.nit:1655,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1655,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1655,13--25 text='AStarshipExpr'
+Read token at ../src/syntax/typing.nit:1655,26--1656,0 text='
+'
+Read token at ../src/syntax/typing.nit:1656,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1656,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1656,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1656,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1656,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1656,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1656,32--36 text='"<=>"'
+Read token at ../src/syntax/typing.nit:1656,37 text='.'
+Read token at ../src/syntax/typing.nit:1656,38--46 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1656,47--1657,0 text='
+'
+Read token at ../src/syntax/typing.nit:1657,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1657,4--1658,0 text='
+'
+Read token at ../src/syntax/typing.nit:1658,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1658,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1658,13--21 text='AStarExpr'
+Read token at ../src/syntax/typing.nit:1658,22--1659,0 text='
+'
+Read token at ../src/syntax/typing.nit:1659,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1659,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1659,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1659,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1659,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1659,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1659,32--34 text='"*"'
+Read token at ../src/syntax/typing.nit:1659,35 text='.'
+Read token at ../src/syntax/typing.nit:1659,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1659,45--1660,0 text='
+'
+Read token at ../src/syntax/typing.nit:1660,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1660,4--1661,0 text='
+'
+Read token at ../src/syntax/typing.nit:1661,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1661,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1661,13--22 text='ASlashExpr'
+Read token at ../src/syntax/typing.nit:1661,23--1662,0 text='
+'
+Read token at ../src/syntax/typing.nit:1662,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1662,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1662,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1662,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1662,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1662,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1662,32--34 text='"/"'
+Read token at ../src/syntax/typing.nit:1662,35 text='.'
+Read token at ../src/syntax/typing.nit:1662,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1662,45--1663,0 text='
+'
+Read token at ../src/syntax/typing.nit:1663,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1663,4--1664,0 text='
+'
+Read token at ../src/syntax/typing.nit:1664,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1664,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1664,13--24 text='APercentExpr'
+Read token at ../src/syntax/typing.nit:1664,25--1665,0 text='
+'
+Read token at ../src/syntax/typing.nit:1665,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1665,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1665,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1665,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1665,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1665,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1665,32--34 text='"%"'
+Read token at ../src/syntax/typing.nit:1665,35 text='.'
+Read token at ../src/syntax/typing.nit:1665,36--44 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1665,45--1666,0 text='
+'
+Read token at ../src/syntax/typing.nit:1666,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1666,4--1667,0 text='
+'
+Read token at ../src/syntax/typing.nit:1667,1--1668,0 text='
+'
+Read token at ../src/syntax/typing.nit:1668,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1668,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1668,13--23 text='AUminusExpr'
+Read token at ../src/syntax/typing.nit:1668,24--1669,0 text='
+'
+Read token at ../src/syntax/typing.nit:1669,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1669,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1669,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1669,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1669,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1669,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1669,32--40 text='"unary -"'
+Read token at ../src/syntax/typing.nit:1669,41 text='.'
+Read token at ../src/syntax/typing.nit:1669,42--50 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1669,51--1670,0 text='
+'
+Read token at ../src/syntax/typing.nit:1670,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1670,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1670,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1670,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1670,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1670,44--47 text='null'
+Read token at ../src/syntax/typing.nit:1670,48--1671,0 text='
+'
+Read token at ../src/syntax/typing.nit:1671,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1671,4--1672,0 text='
+'
+Read token at ../src/syntax/typing.nit:1672,1--1673,0 text='
+'
+Read token at ../src/syntax/typing.nit:1673,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1673,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1673,13--25 text='ACallFormExpr'
+Read token at ../src/syntax/typing.nit:1673,26--1674,0 text='
+'
+Read token at ../src/syntax/typing.nit:1674,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1674,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1674,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1674,24 text='('
+Read token at ../src/syntax/typing.nit:1674,25 text='v'
+Read token at ../src/syntax/typing.nit:1674,26 text=')'
+Read token at ../src/syntax/typing.nit:1674,27--1675,0 text='
+'
+Read token at ../src/syntax/typing.nit:1675,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1675,4--1676,0 text='
+'
+Read token at ../src/syntax/typing.nit:1676,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1676,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:1676,12 text='.'
+Read token at ../src/syntax/typing.nit:1676,13--28 text='is_implicit_self'
+Read token at ../src/syntax/typing.nit:1676,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1676,34--1677,0 text='
+'
+Read token at ../src/syntax/typing.nit:1677,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1677,8--11 text='name'
+Read token at ../src/syntax/typing.nit:1677,13 text='='
+Read token at ../src/syntax/typing.nit:1677,15--18 text='n_id'
+Read token at ../src/syntax/typing.nit:1677,19 text='.'
+Read token at ../src/syntax/typing.nit:1677,20--28 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1677,29--1678,0 text='
+'
+Read token at ../src/syntax/typing.nit:1678,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1678,8--15 text='variable'
+Read token at ../src/syntax/typing.nit:1678,17 text='='
+Read token at ../src/syntax/typing.nit:1678,19 text='v'
+Read token at ../src/syntax/typing.nit:1678,20 text='.'
+Read token at ../src/syntax/typing.nit:1678,21--29 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:1678,30 text='['
+Read token at ../src/syntax/typing.nit:1678,31--34 text='name'
+Read token at ../src/syntax/typing.nit:1678,35 text=']'
+Read token at ../src/syntax/typing.nit:1678,36--1679,0 text='
+'
+Read token at ../src/syntax/typing.nit:1679,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1679,7--14 text='variable'
+Read token at ../src/syntax/typing.nit:1679,16--17 text='!='
+Read token at ../src/syntax/typing.nit:1679,19--22 text='null'
+Read token at ../src/syntax/typing.nit:1679,24--27 text='then'
+Read token at ../src/syntax/typing.nit:1679,28--1680,0 text='
+'
+Read token at ../src/syntax/typing.nit:1680,5--7 text='var'
+Read token at ../src/syntax/typing.nit:1680,9 text='n'
+Read token at ../src/syntax/typing.nit:1680,10 text=':'
+Read token at ../src/syntax/typing.nit:1680,12--16 text='AExpr'
+Read token at ../src/syntax/typing.nit:1680,17--1681,0 text='
+'
+Read token at ../src/syntax/typing.nit:1681,5--6 text='if'
+Read token at ../src/syntax/typing.nit:1681,8--15 text='variable'
+Read token at ../src/syntax/typing.nit:1681,17--19 text='isa'
+Read token at ../src/syntax/typing.nit:1681,21--35 text='ClosureVariable'
+Read token at ../src/syntax/typing.nit:1681,37--40 text='then'
+Read token at ../src/syntax/typing.nit:1681,41--1682,0 text='
+'
+Read token at ../src/syntax/typing.nit:1682,6 text='n'
+Read token at ../src/syntax/typing.nit:1682,8 text='='
+Read token at ../src/syntax/typing.nit:1682,10--12 text='new'
+Read token at ../src/syntax/typing.nit:1682,14--29 text='AClosureCallExpr'
+Read token at ../src/syntax/typing.nit:1682,30 text='.'
+Read token at ../src/syntax/typing.nit:1682,31--51 text='init_aclosurecallexpr'
+Read token at ../src/syntax/typing.nit:1682,52 text='('
+Read token at ../src/syntax/typing.nit:1682,53--56 text='n_id'
+Read token at ../src/syntax/typing.nit:1682,57 text=','
+Read token at ../src/syntax/typing.nit:1682,59--64 text='n_args'
+Read token at ../src/syntax/typing.nit:1682,65 text=','
+Read token at ../src/syntax/typing.nit:1682,67--80 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1682,81 text=')'
+Read token at ../src/syntax/typing.nit:1682,82--1683,0 text='
+'
+Read token at ../src/syntax/typing.nit:1683,6 text='n'
+Read token at ../src/syntax/typing.nit:1683,7 text='.'
+Read token at ../src/syntax/typing.nit:1683,8--16 text='_variable'
+Read token at ../src/syntax/typing.nit:1683,18 text='='
+Read token at ../src/syntax/typing.nit:1683,20--27 text='variable'
+Read token at ../src/syntax/typing.nit:1683,28--1684,0 text='
+'
+Read token at ../src/syntax/typing.nit:1684,5--8 text='else'
+Read token at ../src/syntax/typing.nit:1684,9--1685,0 text='
+'
+Read token at ../src/syntax/typing.nit:1685,6--7 text='if'
+Read token at ../src/syntax/typing.nit:1685,9--11 text='not'
+Read token at ../src/syntax/typing.nit:1685,13--18 text='n_args'
+Read token at ../src/syntax/typing.nit:1685,19 text='.'
+Read token at ../src/syntax/typing.nit:1685,20--27 text='is_empty'
+Read token at ../src/syntax/typing.nit:1685,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1685,33--1686,0 text='
+'
+Read token at ../src/syntax/typing.nit:1686,7 text='v'
+Read token at ../src/syntax/typing.nit:1686,8 text='.'
+Read token at ../src/syntax/typing.nit:1686,9--13 text='error'
+Read token at ../src/syntax/typing.nit:1686,14 text='('
+Read token at ../src/syntax/typing.nit:1686,15--18 text='self'
+Read token at ../src/syntax/typing.nit:1686,19 text=','
+Read token at ../src/syntax/typing.nit:1686,21--29 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1686,30--33 text='name'
+Read token at ../src/syntax/typing.nit:1686,34--64 text='} is variable, not a function."'
+Read token at ../src/syntax/typing.nit:1686,65 text=')'
+Read token at ../src/syntax/typing.nit:1686,66--1687,0 text='
+'
+Read token at ../src/syntax/typing.nit:1687,7--12 text='return'
+Read token at ../src/syntax/typing.nit:1687,13--1688,0 text='
+'
+Read token at ../src/syntax/typing.nit:1688,6--8 text='end'
+Read token at ../src/syntax/typing.nit:1688,9--1689,0 text='
+'
+Read token at ../src/syntax/typing.nit:1689,6 text='n'
+Read token at ../src/syntax/typing.nit:1689,8 text='='
+Read token at ../src/syntax/typing.nit:1689,10--24 text='variable_create'
+Read token at ../src/syntax/typing.nit:1689,25 text='('
+Read token at ../src/syntax/typing.nit:1689,26--33 text='variable'
+Read token at ../src/syntax/typing.nit:1689,34 text=')'
+Read token at ../src/syntax/typing.nit:1689,35--1690,0 text='
+'
+Read token at ../src/syntax/typing.nit:1690,6 text='n'
+Read token at ../src/syntax/typing.nit:1690,7 text='.'
+Read token at ../src/syntax/typing.nit:1690,8--16 text='_variable'
+Read token at ../src/syntax/typing.nit:1690,18 text='='
+Read token at ../src/syntax/typing.nit:1690,20--27 text='variable'
+Read token at ../src/syntax/typing.nit:1690,28--1691,0 text='
+'
+Read token at ../src/syntax/typing.nit:1691,5--7 text='end'
+Read token at ../src/syntax/typing.nit:1691,8--1692,0 text='
+'
+Read token at ../src/syntax/typing.nit:1692,5--16 text='replace_with'
+Read token at ../src/syntax/typing.nit:1692,17 text='('
+Read token at ../src/syntax/typing.nit:1692,18 text='n'
+Read token at ../src/syntax/typing.nit:1692,19 text=')'
+Read token at ../src/syntax/typing.nit:1692,20--1693,0 text='
+'
+Read token at ../src/syntax/typing.nit:1693,5 text='n'
+Read token at ../src/syntax/typing.nit:1693,6 text='.'
+Read token at ../src/syntax/typing.nit:1693,7--18 text='after_typing'
+Read token at ../src/syntax/typing.nit:1693,19 text='('
+Read token at ../src/syntax/typing.nit:1693,20 text='v'
+Read token at ../src/syntax/typing.nit:1693,21 text=')'
+Read token at ../src/syntax/typing.nit:1693,22--1694,0 text='
+'
+Read token at ../src/syntax/typing.nit:1694,5--10 text='return'
+Read token at ../src/syntax/typing.nit:1694,11--1695,0 text='
+'
+Read token at ../src/syntax/typing.nit:1695,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1695,7--1696,0 text='
+'
+Read token at ../src/syntax/typing.nit:1696,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1696,6--1697,0 text='
+'
+Read token at ../src/syntax/typing.nit:1697,1--1698,0 text='
+'
+Read token at ../src/syntax/typing.nit:1698,3--7 text='super'
+Read token at ../src/syntax/typing.nit:1698,8--1699,0 text='
+'
+Read token at ../src/syntax/typing.nit:1699,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1699,5--1700,0 text='
+'
+Read token at ../src/syntax/typing.nit:1700,1--1701,0 text='
+'
+Read token at ../src/syntax/typing.nit:1701,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1701,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1701,12--23 text='closure_defs'
+Read token at ../src/syntax/typing.nit:1701,24--1702,0 text='
+'
+Read token at ../src/syntax/typing.nit:1702,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1702,4--1703,0 text='
+'
+Read token at ../src/syntax/typing.nit:1703,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1703,6--19 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1703,20 text='.'
+Read token at ../src/syntax/typing.nit:1703,21--28 text='is_empty'
+Read token at ../src/syntax/typing.nit:1703,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1703,34--1704,0 text='
+'
+Read token at ../src/syntax/typing.nit:1704,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1704,11--14 text='null'
+Read token at ../src/syntax/typing.nit:1704,15--1705,0 text='
+'
+Read token at ../src/syntax/typing.nit:1705,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1705,7--1706,0 text='
+'
+Read token at ../src/syntax/typing.nit:1706,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1706,11--24 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1706,25 text='.'
+Read token at ../src/syntax/typing.nit:1706,26--29 text='to_a'
+Read token at ../src/syntax/typing.nit:1706,30--1707,0 text='
+'
+Read token at ../src/syntax/typing.nit:1707,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1707,6--1708,0 text='
+'
+Read token at ../src/syntax/typing.nit:1708,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1708,5--1709,0 text='
+'
+Read token at ../src/syntax/typing.nit:1709,1--1710,0 text='
+'
+Read token at ../src/syntax/typing.nit:1710,2--1711,0 text='# Create a variable acces corresponding to the call form
+'
+Read token at ../src/syntax/typing.nit:1711,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:1711,6--20 text='variable_create'
+Read token at ../src/syntax/typing.nit:1711,21 text='('
+Read token at ../src/syntax/typing.nit:1711,22--29 text='variable'
+Read token at ../src/syntax/typing.nit:1711,30 text=':'
+Read token at ../src/syntax/typing.nit:1711,32--39 text='Variable'
+Read token at ../src/syntax/typing.nit:1711,40 text=')'
+Read token at ../src/syntax/typing.nit:1711,41 text=':'
+Read token at ../src/syntax/typing.nit:1711,43--54 text='AVarFormExpr'
+Read token at ../src/syntax/typing.nit:1711,56--57 text='is'
+Read token at ../src/syntax/typing.nit:1711,59--66 text='abstract'
+Read token at ../src/syntax/typing.nit:1711,67--1712,0 text='
+'
+Read token at ../src/syntax/typing.nit:1712,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1712,4--1713,0 text='
+'
+Read token at ../src/syntax/typing.nit:1713,1--1714,0 text='
+'
+Read token at ../src/syntax/typing.nit:1714,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1714,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1714,13--21 text='ACallExpr'
+Read token at ../src/syntax/typing.nit:1714,22--1715,0 text='
+'
+Read token at ../src/syntax/typing.nit:1715,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1715,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1715,12--26 text='variable_create'
+Read token at ../src/syntax/typing.nit:1715,27 text='('
+Read token at ../src/syntax/typing.nit:1715,28--35 text='variable'
+Read token at ../src/syntax/typing.nit:1715,36 text=')'
+Read token at ../src/syntax/typing.nit:1715,37--1716,0 text='
+'
+Read token at ../src/syntax/typing.nit:1716,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1716,4--1717,0 text='
+'
+Read token at ../src/syntax/typing.nit:1717,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1717,10--12 text='new'
+Read token at ../src/syntax/typing.nit:1717,14--21 text='AVarExpr'
+Read token at ../src/syntax/typing.nit:1717,22 text='.'
+Read token at ../src/syntax/typing.nit:1717,23--35 text='init_avarexpr'
+Read token at ../src/syntax/typing.nit:1717,36 text='('
+Read token at ../src/syntax/typing.nit:1717,37--40 text='n_id'
+Read token at ../src/syntax/typing.nit:1717,41 text=')'
+Read token at ../src/syntax/typing.nit:1717,42--1718,0 text='
+'
+Read token at ../src/syntax/typing.nit:1718,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1718,5--1719,0 text='
+'
+Read token at ../src/syntax/typing.nit:1719,1--1720,0 text='
+'
+Read token at ../src/syntax/typing.nit:1720,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1720,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1720,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1720,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1720,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1720,27--30 text='n_id'
+Read token at ../src/syntax/typing.nit:1720,31 text='.'
+Read token at ../src/syntax/typing.nit:1720,32--40 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1720,41--1721,0 text='
+'
+Read token at ../src/syntax/typing.nit:1721,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1721,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1721,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1721,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1721,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1721,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1721,50 text='.'
+Read token at ../src/syntax/typing.nit:1721,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1721,55--1722,0 text='
+'
+Read token at ../src/syntax/typing.nit:1722,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1722,4--1723,0 text='
+'
+Read token at ../src/syntax/typing.nit:1723,1--1724,0 text='
+'
+Read token at ../src/syntax/typing.nit:1724,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1724,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1724,13--27 text='ACallAssignExpr'
+Read token at ../src/syntax/typing.nit:1724,28--1725,0 text='
+'
+Read token at ../src/syntax/typing.nit:1725,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1725,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1725,12--26 text='variable_create'
+Read token at ../src/syntax/typing.nit:1725,27 text='('
+Read token at ../src/syntax/typing.nit:1725,28--35 text='variable'
+Read token at ../src/syntax/typing.nit:1725,36 text=')'
+Read token at ../src/syntax/typing.nit:1725,37--1726,0 text='
+'
+Read token at ../src/syntax/typing.nit:1726,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1726,4--1727,0 text='
+'
+Read token at ../src/syntax/typing.nit:1727,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1727,10--12 text='new'
+Read token at ../src/syntax/typing.nit:1727,14--27 text='AVarAssignExpr'
+Read token at ../src/syntax/typing.nit:1727,28 text='.'
+Read token at ../src/syntax/typing.nit:1727,29--47 text='init_avarassignexpr'
+Read token at ../src/syntax/typing.nit:1727,48 text='('
+Read token at ../src/syntax/typing.nit:1727,49--52 text='n_id'
+Read token at ../src/syntax/typing.nit:1727,53 text=','
+Read token at ../src/syntax/typing.nit:1727,55--62 text='n_assign'
+Read token at ../src/syntax/typing.nit:1727,63 text=','
+Read token at ../src/syntax/typing.nit:1727,65--71 text='n_value'
+Read token at ../src/syntax/typing.nit:1727,72 text=')'
+Read token at ../src/syntax/typing.nit:1727,73--1728,0 text='
+'
+Read token at ../src/syntax/typing.nit:1728,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1728,5--1729,0 text='
+'
+Read token at ../src/syntax/typing.nit:1729,1--1730,0 text='
+'
+Read token at ../src/syntax/typing.nit:1730,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1730,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1730,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1730,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1730,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1730,27 text='('
+Read token at ../src/syntax/typing.nit:1730,28--31 text='n_id'
+Read token at ../src/syntax/typing.nit:1730,32 text='.'
+Read token at ../src/syntax/typing.nit:1730,33--36 text='text'
+Read token at ../src/syntax/typing.nit:1730,38 text='+'
+Read token at ../src/syntax/typing.nit:1730,40--42 text='"="'
+Read token at ../src/syntax/typing.nit:1730,43 text=')'
+Read token at ../src/syntax/typing.nit:1730,44 text='.'
+Read token at ../src/syntax/typing.nit:1730,45--53 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1730,54--1731,0 text='
+'
+Read token at ../src/syntax/typing.nit:1731,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1731,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1731,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1731,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1731,36--1732,0 text='
+'
+Read token at ../src/syntax/typing.nit:1732,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1732,7--9 text='res'
+Read token at ../src/syntax/typing.nit:1732,11 text='='
+Read token at ../src/syntax/typing.nit:1732,13--18 text='n_args'
+Read token at ../src/syntax/typing.nit:1732,19 text='.'
+Read token at ../src/syntax/typing.nit:1732,20--23 text='to_a'
+Read token at ../src/syntax/typing.nit:1732,24--1733,0 text='
+'
+Read token at ../src/syntax/typing.nit:1733,3--5 text='res'
+Read token at ../src/syntax/typing.nit:1733,6 text='.'
+Read token at ../src/syntax/typing.nit:1733,7--9 text='add'
+Read token at ../src/syntax/typing.nit:1733,10 text='('
+Read token at ../src/syntax/typing.nit:1733,11--17 text='n_value'
+Read token at ../src/syntax/typing.nit:1733,18 text=')'
+Read token at ../src/syntax/typing.nit:1733,19--1734,0 text='
+'
+Read token at ../src/syntax/typing.nit:1734,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1734,10--12 text='res'
+Read token at ../src/syntax/typing.nit:1734,13--1735,0 text='
+'
+Read token at ../src/syntax/typing.nit:1735,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1735,5--1736,0 text='
+'
+Read token at ../src/syntax/typing.nit:1736,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1736,4--1737,0 text='
+'
+Read token at ../src/syntax/typing.nit:1737,1--1738,0 text='
+'
+Read token at ../src/syntax/typing.nit:1738,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1738,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1738,13--29 text='ACallReassignExpr'
+Read token at ../src/syntax/typing.nit:1738,30--1739,0 text='
+'
+Read token at ../src/syntax/typing.nit:1739,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1739,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1739,12--26 text='variable_create'
+Read token at ../src/syntax/typing.nit:1739,27 text='('
+Read token at ../src/syntax/typing.nit:1739,28--35 text='variable'
+Read token at ../src/syntax/typing.nit:1739,36 text=')'
+Read token at ../src/syntax/typing.nit:1739,37--1740,0 text='
+'
+Read token at ../src/syntax/typing.nit:1740,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1740,4--1741,0 text='
+'
+Read token at ../src/syntax/typing.nit:1741,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1741,10--12 text='new'
+Read token at ../src/syntax/typing.nit:1741,14--29 text='AVarReassignExpr'
+Read token at ../src/syntax/typing.nit:1741,30 text='.'
+Read token at ../src/syntax/typing.nit:1741,31--51 text='init_avarreassignexpr'
+Read token at ../src/syntax/typing.nit:1741,52 text='('
+Read token at ../src/syntax/typing.nit:1741,53--56 text='n_id'
+Read token at ../src/syntax/typing.nit:1741,57 text=','
+Read token at ../src/syntax/typing.nit:1741,59--69 text='n_assign_op'
+Read token at ../src/syntax/typing.nit:1741,70 text=','
+Read token at ../src/syntax/typing.nit:1741,72--78 text='n_value'
+Read token at ../src/syntax/typing.nit:1741,79 text=')'
+Read token at ../src/syntax/typing.nit:1741,80--1742,0 text='
+'
+Read token at ../src/syntax/typing.nit:1742,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1742,5--1743,0 text='
+'
+Read token at ../src/syntax/typing.nit:1743,1--1744,0 text='
+'
+Read token at ../src/syntax/typing.nit:1744,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1744,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1744,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1744,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1744,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1744,27--30 text='n_id'
+Read token at ../src/syntax/typing.nit:1744,31 text='.'
+Read token at ../src/syntax/typing.nit:1744,32--40 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1744,41--1745,0 text='
+'
+Read token at ../src/syntax/typing.nit:1745,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1745,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1745,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1745,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1745,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1745,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1745,50 text='.'
+Read token at ../src/syntax/typing.nit:1745,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1745,55--1746,0 text='
+'
+Read token at ../src/syntax/typing.nit:1746,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1746,4--1747,0 text='
+'
+Read token at ../src/syntax/typing.nit:1747,1--1748,0 text='
+'
+Read token at ../src/syntax/typing.nit:1748,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1748,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1748,13--20 text='ABraExpr'
+Read token at ../src/syntax/typing.nit:1748,21--1749,0 text='
+'
+Read token at ../src/syntax/typing.nit:1749,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1749,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1749,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1749,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1749,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1749,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1749,32--35 text='"[]"'
+Read token at ../src/syntax/typing.nit:1749,36 text='.'
+Read token at ../src/syntax/typing.nit:1749,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1749,46--1750,0 text='
+'
+Read token at ../src/syntax/typing.nit:1750,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1750,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1750,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1750,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1750,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1750,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1750,50 text='.'
+Read token at ../src/syntax/typing.nit:1750,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1750,55--1751,0 text='
+'
+Read token at ../src/syntax/typing.nit:1751,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1751,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1751,12--23 text='closure_defs'
+Read token at ../src/syntax/typing.nit:1751,24--1752,0 text='
+'
+Read token at ../src/syntax/typing.nit:1752,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1752,4--1753,0 text='
+'
+Read token at ../src/syntax/typing.nit:1753,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1753,6--19 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1753,20 text='.'
+Read token at ../src/syntax/typing.nit:1753,21--28 text='is_empty'
+Read token at ../src/syntax/typing.nit:1753,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1753,34--1754,0 text='
+'
+Read token at ../src/syntax/typing.nit:1754,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1754,11--14 text='null'
+Read token at ../src/syntax/typing.nit:1754,15--1755,0 text='
+'
+Read token at ../src/syntax/typing.nit:1755,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1755,7--1756,0 text='
+'
+Read token at ../src/syntax/typing.nit:1756,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1756,11--24 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1756,25 text='.'
+Read token at ../src/syntax/typing.nit:1756,26--29 text='to_a'
+Read token at ../src/syntax/typing.nit:1756,30--1757,0 text='
+'
+Read token at ../src/syntax/typing.nit:1757,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1757,6--1758,0 text='
+'
+Read token at ../src/syntax/typing.nit:1758,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1758,5--1759,0 text='
+'
+Read token at ../src/syntax/typing.nit:1759,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1759,4--1760,0 text='
+'
+Read token at ../src/syntax/typing.nit:1760,1--1761,0 text='
+'
+Read token at ../src/syntax/typing.nit:1761,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1761,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1761,13--26 text='ABraAssignExpr'
+Read token at ../src/syntax/typing.nit:1761,27--1762,0 text='
+'
+Read token at ../src/syntax/typing.nit:1762,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1762,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1762,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1762,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1762,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1762,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1762,32--36 text='"[]="'
+Read token at ../src/syntax/typing.nit:1762,37 text='.'
+Read token at ../src/syntax/typing.nit:1762,38--46 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1762,47--1763,0 text='
+'
+Read token at ../src/syntax/typing.nit:1763,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1763,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1763,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1763,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1763,36--1764,0 text='
+'
+Read token at ../src/syntax/typing.nit:1764,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1764,7--9 text='res'
+Read token at ../src/syntax/typing.nit:1764,11 text='='
+Read token at ../src/syntax/typing.nit:1764,13--18 text='n_args'
+Read token at ../src/syntax/typing.nit:1764,19 text='.'
+Read token at ../src/syntax/typing.nit:1764,20--23 text='to_a'
+Read token at ../src/syntax/typing.nit:1764,24--1765,0 text='
+'
+Read token at ../src/syntax/typing.nit:1765,3--5 text='res'
+Read token at ../src/syntax/typing.nit:1765,6 text='.'
+Read token at ../src/syntax/typing.nit:1765,7--9 text='add'
+Read token at ../src/syntax/typing.nit:1765,10 text='('
+Read token at ../src/syntax/typing.nit:1765,11--17 text='n_value'
+Read token at ../src/syntax/typing.nit:1765,18 text=')'
+Read token at ../src/syntax/typing.nit:1765,19--1766,0 text='
+'
+Read token at ../src/syntax/typing.nit:1766,3--8 text='return'
+Read token at ../src/syntax/typing.nit:1766,10--12 text='res'
+Read token at ../src/syntax/typing.nit:1766,13--1767,0 text='
+'
+Read token at ../src/syntax/typing.nit:1767,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1767,5--1768,0 text='
+'
+Read token at ../src/syntax/typing.nit:1768,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1768,4--1769,0 text='
+'
+Read token at ../src/syntax/typing.nit:1769,1--1770,0 text='
+'
+Read token at ../src/syntax/typing.nit:1770,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1770,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1770,13--28 text='ABraReassignExpr'
+Read token at ../src/syntax/typing.nit:1770,29--1771,0 text='
+'
+Read token at ../src/syntax/typing.nit:1771,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1771,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1771,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1771,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1771,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1771,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1771,32--35 text='"[]"'
+Read token at ../src/syntax/typing.nit:1771,36 text='.'
+Read token at ../src/syntax/typing.nit:1771,37--45 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1771,46--1772,0 text='
+'
+Read token at ../src/syntax/typing.nit:1772,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1772,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1772,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1772,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1772,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1772,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1772,50 text='.'
+Read token at ../src/syntax/typing.nit:1772,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1772,55--1773,0 text='
+'
+Read token at ../src/syntax/typing.nit:1773,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1773,4--1774,0 text='
+'
+Read token at ../src/syntax/typing.nit:1774,1--1775,0 text='
+'
+Read token at ../src/syntax/typing.nit:1775,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1775,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1775,13--21 text='AInitExpr'
+Read token at ../src/syntax/typing.nit:1775,22--1776,0 text='
+'
+Read token at ../src/syntax/typing.nit:1776,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1776,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1776,12--15 text='name'
+Read token at ../src/syntax/typing.nit:1776,17--18 text='do'
+Read token at ../src/syntax/typing.nit:1776,20--25 text='return'
+Read token at ../src/syntax/typing.nit:1776,27--30 text='once'
+Read token at ../src/syntax/typing.nit:1776,32--37 text='"init"'
+Read token at ../src/syntax/typing.nit:1776,38 text='.'
+Read token at ../src/syntax/typing.nit:1776,39--47 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1776,48--1777,0 text='
+'
+Read token at ../src/syntax/typing.nit:1777,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1777,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1777,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1777,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1777,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1777,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1777,50 text='.'
+Read token at ../src/syntax/typing.nit:1777,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1777,55--1778,0 text='
+'
+Read token at ../src/syntax/typing.nit:1778,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1778,4--1779,0 text='
+'
+Read token at ../src/syntax/typing.nit:1779,1--1780,0 text='
+'
+Read token at ../src/syntax/typing.nit:1780,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1780,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1780,13--28 text='AClosureCallExpr'
+Read token at ../src/syntax/typing.nit:1780,29--1781,0 text='
+'
+Read token at ../src/syntax/typing.nit:1781,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1781,6--14 text='_variable'
+Read token at ../src/syntax/typing.nit:1781,15 text=':'
+Read token at ../src/syntax/typing.nit:1781,17--24 text='nullable'
+Read token at ../src/syntax/typing.nit:1781,26--40 text='ClosureVariable'
+Read token at ../src/syntax/typing.nit:1781,41--1782,0 text='
+'
+Read token at ../src/syntax/typing.nit:1782,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1782,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1782,12--19 text='variable'
+Read token at ../src/syntax/typing.nit:1782,21--22 text='do'
+Read token at ../src/syntax/typing.nit:1782,24--29 text='return'
+Read token at ../src/syntax/typing.nit:1782,31--39 text='_variable'
+Read token at ../src/syntax/typing.nit:1782,40 text='.'
+Read token at ../src/syntax/typing.nit:1782,41--42 text='as'
+Read token at ../src/syntax/typing.nit:1782,43 text='('
+Read token at ../src/syntax/typing.nit:1782,44--46 text='not'
+Read token at ../src/syntax/typing.nit:1782,48--51 text='null'
+Read token at ../src/syntax/typing.nit:1782,52 text=')'
+Read token at ../src/syntax/typing.nit:1782,53--1783,0 text='
+'
+Read token at ../src/syntax/typing.nit:1783,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1783,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1783,12--32 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1783,34--35 text='do'
+Read token at ../src/syntax/typing.nit:1783,37--42 text='return'
+Read token at ../src/syntax/typing.nit:1783,44--49 text='n_args'
+Read token at ../src/syntax/typing.nit:1783,50 text='.'
+Read token at ../src/syntax/typing.nit:1783,51--54 text='to_a'
+Read token at ../src/syntax/typing.nit:1783,55--1784,0 text='
+'
+Read token at ../src/syntax/typing.nit:1784,1--1785,0 text='
+'
+Read token at ../src/syntax/typing.nit:1785,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1785,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1785,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1785,24 text='('
+Read token at ../src/syntax/typing.nit:1785,25 text='v'
+Read token at ../src/syntax/typing.nit:1785,26 text=')'
+Read token at ../src/syntax/typing.nit:1785,27--1786,0 text='
+'
+Read token at ../src/syntax/typing.nit:1786,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1786,4--1787,0 text='
+'
+Read token at ../src/syntax/typing.nit:1787,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1787,7--8 text='va'
+Read token at ../src/syntax/typing.nit:1787,10 text='='
+Read token at ../src/syntax/typing.nit:1787,12--19 text='variable'
+Read token at ../src/syntax/typing.nit:1787,20--1788,0 text='
+'
+Read token at ../src/syntax/typing.nit:1788,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1788,6--7 text='va'
+Read token at ../src/syntax/typing.nit:1788,8 text='.'
+Read token at ../src/syntax/typing.nit:1788,9--15 text='closure'
+Read token at ../src/syntax/typing.nit:1788,16 text='.'
+Read token at ../src/syntax/typing.nit:1788,17--24 text='is_break'
+Read token at ../src/syntax/typing.nit:1788,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1788,31 text='v'
+Read token at ../src/syntax/typing.nit:1788,32 text='.'
+Read token at ../src/syntax/typing.nit:1788,33--44 text='mark_unreash'
+Read token at ../src/syntax/typing.nit:1788,45 text='('
+Read token at ../src/syntax/typing.nit:1788,46--49 text='self'
+Read token at ../src/syntax/typing.nit:1788,50 text=')'
+Read token at ../src/syntax/typing.nit:1788,51--1789,0 text='
+'
+Read token at ../src/syntax/typing.nit:1789,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1789,7--9 text='sig'
+Read token at ../src/syntax/typing.nit:1789,11 text='='
+Read token at ../src/syntax/typing.nit:1789,13--14 text='va'
+Read token at ../src/syntax/typing.nit:1789,15 text='.'
+Read token at ../src/syntax/typing.nit:1789,16--22 text='closure'
+Read token at ../src/syntax/typing.nit:1789,23 text='.'
+Read token at ../src/syntax/typing.nit:1789,24--32 text='signature'
+Read token at ../src/syntax/typing.nit:1789,33--1790,0 text='
+'
+Read token at ../src/syntax/typing.nit:1790,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1790,7 text='s'
+Read token at ../src/syntax/typing.nit:1790,9 text='='
+Read token at ../src/syntax/typing.nit:1790,11--27 text='process_signature'
+Read token at ../src/syntax/typing.nit:1790,28 text='('
+Read token at ../src/syntax/typing.nit:1790,29 text='v'
+Read token at ../src/syntax/typing.nit:1790,30 text=','
+Read token at ../src/syntax/typing.nit:1790,32--34 text='sig'
+Read token at ../src/syntax/typing.nit:1790,35 text=','
+Read token at ../src/syntax/typing.nit:1790,37--40 text='n_id'
+Read token at ../src/syntax/typing.nit:1790,41 text='.'
+Read token at ../src/syntax/typing.nit:1790,42--50 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1790,51 text=','
+Read token at ../src/syntax/typing.nit:1790,53--73 text='compute_raw_arguments'
+Read token at ../src/syntax/typing.nit:1790,74 text=')'
+Read token at ../src/syntax/typing.nit:1790,75--1791,0 text='
+'
+Read token at ../src/syntax/typing.nit:1791,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1791,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1791,10--23 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1791,24 text='.'
+Read token at ../src/syntax/typing.nit:1791,25--32 text='is_empty'
+Read token at ../src/syntax/typing.nit:1791,34--37 text='then'
+Read token at ../src/syntax/typing.nit:1791,38--1792,0 text='
+'
+Read token at ../src/syntax/typing.nit:1792,4--19 text='process_closures'
+Read token at ../src/syntax/typing.nit:1792,20 text='('
+Read token at ../src/syntax/typing.nit:1792,21 text='v'
+Read token at ../src/syntax/typing.nit:1792,22 text=','
+Read token at ../src/syntax/typing.nit:1792,24--26 text='sig'
+Read token at ../src/syntax/typing.nit:1792,27 text=','
+Read token at ../src/syntax/typing.nit:1792,29--32 text='n_id'
+Read token at ../src/syntax/typing.nit:1792,33 text='.'
+Read token at ../src/syntax/typing.nit:1792,34--42 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1792,43 text=','
+Read token at ../src/syntax/typing.nit:1792,45--58 text='n_closure_defs'
+Read token at ../src/syntax/typing.nit:1792,59 text='.'
+Read token at ../src/syntax/typing.nit:1792,60--63 text='to_a'
+Read token at ../src/syntax/typing.nit:1792,64 text=')'
+Read token at ../src/syntax/typing.nit:1792,65--1793,0 text='
+'
+Read token at ../src/syntax/typing.nit:1793,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1793,6--1794,0 text='
+'
+Read token at ../src/syntax/typing.nit:1794,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1794,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1794,10 text='s'
+Read token at ../src/syntax/typing.nit:1794,12--15 text='then'
+Read token at ../src/syntax/typing.nit:1794,17--22 text='return'
+Read token at ../src/syntax/typing.nit:1794,23--1795,0 text='
+'
+Read token at ../src/syntax/typing.nit:1795,3--17 text='_prop_signature'
+Read token at ../src/syntax/typing.nit:1795,19 text='='
+Read token at ../src/syntax/typing.nit:1795,21--23 text='sig'
+Read token at ../src/syntax/typing.nit:1795,24--1796,0 text='
+'
+Read token at ../src/syntax/typing.nit:1796,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1796,10 text='='
+Read token at ../src/syntax/typing.nit:1796,12--14 text='sig'
+Read token at ../src/syntax/typing.nit:1796,15 text='.'
+Read token at ../src/syntax/typing.nit:1796,16--26 text='return_type'
+Read token at ../src/syntax/typing.nit:1796,27--1797,0 text='
+'
+Read token at ../src/syntax/typing.nit:1797,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1797,13 text='='
+Read token at ../src/syntax/typing.nit:1797,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1797,19--1798,0 text='
+'
+Read token at ../src/syntax/typing.nit:1798,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1798,5--1799,0 text='
+'
+Read token at ../src/syntax/typing.nit:1799,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1799,4--1800,0 text='
+'
+Read token at ../src/syntax/typing.nit:1800,1--1801,0 text='
+'
+Read token at ../src/syntax/typing.nit:1801,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1801,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1801,13--22 text='AClosureId'
+Read token at ../src/syntax/typing.nit:1801,23--1802,0 text='
+'
+Read token at ../src/syntax/typing.nit:1802,2--4 text='fun'
+Read token at ../src/syntax/typing.nit:1802,6--14 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1802,15 text=':'
+Read token at ../src/syntax/typing.nit:1802,17--22 text='Symbol'
+Read token at ../src/syntax/typing.nit:1802,24--25 text='is'
+Read token at ../src/syntax/typing.nit:1802,27--34 text='abstract'
+Read token at ../src/syntax/typing.nit:1802,35--1803,0 text='
+'
+Read token at ../src/syntax/typing.nit:1803,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1803,4--1804,0 text='
+'
+Read token at ../src/syntax/typing.nit:1804,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1804,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1804,13--28 text='ASimpleClosureId'
+Read token at ../src/syntax/typing.nit:1804,29--1805,0 text='
+'
+Read token at ../src/syntax/typing.nit:1805,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1805,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1805,12--20 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1805,21 text=':'
+Read token at ../src/syntax/typing.nit:1805,23--28 text='Symbol'
+Read token at ../src/syntax/typing.nit:1805,30--31 text='do'
+Read token at ../src/syntax/typing.nit:1805,33--38 text='return'
+Read token at ../src/syntax/typing.nit:1805,40--43 text='n_id'
+Read token at ../src/syntax/typing.nit:1805,44 text='.'
+Read token at ../src/syntax/typing.nit:1805,45--53 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1805,54--1806,0 text='
+'
+Read token at ../src/syntax/typing.nit:1806,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1806,4--1807,0 text='
+'
+Read token at ../src/syntax/typing.nit:1807,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1807,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1807,13--27 text='ABreakClosureId'
+Read token at ../src/syntax/typing.nit:1807,28--1808,0 text='
+'
+Read token at ../src/syntax/typing.nit:1808,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1808,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1808,12--20 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1808,21 text=':'
+Read token at ../src/syntax/typing.nit:1808,23--28 text='Symbol'
+Read token at ../src/syntax/typing.nit:1808,30--31 text='do'
+Read token at ../src/syntax/typing.nit:1808,33--38 text='return'
+Read token at ../src/syntax/typing.nit:1808,40--48 text='n_kwbreak'
+Read token at ../src/syntax/typing.nit:1808,49 text='.'
+Read token at ../src/syntax/typing.nit:1808,50--58 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1808,59--1809,0 text='
+'
+Read token at ../src/syntax/typing.nit:1809,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1809,4--1810,0 text='
+'
+Read token at ../src/syntax/typing.nit:1810,1--1811,0 text='
+'
+Read token at ../src/syntax/typing.nit:1811,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1811,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1811,13--23 text='AClosureDef'
+Read token at ../src/syntax/typing.nit:1811,24--1812,0 text='
+'
+Read token at ../src/syntax/typing.nit:1812,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1812,6--13 text='_closure'
+Read token at ../src/syntax/typing.nit:1812,14 text=':'
+Read token at ../src/syntax/typing.nit:1812,16--23 text='nullable'
+Read token at ../src/syntax/typing.nit:1812,25--33 text='MMClosure'
+Read token at ../src/syntax/typing.nit:1812,34--1813,0 text='
+'
+Read token at ../src/syntax/typing.nit:1813,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1813,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1813,12--18 text='closure'
+Read token at ../src/syntax/typing.nit:1813,20--21 text='do'
+Read token at ../src/syntax/typing.nit:1813,23--28 text='return'
+Read token at ../src/syntax/typing.nit:1813,30--37 text='_closure'
+Read token at ../src/syntax/typing.nit:1813,38 text='.'
+Read token at ../src/syntax/typing.nit:1813,39--40 text='as'
+Read token at ../src/syntax/typing.nit:1813,41 text='('
+Read token at ../src/syntax/typing.nit:1813,42--44 text='not'
+Read token at ../src/syntax/typing.nit:1813,46--49 text='null'
+Read token at ../src/syntax/typing.nit:1813,50 text=')'
+Read token at ../src/syntax/typing.nit:1813,51--1814,0 text='
+'
+Read token at ../src/syntax/typing.nit:1814,1--1815,0 text='
+'
+Read token at ../src/syntax/typing.nit:1815,2--1816,0 text='# The corresponding escapable object
+'
+Read token at ../src/syntax/typing.nit:1816,2--9 text='readable'
+Read token at ../src/syntax/typing.nit:1816,11--13 text='var'
+Read token at ../src/syntax/typing.nit:1816,15--24 text='_escapable'
+Read token at ../src/syntax/typing.nit:1816,25 text=':'
+Read token at ../src/syntax/typing.nit:1816,27--34 text='nullable'
+Read token at ../src/syntax/typing.nit:1816,36--49 text='EscapableBlock'
+Read token at ../src/syntax/typing.nit:1816,50--1817,0 text='
+'
+Read token at ../src/syntax/typing.nit:1817,1--1818,0 text='
+'
+Read token at ../src/syntax/typing.nit:1818,2--4 text='var'
+Read token at ../src/syntax/typing.nit:1818,6--20 text='_accept_typing2'
+Read token at ../src/syntax/typing.nit:1818,21 text=':'
+Read token at ../src/syntax/typing.nit:1818,23--26 text='Bool'
+Read token at ../src/syntax/typing.nit:1818,28 text='='
+Read token at ../src/syntax/typing.nit:1818,30--34 text='false'
+Read token at ../src/syntax/typing.nit:1818,35--1819,0 text='
+'
+Read token at ../src/syntax/typing.nit:1819,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1819,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1819,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:1819,25 text='('
+Read token at ../src/syntax/typing.nit:1819,26 text='v'
+Read token at ../src/syntax/typing.nit:1819,27 text=')'
+Read token at ../src/syntax/typing.nit:1819,28--1820,0 text='
+'
+Read token at ../src/syntax/typing.nit:1820,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1820,4--1821,0 text='
+'
+Read token at ../src/syntax/typing.nit:1821,3--1822,0 text='# Typing is deferred, wait accept_typing2(v)
+'
+Read token at ../src/syntax/typing.nit:1822,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1822,6--20 text='_accept_typing2'
+Read token at ../src/syntax/typing.nit:1822,22--25 text='then'
+Read token at ../src/syntax/typing.nit:1822,27--31 text='super'
+Read token at ../src/syntax/typing.nit:1822,32--1823,0 text='
+'
+Read token at ../src/syntax/typing.nit:1823,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1823,5--1824,0 text='
+'
+Read token at ../src/syntax/typing.nit:1824,1--1825,0 text='
+'
+Read token at ../src/syntax/typing.nit:1825,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1825,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1825,14--27 text='accept_typing2'
+Read token at ../src/syntax/typing.nit:1825,28 text='('
+Read token at ../src/syntax/typing.nit:1825,29 text='v'
+Read token at ../src/syntax/typing.nit:1825,30 text=':'
+Read token at ../src/syntax/typing.nit:1825,32--44 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1825,45 text=','
+Read token at ../src/syntax/typing.nit:1825,47--49 text='esc'
+Read token at ../src/syntax/typing.nit:1825,50 text=':'
+Read token at ../src/syntax/typing.nit:1825,52--67 text='EscapableClosure'
+Read token at ../src/syntax/typing.nit:1825,68 text=')'
+Read token at ../src/syntax/typing.nit:1825,69--1826,0 text='
+'
+Read token at ../src/syntax/typing.nit:1826,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1826,4--1827,0 text='
+'
+Read token at ../src/syntax/typing.nit:1827,3--12 text='_escapable'
+Read token at ../src/syntax/typing.nit:1827,14 text='='
+Read token at ../src/syntax/typing.nit:1827,16--18 text='esc'
+Read token at ../src/syntax/typing.nit:1827,19--1828,0 text='
+'
+Read token at ../src/syntax/typing.nit:1828,1--1829,0 text='
+'
+Read token at ../src/syntax/typing.nit:1829,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1829,7--9 text='sig'
+Read token at ../src/syntax/typing.nit:1829,11 text='='
+Read token at ../src/syntax/typing.nit:1829,13--15 text='esc'
+Read token at ../src/syntax/typing.nit:1829,16 text='.'
+Read token at ../src/syntax/typing.nit:1829,17--23 text='closure'
+Read token at ../src/syntax/typing.nit:1829,24 text='.'
+Read token at ../src/syntax/typing.nit:1829,25--33 text='signature'
+Read token at ../src/syntax/typing.nit:1829,34--1830,0 text='
+'
+Read token at ../src/syntax/typing.nit:1830,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1830,6--8 text='sig'
+Read token at ../src/syntax/typing.nit:1830,9 text='.'
+Read token at ../src/syntax/typing.nit:1830,10--14 text='arity'
+Read token at ../src/syntax/typing.nit:1830,16--17 text='!='
+Read token at ../src/syntax/typing.nit:1830,19--23 text='n_ids'
+Read token at ../src/syntax/typing.nit:1830,24 text='.'
+Read token at ../src/syntax/typing.nit:1830,25--30 text='length'
+Read token at ../src/syntax/typing.nit:1830,32--35 text='then'
+Read token at ../src/syntax/typing.nit:1830,36--1831,0 text='
+'
+Read token at ../src/syntax/typing.nit:1831,4 text='v'
+Read token at ../src/syntax/typing.nit:1831,5 text='.'
+Read token at ../src/syntax/typing.nit:1831,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1831,11 text='('
+Read token at ../src/syntax/typing.nit:1831,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1831,16 text=','
+Read token at ../src/syntax/typing.nit:1831,18--26 text='"Error: {'
+Read token at ../src/syntax/typing.nit:1831,27--29 text='sig'
+Read token at ../src/syntax/typing.nit:1831,30 text='.'
+Read token at ../src/syntax/typing.nit:1831,31--35 text='arity'
+Read token at ../src/syntax/typing.nit:1831,36--73 text='} automatic variable names expected, {'
+Read token at ../src/syntax/typing.nit:1831,74--78 text='n_ids'
+Read token at ../src/syntax/typing.nit:1831,79 text='.'
+Read token at ../src/syntax/typing.nit:1831,80--85 text='length'
+Read token at ../src/syntax/typing.nit:1831,86--94 text='} found."'
+Read token at ../src/syntax/typing.nit:1831,95 text=')'
+Read token at ../src/syntax/typing.nit:1831,96--1832,0 text='
+'
+Read token at ../src/syntax/typing.nit:1832,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1832,10--1833,0 text='
+'
+Read token at ../src/syntax/typing.nit:1833,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1833,6--1834,0 text='
+'
+Read token at ../src/syntax/typing.nit:1834,1--1835,0 text='
+'
+Read token at ../src/syntax/typing.nit:1835,3--10 text='_closure'
+Read token at ../src/syntax/typing.nit:1835,12 text='='
+Read token at ../src/syntax/typing.nit:1835,14--16 text='esc'
+Read token at ../src/syntax/typing.nit:1835,17 text='.'
+Read token at ../src/syntax/typing.nit:1835,18--24 text='closure'
+Read token at ../src/syntax/typing.nit:1835,25--1836,0 text='
+'
+Read token at ../src/syntax/typing.nit:1836,1--1837,0 text='
+'
+Read token at ../src/syntax/typing.nit:1837,3 text='v'
+Read token at ../src/syntax/typing.nit:1837,4 text='.'
+Read token at ../src/syntax/typing.nit:1837,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:1837,14 text='.'
+Read token at ../src/syntax/typing.nit:1837,15--18 text='push'
+Read token at ../src/syntax/typing.nit:1837,19 text='('
+Read token at ../src/syntax/typing.nit:1837,20--23 text='self'
+Read token at ../src/syntax/typing.nit:1837,24 text=')'
+Read token at ../src/syntax/typing.nit:1837,25--1838,0 text='
+'
+Read token at ../src/syntax/typing.nit:1838,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1838,7--18 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:1838,20 text='='
+Read token at ../src/syntax/typing.nit:1838,22 text='v'
+Read token at ../src/syntax/typing.nit:1838,23 text='.'
+Read token at ../src/syntax/typing.nit:1838,24--31 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1838,32--1839,0 text='
+'
+Read token at ../src/syntax/typing.nit:1839,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1839,7--23 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:1839,25 text='='
+Read token at ../src/syntax/typing.nit:1839,27 text='v'
+Read token at ../src/syntax/typing.nit:1839,28 text='.'
+Read token at ../src/syntax/typing.nit:1839,29--41 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:1839,42--1840,0 text='
+'
+Read token at ../src/syntax/typing.nit:1840,3 text='v'
+Read token at ../src/syntax/typing.nit:1840,4 text='.'
+Read token at ../src/syntax/typing.nit:1840,5--17 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:1840,19 text='='
+Read token at ../src/syntax/typing.nit:1840,21 text='v'
+Read token at ../src/syntax/typing.nit:1840,22 text='.'
+Read token at ../src/syntax/typing.nit:1840,23--30 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1840,31--1841,0 text='
+'
+Read token at ../src/syntax/typing.nit:1841,3--11 text='variables'
+Read token at ../src/syntax/typing.nit:1841,13 text='='
+Read token at ../src/syntax/typing.nit:1841,15--17 text='new'
+Read token at ../src/syntax/typing.nit:1841,19--23 text='Array'
+Read token at ../src/syntax/typing.nit:1841,24 text='['
+Read token at ../src/syntax/typing.nit:1841,25--36 text='AutoVariable'
+Read token at ../src/syntax/typing.nit:1841,37 text=']'
+Read token at ../src/syntax/typing.nit:1841,38--1842,0 text='
+'
+Read token at ../src/syntax/typing.nit:1842,3--5 text='for'
+Read token at ../src/syntax/typing.nit:1842,7 text='i'
+Read token at ../src/syntax/typing.nit:1842,9--10 text='in'
+Read token at ../src/syntax/typing.nit:1842,12 text='['
+Read token at ../src/syntax/typing.nit:1842,13 text='0'
+Read token at ../src/syntax/typing.nit:1842,14--15 text='..'
+Read token at ../src/syntax/typing.nit:1842,16--20 text='n_ids'
+Read token at ../src/syntax/typing.nit:1842,21 text='.'
+Read token at ../src/syntax/typing.nit:1842,22--27 text='length'
+Read token at ../src/syntax/typing.nit:1842,28 text='['
+Read token at ../src/syntax/typing.nit:1842,30--31 text='do'
+Read token at ../src/syntax/typing.nit:1842,32--1843,0 text='
+'
+Read token at ../src/syntax/typing.nit:1843,4--6 text='var'
+Read token at ../src/syntax/typing.nit:1843,8--9 text='va'
+Read token at ../src/syntax/typing.nit:1843,11 text='='
+Read token at ../src/syntax/typing.nit:1843,13--15 text='new'
+Read token at ../src/syntax/typing.nit:1843,17--28 text='AutoVariable'
+Read token at ../src/syntax/typing.nit:1843,29 text='('
+Read token at ../src/syntax/typing.nit:1843,30--34 text='n_ids'
+Read token at ../src/syntax/typing.nit:1843,35 text='['
+Read token at ../src/syntax/typing.nit:1843,36 text='i'
+Read token at ../src/syntax/typing.nit:1843,37 text=']'
+Read token at ../src/syntax/typing.nit:1843,38 text='.'
+Read token at ../src/syntax/typing.nit:1843,39--47 text='to_symbol'
+Read token at ../src/syntax/typing.nit:1843,48 text=','
+Read token at ../src/syntax/typing.nit:1843,50--54 text='n_ids'
+Read token at ../src/syntax/typing.nit:1843,55 text='['
+Read token at ../src/syntax/typing.nit:1843,56 text='i'
+Read token at ../src/syntax/typing.nit:1843,57 text=']'
+Read token at ../src/syntax/typing.nit:1843,58 text=')'
+Read token at ../src/syntax/typing.nit:1843,59--1844,0 text='
+'
+Read token at ../src/syntax/typing.nit:1844,4--12 text='variables'
+Read token at ../src/syntax/typing.nit:1844,13 text='.'
+Read token at ../src/syntax/typing.nit:1844,14--16 text='add'
+Read token at ../src/syntax/typing.nit:1844,17 text='('
+Read token at ../src/syntax/typing.nit:1844,18--19 text='va'
+Read token at ../src/syntax/typing.nit:1844,20 text=')'
+Read token at ../src/syntax/typing.nit:1844,21--1845,0 text='
+'
+Read token at ../src/syntax/typing.nit:1845,4--5 text='va'
+Read token at ../src/syntax/typing.nit:1845,6 text='.'
+Read token at ../src/syntax/typing.nit:1845,7--11 text='stype'
+Read token at ../src/syntax/typing.nit:1845,13 text='='
+Read token at ../src/syntax/typing.nit:1845,15--17 text='sig'
+Read token at ../src/syntax/typing.nit:1845,18 text='['
+Read token at ../src/syntax/typing.nit:1845,19 text='i'
+Read token at ../src/syntax/typing.nit:1845,20 text=']'
+Read token at ../src/syntax/typing.nit:1845,21--1846,0 text='
+'
+Read token at ../src/syntax/typing.nit:1846,4 text='v'
+Read token at ../src/syntax/typing.nit:1846,5 text='.'
+Read token at ../src/syntax/typing.nit:1846,6--14 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:1846,15 text='.'
+Read token at ../src/syntax/typing.nit:1846,16--27 text='add_variable'
+Read token at ../src/syntax/typing.nit:1846,28 text='('
+Read token at ../src/syntax/typing.nit:1846,29--30 text='va'
+Read token at ../src/syntax/typing.nit:1846,31 text=')'
+Read token at ../src/syntax/typing.nit:1846,32--1847,0 text='
+'
+Read token at ../src/syntax/typing.nit:1847,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1847,6--1848,0 text='
+'
+Read token at ../src/syntax/typing.nit:1848,1--1849,0 text='
+'
+Read token at ../src/syntax/typing.nit:1849,3--17 text='_accept_typing2'
+Read token at ../src/syntax/typing.nit:1849,19 text='='
+Read token at ../src/syntax/typing.nit:1849,21--24 text='true'
+Read token at ../src/syntax/typing.nit:1849,25--1850,0 text='
+'
+Read token at ../src/syntax/typing.nit:1850,3--15 text='accept_typing'
+Read token at ../src/syntax/typing.nit:1850,16 text='('
+Read token at ../src/syntax/typing.nit:1850,17 text='v'
+Read token at ../src/syntax/typing.nit:1850,18 text=')'
+Read token at ../src/syntax/typing.nit:1850,19--1851,0 text='
+'
+Read token at ../src/syntax/typing.nit:1851,1--1852,0 text='
+'
+Read token at ../src/syntax/typing.nit:1852,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1852,6 text='v'
+Read token at ../src/syntax/typing.nit:1852,7 text='.'
+Read token at ../src/syntax/typing.nit:1852,8--15 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1852,16 text='.'
+Read token at ../src/syntax/typing.nit:1852,17--23 text='unreash'
+Read token at ../src/syntax/typing.nit:1852,25--26 text='=='
+Read token at ../src/syntax/typing.nit:1852,28--32 text='false'
+Read token at ../src/syntax/typing.nit:1852,34--37 text='then'
+Read token at ../src/syntax/typing.nit:1852,38--1853,0 text='
+'
+Read token at ../src/syntax/typing.nit:1853,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1853,7--13 text='closure'
+Read token at ../src/syntax/typing.nit:1853,14 text='.'
+Read token at ../src/syntax/typing.nit:1853,15--23 text='signature'
+Read token at ../src/syntax/typing.nit:1853,24 text='.'
+Read token at ../src/syntax/typing.nit:1853,25--35 text='return_type'
+Read token at ../src/syntax/typing.nit:1853,37--38 text='!='
+Read token at ../src/syntax/typing.nit:1853,40--43 text='null'
+Read token at ../src/syntax/typing.nit:1853,45--48 text='then'
+Read token at ../src/syntax/typing.nit:1853,49--1854,0 text='
+'
+Read token at ../src/syntax/typing.nit:1854,5 text='v'
+Read token at ../src/syntax/typing.nit:1854,6 text='.'
+Read token at ../src/syntax/typing.nit:1854,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1854,12 text='('
+Read token at ../src/syntax/typing.nit:1854,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1854,17 text=','
+Read token at ../src/syntax/typing.nit:1854,19--97 text='"Control error: Reached end of block (a 'continue' with a value was expected)."'
+Read token at ../src/syntax/typing.nit:1854,98 text=')'
+Read token at ../src/syntax/typing.nit:1854,99--1855,0 text='
+'
+Read token at ../src/syntax/typing.nit:1855,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1855,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1855,12--18 text='closure'
+Read token at ../src/syntax/typing.nit:1855,19 text='.'
+Read token at ../src/syntax/typing.nit:1855,20--27 text='is_break'
+Read token at ../src/syntax/typing.nit:1855,29--31 text='and'
+Read token at ../src/syntax/typing.nit:1855,33--35 text='esc'
+Read token at ../src/syntax/typing.nit:1855,36 text='.'
+Read token at ../src/syntax/typing.nit:1855,37--46 text='break_list'
+Read token at ../src/syntax/typing.nit:1855,48--49 text='!='
+Read token at ../src/syntax/typing.nit:1855,51--54 text='null'
+Read token at ../src/syntax/typing.nit:1855,56--59 text='then'
+Read token at ../src/syntax/typing.nit:1855,60--1856,0 text='
+'
+Read token at ../src/syntax/typing.nit:1856,5 text='v'
+Read token at ../src/syntax/typing.nit:1856,6 text='.'
+Read token at ../src/syntax/typing.nit:1856,7--11 text='error'
+Read token at ../src/syntax/typing.nit:1856,12 text='('
+Read token at ../src/syntax/typing.nit:1856,13--16 text='self'
+Read token at ../src/syntax/typing.nit:1856,17 text=','
+Read token at ../src/syntax/typing.nit:1856,19--100 text='"Control error: Reached end of break block (a 'break' with a value was expected)."'
+Read token at ../src/syntax/typing.nit:1856,101 text=')'
+Read token at ../src/syntax/typing.nit:1856,102--1857,0 text='
+'
+Read token at ../src/syntax/typing.nit:1857,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1857,7--1858,0 text='
+'
+Read token at ../src/syntax/typing.nit:1858,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1858,6--1859,0 text='
+'
+Read token at ../src/syntax/typing.nit:1859,3 text='v'
+Read token at ../src/syntax/typing.nit:1859,4 text='.'
+Read token at ../src/syntax/typing.nit:1859,5--12 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1859,14 text='='
+Read token at ../src/syntax/typing.nit:1859,16--27 text='old_flow_ctx'
+Read token at ../src/syntax/typing.nit:1859,28--1860,0 text='
+'
+Read token at ../src/syntax/typing.nit:1860,3 text='v'
+Read token at ../src/syntax/typing.nit:1860,4 text='.'
+Read token at ../src/syntax/typing.nit:1860,5--17 text='base_flow_ctx'
+Read token at ../src/syntax/typing.nit:1860,19 text='='
+Read token at ../src/syntax/typing.nit:1860,21--37 text='old_base_flow_ctx'
+Read token at ../src/syntax/typing.nit:1860,38--1861,0 text='
+'
+Read token at ../src/syntax/typing.nit:1861,3 text='v'
+Read token at ../src/syntax/typing.nit:1861,4 text='.'
+Read token at ../src/syntax/typing.nit:1861,5--13 text='scope_ctx'
+Read token at ../src/syntax/typing.nit:1861,14 text='.'
+Read token at ../src/syntax/typing.nit:1861,15--17 text='pop'
+Read token at ../src/syntax/typing.nit:1861,18--1862,0 text='
+'
+Read token at ../src/syntax/typing.nit:1862,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1862,5--1863,0 text='
+'
+Read token at ../src/syntax/typing.nit:1863,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1863,4--1864,0 text='
+'
+Read token at ../src/syntax/typing.nit:1864,1--1865,0 text='
+'
+Read token at ../src/syntax/typing.nit:1865,1--5 text='class'
+Read token at ../src/syntax/typing.nit:1865,7--20 text='ATypeCheckExpr'
+Read token at ../src/syntax/typing.nit:1865,21--1866,0 text='
+'
+Read token at ../src/syntax/typing.nit:1866,2--6 text='super'
+Read token at ../src/syntax/typing.nit:1866,8--12 text='AExpr'
+Read token at ../src/syntax/typing.nit:1866,13--1867,0 text='
+'
+Read token at ../src/syntax/typing.nit:1867,2--8 text='private'
+Read token at ../src/syntax/typing.nit:1867,10--12 text='fun'
+Read token at ../src/syntax/typing.nit:1867,14--28 text='check_expr_cast'
+Read token at ../src/syntax/typing.nit:1867,29 text='('
+Read token at ../src/syntax/typing.nit:1867,30 text='v'
+Read token at ../src/syntax/typing.nit:1867,31 text=':'
+Read token at ../src/syntax/typing.nit:1867,33--45 text='TypingVisitor'
+Read token at ../src/syntax/typing.nit:1867,46 text=','
+Read token at ../src/syntax/typing.nit:1867,48--53 text='n_expr'
+Read token at ../src/syntax/typing.nit:1867,54 text=':'
+Read token at ../src/syntax/typing.nit:1867,56--60 text='AExpr'
+Read token at ../src/syntax/typing.nit:1867,61 text=','
+Read token at ../src/syntax/typing.nit:1867,63--68 text='n_type'
+Read token at ../src/syntax/typing.nit:1867,69 text=':'
+Read token at ../src/syntax/typing.nit:1867,71--75 text='AType'
+Read token at ../src/syntax/typing.nit:1867,76 text=')'
+Read token at ../src/syntax/typing.nit:1867,77--1868,0 text='
+'
+Read token at ../src/syntax/typing.nit:1868,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1868,4--1869,0 text='
+'
+Read token at ../src/syntax/typing.nit:1869,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1869,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1869,10 text='v'
+Read token at ../src/syntax/typing.nit:1869,11 text='.'
+Read token at ../src/syntax/typing.nit:1869,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:1869,22 text='('
+Read token at ../src/syntax/typing.nit:1869,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:1869,29 text=')'
+Read token at ../src/syntax/typing.nit:1869,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1869,36--41 text='return'
+Read token at ../src/syntax/typing.nit:1869,42--1870,0 text='
+'
+Read token at ../src/syntax/typing.nit:1870,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1870,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1870,10--15 text='n_type'
+Read token at ../src/syntax/typing.nit:1870,16 text='.'
+Read token at ../src/syntax/typing.nit:1870,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1870,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1870,31--36 text='return'
+Read token at ../src/syntax/typing.nit:1870,37--1871,0 text='
+'
+Read token at ../src/syntax/typing.nit:1871,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1871,7--11 text='etype'
+Read token at ../src/syntax/typing.nit:1871,13 text='='
+Read token at ../src/syntax/typing.nit:1871,15--20 text='n_expr'
+Read token at ../src/syntax/typing.nit:1871,21 text='.'
+Read token at ../src/syntax/typing.nit:1871,22--26 text='stype'
+Read token at ../src/syntax/typing.nit:1871,27--1872,0 text='
+'
+Read token at ../src/syntax/typing.nit:1872,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1872,7--11 text='ttype'
+Read token at ../src/syntax/typing.nit:1872,13 text='='
+Read token at ../src/syntax/typing.nit:1872,15--20 text='n_type'
+Read token at ../src/syntax/typing.nit:1872,21 text='.'
+Read token at ../src/syntax/typing.nit:1872,22--26 text='stype'
+Read token at ../src/syntax/typing.nit:1872,27--1873,0 text='
+'
+Read token at ../src/syntax/typing.nit:1873,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1873,6--10 text='etype'
+Read token at ../src/syntax/typing.nit:1873,12--13 text='=='
+Read token at ../src/syntax/typing.nit:1873,15--19 text='ttype'
+Read token at ../src/syntax/typing.nit:1873,21--24 text='then'
+Read token at ../src/syntax/typing.nit:1873,25--1874,0 text='
+'
+Read token at ../src/syntax/typing.nit:1874,4 text='v'
+Read token at ../src/syntax/typing.nit:1874,5 text='.'
+Read token at ../src/syntax/typing.nit:1874,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1874,13 text='('
+Read token at ../src/syntax/typing.nit:1874,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1874,18 text=','
+Read token at ../src/syntax/typing.nit:1874,20--54 text='"Warning: Expression is already a {'
+Read token at ../src/syntax/typing.nit:1874,55--59 text='ttype'
+Read token at ../src/syntax/typing.nit:1874,60--62 text='}."'
+Read token at ../src/syntax/typing.nit:1874,63 text=')'
+Read token at ../src/syntax/typing.nit:1874,64--1875,0 text='
+'
+Read token at ../src/syntax/typing.nit:1875,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1875,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1875,11--15 text='etype'
+Read token at ../src/syntax/typing.nit:1875,17 text='<'
+Read token at ../src/syntax/typing.nit:1875,19--23 text='ttype'
+Read token at ../src/syntax/typing.nit:1875,25--28 text='then'
+Read token at ../src/syntax/typing.nit:1875,29--1876,0 text='
+'
+Read token at ../src/syntax/typing.nit:1876,4 text='v'
+Read token at ../src/syntax/typing.nit:1876,5 text='.'
+Read token at ../src/syntax/typing.nit:1876,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1876,13 text='('
+Read token at ../src/syntax/typing.nit:1876,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1876,18 text=','
+Read token at ../src/syntax/typing.nit:1876,20--54 text='"Warning: Expression is already a {'
+Read token at ../src/syntax/typing.nit:1876,55--59 text='ttype'
+Read token at ../src/syntax/typing.nit:1876,60--76 text='} since it is a {'
+Read token at ../src/syntax/typing.nit:1876,77--81 text='etype'
+Read token at ../src/syntax/typing.nit:1876,82--84 text='}."'
+Read token at ../src/syntax/typing.nit:1876,85 text=')'
+Read token at ../src/syntax/typing.nit:1876,86--1877,0 text='
+'
+Read token at ../src/syntax/typing.nit:1877,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1877,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1877,11--15 text='etype'
+Read token at ../src/syntax/typing.nit:1877,17--19 text='isa'
+Read token at ../src/syntax/typing.nit:1877,21--30 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1877,32--35 text='then'
+Read token at ../src/syntax/typing.nit:1877,36--1878,0 text='
+'
+Read token at ../src/syntax/typing.nit:1878,4--1879,0 text='# ttype is not nullable because of prevous test
+'
+Read token at ../src/syntax/typing.nit:1879,4 text='v'
+Read token at ../src/syntax/typing.nit:1879,5 text='.'
+Read token at ../src/syntax/typing.nit:1879,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1879,13 text='('
+Read token at ../src/syntax/typing.nit:1879,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1879,18 text=','
+Read token at ../src/syntax/typing.nit:1879,20--71 text='"Warning: Expression is null therefore cannot be a {'
+Read token at ../src/syntax/typing.nit:1879,72--76 text='ttype'
+Read token at ../src/syntax/typing.nit:1879,77--79 text='}."'
+Read token at ../src/syntax/typing.nit:1879,80 text=')'
+Read token at ../src/syntax/typing.nit:1879,81--1880,0 text='
+'
+Read token at ../src/syntax/typing.nit:1880,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1880,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1880,11--15 text='etype'
+Read token at ../src/syntax/typing.nit:1880,16 text='.'
+Read token at ../src/syntax/typing.nit:1880,17--27 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1880,29--31 text='and'
+Read token at ../src/syntax/typing.nit:1880,33--37 text='etype'
+Read token at ../src/syntax/typing.nit:1880,38 text='.'
+Read token at ../src/syntax/typing.nit:1880,39--48 text='as_notnull'
+Read token at ../src/syntax/typing.nit:1880,50--51 text='=='
+Read token at ../src/syntax/typing.nit:1880,53--57 text='ttype'
+Read token at ../src/syntax/typing.nit:1880,59--62 text='then'
+Read token at ../src/syntax/typing.nit:1880,63--1881,0 text='
+'
+Read token at ../src/syntax/typing.nit:1881,4--5 text='if'
+Read token at ../src/syntax/typing.nit:1881,7--11 text='ttype'
+Read token at ../src/syntax/typing.nit:1881,13--15 text='isa'
+Read token at ../src/syntax/typing.nit:1881,17--28 text='MMTypeFormal'
+Read token at ../src/syntax/typing.nit:1881,30--32 text='and'
+Read token at ../src/syntax/typing.nit:1881,34--38 text='ttype'
+Read token at ../src/syntax/typing.nit:1881,39 text='.'
+Read token at ../src/syntax/typing.nit:1881,40--44 text='bound'
+Read token at ../src/syntax/typing.nit:1881,45 text='.'
+Read token at ../src/syntax/typing.nit:1881,46--56 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1881,58--61 text='then'
+Read token at ../src/syntax/typing.nit:1881,62--1882,0 text='
+'
+Read token at ../src/syntax/typing.nit:1882,5--1883,0 text='# No warning in this case since with
+'
+Read token at ../src/syntax/typing.nit:1883,5--1884,0 text='#   type T: nullable A
+'
+Read token at ../src/syntax/typing.nit:1884,5--1885,0 text='#   var x: nullable T
+'
+Read token at ../src/syntax/typing.nit:1885,5--1886,0 text='# 'x.as(not null)' != 'x.as(T)'
+'
+Read token at ../src/syntax/typing.nit:1886,5--1887,0 text='# 'x != null' != 'x isa T'
+'
+Read token at ../src/syntax/typing.nit:1887,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1887,9--10 text='if'
+Read token at ../src/syntax/typing.nit:1887,12--15 text='self'
+Read token at ../src/syntax/typing.nit:1887,17--19 text='isa'
+Read token at ../src/syntax/typing.nit:1887,21--28 text='AIsaExpr'
+Read token at ../src/syntax/typing.nit:1887,30--33 text='then'
+Read token at ../src/syntax/typing.nit:1887,34--1888,0 text='
+'
+Read token at ../src/syntax/typing.nit:1888,5 text='v'
+Read token at ../src/syntax/typing.nit:1888,6 text='.'
+Read token at ../src/syntax/typing.nit:1888,7--13 text='warning'
+Read token at ../src/syntax/typing.nit:1888,14 text='('
+Read token at ../src/syntax/typing.nit:1888,15--18 text='self'
+Read token at ../src/syntax/typing.nit:1888,19 text=','
+Read token at ../src/syntax/typing.nit:1888,21--48 text='"Warning: Prefer '!= null'."'
+Read token at ../src/syntax/typing.nit:1888,49 text=')'
+Read token at ../src/syntax/typing.nit:1888,50--1889,0 text='
+'
+Read token at ../src/syntax/typing.nit:1889,4--7 text='else'
+Read token at ../src/syntax/typing.nit:1889,8--1890,0 text='
+'
+Read token at ../src/syntax/typing.nit:1890,5 text='v'
+Read token at ../src/syntax/typing.nit:1890,6 text='.'
+Read token at ../src/syntax/typing.nit:1890,7--13 text='warning'
+Read token at ../src/syntax/typing.nit:1890,14 text='('
+Read token at ../src/syntax/typing.nit:1890,15--18 text='self'
+Read token at ../src/syntax/typing.nit:1890,19 text=','
+Read token at ../src/syntax/typing.nit:1890,21--54 text='"Warning: Prefer '.as(not null)'."'
+Read token at ../src/syntax/typing.nit:1890,55 text=')'
+Read token at ../src/syntax/typing.nit:1890,56--1891,0 text='
+'
+Read token at ../src/syntax/typing.nit:1891,4--6 text='end'
+Read token at ../src/syntax/typing.nit:1891,7--1892,0 text='
+'
+Read token at ../src/syntax/typing.nit:1892,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1892,6--1893,0 text='
+'
+Read token at ../src/syntax/typing.nit:1893,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1893,5--1894,0 text='
+'
+Read token at ../src/syntax/typing.nit:1894,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1894,4--1895,0 text='
+'
+Read token at ../src/syntax/typing.nit:1895,1--1896,0 text='
+'
+Read token at ../src/syntax/typing.nit:1896,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1896,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1896,13--20 text='AIsaExpr'
+Read token at ../src/syntax/typing.nit:1896,21--1897,0 text='
+'
+Read token at ../src/syntax/typing.nit:1897,2--6 text='super'
+Read token at ../src/syntax/typing.nit:1897,8--21 text='ATypeCheckExpr'
+Read token at ../src/syntax/typing.nit:1897,22--1898,0 text='
+'
+Read token at ../src/syntax/typing.nit:1898,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1898,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1898,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1898,24 text='('
+Read token at ../src/syntax/typing.nit:1898,25 text='v'
+Read token at ../src/syntax/typing.nit:1898,26 text=')'
+Read token at ../src/syntax/typing.nit:1898,27--1899,0 text='
+'
+Read token at ../src/syntax/typing.nit:1899,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1899,4--1900,0 text='
+'
+Read token at ../src/syntax/typing.nit:1900,3--17 text='check_expr_cast'
+Read token at ../src/syntax/typing.nit:1900,18 text='('
+Read token at ../src/syntax/typing.nit:1900,19 text='v'
+Read token at ../src/syntax/typing.nit:1900,20 text=','
+Read token at ../src/syntax/typing.nit:1900,22--27 text='n_expr'
+Read token at ../src/syntax/typing.nit:1900,28 text=','
+Read token at ../src/syntax/typing.nit:1900,30--35 text='n_type'
+Read token at ../src/syntax/typing.nit:1900,36 text=')'
+Read token at ../src/syntax/typing.nit:1900,37--1901,0 text='
+'
+Read token at ../src/syntax/typing.nit:1901,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1901,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1901,10--15 text='n_type'
+Read token at ../src/syntax/typing.nit:1901,16 text='.'
+Read token at ../src/syntax/typing.nit:1901,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1901,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1901,31--36 text='return'
+Read token at ../src/syntax/typing.nit:1901,37--1902,0 text='
+'
+Read token at ../src/syntax/typing.nit:1902,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1902,7--14 text='variable'
+Read token at ../src/syntax/typing.nit:1902,16 text='='
+Read token at ../src/syntax/typing.nit:1902,18--23 text='n_expr'
+Read token at ../src/syntax/typing.nit:1902,24 text='.'
+Read token at ../src/syntax/typing.nit:1902,25--36 text='its_variable'
+Read token at ../src/syntax/typing.nit:1902,37--1903,0 text='
+'
+Read token at ../src/syntax/typing.nit:1903,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1903,6--13 text='variable'
+Read token at ../src/syntax/typing.nit:1903,15--16 text='!='
+Read token at ../src/syntax/typing.nit:1903,18--21 text='null'
+Read token at ../src/syntax/typing.nit:1903,23--26 text='then'
+Read token at ../src/syntax/typing.nit:1903,27--1904,0 text='
+'
+Read token at ../src/syntax/typing.nit:1904,4--20 text='_if_true_flow_ctx'
+Read token at ../src/syntax/typing.nit:1904,22 text='='
+Read token at ../src/syntax/typing.nit:1904,24 text='v'
+Read token at ../src/syntax/typing.nit:1904,25 text='.'
+Read token at ../src/syntax/typing.nit:1904,26--33 text='flow_ctx'
+Read token at ../src/syntax/typing.nit:1904,34 text='.'
+Read token at ../src/syntax/typing.nit:1904,35--42 text='sub_with'
+Read token at ../src/syntax/typing.nit:1904,43 text='('
+Read token at ../src/syntax/typing.nit:1904,44--47 text='self'
+Read token at ../src/syntax/typing.nit:1904,48 text=','
+Read token at ../src/syntax/typing.nit:1904,50--57 text='variable'
+Read token at ../src/syntax/typing.nit:1904,58 text=','
+Read token at ../src/syntax/typing.nit:1904,60--65 text='n_type'
+Read token at ../src/syntax/typing.nit:1904,66 text='.'
+Read token at ../src/syntax/typing.nit:1904,67--71 text='stype'
+Read token at ../src/syntax/typing.nit:1904,72 text=')'
+Read token at ../src/syntax/typing.nit:1904,73--1905,0 text='
+'
+Read token at ../src/syntax/typing.nit:1905,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1905,6--1906,0 text='
+'
+Read token at ../src/syntax/typing.nit:1906,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1906,10 text='='
+Read token at ../src/syntax/typing.nit:1906,12 text='v'
+Read token at ../src/syntax/typing.nit:1906,13 text='.'
+Read token at ../src/syntax/typing.nit:1906,14--22 text='type_bool'
+Read token at ../src/syntax/typing.nit:1906,23--1907,0 text='
+'
+Read token at ../src/syntax/typing.nit:1907,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1907,13 text='='
+Read token at ../src/syntax/typing.nit:1907,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1907,19--1908,0 text='
+'
+Read token at ../src/syntax/typing.nit:1908,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1908,5--1909,0 text='
+'
+Read token at ../src/syntax/typing.nit:1909,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1909,4--1910,0 text='
+'
+Read token at ../src/syntax/typing.nit:1910,1--1911,0 text='
+'
+Read token at ../src/syntax/typing.nit:1911,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1911,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1911,13--23 text='AAsCastExpr'
+Read token at ../src/syntax/typing.nit:1911,24--1912,0 text='
+'
+Read token at ../src/syntax/typing.nit:1912,2--6 text='super'
+Read token at ../src/syntax/typing.nit:1912,8--21 text='ATypeCheckExpr'
+Read token at ../src/syntax/typing.nit:1912,22--1913,0 text='
+'
+Read token at ../src/syntax/typing.nit:1913,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1913,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1913,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1913,24 text='('
+Read token at ../src/syntax/typing.nit:1913,25 text='v'
+Read token at ../src/syntax/typing.nit:1913,26 text=')'
+Read token at ../src/syntax/typing.nit:1913,27--1914,0 text='
+'
+Read token at ../src/syntax/typing.nit:1914,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1914,4--1915,0 text='
+'
+Read token at ../src/syntax/typing.nit:1915,3--17 text='check_expr_cast'
+Read token at ../src/syntax/typing.nit:1915,18 text='('
+Read token at ../src/syntax/typing.nit:1915,19 text='v'
+Read token at ../src/syntax/typing.nit:1915,20 text=','
+Read token at ../src/syntax/typing.nit:1915,22--27 text='n_expr'
+Read token at ../src/syntax/typing.nit:1915,28 text=','
+Read token at ../src/syntax/typing.nit:1915,30--35 text='n_type'
+Read token at ../src/syntax/typing.nit:1915,36 text=')'
+Read token at ../src/syntax/typing.nit:1915,37--1916,0 text='
+'
+Read token at ../src/syntax/typing.nit:1916,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1916,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1916,10--15 text='n_type'
+Read token at ../src/syntax/typing.nit:1916,16 text='.'
+Read token at ../src/syntax/typing.nit:1916,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1916,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1916,31--36 text='return'
+Read token at ../src/syntax/typing.nit:1916,37--1917,0 text='
+'
+Read token at ../src/syntax/typing.nit:1917,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1917,10 text='='
+Read token at ../src/syntax/typing.nit:1917,12--17 text='n_type'
+Read token at ../src/syntax/typing.nit:1917,18 text='.'
+Read token at ../src/syntax/typing.nit:1917,19--23 text='stype'
+Read token at ../src/syntax/typing.nit:1917,24--1918,0 text='
+'
+Read token at ../src/syntax/typing.nit:1918,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1918,13 text='='
+Read token at ../src/syntax/typing.nit:1918,15--20 text='_stype'
+Read token at ../src/syntax/typing.nit:1918,22--23 text='!='
+Read token at ../src/syntax/typing.nit:1918,25--28 text='null'
+Read token at ../src/syntax/typing.nit:1918,29--1919,0 text='
+'
+Read token at ../src/syntax/typing.nit:1919,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1919,5--1920,0 text='
+'
+Read token at ../src/syntax/typing.nit:1920,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1920,4--1921,0 text='
+'
+Read token at ../src/syntax/typing.nit:1921,1--1922,0 text='
+'
+Read token at ../src/syntax/typing.nit:1922,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1922,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1922,13--26 text='AAsNotnullExpr'
+Read token at ../src/syntax/typing.nit:1922,27--1923,0 text='
+'
+Read token at ../src/syntax/typing.nit:1923,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1923,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1923,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1923,24 text='('
+Read token at ../src/syntax/typing.nit:1923,25 text='v'
+Read token at ../src/syntax/typing.nit:1923,26 text=')'
+Read token at ../src/syntax/typing.nit:1923,27--1924,0 text='
+'
+Read token at ../src/syntax/typing.nit:1924,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1924,4--1925,0 text='
+'
+Read token at ../src/syntax/typing.nit:1925,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1925,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1925,10 text='v'
+Read token at ../src/syntax/typing.nit:1925,11 text='.'
+Read token at ../src/syntax/typing.nit:1925,12--21 text='check_expr'
+Read token at ../src/syntax/typing.nit:1925,22 text='('
+Read token at ../src/syntax/typing.nit:1925,23--28 text='n_expr'
+Read token at ../src/syntax/typing.nit:1925,29 text=')'
+Read token at ../src/syntax/typing.nit:1925,31--34 text='then'
+Read token at ../src/syntax/typing.nit:1925,36--41 text='return'
+Read token at ../src/syntax/typing.nit:1925,42--1926,0 text='
+'
+Read token at ../src/syntax/typing.nit:1926,3--5 text='var'
+Read token at ../src/syntax/typing.nit:1926,7 text='t'
+Read token at ../src/syntax/typing.nit:1926,9 text='='
+Read token at ../src/syntax/typing.nit:1926,11--16 text='n_expr'
+Read token at ../src/syntax/typing.nit:1926,17 text='.'
+Read token at ../src/syntax/typing.nit:1926,18--22 text='stype'
+Read token at ../src/syntax/typing.nit:1926,23--1927,0 text='
+'
+Read token at ../src/syntax/typing.nit:1927,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1927,6 text='t'
+Read token at ../src/syntax/typing.nit:1927,8--10 text='isa'
+Read token at ../src/syntax/typing.nit:1927,12--21 text='MMTypeNone'
+Read token at ../src/syntax/typing.nit:1927,23--26 text='then'
+Read token at ../src/syntax/typing.nit:1927,27--1928,0 text='
+'
+Read token at ../src/syntax/typing.nit:1928,4 text='v'
+Read token at ../src/syntax/typing.nit:1928,5 text='.'
+Read token at ../src/syntax/typing.nit:1928,6--10 text='error'
+Read token at ../src/syntax/typing.nit:1928,11 text='('
+Read token at ../src/syntax/typing.nit:1928,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:1928,18 text=','
+Read token at ../src/syntax/typing.nit:1928,20--64 text='"Type error: 'as(not null)' on 'null' value."'
+Read token at ../src/syntax/typing.nit:1928,65 text=')'
+Read token at ../src/syntax/typing.nit:1928,66--1929,0 text='
+'
+Read token at ../src/syntax/typing.nit:1929,4--9 text='return'
+Read token at ../src/syntax/typing.nit:1929,10--1930,0 text='
+'
+Read token at ../src/syntax/typing.nit:1930,3--6 text='else'
+Read token at ../src/syntax/typing.nit:1930,8--9 text='if'
+Read token at ../src/syntax/typing.nit:1930,11--13 text='not'
+Read token at ../src/syntax/typing.nit:1930,15 text='t'
+Read token at ../src/syntax/typing.nit:1930,16 text='.'
+Read token at ../src/syntax/typing.nit:1930,17--27 text='is_nullable'
+Read token at ../src/syntax/typing.nit:1930,29--32 text='then'
+Read token at ../src/syntax/typing.nit:1930,33--1931,0 text='
+'
+Read token at ../src/syntax/typing.nit:1931,4 text='v'
+Read token at ../src/syntax/typing.nit:1931,5 text='.'
+Read token at ../src/syntax/typing.nit:1931,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1931,13 text='('
+Read token at ../src/syntax/typing.nit:1931,14--19 text='n_expr'
+Read token at ../src/syntax/typing.nit:1931,20 text=','
+Read token at ../src/syntax/typing.nit:1931,22--68 text='"Warning: 'as(not null)' on non nullable type."'
+Read token at ../src/syntax/typing.nit:1931,69 text=')'
+Read token at ../src/syntax/typing.nit:1931,70--1932,0 text='
+'
+Read token at ../src/syntax/typing.nit:1932,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1932,6--1933,0 text='
+'
+Read token at ../src/syntax/typing.nit:1933,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1933,10 text='='
+Read token at ../src/syntax/typing.nit:1933,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:1933,18 text='.'
+Read token at ../src/syntax/typing.nit:1933,19--23 text='stype'
+Read token at ../src/syntax/typing.nit:1933,24 text='.'
+Read token at ../src/syntax/typing.nit:1933,25--34 text='as_notnull'
+Read token at ../src/syntax/typing.nit:1933,35--1934,0 text='
+'
+Read token at ../src/syntax/typing.nit:1934,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1934,13 text='='
+Read token at ../src/syntax/typing.nit:1934,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1934,19--1935,0 text='
+'
+Read token at ../src/syntax/typing.nit:1935,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1935,5--1936,0 text='
+'
+Read token at ../src/syntax/typing.nit:1936,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1936,4--1937,0 text='
+'
+Read token at ../src/syntax/typing.nit:1937,1--1938,0 text='
+'
+Read token at ../src/syntax/typing.nit:1938,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1938,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1938,13--22 text='AProxyExpr'
+Read token at ../src/syntax/typing.nit:1938,23--1939,0 text='
+'
+Read token at ../src/syntax/typing.nit:1939,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1939,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1939,12--23 text='after_typing'
+Read token at ../src/syntax/typing.nit:1939,24 text='('
+Read token at ../src/syntax/typing.nit:1939,25 text='v'
+Read token at ../src/syntax/typing.nit:1939,26 text=')'
+Read token at ../src/syntax/typing.nit:1939,27--1940,0 text='
+'
+Read token at ../src/syntax/typing.nit:1940,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1940,4--1941,0 text='
+'
+Read token at ../src/syntax/typing.nit:1941,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1941,6--8 text='not'
+Read token at ../src/syntax/typing.nit:1941,10--15 text='n_expr'
+Read token at ../src/syntax/typing.nit:1941,16 text='.'
+Read token at ../src/syntax/typing.nit:1941,17--24 text='is_typed'
+Read token at ../src/syntax/typing.nit:1941,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1941,31--36 text='return'
+Read token at ../src/syntax/typing.nit:1941,37--1942,0 text='
+'
+Read token at ../src/syntax/typing.nit:1942,3--11 text='_is_typed'
+Read token at ../src/syntax/typing.nit:1942,13 text='='
+Read token at ../src/syntax/typing.nit:1942,15--18 text='true'
+Read token at ../src/syntax/typing.nit:1942,19--1943,0 text='
+'
+Read token at ../src/syntax/typing.nit:1943,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1943,6--11 text='n_expr'
+Read token at ../src/syntax/typing.nit:1943,12 text='.'
+Read token at ../src/syntax/typing.nit:1943,13--24 text='is_statement'
+Read token at ../src/syntax/typing.nit:1943,26--29 text='then'
+Read token at ../src/syntax/typing.nit:1943,31--36 text='return'
+Read token at ../src/syntax/typing.nit:1943,37--1944,0 text='
+'
+Read token at ../src/syntax/typing.nit:1944,3--8 text='_stype'
+Read token at ../src/syntax/typing.nit:1944,10 text='='
+Read token at ../src/syntax/typing.nit:1944,12--17 text='n_expr'
+Read token at ../src/syntax/typing.nit:1944,18 text='.'
+Read token at ../src/syntax/typing.nit:1944,19--23 text='stype'
+Read token at ../src/syntax/typing.nit:1944,24--1945,0 text='
+'
+Read token at ../src/syntax/typing.nit:1945,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1945,5--1946,0 text='
+'
+Read token at ../src/syntax/typing.nit:1946,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1946,4--1947,0 text='
+'
+Read token at ../src/syntax/typing.nit:1947,1--1948,0 text='
+'
+Read token at ../src/syntax/typing.nit:1948,1--5 text='redef'
+Read token at ../src/syntax/typing.nit:1948,7--11 text='class'
+Read token at ../src/syntax/typing.nit:1948,13--21 text='AOnceExpr'
+Read token at ../src/syntax/typing.nit:1948,22--1949,0 text='
+'
+Read token at ../src/syntax/typing.nit:1949,2--6 text='redef'
+Read token at ../src/syntax/typing.nit:1949,8--10 text='fun'
+Read token at ../src/syntax/typing.nit:1949,12--24 text='accept_typing'
+Read token at ../src/syntax/typing.nit:1949,25 text='('
+Read token at ../src/syntax/typing.nit:1949,26 text='v'
+Read token at ../src/syntax/typing.nit:1949,27 text=')'
+Read token at ../src/syntax/typing.nit:1949,28--1950,0 text='
+'
+Read token at ../src/syntax/typing.nit:1950,2--3 text='do'
+Read token at ../src/syntax/typing.nit:1950,4--1951,0 text='
+'
+Read token at ../src/syntax/typing.nit:1951,3--4 text='if'
+Read token at ../src/syntax/typing.nit:1951,6 text='v'
+Read token at ../src/syntax/typing.nit:1951,7 text='.'
+Read token at ../src/syntax/typing.nit:1951,8--17 text='once_count'
+Read token at ../src/syntax/typing.nit:1951,19 text='>'
+Read token at ../src/syntax/typing.nit:1951,21 text='0'
+Read token at ../src/syntax/typing.nit:1951,23--26 text='then'
+Read token at ../src/syntax/typing.nit:1951,27--1952,0 text='
+'
+Read token at ../src/syntax/typing.nit:1952,4 text='v'
+Read token at ../src/syntax/typing.nit:1952,5 text='.'
+Read token at ../src/syntax/typing.nit:1952,6--12 text='warning'
+Read token at ../src/syntax/typing.nit:1952,13 text='('
+Read token at ../src/syntax/typing.nit:1952,14--17 text='self'
+Read token at ../src/syntax/typing.nit:1952,18 text=','
+Read token at ../src/syntax/typing.nit:1952,20--55 text='"Useless once in a once expression."'
+Read token at ../src/syntax/typing.nit:1952,56 text=')'
+Read token at ../src/syntax/typing.nit:1952,57--1953,0 text='
+'
+Read token at ../src/syntax/typing.nit:1953,3--5 text='end'
+Read token at ../src/syntax/typing.nit:1953,6--1954,0 text='
+'
+Read token at ../src/syntax/typing.nit:1954,3 text='v'
+Read token at ../src/syntax/typing.nit:1954,4 text='.'
+Read token at ../src/syntax/typing.nit:1954,5--14 text='once_count'
+Read token at ../src/syntax/typing.nit:1954,16 text='='
+Read token at ../src/syntax/typing.nit:1954,18 text='v'
+Read token at ../src/syntax/typing.nit:1954,19 text='.'
+Read token at ../src/syntax/typing.nit:1954,20--29 text='once_count'
+Read token at ../src/syntax/typing.nit:1954,31 text='+'
+Read token at ../src/syntax/typing.nit:1954,33 text='1'
+Read token at ../src/syntax/typing.nit:1954,34--1955,0 text='
+'
+Read token at ../src/syntax/typing.nit:1955,1--1956,0 text='
+'
+Read token at ../src/syntax/typing.nit:1956,3--7 text='super'
+Read token at ../src/syntax/typing.nit:1956,8--1957,0 text='
+'
+Read token at ../src/syntax/typing.nit:1957,1--1958,0 text='
+'
+Read token at ../src/syntax/typing.nit:1958,3 text='v'
+Read token at ../src/syntax/typing.nit:1958,4 text='.'
+Read token at ../src/syntax/typing.nit:1958,5--14 text='once_count'
+Read token at ../src/syntax/typing.nit:1958,16 text='='
+Read token at ../src/syntax/typing.nit:1958,18 text='v'
+Read token at ../src/syntax/typing.nit:1958,19 text='.'
+Read token at ../src/syntax/typing.nit:1958,20--29 text='once_count'
+Read token at ../src/syntax/typing.nit:1958,31 text='-'
+Read token at ../src/syntax/typing.nit:1958,33 text='1'
+Read token at ../src/syntax/typing.nit:1958,34--1959,0 text='
+'
+Read token at ../src/syntax/typing.nit:1959,2--4 text='end'
+Read token at ../src/syntax/typing.nit:1959,5--1960,0 text='
+'
+Read token at ../src/syntax/typing.nit:1960,1--3 text='end'
+Read token at ../src/syntax/typing.nit:1960,4--1961,0 text='
+'
+Read token at ../src/syntax/typing.nit:1961,1--1962,0 text='
+'
diff --git a/tests/test_parser.args b/tests/test_parser.args
new file mode 100644 (file)
index 0000000..53a1827
--- /dev/null
@@ -0,0 +1,2 @@
+../src/syntax/typing.nit
+-l ../src/syntax/typing.nit
index 9a13498..47b6ec1 100644 (file)
@@ -19,7 +19,7 @@ class A
        type U: B
        fun foo(a: T) do a.out
        fun bar(b: U) do b.out
-       fun baz(i: Int) do i.out
+       fun baz(i: C) do i.out
        fun out do 'A'.output
 
        init do end
@@ -28,37 +28,37 @@ end
 class B
        super A
        redef type T: B
-       redef type U: Int
+       redef type U: C
        redef fun foo(a: T) do a.out
        redef fun bar(b: U) do b.out
-       redef fun baz(i: Int) do i.out
+       redef fun baz(i: C) do i.out
        redef fun out do 'B'.output
 
        init do end
 end
 
-redef class Int
+class C
        super B
-       redef type T: Int
+       redef type T: C
        redef fun foo(a: T) do a.out
        redef fun bar(b: U) do b.out
-       redef fun output is intern
+       redef fun output do i.output
        redef fun out
        do
                var i: Object = self
-               if i isa Int then
+               if i isa C then
                        i.output
                else
                        'X'.output
                end
        end
-
+       var i: Int
+       init (i:Int) do self.i = i
 end
-
 var a = new A
 var b = new B
 var ab: A = b
-var i = 5
+var i = new C(5)
 var ai: A = i
 var bi: B = i
 
index 5e19834..107a202 100644 (file)
@@ -25,9 +25,9 @@ class A
            return new B 
     end
     
-    fun baz: Int 
+    fun baz: C
     do 
-           return 5 
+           return new C(5)
     end
     
     redef fun output 
@@ -44,13 +44,13 @@ class B
     do 
            return new B 
     end
-    redef fun bar: Int 
+    redef fun bar: C
     do 
-           return 6 
+           return new C(6)
     end
-    redef fun baz: Int 
+    redef fun baz: C 
     do 
-           return 7 
+           return new C(7)
     end
     redef fun output 
     do 
@@ -59,24 +59,24 @@ class B
 
     init do end
 end
-
-redef class Int
+class C
        super B
-    redef fun foo: Int 
+    redef fun foo: C
     do 
-           return 8 
+           return new C(8) 
     end
-    redef fun bar: Int 
+    redef fun bar: C 
     do
-           return 9
+           return new C(9)
     end
-    redef fun output is intern
+    redef fun output do i.output
+    var i: Int
+    init (i: Int) do self.i = i
 end
-
 var a = new A
 var b = new B
 var ab: A = b
-var i = 5
+var i = new C(5)
 var ai: A = i
 var bi: B = i
 
index 2dfc5e8..02ae121 100755 (executable)
@@ -89,6 +89,42 @@ find_nitc()
        NITC=$recent
 }
 
+make_alts0()
+{
+       ii="$1"
+       xalt="$2"
+       fs=""
+       for alt in `sed -n "s/.*#!*\($xalt[0-9]*\)#.*/\1/p" "$ii" | sort -u`; do
+               f=`basename "$ii" .nit`
+               d=`dirname "$ii"`
+               ff="$f"
+               i="$ii"
+
+               if [ "x$alt" != "x" ]; then
+                       test -d alt || mkdir -p alt
+                       i="alt/${f}_$alt.nit"
+                       ff="${ff}_$alt"
+                       sed "s/#$alt#//g;/#!$alt#/d" "$ii" > "$i"
+               fi
+               ff="$ff$MARK"
+               fs="$fs $i"
+       done
+       echo "$fs"
+}
+make_alts()
+{
+       ii="$1"
+       fs="$1"
+       for xalt in `sed -n 's/.*#!*\([0-9]*alt\)[0-9]*#.*/\1/p' "$ii" | sort -u`; do
+               fs2=""
+               for f in $fs; do
+                       fs2="$fs2 `make_alts0 $f $xalt`"
+               done
+               fs="$fs $fs2"
+       done
+       echo "$fs"
+}
+
 # The default nitc compiler
 [ -z "$NITC" ] && find_nitc
 
@@ -127,6 +163,7 @@ fi
 ok=""
 nok=""
 
+
 for ii in "$@"; do
        if [ ! -f $ii ]; then
                echo "File '$ii' does not exist."
@@ -135,37 +172,24 @@ for ii in "$@"; do
 
        tmp=${ii/../AA}
        if [ "x$tmp" = "x$ii" ]; then
-               oincludes="-I . -I ../lib/standard -I ../lib/standard/collection"
+               includes="-I . -I ../lib/standard -I ../lib/standard/collection -I alt"
        else
-               oincludes=""
+               includes="-I alt"
        fi
 
-       for alt in "" `sed -n 's/.*#!*\(alt[0-9]*\)#.*/\1/p' "$ii" | sort -u`; do
-               f=`basename "$ii" .nit`
-               d=`dirname "$ii"`
-               ff="$f"
-               i="$ii"
-               includes="$oincludes"
-
-               if [ "x$alt" != "x" ]; then
-                       test -d alt || mkdir -p alt
-                       i="alt/${f}_$alt.nit"
-                       ff="${ff}_$alt"
-                       sed "s/#$alt#//g;/#!$alt#/d" "$ii" > "$i"
-                       includes="$includes -I alt"
-               fi
-               ff="$ff$MARK"
-
-               echo -n "=> $i: "
+       f=`basename "$ii" .nit`
+       for i in `make_alts $ii`; do
+               ff=`basename $i .nit`
+               echo -n "=> $ff: "
 
                rm -rf "$ff.res" "$ff.err" "$ff.write" "$ff.bin" 2> /dev/null
 
                # Compile
                if [ "x$verbose" = "xtrue" ]; then
                        echo ""
-                       echo $NITC $OPT -o "$ff.bin" "$i" "$includes"
+                       echo $NITC --no-color $OPT -o "$ff.bin" "$i" "$includes"
                fi
-               $NITC $OPT -o "$ff.bin" "$i" $includes 2> "$ff.cmp.err" > "$ff.compile.log"
+               $NITC --no-color $OPT -o "$ff.bin" "$i" $includes 2> "$ff.cmp.err" > "$ff.compile.log"
                ERR=$?
                if [ "x$verbose" = "xtrue" ]; then
                        cat "$ff.compile.log"