nit.git
9 years agotests: support testing the emscripten module
Alexis Laferrière [Fri, 13 Jun 2014 22:20:04 +0000 (18:20 -0400)]
tests: support testing the emscripten module

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

9 years agoemscripten: intro the emscripten platform to generate to JS
Alexis Laferrière [Fri, 13 Jun 2014 22:13:03 +0000 (18:13 -0400)]
emscripten: intro the emscripten platform to generate to JS

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

9 years agonitg: extracts default_outname from default toolchain
Alexis Laferrière [Fri, 13 Jun 2014 22:12:24 +0000 (18:12 -0400)]
nitg: extracts default_outname from default toolchain

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

9 years agonitg: extracts makefile_name from default toolchain
Alexis Laferrière [Fri, 13 Jun 2014 22:12:13 +0000 (18:12 -0400)]
nitg: extracts makefile_name from default toolchain

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

9 years agonitg: use libgc only if platform supports it
Alexis Laferrière [Fri, 13 Jun 2014 22:09:32 +0000 (18:09 -0400)]
nitg: use libgc only if platform supports it

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

9 years agolib/stream: fix for clang/llvm/emscripten
Alexis Laferrière [Fri, 13 Jun 2014 20:49:42 +0000 (16:49 -0400)]
lib/stream: fix for clang/llvm/emscripten

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

9 years agotests: add error_toplevel.nit
Jean Privat [Wed, 11 Jun 2014 02:04:17 +0000 (22:04 -0400)]
tests: add error_toplevel.nit

and fix sav/error_expr_not_ok_alt4.res

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

9 years agotyping: check correct usage of top-level methods
Jean Privat [Wed, 11 Jun 2014 02:00:17 +0000 (22:00 -0400)]
typing: check correct usage of top-level methods

First, the body of top-level methods has two constraints:
 * no explicit self
 * implicit self can only call other top-level methods

Second, only self can invoke top-level methods.
Eg. no `6.print("hello")`

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

9 years agoMerge: Mnit fps
Jean Privat [Mon, 16 Jun 2014 15:52:22 +0000 (11:52 -0400)]
Merge: Mnit fps

Factorize the frame-rate control of mnit applications in a dedicated module in lib.

Pull-Request: #505
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agomnit_fps: add current_fps
Jean Privat [Fri, 13 Jun 2014 16:59:26 +0000 (12:59 -0400)]
mnit_fps: add current_fps

Always useful.

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

9 years agomnit: update examples to use maximim_fps
Jean Privat [Fri, 13 Jun 2014 14:55:35 +0000 (10:55 -0400)]
mnit: update examples to use maximim_fps

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

9 years agolib/mnit: introduce mnit_fps so each app does not need to play with clocks
Jean Privat [Mon, 16 Jun 2014 15:42:11 +0000 (11:42 -0400)]
lib/mnit: introduce mnit_fps so each app does not need to play with clocks

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

9 years agojava-ffi: Ignore '\n' in extern types
Frédéric Vachon [Fri, 13 Jun 2014 17:43:23 +0000 (13:43 -0400)]
java-ffi: Ignore '\n' in extern types

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>

9 years agolib/android: Added tests to mnit_simple
Frédéric Vachon [Fri, 13 Jun 2014 17:40:24 +0000 (13:40 -0400)]
lib/android: Added tests to mnit_simple

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>

9 years agolib/android: Intro API wrapping android SharedPreferences
Frédéric Vachon [Fri, 13 Jun 2014 17:39:23 +0000 (13:39 -0400)]
lib/android: Intro API wrapping android SharedPreferences

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>

9 years agoMerge: grammar: support spaces and doc with the `in "Lang"` syntax
Jean Privat [Fri, 13 Jun 2014 17:08:47 +0000 (13:08 -0400)]
Merge: grammar: support spaces and doc with the `in "Lang"` syntax

Enables:
~~~~
extern class A in "Java"
    `{ MyJavaClass `}

# ...
end
~~~~

Still needs work for `
` after imports...

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

9 years agogrammar: support spaces and doc with the `in "Java"` syntax
Alexis Laferrière [Fri, 13 Jun 2014 14:25:50 +0000 (10:25 -0400)]
grammar: support spaces and doc with the `in "Java"` syntax

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

