Jean Privat [Fri, 19 Sep 2014 19:52:07 +0000 (15:52 -0400)]
scope: advice for unread local variables
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 19:30:01 +0000 (15:30 -0400)]
modelize: advice on useless empty init
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 19:09:59 +0000 (15:09 -0400)]
modelize: advice on missing documentation
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 19:09:30 +0000 (15:09 -0400)]
modelize: useless attribute type is an advice
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 19:08:40 +0000 (15:08 -0400)]
modelize: useless-visibility is an advice
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 22 Sep 2014 15:28:35 +0000 (11:28 -0400)]
toolcontext: add a new category for warnings: advices.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Sep 2014 18:14:03 +0000 (14:14 -0400)]
Merge: lib/standard/string: Introducting Copy-on-Write FlatBuffers
As requested, implemented a Copy-on-Write mechanism on FlatBuffer, small performance improvement on the to_s operation.
Before :
![cct](https://cloud.githubusercontent.com/assets/1444825/4273670/
fef3f1fc-3cec-11e4-9f81-
8afaa6e4c92a.png)
After :
![concat](https://cloud.githubusercontent.com/assets/1444825/4273675/
028c5bf6-3ced-11e4-93a9-
ef20e94ba55f.png)
Pull-Request: #749
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Sep 2014 11:22:29 +0000 (07:22 -0400)]
Merge: nitcorn: redirect requests of directories to an URI ending with '/'
Example: request sent to http://xymus.net/nit will be redirected to http://xymus.net/nit/ (xymus.net) has not been updated yet). It fixes the loading of other assets such as css files.
Pull-Request: #751
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Sat, 20 Sep 2014 11:22:22 +0000 (07:22 -0400)]
Merge: Makefile: Document deeply-nested libraries.
Ensure that every module in `/lib` is included when calling nitdoc.
Closes #704
Pull-Request: #758
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Sep 2014 11:22:16 +0000 (07:22 -0400)]
Merge: neo: Complete the documentation of neo.nit.
The documentation of the database model missed many attributes and
relationships. I only added the missing documentation.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Pull-Request: #734
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 20:18:27 +0000 (16:18 -0400)]
Merge: Kill old syntax
Grammar is simplified and parser regenerated.
Changes
* one-line annotations can have a single argument without parentheses
* no more old-style attribute declaration
* no more intern, readable and writable as reserved keyword (they are identifiers now)
* intern, extern and abstract are genuine annotations for AMethPropdef
* no more zoo for AMethPropdef subclasses
* Bonus, introduce the power operation `**` (not implemented yet, but parsed)
TODO: see what is broken in nitpretty
Pull-Request: #756
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 19 Sep 2014 18:54:59 +0000 (14:54 -0400)]
toolcontext: add `error_info` for displaying total errors&warnings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 19:11:14 +0000 (15:11 -0400)]
Merge: introduces `MGroup::default_mmodule`
There is no reason that "the module of a group that has the same name than the group and that is implicitly designated in importations when only the group's name is given" is not a concept of the model with a simple name name and a fully specified semantic.
A step toward #721 and maybe a help for #693
Pull-Request: #753
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean-Christophe Beaupré [Mon, 15 Sep 2014 15:36:10 +0000 (11:36 -0400)]
neo: Explain how arguments of a MClasType are named.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Thu, 11 Sep 2014 13:11:45 +0000 (09:11 -0400)]
neo: Correct the documentation of neo.nit according to PR #734.
Correct minor mistakes in the documentation.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Tue, 9 Sep 2014 14:06:42 +0000 (10:06 -0400)]
neo: Complete the documentation of neo.nit.
The documentation of the database model missed many attributes and
relationships.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Lucas Bajolet [Fri, 19 Sep 2014 19:01:57 +0000 (15:01 -0400)]
lib/standard/string: Fix the case of null items in FlatBuffer when calling to_s
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Jean-Christophe Beaupré [Fri, 19 Sep 2014 12:24:40 +0000 (08:24 -0400)]
Makefile: Document deeply-nested libraries.
Ensure that every module in /lib/ is included when calling nitdoc.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean Privat [Fri, 19 Sep 2014 18:17:56 +0000 (14:17 -0400)]
src: add tag to existing warnings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 18:16:54 +0000 (14:16 -0400)]
toolcontext: allow to tag messages
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Sep 2014 18:15:52 +0000 (14:15 -0400)]
toolcontext: add some documentation
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 15:04:59 +0000 (11:04 -0400)]
tests: update some AST-related sav/*.res files for tools
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 14:58:01 +0000 (10:58 -0400)]
nitpreyty: remove the oldstyle syntax, there is still some fixme to fix
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 18:42:02 +0000 (14:42 -0400)]
nitx: remove unused methods `AAttrPropdef::*_accessor`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 18:41:10 +0000 (14:41 -0400)]
src: remove classes and nodes related to the old syntax
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 14:09:39 +0000 (10:09 -0400)]
parser: regenerate the parser
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 13:58:53 +0000 (09:58 -0400)]
grammar: new power operator `**` (starstar)
~~~
var a = 2 ** 3 ** 4
~~~
Not yet implemented in the lib because a regeneration of c_src is needed
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 13:38:37 +0000 (09:38 -0400)]
grammar: unify method syntax
Only one APropdef subclass for method: AMethPropdef
Specific method definitions are with annotations:
* new annotation `abstract` (still a keyword because `abstract class`)
* activate annotation `extern` (till a keyword because `extern class`)
* intern is no more a reserved keyword
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 13:33:02 +0000 (09:33 -0400)]
grammar: remove old-style syntax for attributes
* no more `var _foo`
* no more `readable` and `writable` as reserved keywords
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 13:26:36 +0000 (09:26 -0400)]
grammar: enable single parentheses-less arguments in one-line annotations
~~~
fun foo is some_annot "hello"
~~~
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 13:24:24 +0000 (09:24 -0400)]
grammar: split `expr_atom` into `expr_single`
This new priority class enable args without parentheses in
one-line annotation.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 13:21:10 +0000 (09:21 -0400)]
lexer: fix `EOF::parser_index` generation.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Thu, 18 Sep 2014 16:14:31 +0000 (12:14 -0400)]
cpp: add missing annotation declaration
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 18 Sep 2014 16:14:03 +0000 (12:14 -0400)]
nitcorn: minor fix in the header of the HTML page
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 17 Sep 2014 20:45:40 +0000 (16:45 -0400)]
nitcorn: improve default file listing of `FileServer`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 18 Sep 2014 00:08:28 +0000 (20:08 -0400)]
model: remove MModule::direct_owner
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Sep 2014 00:00:01 +0000 (20:00 -0400)]
model: introduce MGroup::default_mmodule to replace fuzzy_owner
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Sep 2014 23:58:16 +0000 (19:58 -0400)]
model: remove public_owner methods
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Sep 2014 23:49:42 +0000 (19:49 -0400)]
Merge: Move `common_ffi` to `ffi` and clean up typos
Renaming `common_ffi` was long overdue, it was named this way to avoid conflicts with its `nitc` equivalent.
Pull-Request: #752
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Wed, 17 Sep 2014 20:17:16 +0000 (16:17 -0400)]
nitcorn: optimize `FileServer::root` to be used later on each request
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 17 Sep 2014 20:15:40 +0000 (16:15 -0400)]
nitcorn: better and safer access to root of a file server
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 17 Sep 2014 18:07:28 +0000 (14:07 -0400)]
nitg: fix typo in doc of `before_send`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Sep 2014 17:26:49 +0000 (13:26 -0400)]
nitg: fix typo in doc of `MParameterType`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 12 Sep 2014 19:46:56 +0000 (15:46 -0400)]
nitg: rename `common_ffi` group to `ffi`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 17 Sep 2014 17:57:50 +0000 (13:57 -0400)]
nitcorn: redirect requests of directories to an URI ending with '/'
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 17 Sep 2014 16:05:42 +0000 (12:05 -0400)]
Merge: Correct behavior of attribute reading in nitvm
This (small) PR allows the nitvm to pass more tests related to attributes reading.
The first commit introduces a new type and Instance which represent the initial values inside attributes.
In the second commit, the vm now throw the expected error when reading an uninitialized attribute.
The last commit implements ```isset``` expressions in the vm.
So, all tests base_attr*.nit are now corrects in the vm.
Pull-Request: #748
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 17 Sep 2014 16:05:38 +0000 (12:05 -0400)]
Merge: Capitalize on Strings
Added the capitalized method on String as requested by @Morriar
Pull-Request: #741
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Lucas Bajolet [Tue, 16 Sep 2014 14:29:50 +0000 (10:29 -0400)]
lib/standard/string: FlatStrings built from NativeString now have free to_cstring.
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Lucas Bajolet [Tue, 16 Sep 2014 14:28:21 +0000 (10:28 -0400)]
lib/standard/string: Introducting Copy-on-Write FlatBuffers
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Julien Pagès [Sun, 14 Sep 2014 10:31:17 +0000 (12:31 +0200)]
nitvm: Handles isset expression
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Fri, 12 Sep 2014 14:54:31 +0000 (16:54 +0200)]
nitvm: Throw an error when trying to read an uninitialized attribute
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Fri, 12 Sep 2014 14:31:59 +0000 (16:31 +0200)]
nitvm: Introduces a type which represents initial values inside attributes
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Alexandre Terrasa [Fri, 12 Sep 2014 17:12:16 +0000 (13:12 -0400)]
lib: create group `template`.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Lucas Bajolet [Fri, 12 Sep 2014 13:37:55 +0000 (09:37 -0400)]
lib/standard/string: Added capitalized/capitalize method to String/Buffer
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 10 Sep 2014 22:30:00 +0000 (18:30 -0400)]
Merge: Nitcorn improvements & avoid double Tnits
The tnitter part was asked by @privat
Pull-Request: #740
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Sep 2014 22:29:55 +0000 (18:29 -0400)]
Merge: Polymorphic extern classes
The changes in the compiler ensure that extern classes (or sub classes of Pointer) are always boxed when in the generated code. This means that we now have 2 levels of boxing, the boxing within Nit and the unboxing for user C code where extern classes are pointers (FFI and legacy NI).
This change will allow to use extern classes in virtual types and generic types. It will be used by the `android::ui` modules.
The change also detected some wrongful use of the FFI which have been corected.
There's a bug weird on my computer on the test of nitcc, hopefully pratchett will do better.
Pull-Request: #715
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Alexis Laferrière [Fri, 8 Aug 2014 17:03:40 +0000 (13:03 -0400)]
tnitter: redirect after posting
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 8 Aug 2014 17:00:40 +0000 (13:00 -0400)]
nitcorn: by default a file is an application/octet-stream
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 8 Aug 2014 16:58:24 +0000 (12:58 -0400)]
nitcorn: use a default virtual host when none are configure to handle a request
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 8 Aug 2014 16:57:42 +0000 (12:57 -0400)]
nitcorn: add the media type for `apk` extension
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 10 Sep 2014 19:39:11 +0000 (15:39 -0400)]
tests: intro test for polymorphic use of extern classes
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 10 Sep 2014 18:54:40 +0000 (14:54 -0400)]
Merge branch 'master' into polymorphic_extern_classes
Alexis Laferrière [Wed, 10 Sep 2014 18:45:36 +0000 (14:45 -0400)]
niti: fix type in tool description
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 10 Sep 2014 17:58:40 +0000 (13:58 -0400)]
lib/curl: fix missing import of string.h and clean up header
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 22 Jul 2014 17:32:13 +0000 (13:32 -0400)]
nitg*: extern classes a polymorph in Nit, and unboxed only for extern methods
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 10 Sep 2014 00:48:45 +0000 (20:48 -0400)]
Merge: Markdown
# lib: Introduce `markdown`, a Markdown parser for Nit.
_Please consider only f9c54c4, since previous commit are merged from #627._
This is the first step towards a better markdown interpretation into Nit code comments.
Next step will be to replace the current markdown parser used in `src/markdown`.
This parser try to be a little more closer to the Markdown specification from http://daringfireball.net/projects/markdown/ than the actual parser.
That said, some rules are not strictly followed as explained in the `README`.
Some other rules or features are not yet fully implemented, see `TODO` and `FIXME` in code.
Pull-Request: #680
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 9 Sep 2014 22:04:00 +0000 (18:04 -0400)]
Merge: Clean AMethPropdef clients
1. Update code to not rely on specific subclasses of AMethPropdef
2. Implements alternative path where abstract, intern and extern are annotations
The next PR should modify the grammar.
Pull-Request: #736
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 9 Sep 2014 22:03:56 +0000 (18:03 -0400)]
Merge: pkgconfig annotation uses the module name if no packages are specified
Pull-Request: #735
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Tue, 9 Sep 2014 22:03:53 +0000 (18:03 -0400)]
Merge: Regular expressions & prop to bring back a better `String::has(Pattern)`
As asked by everyone...
`String::has(Pattern)` is much faster than `String::index_of(Pattern)` with regex. It can be optimized even more with `optimize_is_in`.
I'll be waiting after the test to make sure that it doesn't break anything.
What do you think of the doc/tests on the protected methods? I don't have any info to add, only tests and `requires`.
The only TODO would be to implement subexpressions; to get the the substrings of the parenthetical subexpressions of a single match. It is not the most common use but could be useful in some compilers.
Pull-Request: #732
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 9 Sep 2014 22:03:41 +0000 (18:03 -0400)]
Merge: Superclasses ordering in nitvm and a bug fix
The first commit fixes a bug in the allocation of internal attributes structures.
The second commit introduces structures for saving the offsets of each block of methods and attributes in each class.
For now, this is not used, but later this will help the compilation/recompilation protocol to chose which implementation mechanism could be used for a given call site.
The third commit presents an algorithm for ordering superclasses (a kind of linearization). This computed order is the order of classes in virtual tables.
This order is computed to follow the rule called "prefix condition": for a given class that we are currently ordering, we try to put the order of one of its direct superclasses in prefix of its own order.
Pull-Request: #728
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 9 Sep 2014 22:03:15 +0000 (18:03 -0400)]
Merge: Benitlux web interface
Also:
* Fix nitserial
* Improve nitcorn
* Add the config of xymus.net as example for nitcorn
Pull-Request: #708
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Tue, 9 Sep 2014 19:42:21 +0000 (15:42 -0400)]
ffi: use `AMethPropdef` instead of `AExternPropdef`
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Wed, 3 Sep 2014 17:33:24 +0000 (13:33 -0400)]
tests: update tests for markdown.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 3 Sep 2014 17:33:10 +0000 (13:33 -0400)]
tests: rename `test_markdown.nit` to `test_docdown` to avoid name conflicts with `lib/markdown`.
`src/markdown` will be replaced by `src/doc_down` in a later PR.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 3 Sep 2014 14:20:22 +0000 (10:20 -0400)]
lib: Introduce `markdown`, a Markdown parser for Nit.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Tue, 9 Sep 2014 19:35:11 +0000 (15:35 -0400)]
serialisation_phase: use `AMethPropdef` instead of `AConcreteInitPropdef`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 9 Sep 2014 19:34:57 +0000 (15:34 -0400)]
modelize: works if abstract, intern and extern are annotations
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Mon, 8 Sep 2014 21:13:44 +0000 (17:13 -0400)]
lib: intro `re`, regular expressions in Nit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 18 Apr 2014 21:49:47 +0000 (17:49 -0400)]
lib: update egl, glesv2 & x11 to use pkgconfig without args
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 18 Apr 2014 21:46:27 +0000 (17:46 -0400)]
pkgconfig: if there is no argument, use the module name
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 22 Jul 2014 17:31:21 +0000 (13:31 -0400)]
model: intro a service to get the `Pointer` type
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Julien Pagès [Mon, 8 Sep 2014 14:26:34 +0000 (16:26 +0200)]
nitvm: Introduce a custom algorithm for ordering superclasses
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Mon, 8 Sep 2014 14:23:50 +0000 (16:23 +0200)]
nitvm: Keep the positions of methods and attributes blocks in each class
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Tue, 22 Jul 2014 07:50:16 +0000 (09:50 +0200)]
nitvm: Fixing a bad allocation of internal structures for attributes
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Alexis Laferrière [Tue, 9 Sep 2014 04:16:29 +0000 (00:16 -0400)]
tests: update line number in mnit_linux related sav files
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Sep 2014 02:00:46 +0000 (22:00 -0400)]
tests: fix sav of xymus.net config
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Sep 2014 01:54:40 +0000 (21:54 -0400)]
Merge branch 'master' into data_store
Alexis Laferrière [Mon, 8 Sep 2014 22:27:31 +0000 (18:27 -0400)]
lib: replace `String.has(Char)` with `String.has(Pattern)`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 8 Sep 2014 20:30:27 +0000 (16:30 -0400)]
Merge: neo: Forces MParameter ranking in MSignatures
Also update corresponding test and make test sav more easy to read.
This PR provides two fixes and close #725:
1- use the MParameter `rank` node property to order the mparameters in the signature
2- use the MSignature `parameter_names` to get the declaration order of the parameters (so you don't have to load the MParameters nodes to display the short `MSignature`).
Pull-Request: #731
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 8 Sep 2014 20:30:25 +0000 (16:30 -0400)]
Merge: Chain implememtations
Change in engine so the selected implementation is more abstract and has some kind of fall-back.
1. if intern or extern, try to get the specific implementation
2. else try to compile the body
3. else compile an error
The point is top prepare a future PR where intern and extern methods could provide an alternative (slow or degraded) implementation.
Pull-Request: #730
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 8 Sep 2014 20:30:20 +0000 (16:30 -0400)]
Merge: phases: do not reanalyze amodules in run_phase
Multiple `run_phase` invocation should not analyze a amodule twice.
This is a workaround, the whole phase API should be improved to make late
module loading less error-prone and more simple.
Close #726
Pull-Request: #729
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 8 Sep 2014 20:30:18 +0000 (16:30 -0400)]
Merge: nitpick, the nit lintian
Check Nit programs for issues and other stuff.
Currently, only a fast checker to use with the vim plugin.
50% faster than before.
~~~
$ time nitg nitg.nit --only-metamodel
user 0m1.752s
$ time nitpick nitg.nit
user 0m0.872s
~~~
Pull-Request: #724
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Alexandre Terrasa [Mon, 8 Sep 2014 18:34:48 +0000 (14:34 -0400)]
neo: Forces MParameter ranking in MSignatures
Also update corresponding test and make test sav more easy to read.
Fixes #725
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 8 Sep 2014 13:45:40 +0000 (09:45 -0400)]
niti: chain implementation attempts
1. intern/extern
2. body
3. abort
Because of the lack of multiple return, `intern_call` returns an instance,
null, or a false object to indicate the error.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 8 Sep 2014 15:15:02 +0000 (11:15 -0400)]
comp: chain implementation attempts
1. intern/extern
2. body
3. abort
Signed-off-by: Jean Privat <jean@pryen.org>
Conflicts:
src/modelize/modelize_property.nit
Jean Privat [Mon, 8 Sep 2014 14:28:47 +0000 (10:28 -0400)]
phases: do not reanalyze amodules in run_phase
Multiple `run_phase` invocation should not analyze a amodule twice.
This is a workaround, the whole phase API should be improved to make late
module loading less error-prone and more simple.
Close #726
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Tue, 29 Jul 2014 15:19:00 +0000 (11:19 -0400)]
pep8analysis: use header of xymus.net
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 24 Jul 2014 15:49:29 +0000 (11:49 -0400)]
examples: add the config of xymus.net as a nitcorn example
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 18 Jul 2014 06:31:36 +0000 (02:31 -0400)]
contrib: intro the benitlux project
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 8 Sep 2014 14:20:21 +0000 (10:20 -0400)]
tests: fix tests for changes of data_store
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>