Lines Matching refs:is
37 if a named argument is used) it will be represented as a plain `Node\Expr\FuncCall`.
42 * Removed support for alternative array syntax `$array{0}` from the PHP 8 parser. It is still
43 supported by the PHP 7 parser. This is necessary in order to support property hooks.
132 `addVisitor()` is no longer required.
136 * The minimum host PHP version is now PHP 7.4. It is still possible to parse code from older
140 there is a single method `tokenize()` returning the tokens.
142 * Attribute handling has been moved from the lexer to the parser, and is no longer configurable.
146 * The pretty printer now indents heredoc/nowdoc strings if the target version is >= 7.3
175 * The `leaveNode()` method on visitors is now invoked in reverse order of `enterNode()`.
201 * Added many additional type annotations. PhpStan is now used.
217 version is set to older than PHP 7.0.
219 * Fixed checks for when it is safe to print strings as heredoc/nowdoc to accommodate flexible
226 * `__halt_compiler` is no longer recognized as a semi-reserved keyword, in line with PHP behavior.
227 * `<?=` is no longer recognized as a semi-reserved keyword.
241 * PHP 7.1 is now required to run PHP-Parser.
243 * The internal token representation now uses a `PhpParser\Token` class, which is compatible with
245 * Destructuring is now always represented using `Expr\List_` nodes, even if it uses `[]` syntax.
251 * Added `PhpVersion` class, which is accepted in a number of places (e.g. ParserFactory, Parser,
305 * The `namespacedName` property populated by the `NameResolver` is now declared on relevant nodes,
326 argument is a `VariadicPlaceholder`. The representation is intended to be forward-compatible with
329 placeholder id present. `getArgs()` can be used to assert that the call is not a first-class
350 used in PHP 8.1. This happens unconditionally, regardless of whether the emulative lexer is used.
402 generate code that is compatible with the parentheses requirement introduced in PHP 8.
434 containing `Attribute` nodes. A new `attrGroups` subnode is available on all node types that
483 emulate (defaults to the latest available, currently PHP 8.0). This is useful to parse code that
501 in namespaced names is not yet present.
509 * [PHP 8.0] Added support for constructor promotion. The parameter visibility is stored in
542 inserting code next to certain nop statements. The formatting is still ugly though.
546 In particular, this allows `isset(($x))`, which is legal PHP code.
563 * php-yacc is now used to generate the parser. This has no impact on users of the library.
649 * Flexible heredoc/nowdoc strings require special support from the lexer. Because this is not
650 available on PHP versions before 7.3, support has to be emulated. This emulation is not perfect
685 * Preserve trailing comment inside classes. **Note:** This change is possibly BC breaking if your
735 * The `Autoloader` class has been removed. It is now required to use the Composer autoloader.
770 * Added `replaceNodes` option to `NameResolver`, defaulting to true. If this option is disabled,
774 is a utility to avoid custom node visitor implementations for simple search operations.
805 * The `alias` subnode of `UseUse` is now `null` if no explicit alias is given. As such,
807 can be used to get the effective alias, even if it is not explicitly given.
823 * The `BuilderAbstract` class has been removed. It's functionality is moved into `BuilderHelpers`.
824 However, this is an internal class and should not be used directly.
858 * Added `kind` attribute for `Stmt\Namespace_` node, which is one of `KIND_SEMICOLON` or
886 * `Name::$parts` is no longer deprecated.
894 `Class_::VISIBILITY_MODIFER_MASK` is preserved for backwards compatibility.
912 * Name resolution of `NullableType`s is now performed earlier, so that a fully resolved signature is
913 available when a function is entered. (#360)
923 * Fixed some extensibility issues in pretty printer (`pUseType()` is now public and `pPrec()` calls
929 * Error recovery from missing semicolons is now supported in more cases.
930 * Error recovery from trailing commas in positions where PHP does not support them is now supported.
937 * In `"$foo[0]"` the `0` is now parsed as an `LNumber` rather than `String`. (#325)
946 * Added `preserveOriginalNames` option to `NameResolver`. If this option is enabled, an
1030 * Nodes and Comments now implement `JsonSerializable`. The node kind is stored in a `nodeType`
1034 * Partial parsing of `$obj->` (with missing property name) is now supported in error recovery mode.
1035 * The error recovery mode is now exposed in the `php-parse` script through the `--with-recovery`
1062 is now an array of `Name`s.
1070 * `void` and `iterable` types are now stored as strings if the PHP 7 parser is used.
1075 * The `Catch` subnode `type` has been renamed to `types` and is now an array of `Name`s.
1080 `type` subnode has retained for backwards compatibility and is populated to the same value as
1092 * Removed support for running on PHP 5.4. It is however still possible to parse PHP 5.2-5.4 code
1103 quoted strings. If no special escape sequence is available, an octal escape will be used.
1121 * Added `Stmt\Nop` node, that is used to collect comments located at the end of a block or at the
1129 * Added `docLabel` attribute to `Scalar\String` and `Scalar\Encapsed`, if it is a heredoc or
1162 * A shebang line like `#!/usr/bin/env php` is now allowed at the start of a namespaced file.
1206 * Removed support for running on PHP 5.3. It is however still possible to parse PHP 5.2 and PHP 5.3
1228 * `PhpParser\Parser` is now an interface, implemented by `Parser\Php5`, `Parser\Php7` and