9 years agoModification of the numbering in perfect_hashing.
Julien Pagès [Wed, 11 Jun 2014 22:00:44 +0000 (00:00 +0200)]
Modification of the numbering in perfect_hashing.

The numbering now start at 1 instead of 0.

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

9 years agoFirst files for the Nit virtual machine
Julien Pagès [Wed, 11 Jun 2014 21:57:49 +0000 (23:57 +0200)]
First files for the Nit virtual machine

A virtual table is now constructed for each MClass
The virtual table is constructed according to the specifications.

The perfect hashtable is at negative offsets.
It contains pointer to blocks of (id, methods) which
are at positive offsets of the virtual table.

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

9 years agoMerge: Fix shoot
Jean Privat [Fri, 13 Jun 2014 13:21:03 +0000 (09:21 -0400)]
Merge: Fix shoot

shoot: fix usage of the new App framework …
#479 did the job poorly

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

9 years agoshoot: use `app_name` and `app_version`
Jean Privat [Thu, 12 Jun 2014 16:07:14 +0000 (12:07 -0400)]
shoot: use `app_name` and `app_version`

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

9 years agoshoot: fix usage of the new App framework
Jean Privat [Thu, 12 Jun 2014 16:06:17 +0000 (12:06 -0400)]
shoot: fix usage of the new App framework

#479 did the job poorly

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

9 years agolib/app: make App::setup public
Jean Privat [Fri, 13 Jun 2014 00:55:59 +0000 (20:55 -0400)]
lib/app: make App::setup public

So clients can call it if they do not want to rely on the default main
method

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

9 years agoMerge: Search `README.md` to document groups
Jean Privat [Thu, 12 Jun 2014 23:11:20 +0000 (19:11 -0400)]
Merge: Search `README.md` to document groups

Pull-Request: #501
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: PNaCl : Added threading to pnacl.nit
Jean Privat [Thu, 12 Jun 2014 21:56:12 +0000 (17:56 -0400)]
Merge: PNaCl : Added threading to pnacl.nit

Added threading to pnacl.nit in order to launch Nit on a new thread and still be capable of handling messages.

Pull-Request: #492
Reviewed-by: Jean Privat <jean@pryen.org>
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 agoUpdated the example with 'run' method
Djomanix [Thu, 12 Jun 2014 19:47:44 +0000 (15:47 -0400)]
Updated the example with 'run' method

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agoAdded the 'run' method who is in charge of the infinite loop
Djomanix [Thu, 12 Jun 2014 19:46:23 +0000 (15:46 -0400)]
Added the 'run' method who is in charge of the infinite loop

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agotests: update model-related tools because there is less mclassdef
Jean Privat [Thu, 12 Jun 2014 19:33:58 +0000 (15:33 -0400)]
tests: update model-related tools because there is less mclassdef

Since multiple nclassdef can share a single mclassdef

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

9 years agotests: check that double definitions in distinct AClassdef are detected
Jean Privat [Thu, 12 Jun 2014 19:32:46 +0000 (15:32 -0400)]
tests: check that double definitions in distinct AClassdef are detected

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

9 years agomodelbuilder: `check_redef_keyword` and `build_property` rely on mclassdef
Jean Privat [Thu, 12 Jun 2014 19:31:47 +0000 (15:31 -0400)]
modelbuilder: `check_redef_keyword` and `build_property` rely on mclassdef

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

9 years agoUpdated the example, to show how to handle an 'exit' message in JS.
Djomanix [Thu, 12 Jun 2014 17:58:03 +0000 (13:58 -0400)]
Updated the example, to show how to handle an 'exit' message in JS.

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agoEdited 'exit' function for pnacl in order to avoid crashes.
Djomanix [Thu, 12 Jun 2014 17:57:15 +0000 (13:57 -0400)]
Edited 'exit' function for pnacl in order to avoid crashes.

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agoDeleted useless 'while' and inlined write method
Djomanix [Thu, 12 Jun 2014 15:16:52 +0000 (11:16 -0400)]
Deleted useless 'while' and inlined write method

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agoSuppression of the '-Werror' flag to avoid failing compilations and threading usage...
Djomanix [Thu, 12 Jun 2014 14:54:07 +0000 (10:54 -0400)]
Suppression of the '-Werror' flag to avoid failing compilations and threading usage for complation

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agoUpdated the example for pnacl, to make it work with the threading update
Djomanix [Tue, 10 Jun 2014 19:53:34 +0000 (15:53 -0400)]
Updated the example for pnacl, to make it work with the threading update

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agoExecution of the nit code on another thread, and redefinition of basic input and...
Djomanix [Tue, 10 Jun 2014 19:52:47 +0000 (15:52 -0400)]
Execution of the nit code on another thread, and redefinition of basic input and output methods

