aboutsummaryrefslogtreecommitdiffstats
path: root/Praspel.php
Commit message (Collapse)AuthorAgeFiles
* Make the `praspel` function global.Ivan Enderlin2015-06-011
|
* Change `interprete` method name to `interpret`.Ivan Enderlin2015-06-011
|
* Move to PSR-1-2 & drop PHP5.3 & `from`/`import`.Ivan Enderlin2015-05-281
|
* Happy new year!Ivan Enderlin2015-01-051
|
* Remove the ƒ function.Ivan Enderlin2014-07-071
|
* Happy new year \o/.Ivan Enderlin2014-01-071
|
* New $bindToClass argument on Praspel::interprete.Ivan Enderlin2013-11-221
| | | | Bind class when interpreting.
* 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.
* Support $this.Ivan Enderlin2013-11-051
| | | | | Create the sub-library `Hoa\Praspel\AssertionChecker` and introduce $this support through “implicit variables”.
* 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-011
| | | | | Just give a Hoa\Praspel\Trace object in the Hoa\Praspel::evaluate() method, and use the Hoa\Praspel\Visitor\Praspel to print it!
* Formata code. #maniaIvan Enderlin2013-10-311
|
* Define flex entities.Ivan Enderlin2013-10-151
|
* generateData() make an isotropic random generationIvan Enderlin2013-09-171
|
* Add borrowing variables and \old(…) support.Ivan Enderlin2013-09-161
| | | | | | 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(…).
* Avoid useless \result assignements.Ivan Enderlin2013-09-161
|
* Format code. #maniaIvan Enderlin2013-09-131
|
* Avoid a |=. #performanceIvan Enderlin2013-08-291
|
* Format code. #maniaIvan Enderlin2013-08-291
|
* Finalize the @throwable verification algorithm.Ivan Enderlin2013-08-291
|
* Cast the verdict as a boolean.Ivan Enderlin2013-08-291
|
* Update API documentation.Ivan Enderlin2013-08-291
|
* Relax the extractFromComment() method.Ivan Enderlin2013-08-211
| | | | Returns an empty string instead of throwing exceptions.
* Behavior nestings are kept when an @ensures fails.Ivan Enderlin2013-06-131
| | | | | | | | | | | | | | | | | | | | | Let: @behavior alpha { @behavior beta { @behavior gamma { @ensures … } } } Before: The Runtime Assertion Checker has detected failures for… • Variable \result does not verify the constraint @ensures… After: The Runtime Assertion Checker has detected failures for… • Behavior alpha is broken. • Behavior beta is broken. • Behavior gamma is broken. • Variable \result does not verify… Better when tracing or reporting failures.
* Update exceptional failure message.Ivan Enderlin2013-06-131
|
* Add auto data generation.Ivan Enderlin2013-06-131
|
* Format code. #maniaIvan Enderlin2013-06-131
|
* Update an exception message.Ivan Enderlin2013-06-131
|
* The RAC now verifies invariants.Ivan Enderlin2013-06-131
|
* Add internal precondition failure support.Ivan Enderlin2013-06-121
|
* Simplify code. #maniaIvan Enderlin2013-06-121
|
* Update API.Ivan Enderlin2013-06-111
|
* The RAC now verifies @behavior and @default.Ivan Enderlin2013-06-111
|
* Do not automatically generate data when missing.Ivan Enderlin2013-06-111
|
* RAC checks @throwable clause.Ivan Enderlin2013-06-101
|
* Use Visitor\Praspel for better exception messages.Ivan Enderlin2013-06-071
|
* New RAC for Praspel: cleaner and faster.Ivan Enderlin2013-06-071
|
* Better contract extraction.Ivan Enderlin2013-05-301
| | | | We keep indentation of the contract.
* RAC is able to auto-generate data (early draft).Ivan Enderlin2013-05-301
|
* Add the extractFromComment() method.Ivan Enderlin2013-05-281
|
* Add the interprete() method & praspel() function.Ivan Enderlin2013-02-201
|
* Happy new year \o/.Ivan Enderlin2013-01-011
|
* Welcome to Hoa\Praspel \o/!Ivan Enderlin2012-11-231