nit.git
8 years agonitlight: include whole lines and loose tookens
Jean Privat [Sat, 17 Oct 2015 14:02:11 +0000 (10:02 -0400)]
nitlight: include whole lines and loose tookens

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

8 years agohighlight: add flag `include_whole_lines`
Jean Privat [Sat, 17 Oct 2015 02:34:24 +0000 (22:34 -0400)]
highlight: add flag `include_whole_lines`

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

8 years agohighlight: add flag `include_loose_tokens`
Jean Privat [Sat, 17 Oct 2015 02:30:59 +0000 (22:30 -0400)]
highlight: add flag `include_loose_tokens`

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

8 years agohighlight: only highlight the given node, not the whole AST
Jean Privat [Sat, 17 Oct 2015 02:30:31 +0000 (22:30 -0400)]
highlight: only highlight the given node, not the whole AST

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

8 years agonitlight: use `cname` or `full_name` to avoid module conflicts
Jean Privat [Sat, 17 Oct 2015 02:29:35 +0000 (22:29 -0400)]
nitlight: use `cname` or `full_name` to avoid module conflicts

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

8 years agoparallelization_phase: use `ANode::validate` after AST shenanigans.
Jean Privat [Sat, 17 Oct 2015 02:18:44 +0000 (22:18 -0400)]
parallelization_phase: use `ANode::validate` after AST shenanigans.

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

8 years agoastvalidation: add `ANode::validate` to simplify validation
Jean Privat [Sat, 17 Oct 2015 02:18:07 +0000 (22:18 -0400)]
astvalidation: add `ANode::validate` to simplify validation

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

8 years agoMerge: lib/github: clean code and add some services
Jean Privat [Fri, 16 Oct 2015 20:16:09 +0000 (16:16 -0400)]
Merge: lib/github: clean code and add some services

The first objective of this PR is to clean the `github::api` code and remove typing wranings.

It also add new services that can be useful for clients:
* `Issue::is_ull_request`
* Setters to modify GithubEntitties

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

8 years agoMerge: lib/mongodb: minor fixes
Jean Privat [Fri, 16 Oct 2015 20:16:05 +0000 (16:16 -0400)]
Merge: lib/mongodb: minor fixes

This PR apply some fixes to the MongoDB library:
* avoids crash when `Collection::find` returns only one element
* fixes the SegFault workaround in `Collection::find`

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

8 years agolib/github: introduce `Issue::is_pull_request` method
Alexandre Terrasa [Fri, 16 Oct 2015 15:10:49 +0000 (11:10 -0400)]
lib/github: introduce `Issue::is_pull_request` method

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

8 years agolib/github: add setters to all github api entities and events
Alexandre Terrasa [Sat, 27 Jun 2015 00:03:10 +0000 (20:03 -0400)]
lib/github: add setters to all github api entities and events

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

8 years agolib/github: better type safety on json accesses
Alexandre Terrasa [Fri, 26 Jun 2015 01:38:09 +0000 (21:38 -0400)]
lib/github: better type safety on json accesses

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

8 years agolib/github: remove `to_s` on nullable warnings
Alexandre Terrasa [Fri, 26 Jun 2015 01:01:43 +0000 (21:01 -0400)]
lib/github: remove `to_s` on nullable warnings

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

8 years agolib/mongodb: fix segfault in `Collection::find` method
Alexandre Terrasa [Fri, 16 Oct 2015 15:10:05 +0000 (11:10 -0400)]
lib/mongodb: fix segfault in `Collection::find` method

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

8 years agolib/mongodb: collections do not call next when returning only one element
Alexandre Terrasa [Wed, 24 Jun 2015 23:06:24 +0000 (19:06 -0400)]
lib/mongodb: collections do not call next when returning only one element

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

8 years agoMerge: metrics: add some Mendel metrics for classes
Jean Privat [Fri, 16 Oct 2015 12:19:56 +0000 (08:19 -0400)]
Merge: metrics: add some Mendel metrics for classes

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

8 years agoMerge: metrics: not a number fix
Jean Privat [Fri, 16 Oct 2015 12:19:49 +0000 (08:19 -0400)]
Merge: metrics: not a number fix

Skip `nan` values in metrics so the sum and std_div still have sense.

Also change `Metric::collect` to accept any kind of `Collection`.

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

8 years agoMerge: Set HashMapIterator as a private class.
Jean Privat [Fri, 16 Oct 2015 12:19:43 +0000 (08:19 -0400)]
Merge: Set HashMapIterator as a private class.