Signed-off-by: Djomanix <johan.kayser@viacesi.fr>

9 years agomodelbuilder: `build_properties` process `all_defs` at once
Jean Privat [Thu, 12 Jun 2014 19:29:47 +0000 (15:29 -0400)]
modelbuilder: `build_properties` process `all_defs` at once

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

9 years agomodelbuilder: add `AClassdef::all_defs` to retrieve all sibling definitions
Jean Privat [Thu, 12 Jun 2014 19:28:13 +0000 (15:28 -0400)]
modelbuilder: add `AClassdef::all_defs` to retrieve all sibling definitions

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

9 years agoMerge: android: do not move down all inputs by 32 px
Jean Privat [Thu, 12 Jun 2014 17:57:51 +0000 (13:57 -0400)]
Merge: android: do not move down all inputs by 32 px

This hack has outlived its purpose.

As noted by @privat in Chainz of Friendz.

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

9 years agomodelbuilder: modeling of top-level methods use `parent`
Jean Privat [Thu, 12 Jun 2014 17:39:14 +0000 (13:39 -0400)]
modelbuilder: modeling of top-level methods use `parent`

Because nclassdef is the first one, not the local one

This gives more information

9 years agoandroid: do not move down all inputs by 32 px
Alexis Laferrière [Thu, 12 Jun 2014 17:26:04 +0000 (13:26 -0400)]
android: do not move down all inputs by 32 px

This hack has outlived its purpose.

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

9 years agomodelbuilder: `build_a_mclassdef` reuse existing mclassdefs
Jean Privat [Thu, 12 Jun 2014 17:18:25 +0000 (13:18 -0400)]
modelbuilder: `build_a_mclassdef` reuse existing mclassdefs

In a module, a second AClassdef of a given class, that is valid for
implicit Object and implicit Sys, is now attached a single MClassDef.

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

9 years agomodelbuilder: mclass2nclassdef registers the first occurrence of a class
Jean Privat [Thu, 12 Jun 2014 17:07:29 +0000 (13:07 -0400)]
modelbuilder: mclass2nclassdef registers the first occurrence of a class

The first one is the good one.

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

9 years agomodelbuilder: simplify the call of `add_in_hierarchy`
Jean Privat [Thu, 12 Jun 2014 17:06:06 +0000 (13:06 -0400)]
modelbuilder: simplify the call of `add_in_hierarchy`

We have all the needed model information, moreover, it is more
robust than using the AST

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

9 years agomodelbuilder: document group in the base directory (the one before src)
Jean Privat [Thu, 12 Jun 2014 16:40:26 +0000 (12:40 -0400)]
modelbuilder: document group in the base directory (the one before src)

Search also `README.md` that is already used in some programs in contrib.

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

9 years agotests: add test_new_native.nit
Jean Privat [Thu, 12 Jun 2014 14:22:42 +0000 (10:22 -0400)]
tests: add test_new_native.nit

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

9 years agoniti: implements intern `init` for NativeString and NativeArray
Jean Privat [Thu, 12 Jun 2014 14:18:41 +0000 (10:18 -0400)]
niti: implements intern `init` for NativeString and NativeArray

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

9 years agocompiler: implement intern `init` on NativeString
Jean Privat [Thu, 12 Jun 2014 14:17:39 +0000 (10:17 -0400)]
compiler: implement intern `init` on NativeString

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

9 years agocompiler: Accepts `new` constructor on non pointer-based class (eg. NativeString)
Jean Privat [Thu, 12 Jun 2014 14:16:57 +0000 (10:16 -0400)]
compiler: Accepts `new` constructor on non pointer-based class (eg. NativeString)

Just use with a placebo receiver like in other cases.

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

9 years agojava FFI: display a clean error when java module is not imported
Alexis Laferrière [Wed, 11 Jun 2014 16:11:14 +0000 (12:11 -0400)]
java FFI: display a clean error when java module is not imported

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

9 years agocompiler: accept intern `new` constructors (factories)
Jean Privat [Thu, 12 Jun 2014 13:01:38 +0000 (09:01 -0400)]
compiler: accept intern `new` constructors (factories)

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

