nit.git
9 years agonitlight: Skip `nitg-g` tests.
Jean-Christophe Beaupré [Thu, 4 Dec 2014 19:25:44 +0000 (14:25 -0500)]
nitlight: Skip `nitg-g` tests.

NitLight is too big for `--global`.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoMerge: neo_doxygen: Fix a forgotten warning.
Jean Privat [Thu, 4 Dec 2014 03:29:48 +0000 (22:29 -0500)]
Merge: neo_doxygen: Fix a forgotten warning.

Pull-Request: #961
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: lib: add IStream::read_lines
Jean Privat [Thu, 4 Dec 2014 03:29:37 +0000 (22:29 -0500)]
Merge: lib: add IStream::read_lines

Lines are not chomped since I prefer to not lose information.

Pull-Request: #960
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: Keep going toolcontext
Jean Privat [Thu, 4 Dec 2014 03:29:33 +0000 (22:29 -0500)]
Merge: Keep going toolcontext

For a compiler, exiting when the source-code is incoherent make sense. However for some tools, like nitlight, it could be useful to be able to process broken code (or just to ignore it and continue).

So, this PR introduce the flag `ToolContext::keep_going` to prevent `check_errors` to terminate the program. It is then the responsibility of the tool to manage the incomplete and possibly incoherent model that was produced.

Close #863

Pull-Request: #959
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Check for errors in GLSL shaders using glslangValidator
Jean Privat [Thu, 4 Dec 2014 03:29:28 +0000 (22:29 -0500)]
Merge: Check for errors in GLSL shaders using glslangValidator

Pull-Request: #958
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Graphics related fixes
Jean Privat [Thu, 4 Dec 2014 03:29:24 +0000 (22:29 -0500)]
Merge: Graphics related fixes

Pull-Request: #957
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Regex subexpressions
Jean Privat [Thu, 4 Dec 2014 03:29:20 +0000 (22:29 -0500)]
Merge: Regex subexpressions

Pull-Request: #956
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Fallback doc
Jean Privat [Thu, 4 Dec 2014 03:29:15 +0000 (22:29 -0500)]
Merge: Fallback doc

In order to fill the descriptions on the [overview page], add a way for a mproject or a mgroup to use the mdoc of other entities.

  [overview page]: http://nitlanguage.org/doc/stdlib/

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

9 years agoMerge: Partial wrapper for SDL 2.0 and SDL_image 2.0
Jean Privat [Thu, 4 Dec 2014 03:29:02 +0000 (22:29 -0500)]
Merge: Partial wrapper for SDL 2.0 and SDL_image 2.0

This PR establishes the structure of the SDL 2.0 project which can be completed as needed with the development of games and frameworks.

Some more subsystems should be wrapped, and most should be completed. The event subsystem is implemented partially as I'm not sure of the form that it will take in the future frameworks. The audio and the ttf subsystems could be useful. Some other subsystems should probably not be wrapped: the platform compatibility layers offers mostly the same features as the Nit standard library, and the OpenGL functions are already covered by other Nit modules.

Pull-Request: #950
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/stream: document `read_line` and `append_line_to`
Jean Privat [Wed, 3 Dec 2014 15:33:02 +0000 (10:33 -0500)]
lib/stream: document `read_line` and `append_line_to`

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

9 years agolib/stream: add IStream::read_lines
Jean Privat [Tue, 2 Dec 2014 06:18:23 +0000 (01:18 -0500)]
lib/stream: add IStream::read_lines

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

read_lines

9 years agolib/string: add `chomp`
Jean Privat [Wed, 3 Dec 2014 15:16:13 +0000 (10:16 -0500)]
lib/string: add `chomp`

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

9 years agotests: update sav/error_redef_alt*.res
Jean Privat [Wed, 3 Dec 2014 14:30:25 +0000 (09:30 -0500)]
tests: update sav/error_redef_alt*.res

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

