nit.git
10 years agoballz: rename to `ballz_android` so tests can check it
Jean Privat [Thu, 3 Apr 2014 13:01:38 +0000 (09:01 -0400)]
ballz: rename to `ballz_android` so tests can check it

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

10 years agoMerge: Improvements to Moles
Jean Privat [Thu, 3 Apr 2014 12:51:59 +0000 (08:51 -0400)]
Merge: Improvements to Moles

* Make it playable and somewhat fun.
* Adds traps (after a while Groundhogs are looking for vengeance!)
* Use cuter images!
* Adapt the scale according to screen size on Android. The core module `moles` still use the image resolution as reference.

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

10 years agomoles: lower difficulty
Alexis Laferrière [Wed, 2 Apr 2014 13:03:38 +0000 (09:03 -0400)]
moles: lower difficulty

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

10 years agomoles: add rules to Makefile; android-install and pngs
Alexis Laferrière [Tue, 1 Apr 2014 23:23:14 +0000 (19:23 -0400)]
moles: add rules to Makefile; android-install and pngs

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

10 years agomoles: add traps!
Alexis Laferrière [Tue, 1 Apr 2014 23:21:12 +0000 (19:21 -0400)]
moles: add traps!

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

10 years agomoles: add signs
Alexis Laferrière [Tue, 1 Apr 2014 22:34:33 +0000 (18:34 -0400)]
moles: add signs

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

10 years agomoles: add details to holes
Alexis Laferrière [Tue, 1 Apr 2014 21:28:05 +0000 (17:28 -0400)]
moles: add details to holes

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

10 years agomoles: use a darker background color
Alexis Laferrière [Tue, 1 Apr 2014 21:27:12 +0000 (17:27 -0400)]
moles: use a darker background color

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

10 years agomoles: improve spacing of holes
Alexis Laferrière [Tue, 1 Apr 2014 21:26:47 +0000 (17:26 -0400)]
moles: improve spacing of holes

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

10 years agomoles: set scale according to screen resolution on Android
Alexis Laferrière [Tue, 1 Apr 2014 20:36:13 +0000 (16:36 -0400)]
moles: set scale according to screen resolution on Android

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

10 years agomoles: enable setting scale by platform
Alexis Laferrière [Tue, 1 Apr 2014 20:35:55 +0000 (16:35 -0400)]
moles: enable setting scale by platform

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

10 years agomoles: make number of rows and columns customizable by platform
Alexis Laferrière [Tue, 1 Apr 2014 17:31:27 +0000 (13:31 -0400)]
moles: make number of rows and columns customizable by platform

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

10 years agomoles: fix order of columns and rows
Alexis Laferrière [Tue, 1 Apr 2014 17:30:33 +0000 (13:30 -0400)]
moles: fix order of columns and rows

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

10 years agomoles: cuter images
Alexis Laferrière [Tue, 1 Apr 2014 16:55:19 +0000 (12:55 -0400)]
moles: cuter images

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

10 years agomoles: empty or hit moles do not intercept taps
Alexis Laferrière [Tue, 1 Apr 2014 16:54:21 +0000 (12:54 -0400)]
moles: empty or hit moles do not intercept taps

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

10 years agomoles: improve display scaling
Alexis Laferrière [Tue, 1 Apr 2014 16:52:59 +0000 (12:52 -0400)]
moles: improve display scaling

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

10 years agomoles: improve the documentation
Alexis Laferrière [Tue, 1 Apr 2014 15:22:59 +0000 (11:22 -0400)]
moles: improve the documentation

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

10 years agomoles: improve coding style of mnit_moles
Alexis Laferrière [Tue, 1 Apr 2014 15:19:52 +0000 (11:19 -0400)]
moles: improve coding style of mnit_moles

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

10 years agomnit/numbers: fix use image scale
Alexis Laferrière [Tue, 1 Apr 2014 22:34:12 +0000 (18:34 -0400)]
mnit/numbers: fix use image scale

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

10 years agoMerge: Android Sensors + mnit_ballz
Jean Privat [Tue, 1 Apr 2014 19:03:11 +0000 (15:03 -0400)]
Merge: Android Sensors + mnit_ballz

