nit.git
9 years agotests: fix savs for nitg-g to reorder output on stderr
Alexis Laferrière [Wed, 28 May 2014 21:52:13 +0000 (17:52 -0400)]
tests: fix savs for nitg-g to reorder output on stderr

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

9 years agosrc: use macro PRINT_ERROR for deferred method error
Alexis Laferrière [Wed, 28 May 2014 21:40:39 +0000 (17:40 -0400)]
src: use macro PRINT_ERROR for deferred method error

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

9 years agoMerge branch 'master' into portable-errors
Alexis Laferrière [Wed, 28 May 2014 21:49:40 +0000 (17:49 -0400)]
Merge branch 'master' into portable-errors

9 years agotests: fix sav for error_annot_c_compiler
Alexis Laferrière [Wed, 28 May 2014 21:48:51 +0000 (17:48 -0400)]
tests: fix sav for error_annot_c_compiler

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

9 years agoMerge: Clean some inits
Jean Privat [Fri, 23 May 2014 12:36:09 +0000 (08:36 -0400)]
Merge: Clean some inits

Yet anoner step toward new inits.

In this PR, just some updates on existing constructors to simplify the transition.

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

9 years agoparser: drop useless named constructor `empty_init`
Jean Privat [Tue, 20 May 2014 18:27:28 +0000 (14:27 -0400)]
parser: drop useless named constructor `empty_init`

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

9 years agolib/ropes: use `redef` for inherited named constructors
Jean Privat [Tue, 20 May 2014 18:15:05 +0000 (14:15 -0400)]
lib/ropes: use `redef` for inherited named constructors

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

9 years agolib/privileges: drop class `OptionDropPrivileges`
Jean Privat [Tue, 20 May 2014 18:14:21 +0000 (14:14 -0400)]
lib/privileges: drop class `OptionDropPrivileges`

And use the commented named constructor instead.

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

9 years agolib/opts: clean constructors and prepare for new constructors
Jean Privat [Tue, 20 May 2014 18:13:04 +0000 (14:13 -0400)]
lib/opts: clean constructors and prepare for new constructors

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

9 years agolib/exec: rationalize constructors
Jean Privat [Tue, 20 May 2014 14:30:06 +0000 (10:30 -0400)]
lib/exec: rationalize constructors

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

9 years agolib/strings: Buffers are allocated without capacity.
Jean Privat [Tue, 20 May 2014 13:25:38 +0000 (09:25 -0400)]
lib/strings: Buffers are allocated without capacity.

Wait the fist `append` to allocate things.
Also, this avoids an anonymous init to call a named init.

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

9 years agoMerge: nitg: Added PNaCl support for Nit
Jean Privat [Thu, 22 May 2014 23:28:01 +0000 (19:28 -0400)]
Merge: nitg: Added PNaCl support for Nit

Added pnacl_platform.nit in order to generate all minimum files when compiling the nit.
Added pnacl.nit, it's the module providing the tools for PNaCl support in Nit.

Modified nitg.nit to register the pnacl_platform.
Modified abstract_compiler.nit for a specific main generation and to add an option.

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

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

9 years agoMerge: Intro of app.nit and extract features from mnit_android to android
Jean Privat [Wed, 21 May 2014 18:55:29 +0000 (14:55 -0400)]
Merge: Intro of app.nit and extract features from mnit_android to android

Rename modules and reorganize their features.

Pull-Request: #467
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agoMerge: Improve doc and intro Process::kill as asked by the community
Jean Privat [Wed, 21 May 2014 15:14:57 +0000 (11:14 -0400)]
Merge: Improve doc and intro Process::kill as asked by the community

Should close many open issues.

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

9 years agolib: add log features from mnit_app::android_app to ::android
Alexis Laferrière [Fri, 2 May 2014 02:30:28 +0000 (22:30 -0400)]
lib: add log features from mnit_app::android_app to ::android

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

9 years agolib/android: move platform declaration to a submodule
Alexis Laferrière [Fri, 2 May 2014 10:39:44 +0000 (06:39 -0400)]
lib/android: move platform declaration to a submodule

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

9 years agoandroid: imports app.nit
Alexis Laferrière [Thu, 1 May 2014 15:56:47 +0000 (11:56 -0400)]
android: imports app.nit

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

9 years agolib: move android.nit to a project ::android
Alexis Laferrière [Thu, 1 May 2014 15:54:46 +0000 (11:54 -0400)]
lib: move android.nit to a project ::android

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

