syntax: if_false_variable_ctx
authorJean Privat <jean@pryen.org>
Mon, 22 Jun 2009 16:07:50 +0000 (12:07 -0400)
committerJean Privat <jean@pryen.org>
Wed, 24 Jun 2009 19:47:49 +0000 (15:47 -0400)
commit60feadd7fc3ea18e3b3de99c20364b8f47c81574
treeaec996c099863d0cbdc63329bb8b3e13a3816d6d
parente506c2eab17b42be98392042a30e0477d5660779
syntax: if_false_variable_ctx

Allow casts to be propagated in 'else' branches

Example:
  if not a isa B then
    a.only_b_can_do # Static error
  else
    a.only_b_can_do # OK since current static type of a is B here
  end

Signed-off-by: Jean Privat <jean@pryen.org>
src/syntax/typing.nit
tests/base_isa_cast3.nit [new file with mode: 0644]
tests/sav/base_isa_cast3.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt1.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt2.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt3.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt4.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt5.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt6.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt7.sav [new file with mode: 0644]
tests/sav/base_isa_cast3_alt8.sav [new file with mode: 0644]