Adding support for the basics android sensors:
accelerometer, magnetic field, gyroscope, light and proximity

and add mnit_ballz, an app testing theses sensors

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

10 years agoversion 0.6.4 v0.6.5
Jean Privat [Tue, 1 Apr 2014 12:44:45 +0000 (08:44 -0400)]
version 0.6.4

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

10 years agoexamples: Adding mnit_ballz, a game using android_sensor API
Romain Chanoir [Tue, 25 Mar 2014 17:32:59 +0000 (13:32 -0400)]
examples: Adding mnit_ballz, a game using android_sensor API

Signed-off-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

10 years agomnit_android: changes android_app to support android_sensor
Romain Chanoir [Tue, 25 Mar 2014 17:31:41 +0000 (13:31 -0400)]
mnit_android: changes android_app to support android_sensor

Signed-off-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

10 years agoMerge: Incremental Improvements to Dino
Jean Privat [Mon, 31 Mar 2014 18:25:39 +0000 (14:25 -0400)]
Merge: Incremental Improvements to Dino

Many minor changes...

* Fixes the infamous exploit of running around the cavemen to group them on a single point!
* You will now know you score!
* A dead dino is no longer a murderous dino
* Bushes!

Pull-Request: #374

10 years agodino: javelins on ground have different angles
Alexis Laferrière [Tue, 18 Feb 2014 14:15:00 +0000 (09:15 -0500)]
dino: javelins on ground have different angles

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

10 years agodino: reset level after death
Alexis Laferrière [Wed, 12 Feb 2014 15:07:20 +0000 (10:07 -0500)]
dino: reset level after death

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

10 years agodino: draw a darker background
Alexis Laferrière [Wed, 12 Feb 2014 14:11:10 +0000 (09:11 -0500)]
dino: draw a darker background

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

10 years agodino: break items on ground when run over
Alexis Laferrière [Wed, 12 Feb 2014 00:08:17 +0000 (19:08 -0500)]
dino: break items on ground when run over

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

10 years agodino: add bushes!
Alexis Laferrière [Mon, 31 Mar 2014 01:59:34 +0000 (21:59 -0400)]
dino: add bushes!

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

10 years agodino: keep track of the score and display it
Alexis Laferrière [Tue, 11 Feb 2014 15:55:08 +0000 (10:55 -0500)]
dino: keep track of the score and display it

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

10 years agodino: add digits to assets
Alexis Laferrière [Tue, 11 Feb 2014 15:50:41 +0000 (10:50 -0500)]
dino: add digits to assets

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

10 years agodino: set rand seed at the number of cavemen
Alexis Laferrière [Tue, 11 Feb 2014 15:52:09 +0000 (10:52 -0500)]
dino: set rand seed at the number of cavemen

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

10 years agodino: each caveman has a random speed
Alexis Laferrière [Mon, 10 Feb 2014 15:24:38 +0000 (10:24 -0500)]
dino: each caveman has a random speed

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

10 years agodino: each caveman flee in different angles
Alexis Laferrière [Mon, 10 Feb 2014 15:04:34 +0000 (10:04 -0500)]
dino: each caveman flee in different angles

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

10 years agodino: each caveman has a predisposition for a hunting pattern
Alexis Laferrière [Mon, 10 Feb 2014 15:04:07 +0000 (10:04 -0500)]
dino: each caveman has a predisposition for a hunting pattern

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

10 years agodino: cavemen do not get run over by dead dino
Alexis Laferrière [Mon, 10 Feb 2014 15:02:57 +0000 (10:02 -0500)]
dino: cavemen do not get run over by dead dino

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

10 years agodino: display text under the hearts
Alexis Laferrière [Tue, 11 Feb 2014 15:54:47 +0000 (10:54 -0500)]
dino: display text under the hearts

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

10 years agodino: move down hearts according to platform
Alexis Laferrière [Mon, 31 Mar 2014 01:53:46 +0000 (21:53 -0400)]
dino: move down hearts according to platform

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

10 years agomnit_android: Adding android_sensor module
Romain Chanoir [Tue, 25 Mar 2014 17:31:08 +0000 (13:31 -0400)]
mnit_android: Adding android_sensor module