9 years agocompiler: special handling of `new NativeArray`
Jean Privat [Thu, 12 Jun 2014 12:58:17 +0000 (08:58 -0400)]
compiler: special handling of `new NativeArray`

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

9 years agoparser: regenerate file for improved intern methods
Jean Privat [Thu, 12 Jun 2014 12:56:54 +0000 (08:56 -0400)]
parser: regenerate file for improved intern methods

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

9 years agoparser: introduce intern `new` constructors (factories)
Jean Privat [Thu, 12 Jun 2014 12:56:45 +0000 (08:56 -0400)]
parser: introduce intern `new` constructors (factories)

They are correctly modeled and typed but engines does not how to deal with them.

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

9 years agoparser: accept intern methods at top-level
Jean Privat [Thu, 12 Jun 2014 12:53:05 +0000 (08:53 -0400)]
parser: accept intern methods at top-level

This modification does not need a special handling in the model or engines.

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

9 years agoerasure_compiler: remove redefinition of `array_instance`
Jean Privat [Thu, 12 Jun 2014 12:51:28 +0000 (08:51 -0400)]
erasure_compiler: remove redefinition of `array_instance`

the inherited implementation from the separate compiler is
enough now that `native_array_instance` is correctly implemented.

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

9 years agoabstract_compiler: generalize `native_array_instance`
Jean Privat [Thu, 12 Jun 2014 12:48:59 +0000 (08:48 -0400)]
abstract_compiler: generalize `native_array_instance`

offers the service `native_array_instance` in all compilation engines

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

9 years agoMerge: Distinguish top-level methods
Jean Privat [Wed, 11 Jun 2014 14:51:01 +0000 (10:51 -0400)]
Merge: Distinguish top-level methods

The point of the PR is the commit that adds `MMethod::is_toplevel` to distinguish methods defined at the top-level of a module, with those defined in an explicit refinement of Object.

Such an information could be used by documentation tool to filter methods.

A following commit use the information to enforce that top-level methods redefine and are redefined only by top-level methods (by refinement). However, the rules in the model remains unchanged and there is no other use of the `is_toplevel` information in tools or execution engines.

The bunch of first commits are used to clean and improve the check of redefinitions used latter.

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

9 years agotests: update error messages related to `iterator` in for,
Jean Privat [Wed, 11 Jun 2014 01:58:37 +0000 (21:58 -0400)]
tests: update error messages related to `iterator` in for,

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

9 years agotyping: `interator` in for is correclty set on self
Jean Privat [Wed, 11 Jun 2014 01:52:46 +0000 (21:52 -0400)]
typing: `interator` in for is correclty set on self

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

9 years agoMerge: lib/math: Added gcd method on Int.
Jean Privat [Wed, 11 Jun 2014 00:16:16 +0000 (20:16 -0400)]
Merge: lib/math: Added gcd method on Int.

Added GCD method using Stein's algorithm on Int.

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

9 years agolib/math: Added gcd method on Int.
Lucas Bajolet [Tue, 10 Jun 2014 19:41:51 +0000 (15:41 -0400)]
lib/math: Added gcd method on Int.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agotests: add tests for top-level redefinitions
Jean Privat [Tue, 10 Jun 2014 18:56:48 +0000 (14:56 -0400)]
tests: add tests for top-level redefinitions

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

9 years agomodelize_property: top_level methods can only redefine and be redefined by top_level...
Jean Privat [Tue, 10 Jun 2014 18:54:57 +0000 (14:54 -0400)]
modelize_property: top_level methods can only redefine and be redefined by top_level methods

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

9 years agomodel: add `MMethod::is_toplevel`
Jean Privat [Tue, 10 Jun 2014 18:53:12 +0000 (14:53 -0400)]
model: add `MMethod::is_toplevel`

Documentation will like to have such an information easily available.

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

9 years agotests: update for new error message on already defined property
Jean Privat [Tue, 10 Jun 2014 18:52:05 +0000 (14:52 -0400)]
tests: update for new error message on already defined property

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

9 years agoMerge: Move sensors and Dalvik related services from mnit to android (and fixes)
Jean Privat [Tue, 10 Jun 2014 19:10:59 +0000 (15:10 -0400)]
Merge: Move sensors and Dalvik related services from mnit to android (and fixes)

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

