aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFiles
...
* Don't check invariant before invoking constructor.Ivan Enderlin2013-11-211
|
* Cannot have global/parent @ensures or @throwable.Ivan Enderlin2013-11-211
| | | | | | | 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.
* Support dynamic resolutions as external variables.Ivan Enderlin2013-11-112
| | | | | | `this->foo` is considered as a borrowing variable, with the type `TYPE_EXTERNAL`. Verifications use the contract registry and the binded class of specifications.
* Interpreter can bind a class on the specification.Ivan Enderlin2013-11-111
|
* Introduce the “contract (static) registry”.Ivan Enderlin2013-11-111
| | | | | | 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.
* A specification can be binded to a class.Ivan Enderlin2013-11-111
| | | | This is obligatory for dynamic and static resolutions.
* Add the getRoot() method.Ivan Enderlin2013-11-111
|
* New `this` support.Ivan Enderlin2013-11-102
| | | | | We no longer have a `#this_identifier` node, but a more generic one: `#dynamic_resolution` (the root can be anything).
* Split into getAttributeData() & getArgumentData().Ivan Enderlin2013-11-101
|
* Add “preambler” support.Ivan Enderlin2013-11-102
|
* Use Hoa\Praspel\Exception\AssertionChecker…Ivan Enderlin2013-11-101
| | | | … instead of Hoa\Praspel\Exception\Generic.
* Add Hoa\Praspel\Exception\AssertionChecker.Ivan Enderlin2013-11-102
|
* Fix a null access when computing the trace.Ivan Enderlin2013-11-101
|
* Format code. #maniaIvan Enderlin2013-11-081
|
* Remove an used variable.Ivan Enderlin2013-11-081
|
* Include visitors from Hoa\Realdom.Ivan Enderlin2013-11-052
|
* Cont'd.Ivan Enderlin2013-11-051
|
* Support $this.Ivan Enderlin2013-11-056
| | | | | Create the sub-library `Hoa\Praspel\AssertionChecker` and introduce $this support through “implicit variables”.
* Format code. #maniaIvan Enderlin2013-11-041
|
* Avoid a misuse of a variable.Ivan Enderlin2013-11-041
|
* Re-index exceptions.Ivan Enderlin2013-11-011
|
* Detect a new Failure\Precondition.Ivan Enderlin2013-11-011
| | | | | | | | | | | | | | | | | | | | | | | | 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!
* Format code. #maniaIvan Enderlin2013-11-011
|
* Add trace support!Ivan Enderlin2013-11-012
| | | | | Just give a Hoa\Praspel\Trace object in the Hoa\Praspel::evaluate() method, and use the Hoa\Praspel\Visitor\Praspel to print it!
* Add the addClause() method.Ivan Enderlin2013-11-011
|
* Add the addVariable() method.Ivan Enderlin2013-11-011
|
* Fix a typo in the API documentation.Ivan Enderlin2013-11-011
|
* Reorder allowed clause for the Praspel visitor.Ivan Enderlin2013-11-013
|
* Formata code. #maniaIvan Enderlin2013-10-311
|
* Fix a flex entity.Ivan Enderlin2013-10-281
|
* Better Composer compatibility.Ivan Enderlin2013-10-151
|
* Define flex entities.Ivan Enderlin2013-10-155
|
* Update to Core#642e0cc.Ivan Enderlin2013-10-011
|
* Autobox single var declaration into a disjunction.Ivan Enderlin2013-09-291
|
* Crate variables are now created in Hoa\Realdom.Ivan Enderlin2013-09-291
|
* Support variables in disjunctions!Ivan Enderlin2013-09-271
|
* Restore “let”.Ivan Enderlin2013-09-272
|
* Be more permissive about @requires in a @behavior.Ivan Enderlin2013-09-261
|
* Optimize grammar. #performanceIvan Enderlin2013-09-231
|
* Remove a useless rule. #performanceIvan Enderlin2013-09-231
|
* A @behavior must contains a @requires.Ivan Enderlin2013-09-201
|
* generateData() make an isotropic random generationIvan Enderlin2013-09-171
|
* Add getNth() method: get clauses from positions.Ivan Enderlin2013-09-171
|
* Add Praspel representation for \old(…).Ivan Enderlin2013-09-171
|
* Add borrowing variables and \old(…) support.Ivan Enderlin2013-09-165
| | | | | | 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(…).
* Declaration's iterator does not return local vars.Ivan Enderlin2013-09-161
|
* Avoid useless \result assignements.Ivan Enderlin2013-09-161
|
* Fail early.Ivan Enderlin2013-09-161
|
* Update an exception message.Ivan Enderlin2013-09-161
|
* Format code. #maniaIvan Enderlin2013-09-131
|