Other specific iterators are private. So this PR uniformize with HashMapIterator.

@privat you should check this.

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

8 years agoMerge: FlatText is a private class
Jean Privat [Fri, 16 Oct 2015 12:19:42 +0000 (08:19 -0400)]
Merge: FlatText is a private class

This PR does two things:
* Define `FlatText` as a private class. Since every clients were using an intrude import, their code do not change.
* Remove nullable warning in text::flat

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

8 years agoMerge: lib/graphs: introduce PageRank computation on digraphs
Jean Privat [Fri, 16 Oct 2015 12:19:39 +0000 (08:19 -0400)]
Merge: lib/graphs: introduce PageRank computation on digraphs

Implement famous Google's `PageRank` algorithm for directed graphs.

Ping @ablondin

Pull-Request: #1706
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Blondin Massé <alexandre.blondin.masse@gmail.com>

8 years agometrics: add some Mendel metrics for classes
Alexandre Terrasa [Thu, 15 Oct 2015 22:55:59 +0000 (18:55 -0400)]
metrics: add some Mendel metrics for classes

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

8 years agometrics: make Metric interface accept any kind of collection
Alexandre Terrasa [Thu, 15 Oct 2015 21:42:15 +0000 (17:42 -0400)]
metrics: make Metric interface accept any kind of collection

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

8 years agometrics: skip `not a number` values when computinh the sum and std_dev
Alexandre Terrasa [Thu, 15 Oct 2015 21:41:50 +0000 (17:41 -0400)]
metrics: skip `not a number` values when computinh the sum and std_dev

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

8 years agocore/collection: set HashMapIterator as private
Alexandre Terrasa [Thu, 15 Oct 2015 17:51:10 +0000 (13:51 -0400)]
core/collection: set HashMapIterator as private

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

8 years agocore/text: remove call on nullable warnings
Alexandre Terrasa [Thu, 15 Oct 2015 21:35:17 +0000 (17:35 -0400)]
core/text: remove call on nullable warnings

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

8 years agolib/graphs: introduce PageRank computation on digraphs
Alexandre Terrasa [Thu, 15 Oct 2015 21:31:56 +0000 (17:31 -0400)]
lib/graphs: introduce PageRank computation on digraphs

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

8 years agolib/graphs: introduce `show_dot` for debugging digraphs.
Alexandre Terrasa [Fri, 11 Sep 2015 16:48:32 +0000 (12:48 -0400)]
lib/graphs: introduce `show_dot` for debugging digraphs.

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

8 years agolib/graphs: clean digraph.nit whitespaces
Alexandre Terrasa [Fri, 11 Sep 2015 16:47:40 +0000 (12:47 -0400)]
lib/graphs: clean digraph.nit whitespaces

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

8 years agocore/text: make FlatText private
Alexandre Terrasa [Thu, 15 Oct 2015 17:39:03 +0000 (13:39 -0400)]
core/text: make FlatText private

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

8 years agoMerge: mnit: Fix error on refined virtual types
Jean Privat [Tue, 13 Oct 2015 16:29:59 +0000 (12:29 -0400)]
Merge: mnit: Fix error on refined virtual types

Simple fix for the "Redef Error" in mnit clients: do not redef virtual types, instead assert the types in the users methods.

Pull-Request: #1751
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Rationalize the usages of tools on packages
Jean Privat [Tue, 13 Oct 2015 16:29:43 +0000 (12:29 -0400)]
Merge: Rationalize the usages of tools on packages

In order to have autonomous packages, they should be coherent and work as is without specific user hack.

The remaining issues are:

* The absence of required source files (eg. because generated by nitcc or nitserial) that make tools unusable or reports error. The proposed solution is a new optional Makefile goal `pre-build` that has to generate the missing files. close #1720

* The requirement of arbitrary `-I` that make the tools (eg the vim plugin) unusable on the projects without prior knowledge.
The only project that use a rogue -I is `online_editor` that require things from nitc.
The proposed solution is to virtually move src to contrib/nitc as a symbolic link.
New project could then choose to import nitc (or parts of it) without being in src.

* The presence of broken nit files. Currently, only 3 broken files remain: `contrib/pep8analysis/src/parser/parser_abs.nit`, `contrib/nitc/parser/parser_abs.nit` and `contrib/nitcc/src/nitcc_lexer0.nit`. These are still open issues and will be dealt latter.

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

8 years agoonline_ide: imports nitc (symlinked from contrib)
Jean Privat [Wed, 7 Oct 2015 15:24:50 +0000 (11:24 -0400)]
online_ide: imports nitc (symlinked from contrib)

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

