Revision tags: v3.1.0 |
|
#
4a7d0113 |
| 28-Jun-2017 |
Nikita Popov |
Add support for object type
|
Revision tags: v3.0.6 |
|
#
a32e3797 |
| 28-Apr-2017 |
Nikita Popov |
Generate PHP 7 type annotations
|
#
a6846e3b |
| 28-Apr-2017 |
Nikita Popov |
Always use Identifier nodes The parser will now always generate Identifier nodes (for non-namespaced identifiers). This obsoletes the useIdentifierNodes parser option. Node
Always use Identifier nodes The parser will now always generate Identifier nodes (for non-namespaced identifiers). This obsoletes the useIdentifierNodes parser option. Node constructors still accepts strings and will implicitly create an Identifier wrapper. Identifier implement __toString(), so that outside of strict-mode many things continue to work without changes.
show more ...
|
#
8635365a |
| 26-Apr-2017 |
Nikita Popov |
Fix some typing issues
|
Revision tags: v3.0.5 |
|
#
d5873b17 |
| 26-Feb-2017 |
Nikita Popov |
Adjust the end attributes on the stack as well
|
#
48ec654d |
| 26-Feb-2017 |
Nikita Popov |
Make Expr\Error nodes empty Resolves issue #359.
|
Revision tags: v3.0.4, v3.0.3 |
|
#
329e90c2 |
| 02-Feb-2017 |
Matthew Brown |
Improve doc comments
|
#
8f623fb2 |
| 05-Feb-2017 |
Nikita Popov |
Use closures instead of methods for semantic actions The dispatch using $this->{'reduceRule' . $rule}() is very expensive because it involves * One allocation when converting $rule
Use closures instead of methods for semantic actions The dispatch using $this->{'reduceRule' . $rule}() is very expensive because it involves * One allocation when converting $rule to a string * Another allocation when concatenating the two strings * Lowercasing during the method call * Various uncached method checks, e.g. visibility. Using an array of closures for semantic action dispatch is significantly more efficient.
show more ...
|
#
3bbf8d8f |
| 04-Feb-2017 |
Nikita Popov |
Use local var for $stackPos We're accessing $this->stackPos a lot, and property accesses are much more expensive than local variable acesses. Its cheaper to use a local var and pass
Use local var for $stackPos We're accessing $this->stackPos a lot, and property accesses are much more expensive than local variable acesses. Its cheaper to use a local var and pass it as an argument to semantic actions.
show more ...
|
#
bfea338d |
| 25-Jan-2017 |
Nikita Popov |
Update doc comments after previous comment Make some of the type annotations more accurate, and complete the generated doc-comments to be complete (with description and parameter ann
Update doc comments after previous comment Make some of the type annotations more accurate, and complete the generated doc-comments to be complete (with description and parameter annotations.)
show more ...
|
#
e3b87f40 |
| 24-Jan-2017 |
Matthew Brown |
Add non-void return types
|
#
13304d59 |
| 23-Jan-2017 |
Nikita Popov |
Drop attribute poisoning in parser
|
#
7b441d21 |
| 10-Dec-2016 |
Matthew Brown |
Fix issues reported by psalm
|
#
414adfb1 |
| 20-Jan-2017 |
Nikita Popov |
Drop useNopStatements option
|
#
48d3243a |
| 19-Jan-2017 |
Nikita Popov |
Drop last vestiges of consistent var mode flag
|
#
67274b95 |
| 19-Jan-2017 |
Nikita Popov |
Enforce useConsistentVariableNames
|
#
ced914a3 |
| 19-Jan-2017 |
Nikita Popov |
Update doc comments to be more specific Now $stmts arrays really only contains Stmt nodes.
|
#
1bfbd7bc |
| 19-Jan-2017 |
Nikita Popov |
Make useExpressionStatement only supported mode
|
#
4d2a4d02 |
| 23-Dec-2016 |
Nikita Popov |
Add first shot at format preserving pretty printer
|
#
9b2d35d1 |
| 24-Dec-2016 |
Nikita Popov |
Add expression statement mode
|
#
a947e731 |
| 22-Dec-2016 |
Nikita Popov |
Add useConsistentVariableNodes mode The parameter case is a bit weird, because the subnode is called "name" here, rather than "var". Nothing we can do about that in this version thou
Add useConsistentVariableNodes mode The parameter case is a bit weird, because the subnode is called "name" here, rather than "var". Nothing we can do about that in this version though. The two parser options might be merged. I've kept it separate, because I think this variable representation should become the default (or even only representation) in the future, while I'm less sure about the Identifier thing.
show more ...
|
#
122f4499 |
| 22-Dec-2016 |
Nikita Popov |
Represent builtin types using Identifier as well
|
#
6bcc6c31 |
| 22-Dec-2016 |
Nikita Popov |
Add useIdentifierNodes mode to parser In this mode non-namespaced names that are currently represented using strings will be represented using Identifier nodes instead. Identifier no
Add useIdentifierNodes mode to parser In this mode non-namespaced names that are currently represented using strings will be represented using Identifier nodes instead. Identifier nodes have a string $name subnode and coerce to string. This allows preserving attributes and in particular location information on identifiers.
show more ...
|
#
c1e0bab4 |
| 11-Dec-2016 |
Nikita Popov |
Add support for negative interpolated offsets A late addition to PHP 7.1 which I missed.
|
#
70319e27 |
| 07-Dec-2016 |
Nikita Popov |
Parse 0 in "$a[0]" as LNumber (#325)
|