9 years agosrc/location: add doc to `Location::column_start`
Alexis Laferrière [Tue, 2 Dec 2014 15:10:02 +0000 (10:10 -0500)]
src/location: add doc to `Location::column_start`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agotests: add glslValidator test
Alexis Laferrière [Tue, 2 Dec 2014 14:56:26 +0000 (09:56 -0500)]
tests: add glslValidator test

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/glesv2: declare the annotations for shader code
Alexis Laferrière [Mon, 1 Dec 2014 22:46:25 +0000 (17:46 -0500)]
lib/glesv2: declare the annotations for shader code

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agofrontend: intro glsl_validation to validate shader code in Nit programs
Alexis Laferrière [Mon, 1 Dec 2014 20:38:56 +0000 (15:38 -0500)]
frontend: intro glsl_validation to validate shader code in Nit programs

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agosrc/location: support calling `colored_line` when `start_column == 0`
Alexis Laferrière [Mon, 1 Dec 2014 20:38:12 +0000 (15:38 -0500)]
src/location: support calling `colored_line` when `start_column == 0`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoneo_doxygen: Fix a forgotten warning.
Jean-Christophe Beaupré [Tue, 2 Dec 2014 19:42:01 +0000 (14:42 -0500)]
neo_doxygen: Fix a forgotten warning.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agotests: clean up debug output
Alexis Laferrière [Tue, 2 Dec 2014 21:32:59 +0000 (16:32 -0500)]
tests: clean up debug output

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agotests: fix savs for test_c.nit
Alexis Laferrière [Tue, 2 Dec 2014 21:32:21 +0000 (16:32 -0500)]
tests: fix savs for test_c.nit

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/c: add doc on `NATIVE` and `native_array`
Alexis Laferrière [Tue, 2 Dec 2014 21:28:56 +0000 (16:28 -0500)]
lib/c: add doc on `NATIVE` and `native_array`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/re: prevent allocating `native_match` only to free it
Alexis Laferrière [Tue, 2 Dec 2014 21:26:53 +0000 (16:26 -0500)]
lib/re: prevent allocating `native_match` only to free it

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: neo_doxygen: Fix the handling of the inner classes and of the root namespace
Jean Privat [Tue, 2 Dec 2014 20:41:12 +0000 (15:41 -0500)]
Merge: neo_doxygen: Fix the handling of the inner classes and of the root namespace

* Make the generation of the implicit modules more robust. Do not try to guess the namespace of the classes. Instead, wait to receive enough of explicit information to make a decision. This permits to list class in the root namespace and inner classes in the good module.
* List classes in the root namespace.
* Enhance the presentation of the inner classes so Nitdoc list them as part of their outer class.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

Pull-Request: #955
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agoMerge: Some optimizations in model and nitg
Jean Privat [Tue, 2 Dec 2014 20:40:29 +0000 (15:40 -0500)]
Merge: Some optimizations in model and nitg

http://gresil.org/jenkins/job/nit%20bootstrap/PerfPublisher/ shows a slow degratation of the performances.
So, thanks to valgrind, I spotted 3 hot points and tried to optimize them.

The overall gain is 14% in nitg compiling nitg. Not bad.

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

9 years agoMerge: Vim Syntastic detect documentation warnings and error on EOF
Jean Privat [Tue, 2 Dec 2014 20:40:25 +0000 (15:40 -0500)]
Merge: Vim Syntastic detect documentation warnings and error on EOF

Pull-Request: #951
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: example: Add the simplest tasks of Rosetta Code.
Jean Privat [Tue, 2 Dec 2014 20:40:19 +0000 (15:40 -0500)]
Merge: example: Add the simplest tasks of Rosetta Code.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

Pull-Request: #952
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agomodelize: do not leave `build_property` with a mprop without an intro
Jean Privat [Tue, 2 Dec 2014 16:19:17 +0000 (11:19 -0500)]
modelize: do not leave `build_property` with a mprop without an intro

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