8 years agocontrib: add `nitc` as a symbolic link to `src` so projects can import nitc
Jean Privat [Wed, 7 Oct 2015 15:23:39 +0000 (11:23 -0400)]
contrib: add `nitc` as a symbolic link to `src` so projects can import nitc

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

8 years agotinks: nitserial requires a valid model, so with a generated drawing.nit
Jean Privat [Wed, 7 Oct 2015 15:23:21 +0000 (11:23 -0400)]
tinks: nitserial requires a valid model, so with a generated drawing.nit

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

8 years agotests: do not expect the "Redef Error" on mnit clients
Alexis Laferrière [Sun, 11 Oct 2015 16:23:12 +0000 (12:23 -0400)]
tests: do not expect the "Redef Error" on mnit clients

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

8 years agolib/mnit: do not redef virtual types
Alexis Laferrière [Sun, 11 Oct 2015 16:16:43 +0000 (12:16 -0400)]
lib/mnit: do not redef virtual types

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

8 years agoMerge: Multi iterators
Jean Privat [Wed, 7 Oct 2015 17:53:39 +0000 (13:53 -0400)]
Merge: Multi iterators

Introduce multi-iterators in `for`.

A single `for` can now iterates over more than one collection at once. An iterator is used for each collection and the iteration is finished once the shortest iterator is finished.

~~~nit
for i in [10, 20, 30], j in [1..10] do print i+j # outputs 11 22 33
~~~

As expected by POLA, multi-iterators are also naturally usable on maps and comprehension arrays

~~~nit
var m = new HashMap[Int,String]
m[1] = "one"
m[2] = "two"
for k, v in m, i in [1..10] do print "{k}:{v}:{i}"
# outputs 1:one:1 2:two:2

var a = [for i in [10, 20, 30], j in [1..10] do i + j]
print a # outputs [11, 22, 33]
~~~

Close #1735

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

8 years agotransform: reactivate shortcut_range by not transforming it prematurely
Jean Privat [Wed, 7 Oct 2015 15:54:52 +0000 (11:54 -0400)]
transform: reactivate shortcut_range by not transforming it prematurely

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

8 years agoMakefiles: add pre-build
Jean Privat [Wed, 7 Oct 2015 15:21:01 +0000 (11:21 -0400)]
Makefiles: add pre-build

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

8 years agoMerge: Detach CallSite from the AST
Jean Privat [Wed, 7 Oct 2015 14:03:39 +0000 (10:03 -0400)]
Merge: Detach CallSite from the AST

A minor cleanup in the model that reduces the coupling of the model and the AST.

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

8 years agoMerge: More robustness in keep going
Jean Privat [Wed, 7 Oct 2015 14:02:59 +0000 (10:02 -0400)]
Merge: More robustness in keep going

A pass on the various modules of `nitc` to make them more robust when `keep_going` is activated.

The main changes are the introductions of the flags `is_broken` in the root classes ANode and MEntity. This flags simplify the clients code to check the validity of entities before working with them.

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

8 years agopretty: handle multi-iterators
Jean Privat [Wed, 7 Oct 2015 02:30:08 +0000 (22:30 -0400)]
pretty: handle multi-iterators

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

8 years agohighlight: handle multi-iterators
Jean Privat [Wed, 7 Oct 2015 02:29:46 +0000 (22:29 -0400)]
highlight: handle multi-iterators

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

8 years agotests: add tests for multi-iterators
Jean Privat [Wed, 7 Oct 2015 01:56:32 +0000 (21:56 -0400)]
tests: add tests for multi-iterators

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

8 years agotests: update sav/test_parser* because AST changes
Jean Privat [Wed, 7 Oct 2015 12:53:08 +0000 (08:53 -0400)]
tests: update sav/test_parser* because AST changes

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

8 years agotests: update error message because of new iterators AST
Jean Privat [Wed, 7 Oct 2015 01:51:33 +0000 (21:51 -0400)]
tests: update error message because of new iterators AST

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

8 years agotyping: use `location` attribute instead of `node` to isolate CallSite from the AST
Jean Privat [Wed, 7 Oct 2015 02:23:19 +0000 (22:23 -0400)]
typing: use `location` attribute instead of `node` to isolate CallSite from the AST

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

8 years agotyping: add a node parameter to `CallSite::check_signature`
Jean Privat [Tue, 6 Oct 2015 22:47:35 +0000 (18:47 -0400)]
typing: add a node parameter to `CallSite::check_signature`

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

