3825237 | Ivan Enderlin | 16 September 2014, 19:55:38 UTC | Start Rüsh Release. | 16 September 2014, 19:55:38 UTC |
b2dda6c | Ivan Enderlin | 25 August 2014, 08:23:21 UTC | Generate an object without a constructor. | 25 August 2014, 08:23:21 UTC |
20d62e3 | Ivan Enderlin | 25 August 2014, 08:09:33 UTC | Catch all exceptions. | 25 August 2014, 08:09:33 UTC |
cf7c9b1 | Ivan Enderlin | 07 July 2014, 07:38:30 UTC | Remove the ƒ function. | 07 July 2014, 07:38:30 UTC |
6202b1e | Ivan Enderlin | 30 June 2014, 12:17:57 UTC | Link to atoum/praspel-extension. | 30 June 2014, 12:17:57 UTC |
f047900 | Ivan Enderlin | 21 May 2014, 14:13:01 UTC | Evaluate the \pred(p) construction. | 21 May 2014, 14:13:01 UTC |
7462328 | Ivan Enderlin | 21 May 2014, 13:30:26 UTC | Extend closure support. Avoid an issue in the `getAttributeData` method. | 21 May 2014, 13:30:26 UTC |
ee49364 | Ivan Enderlin | 21 May 2014, 13:24:39 UTC | Allow to escape slash. | 21 May 2014, 13:24:39 UTC |
3f019dd | Ivan Enderlin | 21 May 2014, 06:50:55 UTC | Add syntactic sugar for class(). \C <=> class('C'). | 21 May 2014, 06:53:31 UTC |
b5fcc37 | Ivan Enderlin | 21 May 2014, 06:50:28 UTC | Auto-collecting invariants. | 21 May 2014, 06:50:28 UTC |
d4db95e | Ivan Enderlin | 11 April 2014, 16:42:39 UTC | Add the ::nothing:: token. | 11 April 2014, 16:42:39 UTC |
749d546 | Ivan Enderlin | 03 April 2014, 08:43:53 UTC | Fix a PHP compatibility. | 03 April 2014, 08:43:53 UTC |
8fb22c7 | Ivan Enderlin | 02 April 2014, 12:17:47 UTC | Update an exception message. | 02 April 2014, 12:17:47 UTC |
bca8de0 | Ivan Enderlin | 01 April 2014, 12:49:16 UTC | Merge branch 'iterator' into incoming | 01 April 2014, 12:49:16 UTC |
65ad33f | Ivan Enderlin | 01 April 2014, 12:49:02 UTC | Allow missing @requires. | 01 April 2014, 12:49:02 UTC |
eb052f6 | Ivan Enderlin | 01 April 2014, 12:33:14 UTC | A missing @ensures is considered as true. | 01 April 2014, 12:33:14 UTC |
78d81ac | Ivan Enderlin | 31 March 2014, 20:57:29 UTC | Totally new structural coverage algorithm. Much faster, much simpler to maintain and consider recents changes in Praspel (cf research papers). | 01 April 2014, 12:31:12 UTC |
080f7b8 | Ivan Enderlin | 31 March 2014, 17:31:20 UTC | Avoid some creation of a #dynamic_resolution node. | 31 March 2014, 17:31:20 UTC |
a72bfbb | Ivan Enderlin | 31 March 2014, 17:20:11 UTC | Update the regex syntactic sugar. | 31 March 2014, 17:24:32 UTC |
ec1aa6d | Ivan Enderlin | 31 March 2014, 16:42:46 UTC | Override the isEmpty() method. | 31 March 2014, 16:42:46 UTC |
62afa42 | Ivan Enderlin | 31 March 2014, 15:30:13 UTC | Absent @throwable => failed. | 31 March 2014, 15:30:13 UTC |
cc375fb | Ivan Enderlin | 31 March 2014, 15:18:55 UTC | Absent @ensures => failed. | 31 March 2014, 15:18:55 UTC |
7cab3a4 | Ivan Enderlin | 24 March 2014, 09:37:32 UTC | Format code. #mania | 24 March 2014, 09:37:32 UTC |
56b0391 | Ivan Enderlin | 14 March 2014, 21:55:40 UTC | Update the runtime to the new behavior semantics. | 14 March 2014, 21:55:40 UTC |
3461224 | Ivan Enderlin | 10 February 2014, 15:15:32 UTC | Add the state of the library. | 10 February 2014, 15:15:32 UTC |
2f99951 | Ivan Enderlin | 07 January 2014, 10:55:25 UTC | Happy new year \o/. | 07 January 2014, 10:55:25 UTC |
97439a3 | Ivan Enderlin | 03 January 2014, 15:57:27 UTC | The @description clause can be present anywhere. | 03 January 2014, 15:57:27 UTC |
4cc9c27 | Ivan Enderlin | 03 January 2014, 15:51:46 UTC | Use a default assertion checker when necessary. | 03 January 2014, 15:51:46 UTC |
df03b1a | Ivan Enderlin | 03 January 2014, 14:03:31 UTC | Format `composer.json`. | 03 January 2014, 14:03:31 UTC |
0c2c75d | Ivan Enderlin | 25 November 2013, 14:11:33 UTC | Update indexes of exceptions. | 25 November 2013, 14:11:33 UTC |
977d226 | Ivan Enderlin | 25 November 2013, 14:10:46 UTC | A @default can be declared if… … at least one @behavior exists. | 25 November 2013, 14:10:46 UTC |
c265aef | Ivan Enderlin | 25 November 2013, 10:57:54 UTC | Add the encapsulation shunter preambler! Shunt encapsulation: instanciate a class and set its state by using invariants and not methods calls. | 25 November 2013, 10:57:54 UTC |
64452dc | Ivan Enderlin | 25 November 2013, 10:50:56 UTC | Update the callable after running a preambler. A preambler can change the callable, we then need to update it in the assertion checker. | 25 November 2013, 10:50:56 UTC |
fc0c707 | Ivan Enderlin | 25 November 2013, 10:41:12 UTC | The generateData method is now static… … and it has been moved into `Hoa\Praspel\AssertionChecker` class. | 25 November 2013, 10:41:12 UTC |
380dba9 | Ivan Enderlin | 25 November 2013, 10:39:54 UTC | The __setCallable method is now public. | 25 November 2013, 10:39:54 UTC |
4f4c924 | Ivan Enderlin | 25 November 2013, 10:39:27 UTC | Fix an error in an exception message. | 25 November 2013, 10:39:27 UTC |
775ea77 | Ivan Enderlin | 25 November 2013, 08:56:35 UTC | mv AssertionChecker\Preambler Preambler\Handler | 25 November 2013, 08:56:35 UTC |
d9fb455 | Ivan Enderlin | 25 November 2013, 08:43:54 UTC | Update an exception message. | 25 November 2013, 08:43:54 UTC |
541255f | Ivan Enderlin | 25 November 2013, 08:43:42 UTC | Move importations. | 25 November 2013, 08:43:42 UTC |
eb9d1c5 | Ivan Enderlin | 22 November 2013, 15:13:48 UTC | Fix compilation of crate variable. | 22 November 2013, 15:13:48 UTC |
e057548 | Ivan Enderlin | 22 November 2013, 14:26:07 UTC | Support crate constant. | 22 November 2013, 14:26:07 UTC |
a19102f | Ivan Enderlin | 22 November 2013, 14:25:47 UTC | Add tracability for crate constant. | 22 November 2013, 14:25:47 UTC |
c5b3449 | Ivan Enderlin | 22 November 2013, 14:11:57 UTC | Clean a little bit \old(e) support. Remove a useless code in the RAC. And move the `\old(e)` support from the interpreter to the model. | 22 November 2013, 14:11:57 UTC |
61f09f7 | Ivan Enderlin | 22 November 2013, 14:10:22 UTC | Fix a regression in behaviors. | 22 November 2013, 14:10:22 UTC |
a386cb3 | Ivan Enderlin | 22 November 2013, 14:06:04 UTC | Remove reference when setting the value. If the variable is an argument that is passed by-reference, and, if its value is changed during the execution of the system, its reference will be propagated until here. Consequently, in the post-state of the system, the value of the variable in the pre-state will be equal to the value in the post-state. This is an error. Thus, we copy the value instead of using a reference (initially introduced for performance reason). | 22 November 2013, 14:06:04 UTC |
942f186 | Ivan Enderlin | 22 November 2013, 13:19:18 UTC | Adding a clause redefine its parent. | 22 November 2013, 13:19:18 UTC |
90cdfe1 | Ivan Enderlin | 22 November 2013, 13:18:47 UTC | Better constructor support. Compute a new callable and a new reflection for the rest of the RAC since we generate a real instance. | 22 November 2013, 13:18:47 UTC |
f82db70 | Ivan Enderlin | 22 November 2013, 11:04:09 UTC | Better constructor support. When the callable is a constructor, we need a special process, based on `ReflectionClass::newInstanceArgs`. | 22 November 2013, 11:04:09 UTC |
6382c6b | Ivan Enderlin | 22 November 2013, 11:03:12 UTC | Classnames are backslash left-trimmed. | 22 November 2013, 11:03:12 UTC |
c862a7c | Ivan Enderlin | 22 November 2013, 11:02:15 UTC | New $bindToClass argument on Praspel::interprete. Bind class when interpreting. | 22 November 2013, 11:02:15 UTC |
1d3d606 | Ivan Enderlin | 21 November 2013, 15:27:52 UTC | Don't check invariant before invoking constructor. | 21 November 2013, 15:27:52 UTC |
9c609da | Ivan Enderlin | 21 November 2013, 15:00:20 UTC | Cannot have global/parent @ensures or @throwable. The semantics of a global @throwable clause is really hard to define. Same for @ensures. After a study, we realized that users do not write global or parent @ensures or @throwable clauses. Thus, to simplify everything, we reject such contract constructions. | 21 November 2013, 15:01:35 UTC |
bec521d | Ivan Enderlin | 11 November 2013, 08:07:10 UTC | Support dynamic resolutions as external variables. `this->foo` is considered as a borrowing variable, with the type `TYPE_EXTERNAL`. Verifications use the contract registry and the binded class of specifications. | 11 November 2013, 08:07:10 UTC |
6e854e8 | Ivan Enderlin | 11 November 2013, 08:05:04 UTC | Interpreter can bind a class on the specification. | 11 November 2013, 08:05:04 UTC |
faa9e89 | Ivan Enderlin | 11 November 2013, 08:03:06 UTC | Introduce the “contract (static) registry”. The contract static registry aims at containing all Praspel contracts. This is very helpful when a contract manipulates external (out of the current contract) data. | 11 November 2013, 08:03:06 UTC |
5c358ff | Ivan Enderlin | 11 November 2013, 08:02:08 UTC | A specification can be binded to a class. This is obligatory for dynamic and static resolutions. | 11 November 2013, 08:02:08 UTC |
af293fb | Ivan Enderlin | 11 November 2013, 08:01:37 UTC | Add the getRoot() method. | 11 November 2013, 08:01:37 UTC |
09b88c5 | Ivan Enderlin | 10 November 2013, 14:38:53 UTC | New `this` support. We no longer have a `#this_identifier` node, but a more generic one: `#dynamic_resolution` (the root can be anything). | 10 November 2013, 14:38:53 UTC |
31d2496 | Ivan Enderlin | 10 November 2013, 14:26:09 UTC | Split into getAttributeData() & getArgumentData(). | 10 November 2013, 14:26:09 UTC |
131da65 | Ivan Enderlin | 10 November 2013, 14:07:40 UTC | Add “preambler” support. | 10 November 2013, 14:07:40 UTC |
ce3a6b9 | Ivan Enderlin | 10 November 2013, 12:36:50 UTC | Use Hoa\Praspel\Exception\AssertionChecker… … instead of Hoa\Praspel\Exception\Generic. | 10 November 2013, 12:36:50 UTC |
60a2336 | Ivan Enderlin | 10 November 2013, 12:35:05 UTC | Add Hoa\Praspel\Exception\AssertionChecker. | 10 November 2013, 12:35:05 UTC |
4a00f5e | Ivan Enderlin | 10 November 2013, 12:14:05 UTC | Fix a null access when computing the trace. | 10 November 2013, 12:14:05 UTC |
a12ea68 | Ivan Enderlin | 08 November 2013, 13:18:50 UTC | Format code. #mania | 08 November 2013, 13:18:50 UTC |
a827ee6 | Ivan Enderlin | 08 November 2013, 08:55:27 UTC | Remove an used variable. | 08 November 2013, 08:55:27 UTC |
2d4561d | Ivan Enderlin | 05 November 2013, 14:17:06 UTC | Include visitors from Hoa\Realdom. | 05 November 2013, 14:35:27 UTC |
a6a72c4 | Ivan Enderlin | 05 November 2013, 09:04:25 UTC | Cont'd. | 05 November 2013, 14:35:27 UTC |
750cdea | Ivan Enderlin | 05 November 2013, 09:02:48 UTC | Support $this. Create the sub-library `Hoa\Praspel\AssertionChecker` and introduce $this support through “implicit variables”. | 05 November 2013, 14:35:27 UTC |
88fb5a4 | Ivan Enderlin | 04 November 2013, 16:16:35 UTC | Format code. #mania | 04 November 2013, 16:16:35 UTC |
83a079c | Ivan Enderlin | 04 November 2013, 16:12:42 UTC | Avoid a misuse of a variable. | 04 November 2013, 16:12:42 UTC |
5c1a85b | Ivan Enderlin | 01 November 2013, 16:42:06 UTC | Re-index exceptions. | 01 November 2013, 16:44:12 UTC |
ee1a849 | Ivan Enderlin | 01 November 2013, 16:37:59 UTC | Detect a new Failure\Precondition. If there is not enough data to invoke the callable, the error was postpone to the checkClause() of a @requires. But in the following situation, this will not be detected: /** * @requires i: 'foo'; * @behavior a { * @requires j: 'bar'; * } * @behavior b { * @requires j: 'baz'; * } */ public function f ( $i, $j ) { … } If $i = 'foo' and $j unset. Because the first @behavior will failed (silently, which is normal), and the second @behavior will also failed (and also silently, which is still normal). So the callable will be invoked with a missing argument. This patch fixes that! | 01 November 2013, 16:44:12 UTC |
45d9e88 | Ivan Enderlin | 01 November 2013, 16:36:21 UTC | Format code. #mania | 01 November 2013, 16:44:12 UTC |
6683268 | Ivan Enderlin | 01 November 2013, 16:35:06 UTC | Add trace support! Just give a Hoa\Praspel\Trace object in the Hoa\Praspel::evaluate() method, and use the Hoa\Praspel\Visitor\Praspel to print it! | 01 November 2013, 16:44:12 UTC |
c4f955a | Ivan Enderlin | 01 November 2013, 16:30:24 UTC | Add the addClause() method. | 01 November 2013, 16:30:24 UTC |
057c599 | Ivan Enderlin | 01 November 2013, 16:28:57 UTC | Add the addVariable() method. | 01 November 2013, 16:28:57 UTC |
eef88e7 | Ivan Enderlin | 01 November 2013, 16:28:48 UTC | Fix a typo in the API documentation. | 01 November 2013, 16:28:48 UTC |
54347f2 | Ivan Enderlin | 01 November 2013, 16:28:22 UTC | Reorder allowed clause for the Praspel visitor. | 01 November 2013, 16:28:22 UTC |
49a2f3b | Ivan Enderlin | 31 October 2013, 14:37:36 UTC | Formata code. #mania | 31 October 2013, 14:37:36 UTC |
a28150e | Ivan Enderlin | 28 October 2013, 14:40:08 UTC | Fix a flex entity. | 28 October 2013, 14:40:08 UTC |
6863afc | Ivan Enderlin | 15 October 2013, 07:36:55 UTC | Better Composer compatibility. | 15 October 2013, 07:36:55 UTC |
192934c | Ivan Enderlin | 15 October 2013, 07:34:01 UTC | Define flex entities. | 15 October 2013, 07:35:26 UTC |
1f76da8 | Ivan Enderlin | 01 October 2013, 13:03:10 UTC | Update to Core#642e0cc. | 01 October 2013, 13:03:10 UTC |
38d8927 | Ivan Enderlin | 29 September 2013, 10:36:16 UTC | Autobox single var declaration into a disjunction. | 29 September 2013, 10:36:16 UTC |
2a5a9ab | Ivan Enderlin | 29 September 2013, 10:34:23 UTC | Crate variables are now created in Hoa\Realdom. | 29 September 2013, 10:34:23 UTC |
59c6e48 | Ivan Enderlin | 27 September 2013, 09:40:07 UTC | Support variables in disjunctions! | 27 September 2013, 09:40:07 UTC |
586a8d0 | Ivan Enderlin | 27 September 2013, 09:39:51 UTC | Restore “let”. | 27 September 2013, 09:39:51 UTC |
217a269 | Ivan Enderlin | 26 September 2013, 07:14:55 UTC | Be more permissive about @requires in a @behavior. | 26 September 2013, 07:14:55 UTC |
be5e54d | Ivan Enderlin | 23 September 2013, 17:25:11 UTC | Optimize grammar. #performance | 23 September 2013, 17:25:11 UTC |
08ffb4f | Ivan Enderlin | 23 September 2013, 16:59:40 UTC | Remove a useless rule. #performance | 23 September 2013, 16:59:40 UTC |
bec66dd | Ivan Enderlin | 20 September 2013, 12:29:55 UTC | A @behavior must contains a @requires. | 20 September 2013, 12:29:55 UTC |
49d1f2a | Ivan Enderlin | 17 September 2013, 14:21:55 UTC | generateData() make an isotropic random generation | 17 September 2013, 14:21:55 UTC |
fe57496 | Ivan Enderlin | 17 September 2013, 08:57:16 UTC | Add getNth() method: get clauses from positions. | 17 September 2013, 08:57:16 UTC |
443060f | Ivan Enderlin | 17 September 2013, 08:27:35 UTC | Add Praspel representation for \old(…). | 17 September 2013, 08:27:35 UTC |
d44a853 | Ivan Enderlin | 16 September 2013, 15:16:38 UTC | Add borrowing variables and \old(…) support. A borrowing variable represents a link between two variables (kind a redirection). It is useful to create link between pre- and post-state in the contract, such as \old(…). | 16 September 2013, 15:16:38 UTC |
22efd46 | Ivan Enderlin | 16 September 2013, 10:12:19 UTC | Declaration's iterator does not return local vars. | 16 September 2013, 10:12:19 UTC |
b391d74 | Ivan Enderlin | 16 September 2013, 09:15:40 UTC | Avoid useless \result assignements. | 16 September 2013, 09:16:49 UTC |
f9ce251 | Ivan Enderlin | 16 September 2013, 07:32:05 UTC | Fail early. | 16 September 2013, 07:32:05 UTC |
603d5d7 | Ivan Enderlin | 16 September 2013, 07:28:20 UTC | Update an exception message. | 16 September 2013, 07:28:20 UTC |
9b62517 | Ivan Enderlin | 13 September 2013, 07:53:40 UTC | Format code. #mania | 13 September 2013, 07:53:40 UTC |