typing: new class CallSite

This class is used to combine information on a specific call site.

Signed-off-by: Jean Privat <jean@pryen.org>
typing: attach CallSite instances to AST nodes

Instead of having some partial information, just attach the whole thing.
Previous partial information is tagged @depreciated

Signed-off-by: Jean Privat <jean@pryen.org>
nitg: add v.compile_callsite to generate the send associated to a CallSite instances

The point of this method is to extends the CallSite concept
to the compiler.

A future commit will redefine compile_callsite method to add erasure-casts.

Signed-off-by: Jean Privat <jean@pryen.org>
typing: add CallSite::erasure_cast to indicate if a cast may be required

Signed-off-by: Jean Privat <jean@pryen.org>
nitg-e: implements erasure-cast

Signed-off-by: Jean Privat <jean@pryen.org>
nitg-e: add option --no-check-erasure-cast to disable erasure-casts

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add base_attr_boxing.nit

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add base_virtual_type_variance.nit

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add test_array_formal.nit

Signed-off-by: Jean Privat <jean@pryen.org>
Merge remote-tracking branch 'alexandre/master'
Merge remote-tracking branch 'github-privat/master'
Merge remote-tracking branch 'alexandre/master'
nitg-s&e: compile module in local knowledge

Signed-off-by: Jean Privat <jean@pryen.org>
bench: factorize some benchs

Signed-off-by: Jean Privat <jean@pryen.org>
benchs: add nitg-s to benchs

Signed-off-by: Jean Privat <jean@pryen.org>
nitg-e: make HASH a macro, not a function

Signed-off-by: Jean Privat <jean@pryen.org>
nitg-s&e: store class_names directly in the type/class structures

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add a timeout limit to avoid blocked programs

Signed-off-by: Jean Privat <jean@pryen.org>
tests: base_gen_reassign.nit

This test basically fails on every engine :(
So no sav/ files for the moment.

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add bench_bintree_gen

Signed-off-by: Jean Privat <jean@pryen.org>