8 years agointerpreter&vm: handle multi-iterator
Jean Privat [Wed, 7 Oct 2015 01:50:45 +0000 (21:50 -0400)]
interpreter&vm: handle multi-iterator

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

8 years agocompiler: handle multi-iterators
Jean Privat [Wed, 7 Oct 2015 01:49:49 +0000 (21:49 -0400)]
compiler: handle multi-iterators

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

8 years agotransform: rewrite the AFor transformation to handle multi-iterators
Jean Privat [Wed, 7 Oct 2015 01:33:19 +0000 (21:33 -0400)]
transform: rewrite the AFor transformation to handle multi-iterators

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

8 years agofrontend: handle multi-iterators
Jean Privat [Wed, 7 Oct 2015 01:33:10 +0000 (21:33 -0400)]
frontend: handle multi-iterators

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

8 years agoparser: regenerate with multi-iterators
Jean Privat [Wed, 7 Oct 2015 01:30:45 +0000 (21:30 -0400)]
parser: regenerate with multi-iterators

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

8 years agogrammar: add `for_group` in `for` for multi-iterators
Jean Privat [Wed, 7 Oct 2015 01:30:20 +0000 (21:30 -0400)]
grammar: add `for_group` in `for` for multi-iterators

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

8 years agohighlight: Remove useless `super` since CallSite isa MEntity
Jean Privat [Tue, 6 Oct 2015 22:34:26 +0000 (18:34 -0400)]
highlight: Remove useless `super` since CallSite isa MEntity

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

8 years agotyping: make `CallSite` a `MEntity` so that `is_broken` can be used
Jean Privat [Tue, 6 Oct 2015 20:17:18 +0000 (16:17 -0400)]
typing: make `CallSite` a `MEntity` so that `is_broken` can be used

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

8 years agomodel: use the robust `intro_mmodule` instead of `intro.mmodule`.
Jean Privat [Tue, 6 Oct 2015 19:33:54 +0000 (15:33 -0400)]
model: use the robust `intro_mmodule` instead of `intro.mmodule`.

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

8 years agocompiler: skip broken entities
Jean Privat [Tue, 6 Oct 2015 19:27:35 +0000 (15:27 -0400)]
compiler: skip broken entities

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

8 years agotests: update sav for some tests thanks to better error management
Jean Privat [Tue, 6 Oct 2015 19:00:56 +0000 (15:00 -0400)]
tests: update sav for some tests thanks to better error management

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

8 years agomodel: add `MEntity::is_broken`
Jean Privat [Tue, 6 Oct 2015 19:00:21 +0000 (15:00 -0400)]
model: add `MEntity::is_broken`

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

8 years agonitc: print errors if all modules are invalid
Jean Privat [Tue, 6 Oct 2015 18:52:36 +0000 (14:52 -0400)]
nitc: print errors if all modules are invalid

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

8 years agosemantize: set and use `ANode::is_broken`
Jean Privat [Tue, 6 Oct 2015 18:37:09 +0000 (14:37 -0400)]
semantize: set and use `ANode::is_broken`

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

8 years agomodelbuilder: add `ANode::is_broken`
Jean Privat [Tue, 6 Oct 2015 15:53:32 +0000 (11:53 -0400)]
modelbuilder: add `ANode::is_broken`

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

8 years agomodel: make `MPropDef::is_intro` more robust
Jean Privat [Tue, 6 Oct 2015 15:50:59 +0000 (11:50 -0400)]
model: make `MPropDef::is_intro` more robust

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

8 years agoMerge: Cleanup for Gamnit integration
Jean Privat [Tue, 6 Oct 2015 15:26:32 +0000 (11:26 -0400)]
Merge: Cleanup for Gamnit integration

This PR updates and cleans up many services used by mnit and gamnit. It also squeezes together the images of crazy moles, for a more efficient spritesheet easier to handle.

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

8 years agoMerge: src: fix null receiver error on useless-signature warning
Jean Privat [Tue, 6 Oct 2015 15:26:30 +0000 (11:26 -0400)]
Merge: src: fix null receiver error on useless-signature warning

This caused most tools to crash on some useless types in redefined signatures. In my case, there was other problems in the same propdef, so it looks like it was not handling properly a "keep going" logic.

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

8 years agocontrib/crazy_moles: squeeze together each images for a smaller PNG file
Alexis Laferrière [Wed, 16 Sep 2015 13:52:46 +0000 (09:52 -0400)]
contrib/crazy_moles: squeeze together each images for a smaller PNG file

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

