nit.git
9 years agonitdoc: show mpropdefs redef chain in MClass page.
Alexandre Terrasa [Tue, 23 Sep 2014 03:12:50 +0000 (23:12 -0400)]
nitdoc: show mpropdefs redef chain in MClass page.

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

9 years agonitdoc: redirect quicksearch to mpropdef in mclass page instead of mproperty page
Alexandre Terrasa [Fri, 5 Sep 2014 02:38:01 +0000 (22:38 -0400)]
nitdoc: redirect quicksearch to mpropdef in mclass page instead of mproperty page

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

9 years agonitdoc: add default link to local files if opt_source is not set.
Alexandre Terrasa [Fri, 5 Sep 2014 00:37:00 +0000 (20:37 -0400)]
nitdoc: add default link to local files if opt_source is not set.

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

9 years agonitdoc: add template for tab panel component from Bootstrap
Alexandre Terrasa [Fri, 5 Sep 2014 02:27:02 +0000 (22:27 -0400)]
nitdoc: add template for tab panel component from Bootstrap

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

9 years agonitdoc: display markdown synopsys in lists.
Alexandre Terrasa [Mon, 25 Aug 2014 04:45:17 +0000 (00:45 -0400)]
nitdoc: display markdown synopsys in lists.

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

9 years agonitdoc: better display of big class hierarchies.
Alexandre Terrasa [Mon, 25 Aug 2014 04:40:12 +0000 (00:40 -0400)]
nitdoc: better display of big class hierarchies.

Fixes #638

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

9 years agonitdoc: update tests
Alexandre Terrasa [Fri, 5 Sep 2014 03:53:51 +0000 (23:53 -0400)]
nitdoc: update tests

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

9 years agonitdoc:sanitize generated html
Alexandre Terrasa [Fri, 5 Sep 2014 03:26:17 +0000 (23:26 -0400)]
nitdoc:sanitize generated html

Fixes #669.

Remaining errors are related to duplicated html ids in comments.
Those are generated by the markdown parser and will be fixed in
a further pull request.

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

9 years agonitdoc: clean some useless super-strings
Alexandre Terrasa [Fri, 5 Sep 2014 02:17:58 +0000 (22:17 -0400)]
nitdoc: clean some useless super-strings

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

9 years agonitdoc: make `TplLink::text` type less specific
Alexandre Terrasa [Fri, 5 Sep 2014 02:23:54 +0000 (22:23 -0400)]
nitdoc: make `TplLink::text` type less specific

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

9 years agonitdoc: fix `TplArticle::is_empty`
Alexandre Terrasa [Fri, 5 Sep 2014 02:23:03 +0000 (22:23 -0400)]
nitdoc: fix `TplArticle::is_empty`

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

9 years agonitdoc: fix `MEntity::tpl_anchor` documentation
Alexandre Terrasa [Fri, 5 Sep 2014 02:21:40 +0000 (22:21 -0400)]
nitdoc: fix `MEntity::tpl_anchor` documentation

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

9 years agonitdoc: clean some templates generation
Alexandre Terrasa [Thu, 4 Sep 2014 19:04:07 +0000 (15:04 -0400)]
nitdoc: clean some templates generation

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

9 years agonitdoc: fix scroll bar display
Alexandre Terrasa [Thu, 4 Sep 2014 18:59:50 +0000 (14:59 -0400)]
nitdoc: fix scroll bar display

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

9 years agonitdoc: remove unused method `sort_by_public_owner`
Alexandre Terrasa [Mon, 25 Aug 2014 04:56:51 +0000 (00:56 -0400)]
nitdoc: remove unused method `sort_by_public_owner`

Fixes #668

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

9 years agonitdoc: avoid conflicts in MEntity urls
Alexandre Terrasa [Mon, 25 Aug 2014 04:55:17 +0000 (00:55 -0400)]
nitdoc: avoid conflicts in MEntity urls

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

9 years agonitdoc: avoid crash on empty mclassdef list.
Alexandre Terrasa [Mon, 25 Aug 2014 03:24:22 +0000 (23:24 -0400)]
nitdoc: avoid crash on empty mclassdef list.

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

9 years agonitdoc: clean breadcrumbs generation.
Alexandre Terrasa [Mon, 25 Aug 2014 03:18:11 +0000 (23:18 -0400)]
nitdoc: clean breadcrumbs generation.

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

