Prevent statements to be used as expressions.
authorJean Privat <jean@pryen.org>
Tue, 20 Jan 2009 18:10:46 +0000 (13:10 -0500)
committerJean Privat <jean@pryen.org>
Tue, 20 Jan 2009 18:10:46 +0000 (13:10 -0500)
commitd15d2ca3b4c193515c5f1e68cb66d2cfb6228190
treed48582a27415775ae0df3c77867cd4b161f143ae
parentdec7f992e2ac53070faaf3b175360d8e30c38305
Prevent statements to be used as expressions.
Add two method check_expr and check_conform_expr that check if an
PExpr is a real expression (not a statement) and its conformity.

Update existing tests to match the possibly updated error message.
Add a new test, base_meth_call, to detect some 'stmt as expr' errors.
31 files changed:
src/syntax/syntax_base.nit
src/syntax/typing.nit
tests/base_meth_call.nit [new file with mode: 0644]
tests/sav/base_array_alt1.sav
tests/sav/base_gen_alt1.sav
tests/sav/base_gen_int_alt1.sav
tests/sav/base_meth_call.sav [new file with mode: 0644]
tests/sav/base_meth_call_alt1.sav [new file with mode: 0644]
tests/sav/base_meth_call_alt2.sav [new file with mode: 0644]
tests/sav/base_meth_call_alt3.sav [new file with mode: 0644]
tests/sav/base_meth_call_alt4.sav [new file with mode: 0644]
tests/sav/base_virtual_type2_alt1.sav
tests/sav/base_virtual_type3_alt1.sav
tests/sav/base_virtual_type4_alt1.sav
tests/sav/base_virtual_type5_alt1.sav
tests/sav/base_virtual_type5_alt2.sav
tests/sav/base_virtual_type_alt1.sav
tests/sav/base_virtual_type_alt2.sav
tests/sav/base_virtual_type_alt3.sav
tests/sav/error_array_ambig.sav
tests/sav/error_attr_assign.sav
tests/sav/error_decl_type_var.sav
tests/sav/error_for_coll.sav
tests/sav/error_if_bool.sav
tests/sav/error_left_bool.sav
tests/sav/error_loop_bool_while.sav
tests/sav/error_ret_type.sav
tests/sav/error_right_bool.sav
tests/sav/error_star_type.sav
tests/sav/error_var_assign.sav
tests/sav/test_combined_assignment_alt1.sav