kernel: use legacy FFI for `address_is_null`

The point is to sill allow the bootstrap with a minimal engine.

Signed-off-by: Jean Privat <jean@pryen.org>
typing: AArrayExpr provides callsites

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

It needs to be rewrote

Signed-off-by: Jean Privat <jean@pryen.org>
astbuilder: `make_new` and `make_call` require a CallSite

a callsite has a lot more information that was previously lost.

Signed-off-by: Jean Privat <jean@pryen.org>
bootstrap: add the missing step `nitg_0`

The compiler in c_src might produce code that does not understand
new phases, annotation or whatever ; or that is just broken outside
the bootstrap.

Thus, an additional phase is used to produce the usable compiler in bin

Signed-off-by: Jean Privat <jean@pryen.org>
mkcsrc: bootstrap with `nith` instead of `nitg`

also use `--semi-global` to produce efficien and smaller code.

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update error_needed_method_alt1.reserror_needed_method_alt1.res

Because the CallSite is now correctly identified at typing.

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Improve the bootstrap

The objective of the seires is to simplify the boostrap by using `nith` with some optimizations to do the job.

To achieve this objective:

* commit 1. Fix nith to produce a functional nitg by removing a usage of advanced FFI
* commis 2-4 : Fix option `--direct-call-monomorph` by avoiding lose of typing information in AST transformation
* commit 5: use a partial nitg before a final nitg ; `nith` -> `nitg_0` -> `nitg`
* commit 6: use nith in c_src

Pull-Request: #465
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>