9 years agoMerge: lib/opengles1: add color methods
Jean Privat [Tue, 10 Jun 2014 19:10:56 +0000 (15:10 -0400)]
Merge: lib/opengles1: add color methods

As asked by @privat, should work well with #484.

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

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

9 years agoMerge: App n tiles
Jean Privat [Tue, 10 Jun 2014 19:10:46 +0000 (15:10 -0400)]
Merge: App n tiles

Introduce tileset, monospace bitmap fonts for mnit

Also some bugfixes

Pull-Request: #484
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agomodelize_property: improve error message for property already defined
Jean Privat [Tue, 10 Jun 2014 18:51:26 +0000 (14:51 -0400)]
modelize_property: improve error message for property already defined

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

9 years agomodelize_property: remove double check of duplicate property
Jean Privat [Tue, 10 Jun 2014 18:45:42 +0000 (14:45 -0400)]
modelize_property: remove double check of duplicate property

One is enough. Moreover, the removed-one is buggy since only AMethPropdef
is checked.

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

9 years agomodelize_property: always check `redef`
Jean Privat [Tue, 10 Jun 2014 18:42:13 +0000 (14:42 -0400)]
modelize_property: always check `redef`
With a lesser strict version for the implicit main.

I am not really sure why the original code was this.

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

9 years agolib/standard: Move top-level methods in `file` really to the top level.
Jean Privat [Tue, 10 Jun 2014 18:39:01 +0000 (14:39 -0400)]
lib/standard: Move top-level methods in `file` really to the top level.

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

9 years agoMerge: Ropes integration
Jean Privat [Tue, 10 Jun 2014 17:18:19 +0000 (13:18 -0400)]
Merge: Ropes integration

Reroll for the integration of Ropes in the new API.

Now that the parent relation is gone in RopeNode, subropes may be shared, this simplifies the code and also improves the overall performance of the structure.

The names have been simplified too, I got tired of writing "ForwardDFSRopeCharIterator".

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

9 years agolib/app: move stuff from `App::init` to a new function, `App::sepup`
Jean Privat [Mon, 9 Jun 2014 14:03:20 +0000 (10:03 -0400)]
lib/app: move stuff from `App::init` to a new function, `App::sepup`

Because of the `app` method is a `once new App`, the result of the `new`
is not stored until the `new` returns.
Therefore, suggests to doing stuff during the construction of App might
invoke something that use `app` as a global symbol, thus causing an
infinite recursions.

9 years agoandroid: exit application on destroy request
Alexis Laferrière [Tue, 10 Jun 2014 00:34:47 +0000 (20:34 -0400)]
android: exit application on destroy request

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

9 years agoandroid: pause on lost focus too
Alexis Laferrière [Tue, 10 Jun 2014 00:34:09 +0000 (20:34 -0400)]
android: pause on lost focus too

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

9 years agoandroid: extract Dalvik VM related services to their own module
Alexis Laferrière [Fri, 6 Jun 2014 18:36:28 +0000 (14:36 -0400)]
android: extract Dalvik VM related services to their own module

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

9 years agoMerge: nitg: add support for unary - as an extern method
Jean Privat [Tue, 10 Jun 2014 15:37:31 +0000 (11:37 -0400)]
Merge: nitg: add support for unary - as an extern method

Fixes #483.

TODO: Since "unary -" is an overload of "-", it cannot be declared as a callback from C. We could either extend the importation syntax or import both "-" and "unary -" on import of "-".

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

9 years agolib/opengles1: add color methods
Alexis Laferrière [Tue, 10 Jun 2014 15:28:05 +0000 (11:28 -0400)]
lib/opengles1: add color methods

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

9 years agonitg: add support for unary - as an extern method
Alexis Laferrière [Tue, 10 Jun 2014 15:06:03 +0000 (11:06 -0400)]
nitg: add support for unary - as an extern method

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

9 years agolib/mnit: introduce `blit_scaled`
Jean Privat [Sat, 7 Jun 2014 03:04:52 +0000 (23:04 -0400)]
lib/mnit: introduce `blit_scaled`

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

9 years agolib/mnit: fix an clarify documentation of blit_stretched
Jean Privat [Sat, 7 Jun 2014 03:04:05 +0000 (23:04 -0400)]
lib/mnit: fix an clarify documentation of blit_stretched

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

