Jean Privat [Fri, 30 May 2014 15:06:16 +0000 (11:06 -0400)]
Merge: more feature for the AST
New services for client of the AST who care about the real text representation of the code (eg. highlighter or pretty-printers).
A better nitlighter should follow once this is reviewed and accepted.
The two first commits move some code in new modules.
The folowing commits add some features and nitpickfixes
The last commit introduces a new module, `astutil`, that will be used by the new highlighter (instead of the current ugly double cursor mechanism).
The method `astutil::ANode::to_xml` is not that useful but presents an exemple of a basic implementation of the targeted clients.
Pull-Request: #473
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 30 May 2014 15:02:56 +0000 (11:02 -0400)]
tests: update highlight and cie because `.` is no more an operator
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 29 May 2014 12:46:30 +0000 (08:46 -0400)]
src: new module astutil.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 29 May 2014 06:40:13 +0000 (02:40 -0400)]
parser: dot dotdot and dotdotdot are not operators
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 May 2014 15:28:23 +0000 (11:28 -0400)]
parser: add `Token::blank_before`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 May 2014 13:03:33 +0000 (09:03 -0400)]
parser: `ANode::debug` outputs on stderr instead of stdin
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 May 2014 13:02:58 +0000 (09:02 -0400)]
parser: add some basic tree services in ANode
* `ANode::root` to get the root node
* `ANode::common_parent` to get the smallest common parent of two nodes
* `ANode::depth` to get the distance beween root and self
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 May 2014 13:00:29 +0000 (09:00 -0400)]
parser: add `SourceFile::first_token` and `SourceFile::last_token`
This helps to manipulate the token list.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 27 May 2014 18:06:23 +0000 (14:06 -0400)]
parser: move stable content of `lexer.nit` into `lexer_work.nit
What is still generated is thus even more minimal.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 27 May 2014 17:55:19 +0000 (13:55 -0400)]
parser: move stable content of `parser.nit` into `parser_work.nit
What is still generated is thus more minimal.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 29 May 2014 01:47:52 +0000 (21:47 -0400)]
Merge: nitg: use a portable macro PRINT_ERROR instead of fprintf
Outputs to stderr on Linux and to logcat on Android.
The macro is defined both in the C internal to the compiled Nt program and to each FFI files which are separated from the internals.
Pull-Request: #417
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
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>
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>
Alexis Laferrière [Wed, 28 May 2014 21:49:40 +0000 (17:49 -0400)]
Merge branch 'master' into portable-errors
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>
Jean Privat [Wed, 28 May 2014 19:48:51 +0000 (15:48 -0400)]
Merge: Geometry module
Will be used by QuadTrees, Bentley-Ottman and gammit.
For each geometric concept there is an interface beginning with 'A' and an implementation. Such as the abstract APoint and concrete class Point.
Pull-Request: #442
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Chanoir <chanoir.romain@courrier.uqam.ca>
Alexis Laferrière [Wed, 28 May 2014 17:31:38 +0000 (13:31 -0400)]
tests: fix nitg-e fixme files with changes to kernel
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 18 Apr 2014 22:00:13 +0000 (18:00 -0400)]
lib: intro the geometry module
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Signed-off-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 23 May 2014 15:26:15 +0000 (11:26 -0400)]
lib: add nitunits to Numeric::value_of
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 28 May 2014 14:15:45 +0000 (10:15 -0400)]
Merge: nitunit: fix verbose display
Minor fix:
`tc.attrs["name"]}` already contains the class namespace
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #471
Jean Privat [Wed, 28 May 2014 12:57:39 +0000 (08:57 -0400)]
Merge: Funnier dino
- Improve Dino hit box (and show it with a shadow)
- The difference in the Dino image move it up by a few pixels.
Pull-Request: #437
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 28 May 2014 03:40:45 +0000 (23:40 -0400)]
nitunit: fix verbose display
`tc.attrs["name"]}` already contains the class namespace
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Tue, 27 May 2014 21:53:48 +0000 (17:53 -0400)]
dino: update to use app.nit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 14 Apr 2014 19:28:05 +0000 (15:28 -0400)]
dino: add a more precise hit box to the dino
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 14 Apr 2014 19:27:49 +0000 (15:27 -0400)]
dino: add a shadow to dino
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 8 Apr 2014 19:53:11 +0000 (15:53 -0400)]
dino: make code base more redefable
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 26 Apr 2014 00:47:56 +0000 (20:47 -0400)]
dino: use project annotations in dino
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Jean Privat [Wed, 14 May 2014 13:49:10 +0000 (09:49 -0400)]
Merge: github_merge: less crashes
Pull-Request: #460
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>
julien [Wed, 7 May 2014 14:43:42 +0000 (10:43 -0400)]
Adding perfect_hashing module (with perfect numbering)
julien [Wed, 7 May 2014 14:42:37 +0000 (10:42 -0400)]
Adding a bitset module in standard for binary operations
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>