neo4j: add nitunit for `Neo4jClient::nodes_with_label`

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
modelize_properties: check redef types in ATypePropdef

Because some programs (mnit) rely on unsound virtual type refinement,
some errors are displayed as warnings.

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update for VT check

Signed-off-by: Jean Privat <jean@pryen.org>
model: add annotation `fixed` on virtual types

Signed-off-by: Jean Privat <jean@pryen.org>
tests: extends base_virtual_type_redef for `is fixed`

Signed-off-by: Jean Privat <jean@pryen.org>
opts: added some obvious comments and fixed some syntax

Signed-off-by: Maxime Leroy <maxime.leroy76@gmail.com>
opts: added possibility to hide an option from the usage (easter egg?)

Signed-off-by: Maxime Leroy <maxime.leroy76@gmail.com>
opts: fix crash on grouped single options

Signed-off-by: Jean Privat <jean@pryen.org>
lib/standard: distinguish `args` and `sys.args`

The former is now a genuine top-level method.
The latter is now called `sys.program_args`.

Signed-off-by: Jean Privat <jean@pryen.org>
typing: remove hack for top-level method `args`

Signed-off-by: Jean Privat <jean@pryen.org>
model: introduce `MVirtualType::is_fixed` used indirectly by is_subtype

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

Signed-off-by: Jean Privat <jean@pryen.org>
tests: extends test_opts for grouped single options

Signed-off-by: Jean Privat <jean@pryen.org>
neo4j: add `with_labels` to load node having multiple labels in one Cypher query.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
neo4j: add `save_entity` shortcut in NeoBatch.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
src: Introduces `neo` a module for save and load Nit models intro a Neo4j graph database.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
tests: introduces `test_prog` a program that build a fake documented model to test model related tools.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
tests: add `test_neo`

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: Introduce `neo`: a model saver/loader from/to neo4j.

The `neo` module can be used to save or load a model from a Neo4j graph database.

Next pull requests will bring tools based on `neo`.

Pull-Request: #606
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: Add annotation `fixed` for virtual types

Fixed virtual types prevent redefinition is subclasses

~~~
class A
   type F: Foo is fixed
end
class B
   super A
   redef type F: Foo # Static error
end
~~~

Currently, there is no really apparent benefit of fixed virtual types because the hack of `typing::check_subtype`. Thus this is only a step toward the resolution of #298.

Note: the first commits introduce the basic verification on redefinitons of virtual types that is missing; but nobody saw that there was no checks.

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