9 years agonitdoc: move page url into `NitdocPage`
Alexandre Terrasa [Mon, 25 Aug 2014 03:01:37 +0000 (23:01 -0400)]
nitdoc: move page url into `NitdocPage`

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

9 years agoMerge: Kill oldstyle attributes
Jean Privat [Thu, 4 Sep 2014 00:20:40 +0000 (20:20 -0400)]
Merge: Kill oldstyle attributes

Remove remaining usage of old style attributes declarations `var _foo`.

Also remove the annotation `old_style_init` in the parser.

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

9 years agoMerge: Clean src
Jean Privat [Thu, 4 Sep 2014 00:20:35 +0000 (20:20 -0400)]
Merge: Clean src

Since there is groups in the c_src compiler, use them in src to regroupe related concerns.

Thus, this PR creates new groups:

* modelize (AST-> model)
* semantize (AST+model -> augmented AST)
* frontend (modelize+semantize+other stuff)
* compiler (all compiler-related things)
* interpreter (all interpreter related things)

Some more things remain to discuss latter:

* the status of platforms things: I moved them to compiler, does this make sense?
* I let the nit*.nit and test_*.nit at the top level to have a fast glance of what are the entry points/main modules. Is this a good idea?
* what to do with the remaining modules in the src directory?

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

9 years agopep8analysis: update and remove old-style attributes
Jean Privat [Wed, 3 Sep 2014 18:04:19 +0000 (14:04 -0400)]
pep8analysis: update and remove old-style attributes

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

9 years agotests: update sav because ligne changes in lib
Jean Privat [Wed, 3 Sep 2014 17:47:32 +0000 (13:47 -0400)]
tests: update sav because ligne changes in lib

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

9 years agoparser: regenerate parser_abs.nit
Jean Privat [Wed, 3 Sep 2014 17:48:31 +0000 (13:48 -0400)]
parser: regenerate parser_abs.nit

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

9 years agoparser: remove old-style attributes in xss
Jean Privat [Wed, 3 Sep 2014 15:37:23 +0000 (11:37 -0400)]
parser: remove old-style attributes in xss

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

9 years agoparser: batch remove old style attribute
Jean Privat [Wed, 3 Sep 2014 15:54:34 +0000 (11:54 -0400)]
parser: batch remove old style attribute

~~~
sed -i 's/var _n\(.*: nullable.*\)/var n\1 is writable/' parser/parser_nodes.nit
sed -i 's/var _n\(.*\)/var n\1 is writable, noinit/' parser/parser_nodes.nit
sed -i '/fun n_\(.*\)/d' parser/parser_nodes.nit
sed -i '/init do end/d' parser/parser_nodes.nit
~~~

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

9 years agoparser: remove manual old-style attributes
Jean Privat [Wed, 3 Sep 2014 18:08:23 +0000 (14:08 -0400)]
parser: remove manual old-style attributes

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

9 years agoparser: _location it no more nullable, so use isset for magic when needed
Jean Privat [Wed, 3 Sep 2014 18:07:32 +0000 (14:07 -0400)]
parser: _location it no more nullable, so use isset for magic when needed

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

9 years agosrc: move model_vis to model
Jean Privat [Wed, 3 Sep 2014 14:11:15 +0000 (10:11 -0400)]
src: move model_vis to model

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

9 years agocontrib/online_ide: fix import of interpreter modules
Jean Privat [Tue, 2 Sep 2014 18:59:37 +0000 (14:59 -0400)]
contrib/online_ide: fix import of interpreter modules

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

9 years agosrc: create groups for related things
Jean Privat [Tue, 2 Sep 2014 16:09:19 +0000 (12:09 -0400)]
src: create groups for related things

File are moved, some minimal change in importations

* modelize
* semantize
* frontend
* compiler
* interpreter

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

9 years agosrc: clean white-spaces and license in some files
Jean Privat [Tue, 2 Sep 2014 19:00:23 +0000 (15:00 -0400)]
src: clean white-spaces and license in some files

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

9 years agosrc/metrics: clean importations
Jean Privat [Wed, 3 Sep 2014 13:55:20 +0000 (09:55 -0400)]
src/metrics: clean importations

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

9 years agolib: remove remaining declaration of old-style attributes.
Jean Privat [Wed, 3 Sep 2014 15:06:07 +0000 (11:06 -0400)]
lib: remove remaining declaration of old-style attributes.