8 years agolib/gamnit: fix constructor of `GLfloatArray`
Alexis Laferrière [Thu, 1 Oct 2015 02:39:08 +0000 (22:39 -0400)]
lib/gamnit: fix constructor of `GLfloatArray`

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

8 years agolib/mnit: use abstract attributes
Alexis Laferrière [Sat, 26 Sep 2015 18:26:48 +0000 (14:26 -0400)]
lib/mnit: use abstract attributes

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

8 years agosrc: fix null receiver error on useless-signature warning
Alexis Laferrière [Sun, 4 Oct 2015 18:55:39 +0000 (14:55 -0400)]
src: fix null receiver error on useless-signature warning

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

8 years agolib/geometry: points attributes are writable
Alexis Laferrière [Tue, 29 Sep 2015 20:48:27 +0000 (16:48 -0400)]
lib/geometry: points attributes are writable

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

8 years agolib/sdl: amask is an Int, not a Bool
Alexis Laferrière [Sat, 3 Oct 2015 22:47:05 +0000 (18:47 -0400)]
lib/sdl: amask is an Int, not a Bool

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

8 years agolib/android: update constructors in assets_and_resources
Alexis Laferrière [Wed, 16 Sep 2015 13:51:35 +0000 (09:51 -0400)]
lib/android: update constructors in assets_and_resources

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

8 years agoversion 0.7.8 v0.7.8
Jean Privat [Wed, 30 Sep 2015 15:42:08 +0000 (11:42 -0400)]
version 0.7.8

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

8 years agoMerge: Basename fix
Jean Privat [Mon, 28 Sep 2015 14:42:57 +0000 (10:42 -0400)]
Merge: Basename fix

Should close #1736 if performances are adequate for @privat.

This PR optimizes some methods in both `SequenceRead` and `FlatString`, on the test program exposed in #1736, the valgrind runtime has gone from 418,872,526 Ir to 136,522,095 Ir (~67.5% improvement)

Some more improvements could be observed if we could get rid of some useless Boxes in `NativeString::to_s_with_copy` because of a `is_same_instance` which boxes NativeStrings (24k allocations in total to remove).

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

8 years agoMerge: glesv2: services for textures, shaders, framebuffers, renderbuffers & more...
Jean Privat [Mon, 28 Sep 2015 14:37:02 +0000 (10:37 -0400)]
Merge: glesv2: services for textures, shaders, framebuffers, renderbuffers & more, and update API

Intro wrappers to work with textures, shaders, framebuffers and renderbuffers, synchronize with server and set clear values of buffers. Update most of the remaining enumerations and some more services to the new API style. Add a makefile to generate a wrapper stub from the local GLES2/gl2.h header file.

FYI, there's approximatly only 65 functions left to wrap, out of 141.

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

8 years agoMerge: Make stream and iterators withable
Jean Privat [Mon, 28 Sep 2015 14:36:59 +0000 (10:36 -0400)]
Merge: Make stream and iterators withable

As I wanted to use the `with` statement on Iterators in order to experiment with #1735, I realized that neither them not stream are usable with `with` since they lack the required methods.

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

8 years agoMerge: Bytes is now Writable
Jean Privat [Mon, 28 Sep 2015 14:36:07 +0000 (10:36 -0400)]
Merge: Bytes is now Writable

As @xymus requested, `Bytes` is now a subclass of `Writable`

Pull-Request: #1738
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoMerge: Fixes for ordered trees
Jean Privat [Mon, 28 Sep 2015 14:35:40 +0000 (10:35 -0400)]
Merge: Fixes for ordered trees

Some fixes related of the last changes

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

8 years agoMerge: Fix fdroid
Jean Privat [Mon, 28 Sep 2015 14:35:35 +0000 (10:35 -0400)]
Merge: Fix fdroid

Some fixups for apps to appears in the fdroid

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

8 years agoMerge: Faster scan in the loader
Jean Privat [Mon, 28 Sep 2015 14:35:33 +0000 (10:35 -0400)]
Merge: Faster scan in the loader

Some people experienced a slowdown in nitls and nitpick since the last changes in the loader.

The culprit where mostly expensive services on strings and filepaths. see #1736
This PR improves the current state of affairs by using less expensive services or rearrange them.

For `time nitls -pt ../contrib/ ../lib ../examples/`

Before:
* real 0m2.159s
* user 0m1.840s
* sys 0m0.288s