9 years agolib: mnit_app use app.nit
Alexis Laferrière [Thu, 1 May 2014 15:49:33 +0000 (11:49 -0400)]
lib: mnit_app use app.nit

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

9 years agolib: intro app.nit with logging methods
Alexis Laferrière [Thu, 1 May 2014 15:42:36 +0000 (11:42 -0400)]
lib: intro app.nit with logging methods

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

9 years agolib/signals: fix for nitg-g
Alexis Laferrière [Fri, 16 May 2014 12:44:01 +0000 (08:44 -0400)]
lib/signals: fix for nitg-g

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

10 years agoModified the generated Makefile for some options,
Djomanix [Tue, 20 May 2014 18:51:03 +0000 (14:51 -0400)]
Modified the generated Makefile for some options,
and added a kind of hack for poll.

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

10 years agotests: add example converter to tests (and not pnacl)
Alexis Laferrière [Sat, 3 May 2014 13:24:30 +0000 (09:24 -0400)]
tests: add example converter to tests (and not pnacl)

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

10 years agoexamples/pnacl: add server option to Makefile
Alexis Laferrière [Fri, 2 May 2014 21:47:44 +0000 (17:47 -0400)]
examples/pnacl: add server option to Makefile

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

10 years agoexample/pnacl: remove copiler args that are no more necessary
Alexis Laferrière [Fri, 2 May 2014 21:41:13 +0000 (17:41 -0400)]
example/pnacl: remove copiler args that are no more necessary

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

10 years agopnacl: compile each compilation unit before linking
Alexis Laferrière [Sat, 3 May 2014 12:02:35 +0000 (08:02 -0400)]
pnacl: compile each compilation unit before linking

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

10 years agopnacl: generate all files right in .nit_compile
Alexis Laferrière [Sat, 3 May 2014 12:02:00 +0000 (08:02 -0400)]
pnacl: generate all files right in .nit_compile

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

10 years agopnacl: disable clang warnings on generated code
Alexis Laferrière [Sat, 3 May 2014 12:00:06 +0000 (08:00 -0400)]
pnacl: disable clang warnings on generated code

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

10 years agonitg/pnacl: automate option no_main
Alexis Laferrière [Mon, 12 May 2014 14:16:08 +0000 (10:16 -0400)]
nitg/pnacl: automate option no_main

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

10 years agoMerge: Improve the bootstrap
Jean Privat [Fri, 16 May 2014 01:47:56 +0000 (21:47 -0400)]
Merge: Improve the bootstrap

The objective of the seires is to simplify the boostrap by using `nith` with some optimizations to do the job.

To achieve this objective:

* commit 1. Fix nith to produce a functional nitg by removing a usage of advanced FFI
* commis 2-4 : Fix option `--direct-call-monomorph` by avoiding lose of typing information in AST transformation
* commit 5: use a partial nitg before a final nitg ; `nith` -> `nitg_0` -> `nitg`
* commit 6: use nith in c_src

Pull-Request: #465
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agoMerge: Android release compilation mode
Jean Privat [Fri, 16 May 2014 00:34:14 +0000 (20:34 -0400)]
Merge: Android release compilation mode

The --release option could also be used by pnacl.

Will need to specify usage in the Android and Nit manual. The resulting apk still needs to be signed and aligned before deployment.

Maybe add also suffix the package by ".debug". For now it can be done at the user level.

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

10 years agotests: update error_needed_method_alt1.reserror_needed_method_alt1.res
Jean Privat [Thu, 15 May 2014 22:51:03 +0000 (18:51 -0400)]
tests: update error_needed_method_alt1.reserror_needed_method_alt1.res

Because the CallSite is now correctly identified at typing.

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

10 years agoMerge: Java FFI: support inner classes and use of JavaObject across the FFI
Jean Privat [Thu, 15 May 2014 22:47:13 +0000 (18:47 -0400)]
Merge: Java FFI: support inner classes and use of JavaObject across the FFI

Minor incremental improvements to the Java FFI

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

10 years agoandroid: use the release option to set type of compilation
Alexis Laferrière [Sun, 4 May 2014 18:33:12 +0000 (14:33 -0400)]
android: use the release option to set type of compilation

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

10 years agonitg: intro the release option
Alexis Laferrière [Sun, 4 May 2014 18:32:27 +0000 (14:32 -0400)]
nitg: intro the release option

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

