===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
php-parser-4.10.2/CHANGELOG.md-108-* [PHP 8.0] Added support for constructor promotion. The parameter visibility is stored in
php-parser-4.10.2/CHANGELOG.md:109:  `Node\Param::$flags`.
php-parser-4.10.2/CHANGELOG.md-110-
##############################################
php-parser-4.10.2/CHANGELOG.md-126-* [PHP 8.0] Added support for catching without capturing the exception. This means that
php-parser-4.10.2/CHANGELOG.md:127:  `Catch_::$var` may now be null.
php-parser-4.10.2/CHANGELOG.md-128-
##############################################
php-parser-4.10.2/CHANGELOG.md-144-* Allowed arbitrary expressions in `isset()` and `list()`, rather than just variables.
php-parser-4.10.2/CHANGELOG.md:145:  In particular, this allows `isset(($x))`, which is legal PHP code.
php-parser-4.10.2/CHANGELOG.md-146-* [PHP 8.0] Add support for [variable syntax tweaks RFC](https://wiki.php.net/rfc/variable_syntax_tweaks).
##############################################
php-parser-4.10.2/CHANGELOG.md-295-* Support error recovery for parameters without variable (`function (Type ) {}`).
php-parser-4.10.2/CHANGELOG.md:296:* Support error recovery for functions without body (`function ($foo)`).
php-parser-4.10.2/CHANGELOG.md-297-
##############################################
php-parser-4.10.2/CHANGELOG.md-437-
php-parser-4.10.2/CHANGELOG.md:438:* Fixed pretty printing of `-(-$x)` and `+(+$x)`. (#459)
php-parser-4.10.2/CHANGELOG.md-439-
##############################################
php-parser-4.10.2/CHANGELOG.md-484-
php-parser-4.10.2/CHANGELOG.md:485:* `Name::$parts` is no longer deprecated.
php-parser-4.10.2/CHANGELOG.md-486-
##############################################
php-parser-4.10.2/CHANGELOG.md-535-
php-parser-4.10.2/CHANGELOG.md:536:* In `"$foo[0]"` the `0` is now parsed as an `LNumber` rather than `String`. (#325)
php-parser-4.10.2/CHANGELOG.md-537-* Ensure integers and floats are always pretty printed preserving semantics, even if the particular
##############################################
php-parser-4.10.2/CHANGELOG.md-543-
php-parser-4.10.2/CHANGELOG.md:544:* [PHP 7.1] Added support for negative interpolated offsets: `"$foo[-1]"`
php-parser-4.10.2/CHANGELOG.md-545-* Added `preserveOriginalNames` option to `NameResolver`. If this option is enabled, an
##############################################
php-parser-4.10.2/CHANGELOG.md-617-* Removed support for node cloning in the `NodeTraverser`.
php-parser-4.10.2/CHANGELOG.md:618:* Removed `$separator` argument from `Name::toString()`.
php-parser-4.10.2/CHANGELOG.md-619-* Removed `throw_on_error` parser option and `Parser::getErrors()` method. Use the `ErrorHandler`
##############################################
php-parser-4.10.2/CHANGELOG.md-632-  preceding closing tag contained a newline. The pretty printer honors this attribute.
php-parser-4.10.2/CHANGELOG.md:633:* Partial parsing of `$obj->` (with missing property name) is now supported in error recovery mode.
php-parser-4.10.2/CHANGELOG.md-634-* The error recovery mode is now exposed in the `php-parse` script through the `--with-recovery`
##############################################
php-parser-4.10.2/CHANGELOG.md-638-
php-parser-4.10.2/CHANGELOG.md:639:* The PHP 7 parser will now generate a parse error for `$var =& new Obj` assignments.
php-parser-4.10.2/CHANGELOG.md-640-* Comments on free-standing code blocks will now be retained as comments on the first statement in
##############################################
php-parser-4.10.2/CHANGELOG.md-704-  be handled more gracefully.
php-parser-4.10.2/CHANGELOG.md:705:* The PHP 7 parser will now generate a parse error for `$var =& new Obj` assignments.
php-parser-4.10.2/CHANGELOG.md-706-* Comments on free-standing code blocks will no be retained as comments on the first statement in
##############################################
php-parser-4.10.2/README.md-132-
php-parser-4.10.2/README.md:133:This gives us an AST where the `Function_::$stmts` are empty:
php-parser-4.10.2/README.md-134-
##############################################
php-parser-4.10.2/UPGRADE-3.0.md-80-The PHP 7 parser is a superset of the PHP 5 parser, with the exceptions that `=& new` and
php-parser-4.10.2/UPGRADE-3.0.md:81:`global $$foo->bar` are not supported (other differences are in representation only). The PHP 7
php-parser-4.10.2/UPGRADE-3.0.md-82-parser will be able to recover from the error in both cases. For this reason, this change will
##############################################
php-parser-4.10.2/UPGRADE-3.0.md-139- * `Parser::getErrors()`. Use `ErrorHandler\Collecting` instead.
php-parser-4.10.2/UPGRADE-3.0.md:140: * `$separator` argument of `Name::toString()`. Use `strtr()` instead, if you really need it.
php-parser-4.10.2/UPGRADE-3.0.md:141: * `$cloneNodes` argument of `NodeTraverser::__construct()`. Explicitly clone nodes in the visitor
php-parser-4.10.2/UPGRADE-3.0.md-142-   instead.
##############################################
php-parser-4.10.2/UPGRADE-4.0.md-13-* Many subnodes that previously held simple strings now store `Identifier` nodes instead (or
php-parser-4.10.2/UPGRADE-4.0.md:14:  `VarLikeIdentifier` nodes if they have form `$ident`). The constructors of the affected nodes will
php-parser-4.10.2/UPGRADE-4.0.md-15-  automatically convert strings to `Identifier`s and `Identifier`s implement `__toString()`. As such
##############################################
php-parser-4.10.2/UPGRADE-4.0.md-19-
php-parser-4.10.2/UPGRADE-4.0.md:20:   * `Const_::$name`
php-parser-4.10.2/UPGRADE-4.0.md:21:   * `NullableType::$type` (for simple types)
php-parser-4.10.2/UPGRADE-4.0.md:22:   * `Param::$type` (for simple types)
php-parser-4.10.2/UPGRADE-4.0.md:23:   * `Expr\ClassConstFetch::$name`
php-parser-4.10.2/UPGRADE-4.0.md:24:   * `Expr\Closure::$returnType` (for simple types)
php-parser-4.10.2/UPGRADE-4.0.md:25:   * `Expr\MethodCall::$name`
php-parser-4.10.2/UPGRADE-4.0.md:26:   * `Expr\PropertyFetch::$name`
php-parser-4.10.2/UPGRADE-4.0.md:27:   * `Expr\StaticCall::$name`
php-parser-4.10.2/UPGRADE-4.0.md:28:   * `Expr\StaticPropertyFetch::$name` (uses `VarLikeIdentifier`)
php-parser-4.10.2/UPGRADE-4.0.md:29:   * `Stmt\Class_::$name`
php-parser-4.10.2/UPGRADE-4.0.md:30:   * `Stmt\ClassMethod::$name`
php-parser-4.10.2/UPGRADE-4.0.md:31:   * `Stmt\ClassMethod::$returnType` (for simple types)
php-parser-4.10.2/UPGRADE-4.0.md:32:   * `Stmt\Function_::$name`
php-parser-4.10.2/UPGRADE-4.0.md:33:   * `Stmt\Function_::$returnType` (for simple types)
php-parser-4.10.2/UPGRADE-4.0.md:34:   * `Stmt\Goto_::$name`
php-parser-4.10.2/UPGRADE-4.0.md:35:   * `Stmt\Interface_::$name`
php-parser-4.10.2/UPGRADE-4.0.md:36:   * `Stmt\Label::$name`
php-parser-4.10.2/UPGRADE-4.0.md:37:   * `Stmt\PropertyProperty::$name` (uses `VarLikeIdentifier`)
php-parser-4.10.2/UPGRADE-4.0.md:38:   * `Stmt\TraitUseAdaptation\Alias::$method`
php-parser-4.10.2/UPGRADE-4.0.md:39:   * `Stmt\TraitUseAdaptation\Alias::$newName`
php-parser-4.10.2/UPGRADE-4.0.md:40:   * `Stmt\TraitUseAdaptation\Precedence::$method`
php-parser-4.10.2/UPGRADE-4.0.md:41:   * `Stmt\Trait_::$name`
php-parser-4.10.2/UPGRADE-4.0.md:42:   * `Stmt\UseUse::$alias`
php-parser-4.10.2/UPGRADE-4.0.md-43-
##############################################
php-parser-4.10.2/UPGRADE-4.0.md-60-  `pNoindent()`. Now no-indent is the default and newlines that require indentation should use
php-parser-4.10.2/UPGRADE-4.0.md:61:  `$this->nl`.
php-parser-4.10.2/UPGRADE-4.0.md-62-
##############################################
php-parser-4.10.2/doc/0_Introduction.markdown-16-a file. On the other hand the token stream is much harder to deal with for more complex analysis.
php-parser-4.10.2/doc/0_Introduction.markdown:17:For example, an AST abstracts away the fact that, in PHP, variables can be written as `$foo`, but also
php-parser-4.10.2/doc/0_Introduction.markdown:18:as `$$bar`, `${'foobar'}` or even `${!${''}=barfoo()}`. You don't have to worry about recognizing
php-parser-4.10.2/doc/0_Introduction.markdown-19-all the different syntaxes from a stream of tokens.
##############################################
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-158-
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:159:Looking at the node dump above, you can see that `$stmts` for this example code is an array of two
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-160-nodes, a `Stmt_Function` and a `Stmt_Expression`. The corresponding class names are:
##############################################
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-175- * `PhpParser\Node\Expr`s are expression nodes, i.e. language constructs that return a value
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:176:   and thus can occur in other expressions. Examples of expressions are `$var`
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-177-   (`PhpParser\Node\Expr\Variable`) and `func()` (`PhpParser\Node\Expr\FuncCall`).
##############################################
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-189-Every node has a (possibly zero) number of subnodes. You can access subnodes by writing
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:190:`$node->subNodeName`. The `Stmt\Echo_` node has only one subnode `exprs`. So in order to access it
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:191:in the above example you would write `$stmts[0]->exprs`. If you wanted to access the name of the function
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:192:call, you would write `$stmts[0]->exprs[1]->name`.
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-193-
##############################################
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-452-possible, so we don't need to do that. We only need to create a string with the name parts separated
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:453:by underscores instead of backslashes. This is what `str_replace('\\', '_', $node->toString())` does. (If you want to
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown:454:create a name with backslashes either write `$node->toString()` or `(string) $node`.) Then we create
php-parser-4.10.2/doc/2_Usage_of_basic_components.markdown-455-a new name from the string and return it. Returning a new node replaces the old node.
##############################################
php-parser-4.10.2/doc/component/AST_builders.markdown-117-
php-parser-4.10.2/doc/component/AST_builders.markdown:118: * `val($value)`: Creates an AST node for a literal value like `42` or `[1, 2, 3]`.
php-parser-4.10.2/doc/component/AST_builders.markdown:119: * `var($name)`: Creates variable node.
php-parser-4.10.2/doc/component/AST_builders.markdown:120: * `args(array $args)`: Creates an array of function/method arguments, including the required `Arg`
php-parser-4.10.2/doc/component/AST_builders.markdown-121-   wrappers. Also converts literals to AST nodes.
php-parser-4.10.2/doc/component/AST_builders.markdown:122: * `funcCall($name, array $args = [])`: Create a function call node. Converts `$name` to a `Name`
php-parser-4.10.2/doc/component/AST_builders.markdown-123-   node and normalizes arguments.
php-parser-4.10.2/doc/component/AST_builders.markdown:124: * `methodCall(Expr $var, $name, array $args = [])`: Create a method call node. Converts `$name` to
php-parser-4.10.2/doc/component/AST_builders.markdown-125-   an `Identifier` node and normalizes arguments.
php-parser-4.10.2/doc/component/AST_builders.markdown:126: * `staticCall($class, $name, array $args = [])`: Create a static method call node. Converts
php-parser-4.10.2/doc/component/AST_builders.markdown:127:   `$class` to a `Name` node, `$name` to an `Identifier` node and normalizes arguments.
php-parser-4.10.2/doc/component/AST_builders.markdown:128: * `new($class, array $args = [])`: Create a "new" (object creation) node. Converts `$class` to a
php-parser-4.10.2/doc/component/AST_builders.markdown-129-   `Name` node.
php-parser-4.10.2/doc/component/AST_builders.markdown:130: * `constFetch($name)`: Create a constant fetch node. Converts `$name` to a `Name` node.
php-parser-4.10.2/doc/component/AST_builders.markdown:131: * `classConstFetch($class, $name)`: Create a class constant fetch node. Converts `$class` to a
php-parser-4.10.2/doc/component/AST_builders.markdown:132:   `Name` node and `$name` to an `Identifier` node.
php-parser-4.10.2/doc/component/AST_builders.markdown:133: * `propertyFetch($var, $name)`: Creates a property fetch node. Converts `$name` to an `Identifier`
php-parser-4.10.2/doc/component/AST_builders.markdown-134-   node.
php-parser-4.10.2/doc/component/AST_builders.markdown:135: * `concat(...$exprs)`: Create a tree of `BinaryOp\Concat` nodes for the given expressions.
php-parser-4.10.2/doc/component/AST_builders.markdown-136-
##############################################
php-parser-4.10.2/doc/component/Error_handling.markdown-29-
php-parser-4.10.2/doc/component/Error_handling.markdown:30:Before using column information, its availability needs to be checked with `$e->hasColumnInfo()`, as the precise
php-parser-4.10.2/doc/component/Error_handling.markdown-31-location of an error cannot always be determined. The methods for retrieving column information also have to be passed
##############################################
php-parser-4.10.2/doc/component/FAQ.markdown-26-
php-parser-4.10.2/doc/component/FAQ.markdown:27:After running this visitor, the parent node can be obtained through `$node->getAttribute('parent')`.
php-parser-4.10.2/doc/component/FAQ.markdown-28-
##############################################
php-parser-4.10.2/doc/component/FAQ.markdown-49-
php-parser-4.10.2/doc/component/FAQ.markdown:50:After running this visitor, the parent node can be obtained through `$node->getAttribute('parent')`,
php-parser-4.10.2/doc/component/FAQ.markdown:51:the previous node can be obtained through `$node->getAttribute('previous')`, and the next node can be
php-parser-4.10.2/doc/component/FAQ.markdown:52:obtained through `$node->getAttribute('next')`.
php-parser-4.10.2/doc/component/FAQ.markdown-53-
##############################################
php-parser-4.10.2/doc/component/Lexer.markdown-12-
php-parser-4.10.2/doc/component/Lexer.markdown:13:The two default lexers accept an `$options` array in the constructor. Currently only the `'usedAttributes'` option is
php-parser-4.10.2/doc/component/Lexer.markdown-14-supported, which allows you to specify which attributes will be added to the AST nodes. The attributes can then be
php-parser-4.10.2/doc/component/Lexer.markdown:15:accessed using `$node->getAttribute()`, `$node->setAttribute()`, `$node->hasAttribute()` and `$node->getAttributes()`
php-parser-4.10.2/doc/component/Lexer.markdown-16-methods. A sample options array:
##############################################
php-parser-4.10.2/doc/component/Lexer.markdown-29-   between the previous non-discarded token and the current one. Use of this attribute is required for the
php-parser-4.10.2/doc/component/Lexer.markdown:30:   `$node->getComments()` and `$node->getDocComment()` methods to work. The attribute is also needed if you wish the pretty
php-parser-4.10.2/doc/component/Lexer.markdown-31-   printer to retain comments present in the original code.
php-parser-4.10.2/doc/component/Lexer.markdown:32: * `startLine`: Line in which the node starts. This attribute is required for the `$node->getLine()` to work. It is also
php-parser-4.10.2/doc/component/Lexer.markdown-33-   required if syntax errors should contain line number information.
php-parser-4.10.2/doc/component/Lexer.markdown:34: * `endLine`: Line in which the node ends. Required for `$node->getEndLine()`.
php-parser-4.10.2/doc/component/Lexer.markdown:35: * `startTokenPos`: Offset into the token array of the first token in the node. Required for `$node->getStartTokenPos()`.
php-parser-4.10.2/doc/component/Lexer.markdown:36: * `endTokenPos`: Offset into the token array of the last token in the node. Required for `$node->getEndTokenPos()`.
php-parser-4.10.2/doc/component/Lexer.markdown:37: * `startFilePos`: Offset into the code string of the first character that is part of the node. Required for `$node->getStartFilePos()`.
php-parser-4.10.2/doc/component/Lexer.markdown:38: * `endFilePos`: Offset into the code string of the last character that is part of the node. Required for `$node->getEndFilePos()`.
php-parser-4.10.2/doc/component/Lexer.markdown-39-
##############################################
php-parser-4.10.2/doc/component/Lexer.markdown-42-> **Note:** The example in this section is outdated in that this information is directly available in the AST: While
php-parser-4.10.2/doc/component/Lexer.markdown:43:> `$property->isPublic()` does not distinguish between `public` and `var`, directly checking `$property->flags` for
php-parser-4.10.2/doc/component/Lexer.markdown:44:> the `$property->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0` allows making this distinction without resorting to
php-parser-4.10.2/doc/component/Lexer.markdown-45-> tokens. However the general idea behind the example still applies in other cases.
##############################################
php-parser-4.10.2/doc/component/Lexer.markdown-121-tokens are available it must return `0`, which is the ID of the `EOF` token. Furthermore the string content of the
php-parser-4.10.2/doc/component/Lexer.markdown:122:token should be written into the by-reference `$value` parameter (which will then be available as `$n` in the parser).
php-parser-4.10.2/doc/component/Lexer.markdown-123-
##############################################
php-parser-4.10.2/doc/component/Lexer.markdown-125-
php-parser-4.10.2/doc/component/Lexer.markdown:126:The other two by-ref variables `$startAttributes` and `$endAttributes` define which attributes will eventually be
php-parser-4.10.2/doc/component/Lexer.markdown:127:assigned to the generated nodes: The parser will take the `$startAttributes` from the first token which is part of the
php-parser-4.10.2/doc/component/Lexer.markdown:128:node and the `$endAttributes` from the last token that is part of the node.
php-parser-4.10.2/doc/component/Lexer.markdown-129-
php-parser-4.10.2/doc/component/Lexer.markdown:130:E.g. if the tokens `T_FUNCTION T_STRING ... '{' ... '}'` constitute a node, then the `$startAttributes` from the
php-parser-4.10.2/doc/component/Lexer.markdown:131:`T_FUNCTION` token will be taken and the `$endAttributes` from the `'}'` token.
php-parser-4.10.2/doc/component/Lexer.markdown-132-
##############################################
php-parser-4.10.2/doc/component/Name_resolution.markdown-77-
php-parser-4.10.2/doc/component/Name_resolution.markdown:78:The `$type` parameters accept on of the `Stmt\Use_::TYPE_*` constants, which represent the three
php-parser-4.10.2/doc/component/Name_resolution.markdown-79-basic symbol types in PHP (functions, constants and everything else).
##############################################
php-parser-4.10.2/doc/component/Name_resolution.markdown-85-as class names inside doc comments. A visitor running in parallel with the name resolver can access
php-parser-4.10.2/doc/component/Name_resolution.markdown:86:the name context using `$nameResolver->getNameContext()`. Alternatively a visitor can use an
php-parser-4.10.2/doc/component/Name_resolution.markdown-87-independent context and explicitly feed `Namespace` and `Use` nodes to it.
##############################################
php-parser-4.10.2/doc/component/Walking_the_AST.markdown-127-
php-parser-4.10.2/doc/component/Walking_the_AST.markdown:128:Now `$a && $b` will be replaced by `!($a && $b)`. Then the traverser will go into the first (and
php-parser-4.10.2/doc/component/Walking_the_AST.markdown:129:only) child of `!($a && $b)`, which is `$a && $b`. The transformation applies again and we end up
php-parser-4.10.2/doc/component/Walking_the_AST.markdown:130:with `!!($a && $b)`. This will continue until PHP hits the memory limit.
php-parser-4.10.2/doc/component/Walking_the_AST.markdown-131-
##############################################
php-parser-4.10.2/doc/component/Walking_the_AST.markdown-147-
php-parser-4.10.2/doc/component/Walking_the_AST.markdown:148:On the other hand, removing a `Node\Expr` does not make sense: If you have `$a * $b`, there is no
php-parser-4.10.2/doc/component/Walking_the_AST.markdown:149:meaningful way in which the `$a` part could be removed. If you want to remove an expression, you
php-parser-4.10.2/doc/component/Walking_the_AST.markdown-150-generally want to remove it together with a surrounding expression statement:
##############################################
php-parser-4.10.2/doc/component/Walking_the_AST.markdown-164-This example will remove all calls to `var_dump()` which occur as expression statements. This means
php-parser-4.10.2/doc/component/Walking_the_AST.markdown:165:that `var_dump($a);` will be removed, but `if (var_dump($a))` will not be removed (and there is no
php-parser-4.10.2/doc/component/Walking_the_AST.markdown-166-obvious way in which it can be removed).
##############################################
php-parser-4.10.2/grammar/rebuildParsers.php-232-function execCmd($cmd) {
php-parser-4.10.2/grammar/rebuildParsers.php:233:    $output = trim(shell_exec("$cmd 2>&1"));
php-parser-4.10.2/grammar/rebuildParsers.php-234-    if ($output !== "") {
##############################################
php-parser-4.10.2/lib/PhpParser/Parser/Php5.php-2066-            374 => function ($stackPos) {
php-parser-4.10.2/lib/PhpParser/Parser/Php5.php:2067:                 $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
php-parser-4.10.2/lib/PhpParser/Parser/Php5.php-2068-            },
##############################################
php-parser-4.10.2/lib/PhpParser/Parser/Php7.php-2288-            429 => function ($stackPos) {
php-parser-4.10.2/lib/PhpParser/Parser/Php7.php:2289:                 $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
php-parser-4.10.2/lib/PhpParser/Parser/Php7.php-2290-            },
##############################################
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php-532-
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php:533:    protected function pExpr_Eval(Expr\Eval_ $node) {
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php:534:        return 'eval(' . $this->p($node->expr) . ')';
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php-535-    }
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php-536-
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php:537:    protected function pExpr_Include(Expr\Include_ $node) {
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php-538-        static $map = [
##############################################
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php-607-
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php:608:    protected function pExpr_ShellExec(Expr\ShellExec $node) {
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php:609:        return '`' . $this->pEncapsList($node->parts, '`') . '`';
php-parser-4.10.2/lib/PhpParser/PrettyPrinter/Standard.php-610-    }
##############################################
php-parser-4.10.2/test/PhpParser/Builder/InterfaceTest.php-95-
php-parser-4.10.2/test/PhpParser/Builder/InterfaceTest.php:96:        eval($this->dump($contract));
php-parser-4.10.2/test/PhpParser/Builder/InterfaceTest.php-97-
##############################################
php-parser-4.10.2/test/PhpParser/CodeTestParser.php-13-            function($matches) {
php-parser-4.10.2/test/PhpParser/CodeTestParser.php:14:                return eval('return ' . $matches[1] . ';');
php-parser-4.10.2/test/PhpParser/CodeTestParser.php-15-            },
##############################################
php-parser-4.10.2/test/code/parser/expr/shellExec.test-5-`test`;
php-parser-4.10.2/test/code/parser/expr/shellExec.test:6:`test $A`;
php-parser-4.10.2/test/code/parser/expr/shellExec.test-7-`test \``;
##############################################
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test-81-`foo`;
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test:82:`foo$a`;
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test:83:`foo{$a}bar`;
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test-84-`\`\'\"`;
##############################################
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test-155-`foo`;
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test:156:`foo{$a}`;
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test:157:`foo{$a}bar`;
php-parser-4.10.2/test/code/prettyPrinter/expr/literals.test-158-`\`\\'\\"`;