Signed-off-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

10 years agomnit_android: Adding SensorEvent in input_event module
Romain Chanoir [Tue, 25 Mar 2014 17:30:33 +0000 (13:30 -0400)]
mnit_android: Adding SensorEvent in input_event module

Signed-off-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

10 years agoMerge: CallSite on AFor and ARange
Jean Privat [Fri, 28 Mar 2014 22:13:12 +0000 (18:13 -0400)]
Merge: CallSite on AFor and ARange

Use CallSite to resolve and type some implicit services.
Subsequent phases will like them!

Currenlty: all the AFor and ARange services are converted and tools updated.
TODO: Array and SuperString

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

10 years agotests: update error messages
Jean Privat [Fri, 28 Mar 2014 00:37:31 +0000 (20:37 -0400)]
tests: update error messages

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

10 years agolib/sha1: fix nitunit
Jean Privat [Fri, 28 Mar 2014 00:08:46 +0000 (20:08 -0400)]
lib/sha1: fix nitunit

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

10 years agoMerge: lib: added sha1 on String
Jean Privat [Fri, 28 Mar 2014 00:04:47 +0000 (20:04 -0400)]
Merge: lib: added sha1 on String

Added function to compute the SHA-1 of a String in both its Binary and to hex form.

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

10 years agolib: added sha1 on String
Lucas Bajolet [Thu, 27 Mar 2014 20:33:42 +0000 (16:33 -0400)]
lib: added sha1 on String

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

10 years agoMerge: Fix visibility importation
Jean Privat [Thu, 27 Mar 2014 20:15:28 +0000 (16:15 -0400)]
Merge: Fix visibility importation

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

10 years agoMerge: Opt disable phase
Jean Privat [Thu, 27 Mar 2014 17:44:17 +0000 (13:44 -0400)]
Merge: Opt disable phase

`--disable-phase` to disable phase and broke tools :)

The point is to improve testing and comparison with and without specific (optional) phases

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

10 years agoMerge branch 'strings'
Jean Privat [Thu, 27 Mar 2014 06:25:49 +0000 (02:25 -0400)]
Merge branch 'strings'

10 years agoMerge: Callgraph
Jean Privat [Thu, 27 Mar 2014 01:04:53 +0000 (21:04 -0400)]
Merge: Callgraph

Quick patches so that RTA can give two new pieces of information.

1. what are the live CallSites? `RTA::live_callsites`
2. for each live CallSite, what are the live targets (MMethodDef) `RTA::live_targets`

Pull-Request: #369
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agophase: add option --disable-phase
Jean Privat [Thu, 27 Mar 2014 01:00:56 +0000 (21:00 -0400)]
phase: add option --disable-phase

Can be used to desactivate specific phases when testing and debugging.
The option can also lists the sequence of phases and their dependencies.

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

10 years agophase: use a better name on output
Jean Privat [Thu, 27 Mar 2014 00:47:15 +0000 (20:47 -0400)]
phase: use a better name on output

By defaut this uses the lowercased prefix of the classname.
But specific phases can redefine `to_s` if required.

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

10 years agoMerge: Fix ffi null service
Jean Privat [Wed, 26 Mar 2014 23:55:49 +0000 (19:55 -0400)]
Merge: Fix ffi null service

With nitg-g, the linker could fail when the same two piece of code will be in distinct files,
since the #ifndef trick does not cross compilation units.

This merge is just a workaroud where we use a global flag to avoid multiple definition.
While it works (thus is an improvement) it is ugly and broke the separate compilation concerns.

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

10 years agotyping: add `ARangeExpr::init_callsite` and use it everywhere
Jean Privat [Wed, 26 Mar 2014 20:08:05 +0000 (16:08 -0400)]
typing: add `ARangeExpr::init_callsite` and use it everywhere

One more callsite, and less method got manually

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

10 years agonit: use callsites in AFor instead re-resolving stuff
Jean Privat [Wed, 26 Mar 2014 19:46:20 +0000 (15:46 -0400)]
nit: use callsites in AFor instead re-resolving stuff

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