Since new-style attributes still allows low-level access to the real
attributes, the migration was easy; although some intrude imports where required.

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

9 years agoniti: remove dependency on common_ffi
Jean Privat [Wed, 3 Sep 2014 13:37:08 +0000 (09:37 -0400)]
niti: remove dependency on common_ffi

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

9 years agosrc: cleanup importations
Jean Privat [Wed, 3 Sep 2014 14:19:04 +0000 (10:19 -0400)]
src: cleanup importations

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

9 years agosrc: add new hub modules to regroup related things together.
Jean Privat [Wed, 3 Sep 2014 14:18:21 +0000 (10:18 -0400)]
src: add new hub modules to regroup related things together.

modelize: for modelize_*
semantize: for typing/auto_super_init/scope/flow/etc.
compiler: for compiler related things
interpreter: for interpreter related things

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

9 years agoMerge: lib: add standard/error.nit
Jean Privat [Wed, 3 Sep 2014 09:51:32 +0000 (05:51 -0400)]
Merge: lib: add standard/error.nit

This could help people to implement some error handling in libraries.

It is inspired by #701 and ideas from Alexandre Terrasa.

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

9 years agoMerge: Proposition of a new image source for `shoot`
Jean Privat [Wed, 3 Sep 2014 09:51:02 +0000 (05:51 -0400)]
Merge: Proposition of a new image source for `shoot`

The ressources are extracted from the projet PyCaptain. See `ships.svg`.

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

9 years agolib: add standard/error.nit
Jean Privat [Tue, 2 Sep 2014 18:37:36 +0000 (14:37 -0400)]
lib: add standard/error.nit

This could help people to implement some error handling in libraries.

It is inspired by #701 and ideas from Alexandre Terrasa.

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

9 years agopep8analysis: rename its Error class to P8Error.
Jean Privat [Tue, 2 Sep 2014 19:05:58 +0000 (15:05 -0400)]
pep8analysis: rename its Error class to P8Error.

One day, name conflicts will be resolved sanely... one day...

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

9 years agoMerge: String: Bugfixes
Jean Privat [Wed, 3 Sep 2014 01:31:55 +0000 (21:31 -0400)]
Merge: String: Bugfixes