9 years agolib/mnit/antroid: backkey has code 4 on my phone
Jean Privat [Sat, 7 Jun 2014 01:55:47 +0000 (21:55 -0400)]
lib/mnit/antroid: backkey has code 4 on my phone

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

9 years agolib/mnit: add tileset to manage tilesets and monospace bitmap fonts
Jean Privat [Sat, 7 Jun 2014 01:50:13 +0000 (21:50 -0400)]
lib/mnit: add tileset to manage tilesets and monospace bitmap fonts

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

9 years agolib/standard/string: Added methods prepend, append and insert_at to String interface...
Lucas Bajolet [Mon, 9 Jun 2014 15:40:27 +0000 (11:40 -0400)]
lib/standard/string: Added methods prepend, append and insert_at to String interface and implementations.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/string: SELFTYPE now refers to String instead of its implementations.
Lucas Bajolet [Thu, 5 Jun 2014 18:03:44 +0000 (14:03 -0400)]
lib/standard/string: SELFTYPE now refers to String instead of its implementations.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/text: Added global test on all the API of Text and subclasses.
Lucas Bajolet [Thu, 5 Jun 2014 15:28:17 +0000 (11:28 -0400)]
lib/standard/text: Added global test on all the API of Text and subclasses.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/ropes: Added test for Ropes.
Lucas Bajolet [Thu, 5 Jun 2014 15:25:02 +0000 (11:25 -0400)]
lib/standard/ropes: Added test for Ropes.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/ropes: Re-activated ropes in standard.
Lucas Bajolet [Thu, 5 Jun 2014 15:15:13 +0000 (11:15 -0400)]
lib/standard/ropes: Re-activated ropes in standard.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/ropes: Introduced method to_dot on Ropes, used for debugging
Lucas Bajolet [Thu, 5 Jun 2014 15:14:59 +0000 (11:14 -0400)]
lib/standard/ropes: Introduced method to_dot on Ropes, used for debugging

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/streams: Rope now capable of using write_to
Lucas Bajolet [Thu, 5 Jun 2014 14:52:36 +0000 (10:52 -0400)]
lib/streams: Rope now capable of using write_to

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/ropes: Adapted write for performance with other String representations.
Lucas Bajolet [Mon, 9 Jun 2014 15:58:44 +0000 (11:58 -0400)]
lib/standard/ropes: Adapted write for performance with other String representations.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/file: Preparing substrings method, to be used by write method in an...
Lucas Bajolet [Mon, 9 Jun 2014 15:58:16 +0000 (11:58 -0400)]
lib/standard/file: Preparing substrings method, to be used by write method in an optimized way.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Nitdoc bootstrap
Jean Privat [Fri, 6 Jun 2014 19:36:35 +0000 (15:36 -0400)]
Merge: Nitdoc bootstrap

New version of the Nitdoc tool based on Bootstrap.

Changed the display to be more "user manual", included summary and removed many borders and boxes.

Also fixed graph display and missing properties in lists.

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

9 years agoMerge: nitlight: fix style.css
Jean Privat [Fri, 6 Jun 2014 19:36:12 +0000 (15:36 -0400)]
Merge: nitlight: fix style.css

A previous commit dropped the inclusion of the css style file in the generated HTML

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

9 years agoMerge: Android.nit using native_app_glue and vibration
Jean Privat [Fri, 6 Jun 2014 19:35:46 +0000 (15:35 -0400)]
Merge: Android.nit using native_app_glue and vibration

* Wrap and use the core features of the NDK's ANativeActivity and native_app_glue's android_app to implement app.nit on Android
* Cleans up a lot a code from mnit_android::android_app
* Intro android::vibration and use it in Dino
* Bonus: Fix mnit apps under Linux

Pull-Request: #479
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agonitdoc: update test on nitdoc
Alexandre Terrasa [Fri, 6 Jun 2014 18:42:50 +0000 (14:42 -0400)]
nitdoc: update test on nitdoc

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agonitdoc: migrate javascript plugins
Alexandre Terrasa [Fri, 6 Jun 2014 16:55:10 +0000 (12:55 -0400)]
nitdoc: migrate javascript plugins

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agonitdoc: nitdoc imports doc group
Alexandre Terrasa [Fri, 6 Jun 2014 07:40:48 +0000 (03:40 -0400)]
nitdoc: nitdoc imports doc group

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>