9 years agomodelize: do not crash is a upper VT bound is not set
Jean Privat [Tue, 2 Dec 2014 16:18:11 +0000 (11:18 -0500)]
modelize: do not crash is a upper VT bound is not set

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

9 years agoneo_doxygen: Homogenize the style of the conditions in `compounddef`.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:32:43 +0000 (14:32 -0500)]
neo_doxygen: Homogenize the style of the conditions in `compounddef`.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Link inner classes with their outer classes.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 20:03:44 +0000 (15:03 -0500)]
neo_doxygen: Link inner classes with their outer classes.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Generalize the concept of “member”.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 20:05:20 +0000 (15:05 -0500)]
neo_doxygen: Generalize the concept of “member”.

Will permit to share code between members and inner classes.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Read the `prot` attribute of the `innerclass` elements.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:30:30 +0000 (14:30 -0500)]
neo_doxygen: Read the `prot` attribute of the `innerclass` elements.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo: Handle inner classes.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:19:58 +0000 (14:19 -0500)]
neo: Handle inner classes.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agolib/sdl2: add README
Alexis Laferrière [Sat, 29 Nov 2014 22:30:26 +0000 (17:30 -0500)]
lib/sdl2: add README

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: intro an example for the sdl2 modules
Alexis Laferrière [Sat, 29 Nov 2014 17:00:28 +0000 (12:00 -0500)]
lib/sdl2: intro an example for the sdl2 modules

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: intro a module uniting for sdl2 and its image library
Alexis Laferrière [Sat, 29 Nov 2014 16:58:39 +0000 (11:58 -0500)]
lib/sdl2: intro a module uniting for sdl2 and its image library

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: intro the entry module for sdl2
Alexis Laferrière [Sat, 29 Nov 2014 16:57:35 +0000 (11:57 -0500)]
lib/sdl2: intro the entry module for sdl2

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: wrap the SDL 2 image library
Alexis Laferrière [Sat, 29 Nov 2014 16:57:14 +0000 (11:57 -0500)]
lib/sdl2: wrap the SDL 2 image library

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: wrap some SDL 2 system and window manager features
Alexis Laferrière [Sat, 29 Nov 2014 16:56:46 +0000 (11:56 -0500)]
lib/sdl2: wrap some SDL 2 system and window manager features

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: wrap some SDL 2 events
Alexis Laferrière [Sat, 29 Nov 2014 16:56:22 +0000 (11:56 -0500)]
lib/sdl2: wrap some SDL 2 events

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl2: wrap some basic features of SDL 2
Alexis Laferrière [Thu, 27 Nov 2014 12:52:50 +0000 (07:52 -0500)]
lib/sdl2: wrap some basic features of SDL 2

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agodoc: List the inner classes in the search bar.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:18:53 +0000 (14:18 -0500)]
doc: List the inner classes in the search bar.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agodoc: List the inner classes in the side panel.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:18:23 +0000 (14:18 -0500)]
doc: List the inner classes in the side panel.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agodoc: Fix the presentation of the inner classes.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:17:08 +0000 (14:17 -0500)]
doc: Fix the presentation of the inner classes.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agodoc: Skip unused pages.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:13:23 +0000 (14:13 -0500)]
doc: Skip unused pages.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agomodel_ext: Add a way to represent inner classes.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 18:54:40 +0000 (13:54 -0500)]
model_ext: Add a way to represent inner classes.

Add adapters to wrap classes as properties.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Do not guess the namespace of the classes.
Jean-Christophe Beaupré [Sat, 29 Nov 2014 06:18:35 +0000 (01:18 -0500)]
neo_doxygen: Do not guess the namespace of the classes.