When rewriting the to_s method in Array, an error was subtle enough to fight its way through the tests but was discovered when reworking the Ropes (yup, be prepared, it'll appear once more).

Oh and there was a bug in the substring_from method (well, more of a lack of efficiency then a real bug).

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

9 years agolib/standard/string: reverse iterator fix on substring. Fixes #709
Lucas Bajolet [Tue, 2 Sep 2014 20:25:07 +0000 (16:25 -0400)]
lib/standard/string: reverse iterator fix on substring. Fixes #709

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

9 years agoMerge: Nitunit: Allow external test files.
Jean Privat [Tue, 2 Sep 2014 20:17:19 +0000 (16:17 -0400)]
Merge: Nitunit: Allow external test files.

Unit testing can now be achieved in two ways:

* using `DocUnits` in code comments
* using `TestSuites` with test unit files

`DocUnits` are executable pieces of code found in the documentation of modules,
classes and properties.
They are used for documentation purpose, they should be kept simple and illustrative.
More advanced unit testing can be done using TestSuites.

`TestSuites` are test files coupled to a tested module.
They contain a list of test methods called TestCase.

## Working with `DocUnits`

With DocUnits, executable code can be placed in comments of modules, classes and properties.
 The execution can be verified using `assert`

 Example with a class:

    module foo
    #    var foo = new Foo
    #    assert foo.bar == 10
    class Foo
        var bar = 10
    end

 Everything used in the test must be declared.
To test a method you have to instanciate its class:

    module foo
    #    var foo = new Foo
    #    assert foo.bar == 10
    class Foo
        #    var foo = new Foo
        #    assert foo.baz(1, 2) == 3
        fun baz(a, b: Int) do return a + b
    end

 `nitunit` is used to test Nit files:

    $ nitunit foo.nit

## Working with `TestSuites`

 TestSuites are Nit files that define a set of TestCase for a particular module.

 The test suite must be called `test_` followed by the name of the module to test.
 So for the module `foo.nit` the test suite will be called `test_foo.nit`.

 The structure of a test suite is the following:

    # test suite for module `foo`
    module test_foo
    import foo # can be intrude to test private things
    class TestFoo
        # test case for `foo::Foo::baz`
        fun test_baz do
            var subject = new Foo
            assert subject.baz(1, 2) == 3
        end
    end

 Test suite can be executed using the same `nitunit` command:

    $ nitunit foo.nit

 `nitunit` will execute a test for each method named `test_*` in a class named `Test*`
 so multiple tests can be executed for a single method:

    class TestFoo
        fun test_baz_1 do
            var subject = new Foo
            assert subject.baz(1, 2) == 3
        end
        fun test_baz_2 do
            var subject = new Foo
            assert subject.baz(1, -2) == -1
        end
    end

 `TestSuites` also provide methods to configure the test run:

 `before_test` and `after_test`: methods called before/after each test case.
 They can be used to factorize repetitive tasks:

    class TestFoo
        var subject: Foo
        # Mandatory empty init
        init do end
        # Method executed before each test
        fun before_test do
            subject = new Foo
        end
        fun test_baz_1 do
            assert subject.baz(1, 2) == 3
        end
        fun test_baz_2 do
            assert subject.baz(1, -2) == -1
        end
    end

 When using custom test attributes, a empty init must be declared to allow automatic test running.

 `before_module` and `after_module`: methods called before/after each test suite.
 They have to be declared at top level:

    module test_bdd_connector
    import bdd_connector
    # Testing the bdd_connector
    class TestConnector
        # test cases using a server
    end
    # Method executed before testing the module
    fun before_module do
        # start server before all test cases
    end
    # Method executed after testing the module
    fun after_module do
        # stop server after all test cases
    end

## Generating test suites

 Write test suites for big modules can be a pepetitive and boring task...
 To make it easier, `nitunit` can generate test skeletons for Nit modules:

    $ nitunit --gen-suite foo.nit

 This will generate the test suite `test_foo` containing test case stubs for all public
 methods found in `foo.nit`.

 Useful options with `--gen-suite`:

* `--private`: also generate tests for protected and private methods
* `--force`: force generation of the skeleton (existing test suite will be overwritten)

Pull-Request: #627
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Move `android::java_io` to `java::io`
Jean Privat [Tue, 2 Sep 2014 20:16:34 +0000 (16:16 -0400)]
Merge: Move `android::java_io` to `java::io`

Fix #696

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

9 years agotests: Added test for the special case of Array.to_s with a Rope.
Lucas Bajolet [Fri, 29 Aug 2014 19:53:43 +0000 (15:53 -0400)]
tests: Added test for the special case of Array.to_s with a Rope.

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

9 years agolib/standard/string: bugfix in Array::to_s when encoutering another structure than...
Lucas Bajolet [Fri, 29 Aug 2014 14:35:43 +0000 (10:35 -0400)]
lib/standard/string: bugfix in Array::to_s when encoutering another structure than a FlatString

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

9 years agolib/standard/string: Proper handling of trivial cases in substring_from.
Lucas Bajolet [Fri, 29 Aug 2014 19:45:34 +0000 (15:45 -0400)]
lib/standard/string: Proper handling of trivial cases in substring_from.

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

9 years agotests: update shoot_logic sav file
Alexis Laferrière [Tue, 2 Sep 2014 14:54:29 +0000 (10:54 -0400)]
tests: update shoot_logic sav file

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

9 years agonitunit: update tests.
Alexandre Terrasa [Tue, 2 Sep 2014 15:43:42 +0000 (11:43 -0400)]
nitunit: update tests.

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

9 years agotests: remove java_io from cc.skip
Alexis Laferrière [Tue, 2 Sep 2014 15:02:53 +0000 (11:02 -0400)]
tests: remove java_io from cc.skip

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

9 years agoandroid: update users of `java::io`
Alexis Laferrière [Mon, 1 Sep 2014 15:57:11 +0000 (11:57 -0400)]
android: update users of `java::io`

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

9 years agojava: move `android::java_io` to `java::io` & remove refs to android
Alexis Laferrière [Mon, 1 Sep 2014 15:55:51 +0000 (11:55 -0400)]
java: move `android::java_io` to `java::io` & remove refs to android

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

9 years agolib: java is a group
Alexis Laferrière [Mon, 1 Sep 2014 15:51:45 +0000 (11:51 -0400)]
lib: java is a group

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

9 years agoexamples/shoot: use new images
Alexis Laferrière [Sat, 3 May 2014 15:36:33 +0000 (11:36 -0400)]
examples/shoot: use new images

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

9 years agoexamples/shoot: add vectorial images from PyCaptain
Alexis Laferrière [Sat, 26 Apr 2014 01:02:04 +0000 (21:02 -0400)]
examples/shoot: add vectorial images from PyCaptain

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

9 years agoversion 0.6.8 v0.6.8
Jean Privat [Tue, 2 Sep 2014 13:05:35 +0000 (09:05 -0400)]
version 0.6.8

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

9 years agoMerge: Test libs
Jean Privat [Fri, 29 Aug 2014 19:16:42 +0000 (15:16 -0400)]
Merge: Test libs

Improve libs so that all tests on them pass.

Currently, ./testfull.sh does test only a subset of the files in lib/.
With this PR all files in lib are considered.

Changes are:

* some lib files are fixed to allow an independent build for each engine.
* targetless-mnit and linux-mnit automatically exit in a testing environment
* platforms tests are silent, so that niti and sav are easier to manage.

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

9 years agotests: testfull includes all sources in lib/
Jean Privat [Fri, 29 Aug 2014 03:33:12 +0000 (23:33 -0400)]
tests: testfull includes all sources in lib/

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

9 years agotests: add java_io to cc.skip
Jean Privat [Thu, 28 Aug 2014 21:01:52 +0000 (17:01 -0400)]
tests: add java_io to cc.skip

See #696

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

9 years agolib/string_exp: add a missing FFI `import UnicodeChar.len`
Jean Privat [Thu, 28 Aug 2014 20:42:47 +0000 (16:42 -0400)]
lib/string_exp: add a missing FFI `import UnicodeChar.len`

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

9 years agolib/mnit: globally protect from NIT_TESTING
Jean Privat [Thu, 28 Aug 2014 20:42:00 +0000 (16:42 -0400)]
lib/mnit: globally protect from NIT_TESTING

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

9 years agotests: add more .res (or skip) for some libs
Jean Privat [Thu, 28 Aug 2014 20:06:10 +0000 (16:06 -0400)]
tests: add more .res (or skip) for some libs

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

9 years agotests: remove mnit_linux related tests from exec.skip
Jean Privat [Thu, 28 Aug 2014 03:06:15 +0000 (23:06 -0400)]
tests: remove mnit_linux related tests from exec.skip

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

9 years agolib/mnit_linux: globally protect from NIT_TESTING
Jean Privat [Thu, 28 Aug 2014 03:01:08 +0000 (23:01 -0400)]
lib/mnit_linux: globally protect from NIT_TESTING

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

9 years agotests: Not executable plateforms produce empty .res
Jean Privat [Thu, 28 Aug 2014 19:23:46 +0000 (15:23 -0400)]
tests: Not executable plateforms produce empty .res

This reduce the number of .res files and accommodate niti

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

9 years agolib/android: use min_api_version in intent and shared_preferences
Jean Privat [Thu, 28 Aug 2014 18:56:55 +0000 (14:56 -0400)]
lib/android: use min_api_version in intent and shared_preferences

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

9 years agoMerge: Clean tests
Jean Privat [Fri, 29 Aug 2014 01:20:40 +0000 (21:20 -0400)]
Merge: Clean tests

Great scripts to test stuff; most come from unpublished scripts from our Jenkins instance.
A lot of cleaning in the tests/sav directory.
And some unpublished tests

The `search_tests.sh` script is quite useful to retrieve the original program for some test:
~~~.sh
$ ./search_tests.sh hello_world sav/base_var_type_evolution_null_alt3.res
../examples/hello_world.nit
base_var_type_evolution_null.nit
~~~

It will be also used by Jenkins to check that each sav/*res file has a corresponding test; since commit 'tests: add missing test files whose sav files where committed' show that sometime the .res are committed but without the corresponding .nit

The `search_tests_git.sh` looks in the git commit to found modified things to tests.
Basically, the simple usage is to perform all engines on the result:

~~~.sh
$ ./testall.sh `./search_tests_git.sh origin/master HEAD`
~~~

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

9 years agotests: add time and timestamp in tests.sh
Jean Privat [Thu, 28 Aug 2014 20:58:08 +0000 (16:58 -0400)]
tests: add time and timestamp in tests.sh

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

9 years agoMerge: nitdoc: cache `concern_rank`
Jean Privat [Thu, 28 Aug 2014 21:06:44 +0000 (17:06 -0400)]
Merge: nitdoc: cache `concern_rank`

Improve performance of nitdoc by 60 times in some cases!

Fixes #692, nitdoc on RnR goes from 8 min to 7 sec.

Thanks-to: Jean Privat <jean@pryen.org>

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

9 years agotests: add search_tests_git.sh
Jean Privat [Thu, 28 Aug 2014 14:21:33 +0000 (10:21 -0400)]
tests: add search_tests_git.sh

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

9 years agotests: add search_tests.sh to retrieve the original nit files of tests
Jean Privat [Thu, 28 Aug 2014 05:13:11 +0000 (01:13 -0400)]
tests: add search_tests.sh to retrieve the original nit files of tests

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

9 years agotests: activate some exising tests in examples/
Jean Privat [Thu, 28 Aug 2014 04:51:35 +0000 (00:51 -0400)]
tests: activate some exising tests in examples/

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

9 years agotests: add missing test files whose sav files where committed
Jean Privat [Thu, 28 Aug 2014 04:42:06 +0000 (00:42 -0400)]
tests: add missing test files whose sav files where committed

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

9 years agotests: remove remaining and obsolete sav/ files
Jean Privat [Thu, 28 Aug 2014 20:31:33 +0000 (16:31 -0400)]
tests: remove remaining and obsolete sav/ files

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

9 years agotests: split testfull.sh into listfull.sh that just lists testfiles
Jean Privat [Thu, 28 Aug 2014 03:33:53 +0000 (23:33 -0400)]
tests: split testfull.sh into listfull.sh that just lists testfiles

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

9 years agotests: fix errlist
Jean Privat [Thu, 28 Aug 2014 02:37:34 +0000 (22:37 -0400)]
tests: fix errlist

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

9 years agomisc: make public some scripts used by Jenkins
Jean Privat [Thu, 28 Aug 2014 02:16:20 +0000 (22:16 -0400)]
misc: make public some scripts used by Jenkins

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

9 years agonitdoc: cache `concern_rank`
Alexis Laferrière [Thu, 28 Aug 2014 16:07:07 +0000 (12:07 -0400)]
nitdoc: cache `concern_rank`

Improve performance of nitdoc by 60 times in some cases!

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

9 years agoMerge: Less OES in opengles
Jean Privat [Thu, 28 Aug 2014 16:03:41 +0000 (12:03 -0400)]
Merge: Less OES in opengles

Because of things explained in the debian bug [754397](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754397), the compilation of mnit project fails on linux systems with a recent mesa library.

One way to solve the problem is to not rely on the OES symbols that cause the issue.
Fortunately, it seems that classes and methods that use those symbols are unused and tagged broken, so just remove them.

Closes #689
Closes #677

Pull-Request: #694
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/mnit/opengles: cleanup C dependencies.
Jean Privat [Thu, 28 Aug 2014 15:05:15 +0000 (11:05 -0400)]
lib/mnit/opengles: cleanup C dependencies.

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

9 years agolib/mnit/opengles1.nit: remove unused part that rely on _OES symbols
Jean Privat [Thu, 28 Aug 2014 15:04:22 +0000 (11:04 -0400)]
lib/mnit/opengles1.nit: remove unused part that rely on _OES symbols

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

9 years agoMerge: Calculator refactor & numerics proposition
Jean Privat [Thu, 28 Aug 2014 05:15:41 +0000 (01:15 -0400)]
Merge: Calculator refactor & numerics proposition

* Modularize calculator.nit into 3 modules and move to a project structure.
* Rewrite the code behind the displayed string.
* Use numerics to switch nicely between `Float` and `Int`
* No more weird bug with the C button.

The Android UI will follow in another PR.

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

9 years agonitunit: add README for group `testing` and redirect from nitunit doc.
Alexandre Terrasa [Sat, 2 Aug 2014 17:48:47 +0000 (13:48 -0400)]
nitunit: add README for group `testing` and redirect from nitunit doc.

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

9 years agonitunit: allow test-suite skeleton generation.
Alexandre Terrasa [Wed, 27 Aug 2014 06:10:11 +0000 (02:10 -0400)]
nitunit: allow test-suite skeleton generation.

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

9 years agonitunit: allow testing from external files called test-suites.
Alexandre Terrasa [Wed, 27 Aug 2014 06:09:39 +0000 (02:09 -0400)]
nitunit: allow testing from external files called test-suites.

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

9 years agocalculator: add Makefile
Alexis Laferrière [Wed, 6 Aug 2014 00:48:35 +0000 (20:48 -0400)]
calculator: add Makefile

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

9 years agocalculator: major logic refactor, move up display code & use numerics
Alexis Laferrière [Sun, 3 Aug 2014 19:11:01 +0000 (15:11 -0400)]
calculator: major logic refactor, move up display code & use numerics

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

9 years agocalculator: move to a project folder
Alexis Laferrière [Sun, 3 Aug 2014 14:54:14 +0000 (10:54 -0400)]
calculator: move to a project folder

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

9 years agolib: intro the `standard::numeric` module
Alexis Laferrière [Thu, 21 Aug 2014 18:23:27 +0000 (14:23 -0400)]
lib: intro the `standard::numeric` module

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

9 years agoMerge: phase: Do not revisit all annotations for each phase
Jean Privat [Wed, 27 Aug 2014 20:26:49 +0000 (16:26 -0400)]
Merge: phase: Do not revisit all annotations for each phase

Instead of one visit per phase per module, do one single visit per module that collect the nodes.

With the standard `nitg nitg.nit`, the gain is approx 4%. Not so bad.

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

9 years agophase: Do not revisit all annotations for each phase
Jean Privat [Wed, 27 Aug 2014 15:40:58 +0000 (11:40 -0400)]
phase: Do not revisit all annotations for each phase

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

9 years agoMerge: Less char boxings
Jean Privat [Wed, 27 Aug 2014 15:11:16 +0000 (11:11 -0400)]
Merge: Less char boxings

Because of the way the boxing is done in nitg-s, the services in the `Text::chars` view cause unnecessary boxing of chars.

After profiling, we found that the biggest consumers of such boxing are `Lexer::get_token` and `BufferedIStream::read_all`.

Thus, the idea is to implement a efficient `Text::[]` method that do not use the `chars` view. Then to update the two consumers to use it instead.

With `nitg nitg.nit`, the total gain is approx 5%, and the number of boxes of char is reduced by 70% (from 4.8Mboxes to 1.4Mboxes).

Note: this is only an easy workaround until the boxing is done better in nitg (mid-term goal)

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

9 years agoMerge: Clean make
Jean Privat [Wed, 27 Aug 2014 15:11:12 +0000 (11:11 -0400)]
Merge: Clean make

The various Makefile need some love. So, a new recipe `full` can be used to build programs from examples and contrib.

The `clean` recipe is also updated to work and clean stuff.

However, some questions:

1. Should the `clean` recipe clean the binaries? I did not fine a definitive answer on the Internet.
2. Should the binaries be .gitignored?

Note: In a near future, Jenkins may also check that all the Makefile, and their `clean` work as expected.

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

9 years agonitunit: factorize test_dir processing into test_base.
Alexandre Terrasa [Wed, 27 Aug 2014 06:06:46 +0000 (02:06 -0400)]
nitunit: factorize test_dir processing into test_base.

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

9 years agonitunit: split module into one executable and a group named `testing`.
Alexandre Terrasa [Wed, 27 Aug 2014 06:09:00 +0000 (02:09 -0400)]
nitunit: split module into one executable and a group named `testing`.

Introduce module `test_doc` that implements "doc-units".

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

9 years agocontrib/sort_downloads: use relative nitg binary
Jean Privat [Wed, 27 Aug 2014 03:42:44 +0000 (23:42 -0400)]
contrib/sort_downloads: use relative nitg binary

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

9 years agoMakefile: clean the clean recipes
Jean Privat [Tue, 26 Aug 2014 17:53:05 +0000 (13:53 -0400)]
Makefile: clean the clean recipes

And remove the useless dist-clean recipe

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

9 years agoparser: Lexer.get_token use String[j] instead of String.chars[]
Jean Privat [Wed, 27 Aug 2014 02:15:47 +0000 (22:15 -0400)]
parser: Lexer.get_token use String[j] instead of String.chars[]

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

9 years agolib/stream: BufferedIStream.read_all use Buffer[j] instead of Buffer.chars[]
Jean Privat [Wed, 27 Aug 2014 02:15:02 +0000 (22:15 -0400)]
lib/stream: BufferedIStream.read_all use Buffer[j] instead of Buffer.chars[]

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