After:
* real 0m0.545s (-75%)
* user 0m0.352s (-81%)
* sys 0m0.172s

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

8 years agoMerge: More ini
Jean Privat [Mon, 28 Sep 2015 14:35:27 +0000 (10:35 -0400)]
Merge: More ini

Fix some package.ini so that there is no more `none` pseudo-tag in the catalog

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

8 years agotests: Added test for basename and related methods
Lucas Bajolet [Fri, 25 Sep 2015 20:02:04 +0000 (16:02 -0400)]
tests: Added test for basename and related methods

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

8 years agolib/core: Optimized generation of Boxes in to_s_with_copy
Lucas Bajolet [Fri, 25 Sep 2015 18:25:30 +0000 (14:25 -0400)]
lib/core: Optimized generation of Boxes in to_s_with_copy

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

8 years agolib/core: Added specialized implementation of file_extension and basename on FlatString
Lucas Bajolet [Fri, 25 Sep 2015 18:24:57 +0000 (14:24 -0400)]
lib/core: Added specialized implementation of file_extension and basename on FlatString

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

8 years agolib/gamnit examples: change the background of the triangle per frame
Alexis Laferrière [Thu, 17 Sep 2015 12:04:43 +0000 (08:04 -0400)]
lib/gamnit examples: change the background of the triangle per frame

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

8 years agolib/glesv2 & gamnit: update examples to the new API
Alexis Laferrière [Sun, 27 Sep 2015 15:58:05 +0000 (11:58 -0400)]
lib/glesv2 & gamnit: update examples to the new API

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

8 years agolib/glesv2: intro a Makefile to automate wrapping
Alexis Laferrière [Sun, 27 Sep 2015 13:42:59 +0000 (09:42 -0400)]
lib/glesv2: intro a Makefile to automate wrapping

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

8 years agolib/glesv2: update more misc services
Alexis Laferrière [Sun, 27 Sep 2015 16:41:09 +0000 (12:41 -0400)]
lib/glesv2: update more misc services

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

8 years agolib/glesv2: update API style of glGetError
Alexis Laferrière [Sun, 27 Sep 2015 16:39:04 +0000 (12:39 -0400)]
lib/glesv2: update API style of glGetError

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

8 years agolib/glesv2: intro services to synchronize operations on the server
Alexis Laferrière [Sun, 27 Sep 2015 14:31:27 +0000 (10:31 -0400)]
lib/glesv2: intro services to synchronize operations on the server

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

8 years agolib/glesv2: intro services to set the clear values of buffers and filters
Alexis Laferrière [Sun, 27 Sep 2015 14:30:49 +0000 (10:30 -0400)]
lib/glesv2: intro services to set the clear values of buffers and filters

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

8 years agolib/glesv2: move glClearColor and glViewport to the new API style
Alexis Laferrière [Sat, 26 Sep 2015 18:27:22 +0000 (14:27 -0400)]
lib/glesv2: move glClearColor and glViewport to the new API style

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

8 years agolib/glesv2: move more enums to the new API style
Alexis Laferrière [Thu, 17 Sep 2015 13:47:36 +0000 (09:47 -0400)]
lib/glesv2: move more enums to the new API style

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

8 years agolib/glesv2: move some program related services with the new API
Alexis Laferrière [Thu, 17 Sep 2015 11:44:57 +0000 (07:44 -0400)]
lib/glesv2: move some program related services with the new API

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

8 years agolib/glesv2: fix signature of glTexImage2D and accept any pointer to pixels data
Alexis Laferrière [Thu, 17 Sep 2015 01:10:37 +0000 (21:10 -0400)]
lib/glesv2: fix signature of glTexImage2D and accept any pointer to pixels data

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

8 years agolib/glesv2: move shaders services to the new API style
Alexis Laferrière [Thu, 17 Sep 2015 18:38:33 +0000 (14:38 -0400)]
lib/glesv2: move shaders services to the new API style

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

8 years agolib/glesv2: intro framebuffers services
Alexis Laferrière [Thu, 17 Sep 2015 01:10:09 +0000 (21:10 -0400)]
lib/glesv2: intro framebuffers services

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

8 years agolib/glesv2: intro renderbuffer services
Alexis Laferrière [Thu, 17 Sep 2015 01:09:39 +0000 (21:09 -0400)]
lib/glesv2: intro renderbuffer services

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

8 years agolib/glesv2: intro texture related services
Alexis Laferrière [Sat, 12 Sep 2015 16:15:03 +0000 (12:15 -0400)]
lib/glesv2: intro texture related services

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