10 years agorta: use callsites in AFor instead re-resolving stuff
Jean Privat [Wed, 26 Mar 2014 19:45:50 +0000 (15:45 -0400)]
rta: use callsites in AFor instead re-resolving stuff

The code is so much simple now

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

10 years agotyping: AFor store services as CallSite (instead of MMethod)
Jean Privat [Wed, 26 Mar 2014 19:44:46 +0000 (15:44 -0400)]
typing: AFor store services as CallSite (instead of MMethod)

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

10 years agotyping: AFor remove old `iterate` case
Jean Privat [Wed, 26 Mar 2014 19:43:41 +0000 (15:43 -0400)]
typing: AFor remove old `iterate` case

They where for old closures

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

10 years agoMerge: More on Pipeline
Jean Privat [Wed, 26 Mar 2014 19:25:36 +0000 (15:25 -0400)]
Merge: More on Pipeline

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

10 years agotests: update sav/nitmetrics_args1.res for RTA-callsite info
Jean Privat [Wed, 26 Mar 2014 19:01:57 +0000 (15:01 -0400)]
tests: update sav/nitmetrics_args1.res for RTA-callsite info

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

10 years agometrics/rta: add callsite_info to display things
Jean Privat [Wed, 26 Mar 2014 18:39:47 +0000 (14:39 -0400)]
metrics/rta: add callsite_info to display things

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

10 years agorta: add live_callsites and live_callsites
Jean Privat [Wed, 26 Mar 2014 18:25:24 +0000 (14:25 -0400)]
rta: add live_callsites and live_callsites

In a callgraph it is useful to be able to compute the live target of any
callsite

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

10 years agocallsite: add `mmodule` and `anchor` to the callsite objects
Jean Privat [Wed, 26 Mar 2014 18:21:42 +0000 (14:21 -0400)]
callsite: add `mmodule` and `anchor` to the callsite objects

This simplify the job of its users since more model information is
available.

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

10 years agocompiler_ffi: factorize code in compile_extern_helper_functions
Jean Privat [Wed, 26 Mar 2014 13:32:52 +0000 (09:32 -0400)]
compiler_ffi: factorize code in compile_extern_helper_functions

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

10 years agocompiler_ffi: ifndef does not protect multiple definition of symbols
Jean Privat [Wed, 26 Mar 2014 13:32:09 +0000 (09:32 -0400)]
compiler_ffi: ifndef does not protect multiple definition of symbols

`#ifndef` trick can work on the compiler, but not on the linker.

Do not use buggy pragma to protect multiple definition

10 years agotests: update sav/nitg-e/base_class_name.res because FlatString is the name
Jean Privat [Wed, 26 Mar 2014 08:29:39 +0000 (04:29 -0400)]
tests: update sav/nitg-e/base_class_name.res because FlatString is the name

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

10 years agocontrib/nitcc: use FlatBuffer instead of Buffer
Jean Privat [Wed, 26 Mar 2014 08:27:29 +0000 (04:27 -0400)]
contrib/nitcc: use FlatBuffer instead of Buffer

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

10 years agolib/string: remove redefinition of CHARVIEW that exposes private types
Jean Privat [Wed, 26 Mar 2014 00:51:53 +0000 (20:51 -0400)]
lib/string: remove redefinition of CHARVIEW that exposes private types

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

10 years agoMerge origin/master to prepare the integration
Jean Privat [Wed, 26 Mar 2014 00:46:23 +0000 (20:46 -0400)]
Merge origin/master to prepare the integration

Conflicts:
lib/standard/file.nit

10 years agolib/pipeline: add basic functional-like filer processing (map&select)
Jean Privat [Mon, 24 Mar 2014 18:56:57 +0000 (14:56 -0400)]
lib/pipeline: add basic functional-like filer processing (map&select)

Because Nit is not functional, worse, there is no anonymous classes, the
use is complex.
However, I tried to have the syntax as light as it could be currently.

I still suspect that for most cases, a `for` loop can perform
enough map&select style. Therefore, consider this commit as an
experimentation.

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

