Jean Privat [Fri, 12 Jun 2015 02:36:11 +0000 (22:36 -0400)]
Merge: nitunit: use the Markdown parser from `lib/markdown`
Since the introduction of `nitmd`, `nitunit` was still using the old `docdown` parser.
This PR do the migration.
There will be a lot of unrecognized tests since the old paerser allowed between four and five spaces before a nitunit, the new one enforce the rule of 5 (couting the space after the `#` comment token).
Before:
~~~nit
# assert true
~~~
Was recognized as nitunit, but if you ignore the `# ` string as prefix of each comment, there is only 3 spaces before the nitunit.
After:
~~~nit
# assert true
~~~
We need 4 spaces before the nitunit plus the `# ` prefix, this gives us 5 spaces.
Note, this is already the behavior followed by Nitdoc.
Should fix #1331
Pull-Request: #1332
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Jun 2015 23:29:16 +0000 (19:29 -0400)]
rosetta code: visualize_a_tree
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Jun 2015 21:44:52 +0000 (17:44 -0400)]
Merge: nitrpg: remove points if a PR is closed without merge
So @ventilooo won't cheat again!
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #1477
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: ArthurDelamare <arthur.delamare@viacesi.fr>
Jean Privat [Thu, 11 Jun 2015 21:44:47 +0000 (17:44 -0400)]
Merge: rosetta_code: sha1
Signed-off-by: Jean Privat <jean@pryen.org>
Pull-Request: #1456
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: ArthurDelamare <arthur.delamare@viacesi.fr>
Jean Privat [Thu, 11 Jun 2015 20:24:10 +0000 (16:24 -0400)]
Merge: Nitiwiki next
Some fixes for nitiwiki in prevision for the nitlanguage.org site migration and the resolution of #824.
Do not consider b481cea since it belongs to #1368 (and break the loader)
Feature summary:
* ini accept array notation
* customizable sidebar content
* customizable sidebar position
* wikilinks support external links
* better search by title
* better search by path
* make breadcrumbs and summaries optionnal
* add link to github for last_changes and edit mode
Pull-Request: #1444
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Jun 2015 19:44:18 +0000 (15:44 -0400)]
parser: regen parser.nit without the big vararg
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Jun 2015 19:43:33 +0000 (15:43 -0400)]
parser: `build_reduce_table` uses a sequence of add instead of a `.with_items`
The big vararg generated produce C code that takes 30m to compile with
clang-3.6 because of a regression (the same code takes less than 1s with
clang-3.5).
Unfortunately, clang-3.6 is currently provided by Apple to MacOS X users.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Tue, 9 Jun 2015 03:27:57 +0000 (23:27 -0400)]
misc: add build_origin_doc to easily build reference document from master
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sun, 7 Jun 2015 22:44:42 +0000 (18:44 -0400)]
benchmarks: add nitdoc benches
Used to compare prefs between HEAD version and origin/master version
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 11 Jun 2015 02:51:16 +0000 (22:51 -0400)]
nitdoc: test pages structure
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Thu, 11 Jun 2015 17:15:07 +0000 (13:15 -0400)]
compiler: NativeString is a char* to please C library.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Thu, 11 Jun 2015 02:50:32 +0000 (22:50 -0400)]
nitdoc: better pretty-printing
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 10 Jun 2015 05:43:56 +0000 (01:43 -0400)]
benchmarks: add benches for nitunit
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 13 May 2015 23:48:56 +0000 (19:48 -0400)]
lib: fix whitespaces in misc files
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 13 May 2015 23:48:10 +0000 (19:48 -0400)]
lib: fix nitunits indentation
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 13 May 2015 23:45:16 +0000 (19:45 -0400)]
lib: fix nitish in nitunits
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 11 May 2015 16:37:42 +0000 (12:37 -0400)]
src: remove unused docdown parser and test
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 11 May 2015 17:42:58 +0000 (13:42 -0400)]
nitunit: update tests
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 25 May 2015 16:54:23 +0000 (12:54 -0400)]
nitunit: use the Markdown parser from `lib/markdown` instead of `src/docdown`
Fixes #1331
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 11 May 2015 17:31:26 +0000 (13:31 -0400)]
lib/markdown: fix multiple fence in the same comment
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 10 Jun 2015 19:37:22 +0000 (15:37 -0400)]
example: add boolean usage example from rosetta code
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 10 Jun 2015 19:16:59 +0000 (15:16 -0400)]
example: add caesar cipher example from rosetta code
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 10 Jun 2015 18:35:10 +0000 (14:35 -0400)]
example: add artihmetic mode example from rosetta code
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Renata Carvalho [Wed, 10 Jun 2015 18:16:33 +0000 (14:16 -0400)]
rosetta: factorial
Signed-off-by: Renata Carvalho <renatawm@gmail.com>
Renata Carvalho [Wed, 10 Jun 2015 18:09:16 +0000 (14:09 -0400)]
rosetta: perfect_numbers
Signed-off-by: Renata Carvalho <renatawm@gmail.com>
Renata Carvalho [Wed, 10 Jun 2015 18:02:07 +0000 (14:02 -0400)]
rosetta: symmetric_difference
Signed-off-by: Renata Carvalho <renatawm@gmail.com>
Alexandre Terrasa [Wed, 10 Jun 2015 17:52:17 +0000 (13:52 -0400)]
nitrpg: remove points if a PR is closed without merge
So @ventilooo won't cheat again!
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 10 Jun 2015 17:06:41 +0000 (13:06 -0400)]
examples: add rosetta code Median
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean-Philippe Caissy [Wed, 10 Jun 2015 16:54:32 +0000 (16:54 +0000)]
example: Rosetta Code example for letter frequency
Signed-off-by: Jean-Philippe Caissy <jean-philippe.caissy@shopify.com>
Jean Privat [Wed, 10 Jun 2015 16:51:03 +0000 (12:51 -0400)]
rosetta code: first_letter_last_letter
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Jun 2015 15:44:43 +0000 (11:44 -0400)]
rosetta code: count_the_coins
Signed-off-by: Jean Privat <jean@pryen.org>
Arthur Delamare [Wed, 10 Jun 2015 15:20:40 +0000 (11:20 -0400)]
example: add catalan_numbers task of Rosetta code
Signed-off-by: Arthur Delamare <arthur.delamare@viacesi.fr>
Renata Carvalho [Wed, 10 Jun 2015 15:05:02 +0000 (11:05 -0400)]
rosetta code: factorial
Signed-off-by: Renata Carvalho <renatawm@gmail.com>
Jean Privat [Wed, 10 Jun 2015 14:59:49 +0000 (10:59 -0400)]
rosetta code: here_document
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Wed, 10 Jun 2015 14:37:35 +0000 (10:37 -0400)]
examples: Add 99_Bottles_of_Beer rosetta code example
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Wed, 10 Jun 2015 14:29:07 +0000 (10:29 -0400)]
rosetta_code: sha1
Signed-off-by: Jean Privat <jean@pryen.org>
BlackMinou [Wed, 10 Jun 2015 07:38:12 +0000 (09:38 +0200)]
rosettacode: primality by trial division
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
Alexis Laferrière [Mon, 8 Jun 2015 12:20:46 +0000 (08:20 -0400)]
src/niti: do not support extern methods with non primitive parameters
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 8 Jun 2015 11:14:52 +0000 (07:14 -0400)]
tests: remove the outdated callback_* examples
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 6 Jun 2015 18:32:18 +0000 (14:32 -0400)]
examples: add missing import of math.h to `draw_operation`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 6 Jun 2015 21:07:19 +0000 (17:07 -0400)]
src/niti: report a "not yet implemented" when using the pkgconfig annotation
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 6 Jun 2015 10:38:23 +0000 (06:38 -0400)]
src: add README to dynamic_loading_ffi
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 4 Jun 2015 20:10:30 +0000 (16:10 -0400)]
src: activate FFI in interpreter
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 23 Sep 2012 15:23:27 +0000 (11:23 -0400)]
src: intro an FFI for the interpreter
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 10 Jun 2015 01:47:19 +0000 (21:47 -0400)]
Merge: Activate C warnings in FFI code and revert `NativeString` to `char *`
The revert commit is partial, it affects only NativeString and does not touch Char.
Pull-Request: #1451
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 10 Jun 2015 01:47:05 +0000 (21:47 -0400)]
Merge: Work on the Curl module
Changes:
* Simplify callbacks so they do not break light FFI only engines.
* Remove about 8 classes and 3 C structures.
* Remove the custom implementation of NativeFile.
* Update style to the latest best practices. Note that it was one of the first large module based on the FFI, a lot has changed since then.
* Revamp and rename CurlMail, its API is now nicer to use:
~~~
import curl
var mail = new CurlMail("sender@example.org", ["to@example.org"], cc=["bob@example.org"])
mail.subject = "Hello From My Nit Program"
mail.body = "<h1>Here you can write HTML stuff.</h1>"
mail.headers_body["Content-Type:"] = """text/html; charset="UTF-8""""
mail.headers_body["Content-Transfer-Encoding:"] = "quoted-printable"
# Set mail server
var error = mail.set_outgoing_server("smtps://smtp.example.org:465", "user@example.org", "mypassword")
assert error == null
# Send
error = mail.execute
assert error == null
~~~
Thoughts on what's to do next:
* Extract the request API so Curl is only an implementation. The abstract API could also be implemented on Android where we can use Java services instead.
* Clean up `CurlHTTPRequest`.
* Use `Error` and differentiate between internal Curl errors and normal transfert failures.
* Replace the C structure linked to reading data and add tests for its usage.
* Add dead simple services: `Text::download: nullable String`, `Text::download_to_file(filepath: Text)`, `Text::download_to_stream(stream: Writer)` or something like that.
* Make more classes of native_curl private as we cannot make the module private because it defines the user-customizable callbacks. Some modules (neo4j) use what would be private, so it requires updating them also.
---
Should fix #936 and other problems when importing but not using Curl.
Also helps #1443 correctly report unsupported programs.
Pull-Request: #1445
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Jun 2015 01:46:52 +0000 (21:46 -0400)]
Merge: Add some collections for java/collections.nit
This PR complete the java collections : ``` int[], short[], long[], boolean[], byte[], char[] ```
Pull-Request: #1435
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: ArthurDelamare <arthur.delamare@viacesi.fr>
Jean Privat [Wed, 10 Jun 2015 01:46:42 +0000 (21:46 -0400)]
Merge: Attribute and autoinit annotations
A big set of loosely coupled but related changed on the annotations on attributes and methods.
Here is a summary of the changes on the user-side:
* No more special case for the kind of classes, so you can use `autoinit` in interfaces.
* Explicit annotation `autoinit` is understood on attributes and is the default on value-less concrete attribute.
* Abstract attributes are `noautoinit` by default, if `autoinit` is given, it is applied on the setter. This way abstract attributes are basically just a couple of getter-setter. close #1311
This way there is less special cases and behaviors. Still more work is required to finish #1322.
Pull-Request: #1433
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Wed, 10 Jun 2015 01:46:34 +0000 (21:46 -0400)]
Merge: nitvm: Basic blocks generation and SSA-algorithm
This PR introduces a SSA-algorithm implementation in the nitvm.
First, basic blocks are generated. A basic block is a sequence of instructions without a jump inside.
In this version, basic blocks are generated from the AST and so they contain only the first instruction and the last one.
Then, SSA-algorithm (Single-Static Assignment) is implemented. In SSA algorithm, variables are renamed to have only one assignment per variable.
Each time an assignment is made, a new version of a variable is made.
Some variables (phi-functions) have several assignment and so, several dependances.
The basic block generation and SSA are computed for each method in a lazy way in the nitvm.
The main objective of SSA is to give the dependances for each variable (this will be used in further PR).
This module also collect all object-mechanisms sites during the visit of methods.
Pull-Request: #1425
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Wed, 10 Jun 2015 01:46:20 +0000 (21:46 -0400)]
Merge: example: add 24 game task of Rosetta code
Rosetta code example of 24 game
<http://rosettacode.org/wiki/24_game>
Pull-Request: #1372
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Ait younes Mehdi Adel <overpex@gmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 10 Jun 2015 01:46:14 +0000 (21:46 -0400)]
Merge: file: fix `simplify_path` behavior for path starting with `.`.
Before this PR `./` was simplified in `/` which was wrong.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #1368
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 10 Jun 2015 01:46:08 +0000 (21:46 -0400)]
Merge: Date Lib
les fonctions ce trouve dans le module date_f.nit.
Pull-Request: #1100
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Jun 2015 01:21:54 +0000 (21:21 -0400)]
tests: make test_string_long less long
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Sat, 6 Jun 2015 20:47:01 +0000 (16:47 -0400)]
lib/markdown: fix missing space after wikilinks token
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 6 Jun 2015 20:09:31 +0000 (16:09 -0400)]
nitiwiki: add github url for last changes and edit mode
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 6 Jun 2015 20:09:05 +0000 (16:09 -0400)]
nitiwiki: also search relative patch in current section
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 6 Jun 2015 20:08:19 +0000 (16:08 -0400)]
nitiwiki: search titles in lower case
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 6 Jun 2015 19:10:06 +0000 (15:10 -0400)]
nitiwiki: make breadcrumbs optional
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 6 Jun 2015 19:09:45 +0000 (15:09 -0400)]
nitiwiki: make summary optional
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 6 Jun 2015 18:55:54 +0000 (14:55 -0400)]
nitiwiki: allow absolute url in wikilinks
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 2 Jun 2015 04:47:02 +0000 (00:47 -0400)]
nitiwiki: introduce customizable sidebar
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 2 Jun 2015 04:46:42 +0000 (00:46 -0400)]
nitiwiki: make all wiki entries able to parse markdown
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 2 Jun 2015 04:45:25 +0000 (00:45 -0400)]
nitiwiki: fix link lookup on root
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 2 Jun 2015 03:26:12 +0000 (23:26 -0400)]
ini: accept array notation
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 2 Jun 2015 03:05:09 +0000 (23:05 -0400)]
ini: show error instead crashing on bad formatting
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 2 Jun 2015 02:50:59 +0000 (22:50 -0400)]
nitiwiki: change position of sidebar from config
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Julien Pagès [Wed, 3 Jun 2015 18:35:06 +0000 (20:35 +0200)]
nitvm: Using SSA module in the nitvm
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Julien Pagès [Fri, 29 May 2015 13:57:53 +0000 (15:57 +0200)]
nitvm: A method compile offers a unique entry point for compilation-like mechanisms
Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Alexandre Terrasa [Sat, 6 Jun 2015 23:59:02 +0000 (19:59 -0400)]
nitdoc: remove `require.js` dependency
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Tue, 9 Jun 2015 17:20:34 +0000 (13:20 -0400)]
file: fix `simplify_path` behavior for path starting with `.`.
Before this PR `./` was simplified as `/` which is wrong.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Tue, 9 Jun 2015 15:24:32 +0000 (11:24 -0400)]
lib: fix C compiler warnings in sha1, socket and sdl
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Jun 2015 15:24:20 +0000 (11:24 -0400)]
lib: fix C compiler warnings in standard library
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Jun 2015 14:57:00 +0000 (10:57 -0400)]
Partial Revert "compiler: Changed types of Char to uint32_t and NativeString to unsigned char*"
This reverts commit
6b52ea3d5ca77dbcc6edbbf71c1aa9419a019bac.
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Jun 2015 14:55:59 +0000 (10:55 -0400)]
src: compile user C code with -Wall
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
BlackMinou [Wed, 3 Jun 2015 11:13:40 +0000 (13:13 +0200)]
example/simple update sounds test
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
BlackMinou [Wed, 3 Jun 2015 11:11:33 +0000 (13:11 +0200)]
contrib/friendz: update so it uses android sound library
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
BlackMinou [Wed, 3 Jun 2015 11:01:21 +0000 (13:01 +0200)]
android assets and resources update
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
BlackMinou [Wed, 3 Jun 2015 10:57:02 +0000 (12:57 +0200)]
android audio : update with error management
Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>
Jean Privat [Wed, 3 Jun 2015 15:23:39 +0000 (11:23 -0400)]
tests: add base_attr_annot.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jun 2015 14:24:41 +0000 (10:24 -0400)]
tests: add base_attr_abstract[34].nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 May 2015 15:21:49 +0000 (11:21 -0400)]
tests: update other tests related to init with setters
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 May 2015 15:31:45 +0000 (11:31 -0400)]
tests: add base_init_setter.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 May 2015 15:21:01 +0000 (11:21 -0400)]
tests: update base_attr_abstract[12].nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jun 2015 15:24:55 +0000 (11:24 -0400)]
modelize: remove restriction on concrete class in intializer collect
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jun 2015 14:04:55 +0000 (10:04 -0400)]
modelize: error/warning if explicit autoinit on attributes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 29 May 2015 16:05:42 +0000 (12:05 -0400)]
modelize: error in `autoinit` is used in class refinement
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 29 May 2015 16:05:17 +0000 (12:05 -0400)]
modelize: move `autoinit` management on method into AMethPropdef
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 May 2015 13:28:06 +0000 (09:28 -0400)]
modelize: rely on `AAttrPropdef::mreadpropdef` to be the main property
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 May 2015 13:27:12 +0000 (09:27 -0400)]
modelize: add `AAttrPropdef::mtype` to factorize the type access
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Fri, 5 Jun 2015 13:48:53 +0000 (09:48 -0400)]
src: intro `call_extern` in interpreter
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 8 Jun 2015 15:03:10 +0000 (11:03 -0400)]
Merge: FFI clean up
Pull-Request: #1442
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Mon, 8 Jun 2015 14:40:35 +0000 (10:40 -0400)]
src/nitni: fix doc of `is_cprimitive`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 8 Jun 2015 13:48:42 +0000 (09:48 -0400)]
lib/curl: nullable attributes of CurlHTTPRequest are optionnal
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 8 Jun 2015 13:48:12 +0000 (09:48 -0400)]
lib/curl: make `supporter_outgoing_protocols` public
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 8 Jun 2015 10:05:21 +0000 (06:05 -0400)]
Merge: Fix support for Byte in the FFI
Pull-Request: #1441
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Jean Privat [Mon, 8 Jun 2015 10:05:14 +0000 (06:05 -0400)]
Merge: More keep going
This improve the robustness of tools when given --keep-going.
Tools like nitpick, that have --keep-going by default, are more robust and collect more errors.
Moreover, the compiler can now compile simple programs with instructions that fail during the typing phase (most errors like unknown method or bad type).
These instructions are compiled with a run time error instead so the program is still expected to behave in an reliable way.
~~~nit
print 1
fail now
print 2
~~~
~~~sh
$ nitc kg.nit --keep-going
kg.nit:2,1--4: Error: method or variable `fail` unknown in `Sys`.
$ ./kg
1
Runtime error: FATAL: bad statement executed. (kg.nit:1)
~~~
One usage would be to force `c_src` to compile things even if it lags behind.
Pull-Request: #1440
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Jean Privat [Mon, 8 Jun 2015 10:05:05 +0000 (06:05 -0400)]
Merge: Warn useless do block
Warn useless do block, like
~~~nit
loop do
print 1
end
~~~
Close #1437
Pull-Request: #1438
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 8 Jun 2015 10:05:00 +0000 (06:05 -0400)]
Merge: Love contrib
One day, a package manager will simplify the installation and the maintenance of third-party projects, libraries and programs in Nit, so that `import foo` will import the project `foo` if installed.
Noways, `contrib` is used as a placeholder for some independent projects that are not mainly a library (or borderline). However, the nature of the Nit language, especially the refinement of class blurry the difference between libraries and programs and make it conceivable to extends an existing program by refining it (or just reuse its base libraries).
However, `import foo` will not work if foo is in contrib, this issue has two current workarounds:
* the user use `-I` with some relative path location in the Makefile, that is not practical because it should be used on each tools thus broke basic manual commands (like nitc on the command line) and automatic commands (like vim+nitpick).
* the project just move itself to lib/ so that client can easily import it, but this is hard to conceptualize for some project like `nitiwiki`
The easy solution to solve this issue is to add `contrib` to the libpath.
Note: the loader still has to be rewritten to be less buggy, more simple and saner. cf #1250
Pull-Request: #1436
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Sun, 7 Jun 2015 18:43:11 +0000 (14:43 -0400)]
lib/github: update use of Curl
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 7 Jun 2015 18:42:51 +0000 (14:42 -0400)]
contrib: update users of Curl
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>