Jean Privat [Tue, 11 Mar 2014 17:17:16 +0000 (13:17 -0400)]
frontend: move `MPropDef::has_supercall` to `modelize_property`
new init will add implicit super-calls, so the flag that inform
post-frontend phases that a `super` call is required must
be more accessible.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 23:43:42 +0000 (19:43 -0400)]
Merge branch 'templates'
Jean Privat [Mon, 10 Mar 2014 20:28:36 +0000 (16:28 -0400)]
Merge branch 'tests'
Jean Privat [Mon, 10 Mar 2014 16:53:53 +0000 (12:53 -0400)]
tests: reuse legacy ffi for test_extern.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 15:45:50 +0000 (11:45 -0400)]
niti: add missing extern&intern methods on Char and Float
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 15:35:41 +0000 (11:35 -0400)]
tests: add a lot of missing sav/ files
most are empty and from the lib/ directory
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 15:29:13 +0000 (11:29 -0400)]
tests: cleanup .skip files from old stuff
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 15:12:06 +0000 (11:12 -0400)]
tests: *todo* and *fail* marked as skiped in the XML juint file
There is no way, in the JUnit format to distinguish between *expected
success* and *expected failure*.
But there is a distinction between *run* and *skipped* (shown as green and
yellow by Jenkins).
This hack overload the currently useless *skipped* status to mark expected
failure (todo and fixme).
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 16:56:59 +0000 (12:56 -0400)]
src: remove now useless compiling_writer
If required, use lib/template instead
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 16:55:45 +0000 (12:55 -0400)]
src/c_tools: use template instead of compiling_writer
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 16:39:34 +0000 (12:39 -0400)]
Merge remote-tracking branch 'alexis/more-android'
* Adds the libPNG project to the share folder. This library is not available in the Android NDK and thus must be added to each generated apk.
* Adds the Android mnit implementation
* Improves nitg compilation for Android to support mnit projects
* Update the mnit examples with their Android version
* Play Hunted Dino on Android!
Alexis Laferrière [Sat, 8 Mar 2014 03:16:34 +0000 (22:16 -0500)]
NOTICE: updated with info of the libpng project
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 10 Mar 2014 15:16:38 +0000 (11:16 -0400)]
Merge branch 'templates'
simple but efficient template system
Jean Privat [Mon, 10 Mar 2014 14:36:36 +0000 (10:36 -0400)]
example: add an example for lib/template
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 7 Mar 2014 19:48:16 +0000 (14:48 -0500)]
lib: add new module `template`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 7 Mar 2014 19:34:50 +0000 (14:34 -0500)]
lib/stream: add Streamable interface
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 14:33:54 +0000 (10:33 -0400)]
Merge branch 'triple_quoted'
Jean Privat [Mon, 10 Mar 2014 13:42:46 +0000 (09:42 -0400)]
vim: update syntax for strings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 13:41:48 +0000 (09:41 -0400)]
tests: add string-related tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 14:32:11 +0000 (10:32 -0400)]
parser: regenerate for strings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 13:40:41 +0000 (09:40 -0400)]
syntax: enable empty expression-expansion in super-strings
Allows `"a{}b"` to be `"ab"`, ie with an empty expansion in the body.
The point of this commit is to allow line-breaks or comments in strings
~~~
print "this {
}is a { # some comment
}string"
~~~
outputs "this is a string"
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 10 Mar 2014 13:30:21 +0000 (09:30 -0400)]
syntax: allows trailing " and { in triple quoted strings
Previously, the 3 first " where the start
and what followed the content until 3 other "
therefore `""""x"""` is the 2 char string `"x`;
but `"""x""""` was illegal (a single x followed by a un-terminated string)
This commit make long string end at a sequence of 3 or more " but considers
only the last 3 to be the end token.
Now, `"""x""""` is legal and is the 2 character string `x"`
Last example:
~~~
print """"""""" # output 3 characters: """
~~~
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Sun, 9 Feb 2014 14:37:01 +0000 (09:37 -0500)]
example: update mnit examples with android version
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Mar 2014 22:16:37 +0000 (17:16 -0500)]
nitg/android: move generate apk file (with -o or locally)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 2 Mar 2014 12:34:14 +0000 (07:34 -0500)]
nitg/android: load assets on the APK
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 7 Mar 2014 20:33:28 +0000 (15:33 -0500)]
syntax: ignore first '\n' in triple-quoted strings
This detail of the specification makes triple-quoted strings more
readable and usable in code.
Before, programmer was required to starts content just after the """
thus writing unaligned piece of text
~~~
var x = """Roses are red,
Violets are blue,
Triple-quoted strings,
Are easier to write.
"""
~~~
This patch ignore the end of line iff it just follows the """,
thus programmer can write
~~~
var x = """
Roses are red,
Violets are blue,
Triple-quoted strings,
Are easier to write.
"""
~~~
This commit will improve the usability of the new/future template library.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Sun, 2 Mar 2014 12:33:47 +0000 (07:33 -0500)]
nitg/android: compile with the png lib
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 2 Mar 2014 12:05:34 +0000 (07:05 -0500)]
nitg/android: add a deeper folder to generated project
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 2 Mar 2014 12:34:35 +0000 (07:34 -0500)]
lib: import the android module from mnit_android
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Feb 2014 15:51:43 +0000 (10:51 -0500)]
lib: intro the android implementation of mnit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Mar 2014 22:05:05 +0000 (17:05 -0500)]
share: intro a README file to explain the sub-folders
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 7 Mar 2014 21:15:53 +0000 (16:15 -0500)]
Merge remote-tracking branch 'alexis/ffi-fix'
Alexis Laferrière [Fri, 7 Mar 2014 20:37:20 +0000 (15:37 -0500)]
nitg: collect_super_send detects callbacks to super from C
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 5 Mar 2014 15:30:09 +0000 (10:30 -0500)]
nitg: activate FFI in all engines
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 6 Mar 2014 13:17:10 +0000 (08:17 -0500)]
tests: do not skip opengles2_hello_triangle in nitg-s
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Mar 2014 20:42:44 +0000 (15:42 -0500)]
tests: skip test_json in both nitg-s and nitg-e
Jean Privat [Fri, 7 Mar 2014 20:21:14 +0000 (15:21 -0500)]
Merge remote-tracking branch 'alexis/cleanup-curl'
Alexis Laferrière [Fri, 7 Mar 2014 19:24:31 +0000 (14:24 -0500)]
example: fix and simplify the curl_http example
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Mar 2014 19:24:10 +0000 (14:24 -0500)]
examples: fix curl_mail with latest changes to the lib
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 7 Mar 2014 19:15:22 +0000 (14:15 -0500)]
examples: fix indentation of curl examples
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 6 Mar 2014 20:18:32 +0000 (15:18 -0500)]
lib/curl: remove indirect creation of basic requests
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 6 Mar 2014 20:06:07 +0000 (15:06 -0500)]
lib/curl: clean up CurlMailRequest::init
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 6 Mar 2014 20:05:25 +0000 (15:05 -0500)]
lib/curl: clean up surperfluous types
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 7 Mar 2014 19:23:59 +0000 (14:23 -0500)]
Merge remote-tracking branch 'alexandre/nitmetrics'
Alexandre Terrasa [Fri, 7 Mar 2014 18:44:37 +0000 (13:44 -0500)]
tests: update tests for nitmetrics
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 06:04:03 +0000 (01:04 -0500)]
metrics: introduce Mendel analysis
This analysis can be used to extract interesting classes from a class hierarchy
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 06:19:44 +0000 (01:19 -0500)]
metrics: min and max return the element instead of a couple
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 01:13:18 +0000 (20:13 -0500)]
metrics: refactor RTA metrics
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 01:12:45 +0000 (20:12 -0500)]
lib: rename Counter::total into Counter::sum
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexis Laferrière [Wed, 19 Feb 2014 19:49:29 +0000 (14:49 -0500)]
share/png: add Android specific makefiles to the png library
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 7 Mar 2014 15:59:39 +0000 (10:59 -0500)]
Merge branch 'callsite'
Annother short clean-n-prepare series for the new inits
Jean Privat [Fri, 7 Mar 2014 15:58:47 +0000 (10:58 -0500)]
Merge branch 'fix_hashcol_enlarge'
Alexis Laferrière [Wed, 19 Feb 2014 19:47:44 +0000 (14:47 -0500)]
share/png: configure the png library for android
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 19 Feb 2014 19:37:19 +0000 (14:37 -0500)]
share/png: intro the libpng base code for the Android platform
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexandre Terrasa [Thu, 6 Mar 2014 06:31:40 +0000 (01:31 -0500)]
metrics: make MetricSet output csv
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 6 Mar 2014 22:05:41 +0000 (17:05 -0500)]
lib: allow client to edit csv header by and instead of set_header
Alexandre Terrasa [Thu, 6 Mar 2014 06:06:23 +0000 (01:06 -0500)]
lib: csv get file to save in save instead of init
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 6 Mar 2014 15:40:49 +0000 (10:40 -0500)]
metrics: add Number of Local MProperty class metric
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 06:18:12 +0000 (01:18 -0500)]
metrics: print std_dev for each metric
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 6 Mar 2014 17:55:44 +0000 (12:55 -0500)]
lib: add standard derivation computation to counter
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 06:17:08 +0000 (01:17 -0500)]
metrics: add to_console method to pretty print metrics result in console
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 6 Mar 2014 15:36:54 +0000 (10:36 -0500)]
metrics: move up collect in MetricSet
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 6 Mar 2014 15:35:19 +0000 (10:35 -0500)]
metrics: move up collect method in Metric
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Fri, 7 Mar 2014 06:10:14 +0000 (01:10 -0500)]
metrics: move up values method in Metric interface
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Thu, 6 Mar 2014 21:35:14 +0000 (16:35 -0500)]
lib/hashcol: forgot to nullify a link in `HashCollection::enlarge`
Thus caused buggy bucklet-link update in `HashSet::remove`
Thus caused buggy transitive reduction in `POSet::add_edge`
Thus caused buggy coloration in `layout_builders`
Thus caused buggy type test tables in `SeparateCompiler::compile_type_to_c`
Thus caused buggy type tests in programs
Fixes #307
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Thu, 6 Mar 2014 18:27:36 +0000 (13:27 -0500)]
lib/curl: fix indentation
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 6 Mar 2014 12:39:13 +0000 (07:39 -0500)]
nitg-e: all extern type use the C structures of kernel::Pointer
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 4 Mar 2014 21:45:07 +0000 (16:45 -0500)]
nitg-s: all extern type use the C structures of kernel::Pointer
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 4 Mar 2014 21:45:32 +0000 (16:45 -0500)]
nitg-s: fix importation of custom C header between modules
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 5 Mar 2014 22:45:39 +0000 (17:45 -0500)]
nitg-s: fix "No provided declaration" with FFI casts
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 5 Mar 2014 22:45:04 +0000 (17:45 -0500)]
nitg: fix FFI error with arguments name of extern methods
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 5 Mar 2014 15:45:53 +0000 (10:45 -0500)]
nitg: fix C return type of callbacks to Nit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 6 Mar 2014 17:10:55 +0000 (12:10 -0500)]
lib: fix version of GTK for is_visible
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 6 Mar 2014 18:04:13 +0000 (13:04 -0500)]
Merge remote-tracking branch 'alexis/android-platform'
Add support to compile for Android with nitg. When the "android" module
is imported, nitg will generate an APK instead of a binary,
The option --no-stacktrace must be used for Android. This is why we
expect the test to fail.
The generate applications are not usable (as of yet) since they are only
console
To do next:
* Solve the --no-stacktrace problem.
* Implement mnit for Android
Jean Privat [Thu, 6 Mar 2014 18:03:45 +0000 (13:03 -0500)]
Merge branch 'error_req_loop'
Jean Privat [Thu, 6 Mar 2014 13:44:34 +0000 (08:44 -0500)]
tests: error_req_loop*
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Mar 2014 13:43:46 +0000 (08:43 -0500)]
modelbuilder: display error in case of dependency loop
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 6 Mar 2014 13:38:15 +0000 (08:38 -0500)]
Merge branch 'fast_nitx'
Alexandre Terrasa [Thu, 6 Mar 2014 07:36:43 +0000 (02:36 -0500)]
model_utils: better class hierarchy exploration
Now the mainmodule is taken into account to explore the mclass hierarchy
Also, the user can specify a min_visibility to filter things
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Wed, 5 Mar 2014 20:50:08 +0000 (15:50 -0500)]
auto_super_init: use CallSite
this will simplify calls on (future) new-style init since the logic
will be in the CallSite part.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 20:43:08 +0000 (15:43 -0500)]
auto_super_init: clean signature check
use local variables to improve code
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 20:20:24 +0000 (15:20 -0500)]
nitx: only depends on modelize_property instead of the full frontend
~~~
$ time ../bin/nitx nitg.nit :q # before
real 0m2.775s
user 0m2.660s
sys 0m0.112s
$ time ./nitx nitg.nit :q # after
real 0m1.436s
user 0m1.328s
sys 0m0.104s
~~~
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 20:02:17 +0000 (15:02 -0500)]
Merge remote-tracking branch 'alexandre/fix-float'
Jean Privat [Wed, 5 Mar 2014 19:40:21 +0000 (14:40 -0500)]
modelbuilder: avoid infinitive recursion in case of module importation loops
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Wed, 5 Mar 2014 18:49:51 +0000 (13:49 -0500)]
lib: fixed nan on floats
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 5 Mar 2014 16:23:39 +0000 (11:23 -0500)]
lib: cleaned trailing spaces in string
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Wed, 5 Mar 2014 16:23:11 +0000 (11:23 -0500)]
lib: fixed infinity on floats
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 5 Mar 2014 16:39:13 +0000 (11:39 -0500)]
niti: add method `NaiveInterpreter.callsite` to prepare complex callsite
This will enable the extension of the behavior, especially for new init.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Mar 2014 15:34:50 +0000 (10:34 -0500)]
Merge branch 'map'
fixes #303
Jean Privat [Tue, 4 Mar 2014 17:03:19 +0000 (12:03 -0500)]
lib/more_collection: MultiHashMap associates new arrays to unknown keys
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 4 Mar 2014 17:03:06 +0000 (12:03 -0500)]
lib: add `provide_default_value` in Map to allow subclasses to provide
specific behavior when there is no value associated with a key.
The default behavior is to abort, as usual.
Basically this patch factorizes the `abort` in a single function that can
be redefined.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Wed, 5 Mar 2014 13:08:26 +0000 (08:08 -0500)]
lib: fix extern type of NativeFile
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 4 Mar 2014 21:46:23 +0000 (16:46 -0500)]
lib: fix missing FFI imports in gtk3_4
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 4 Mar 2014 19:39:13 +0000 (14:39 -0500)]
Merge remote-tracking branch 'alexis/ffi-fix'
In most cases the generated code use a wrong types (Custom types in
extern classes aren't visible inside the main generated code). Also
fixed an alias.
Alexis Laferrière [Fri, 28 Feb 2014 20:17:29 +0000 (15:17 -0500)]
tests: skip android related test in niti
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 28 Feb 2014 20:16:36 +0000 (15:16 -0500)]
tests: minimal test for compilation to android
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 25 Feb 2014 05:09:57 +0000 (00:09 -0500)]
android: adds support for the android platform
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 17 Feb 2014 14:17:03 +0000 (09:17 -0500)]
nitg: intro the platform concept
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 25 Feb 2014 05:09:11 +0000 (00:09 -0500)]
nitg: refactor the ToolChain class by adding an abstract super class
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 22 Feb 2014 18:11:33 +0000 (13:11 -0500)]
nitg: extract toolchain methods into a new ToolChain class
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>