10 years agostdlib/strings: Minor style fix
Lucas Bajolet [Mon, 24 Mar 2014 18:13:27 +0000 (14:13 -0400)]
stdlib/strings: Minor style fix

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

10 years agostdlib/strings: Repaired hash for Buffers.
Lucas Bajolet [Fri, 7 Mar 2014 16:56:54 +0000 (11:56 -0500)]
stdlib/strings: Repaired hash for Buffers.

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

10 years agostdlib/strings: Added cache on Buffer.
Lucas Bajolet [Mon, 24 Mar 2014 16:55:49 +0000 (12:55 -0400)]
stdlib/strings: Added cache on Buffer.

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

10 years agostdlib/strings: Abstracted hash (breaks hash on Buffer temporarily)
Lucas Bajolet [Mon, 24 Mar 2014 18:03:43 +0000 (14:03 -0400)]
stdlib/strings: Abstracted hash (breaks hash on Buffer temporarily)

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

10 years agostdlib/strings: Added cache for efficency when calling to_cstring on FlatTexts.
Lucas Bajolet [Tue, 25 Mar 2014 19:42:09 +0000 (15:42 -0400)]
stdlib/strings: Added cache for efficency when calling to_cstring on FlatTexts.

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

10 years agostdlib/strings: Added reversed service on Text and subclasses.
Lucas Bajolet [Mon, 24 Mar 2014 16:00:34 +0000 (12:00 -0400)]
stdlib/strings: Added reversed service on Text and subclasses.

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

10 years agostdlib/strings: Generalized to_cstring to all Text representations.
Lucas Bajolet [Tue, 25 Mar 2014 19:39:42 +0000 (15:39 -0400)]
stdlib/strings: Generalized to_cstring to all Text representations.

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

10 years agostdlib/strings: Added flatten service.
Lucas Bajolet [Fri, 7 Mar 2014 15:22:29 +0000 (10:22 -0500)]
stdlib/strings: Added flatten service.

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

10 years agostdlib/strings: Modified constructor for Buffer, now works with any kind of text.
Lucas Bajolet [Tue, 25 Mar 2014 19:31:24 +0000 (15:31 -0400)]
stdlib/strings: Modified constructor for Buffer, now works with any kind of text.

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

10 years agostdlib/strings: Fixed behaviour for substring_from, returns an empty string instead...
Lucas Bajolet [Fri, 7 Mar 2014 20:02:00 +0000 (15:02 -0500)]
stdlib/strings: Fixed behaviour for substring_from, returns an empty string instead of crashing when from < 0.

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

10 years agostdlib/strings: Moved String as abstract, FlatString now the name for array-based...
Lucas Bajolet [Mon, 24 Mar 2014 15:58:55 +0000 (11:58 -0400)]
stdlib/strings: Moved String as abstract, FlatString now the name for array-based Strings.

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

10 years agostdlib/strings: Moved append to Buffer, now works on all known variants of Text.
Lucas Bajolet [Tue, 25 Mar 2014 19:29:48 +0000 (15:29 -0400)]
stdlib/strings: Moved append to Buffer, now works on all known variants of Text.

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

10 years agostdlib/strings: Abstracted functions common to all Text representations.
Lucas Bajolet [Tue, 25 Mar 2014 19:28:09 +0000 (15:28 -0400)]
stdlib/strings: Abstracted functions common to all Text representations.

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

10 years agoMerge: check signature visibility
Jean Privat [Tue, 25 Mar 2014 19:08:29 +0000 (15:08 -0400)]
Merge: check signature visibility

A public API property cannot expose a private type.

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

10 years agonitunit: use `--ignore-visibility` when executon tests
Jean Privat [Tue, 25 Mar 2014 19:04:20 +0000 (15:04 -0400)]
nitunit: use `--ignore-visibility` when executon tests

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

10 years agomodelbuilder: add option `--ignore-visibility`
Jean Privat [Tue, 25 Mar 2014 19:03:54 +0000 (15:03 -0400)]
modelbuilder: add option `--ignore-visibility`

This option will allow `nitunit` to execute tests that use
protected methods.

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

10 years agotests: update nitmetrics
Jean Privat [Mon, 24 Mar 2014 19:32:37 +0000 (15:32 -0400)]
tests: update nitmetrics