Use explicit relationships instead of manipulating the names.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agolib/c: intro `CByteArray`
Alexis Laferrière [Mon, 1 Dec 2014 15:18:54 +0000 (10:18 -0500)]
lib/c: intro `CByteArray`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/c: intro `CIntArray::from`
Alexis Laferrière [Mon, 1 Dec 2014 01:53:06 +0000 (20:53 -0500)]
lib/c: intro `CIntArray::from`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/c: move up general logic from `CIntArray` to `CArray`
Alexis Laferrière [Mon, 1 Dec 2014 15:17:57 +0000 (10:17 -0500)]
lib/c: move up general logic from `CIntArray` to `CArray`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl: improve implementation and doc of `SDLDisplay::events`
Alexis Laferrière [Thu, 27 Nov 2014 12:53:42 +0000 (07:53 -0500)]
lib/sdl: improve implementation and doc of `SDLDisplay::events`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sdl: native_blit is private
Alexis Laferrière [Thu, 27 Nov 2014 12:53:18 +0000 (07:53 -0500)]
lib/sdl: native_blit is private

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/glesv2: use the hex litteral instead of `to_hex`
Alexis Laferrière [Sun, 30 Nov 2014 14:45:55 +0000 (09:45 -0500)]
lib/glesv2: use the hex litteral instead of `to_hex`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agonitdoc: use `mdoc_or_fallback` to fill tmpl_definitions
Jean Privat [Mon, 1 Dec 2014 19:48:53 +0000 (14:48 -0500)]
nitdoc: use `mdoc_or_fallback` to fill tmpl_definitions

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

9 years agomodel: add MEntity::mdoc_or_fallback to get more documentation
Jean Privat [Mon, 1 Dec 2014 19:47:26 +0000 (14:47 -0500)]
model: add MEntity::mdoc_or_fallback to get more documentation

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

9 years agotests: update sav/error_class_glob.res because
Jean Privat [Tue, 2 Dec 2014 15:04:06 +0000 (10:04 -0500)]
tests: update sav/error_class_glob.res because

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

9 years agolib/re: intro `Match::[]`
Alexis Laferrière [Mon, 1 Dec 2014 21:23:47 +0000 (16:23 -0500)]
lib/re: intro `Match::[]`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/re: support regex subexpressions
Alexis Laferrière [Mon, 1 Dec 2014 19:45:29 +0000 (14:45 -0500)]
lib/re: support regex subexpressions

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoniti: adapt debugger to the new signature ot check_errors
Jean Privat [Tue, 2 Dec 2014 05:53:27 +0000 (00:53 -0500)]
niti: adapt debugger to the new signature ot check_errors

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

9 years agohighlight: be more robuts in case of partial model
Jean Privat [Tue, 2 Dec 2014 04:23:30 +0000 (23:23 -0500)]
highlight: be more robuts in case of partial model

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

9 years agolib/glesv2: fix `gl_get_bool`
Alexis Laferrière [Sun, 30 Nov 2014 14:06:46 +0000 (09:06 -0500)]
lib/glesv2: fix `gl_get_bool`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/glesv2: remove broken methods `gl_vertex_attri_pointer_*`
Alexis Laferrière [Sun, 30 Nov 2014 14:06:14 +0000 (09:06 -0500)]
lib/glesv2: remove broken methods `gl_vertex_attri_pointer_*`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/x11: fix missing C include
Alexis Laferrière [Sun, 30 Nov 2014 14:05:39 +0000 (09:05 -0500)]
lib/x11: fix missing C include

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/re: improve doc of `NativeRegex::re_nsub`
Alexis Laferrière [Mon, 1 Dec 2014 19:44:20 +0000 (14:44 -0500)]
lib/re: improve doc of `NativeRegex::re_nsub`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoneo_doxygen: Accept classes in the root namespace.
Jean-Christophe Beaupré [Mon, 1 Dec 2014 19:48:20 +0000 (14:48 -0500)]
neo_doxygen: Accept classes in the root namespace.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoversion 0.6.11 v0.6.11
Jean Privat [Mon, 1 Dec 2014 13:55:50 +0000 (08:55 -0500)]
version 0.6.11

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

