typing: promote `TV::mmodule` and `TV::anchor` to attributes

Also teach function to use them instead going trough `nclassdef`

Signed-off-by: Jean Privat <jean@pryen.org>
modelbuilder: `resolve_mtype` require a MClassDef instead of a AClassdef

This also simplify some the clients.

Signed-off-by: Jean Privat <jean@pryen.org>
modelize_property: remove usage of `nclassdef`

nclassdef are less needed, so just not use them when possible.

Signed-off-by: Jean Privat <jean@pryen.org>
typing: TypeVisitor need mmodule and mpropdef, not aclassdef

This will help to analyze code with a injected context

Signed-off-by: Jean Privat <jean@pryen.org>
modelbuilder: considers that mentities outside the modelbuilder are safe

When playing with injected code, a specific modelbuilder should only bother
to recursively build its knowledge

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Typing gets its context from the model, not the AST

This replace some usage of AST nodes with model entities in the signature of some services in modelbuilder and typing.

This simplifies the clients that can now think less about the AST.
But the main objective is to permit, in some reasonable future, to feed arbitrary piece of code to the phase system.

Eg. of concrete future use: safe and clean analysis of pieces of code in documentation.

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