Because public things are different (not correct) I think.

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

10 years agotests: extends `base_prot` to check more visibility configuration
Jean Privat [Mon, 24 Mar 2014 15:13:10 +0000 (11:13 -0400)]
tests: extends `base_prot` to check more visibility configuration

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

10 years agotests: update base_attr3
Jean Privat [Fri, 21 Mar 2014 18:59:28 +0000 (14:59 -0400)]
tests: update base_attr3

updates ate related to fixed visibility and the new error message of protected access

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

10 years agosrc/typing: fix error message of protected method usage
Jean Privat [Tue, 25 Mar 2014 15:04:32 +0000 (11:04 -0400)]
src/typing: fix error message of protected method usage

The removed part should have come from some old debugging.

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

10 years agomodel: fix visibility total order
Jean Privat [Fri, 21 Mar 2014 18:58:34 +0000 (14:58 -0400)]
model: fix visibility total order

How could intrude == public and private == none?

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

10 years agolib/string_search: make all introdiced method of Pattern protected
Jean Privat [Tue, 25 Mar 2014 15:02:30 +0000 (11:02 -0400)]
lib/string_search: make all introdiced method of Pattern protected

Because they are inherited by String and Char, they could confuse
the user that look at these classes the documentation.

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

10 years agosrc: remove clients of protected Pattern methods
Jean Privat [Mon, 24 Mar 2014 19:24:37 +0000 (15:24 -0400)]
src: remove clients of protected Pattern methods

Use the public API in String instead.
Eg. `String::search` instead of `Pattern::search_in`

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

10 years agotests: add base_prot_sig to test usage of private type in public signature
Jean Privat [Tue, 25 Mar 2014 13:49:37 +0000 (09:49 -0400)]
tests: add base_prot_sig to test usage of private type in public signature

There is a lot of tests because there is a lot of combination...

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

10 years agomodelize_property: check that public properties only contains public types
Jean Privat [Tue, 25 Mar 2014 13:46:24 +0000 (09:46 -0400)]
modelize_property: check that public properties only contains public types

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

10 years agometrics: type phase attributes with Phase instead of private subclasses
Jean Privat [Tue, 25 Mar 2014 13:46:10 +0000 (09:46 -0400)]
metrics: type phase attributes with Phase instead of private subclasses

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

10 years agomodel_viz: privatize linex_comparator
Jean Privat [Tue, 25 Mar 2014 12:31:26 +0000 (08:31 -0400)]
model_viz: privatize linex_comparator

Because LinexComparator is private and the attribute
is only used as a cache.

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

10 years agolib/coll: remove private types from public signatures
Jean Privat [Tue, 25 Mar 2014 12:30:29 +0000 (08:30 -0400)]
lib/coll: remove private types from public signatures

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

10 years agoMerge: Easy entry point for student
Jean Privat [Mon, 24 Mar 2014 19:03:09 +0000 (15:03 -0400)]
Merge: Easy entry point for student

Simplify the entry point for new contributor of the tools.
4th (and last) of the #353 series.

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

10 years agoMerge: Process mainmodule and mmodules
Jean Privat [Mon, 24 Mar 2014 18:59:55 +0000 (14:59 -0400)]
Merge: Process mainmodule and mmodules

improve  `ModelBuilder::run_global_phases` and `Phase::process_mainmodule`.
Better API when more that one module is given (with an implicit bottom-module).

The 3rd PR of the #353 series

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

10 years agolib: modify lib/pipeline to work on iterators instead of collection
Jean Privat [Mon, 24 Mar 2014 17:44:19 +0000 (13:44 -0400)]
lib: modify lib/pipeline to work on iterators instead of collection

* Methods in `pipeline` are difficult to use because they are lazy.
* They are highly generic and return a abstract return type, thus
having them in Collection lead to strange API, like `[1,2,3].head(2)` that
is not an Array.
* Because they are in Collection, all standard class like Array show them
in their documentation, confusing beginners.

Moving all pipeline functions on Iterator solve these problems.

This basically reverts commit c0316e522d0d8053c0fb155bf1fbd14979a12202.

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