9 years agoNOTICE: add Alexandre Blondin Massé
Jean Privat [Mon, 1 Dec 2014 13:54:57 +0000 (08:54 -0500)]
NOTICE: add Alexandre Blondin Massé

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

9 years agovim/syntastic: show errors on EOF on the last line
Alexis Laferrière [Sun, 30 Nov 2014 16:30:00 +0000 (11:30 -0500)]
vim/syntastic: show errors on EOF on the last line

Requires to update syntastic, uses the `guards` function introduced in
september 2014.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agovim/syntastic: show "Documentation warning" as a style warning
Alexis Laferrière [Sun, 30 Nov 2014 16:13:28 +0000 (11:13 -0500)]
vim/syntastic: show "Documentation warning" as a style warning

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: Fix warnings in the JSON, SAX and SAXophoNit libraries and in the `neo_doxygen...
Jean Privat [Sat, 29 Nov 2014 01:01:33 +0000 (20:01 -0500)]
Merge: Fix warnings in the JSON, SAX and SAXophoNit libraries and in the `neo_doxygen` tool

Fix all the warnings in the following directories:

* `/lib/json`
* `/lib/sax`
* `/lib/saxophonit`
* `/contrib/neo_doxygen`

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

Pull-Request: #946
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agoMerge: Attributes access in nitvm
Jean Privat [Sat, 29 Nov 2014 00:59:23 +0000 (19:59 -0500)]
Merge: Attributes access in nitvm

Accessing attributes in the nitvm is now implemented by a faster mechanism than perfect hashing.

Attribute access is now implemented by two different techniques:
- perfect hashing, slow but multiple-inheritance compatible
- direct access, fast but only compatible with single inheritance

For a given access to an attribute, we try to use direct access if possible, i.e. if this attribute is always at the same position in objects.
If this attribute has multiple position in objects, we need to use perfect hashing.

Non-contractual perfs: the nitvm is now a little faster than before and these two different implementations will allow to work on optimization protocols in the futur.

Pull-Request: #943
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agocompiler: the type poset contains only directed casts
Jean Privat [Sat, 29 Nov 2014 02:32:42 +0000 (21:32 -0500)]
compiler: the type poset contains only directed casts

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

9 years agomodel: add another level of cache for MClassType::collect_mclasses
Jean Privat [Sat, 29 Nov 2014 02:31:10 +0000 (21:31 -0500)]
model: add another level of cache for MClassType::collect_mclasses

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

9 years agomodel: cache types in a hashmap instead of in a list
Jean Privat [Sat, 29 Nov 2014 01:55:50 +0000 (20:55 -0500)]
model: cache types in a hashmap instead of in a list

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

9 years agonitvm: Attributes access is fully functionnal with direct access when possible
Julien Pagès [Thu, 27 Nov 2014 13:17:44 +0000 (14:17 +0100)]
nitvm: Attributes access is fully functionnal with direct access when possible

Signed-off-by: Julien Pagès <julien.projet@gmail.com>

9 years agonitvm: Implementing attribute access with direct access
Julien Pagès [Mon, 17 Nov 2014 00:13:04 +0000 (01:13 +0100)]
nitvm: Implementing attribute access with direct access

Signed-off-by: Julien Pagès <julien.projet@gmail.com>

9 years agoMerge: Useless type
Jean Privat [Fri, 28 Nov 2014 21:19:31 +0000 (16:19 -0500)]
Merge: Useless type

Fix a wrong `useless-type` warning for attributes.
Extends the `useless-type` warning to local variables.

Pull-Request: #945

9 years agoneo_doxygen: Quiet warning about the old-style `init`.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:14:53 +0000 (12:14 -0500)]
neo_doxygen: Quiet warning about the old-style `init`.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoMerge: Use tagged-fences to discriminate docunits
Jean Privat [Fri, 28 Nov 2014 19:51:34 +0000 (14:51 -0500)]
Merge: Use tagged-fences to discriminate docunits

Using heuristics to know what is a docunit and what is a raw block of code is not nice because syntax-errors in docunits happen and we do not want to silence them.

This PR introduces (and documents) the usage of tagged fences to force the programmer to explicit the role of the blocks of code.

By default (with indented block or untagged fences) code blocks are considered docunits to be checked by nitunit.
The tag `nit` does the same.
Any other tag cause docunit to ignore the whole block.

The special tag `nitish` makes docunit ignore the block but allows nitdoc to highlight it.

~~~~
~~~~

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

9 years agoMerge: FFI with C: fix line offset in gcc error reports
Jean Privat [Fri, 28 Nov 2014 19:50:37 +0000 (14:50 -0500)]
Merge: FFI with C: fix line offset in gcc error reports

Pull-Request: #944
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agoneo_doxygen: Add missing documentation.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:09:56 +0000 (12:09 -0500)]
neo_doxygen: Add missing documentation.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Document `Location`.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:10:19 +0000 (12:10 -0500)]
neo_doxygen: Document `Location`.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Document `ClassDef`.
Jean-Christophe Beaupré [Thu, 27 Nov 2014 21:19:30 +0000 (16:19 -0500)]
neo_doxygen: Document `ClassDef`.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Remove useless type declarations.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:11:32 +0000 (12:11 -0500)]
neo_doxygen: Remove useless type declarations.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoneo_doxygen: Remove a unused variable.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:12:13 +0000 (12:12 -0500)]
neo_doxygen: Remove a unused variable.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosaxophonit: Add missing documentation.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:30:17 +0000 (12:30 -0500)]
saxophonit: Add missing documentation.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosaxophonit: Remove useless type declarations.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:33:01 +0000 (12:33 -0500)]
saxophonit: Remove useless type declarations.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosaxophonit: Remove unused variables.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:31:16 +0000 (12:31 -0500)]
saxophonit: Remove unused variables.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosaxophonit: `lexer.nit` is handmade.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:29:24 +0000 (12:29 -0500)]
saxophonit: `lexer.nit` is handmade.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosax: Remove useless visibility declarations.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:24:27 +0000 (12:24 -0500)]
sax: Remove useless visibility declarations.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agotests: niti skips tests with args for test_docdown and nitunit
Jean Privat [Fri, 28 Nov 2014 19:05:30 +0000 (14:05 -0500)]
tests: niti skips tests with args for test_docdown and nitunit

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

9 years agosax: Remove useless type declarations.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:20:59 +0000 (12:20 -0500)]
sax: Remove useless type declarations.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosax: Remove empty constructors.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:22:34 +0000 (12:22 -0500)]
sax: Remove empty constructors.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agosax: Remove unused variables.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:26:13 +0000 (12:26 -0500)]
sax: Remove unused variables.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agojson: Add missing documentation.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:17:38 +0000 (12:17 -0500)]
json: Add missing documentation.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agojson: Hide implementation details.
Jean-Christophe Beaupré [Fri, 28 Nov 2014 17:17:13 +0000 (12:17 -0500)]
json: Hide implementation details.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

9 years agoall: add `nitish` tag for code-blocks skipped by nitunit
Jean Privat [Fri, 28 Nov 2014 01:51:40 +0000 (20:51 -0500)]
all: add `nitish` tag for code-blocks skipped by nitunit

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

9 years agoall: fix broken markdown comments with missing or unwanted code blocks
Jean Privat [Fri, 28 Nov 2014 01:46:08 +0000 (20:46 -0500)]
all: fix broken markdown comments with missing or unwanted code blocks

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

9 years agomodelize: do not fatal error when more that one root init method
Jean Privat [Fri, 28 Nov 2014 13:35:18 +0000 (08:35 -0500)]
modelize: do not fatal error when more that one root init method

A simple error seems enough.

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