Jean Privat [Mon, 21 Jul 2014 14:44:32 +0000 (10:44 -0400)]
Merge: Neo4j: bug fixes and improvments
Changes:
* avoid node duplication by force loading nodes from local store
* better handling of big graphes through separation of nodes and edges loading
* try to speed things up with nodes data preloading from `nodes_with_labels` response
Pull-Request: #597
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 21 Jul 2014 14:44:17 +0000 (10:44 -0400)]
Merge: Implement FFI global references in nitg
Finally follows the spec of the FFI.
Works with the `minesweeper` test case by @Freddrickk, but not with nitvm #582 (more on that later).
Pull-Request: #595
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 21 Jul 2014 14:44:04 +0000 (10:44 -0400)]
Merge: Annotation helper
New module `annotation` that factorize some common code on users of annotations.
Pull-Request: #596
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 21 Jul 2014 14:43:55 +0000 (10:43 -0400)]
Merge: src: some documentation on parser and model
So that the new nitdoc has something to display
Pull-Request: #594
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 21 Jul 2014 13:27:24 +0000 (09:27 -0400)]
src: some documentation on parser and model
Jean Privat [Mon, 21 Jul 2014 01:00:52 +0000 (21:00 -0400)]
Merge: src/android: Modified annotations names to avoid ambiguities
As discussed with @xymus, modified the 3 recently merged annotations names from `min_sdk_version`, `target_sdk_version`, `max_sdk_version` to `min_api_version`, `target_api_version`, `max_api_version` to avoid ambiguities as the android documentation related to these AndroidManifest entries always refers to it as *API Level* settings.
#568 depends on this PR because the annotations will be renamed on the test files.
Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
Pull-Request: #599
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 21 Jul 2014 01:00:47 +0000 (21:00 -0400)]
Merge: Nity interface to Sqlite3 (A nicer wrapper to the old low-level Sqlite3 module)
No exposed extern classes, `is_open` method and an iterator!
Pull-Request: #584
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Frédéric Vachon [Sun, 20 Jul 2014 19:28:56 +0000 (15:28 -0400)]
src/android: Changed annotations names to avoid ambiguities
Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
Alexandre Terrasa [Sun, 20 Jul 2014 16:24:19 +0000 (12:24 -0400)]
neo4j: preload data from `nodes_with_label` response.
Speed things a little up with this shortcut.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sun, 20 Jul 2014 16:23:15 +0000 (12:23 -0400)]
neo4j: save and load edges separately from nodes.
Edges must be laoded manually by the user, this allow him to control
the way nodes and edges are loaded in memory and avoir out of memory
exception on big graphs.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sun, 20 Jul 2014 16:20:43 +0000 (12:20 -0400)]
neo4j: try to load nodes from `local_nodes`
Avoid duplication of nodes from `load_node` service.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Sat, 19 Jul 2014 15:28:58 +0000 (11:28 -0400)]
tests: set nitvm_args3 as undefined
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 19 Jul 2014 00:11:03 +0000 (20:11 -0400)]
nitvm: replace hack by incr_refs
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Sat, 19 Jul 2014 03:20:53 +0000 (23:20 -0400)]
src: use the new module annotation in exising modules
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 19 Jul 2014 03:19:18 +0000 (23:19 -0400)]
src: new module annoation to help with annotations
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Sat, 19 Jul 2014 02:22:48 +0000 (22:22 -0400)]
tests: test incr_ref with lots of short-lived (in Nit) objects
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 18 Jul 2014 23:40:55 +0000 (19:40 -0400)]
FFI: implement the global reference functions
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 18 Jul 2014 17:57:10 +0000 (13:57 -0400)]
FFI: use libgc allocs
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 18 Jul 2014 18:57:50 +0000 (14:57 -0400)]
Merge: nitg: Added 3 annotations related to API level target and support for Android projects
It enables to add the minimum, maximum and target API level annotations in android projects. The annotations are as follows :
~~~
min_sdk_version(Int)
max_sdk_version(Int)
target_sdk_version(Int)
~~~
The target is the API used to build the project, the minimum sdk version specifies the minimum android API needed to run the app and the maximum is the maximum API level that can run the app. This PR allows to build for all android platforms instead of API 10 and below only. (API are platform versions)
The tests are structured to conform to #568. When #568 will me merged, the tests will have to be imported in `complete_mnit_android.nit`.
Won't compile before #580 is merged.
Pull-Request: #581
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 18 Jul 2014 18:53:42 +0000 (14:53 -0400)]
Merge: Attributes access with perfect hashing in nitvm
Runtime structures for accessing attributes in objects of the source program are now calculated.
Attributes access in runtime objects of the virtual machine is now functionnal with perfect hashing.
And some changes to improve the code in vm.nit
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Pull-Request: #582
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Julien Pagès [Fri, 18 Jul 2014 14:24:23 +0000 (16:24 +0200)]
nitvm: fix a crash caused by a bad allocation of virtual tables
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Wed, 16 Jul 2014 13:10:33 +0000 (15:10 +0200)]
nitvm: use perfect hashing for atribute access
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Alexis Laferrière [Thu, 17 Jul 2014 18:09:16 +0000 (14:09 -0400)]
tests: test some errors of sqlite3
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 17 Jul 2014 18:04:28 +0000 (14:04 -0400)]
lib/sqlite3: store and use the error code of a failed database opening
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 18 Jul 2014 16:50:31 +0000 (12:50 -0400)]
Merge: remove unmaintained documentation: developpez and nitreference
Maybe things from `developpez` (form early 2011) could be updated an put on the website?
Pull-Request: #588
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Fri, 18 Jul 2014 16:50:26 +0000 (12:50 -0400)]
Merge: nitunit: remove a deprecated TODO
Pull-Request: #593
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Alexis Laferrière [Wed, 16 Jul 2014 16:49:46 +0000 (12:49 -0400)]
tests: add a test for the Nity sqlite3 module
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 16 Jul 2014 15:28:17 +0000 (11:28 -0400)]
lib/sqlite3: intro nity interface
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 18 Jul 2014 02:32:41 +0000 (22:32 -0400)]
Merge: Fix asnotnull
Add warnings on useless as(not null) (one less TODO) and fix the bug on non-null primitives.
Fixes #589
Pull-Request: #591
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 18 Jul 2014 12:56:03 +0000 (08:56 -0400)]
neo4j: remove some as(notnull) to supress warnings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Jul 2014 13:24:30 +0000 (09:24 -0400)]
Merge 'origin/master' into fix-asnotnull to supress new warnings
Julien Pagès [Wed, 16 Jul 2014 13:08:42 +0000 (15:08 +0200)]
nitvm: clean the code and add some comments
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Wed, 16 Jul 2014 14:17:12 +0000 (16:17 +0200)]
niti: add write_attribute as a unique entry point
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Jean Privat [Fri, 18 Jul 2014 00:58:50 +0000 (20:58 -0400)]
nitunit: remove a deprecated TODO
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 21:39:09 +0000 (17:39 -0400)]
Merge: lib: Introduce neo4j connector
La même avec curl et json embarqués.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #579
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Thu, 17 Jul 2014 21:39:00 +0000 (17:39 -0400)]
Merge: Clean up GCC warnings on Android compilation
Corrects a bug, and avoid an error from #589
Pull-Request: #590
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Thu, 17 Jul 2014 19:28:39 +0000 (15:28 -0400)]
Merge: Toward the kill of oldstyle attributes
The transition from old-style to new-style attributes is a mess (cf. #280)
So in order to facilitate the transition, this patch enable the access to the internal attribute previously hidden by then new_style attribute.
Therefore, the transition path is simpler since one can move declaration from old-style to new-style but some access can still use the old `_foo` notation.
Note, the `_foo` access is not mean to be publicized bu only made available for specific short-term workarounds and transitions.
Practically, internal attribute named are prefixed with `_` and made visible (but private)
~~~
class A
var foo: Int # introduce `foo`, `foo=` and, now, `_foo`
fun bar do print _foo # Valid, it is a direct access to the real attribute behind the service `foo`
end
~~~
Note: because of bootstrap issues (in lib and parser), the remaining old-style attribute declarations remain and will be nuked in a future point after the regeneration of c_src
Pull-Request: #585
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Thu, 17 Jul 2014 19:28:31 +0000 (15:28 -0400)]
Merge: Some more syntax
Just a preparation for the next c_src where new syntax is injected.
The only one fully implemented is anonymous label
~~~.rb
do
for i in coll do if i == 0 then break label
stuff
end label
~~~
Pull-Request: #573
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Thu, 17 Jul 2014 19:28:25 +0000 (15:28 -0400)]
Merge: Multiple compilation
This (long?) PR has a simple goal, enable the compilation of multiple main programs in a single `nitg` execution.
~~~
$ bin/nitg src/nit*.nit --dir bin
~~~
The point is to factorize the shared frontend parts.
The previous single command takes 49s, so it is nice improvement on the current 1m10s total required to compile each one independently.
Under the hood, only the frontend (parsing, model, typing, etc.) is shared.
It means that a full code generation phase (`run_global_phase`) is executed for each main modules.
This allows to mix platforms or having global optimizations specific to each main program.
~~~
$ bin/nitg contrib/pep8analysis/src/pep8analysis.nit contrib/pep8analysis/src/pep8analysis_web.nit
~~~
This PR is long because some issues in the current code needed to be solved first:
* some parts in coloration assumed that all entities of the model belong to the compiled programs.
* some parts in the ffi attach some compilation inforrmation to the model or ast objects
* some platform-related things modified values in the command-line options in toolcontext
Pull-Request: #583
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Tue, 15 Jul 2014 20:13:57 +0000 (16:13 -0400)]
tests: remove remaining old-style attributes declarations
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 18:35:07 +0000 (14:35 -0400)]
tests: inmprove base_as_notnull*.nit and update tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 18:28:11 +0000 (14:28 -0400)]
comp: skip .as(not null) on not pointer values
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 18:27:22 +0000 (14:27 -0400)]
typing: warn for useless .as(not null)
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Wed, 16 Jul 2014 16:45:39 +0000 (12:45 -0400)]
tests: rename and update low-level sqlite3 test
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 17 Jul 2014 17:50:26 +0000 (13:50 -0400)]
code: remove useless as(not null)
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Thu, 17 Jul 2014 17:27:11 +0000 (13:27 -0400)]
lib/android: remove useless as(not null) from audio
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 17 Jul 2014 17:25:50 +0000 (13:25 -0400)]
FFI with Java: correctly resolve the return types of callback to Nit from Java
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexandre Terrasa [Thu, 17 Jul 2014 16:15:51 +0000 (12:15 -0400)]
lib: introduce neo4j connector
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Thu, 17 Jul 2014 15:17:04 +0000 (11:17 -0400)]
Merge: Phasify nitdoc
Launch nitdoc as a global phase (like metrics or nitg)
First commit is a cleanup that really detach doc/* from the modelbuilder.
Then some cleanup on `is_fictive`
Following commit remove the class NitdocContext and use ToolContext instead.
Last commit create add NitdocPhase that just instantiate and run Nitdoc.
Pull-Request: #587
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Thu, 17 Jul 2014 15:16:17 +0000 (11:16 -0400)]
Merge: Test nitvm
Add the engine `nitvm` in tests.sh so the developers of the vm can rely on the complex test framework.
1. compile nitvm (put it in src/ or bin/)
2. `$ cd tests`
3. `$ ./tests.sh --engine nitvm base*.nit` for some tests
4. `$ ./testfull.sh --engine nitvm` for all tests (long!)
Note: currently some tests (typing related) fails.
Note2: once the vm pass all tests, a new PR is needed so it is automatically built and tested.
Pull-Request: #586
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Thu, 17 Jul 2014 14:12:38 +0000 (10:12 -0400)]
remove unmaintained documentation: developpez and nitreference
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 01:50:35 +0000 (21:50 -0400)]
nitdoc: use global phase (process_mainmodule)
Jean Privat [Thu, 17 Jul 2014 01:29:11 +0000 (21:29 -0400)]
nitdoc: replace NitdocContext by ToolContext
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 14:00:15 +0000 (10:00 -0400)]
modelbuilder: automatic mainmodule from run_global_phases is fictive
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 13:58:21 +0000 (09:58 -0400)]
model: promote `is_fictive` from doc_model
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 13:52:21 +0000 (09:52 -0400)]
doc: use `is_fictive` instead of relying on the module name
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 01:48:23 +0000 (21:48 -0400)]
markdown: privately import things and uptate clients
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 01:09:04 +0000 (21:09 -0400)]
tests.sh: introduce new engine nitvm
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 01:08:02 +0000 (21:08 -0400)]
tests.sh: use variable isinterpret instead of hard-coded checks
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jul 2014 00:40:08 +0000 (20:40 -0400)]
Merge: xdg_basedir
Will also be used to implement #559.
Pull-Request: #570
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 21:01:58 +0000 (17:01 -0400)]
tests: update test_parser
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 14 Jul 2014 15:09:06 +0000 (11:09 -0400)]
tests: add base_label_while2.nit for anonymous labels
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 14 Jul 2014 15:08:22 +0000 (11:08 -0400)]
scope: correcty handle anonynous labels
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 14 Jul 2014 14:36:05 +0000 (10:36 -0400)]
parser: regenerate with new last grammar changes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 14 Jul 2014 14:25:12 +0000 (10:25 -0400)]
grammer: accept redef and visibility in front of annotation
~~~
var foo is public bar
fun baz is
# doc
redef private foobar
end
~~~
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 26 Jun 2014 09:37:49 +0000 (05:37 -0400)]
grammar: accept redef and visibility on module declaration
The visibility on modules will hide thing inter-projects
The redef is accepted only for convenience, and could
be rejected on a latter analysis.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 18 Jun 2014 19:57:14 +0000 (15:57 -0400)]
grammar: accept annotations in implicit extern methods
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 18 Jun 2014 02:17:58 +0000 (22:17 -0400)]
grammar: add elipsys notation to pass an expression in a vararg parameter
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 18 Jun 2014 01:51:35 +0000 (21:51 -0400)]
grammar: accept annonymous label
Often, a single label is needed, for aborting some neested loops for
instance. But the programmer was forced to still gives a name to a
label. This yielded to crasy or useless names,
The proposal is to allow anonymous label.
Eg. in the following, the break breaks the x loop
~~~
for x in xs do
for y in ys do
stuff
if something then break label
end
stuff
end label
~~~
Note: by the way, valued breaks and continues are removed.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 18 Jun 2014 01:13:12 +0000 (21:13 -0400)]
grammar: accept `public` as a valid visibility
It has the same semantic than no explicit visibility, but
will allows a simpler transition to a new visibility level.
See: #499
Signed-off-by: Jean Privat <jean@pryen.org>
Frédéric Vachon [Wed, 16 Jul 2014 02:46:31 +0000 (22:46 -0400)]
test/mnit_simple: Added tests for API level related annotations
Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
Frédéric Vachon [Wed, 16 Jul 2014 01:55:18 +0000 (21:55 -0400)]
src/android: Added 3 metadata annotations for API Level related matters
Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
Jean Privat [Tue, 15 Jul 2014 20:10:44 +0000 (16:10 -0400)]
modelize_property: enable the access of the internal attributes
The transition from old-style to new-style attributes is a mess.
So in order to facilitate the transition, this patch enable
the access to the internal attribute previously hidden by then
new_style attribute.
Therefore, the transition path is simpler since one can move declaration
from old-style to new-style but some access can still use the old `_foo`
notation.
Note, the `_foo` access is not mean to be publicized bu only made available
for specific short-term workarounds and transitions.
Practically, internal attribute named are prefixed with `_` and
made visible (but private)
Jean Privat [Wed, 16 Jul 2014 17:08:36 +0000 (13:08 -0400)]
src: use multicompile to fasten the initial make
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Wed, 16 Jul 2014 16:36:53 +0000 (12:36 -0400)]
lib/sqlite3: column_text returns a NativeString at low-level
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 16 Jul 2014 16:56:36 +0000 (12:56 -0400)]
lib/sqlite3: use a precise type as return of column_type
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 16 Jul 2014 15:27:47 +0000 (11:27 -0400)]
lib/sqlite3: rename classes of sqlite3_native to prevent conflict with Nity versions
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 16 Jul 2014 13:20:32 +0000 (09:20 -0400)]
lib/sqlite3: rename low-level module to native_sqlite3.nit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 16 Jul 2014 15:52:41 +0000 (11:52 -0400)]
tests: multicompile with nitg
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:47:57 +0000 (11:47 -0400)]
tests: update base_simple_import.nit so the result difers from base_simple.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 15 Jul 2014 16:10:57 +0000 (12:10 -0400)]
comp: enable multi-compilation, ie multiple main programs
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 15 Jul 2014 16:05:35 +0000 (12:05 -0400)]
ffi: reset FFI compilation result attached to the module
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:40:11 +0000 (11:40 -0400)]
ffi: move guard in the AbstractCompiler
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:38:43 +0000 (11:38 -0400)]
ffi: move guard into the MModule to simplify management
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:33:34 +0000 (11:33 -0400)]
comp: compilers do not modify opt_stacktace, it is a global info
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:18:06 +0000 (11:18 -0400)]
comp: use a local `no_main` variable
Instead of modifing the global opt_no_main option
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 02:50:06 +0000 (22:50 -0400)]
colo: rewrite build_{meth,attr}_tables
The current implementation has two issues.
First, it relies on the full model instead of just the main module
eg. `mproperty.mpropdefs` is full-model information
Second, the order of the refienements is fragile and may be distinct form the
one given by the model.
Therefore, this commit just remplaces the code with one that just fill
slots with information given by the model (instead of recomputed in a
fragile way)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 15 Jul 2014 16:01:31 +0000 (12:01 -0400)]
colo: Colorize only class in the module, not all in the model
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:35:39 +0000 (11:35 -0400)]
colo: `MModule::properties` does no give properties is does not have
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 15:15:43 +0000 (11:15 -0400)]
Merge: Fixes for attributes
Some fixes and improvements in modelize_property.nit on the attributes side.
* redef optional on the `writable` part (see #270)
* fix signature check
* enable the inheritance of the type when a var redef a fun
Pull-Request: #578
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Wed, 16 Jul 2014 13:30:30 +0000 (09:30 -0400)]
Merge: Some minor improvements to Sqlite3
Will be used to implement #559 under Linux.
Pull-Request: #569
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Wed, 16 Jul 2014 13:16:15 +0000 (09:16 -0400)]
sqlite3: use sqlite3_close_v2
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 11 Jul 2014 19:30:43 +0000 (15:30 -0400)]
lib/sqlite3: implement Sqlite3::is_valid
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 15 Jul 2014 19:58:26 +0000 (15:58 -0400)]
tests: test untyped attributes in base_attr5
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Jul 2014 01:32:54 +0000 (21:32 -0400)]
Merge: lib/android: Typo fix for shared_preferences module
Fixed typo and added import to shared_preferences_api11 module
Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
Pull-Request: #580
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 16 Jul 2014 00:08:03 +0000 (20:08 -0400)]
Merge: lib/curl: clean and sort options
Clean and sort options, also enable new ones.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #576
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 15 Jul 2014 21:59:56 +0000 (17:59 -0400)]
Merge: Symetric [] & []= in android::shared_preferences
Now SharedPreferences[]= always serialize, and [] deserialize. This would be the default dehavior for a Nit application. The other getter/setter for primitive types are still available but must be used directly.
Pull-Request: #577
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Frédéric Vachon <fredvac@gmail.com>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Frédéric Vachon [Tue, 15 Jul 2014 21:10:24 +0000 (17:10 -0400)]
lib/android: Added import and fixed typo
Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
Jean Privat [Tue, 15 Jul 2014 20:19:25 +0000 (16:19 -0400)]
Merge: Splay ropes
Added Splay tree operations on ropes (see [Splay tree](http://en.wikipedia.org/wiki/Splay_tree)).
Pull-Request: #532
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 15 Jul 2014 19:50:17 +0000 (15:50 -0400)]
modelize_properties: attributes inherit the static type of the getter
so, one could write
~~~
interface A
fun foo: String
end
class B
super A
redef var foo # var foo is a String!
end
~~~
Signed-off-by: Jean Privat <jean@pryen.org>