10 years agolib/signals: use `do end` in empty methods of signals
Alexis Laferrière [Thu, 15 May 2014 18:59:40 +0000 (14:59 -0400)]
lib/signals: use `do end` in empty methods of signals

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

10 years agolib/posix: add doc to posix (fix #174)
Alexis Laferrière [Wed, 14 May 2014 19:00:46 +0000 (15:00 -0400)]
lib/posix: add doc to posix (fix #174)

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

10 years agolib/signals: improve doc and add nitunits (fix #175)
Alexis Laferrière [Wed, 14 May 2014 18:53:32 +0000 (14:53 -0400)]
lib/signals: improve doc and add nitunits (fix #175)

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

10 years agotests: add test for Process::signal and Process::kill
Alexis Laferrière [Wed, 14 May 2014 17:48:23 +0000 (13:48 -0400)]
tests: add test for Process::signal and Process::kill

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

10 years agolib/signals: intro Process::kill and Process::signal (fix #180)
Alexis Laferrière [Wed, 14 May 2014 17:35:51 +0000 (13:35 -0400)]
lib/signals: intro Process::kill and Process::signal (fix #180)

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

10 years agolib/signals: move signals getter to Object
Alexis Laferrière [Wed, 14 May 2014 17:35:06 +0000 (13:35 -0400)]
lib/signals: move signals getter to Object

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

10 years agolib/mnit: fix doc of MotionEvent (fix #182)
Alexis Laferrière [Wed, 14 May 2014 16:35:46 +0000 (12:35 -0400)]
lib/mnit: fix doc of MotionEvent (fix #182)

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

10 years agomkcsrc: bootstrap with `nith` instead of `nitg`
Jean Privat [Tue, 13 May 2014 19:15:15 +0000 (15:15 -0400)]
mkcsrc: bootstrap with `nith` instead of `nitg`

also use `--semi-global` to produce efficien and smaller code.

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

10 years agobootstrap: add the missing step `nitg_0`
Jean Privat [Tue, 13 May 2014 19:18:42 +0000 (15:18 -0400)]
bootstrap: add the missing step `nitg_0`

The compiler in c_src might produce code that does not understand
new phases, annotation or whatever ; or that is just broken outside
the bootstrap.

Thus, an additional phase is used to produce the usable compiler in bin

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

10 years agoastbuilder: `make_new` and `make_call` require a CallSite
Jean Privat [Thu, 15 May 2014 14:36:12 +0000 (10:36 -0400)]
astbuilder: `make_new` and `make_call` require a CallSite

a callsite has a lot more information that was previously lost.

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

10 years agotranform: drop ASuperstringExpr
Jean Privat [Wed, 14 May 2014 15:56:11 +0000 (11:56 -0400)]
tranform: drop ASuperstringExpr

It needs to be rewrote

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

10 years agotyping: AArrayExpr provides callsites
Jean Privat [Wed, 14 May 2014 15:55:18 +0000 (11:55 -0400)]
typing: AArrayExpr provides callsites

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

10 years agoffi/java: support inner classes and JNI format in extern Java types
Alexis Laferrière [Wed, 14 May 2014 15:41:29 +0000 (11:41 -0400)]
ffi/java: support inner classes and JNI format in extern Java types

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

10 years agolib/jvm: JavaObject is a Java Object (not a JNI jobject)
Alexis Laferrière [Wed, 14 May 2014 15:40:58 +0000 (11:40 -0400)]
lib/jvm: JavaObject is a Java Object (not a JNI jobject)

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

10 years agoMerge: github_merge: less crashes
Jean Privat [Wed, 14 May 2014 13:49:10 +0000 (09:49 -0400)]
Merge: github_merge: less crashes

Pull-Request: #460

10 years agoMerge: Bitset and perfect_hashing
Jean Privat [Wed, 14 May 2014 12:44:14 +0000 (08:44 -0400)]
Merge: Bitset and perfect_hashing

Adding a bitset module in standard library for binary operations required for perfect hashing.

And a perfect_hashing module with perfect numbering.

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

10 years agoAdding perfect_hashing module (with perfect numbering)
julien [Wed, 7 May 2014 14:43:42 +0000 (10:43 -0400)]
Adding perfect_hashing module (with perfect numbering)

10 years agoAdding a bitset module in standard for binary operations
julien [Wed, 7 May 2014 14:42:37 +0000 (10:42 -0400)]
Adding a bitset module in standard for binary operations

10 years agogithub_merge: do not crash if PR is not tested (no status)
Jean Privat [Tue, 13 May 2014 22:43:40 +0000 (18:43 -0400)]
github_merge: do not crash if PR is not tested (no status)

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

10 years agogithub_merge: do not crash if a user has no public name
Jean Privat [Tue, 13 May 2014 18:47:04 +0000 (14:47 -0400)]
github_merge: do not crash if a user has no public name

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

10 years agoMerge: String hash function fix
Jean Privat [Tue, 13 May 2014 21:12:03 +0000 (17:12 -0400)]
Merge: String hash function fix

The generic implementation for hash on Text was not compliant with the optimized version for Strings, however no test was able to catch it since we've never used Buffer and String at the same time in a Hash structure.

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

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

10 years agoMerge: Refactor FFI, the framework is now based on MModules
Jean Privat [Tue, 13 May 2014 19:22:37 +0000 (15:22 -0400)]
Merge: Refactor FFI, the framework is now based on MModules

* Should fix #437 by supporting the use of the Java FFI across many modules in global compilation.
* Should also work (but we need an example for it): `nitg cross_platform_prog.nit -m android`

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

10 years agokernel: use legacy FFI for `address_is_null`
Jean Privat [Tue, 13 May 2014 19:08:52 +0000 (15:08 -0400)]
kernel: use legacy FFI for `address_is_null`

The point is to sill allow the bootstrap with a minimal engine.

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

10 years agoMerge: Improve free init to prepare new constructors
Jean Privat [Tue, 13 May 2014 15:46:30 +0000 (11:46 -0400)]
Merge: Improve free init to prepare new constructors

Yet another series toward the new constructors.

Some cleanup but also some changes in the current specification to be more compatible with the next one.

In the previous code, there was 3 distinct ways to have free constructors:

1. there is some complex constructors in ONE superclass ; then they are inherited and usable as it ; error if more than one superclass with complex constructors
2. in super-classes there is only constructor named init and without parameters ; then a new free constructor is generated that just invoke the inherited init.
3. there is no inherited consructors ; then all uninitialized attributes are collected to produce a new constructor with parameters

The series generalize the point about uninitialized attributes, so make the 3 ways less distinct:

* in 1, if there is uninitialized attributes a error is generated
* in 2, if there is uninitialized attributes, they are given as parameter do the generated free constructor
* 3 does not change, but just become a special case of 2.

To enable the new behavior, an update was needed on some piece of code. mainly:

1. give a default value to some attributes to avoid their collect in the free constructor
2. give an explicit empty init when some attributes cannot have a default value

Achievement Unlocked: Edit 200 constructors in one PR +50 nitCoins

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

10 years agodefault_init: fix a NitUnit in template
Jean Privat [Tue, 13 May 2014 13:15:29 +0000 (09:15 -0400)]
default_init: fix a NitUnit in template

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

10 years agotests: add base_init_combine.nit
Jean Privat [Tue, 13 May 2014 10:00:30 +0000 (06:00 -0400)]
tests: add base_init_combine.nit

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

10 years agodefault_init: can interpret combined init with collected attributes
Jean Privat [Tue, 13 May 2014 15:39:50 +0000 (11:39 -0400)]
default_init: can interpret combined init with collected attributes

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

10 years agodefault_init: can compile combined init with collected attributes
Jean Privat [Tue, 13 May 2014 09:59:15 +0000 (05:59 -0400)]
default_init: can compile combined init with collected attributes

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

10 years agodefault_init: error if collected attributes and inherited complex constructors
Jean Privat [Tue, 13 May 2014 09:42:02 +0000 (05:42 -0400)]
default_init: error if collected attributes and inherited complex constructors

This unify the fate of collected attributes.
In the introduction of a class without explicit constructors, collectable
attributes are always considered in the providing of construction mechanisms.

This will also prevent programs that will be not exprimable with the first
version of new constructors.

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

10 years agolib/standard/string: Fixed implementation of hash function for Text variants.
Lucas Bajolet [Tue, 13 May 2014 15:30:12 +0000 (11:30 -0400)]
lib/standard/string: Fixed implementation of hash function for Text variants.

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

10 years agoffi: fix support for generated calls with generic types (for Java FFI)
Alexis Laferrière [Tue, 13 May 2014 15:30:04 +0000 (11:30 -0400)]
ffi: fix support for generated calls with generic types (for Java FFI)

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

10 years agoMerge: FFI with Java - more local refs support
Jean Privat [Tue, 13 May 2014 14:39:43 +0000 (10:39 -0400)]
Merge: FFI with Java - more local refs support

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

10 years agoMerge: lib: add `union_find`, a union–find algorithm with a disjoint-set data structure
Jean Privat [Tue, 13 May 2014 13:21:17 +0000 (09:21 -0400)]
Merge: lib: add `union_find`, a union–find algorithm with a disjoint-set data structure

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

10 years agodefault_init: inherit combined init if alone and empty
Jean Privat [Tue, 13 May 2014 09:40:40 +0000 (05:40 -0400)]
default_init: inherit combined init if alone and empty

Instead of creating a new one everytime

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

10 years agodefault_init: collect attributes on combined empty init
Jean Privat [Tue, 13 May 2014 09:35:35 +0000 (05:35 -0400)]
default_init: collect attributes on combined empty init

Attribute that are potential parameters for constructors are collected
ans used in the case of a `free combined init`.

~~~
class A
   init do end
end
class B
   init do end
end
class C
   super A
   super B
   var i: Int
   # free init(i:Int) do self.i = i
end
~~~

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

10 years agomodel: implements `MParameter#to_s`
Jean Privat [Tue, 13 May 2014 09:31:09 +0000 (05:31 -0400)]
model: implements `MParameter#to_s`

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

10 years agorest-of-code: prepare for new init
Jean Privat [Tue, 13 May 2014 09:30:19 +0000 (05:30 -0400)]
rest-of-code: prepare for new init

Give some default values on nullable attributes so they will not be
collected.
Introduce explicit empty init to avoid the collect of non-nullable
attributes.

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

10 years agosrc: prepare for new init
Jean Privat [Tue, 13 May 2014 09:28:57 +0000 (05:28 -0400)]
src: prepare for new init

Give some default values on nullable attributes so they will not be
collected.

Introduce explicit empty init to avoid the collect of non-nullable
attributes.

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

10 years agoparser: prepare for new init
Jean Privat [Tue, 13 May 2014 09:25:43 +0000 (05:25 -0400)]
parser: prepare for new init

Give some default values on nullable attributes so they will not be
collected.
Introduce explicit empty init to avoid the collect of non-nullable
attributes.

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

10 years agolib: prepare for new init
Jean Privat [Tue, 13 May 2014 09:23:49 +0000 (05:23 -0400)]
lib: prepare for new init

Give some default values on nullable attributes so they will not be
collected.

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

10 years agotyping: remove `resolve_signature_for`
Jean Privat [Mon, 12 May 2014 19:46:01 +0000 (15:46 -0400)]
typing: remove `resolve_signature_for`

With new init, the method will become less useful, so just remove it now.

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

10 years agorta: micro-factorization of call on `msignature`
Jean Privat [Mon, 12 May 2014 19:45:17 +0000 (15:45 -0400)]
rta: micro-factorization of call on `msignature`

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

10 years agoengines: use `callsite.msignature` in ASuperExpr
Jean Privat [Mon, 12 May 2014 17:13:32 +0000 (13:13 -0400)]
engines: use `callsite.msignature` in ASuperExpr

instead of `callsite.mproperty.intro.msignature`

This will also be usefull with new constructors when
the signature between the callsite and the propdef differs

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

10 years agolib: move mnit::app to mnit::mnit_app to prevent future conflic with ::app
Alexis Laferrière [Thu, 1 May 2014 15:42:10 +0000 (11:42 -0400)]
lib: move mnit::app to mnit::mnit_app to prevent future conflic with ::app

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

10 years agoMerge: parser_util: drop injected tokens in `parse_someting`
Jean Privat [Tue, 13 May 2014 02:02:14 +0000 (22:02 -0400)]
Merge: parser_util: drop injected tokens in `parse_someting`

Since injected tokens have a false location, highlight.nit had a bad
behavior when trying to color them.
Thez should not survive `parse_something`.

Fixes #451

Pull-Request: #453
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agoMerge: misc: do not enforce shiftwidth to 8, let the .vimrc user config
Jean Privat [Tue, 13 May 2014 00:51:57 +0000 (20:51 -0400)]
Merge: misc: do not enforce shiftwidth to 8, let the .vimrc user config

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

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

10 years agoMerge: vim: try to color annotation.
Jean Privat [Tue, 13 May 2014 00:51:49 +0000 (20:51 -0400)]
Merge: vim: try to color annotation.

indenting still causes issues :(

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

10 years agolib: add `union_find`, a union–find algorithm with a disjoint-set data structure
Jean Privat [Fri, 9 May 2014 13:08:10 +0000 (09:08 -0400)]
lib: add `union_find`, a union–find algorithm with a disjoint-set data structure

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

10 years agoMerge: sepcomp: do not colorize dead method by default
Jean Privat [Mon, 12 May 2014 23:28:02 +0000 (19:28 -0400)]
Merge: sepcomp: do not colorize dead method by default

Thanks to the fix of #375, this optimization is the new default if RTA
is available.

Pull-Request: #452
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agoMerge: fix Nitlight
Jean Privat [Mon, 12 May 2014 22:31:49 +0000 (18:31 -0400)]
Merge: fix Nitlight

While messing with #451, I found that nitlight was broken.

These two commit fix it

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

10 years agojava: intro JavaObject::delete_local_ref
Alexis Laferrière [Mon, 12 May 2014 19:20:51 +0000 (15:20 -0400)]
java: intro JavaObject::delete_local_ref

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

10 years agojava: intro services for JNI local reference frame
Alexis Laferrière [Mon, 12 May 2014 19:20:35 +0000 (15:20 -0400)]
java: intro services for JNI local reference frame

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

10 years agoandroid: support use of -m
Alexis Laferrière [Sat, 10 May 2014 11:55:58 +0000 (07:55 -0400)]
android: support use of -m

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

10 years agoffi: minor clean up
Alexis Laferrière [Sat, 10 May 2014 13:27:33 +0000 (09:27 -0400)]
ffi: minor clean up

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

10 years agoffi/java: use C callbacks instead of going straight to nitni (for global)
Alexis Laferrière [Mon, 5 May 2014 13:18:05 +0000 (09:18 -0400)]
ffi/java: use C callbacks instead of going straight to nitni (for global)

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

10 years agoffi/java: callbacks are relative to mainmodule
Alexis Laferrière [Mon, 5 May 2014 12:28:29 +0000 (08:28 -0400)]
ffi/java: callbacks are relative to mainmodule

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

10 years agonitg/ffi: mark as private methods internal to compiler_ffi
Alexis Laferrière [Mon, 12 May 2014 17:53:21 +0000 (13:53 -0400)]
nitg/ffi: mark as private methods internal to compiler_ffi

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

10 years agoMerge: Simplify AMethPropdef
Jean Privat [Mon, 12 May 2014 15:42:05 +0000 (11:42 -0400)]
Merge: Simplify AMethPropdef

Prepare the change of the hierarchies of subclasses of AMethPropdef.

The first two commits generalize services of subclasses.
The rest updates clients to not statically rely on such a subclass.

This will permit the refactorization and the rationalization of the parser and the AST.

Pull-Request: #434
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agotests: update tests because of changes in the location of error messages
Jean Privat [Thu, 1 May 2014 17:43:25 +0000 (13:43 -0400)]
tests: update tests because of changes in the location of error messages

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

10 years agosrc: remove remaining references of subclasses on AMethPropdef
Jean Privat [Thu, 1 May 2014 17:42:46 +0000 (13:42 -0400)]
src: remove remaining references of subclasses on AMethPropdef

Only some references of AExternPropdef remain for the moment.

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

10 years agonitx: modifiers ARE accessible via the model
Jean Privat [Thu, 1 May 2014 17:40:58 +0000 (13:40 -0400)]
nitx: modifiers ARE accessible via the model

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

10 years agomodelize_property: rely more on fields than on classes to do things
Jean Privat [Thu, 1 May 2014 17:37:04 +0000 (13:37 -0400)]
modelize_property: rely more on fields than on classes to do things

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

10 years agomodel: add `MMethodDef::is_extern`
Jean Privat [Thu, 1 May 2014 17:36:19 +0000 (13:36 -0400)]
model: add `MMethodDef::is_extern`

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

10 years agosrc: use `AMethPropdef` instead of subclasses when is safe to do so.
Jean Privat [Thu, 1 May 2014 17:30:48 +0000 (13:30 -0400)]
src: use `AMethPropdef` instead of subclasses when is safe to do so.

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

10 years agoparser: promote all children in AMethPropdef
Jean Privat [Thu, 1 May 2014 17:24:53 +0000 (13:24 -0400)]
parser: promote all children in AMethPropdef

The point of the series is to refactorize the hierarchy of AMethPropdef
and simplify the complex syntactic variants.

So, put all specific fields in the root class, so clients will not need
to use the current complex hierarchy.

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