Lucas Bajolet [Tue, 4 Mar 2014 18:20:18 +0000 (13:20 -0500)]
stdlib/strings: Moved Buffer to FlatBuffer, Buffer is now abstract.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Thu, 27 Feb 2014 16:26:03 +0000 (11:26 -0500)]
stdlib/strings: Cleaned the old way of defining private attributes (readable var _...) and replaced with normal vars.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Fri, 7 Mar 2014 19:49:50 +0000 (14:49 -0500)]
stdlib/strings: Corrected test_isa to work on Text instead of AbstractArrayRead.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Mon, 24 Mar 2014 17:05:54 +0000 (13:05 -0400)]
stdlib/strings: Detached the Text block from Collection.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Mon, 3 Mar 2014 17:22:54 +0000 (12:22 -0500)]
stdlib/strings: Detached Buffer from AbstractArray.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Thu, 6 Mar 2014 18:18:16 +0000 (13:18 -0500)]
stdlib/strings: Introduced class Text, will be used as a new abstraction between Flat Strings and Ropes.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Fri, 28 Feb 2014 20:16:33 +0000 (15:16 -0500)]
stdlib/strings: Moved Substring to Buffer since it was in no way similar to the String implementation.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Mon, 24 Mar 2014 17:01:20 +0000 (13:01 -0400)]
stdlib/strings: Added reverse iterators on char views for Strings.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Fri, 28 Feb 2014 20:11:33 +0000 (15:11 -0500)]
stdlib/strings: Access iterator through its position constructor.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Tue, 25 Feb 2014 15:12:31 +0000 (10:12 -0500)]
stdlib/ropes: Prepping ropes to be compatible when Strings are detached from Collection.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Fri, 7 Mar 2014 15:59:39 +0000 (10:59 -0500)]
Merge branch 'callsite'
Annother short clean-n-prepare series for the new inits
Jean Privat [Fri, 7 Mar 2014 15:58:47 +0000 (10:58 -0500)]
Merge branch 'fix_hashcol_enlarge'
Jean Privat [Thu, 6 Mar 2014 21:35:14 +0000 (16:35 -0500)]
lib/hashcol: forgot to nullify a link in `HashCollection::enlarge`
Thus caused buggy bucklet-link update in `HashSet::remove`
Thus caused buggy transitive reduction in `POSet::add_edge`
Thus caused buggy coloration in `layout_builders`
Thus caused buggy type test tables in `SeparateCompiler::compile_type_to_c`
Thus caused buggy type tests in programs
Fixes #307
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Mar 2014 18:04:13 +0000 (13:04 -0500)]
Merge remote-tracking branch 'alexis/android-platform'
Add support to compile for Android with nitg. When the "android" module
is imported, nitg will generate an APK instead of a binary,
The option --no-stacktrace must be used for Android. This is why we
expect the test to fail.
The generate applications are not usable (as of yet) since they are only
console
To do next:
* Solve the --no-stacktrace problem.
* Implement mnit for Android
Jean Privat [Thu, 6 Mar 2014 18:03:45 +0000 (13:03 -0500)]
Merge branch 'error_req_loop'
Jean Privat [Thu, 6 Mar 2014 13:44:34 +0000 (08:44 -0500)]
tests: error_req_loop*
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Mar 2014 13:43:46 +0000 (08:43 -0500)]
modelbuilder: display error in case of dependency loop
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Mar 2014 13:38:15 +0000 (08:38 -0500)]
Merge branch 'fast_nitx'
Jean Privat [Wed, 5 Mar 2014 20:50:08 +0000 (15:50 -0500)]
auto_super_init: use CallSite
this will simplify calls on (future) new-style init since the logic
will be in the CallSite part.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 20:43:08 +0000 (15:43 -0500)]
auto_super_init: clean signature check
use local variables to improve code
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 20:20:24 +0000 (15:20 -0500)]
nitx: only depends on modelize_property instead of the full frontend
~~~
$ time ../bin/nitx nitg.nit :q # before
real 0m2.775s
user 0m2.660s
sys 0m0.112s
$ time ./nitx nitg.nit :q # after
real 0m1.436s
user 0m1.328s
sys 0m0.104s
~~~
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 20:02:17 +0000 (15:02 -0500)]
Merge remote-tracking branch 'alexandre/fix-float'
Jean Privat [Wed, 5 Mar 2014 19:40:21 +0000 (14:40 -0500)]
modelbuilder: avoid infinitive recursion in case of module importation loops
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Wed, 5 Mar 2014 18:49:51 +0000 (13:49 -0500)]
lib: fixed nan on floats
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 5 Mar 2014 16:23:39 +0000 (11:23 -0500)]
lib: cleaned trailing spaces in string
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 5 Mar 2014 16:23:11 +0000 (11:23 -0500)]
lib: fixed infinity on floats
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 5 Mar 2014 16:39:13 +0000 (11:39 -0500)]
niti: add method `NaiveInterpreter.callsite` to prepare complex callsite
This will enable the extension of the behavior, especially for new init.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 15:34:50 +0000 (10:34 -0500)]
Merge branch 'map'
fixes #303
Jean Privat [Tue, 4 Mar 2014 17:03:19 +0000 (12:03 -0500)]
lib/more_collection: MultiHashMap associates new arrays to unknown keys
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 4 Mar 2014 17:03:06 +0000 (12:03 -0500)]
lib: add `provide_default_value` in Map to allow subclasses to provide
specific behavior when there is no value associated with a key.
The default behavior is to abort, as usual.
Basically this patch factorizes the `abort` in a single function that can
be redefined.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 4 Mar 2014 19:39:13 +0000 (14:39 -0500)]
Merge remote-tracking branch 'alexis/ffi-fix'
In most cases the generated code use a wrong types (Custom types in
extern classes aren't visible inside the main generated code). Also
fixed an alias.
Alexis Laferrière [Fri, 28 Feb 2014 20:17:29 +0000 (15:17 -0500)]
tests: skip android related test in niti
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 28 Feb 2014 20:16:36 +0000 (15:16 -0500)]
tests: minimal test for compilation to android
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 25 Feb 2014 05:09:57 +0000 (00:09 -0500)]
android: adds support for the android platform
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 17 Feb 2014 14:17:03 +0000 (09:17 -0500)]
nitg: intro the platform concept
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 25 Feb 2014 05:09:11 +0000 (00:09 -0500)]
nitg: refactor the ToolChain class by adding an abstract super class
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 22 Feb 2014 18:11:33 +0000 (13:11 -0500)]
nitg: extract toolchain methods into a new ToolChain class
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 4 Mar 2014 17:34:07 +0000 (12:34 -0500)]
nitg: fix generated code for call to super from C
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 12 Feb 2014 21:00:38 +0000 (16:00 -0500)]
nitg: fix generated signature for FFI cast
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 13 Feb 2014 01:03:24 +0000 (20:03 -0500)]
nitg: fix FFI _is_null functions
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 4 Mar 2014 16:31:09 +0000 (11:31 -0500)]
Merge remote-tracking branch 'alexis/various-fixes-for-games'
Latest additions to the standard library for Round'n Round.
The Float::abs implemetation corrects a bug present in master.
Jean Privat [Tue, 4 Mar 2014 15:07:15 +0000 (10:07 -0500)]
lib: add `MapRead::get_or_null` to provide a more standard usage of Maps
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Mar 2014 20:21:39 +0000 (15:21 -0500)]
Merge branch 'benchs'
the `benchmarks/bench_engines.sh` script was not updated for the
*killnitc* transition.
This series cleaup the file, making it usable again.
Jean Privat [Mon, 3 Mar 2014 20:20:47 +0000 (15:20 -0500)]
benchs: provide .gitignore to ignore generated files
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Mar 2014 18:37:24 +0000 (13:37 -0500)]
Merge remote-tracking branch 'alexis/mnit-fixes-and-numbers'
This time we fix the Linux side of mnit and add the NumberImages class
to easily display numbers. Finally you can know your score when playing
Crazy Moles!
Alexis Laferrière [Mon, 3 Mar 2014 16:46:25 +0000 (11:46 -0500)]
lib/math: fix Float::abs
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 16:46:09 +0000 (11:46 -0500)]
lib/sdl: use (or not) SDL mouse motion events
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 16:45:31 +0000 (11:45 -0500)]
lib/opengles1: fix duplicated drawing of triangles
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 16:45:17 +0000 (11:45 -0500)]
lib/mnit: cleanup code
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 16:42:35 +0000 (11:42 -0500)]
lib: adds reference to last turn in bucketed_game
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 14:30:55 +0000 (09:30 -0500)]
examples/moles: display score using mnit numbers
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 11 Feb 2014 15:54:17 +0000 (10:54 -0500)]
mnit: intro the numbers module
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 3 Mar 2014 15:26:36 +0000 (10:26 -0500)]
benchs: fix bench_compilation_time
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Mar 2014 15:26:14 +0000 (10:26 -0500)]
benchs: rename bench_nitg-g_options-hardening to slower
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Mar 2014 15:25:40 +0000 (10:25 -0500)]
benchs: compile last nitg from bin/nitg
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 3 Mar 2014 15:20:24 +0000 (10:20 -0500)]
benchs: remove old nitc related benchs
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Mon, 3 Mar 2014 14:29:27 +0000 (09:29 -0500)]
examples: update Makefiles of mnit examples to use nitg-g
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Feb 2014 16:42:42 +0000 (11:42 -0500)]
examples/dino: replace closure by a custom sorter
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 14:34:43 +0000 (09:34 -0500)]
lib/mnit_linux: use annotations to link with libraries
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 3 Mar 2014 14:34:05 +0000 (09:34 -0500)]
lib/mnit_linux: very minor style fix
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Feb 2014 16:58:38 +0000 (11:58 -0500)]
lib/mnit_linux: update to latest FFI spec
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 28 Feb 2014 21:15:36 +0000 (16:15 -0500)]
Merge branch 'hardening_types'
Jean Privat [Fri, 28 Feb 2014 21:03:37 +0000 (16:03 -0500)]
version 0.6.4
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Feb 2014 18:50:20 +0000 (13:50 -0500)]
Merge remote-tracking branch 'alexandre/nitmetrics'
Jean Privat [Fri, 28 Feb 2014 18:49:52 +0000 (13:49 -0500)]
Merge remote-tracking branch 'alexandre/nitdoc-requirejs'
Made some cleaning on the nitdoc JS. All JS plugins are migrated to
JQuery widgets. JS is now loaded lazily.
Jean Privat [Fri, 28 Feb 2014 18:35:32 +0000 (13:35 -0500)]
nitg-s: remove partial_types
rta and nitg-s now do the right thing for detecting and compiling type tests.
The partial types hack is thus useless.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Fri, 28 Feb 2014 18:33:57 +0000 (13:33 -0500)]
tests: update metrics tests
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 28 Feb 2014 18:33:26 +0000 (13:33 -0500)]
metrics: add colors to metrics output
Also --no-colors option to disable colors in outputs
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 25 Feb 2014 05:06:01 +0000 (00:06 -0500)]
metrics: remove useless redef of Model from metrics_base
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 25 Feb 2014 05:05:38 +0000 (00:05 -0500)]
metrics: replace is_user_defined() by is_standard()
also fix the @FIXME
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 25 Feb 2014 04:50:16 +0000 (23:50 -0500)]
metrics: refactor inheritance metrics
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 25 Feb 2014 06:32:40 +0000 (01:32 -0500)]
metrics: extract mclasses_metrics in its own nit module
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 25 Feb 2014 06:33:51 +0000 (01:33 -0500)]
metrics: extract mmodule_metrics in its own module
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 26 Feb 2014 21:09:55 +0000 (16:09 -0500)]
metrics: add abstract metrics classes for better organization
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 28 Feb 2014 01:27:57 +0000 (20:27 -0500)]
lib: introduce service `depth` in PosetElement
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 25 Feb 2014 01:55:56 +0000 (20:55 -0500)]
lib: added some useful methods in counter
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 26 Feb 2014 21:07:09 +0000 (16:07 -0500)]
lib: introduce console module to hold terminal related features
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 28 Feb 2014 18:27:27 +0000 (13:27 -0500)]
nitg-s: do not color undead types
`undead` things are dead things but that are referenced in C code, thus
need a definition to permit the link.
undead types are no more colored but the C declarations need to remain.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Fri, 28 Feb 2014 18:22:37 +0000 (13:22 -0500)]
Resolve merge conflicts with master
Discard changes from commit
eeaf8e639c0157ded481b59f468754c88ee999e9
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 28 Feb 2014 18:13:04 +0000 (13:13 -0500)]
update .mailmap
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Feb 2014 14:32:49 +0000 (09:32 -0500)]
nitg-s: compile_type_to_c generate partial tables for dead types
If a type is not live (instantiated) or not cast-live (someone try to
type check to it), parts of the generated C tables are empty (marked DEAD).
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Feb 2014 14:25:08 +0000 (09:25 -0500)]
nitg-s: use table_size instead of resolution_table to check live types
A future commit will remove resolution_table on live type that does not
need one (no formal types)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Feb 2014 13:59:03 +0000 (08:59 -0500)]
nitg-s: use the original type in type tests
RTA discovers original types, thus do not try to un-nullify some.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Feb 2014 13:57:37 +0000 (08:57 -0500)]
nitg-s: add hardening_live_open_type and hardening_cast_type
with --hardening, add additional runtime-test on type resolution and
type checks.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Feb 2014 21:21:47 +0000 (16:21 -0500)]
rta: store real types in live_cast_type
The separate compiler need to distinguish if the target is nullable or not.
So do not un-nullable cast types.
rta_metrics.nit is also updated to deal with the change of the static
type of the attribute.
nitg-g is also modified to use the new correct the RTA information
(this remove a workaround)
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Fri, 28 Feb 2014 15:07:08 +0000 (07:07 -0800)]
doc: modified comment for a_star
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 27 Feb 2014 21:30:26 +0000 (16:30 -0500)]
Merge remote-tracking branch 'alexis/cpp'
Jean Privat [Thu, 27 Feb 2014 21:29:25 +0000 (16:29 -0500)]
Merge remote-tracking branch 'github/pr/292/head'
Jean Privat [Thu, 27 Feb 2014 21:29:14 +0000 (16:29 -0500)]
Merge remote-tracking branch 'github/pr/291/head'
Alexis Laferrière [Thu, 27 Feb 2014 20:34:05 +0000 (12:34 -0800)]
doc: added comment for standard::math::Float::rand
Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 27 Feb 2014 20:32:52 +0000 (15:32 -0500)]
Merge remote-tracking branch 'alexandre/fix-vt-redef'
Alexis Laferrière [Thu, 27 Feb 2014 20:32:42 +0000 (12:32 -0800)]
doc: added comment for standard::math::Int::rand
Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 27 Feb 2014 00:38:08 +0000 (19:38 -0500)]
nitg: fix use only local files in generated Makefile (for C++)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 28 Nov 2013 19:29:06 +0000 (14:29 -0500)]
tests: intro tests for FFI with C++
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 8 Dec 2013 02:42:25 +0000 (21:42 -0500)]
nitg/ffi: adds support for the cpp_compiler_options
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 27 Feb 2014 20:05:44 +0000 (15:05 -0500)]
lib: intro the cpp module to support C++ code
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 17 Oct 2013 13:48:08 +0000 (09:48 -0400)]
nitg/ffi: intro of FFI with C++
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 27 Feb 2014 19:37:29 +0000 (14:37 -0500)]
Merge remote-tracking branch 'alexis/glesv2'
...also adds an usage example.
To do next:
* Adapt the pkgconfig annotation to accept no arguments
* Implement mnit::Display feature entierly in Nit using these modules
* Add more examples
* Reify some concepts in glesv2
Alexandre Terrasa [Thu, 27 Feb 2014 18:19:28 +0000 (13:19 -0500)]
modelize_mproperty: fix virtual type redef on already defined type
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Thu, 27 Feb 2014 16:33:26 +0000 (11:33 -0500)]
tests: skip example opengles2_hello_triangle for nitg-s
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>