php-parser/CHANGELOG.md

69 lines
2.6 KiB
Markdown
Raw Normal View History

Version 0.9.2-dev
2012-04-23 14:14:52 +02:00
-----------------
* [BC] Due to the below changes nodes now optionally accept an `$attributes` array as the
last parameter, instead of the previously used `$line` and `$docComment` parameters.
2012-05-11 17:58:59 +02:00
* Add mechanism for adding attributes to nodes in the lexer.
The following attributes are now added by default:
* `startLine`: The line the node started in.
* `endLine`: The line the node ended in.
* `comments`: An array of comments. The comments are instances of `PHPParser_Comment`
(or `PHPParser_Comment_Doc` for doc comments).
The methods `getLine()` and `setLine()` still exist and function as before, but internally
operator on the `startLine` attribute.
`getDocComment()` also continues to exist. It returns the last comment in the `comments`
attribute if it is a doc comment, otherwise `null`. As `getDocComment()` now returns a
comment object (which can be modified using `->setText()`) the `setDocComment()` method was
removed. Comment objects implement a `__toString()` method, so `getDocComment()` should
continue to work properly with old code.
* [BC] Use inject-once approach for lexer:
Now the lexer is injected only once when creating the parser. Instead of
2012-05-12 00:08:55 +02:00
$parser = new PHPParser_Parser;
$parser->parse(new PHPParser_Lexer($code));
$parser->parse(new PHPParser_Lexer($code2));
2012-05-11 17:58:59 +02:00
you write:
2012-05-12 00:08:55 +02:00
$parser = new PHPParser_Parser(new PHPParser_Lexer);
$parser->parse($code);
$parser->parse($code2);
2012-05-11 17:58:59 +02:00
* Fix `NameResolver` visitor to also resolve class names in `catch` blocks.
Version 0.9.1 (24.04.2012)
--------------------------
2012-04-23 14:14:52 +02:00
* Add ability to add attributes to nodes:
It is now possible to add attributes to a node using `$node->setAttribute('name', 'value')` and to retrieve them using
`$node->getAttribute('name' [, 'default'])`. Additionally the existance of an attribute can be checked with
`$node->hasAttribute('name')` and all attributes can be returned using `$node->getAttributes()`.
* Add code generation features: Builders and templates.
For more infos, see the [code generation documentation][1].
* [BC] Don't traverse nodes merged by another visitor:
If a NodeVisitor returns an array of nodes to merge, these will no longer be traversed by all other visitors. This
behavior only caused problems.
2012-05-11 17:58:59 +02:00
* Fix line numbers for some list structures.
* Fix XML unserialization of empty nodes.
* Fix parsing of integers that overflow into floats.
* Fix emulation of NOWDOC and binary floats.
2012-04-23 14:14:52 +02:00
Version 0.9.0 (05.01.2012)
--------------------------
First version.
[1]: https://github.com/nikic/PHP-Parser/blob/master/doc/3_Code_generation.markdown