From 17cf2e47086cd0300104d8a39b8fd7f5e5f734bb Mon Sep 17 00:00:00 2001 From: Ioan CHIRIAC Date: Thu, 15 Aug 2019 10:24:32 +0200 Subject: [PATCH] 3.0.0-prerelease.9 --- RELEASE.md | 36 +- dist/php-parser.js | 471 ++++++------ dist/php-parser.min.js | 6 +- docs/AST.html | 14 +- docs/Array.html | 4 +- docs/Assign.html | 4 +- docs/Bin.html | 4 +- docs/Block.html | 4 +- docs/Boolean.html | 4 +- docs/Break.html | 4 +- docs/Call.html | 4 +- docs/Case.html | 4 +- docs/Cast.html | 4 +- docs/Catch.html | 4 +- docs/Class.html | 4 +- docs/ClassConstant.html | 4 +- docs/ClassReference.html | 4 +- docs/Clone.html | 4 +- docs/Closure.html | 4 +- docs/Comment.html | 4 +- docs/CommentBlock.html | 4 +- docs/CommentLine.html | 4 +- docs/Constant.html | 4 +- docs/ConstantStatement.html | 4 +- docs/Continue.html | 4 +- docs/Declaration.html | 4 +- docs/Declare.html | 4 +- docs/DeclareDirective.html | 4 +- docs/Do.html | 4 +- docs/Echo.html | 4 +- docs/Empty.html | 4 +- docs/Encapsed.html | 4 +- docs/EncapsedPart.html | 4 +- docs/Entry.html | 4 +- docs/Error.html | 4 +- docs/Eval.html | 4 +- docs/Exit.html | 4 +- docs/Expression.html | 4 +- docs/ExpressionStatement.html | 4 +- docs/For.html | 4 +- docs/Foreach.html | 4 +- docs/Function.html | 4 +- docs/Global_.html | 4 +- docs/Goto.html | 4 +- docs/Halt.html | 4 +- docs/Identifier.html | 4 +- docs/If.html | 4 +- docs/Include.html | 4 +- docs/Inline.html | 4 +- docs/Interface.html | 4 +- docs/Isset.html | 4 +- docs/Label.html | 4 +- docs/List.html | 4 +- docs/Literal.html | 4 +- docs/Location.html | 4 +- docs/Lookup.html | 4 +- docs/Magic.html | 4 +- docs/Method.html | 4 +- docs/Namespace.html | 4 +- docs/New.html | 4 +- docs/Node.html | 4 +- docs/Noop.html | 688 ++++++++++++++++++ docs/NowDoc.html | 4 +- docs/Number.html | 4 +- docs/OffsetLookup.html | 4 +- docs/Operation.html | 4 +- docs/Parameter.html | 4 +- docs/ParentReference.html | 4 +- docs/Position.html | 4 +- docs/Post.html | 4 +- docs/Pre.html | 4 +- docs/Print.html | 4 +- docs/Program.html | 4 +- docs/Property.html | 4 +- docs/PropertyLookup.html | 4 +- docs/PropertyStatement.html | 4 +- docs/Reference.html | 4 +- docs/RetIf.html | 4 +- docs/Return.html | 4 +- docs/SelfReference.html | 4 +- docs/Silent.html | 4 +- docs/Statement.html | 4 +- docs/Static.html | 4 +- docs/StaticLookup.html | 4 +- docs/StaticReference.html | 4 +- docs/StaticVariable.html | 4 +- docs/String.html | 4 +- docs/Switch.html | 4 +- docs/Throw.html | 4 +- docs/Trait.html | 4 +- docs/TraitAlias.html | 4 +- docs/TraitPrecedence.html | 4 +- docs/TraitUse.html | 4 +- docs/Try.html | 4 +- docs/TypeReference.html | 4 +- docs/Unary.html | 4 +- docs/Unset.html | 4 +- docs/UseGroup.html | 4 +- docs/UseItem.html | 4 +- docs/Variable.html | 4 +- docs/While.html | 4 +- docs/Yield.html | 4 +- docs/YieldFrom.html | 4 +- docs/ast.js.html | 6 +- docs/ast_array.js.html | 4 +- docs/ast_assign.js.html | 4 +- docs/ast_bin.js.html | 4 +- docs/ast_block.js.html | 4 +- docs/ast_boolean.js.html | 4 +- docs/ast_break.js.html | 4 +- docs/ast_call.js.html | 4 +- docs/ast_case.js.html | 4 +- docs/ast_cast.js.html | 4 +- docs/ast_catch.js.html | 4 +- docs/ast_class.js.html | 4 +- docs/ast_classconstant.js.html | 4 +- docs/ast_classreference.js.html | 4 +- docs/ast_clone.js.html | 4 +- docs/ast_closure.js.html | 4 +- docs/ast_comment.js.html | 4 +- docs/ast_commentblock.js.html | 4 +- docs/ast_commentline.js.html | 4 +- docs/ast_constant.js.html | 4 +- docs/ast_constantstatement.js.html | 4 +- docs/ast_continue.js.html | 4 +- docs/ast_declaration.js.html | 4 +- docs/ast_declare.js.html | 4 +- docs/ast_declaredirective.js.html | 4 +- docs/ast_do.js.html | 4 +- docs/ast_echo.js.html | 4 +- docs/ast_empty.js.html | 4 +- docs/ast_encapsed.js.html | 4 +- docs/ast_encapsedpart.js.html | 4 +- docs/ast_entry.js.html | 4 +- docs/ast_error.js.html | 4 +- docs/ast_eval.js.html | 4 +- docs/ast_exit.js.html | 4 +- docs/ast_expression.js.html | 4 +- docs/ast_expressionstatement.js.html | 4 +- docs/ast_for.js.html | 4 +- docs/ast_foreach.js.html | 4 +- docs/ast_function.js.html | 4 +- docs/ast_global.js.html | 4 +- docs/ast_goto.js.html | 4 +- docs/ast_halt.js.html | 4 +- docs/ast_identifier.js.html | 4 +- docs/ast_if.js.html | 4 +- docs/ast_include.js.html | 4 +- docs/ast_inline.js.html | 4 +- docs/ast_interface.js.html | 4 +- docs/ast_isset.js.html | 4 +- docs/ast_label.js.html | 4 +- docs/ast_list.js.html | 4 +- docs/ast_literal.js.html | 4 +- docs/ast_location.js.html | 4 +- docs/ast_lookup.js.html | 4 +- docs/ast_magic.js.html | 4 +- docs/ast_method.js.html | 4 +- docs/ast_namespace.js.html | 4 +- docs/ast_new.js.html | 4 +- docs/ast_node.js.html | 4 +- docs/ast_noop.js.html | 161 ++++ docs/ast_nowdoc.js.html | 4 +- docs/ast_number.js.html | 4 +- docs/ast_offsetlookup.js.html | 4 +- docs/ast_operation.js.html | 4 +- docs/ast_parameter.js.html | 4 +- docs/ast_parentreference.js.html | 4 +- docs/ast_position.js.html | 4 +- docs/ast_post.js.html | 4 +- docs/ast_pre.js.html | 4 +- docs/ast_print.js.html | 4 +- docs/ast_program.js.html | 4 +- docs/ast_property.js.html | 4 +- docs/ast_propertylookup.js.html | 4 +- docs/ast_propertystatement.js.html | 4 +- docs/ast_reference.js.html | 4 +- docs/ast_retif.js.html | 4 +- docs/ast_return.js.html | 4 +- docs/ast_selfreference.js.html | 4 +- docs/ast_silent.js.html | 4 +- docs/ast_statement.js.html | 4 +- docs/ast_static.js.html | 4 +- docs/ast_staticlookup.js.html | 4 +- docs/ast_staticreference.js.html | 4 +- docs/ast_staticvariable.js.html | 4 +- docs/ast_string.js.html | 4 +- docs/ast_switch.js.html | 4 +- docs/ast_throw.js.html | 4 +- docs/ast_trait.js.html | 4 +- docs/ast_traitalias.js.html | 4 +- docs/ast_traitprecedence.js.html | 4 +- docs/ast_traituse.js.html | 4 +- docs/ast_try.js.html | 4 +- docs/ast_typereference.js.html | 4 +- docs/ast_unary.js.html | 4 +- docs/ast_unset.js.html | 4 +- docs/ast_usegroup.js.html | 4 +- docs/ast_useitem.js.html | 4 +- docs/ast_variable.js.html | 4 +- docs/ast_variadic.js.html | 4 +- docs/ast_while.js.html | 4 +- docs/ast_yield.js.html | 4 +- docs/ast_yieldfrom.js.html | 4 +- docs/engine.html | 11 +- docs/fonts/OpenSans-Semibold-webfont.eot | Bin docs/fonts/OpenSans-Semibold-webfont.svg | 0 docs/fonts/OpenSans-Semibold-webfont.ttf | Bin docs/fonts/OpenSans-Semibold-webfont.woff | Bin .../fonts/OpenSans-SemiboldItalic-webfont.eot | Bin .../fonts/OpenSans-SemiboldItalic-webfont.svg | 0 .../fonts/OpenSans-SemiboldItalic-webfont.ttf | Bin .../OpenSans-SemiboldItalic-webfont.woff | Bin docs/global.html | 27 +- docs/index.html | 26 +- docs/index.js.html | 4 +- docs/lexer.html | 4 +- docs/lexer.js.html | 4 +- docs/lexer_comments.js.html | 4 +- docs/lexer_strings.js.html | 4 +- docs/parser.html | 26 +- docs/parser.js.html | 24 +- docs/parser_array.js.html | 25 +- docs/parser_class.js.html | 4 +- docs/parser_comment.js.html | 4 +- docs/parser_expr.js.html | 9 +- docs/parser_function.js.html | 36 +- docs/parser_if.js.html | 4 +- docs/parser_loops.js.html | 4 +- docs/parser_main.js.html | 4 +- docs/parser_namespace.js.html | 9 +- docs/parser_scalar.js.html | 4 +- docs/parser_statement.js.html | 4 +- docs/parser_switch.js.html | 4 +- docs/parser_try.js.html | 4 +- docs/parser_utils.js.html | 8 +- docs/parser_variable.js.html | 15 +- docs/tokens.js.html | 4 +- docs/tutorial-AST_.html | 50 +- docs/tutorial-Engine_.html | 16 +- docs/tutorial-Options.html | 8 +- docs/tutorial-Parser_.html | 277 +++++-- docs/variadic.html | 4 +- package-lock.json | 56 +- package.json | 2 +- test/debug.js | 2 +- 246 files changed, 1968 insertions(+), 893 deletions(-) create mode 100644 docs/Noop.html create mode 100644 docs/ast_noop.js.html mode change 100644 => 100755 docs/fonts/OpenSans-Semibold-webfont.eot mode change 100644 => 100755 docs/fonts/OpenSans-Semibold-webfont.svg mode change 100644 => 100755 docs/fonts/OpenSans-Semibold-webfont.ttf mode change 100644 => 100755 docs/fonts/OpenSans-Semibold-webfont.woff mode change 100644 => 100755 docs/fonts/OpenSans-SemiboldItalic-webfont.eot mode change 100644 => 100755 docs/fonts/OpenSans-SemiboldItalic-webfont.svg mode change 100644 => 100755 docs/fonts/OpenSans-SemiboldItalic-webfont.ttf mode change 100644 => 100755 docs/fonts/OpenSans-SemiboldItalic-webfont.woff diff --git a/RELEASE.md b/RELEASE.md index b5dda4eee..5b0ae9b01 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,35 +1,51 @@ # Releases +## 3.0.0-prerelease.9 : (2019-08-15) +- #291 : Incorrect parsing of backslash-prefixed use declarations +- #278 : 3.0 - Confusing commentsBlocks references +- #256 : invalid ast for multiple properties +- #255 : better ast for `constant` node +- #250 : Leading comments are treated as trailing comments to the previous function body +- #248 : broken ast for `$$$$$` +- #247 : invalid ast for `silent` +- #246 : `resolution` for `classreference` doesn't work properly for `FULL_QUALIFIED_NAME` +- #242 : feat: improve `Declare` node and introduce `DeclareDirective` node +- #199 : [bug] comment location overlaps with node location for `static` node +- #192 : [bug] encapsed and staticlookup +- #180 : bug in parser with single function +- #174 : Don't output `null` for last element in `list/array` +- #128 : Don't have curly for propertylookup in offset + ## 3.0.0-prerelease.8 : (2019-01-07) + - #243 : Regression in prerelease 7 with echo + - #239 : [bug] call should be in ExpressionStatement - #235 : invalid ast for `self` and `parent` - #234 : regression with parens in `3.0.0-prerelease.7` - #230 : `resolvePrecedence` break location for `bin` nodes + - #207 : [feature] use `identifier` for `class/interface/trait` name - #202 : [bug] comment position in lookup - #194 : [feature] implement trailingComments on nodes - #185 : [bug] parens and staticlookup - - #172 : cast precedence - #182 : strange with parens, staticlookup and offsetlookup - - #167 : staticlookup is broken with curly - - #239 : [bug] call should be in ExpressionStatement - - #207 : [feature] use `identifier` for `class/interface/trait` name - - #243 : Regression in prerelease 7 with echo - #181 : strange with parens and unary + - #172 : cast precedence + - #167 : staticlookup is broken with curly ## 3.0.0-prerelease.7 : (2018-11-10) - - #201 : [bug] curly in staticlookup bug - - #175 : impossible detect curly in `encapsed` AST enhancement - - #210 : [bug] invalid ast for `const` enhancement - #220 : regression in `rc-6` + - #210 : [bug] invalid ast for `const` enhancement - #204 : [bug] invalid start offset encapsed AST bug + - #201 : [bug] curly in staticlookup bug + - #175 : impossible detect curly in `encapsed` AST enhancement - #165 : declare doesn't support inline nodes investigating Many thanks to @evilebottnawi for his help ## 3.0.0-prerelease.6 : (2018-10-21) - - fix #113 : Unhandled native identifiers + - impl #196 : identifier for function/method name - fix #183 : `static` parsed as constref - fix #188 : `constref` vs `identifier` - - impl #196 : identifier for function/method name + - fix #113 : Unhandled native identifiers ## 3.0.0-alpha3 : (2018-08-15) - fix #168 : End location of `if` without semicolon diff --git a/dist/php-parser.js b/dist/php-parser.js index 84a4d39c4..a7d0c1b3f 100644 --- a/dist/php-parser.js +++ b/dist/php-parser.js @@ -2,7 +2,7 @@ * * Package: php-parser * Parse PHP code and returns its AST - * Build: e3cf4a77371cc55d1718 - 02/03/2019 + * Build: 75b9f3f26b197ee535b2 - 8/15/2019 * License: BSD-3-Clause * Author: Ioan CHIRIAC * @@ -124,7 +124,7 @@ var KIND = "statement"; * @extends {Node} */ -module.exports = Node.extends(KIND, function Statement(kind, docs, location) { +module.exports = Node["extends"](KIND, function Statement(kind, docs, location) { Node.apply(this, [kind || KIND, docs, location]); }); @@ -150,7 +150,7 @@ var KIND = "expression"; * @extends {Node} */ -module.exports = Node.extends(KIND, function Expression(kind, docs, location) { +module.exports = Node["extends"](KIND, function Expression(kind, docs, location) { Node.apply(this, [kind || KIND, docs, location]); }); @@ -251,9 +251,9 @@ Node.prototype.includeToken = function (parser) { */ -Node.extends = function (type, constructor) { +Node["extends"] = function (type, constructor) { constructor.prototype = Object.create(this.prototype); - constructor.extends = this.extends; + constructor["extends"] = this["extends"]; constructor.prototype.constructor = constructor; constructor.kind = type; return constructor; @@ -284,7 +284,7 @@ var KIND = "literal"; * @property {Node|string|number|boolean|null} value */ -module.exports = Expression.extends(KIND, function Literal(kind, value, raw, docs, location) { +module.exports = Expression["extends"](KIND, function Literal(kind, value, raw, docs, location) { Expression.apply(this, [kind || KIND, docs, location]); this.value = value; @@ -314,7 +314,7 @@ var KIND = "operation"; * @extends {Expression} */ -module.exports = Expr.extends(KIND, function Operation(kind, docs, location) { +module.exports = Expr["extends"](KIND, function Operation(kind, docs, location) { Expr.apply(this, [kind || KIND, docs, location]); }); @@ -344,7 +344,7 @@ var IS_PRIVATE = "private"; * @property {Identifier|string} name */ -var Declaration = Statement.extends(KIND, function Declaration(kind, name, docs, location) { +var Declaration = Statement["extends"](KIND, function Declaration(kind, name, docs, location) { Statement.apply(this, [kind || KIND, docs, location]); this.name = name; }); @@ -398,7 +398,7 @@ var KIND = "reference"; * @extends {Node} */ -var Reference = Node.extends(KIND, function Reference(kind, docs, location) { +var Reference = Node["extends"](KIND, function Reference(kind, docs, location) { Node.apply(this, [kind || KIND, docs, location]); }); module.exports = Reference; @@ -425,7 +425,7 @@ var KIND = "block"; * @property {Node[]} children */ -module.exports = Statement.extends(KIND, function Block(kind, children, docs, location) { +module.exports = Statement["extends"](KIND, function Block(kind, children, docs, location) { Statement.apply(this, [kind || KIND, docs, location]); this.children = children.filter(Boolean); }); @@ -453,7 +453,7 @@ var KIND = "lookup"; * @property {Expression} offset */ -module.exports = Expr.extends(KIND, function Lookup(kind, what, offset, docs, location) { +module.exports = Expr["extends"](KIND, function Lookup(kind, what, offset, docs, location) { Expr.apply(this, [kind || KIND, docs, location]); this.what = what; this.offset = offset; @@ -480,7 +480,7 @@ var Node = __webpack_require__(2); */ -module.exports = Node.extends("comment", function Comment(kind, value, docs, location) { +module.exports = Node["extends"]("comment", function Comment(kind, value, docs, location) { Node.apply(this, [kind, docs, location]); this.value = value; }); @@ -507,7 +507,7 @@ var KIND = "constantstatement"; * @property {Constant[]} constants */ -module.exports = Statement.extends(KIND, function ConstantStatement(kind, constants, docs, location) { +module.exports = Statement["extends"](KIND, function ConstantStatement(kind, constants, docs, location) { Statement.apply(this, [kind || KIND, docs, location]); this.constants = constants; }); @@ -538,7 +538,7 @@ var KIND = "function"; * @property {Block|null} body */ -module.exports = Declaration.extends(KIND, function _Function(name, args, byref, type, nullable, docs, location) { +module.exports = Declaration["extends"](KIND, function _Function(name, args, byref, type, nullable, docs, location) { Declaration.apply(this, [KIND, name, docs, location]); this.arguments = args; this.byref = byref; @@ -792,7 +792,7 @@ module.exports.AST = AST; module.exports.parser = parser; module.exports.combine = combine; // allow the default export in index.d.ts -module.exports.default = engine; +module.exports["default"] = engine; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(13).Buffer)) /***/ }), @@ -2928,45 +2928,45 @@ var lexer = function lexer(engine) { __namespace__: this.tok.T_NS_C, exit: this.tok.T_EXIT, die: this.tok.T_EXIT, - function: this.tok.T_FUNCTION, - const: this.tok.T_CONST, - return: this.tok.T_RETURN, - try: this.tok.T_TRY, - catch: this.tok.T_CATCH, - finally: this.tok.T_FINALLY, - throw: this.tok.T_THROW, - if: this.tok.T_IF, + "function": this.tok.T_FUNCTION, + "const": this.tok.T_CONST, + "return": this.tok.T_RETURN, + "try": this.tok.T_TRY, + "catch": this.tok.T_CATCH, + "finally": this.tok.T_FINALLY, + "throw": this.tok.T_THROW, + "if": this.tok.T_IF, elseif: this.tok.T_ELSEIF, endif: this.tok.T_ENDIF, - else: this.tok.T_ELSE, - while: this.tok.T_WHILE, + "else": this.tok.T_ELSE, + "while": this.tok.T_WHILE, endwhile: this.tok.T_ENDWHILE, - do: this.tok.T_DO, - for: this.tok.T_FOR, + "do": this.tok.T_DO, + "for": this.tok.T_FOR, endfor: this.tok.T_ENDFOR, foreach: this.tok.T_FOREACH, endforeach: this.tok.T_ENDFOREACH, declare: this.tok.T_DECLARE, enddeclare: this.tok.T_ENDDECLARE, - instanceof: this.tok.T_INSTANCEOF, + "instanceof": this.tok.T_INSTANCEOF, as: this.tok.T_AS, - switch: this.tok.T_SWITCH, + "switch": this.tok.T_SWITCH, endswitch: this.tok.T_ENDSWITCH, - case: this.tok.T_CASE, - default: this.tok.T_DEFAULT, - break: this.tok.T_BREAK, - continue: this.tok.T_CONTINUE, - goto: this.tok.T_GOTO, + "case": this.tok.T_CASE, + "default": this.tok.T_DEFAULT, + "break": this.tok.T_BREAK, + "continue": this.tok.T_CONTINUE, + "goto": this.tok.T_GOTO, echo: this.tok.T_ECHO, print: this.tok.T_PRINT, - class: this.tok.T_CLASS, - interface: this.tok.T_INTERFACE, + "class": this.tok.T_CLASS, + "interface": this.tok.T_INTERFACE, trait: this.tok.T_TRAIT, - extends: this.tok.T_EXTENDS, - implements: this.tok.T_IMPLEMENTS, - new: this.tok.T_NEW, + "extends": this.tok.T_EXTENDS, + "implements": this.tok.T_IMPLEMENTS, + "new": this.tok.T_NEW, clone: this.tok.T_CLONE, - var: this.tok.T_VAR, + "var": this.tok.T_VAR, eval: this.tok.T_EVAL, include: this.tok.T_INCLUDE, include_once: this.tok.T_INCLUDE_ONCE, @@ -2979,12 +2979,12 @@ var lexer = function lexer(engine) { isset: this.tok.T_ISSET, empty: this.tok.T_EMPTY, __halt_compiler: this.tok.T_HALT_COMPILER, - static: this.tok.T_STATIC, - abstract: this.tok.T_ABSTRACT, - final: this.tok.T_FINAL, - private: this.tok.T_PRIVATE, - protected: this.tok.T_PROTECTED, - public: this.tok.T_PUBLIC, + "static": this.tok.T_STATIC, + "abstract": this.tok.T_ABSTRACT, + "final": this.tok.T_FINAL, + "private": this.tok.T_PRIVATE, + "protected": this.tok.T_PROTECTED, + "public": this.tok.T_PUBLIC, unset: this.tok.T_UNSET, list: this.tok.T_LIST, array: this.tok.T_ARRAY, @@ -2994,17 +2994,17 @@ var lexer = function lexer(engine) { xor: this.tok.T_LOGICAL_XOR }; this.castKeywords = { - int: this.tok.T_INT_CAST, + "int": this.tok.T_INT_CAST, integer: this.tok.T_INT_CAST, real: this.tok.T_DOUBLE_CAST, - double: this.tok.T_DOUBLE_CAST, - float: this.tok.T_DOUBLE_CAST, + "double": this.tok.T_DOUBLE_CAST, + "float": this.tok.T_DOUBLE_CAST, string: this.tok.T_STRING_CAST, binary: this.tok.T_STRING_CAST, array: this.tok.T_ARRAY_CAST, object: this.tok.T_OBJECT_CAST, bool: this.tok.T_BOOL_CAST, - boolean: this.tok.T_BOOL_CAST, + "boolean": this.tok.T_BOOL_CAST, unset: this.tok.T_UNSET_CAST }; }; @@ -4960,6 +4960,7 @@ var parser = function parser(lexer, ast) { this.prev = null; this.debug = false; this.php7 = true; + this.php74 = true; this.extractDoc = false; this.extractTokens = false; this.suppressErrors = false; @@ -5016,6 +5017,10 @@ parser.prototype.parse = function (code, filename) { this._tokens = null; } + if (!this.php7) { + this.php74 = false; + } + this._docIndex = 0; this._lastNode = null; this.lexer.setInput(code); @@ -5049,8 +5054,11 @@ parser.prototype.parse = function (code, filename) { if (errors.length > 0) { errors.forEach(function (error) { - // eslint-disable-next-line no-console - console.log("Node at line " + error.position.line + ", column " + error.position.column); // eslint-disable-next-line no-console + if (error.position) { + // eslint-disable-next-line no-console + console.log("Node at line " + error.position.line + ", column " + error.position.column); + } // eslint-disable-next-line no-console + console.log(error.stack.join("\n")); }); @@ -5427,16 +5435,7 @@ module.exports = { if (this.next().token !== expect) { items = this.read_array_pair_list(shortForm); - } // check non empty entries - - /*for(let i = 0, size = items.length - 1; i < size; i++) { - if (items[i] === null) { - this.raiseError( - "Cannot use empty array elements in arrays" - ); - } - }*/ - + } this.expect(expect); this.next(); @@ -5468,7 +5467,7 @@ module.exports = { */ read_array_pair: function read_array_pair(shortForm) { if (this.token === "," || !shortForm && this.token === ")" || shortForm && this.token === "]") { - return null; + return this.node("noop")(); } if (this.token === "&") { @@ -5483,20 +5482,12 @@ module.exports = { } else { return entry(expr, this.read_expr()); } + } else { + entry.destroy(); } return expr; } - }, - - /** - * ```ebnf - * dim_offset ::= expr? - * ``` - */ - read_dim_offset: function read_dim_offset() { - if (this.token == "]") return false; - return this.read_expr(); } }; @@ -6200,7 +6191,7 @@ module.exports = { var hasItem = false; for (var i = 0; i < assignList.length; i++) { - if (assignList[i] !== null) { + if (assignList[i] !== null && assignList[i].kind !== "noop") { hasItem = true; break; } @@ -6404,6 +6395,10 @@ module.exports = { if (this.next().token == "&") { if (this.next().token === this.tok.T_NEW) { + if (this.php7) { + this.error(); + } + right = this.read_new_expr(); } else { right = this.read_variable(false, false, true); @@ -6693,18 +6688,39 @@ module.exports = { var nameNode = this.node("identifier"); if (type === 2) { - if (this.token === this.tok.T_STRING || this.php7 && this.is("IDENTIFIER")) { + if (this.php7) { + if (this.token === this.tok.T_STRING || this.is("IDENTIFIER")) { + name = this.text(); + this.next(); + } else if (!this.php74) { + this.error("IDENTIFIER"); + } + } else if (this.token === this.tok.T_STRING) { name = this.text(); this.next(); } else { this.error("IDENTIFIER"); } } else { - if (this.expect(this.tok.T_STRING)) { - name = this.text(); - } + if (this.php7) { + if (this.token === this.tok.T_STRING) { + name = this.text(); + this.next(); + } else if (this.php74) { + if (!this.expect("(")) { + this.next(); + } + } else { + this.error(this.tok.T_STRING); + this.next(); + } + } else { + if (this.expect(this.tok.T_STRING)) { + name = this.text(); + } - this.next(); + this.next(); + } } name = nameNode(name); @@ -7413,7 +7429,7 @@ module.exports = { if (this.token !== this.tok.T_FUNCTION && this.token !== this.tok.T_CONST && this.token !== this.tok.T_STRING) { break; } - } else if (this.token !== this.tok.T_STRING) { + } else if (this.token !== this.tok.T_STRING && this.token !== this.tok.T_NS_SEPARATOR) { break; } @@ -8450,7 +8466,10 @@ module.exports = { var result = []; if (this.token == separator) { - if (preserveFirstSeparator) result.push(null); + if (preserveFirstSeparator) { + result.push(typeof item === "function" ? this.node("noop")() : null); + } + this.next(); } @@ -8836,17 +8855,6 @@ module.exports = { while (this.token != this.EOF) { var node = this.node(); - /* - if (this.token == "[") { - offset = null; - if (encapsed) { - offset = this.next().read_encaps_var_offset(); - } else { - offset = this.next().token === "]" ? null : this.read_dim_offset(); - } - this.expect("]") && this.next(); - result = node("offsetlookup", result, offset); - } else */ if (this.token == "{" && !encapsed) { // @fixme check coverage, not sure thats working @@ -9227,6 +9235,7 @@ var Position = __webpack_require__(47); * - [Location](#location) * - [Position](#position) * - [Node](#node) + * - [Noop](#noop) * - [StaticVariable](#staticvariable) * - [EncapsedPart](#encapsedpart) * - [Constant](#constant) @@ -9663,7 +9672,7 @@ AST.prototype.checkNodes = function () { }; // Define all AST nodes -[__webpack_require__(48), __webpack_require__(49), __webpack_require__(50), __webpack_require__(7), __webpack_require__(51), __webpack_require__(52), __webpack_require__(53), __webpack_require__(54), __webpack_require__(55), __webpack_require__(56), __webpack_require__(57), __webpack_require__(58), __webpack_require__(59), __webpack_require__(60), __webpack_require__(61), __webpack_require__(9), __webpack_require__(62), __webpack_require__(63), __webpack_require__(64), __webpack_require__(10), __webpack_require__(65), __webpack_require__(5), __webpack_require__(66), __webpack_require__(67), __webpack_require__(68), __webpack_require__(69), __webpack_require__(70), __webpack_require__(71), __webpack_require__(72), __webpack_require__(73), __webpack_require__(74), __webpack_require__(75), __webpack_require__(76), __webpack_require__(1), __webpack_require__(77), __webpack_require__(78), __webpack_require__(79), __webpack_require__(11), __webpack_require__(80), __webpack_require__(81), __webpack_require__(82), __webpack_require__(83), __webpack_require__(84), __webpack_require__(85), __webpack_require__(86), __webpack_require__(87), __webpack_require__(88), __webpack_require__(89), __webpack_require__(90), __webpack_require__(3), __webpack_require__(8), __webpack_require__(91), __webpack_require__(92), __webpack_require__(93), __webpack_require__(94), __webpack_require__(2), __webpack_require__(95), __webpack_require__(96), __webpack_require__(97), __webpack_require__(4), __webpack_require__(98), __webpack_require__(99), __webpack_require__(100), __webpack_require__(101), __webpack_require__(102), __webpack_require__(103), __webpack_require__(104), __webpack_require__(105), __webpack_require__(106), __webpack_require__(6), __webpack_require__(107), __webpack_require__(108), __webpack_require__(109), __webpack_require__(110), __webpack_require__(0), __webpack_require__(111), __webpack_require__(112), __webpack_require__(113), __webpack_require__(114), __webpack_require__(115), __webpack_require__(116), __webpack_require__(117), __webpack_require__(118), __webpack_require__(119), __webpack_require__(120), __webpack_require__(121), __webpack_require__(122), __webpack_require__(123), __webpack_require__(124), __webpack_require__(125), __webpack_require__(126), __webpack_require__(127), __webpack_require__(128), __webpack_require__(129), __webpack_require__(130), __webpack_require__(131), __webpack_require__(132)].forEach(function (ctor) { +[__webpack_require__(48), __webpack_require__(49), __webpack_require__(50), __webpack_require__(7), __webpack_require__(51), __webpack_require__(52), __webpack_require__(53), __webpack_require__(54), __webpack_require__(55), __webpack_require__(56), __webpack_require__(57), __webpack_require__(58), __webpack_require__(59), __webpack_require__(60), __webpack_require__(61), __webpack_require__(9), __webpack_require__(62), __webpack_require__(63), __webpack_require__(64), __webpack_require__(10), __webpack_require__(65), __webpack_require__(5), __webpack_require__(66), __webpack_require__(67), __webpack_require__(68), __webpack_require__(69), __webpack_require__(70), __webpack_require__(71), __webpack_require__(72), __webpack_require__(73), __webpack_require__(74), __webpack_require__(75), __webpack_require__(76), __webpack_require__(1), __webpack_require__(77), __webpack_require__(78), __webpack_require__(79), __webpack_require__(11), __webpack_require__(80), __webpack_require__(81), __webpack_require__(82), __webpack_require__(83), __webpack_require__(84), __webpack_require__(85), __webpack_require__(86), __webpack_require__(87), __webpack_require__(88), __webpack_require__(89), __webpack_require__(90), __webpack_require__(3), __webpack_require__(8), __webpack_require__(91), __webpack_require__(92), __webpack_require__(93), __webpack_require__(94), __webpack_require__(2), __webpack_require__(95), __webpack_require__(96), __webpack_require__(97), __webpack_require__(98), __webpack_require__(4), __webpack_require__(99), __webpack_require__(100), __webpack_require__(101), __webpack_require__(102), __webpack_require__(103), __webpack_require__(104), __webpack_require__(105), __webpack_require__(106), __webpack_require__(107), __webpack_require__(6), __webpack_require__(108), __webpack_require__(109), __webpack_require__(110), __webpack_require__(111), __webpack_require__(0), __webpack_require__(112), __webpack_require__(113), __webpack_require__(114), __webpack_require__(115), __webpack_require__(116), __webpack_require__(117), __webpack_require__(118), __webpack_require__(119), __webpack_require__(120), __webpack_require__(121), __webpack_require__(122), __webpack_require__(123), __webpack_require__(124), __webpack_require__(125), __webpack_require__(126), __webpack_require__(127), __webpack_require__(128), __webpack_require__(129), __webpack_require__(130), __webpack_require__(131), __webpack_require__(132), __webpack_require__(133)].forEach(function (ctor) { AST.prototype[ctor.kind] = ctor; }); module.exports = AST; @@ -9763,7 +9772,7 @@ var KIND = "array"; * @property {boolean} shortForm Indicate if the short array syntax is used, ex `[]` instead `array()` */ -module.exports = Expr.extends(KIND, function Array(shortForm, items, docs, location) { +module.exports = Expr["extends"](KIND, function Array(shortForm, items, docs, location) { Expr.apply(this, [KIND, docs, location]); this.items = items; this.shortForm = shortForm; @@ -9793,7 +9802,7 @@ var KIND = "assign"; * @property {String} operator */ -module.exports = Expression.extends(KIND, function Assign(left, right, operator, docs, location) { +module.exports = Expression["extends"](KIND, function Assign(left, right, operator, docs, location) { Expression.apply(this, [KIND, docs, location]); this.operator = operator; this.left = left; @@ -9824,7 +9833,7 @@ var KIND = "bin"; * @property {Expression} right */ -module.exports = Operation.extends(KIND, function Bin(type, left, right, docs, location) { +module.exports = Operation["extends"](KIND, function Bin(type, left, right, docs, location) { Operation.apply(this, [KIND, docs, location]); this.type = type; this.left = left; @@ -9852,7 +9861,7 @@ var KIND = "boolean"; * @extends {Literal} */ -module.exports = Literal.extends(KIND, function Boolean(value, raw, docs, location) { +module.exports = Literal["extends"](KIND, function Boolean(value, raw, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); }); @@ -9878,7 +9887,7 @@ var KIND = "break"; * @property {Number|Null} level */ -module.exports = Statement.extends(KIND, function Break(level, docs, location) { +module.exports = Statement["extends"](KIND, function Break(level, docs, location) { Statement.apply(this, [KIND, docs, location]); this.level = level; }); @@ -9906,7 +9915,7 @@ var KIND = "call"; * @property {Arguments[]} arguments */ -module.exports = Expression.extends(KIND, function Call(what, args, docs, location) { +module.exports = Expression["extends"](KIND, function Call(what, args, docs, location) { Expression.apply(this, [KIND, docs, location]); this.what = what; this.arguments = args; @@ -9935,7 +9944,7 @@ var KIND = "case"; * @property {Block|null} body */ -module.exports = Statement.extends(KIND, function Case(test, body, docs, location) { +module.exports = Statement["extends"](KIND, function Case(test, body, docs, location) { Statement.apply(this, [KIND, docs, location]); this.test = test; this.body = body; @@ -9965,7 +9974,7 @@ var KIND = "cast"; * @property {Expression} what */ -module.exports = Operation.extends(KIND, function Cast(type, raw, what, docs, location) { +module.exports = Operation["extends"](KIND, function Cast(type, raw, what, docs, location) { Operation.apply(this, [KIND, docs, location]); this.type = type; this.raw = raw; @@ -9997,7 +10006,7 @@ var KIND = "catch"; * @see http://php.net/manual/en/language.exceptions.php */ -module.exports = Statement.extends(KIND, function Catch(body, what, variable, docs, location) { +module.exports = Statement["extends"](KIND, function Catch(body, what, variable, docs, location) { Statement.apply(this, [KIND, docs, location]); this.body = body; this.what = what; @@ -10031,11 +10040,11 @@ var KIND = "class"; * @property {boolean} isFinal */ -module.exports = Declaration.extends(KIND, function Class(name, ext, impl, body, flags, docs, location) { +module.exports = Declaration["extends"](KIND, function Class(name, ext, impl, body, flags, docs, location) { Declaration.apply(this, [KIND, name, docs, location]); this.isAnonymous = name ? false : true; - this.extends = ext; - this.implements = impl; + this["extends"] = ext; + this["implements"] = impl; this.body = body; this.parseFlags(flags); }); @@ -10066,7 +10075,7 @@ var IS_PRIVATE = "private"; * @property {string} visibility */ -var ClassConstant = ConstantStatement.extends(KIND, function ClassConstant(kind, constants, flags, docs, location) { +var ClassConstant = ConstantStatement["extends"](KIND, function ClassConstant(kind, constants, flags, docs, location) { ConstantStatement.apply(this, [kind || KIND, constants, docs, location]); this.parseFlags(flags); }); @@ -10115,7 +10124,7 @@ var KIND = "classreference"; * @property {string} resolution */ -var ClassReference = Reference.extends(KIND, function ClassReference(name, isRelative, docs, location) { +var ClassReference = Reference["extends"](KIND, function ClassReference(name, isRelative, docs, location) { Reference.apply(this, [KIND, docs, location]); if (isRelative) { @@ -10180,7 +10189,7 @@ var KIND = "clone"; * @property {Expression} what */ -module.exports = Expression.extends(KIND, function Clone(what, docs, location) { +module.exports = Expression["extends"](KIND, function Clone(what, docs, location) { Expression.apply(this, [KIND, docs, location]); this.what = what; }); @@ -10213,7 +10222,7 @@ var KIND = "closure"; * @property {boolean} isStatic */ -module.exports = Expression.extends(KIND, function Closure(args, byref, uses, type, nullable, isStatic, docs, location) { +module.exports = Expression["extends"](KIND, function Closure(args, byref, uses, type, nullable, isStatic, docs, location) { Expression.apply(this, [KIND, docs, location]); this.uses = uses; this.arguments = args; @@ -10245,7 +10254,7 @@ var KIND = "commentblock"; * @extends {Comment} */ -module.exports = Comment.extends(KIND, function CommentBlock(value, docs, location) { +module.exports = Comment["extends"](KIND, function CommentBlock(value, docs, location) { Comment.apply(this, [KIND, value, docs, location]); }); @@ -10270,7 +10279,7 @@ var KIND = "commentline"; * @extends {Comment} */ -module.exports = Comment.extends(KIND, function CommentLine(value, docs, location) { +module.exports = Comment["extends"](KIND, function CommentLine(value, docs, location) { Comment.apply(this, [KIND, value, docs, location]); }); @@ -10297,7 +10306,7 @@ var KIND = "constant"; * @property {Node|string|number|boolean|null} value */ -module.exports = Node.extends(KIND, function Constant(name, value, docs, location) { +module.exports = Node["extends"](KIND, function Constant(name, value, docs, location) { Node.apply(this, [KIND, docs, location]); this.name = name; this.value = value; @@ -10325,7 +10334,7 @@ var KIND = "continue"; * @property {Number|Null} level */ -module.exports = Statement.extends(KIND, function Continue(level, docs, location) { +module.exports = Statement["extends"](KIND, function Continue(level, docs, location) { Statement.apply(this, [KIND, docs, location]); this.level = level; }); @@ -10354,7 +10363,7 @@ var KIND = "declare"; * @see http://php.net/manual/en/control-structures.declare.php */ -var Declare = Block.extends(KIND, function Declare(directives, body, mode, docs, location) { +var Declare = Block["extends"](KIND, function Declare(directives, body, mode, docs, location) { Block.apply(this, [KIND, body, docs, location]); this.directives = directives; this.mode = mode; @@ -10423,7 +10432,7 @@ var KIND = "declaredirective"; * @property {Node|string|number|boolean|null} value */ -module.exports = Node.extends(KIND, function DeclareDirective(key, value, docs, location) { +module.exports = Node["extends"](KIND, function DeclareDirective(key, value, docs, location) { Node.apply(this, [KIND, docs, location]); this.key = key; this.value = value; @@ -10452,7 +10461,7 @@ var KIND = "do"; * @property {Statement} body */ -module.exports = Statement.extends(KIND, function Do(test, body, docs, location) { +module.exports = Statement["extends"](KIND, function Do(test, body, docs, location) { Statement.apply(this, [KIND, docs, location]); this.test = test; this.body = body; @@ -10480,7 +10489,7 @@ var KIND = "echo"; * @extends {Statement} */ -module.exports = Statement.extends(KIND, function Echo(expressions, shortForm, docs, location) { +module.exports = Statement["extends"](KIND, function Echo(expressions, shortForm, docs, location) { Statement.apply(this, [KIND, docs, location]); this.shortForm = shortForm; this.expressions = expressions; @@ -10507,7 +10516,7 @@ var KIND = "empty"; * @extends {Expression} */ -module.exports = Expression.extends(KIND, function Empty(expression, docs, location) { +module.exports = Expression["extends"](KIND, function Empty(expression, docs, location) { Expression.apply(this, [KIND, docs, location]); this.expression = expression; }); @@ -10535,7 +10544,7 @@ var KIND = "encapsed"; * @property {String|Null} label - The heredoc label, defined only when the type is heredoc */ -var Encapsed = Literal.extends(KIND, function Encapsed(value, raw, type, docs, location) { +var Encapsed = Literal["extends"](KIND, function Encapsed(value, raw, type, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); this.type = type; }); @@ -10606,7 +10615,7 @@ var KIND = "encapsedpart"; * @property {Expression} what */ -module.exports = Expression.extends(KIND, function EncapsedPart(expression, curly, docs, location) { +module.exports = Expression["extends"](KIND, function EncapsedPart(expression, curly, docs, location) { Expression.apply(this, [KIND, docs, location]); this.expression = expression; this.curly = curly; @@ -10635,7 +10644,7 @@ var KIND = "entry"; * @property {Node} value The entry value */ -module.exports = Expression.extends(KIND, function Entry(key, value, docs, location) { +module.exports = Expression["extends"](KIND, function Entry(key, value, docs, location) { Expression.apply(this, [KIND, docs, location]); this.key = key; this.value = value; @@ -10666,7 +10675,7 @@ var KIND = "error"; * @property {string|array} expected */ -module.exports = Node.extends(KIND, function Error(message, token, line, expected, docs, location) { +module.exports = Node["extends"](KIND, function Error(message, token, line, expected, docs, location) { Node.apply(this, [KIND, docs, location]); this.message = message; this.token = token; @@ -10696,7 +10705,7 @@ var KIND = "eval"; * @property {Node} source */ -module.exports = Expression.extends(KIND, function Eval(source, docs, location) { +module.exports = Expression["extends"](KIND, function Eval(source, docs, location) { Expression.apply(this, [KIND, docs, location]); this.source = source; }); @@ -10724,7 +10733,7 @@ var KIND = "exit"; * @property {Boolean} useDie */ -module.exports = Expression.extends(KIND, function Exit(status, useDie, docs, location) { +module.exports = Expression["extends"](KIND, function Exit(status, useDie, docs, location) { Expression.apply(this, [KIND, docs, location]); this.status = status; this.useDie = useDie; @@ -10752,7 +10761,7 @@ var KIND = "expressionstatement"; * @property {Expression} expression */ -module.exports = Statement.extends(KIND, function ExpressionStatement(expr, docs, location) { +module.exports = Statement["extends"](KIND, function ExpressionStatement(expr, docs, location) { Statement.apply(this, [KIND, docs, location]); this.expression = expr; }); @@ -10784,7 +10793,7 @@ var KIND = "for"; * @see http://php.net/manual/en/control-structures.for.php */ -module.exports = Statement.extends(KIND, function For(init, test, increment, body, shortForm, docs, location) { +module.exports = Statement["extends"](KIND, function For(init, test, increment, body, shortForm, docs, location) { Statement.apply(this, [KIND, docs, location]); this.init = init; this.test = test; @@ -10820,7 +10829,7 @@ var KIND = "foreach"; * @see http://php.net/manual/en/control-structures.foreach.php */ -module.exports = Statement.extends(KIND, function Foreach(source, key, value, body, shortForm, docs, location) { +module.exports = Statement["extends"](KIND, function Foreach(source, key, value, body, shortForm, docs, location) { Statement.apply(this, [KIND, docs, location]); this.source = source; this.key = key; @@ -10851,7 +10860,7 @@ var KIND = "global"; * @property {Variable[]} items */ -module.exports = Statement.extends(KIND, function Global(items, docs, location) { +module.exports = Statement["extends"](KIND, function Global(items, docs, location) { Statement.apply(this, [KIND, docs, location]); this.items = items; }); @@ -10879,7 +10888,7 @@ var KIND = "goto"; * @see {Label} */ -module.exports = Statement.extends(KIND, function Goto(label, docs, location) { +module.exports = Statement["extends"](KIND, function Goto(label, docs, location) { Statement.apply(this, [KIND, docs, location]); this.label = label; }); @@ -10907,7 +10916,7 @@ var KIND = "halt"; * @see http://php.net/manual/en/function.halt-compiler.php */ -module.exports = Statement.extends(KIND, function Halt(after, docs, location) { +module.exports = Statement["extends"](KIND, function Halt(after, docs, location) { Statement.apply(this, [KIND, docs, location]); this.after = after; }); @@ -10934,7 +10943,7 @@ var KIND = "identifier"; * @property {string} name */ -var Identifier = Node.extends(KIND, function Identifier(name, docs, location) { +var Identifier = Node["extends"](KIND, function Identifier(name, docs, location) { Node.apply(this, [KIND, docs, location]); this.name = name; }); @@ -10965,7 +10974,7 @@ var KIND = "if"; * @property {boolean} shortForm */ -module.exports = Statement.extends(KIND, function If(test, body, alternate, shortForm, docs, location) { +module.exports = Statement["extends"](KIND, function If(test, body, alternate, shortForm, docs, location) { Statement.apply(this, [KIND, docs, location]); this.test = test; this.body = body; @@ -10997,7 +11006,7 @@ var KIND = "include"; * @property {boolean} require */ -module.exports = Expression.extends(KIND, function Include(once, require, target, docs, location) { +module.exports = Expression["extends"](KIND, function Include(once, require, target, docs, location) { Expression.apply(this, [KIND, docs, location]); this.once = once; this.require = require; @@ -11025,7 +11034,7 @@ var KIND = "inline"; * @extends {Literal} */ -module.exports = Literal.extends(KIND, function Inline(value, raw, docs, location) { +module.exports = Literal["extends"](KIND, function Inline(value, raw, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); }); @@ -11052,9 +11061,9 @@ var KIND = "interface"; * @property {Declaration[]} body */ -module.exports = Declaration.extends(KIND, function Interface(name, ext, body, docs, location) { +module.exports = Declaration["extends"](KIND, function Interface(name, ext, body, docs, location) { Declaration.apply(this, [KIND, name, docs, location]); - this.extends = ext; + this["extends"] = ext; this.body = body; }); @@ -11079,7 +11088,7 @@ var KIND = "isset"; * @extends {Expression} */ -module.exports = Expression.extends(KIND, function Isset(variables, docs, location) { +module.exports = Expression["extends"](KIND, function Isset(variables, docs, location) { Expression.apply(this, [KIND, docs, location]); this.variables = variables; }); @@ -11106,7 +11115,7 @@ var KIND = "label"; * @property {String} name */ -module.exports = Statement.extends(KIND, function Label(name, docs, location) { +module.exports = Statement["extends"](KIND, function Label(name, docs, location) { Statement.apply(this, [KIND, docs, location]); this.name = name; }); @@ -11133,7 +11142,7 @@ var KIND = "list"; * @property {boolean} shortForm */ -module.exports = Expression.extends(KIND, function List(items, shortForm, docs, location) { +module.exports = Expression["extends"](KIND, function List(items, shortForm, docs, location) { Expression.apply(this, [KIND, docs, location]); this.items = items; this.shortForm = shortForm; @@ -11160,7 +11169,7 @@ var KIND = "magic"; * @extends {Literal} */ -module.exports = Literal.extends(KIND, function Magic(value, raw, docs, location) { +module.exports = Literal["extends"](KIND, function Magic(value, raw, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); }); @@ -11189,7 +11198,7 @@ var KIND = "method"; * @property {string} visibility */ -module.exports = _Function.extends(KIND, function Method() { +module.exports = _Function["extends"](KIND, function Method() { _Function.apply(this, arguments); this.kind = KIND; @@ -11218,7 +11227,7 @@ var KIND = "namespace"; * @property {Boolean} withBrackets */ -module.exports = Block.extends(KIND, function Namespace(name, children, withBrackets, docs, location) { +module.exports = Block["extends"](KIND, function Namespace(name, children, withBrackets, docs, location) { Block.apply(this, [KIND, children, docs, location]); this.name = name; this.withBrackets = withBrackets || false; @@ -11247,7 +11256,7 @@ var KIND = "new"; * @property {Arguments[]} arguments */ -module.exports = Expression.extends(KIND, function New(what, args, docs, location) { +module.exports = Expression["extends"](KIND, function New(what, args, docs, location) { Expression.apply(this, [KIND, docs, location]); this.what = what; this.arguments = args; @@ -11265,6 +11274,32 @@ module.exports = Expression.extends(KIND, function New(what, args, docs, locatio */ +var Node = __webpack_require__(2); + +var KIND = "noop"; +/** + * Ignore this node, it implies a no operation block, for example : + * [$foo, $bar, /* here a noop node * /] + * @constructor Noop + * @extends {Node} + */ + +module.exports = Node["extends"](KIND, function Noop(docs, location) { + Node.apply(this, [KIND, docs, location]); +}); + +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (C) 2018 Glayzzle (BSD3 License) + * @authors https://github.com/glayzzle/php-parser/graphs/contributors + * @url http://glayzzle.com + */ + + var Literal = __webpack_require__(3); var KIND = "nowdoc"; @@ -11277,14 +11312,14 @@ var KIND = "nowdoc"; * @property {Boolean} quote */ -module.exports = Literal.extends(KIND, function Nowdoc(value, raw, label, quote, docs, location) { +module.exports = Literal["extends"](KIND, function Nowdoc(value, raw, label, quote, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); this.label = label; this.quote = quote; }); /***/ }), -/* 96 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11304,12 +11339,12 @@ var KIND = "number"; * @extends {Literal} */ -module.exports = Literal.extends(KIND, function Number(value, raw, docs, location) { +module.exports = Literal["extends"](KIND, function Number(value, raw, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); }); /***/ }), -/* 97 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11329,12 +11364,12 @@ var KIND = "offsetlookup"; * @extends {Lookup} */ -module.exports = Lookup.extends(KIND, function OffsetLookup(what, offset, docs, location) { +module.exports = Lookup["extends"](KIND, function OffsetLookup(what, offset, docs, location) { Lookup.apply(this, [KIND, what, offset, docs, location]); }); /***/ }), -/* 98 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11359,7 +11394,7 @@ var KIND = "parameter"; * @property {boolean} nullable */ -module.exports = Declaration.extends(KIND, function Parameter(name, type, value, isRef, isVariadic, nullable, docs, location) { +module.exports = Declaration["extends"](KIND, function Parameter(name, type, value, isRef, isVariadic, nullable, docs, location) { Declaration.apply(this, [KIND, name, docs, location]); this.value = value; this.type = type; @@ -11369,7 +11404,7 @@ module.exports = Declaration.extends(KIND, function Parameter(name, type, value, }); /***/ }), -/* 99 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11389,14 +11424,14 @@ var KIND = "parentreference"; * @extends {Reference} */ -var ParentReference = Reference.extends(KIND, function ParentReference(raw, docs, location) { +var ParentReference = Reference["extends"](KIND, function ParentReference(raw, docs, location) { Reference.apply(this, [KIND, docs, location]); this.raw = raw; }); module.exports = ParentReference; /***/ }), -/* 100 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11418,14 +11453,14 @@ var KIND = "post"; * @property {Variable} what */ -module.exports = Operation.extends(KIND, function Post(type, what, docs, location) { +module.exports = Operation["extends"](KIND, function Post(type, what, docs, location) { Operation.apply(this, [KIND, docs, location]); this.type = type; this.what = what; }); /***/ }), -/* 101 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11447,14 +11482,14 @@ var KIND = "pre"; * @property {Variable} what */ -module.exports = Operation.extends(KIND, function Pre(type, what, docs, location) { +module.exports = Operation["extends"](KIND, function Pre(type, what, docs, location) { Operation.apply(this, [KIND, docs, location]); this.type = type; this.what = what; }); /***/ }), -/* 102 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11474,13 +11509,13 @@ var KIND = "print"; * @extends {Expression} */ -module.exports = Expression.extends(KIND, function Print(expression, docs, location) { +module.exports = Expression["extends"](KIND, function Print(expression, docs, location) { Expression.apply(this, [KIND, docs, location]); this.expression = expression; }); /***/ }), -/* 103 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11503,7 +11538,7 @@ var KIND = "program"; * @property {String[]?} tokens */ -module.exports = Block.extends(KIND, function Program(children, errors, comments, tokens, docs, location) { +module.exports = Block["extends"](KIND, function Program(children, errors, comments, tokens, docs, location) { Block.apply(this, [KIND, children, docs, location]); this.errors = errors; @@ -11517,7 +11552,7 @@ module.exports = Block.extends(KIND, function Program(children, errors, comments }); /***/ }), -/* 104 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11539,14 +11574,14 @@ var KIND = "property"; * @property {Node|null} value */ -module.exports = Statement.extends(KIND, function Property(name, value, docs, location) { +module.exports = Statement["extends"](KIND, function Property(name, value, docs, location) { Statement.apply(this, [KIND, docs, location]); this.name = name; this.value = value; }); /***/ }), -/* 105 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11566,12 +11601,12 @@ var KIND = "propertylookup"; * @extends {Lookup} */ -module.exports = Lookup.extends(KIND, function PropertyLookup(what, offset, docs, location) { +module.exports = Lookup["extends"](KIND, function PropertyLookup(what, offset, docs, location) { Lookup.apply(this, [KIND, what, offset, docs, location]); }); /***/ }), -/* 106 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11596,7 +11631,7 @@ var IS_PRIVATE = "private"; * @property {Property[]} properties */ -var PropertyStatement = Statement.extends(KIND, function PropertyStatement(kind, properties, flags, docs, location) { +var PropertyStatement = Statement["extends"](KIND, function PropertyStatement(kind, properties, flags, docs, location) { Statement.apply(this, [KIND, docs, location]); this.properties = properties; this.parseFlags(flags); @@ -11626,7 +11661,7 @@ PropertyStatement.prototype.parseFlags = function (flags) { module.exports = PropertyStatement; /***/ }), -/* 107 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11649,7 +11684,7 @@ var KIND = "retif"; * @property {Expression} falseExpr */ -module.exports = Expression.extends(KIND, function RetIf(test, trueExpr, falseExpr, docs, location) { +module.exports = Expression["extends"](KIND, function RetIf(test, trueExpr, falseExpr, docs, location) { Expression.apply(this, [KIND, docs, location]); this.test = test; this.trueExpr = trueExpr; @@ -11657,7 +11692,7 @@ module.exports = Expression.extends(KIND, function RetIf(test, trueExpr, falseEx }); /***/ }), -/* 108 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11678,13 +11713,13 @@ var KIND = "return"; * @property {Expression|null} expr */ -module.exports = Statement.extends(KIND, function Return(expr, docs, location) { +module.exports = Statement["extends"](KIND, function Return(expr, docs, location) { Statement.apply(this, [KIND, docs, location]); this.expr = expr; }); /***/ }), -/* 109 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11704,14 +11739,14 @@ var KIND = "selfreference"; * @extends {Reference} */ -var SelfReference = Reference.extends(KIND, function SelfReference(raw, docs, location) { +var SelfReference = Reference["extends"](KIND, function SelfReference(raw, docs, location) { Reference.apply(this, [KIND, docs, location]); this.raw = raw; }); module.exports = SelfReference; /***/ }), -/* 110 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11732,13 +11767,13 @@ var KIND = "silent"; * @property {Expression} expr */ -module.exports = Expression.extends(KIND, function Silent(expr, docs, location) { +module.exports = Expression["extends"](KIND, function Silent(expr, docs, location) { Expression.apply(this, [KIND, docs, location]); this.expr = expr; }); /***/ }), -/* 111 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11759,13 +11794,13 @@ var KIND = "static"; * @property {StaticVariable[]} variables */ -module.exports = Statement.extends(KIND, function Static(variables, docs, location) { +module.exports = Statement["extends"](KIND, function Static(variables, docs, location) { Statement.apply(this, [KIND, docs, location]); this.variables = variables; }); /***/ }), -/* 112 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11787,14 +11822,14 @@ var KIND = "staticvariable"; * @property {Node|string|number|boolean|null} defaultValue */ -module.exports = Node.extends(KIND, function StaticVariable(variable, defaultValue, docs, location) { +module.exports = Node["extends"](KIND, function StaticVariable(variable, defaultValue, docs, location) { Node.apply(this, [KIND, docs, location]); this.variable = variable; this.defaultValue = defaultValue; }); /***/ }), -/* 113 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11814,12 +11849,12 @@ var KIND = "staticlookup"; * @extends {Lookup} */ -module.exports = Lookup.extends(KIND, function StaticLookup(what, offset, docs, location) { +module.exports = Lookup["extends"](KIND, function StaticLookup(what, offset, docs, location) { Lookup.apply(this, [KIND, what, offset, docs, location]); }); /***/ }), -/* 114 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11839,14 +11874,14 @@ var KIND = "staticreference"; * @extends {Reference} */ -var StaticReference = Reference.extends(KIND, function StaticReference(raw, docs, location) { +var StaticReference = Reference["extends"](KIND, function StaticReference(raw, docs, location) { Reference.apply(this, [KIND, docs, location]); this.raw = raw; }); module.exports = StaticReference; /***/ }), -/* 115 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11869,14 +11904,14 @@ var KIND = "string"; * @see {Encapsed} */ -module.exports = Literal.extends(KIND, function String(isDoubleQuote, value, unicode, raw, docs, location) { +module.exports = Literal["extends"](KIND, function String(isDoubleQuote, value, unicode, raw, docs, location) { Literal.apply(this, [KIND, value, raw, docs, location]); this.unicode = unicode; this.isDoubleQuote = isDoubleQuote; }); /***/ }), -/* 116 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11899,7 +11934,7 @@ var KIND = "switch"; * @property {boolean} shortForm */ -module.exports = Statement.extends(KIND, function Switch(test, body, shortForm, docs, location) { +module.exports = Statement["extends"](KIND, function Switch(test, body, shortForm, docs, location) { Statement.apply(this, [KIND, docs, location]); this.test = test; this.body = body; @@ -11907,7 +11942,7 @@ module.exports = Statement.extends(KIND, function Switch(test, body, shortForm, }); /***/ }), -/* 117 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11928,13 +11963,13 @@ var KIND = "throw"; * @property {Expression} what */ -module.exports = Statement.extends(KIND, function Throw(what, docs, location) { +module.exports = Statement["extends"](KIND, function Throw(what, docs, location) { Statement.apply(this, [KIND, docs, location]); this.what = what; }); /***/ }), -/* 118 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11955,13 +11990,13 @@ var KIND = "trait"; * @property {Declaration[]} body */ -module.exports = Declaration.extends(KIND, function Trait(name, body, docs, location) { +module.exports = Declaration["extends"](KIND, function Trait(name, body, docs, location) { Declaration.apply(this, [KIND, name, docs, location]); this.body = body; }); /***/ }), -/* 119 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11989,7 +12024,7 @@ var IS_PRIVATE = "private"; * @property {string|null} visibility */ -module.exports = Node.extends(KIND, function TraitAlias(trait, method, as, flags, docs, location) { +module.exports = Node["extends"](KIND, function TraitAlias(trait, method, as, flags, docs, location) { Node.apply(this, [KIND, docs, location]); this.trait = trait; this.method = method; @@ -12008,7 +12043,7 @@ module.exports = Node.extends(KIND, function TraitAlias(trait, method, as, flags }); /***/ }), -/* 120 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12031,7 +12066,7 @@ var KIND = "traitprecedence"; * @property {Identifier[]} instead */ -module.exports = Node.extends(KIND, function TraitPrecedence(trait, method, instead, docs, location) { +module.exports = Node["extends"](KIND, function TraitPrecedence(trait, method, instead, docs, location) { Node.apply(this, [KIND, docs, location]); this.trait = trait; this.method = method; @@ -12039,7 +12074,7 @@ module.exports = Node.extends(KIND, function TraitPrecedence(trait, method, inst }); /***/ }), -/* 121 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12061,14 +12096,14 @@ var KIND = "traituse"; * @property {Node[]|null} adaptations */ -module.exports = Node.extends(KIND, function TraitUse(traits, adaptations, docs, location) { +module.exports = Node["extends"](KIND, function TraitUse(traits, adaptations, docs, location) { Node.apply(this, [KIND, docs, location]); this.traits = traits; this.adaptations = adaptations; }); /***/ }), -/* 122 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12091,7 +12126,7 @@ var KIND = "try"; * @property {Block} allways */ -module.exports = Statement.extends(KIND, function Try(body, catches, always, docs, location) { +module.exports = Statement["extends"](KIND, function Try(body, catches, always, docs, location) { Statement.apply(this, [KIND, docs, location]); this.body = body; this.catches = catches; @@ -12099,7 +12134,7 @@ module.exports = Statement.extends(KIND, function Try(body, catches, always, doc }); /***/ }), -/* 123 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12120,7 +12155,7 @@ var KIND = "typereference"; * @property {string} name */ -var TypeReference = Reference.extends(KIND, function TypeReference(name, raw, docs, location) { +var TypeReference = Reference["extends"](KIND, function TypeReference(name, raw, docs, location) { Reference.apply(this, [KIND, docs, location]); this.name = name; this.raw = raw; @@ -12129,7 +12164,7 @@ TypeReference.types = ["int", "float", "string", "bool", "object", "array", "cal module.exports = TypeReference; /***/ }), -/* 124 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12151,14 +12186,14 @@ var KIND = "unary"; * @property {Expression} what */ -module.exports = Operation.extends(KIND, function Unary(type, what, docs, location) { +module.exports = Operation["extends"](KIND, function Unary(type, what, docs, location) { Operation.apply(this, [KIND, docs, location]); this.type = type; this.what = what; }); /***/ }), -/* 125 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12178,13 +12213,13 @@ var KIND = "unset"; * @extends {Statement} */ -module.exports = Statement.extends(KIND, function Unset(variables, docs, location) { +module.exports = Statement["extends"](KIND, function Unset(variables, docs, location) { Statement.apply(this, [KIND, docs, location]); this.variables = variables; }); /***/ }), -/* 126 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12209,7 +12244,7 @@ var KIND = "usegroup"; * @see http://php.net/manual/en/language.namespaces.importing.php */ -module.exports = Statement.extends(KIND, function UseGroup(name, type, items, docs, location) { +module.exports = Statement["extends"](KIND, function UseGroup(name, type, items, docs, location) { Statement.apply(this, [KIND, docs, location]); this.name = name; this.type = type; @@ -12217,7 +12252,7 @@ module.exports = Statement.extends(KIND, function UseGroup(name, type, items, do }); /***/ }), -/* 127 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12242,7 +12277,7 @@ var KIND = "useitem"; * @see http://php.net/manual/en/language.namespaces.importing.php */ -var UseItem = Statement.extends(KIND, function UseItem(name, alias, type, docs, location) { +var UseItem = Statement["extends"](KIND, function UseItem(name, alias, type, docs, location) { Statement.apply(this, [KIND, docs, location]); this.name = name; this.alias = alias; @@ -12263,7 +12298,7 @@ UseItem.TYPE_FUNCTION = "function"; module.exports = UseItem; /***/ }), -/* 128 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12297,7 +12332,7 @@ var KIND = "variable"; * @property {boolean} curly Indicate if the name is defined between curlies, ex `${foo}` */ -module.exports = Expression.extends(KIND, function Variable(name, byref, curly, docs, location) { +module.exports = Expression["extends"](KIND, function Variable(name, byref, curly, docs, location) { Expression.apply(this, [KIND, docs, location]); this.name = name; this.byref = byref || false; @@ -12305,7 +12340,7 @@ module.exports = Expression.extends(KIND, function Variable(name, byref, curly, }); /***/ }), -/* 129 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12327,13 +12362,13 @@ var KIND = "variadic"; * @see https://wiki.php.net/rfc/argument_unpacking */ -module.exports = Expression.extends(KIND, function variadic(what, docs, location) { +module.exports = Expression["extends"](KIND, function variadic(what, docs, location) { Expression.apply(this, [KIND, docs, location]); this.what = what; }); /***/ }), -/* 130 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12356,7 +12391,7 @@ var KIND = "while"; * @property {boolean} shortForm */ -module.exports = Statement.extends(KIND, function While(test, body, shortForm, docs, location) { +module.exports = Statement["extends"](KIND, function While(test, body, shortForm, docs, location) { Statement.apply(this, [KIND, docs, location]); this.test = test; this.body = body; @@ -12364,7 +12399,7 @@ module.exports = Statement.extends(KIND, function While(test, body, shortForm, d }); /***/ }), -/* 131 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12387,14 +12422,14 @@ var KIND = "yield"; * @see http://php.net/manual/en/language.generators.syntax.php */ -module.exports = Expression.extends(KIND, function Yield(value, key, docs, location) { +module.exports = Expression["extends"](KIND, function Yield(value, key, docs, location) { Expression.apply(this, [KIND, docs, location]); this.value = value; this.key = key; }); /***/ }), -/* 132 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12416,7 +12451,7 @@ var KIND = "yieldfrom"; * @see http://php.net/manual/en/language.generators.syntax.php */ -module.exports = Expression.extends(KIND, function YieldFrom(value, docs, location) { +module.exports = Expression["extends"](KIND, function YieldFrom(value, docs, location) { Expression.apply(this, [KIND, docs, location]); this.value = value; }); diff --git a/dist/php-parser.min.js b/dist/php-parser.min.js index 58cdce9b7..75997b482 100644 --- a/dist/php-parser.min.js +++ b/dist/php-parser.min.js @@ -2,12 +2,12 @@ * * Package: php-parser * Parse PHP code and returns its AST - * Build: e3cf4a77371cc55d1718 - 02/03/2019 + * Build: 75b9f3f26b197ee535b2 - 8/15/2019 * License: BSD-3-Clause * Author: Ioan CHIRIAC * */ -!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory():"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?exports.PhpParser=factory():root.PhpParser=factory()}(window,function(){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{enumerable:!0,get:getter})},__webpack_require__.r=function(exports){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.t=function(value,mode){if(1&mode&&(value=__webpack_require__(value)),8&mode)return value;if(4&mode&&"object"==typeof value&&value&&value.__esModule)return value;var ns=Object.create(null);if(__webpack_require__.r(ns),Object.defineProperty(ns,"default",{enumerable:!0,value:value}),2&mode&&"string"!=typeof value)for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=12)}([function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2);module.exports=Node.extends("statement",function(kind,docs,location){Node.apply(this,[kind||"statement",docs,location])})},function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2);module.exports=Node.extends("expression",function(kind,docs,location){Node.apply(this,[kind||"expression",docs,location])})},function(module,exports,__webpack_require__){"use strict";var Node=function(kind,docs,location){this.kind=kind,docs&&(this.leadingComments=docs),location&&(this.loc=location)};Node.prototype.setTrailingComments=function(docs){this.trailingComments=docs},Node.prototype.destroy=function(node){if(!node)throw new Error("Node already initialized, you must swap with another node");return this.leadingComments&&(node.leadingComments?node.leadingComments=Array.concat(this.leadingComments,node.leadingComments):node.leadingComments=this.leadingComments),this.trailingComments&&(node.trailingComments?node.trailingComments=Array.concat(this.trailingComments,node.trailingComments):node.trailingComments=this.trailingComments),node},Node.prototype.includeToken=function(parser){return this.loc&&(this.loc.end&&(this.loc.end.line=parser.lexer.yylloc.last_line,this.loc.end.column=parser.lexer.yylloc.last_column,this.loc.end.offset=parser.lexer.offset),parser.ast.withSource&&(this.loc.source=parser.lexer._input.substring(this.loc.start.offset,parser.lexer.offset))),this},Node.extends=function(type,constructor){return constructor.prototype=Object.create(this.prototype),constructor.extends=this.extends,(constructor.prototype.constructor=constructor).kind=type,constructor},module.exports=Node},function(module,exports,__webpack_require__){"use strict";var Expression=__webpack_require__(1);module.exports=Expression.extends("literal",function(kind,value,raw,docs,location){Expression.apply(this,[kind||"literal",docs,location]),this.value=value,raw&&(this.raw=raw)})},function(module,exports,__webpack_require__){"use strict";var Expr=__webpack_require__(1);module.exports=Expr.extends("operation",function(kind,docs,location){Expr.apply(this,[kind||"operation",docs,location])})},function(module,exports,__webpack_require__){"use strict";var Statement=__webpack_require__(0),Declaration=Statement.extends("declaration",function(kind,name,docs,location){Statement.apply(this,[kind||"declaration",docs,location]),this.name=name});Declaration.prototype.parseFlags=function(flags){this.isAbstract=1===flags[2],this.isFinal=2===flags[2],"class"!==this.kind&&(-1===flags[0]?this.visibility="":null===flags[0]?this.visibility=null:0===flags[0]?this.visibility="public":1===flags[0]?this.visibility="protected":2===flags[0]&&(this.visibility="private"),this.isStatic=1===flags[1])},module.exports=Declaration},function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2),Reference=Node.extends("reference",function(kind,docs,location){Node.apply(this,[kind||"reference",docs,location])});module.exports=Reference},function(module,exports,__webpack_require__){"use strict";var Statement=__webpack_require__(0);module.exports=Statement.extends("block",function(kind,children,docs,location){Statement.apply(this,[kind||"block",docs,location]),this.children=children.filter(Boolean)})},function(module,exports,__webpack_require__){"use strict";var Expr=__webpack_require__(1);module.exports=Expr.extends("lookup",function(kind,what,offset,docs,location){Expr.apply(this,[kind||"lookup",docs,location]),this.what=what,this.offset=offset})},function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2);module.exports=Node.extends("comment",function(kind,value,docs,location){Node.apply(this,[kind,docs,location]),this.value=value})},function(module,exports,__webpack_require__){"use strict";var Statement=__webpack_require__(0),KIND="constantstatement";module.exports=Statement.extends(KIND,function(kind,constants,docs,location){Statement.apply(this,[kind||KIND,docs,location]),this.constants=constants})},function(module,exports,__webpack_require__){"use strict";var Declaration=__webpack_require__(5);module.exports=Declaration.extends("function",function(name,args,byref,type,nullable,docs,location){Declaration.apply(this,["function",name,docs,location]),this.arguments=args,this.byref=byref,this.type=type,this.nullable=nullable,this.body=null})},function(module,exports,__webpack_require__){"use strict";(function(Buffer){ +!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory():"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?exports.PhpParser=factory():root.PhpParser=factory()}(window,function(){return(modules=[function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2);module.exports=Node.extends("statement",function(kind,docs,location){Node.apply(this,[kind||"statement",docs,location])})},function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2);module.exports=Node.extends("expression",function(kind,docs,location){Node.apply(this,[kind||"expression",docs,location])})},function(module,exports,__webpack_require__){"use strict";var Node=function(kind,docs,location){this.kind=kind,docs&&(this.leadingComments=docs),location&&(this.loc=location)};Node.prototype.setTrailingComments=function(docs){this.trailingComments=docs},Node.prototype.destroy=function(node){if(!node)throw new Error("Node already initialized, you must swap with another node");return this.leadingComments&&(node.leadingComments?node.leadingComments=Array.concat(this.leadingComments,node.leadingComments):node.leadingComments=this.leadingComments),this.trailingComments&&(node.trailingComments?node.trailingComments=Array.concat(this.trailingComments,node.trailingComments):node.trailingComments=this.trailingComments),node},Node.prototype.includeToken=function(parser){return this.loc&&(this.loc.end&&(this.loc.end.line=parser.lexer.yylloc.last_line,this.loc.end.column=parser.lexer.yylloc.last_column,this.loc.end.offset=parser.lexer.offset),parser.ast.withSource&&(this.loc.source=parser.lexer._input.substring(this.loc.start.offset,parser.lexer.offset))),this},Node.extends=function(type,constructor){return constructor.prototype=Object.create(this.prototype),constructor.extends=this.extends,(constructor.prototype.constructor=constructor).kind=type,constructor},module.exports=Node},function(module,exports,__webpack_require__){"use strict";var Expression=__webpack_require__(1);module.exports=Expression.extends("literal",function(kind,value,raw,docs,location){Expression.apply(this,[kind||"literal",docs,location]),this.value=value,raw&&(this.raw=raw)})},function(module,exports,__webpack_require__){"use strict";var Expr=__webpack_require__(1);module.exports=Expr.extends("operation",function(kind,docs,location){Expr.apply(this,[kind||"operation",docs,location])})},function(module,exports,__webpack_require__){"use strict";var Statement=__webpack_require__(0),Declaration=Statement.extends("declaration",function(kind,name,docs,location){Statement.apply(this,[kind||"declaration",docs,location]),this.name=name});Declaration.prototype.parseFlags=function(flags){this.isAbstract=1===flags[2],this.isFinal=2===flags[2],"class"!==this.kind&&(-1===flags[0]?this.visibility="":null===flags[0]?this.visibility=null:0===flags[0]?this.visibility="public":1===flags[0]?this.visibility="protected":2===flags[0]&&(this.visibility="private"),this.isStatic=1===flags[1])},module.exports=Declaration},function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2),Reference=Node.extends("reference",function(kind,docs,location){Node.apply(this,[kind||"reference",docs,location])});module.exports=Reference},function(module,exports,__webpack_require__){"use strict";var Statement=__webpack_require__(0);module.exports=Statement.extends("block",function(kind,children,docs,location){Statement.apply(this,[kind||"block",docs,location]),this.children=children.filter(Boolean)})},function(module,exports,__webpack_require__){"use strict";var Expr=__webpack_require__(1);module.exports=Expr.extends("lookup",function(kind,what,offset,docs,location){Expr.apply(this,[kind||"lookup",docs,location]),this.what=what,this.offset=offset})},function(module,exports,__webpack_require__){"use strict";var Node=__webpack_require__(2);module.exports=Node.extends("comment",function(kind,value,docs,location){Node.apply(this,[kind,docs,location]),this.value=value})},function(module,exports,__webpack_require__){"use strict";var Statement=__webpack_require__(0),KIND="constantstatement";module.exports=Statement.extends(KIND,function(kind,constants,docs,location){Statement.apply(this,[kind||KIND,docs,location]),this.constants=constants})},function(module,exports,__webpack_require__){"use strict";var Declaration=__webpack_require__(5);module.exports=Declaration.extends("function",function(name,args,byref,type,nullable,docs,location){Declaration.apply(this,["function",name,docs,location]),this.arguments=args,this.byref=byref,this.type=type,this.nullable=nullable,this.body=null})},function(module,exports,__webpack_require__){"use strict";(function(Buffer){ /*! * Copyright (C) 2018 Glayzzle (BSD3 License) * @authors https://github.com/glayzzle/php-parser/graphs/contributors @@ -20,4 +20,4 @@ function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof * @author Feross Aboukhadijeh * @license MIT */ -var base64=__webpack_require__(15),ieee754=__webpack_require__(16),isArray=__webpack_require__(17);function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|length}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(string)||string instanceof ArrayBuffer))return string.byteLength;"string"!=typeof string&&(string=""+string);var len=string.length;if(0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":case void 0:return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*len;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if("string"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):2147483647=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if("string"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if("number"==typeof val)return val&=255,Buffer.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var i,indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&("ucs2"===(encoding=String(encoding).toLowerCase())||"ucs-2"===encoding||"utf16le"===encoding||"utf-16le"===encoding)){if(arr.length<2||val.length<2)return-1;arrLength/=indexSize=2,valLength/=2,byteOffset/=2}function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}if(dir){var foundIndex=-1;for(i=byteOffset;i>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return function(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);var res="",i=0;for(;ithis.length)return"";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return"";if((end>>>=0)<=(start>>>=0))return"";for(encoding||(encoding="utf8");;)switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase(),loweredCase=!0}}.apply(this,arguments)},Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str="",max=exports.INSPECT_MAX_BYTES;return 0max&&(str+=" ... ")),""},Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target))throw new TypeError("Argument must be a Buffer");if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError("out of range index");if(thisEnd<=thisStart&&end<=start)return 0;if(thisEnd<=thisStart)return-1;if(end<=start)return 1;if(this===target)return 0;for(var x=(thisEnd>>>=0)-(thisStart>>>=0),y=(end>>>=0)-(start>>>=0),len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;ithis.length)throw new RangeError("Attempt to write outside buffer bounds");encoding||(encoding="utf8");for(var loweredCase=!1;;)switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;ibuf.length)throw new RangeError("Index out of range")}function objectWriteUInt16(buf,value,offset,littleEndian){value<0&&(value=65535+value+1);for(var i=0,j=Math.min(buf.length-offset,2);i>>8*(littleEndian?i:1-i)}function objectWriteUInt32(buf,value,offset,littleEndian){value<0&&(value=4294967295+value+1);for(var i=0,j=Math.min(buf.length-offset,4);i>>8*(littleEndian?i:3-i)&255}function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,0,offset,4),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,0,offset,8),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.slice=function(start,end){var newBuf,len=this.length;if((start=~~start)<0?(start+=len)<0&&(start=0):len>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;0<=--i&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(start||(start=0),end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart||(targetStart=0),0=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");end>this.length&&(end=this.length),target.length-targetStart>>=0,end=void 0===end?this.length:end>>>0,val||(val=0),"number"==typeof val)for(i=start;i>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error("Invalid code point");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function base64ToBytes(str){return base64.toByteArray(function(str){if((str=function(str){return str.trim?str.trim():str.replace(/^\s+|\s+$/g,"")}(str).replace(INVALID_BASE64_RE,"")).length<2)return"";for(;str.length%4!=0;)str+="=";return str}(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}}).call(this,__webpack_require__(14))},function(module,exports){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(e){"object"==typeof window&&(g=window)}module.exports=g},function(module,exports,__webpack_require__){"use strict";exports.byteLength=function(b64){var lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1];return 3*(validLen+placeHoldersLen)/4-placeHoldersLen},exports.toByteArray=function(b64){for(var tmp,lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1],arr=new Arr(function(b64,validLen,placeHoldersLen){return 3*(validLen+placeHoldersLen)/4-placeHoldersLen}(0,validLen,placeHoldersLen)),curByte=0,len=0>16&255,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp;2===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4,arr[curByte++]=255&tmp);1===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp);return arr},exports.fromByteArray=function(uint8){for(var tmp,len=uint8.length,extraBytes=len%3,parts=[],i=0,len2=len-extraBytes;i>2]+lookup[tmp<<4&63]+"==")):2===extraBytes&&(tmp=(uint8[len-2]<<8)+uint8[len-1],parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"="));return parts.join("")};for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[63&num]);return output.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63},function(module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;0>=-nBits,nBits+=mLen;0>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||value===1/0?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),2<=(value+=1<=e+eBias?rt/c:rt*Math.pow(2,1-eBias))*c&&(e++,c/=2),eMax<=e+eBias?(m=0,e=eMax):1<=e+eBias?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));8<=mLen;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<=this.size,!this.all_tokens&&this.mode_eval?(this.conditionStack=["INITIAL"],this.begin("ST_IN_SCRIPTING")):(this.conditionStack=[],this.begin("INITIAL")),this},lexer.prototype.input=function(){var ch=this._input[this.offset];return ch?(this.yytext+=ch,this.offset++,"\r"===ch&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++),"\n"===ch||"\r"===ch?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++,ch):""},lexer.prototype.unput=function(size){if(1===size)this.offset--,"\n"===this._input[this.offset]&&"\r"===this._input[this.offset-1]&&(this.offset--,size++),"\r"===this._input[this.offset]||"\n"===this._input[this.offset]?(this.yylloc.last_line--,this.yylineno--,this.yylloc.last_column=this.yyprevcol):this.yylloc.last_column--,this.yytext=this.yytext.substring(0,this.yytext.length-size);else if(0=this.size&&0===this.tokens.length&&(this.done=!0),this.debug){var tName=token;tName="number"==typeof tName?this.engine.tokens.values[tName]:'"'+tName+'"';var e=new Error(tName+"\tfrom "+this.yylloc.first_line+","+this.yylloc.first_column+"\t - to "+this.yylloc.last_line+","+this.yylloc.last_column+'\t"'+this.yytext+'"');console.error(e.stack)}return token},[__webpack_require__(19),__webpack_require__(20),__webpack_require__(21),__webpack_require__(23),__webpack_require__(24),__webpack_require__(25),__webpack_require__(26),__webpack_require__(27)].forEach(function(ext){for(var k in ext)lexer.prototype[k]=ext[k]}),module.exports=lexer},function(module,exports,__webpack_require__){"use strict";module.exports={T_COMMENT:function(){for(;this.offset"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT;if("%"===ch&&this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT}return this.tok.T_COMMENT},T_DOC_COMMENT:function(){var ch=this.input(),token=this.tok.T_COMMENT;if("*"===ch){if(ch=this.input(),this.is_WHITESPACE()&&(token=this.tok.T_DOC_COMMENT),"/"===ch)return token;this.unput(1)}for(;this.offset"===(ch=this.input()))return this.tok.T_OBJECT_OPERATOR;ch&&this.unput(1)}else{if(this.is_WHITESPACE())return this.tok.T_WHITESPACE;if(this.is_LABEL_START())return this.consume_LABEL(),this.popState(),this.tok.T_STRING}return this.popState(),ch&&this.unput(1),!1},matchST_LOOKING_FOR_VARNAME:function(){var ch=this.input();if(this.popState(),this.begin("ST_IN_SCRIPTING"),this.is_LABEL_START()){if(this.consume_LABEL(),"["===(ch=this.input())||"}"===ch)return this.unput(1),this.tok.T_STRING_VARNAME;this.unput(this.yytext.length)}else ch&&this.unput(1);return!1},matchST_VAR_OFFSET:function(){var ch=this.input();if(this.is_NUM())return this.consume_NUM(),this.tok.T_NUM_STRING;if("]"===ch)return this.popState(),"]";if("$"===ch){if(this.input(),this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_VARIABLE;throw new Error("Unexpected terminal")}if(this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_STRING;if(this.is_WHITESPACE()||"\\"===ch||"'"===ch||"#"===ch)return this.tok.T_ENCAPSED_AND_WHITESPACE;if("["===ch||"{"===ch||"}"===ch||'"'===ch||"`"===ch||this.is_TOKEN())return ch;throw new Error("Unexpected terminal")}}},function(module,exports,__webpack_require__){"use strict";module.exports={matchST_IN_SCRIPTING:function(){var ch=this.input();switch(ch){case" ":case"\t":case"\n":case"\r":case"\r\n":return this.T_WHITESPACE();case"#":return this.T_COMMENT();case"/":return"/"===this._input[this.offset]?this.T_COMMENT():"*"===this._input[this.offset]?(this.input(),this.T_DOC_COMMENT()):this.consume_TOKEN();case"'":return this.T_CONSTANT_ENCAPSED_STRING();case'"':return this.ST_DOUBLE_QUOTES();case"`":return this.begin("ST_BACKQUOTE"),"`";case"?":if(this.aspTagMode||!this.tryMatch(">"))return this.consume_TOKEN();this.input();var nextCH=this._input[this.offset];return"\n"!==nextCH&&"\r"!==nextCH||this.input(),1"===this._input[this.offset]?(this.input(),"\n"!==(ch=this._input[this.offset])&&"\r"!==ch||this.input(),this.aspTagMode=!1,1this.offset-yyoffset+2?(this.appendToken(next,this.offset-yyoffset+2),this.unput(this.offset-yyoffset+2),this.tok.T_ENCAPSED_AND_WHITESPACE):next}}else if("{"===ch){if("$"===(ch=this.input()))return this.begin("ST_IN_SCRIPTING"),2"===this.input())return this.input(),this.is_LABEL_START()&&this.begin("ST_LOOKING_FOR_PROPERTY"),this.unput(3),this.tok.T_VARIABLE;this.unput(2)}else ch&&this.unput(1);return this.tok.T_VARIABLE},matchST_BACKQUOTE:function(){var ch=this.input();if("$"===ch){if("{"===(ch=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START())return this.consume_VARIABLE()}else if("{"===ch){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if("`"===ch)return this.popState(),"`";for(;this.offsetthis.offset-yyoffset+2?(this.appendToken(next,this.offset-yyoffset+2),this.unput(this.offset-yyoffset+2),this.tok.T_ENCAPSED_AND_WHITESPACE):next}continue}if("{"===ch){if("$"===(ch=this.input()))return this.begin("ST_IN_SCRIPTING"),2this.offset-yyoffset+2?(this.appendToken(next,this.offset-yyoffset+2),this.unput(this.offset-yyoffset+2),this.tok.T_ENCAPSED_AND_WHITESPACE):next}ch&&this.unput(1)}else if("{"===ch){if("$"===(ch=this.input()))return this.begin("ST_IN_SCRIPTING"),2"===nchar?(this.begin("ST_LOOKING_FOR_PROPERTY").input(),this.tok.T_OBJECT_OPERATOR):"-"===nchar?(this.input(),this.tok.T_DEC):"="===nchar?(this.input(),this.tok.T_MINUS_EQUAL):"-"},"\\":function(){return this.tok.T_NS_SEPARATOR},"/":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_DIV_EQUAL):"/"},":":function(){return":"===this._input[this.offset]?(this.input(),this.tok.T_DOUBLE_COLON):":"},"(":function(){var initial=this.offset;if(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),this.is_LABEL_START()){var yylen=this.yytext.length;this.consume_LABEL();var castToken=this.yytext.substring(yylen-1).toLowerCase(),castId=this.castKeywords[castToken];if("number"==typeof castId&&(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),")"===this._input[this.offset-1]))return castId}return this.unput(this.offset-initial),"("},"=":function(){var nchar=this._input[this.offset];return">"===nchar?(this.input(),this.tok.T_DOUBLE_ARROW):"="===nchar?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_IDENTICAL):(this.input(),this.tok.T_IS_EQUAL):"="},"+":function(){var nchar=this._input[this.offset];return"+"===nchar?(this.input(),this.tok.T_INC):"="===nchar?(this.input(),this.tok.T_PLUS_EQUAL):"+"},"!":function(){return"="===this._input[this.offset]?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_NOT_IDENTICAL):(this.input(),this.tok.T_IS_NOT_EQUAL):"!"},"?":function(){return this.php7&&"?"===this._input[this.offset]?(this.input(),this.tok.T_COALESCE):"?"},"<":function(){var nchar=this._input[this.offset];return"<"===nchar?"="===(nchar=this._input[this.offset+1])?(this.consume(2),this.tok.T_SL_EQUAL):"<"===nchar&&this.is_HEREDOC()?this.tok.T_START_HEREDOC:(this.input(),this.tok.T_SL):"="===nchar?(this.input(),this.php7&&">"===this._input[this.offset]?(this.input(),this.tok.T_SPACESHIP):this.tok.T_IS_SMALLER_OR_EQUAL):">"===nchar?(this.input(),this.tok.T_IS_NOT_EQUAL):"<"},">":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_IS_GREATER_OR_EQUAL):">"===nchar?"="===(nchar=this._input[this.offset+1])?(this.consume(2),this.tok.T_SR_EQUAL):(this.input(),this.tok.T_SR):">"},"*":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_MUL_EQUAL):"*"===nchar?(this.input(),"="===this._input[this.offset]?(this.input(),this.tok.T_POW_EQUAL):this.tok.T_POW):"*"},".":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_CONCAT_EQUAL):"."===nchar&&"."===this._input[this.offset+1]?(this.consume(2),this.tok.T_ELLIPSIS):"."},"%":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_MOD_EQUAL):"%"},"&":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_AND_EQUAL):"&"===nchar?(this.input(),this.tok.T_BOOLEAN_AND):"&"},"|":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_OR_EQUAL):"|"===nchar?(this.input(),this.tok.T_BOOLEAN_OR):"|"},"^":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_XOR_EQUAL):"^"}}}},function(module,exports,__webpack_require__){"use strict";module.exports={is_NUM:function(){var ch=this._input.charCodeAt(this.offset-1);return 47?@".indexOf(ch)},is_WHITESPACE:function(){var ch=this._input[this.offset-1];return" "===ch||"\t"===ch||"\n"===ch||"\r"===ch},is_TABSPACE:function(){var ch=this._input[this.offset-1];return" "===ch||"\t"===ch},consume_TABSPACE:function(){for(;this.offsetoffset);max++);max>this._docIndex&&(this._lastNode.setTrailingComments(this._docs.slice(this._docIndex,max)),this._docIndex=max)}else this.token===this.EOF&&(self.setTrailingComments(this._docs.slice(this._docIndex)),this._docIndex=this._docs.length);this._lastNode=self}.bind(this),node}return this.ast.prepare(name,null,this)},parser.prototype.expectEndOfStatement=function(node){if(";"===this.token)node&&";"===this.lexer.yytext&&node.includeToken(this);else if(this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF)return this.error(";"),!1;return this.next(),!0};var ignoreStack=["parser.next","parser.node","parser.showlog"];parser.prototype.showlog=function(){for(var line,stack=(new Error).stack.split("\n"),offset=2;offset"+this.lexer.yytext+"< @--\x3e"+line),this},parser.prototype.expect=function(token){if(Array.isArray(token)){if(-1===token.indexOf(this.token))return this.error(token),!1}else if(this.token!=token)return this.error(token),!1;return!0},parser.prototype.text=function(){return this.lexer.yytext},parser.prototype.next=function(){if(";"===this.token&&";"!==this.lexer.yytext||(this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset]),this.lex(),this.debug&&this.showlog(),this.extractDoc)for(;this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT;)this.token===this.tok.T_COMMENT?this._docs.push(this.read_comment()):this._docs.push(this.read_doc_comment());return this},parser.prototype.lex=function(){if(this.extractTokens)do{if(this.token=this.lexer.lex()||this.EOF,this.token===this.EOF)return this;var entry=this.lexer.yytext;if(entry=this.lexer.engine.tokens.values.hasOwnProperty(this.token)?[this.lexer.engine.tokens.values[this.token],entry,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset]:[null,entry,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset],this._tokens.push(entry),this.token===this.tok.T_CLOSE_TAG)return this.token=";",this;if(this.token===this.tok.T_OPEN_TAG_WITH_ECHO)return this.token=this.tok.T_ECHO,this}while(this.token===this.tok.T_WHITESPACE||!this.extractDoc&&(this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT)||this.token===this.tok.T_OPEN_TAG);else this.token=this.lexer.lex()||this.EOF;return this},parser.prototype.is=function(type){return Array.isArray(type)?-1!==type.indexOf(this.token):this.entries[type].has(this.token)},[__webpack_require__(29),__webpack_require__(30),__webpack_require__(31),__webpack_require__(32),__webpack_require__(33),__webpack_require__(34),__webpack_require__(35),__webpack_require__(36),__webpack_require__(37),__webpack_require__(38),__webpack_require__(39),__webpack_require__(40),__webpack_require__(41),__webpack_require__(42),__webpack_require__(43)].forEach(function(ext){for(var k in ext){if(parser.prototype.hasOwnProperty(k))throw new Error("Function "+k+" is already defined - collision");parser.prototype[k]=ext[k]}}),module.exports=parser},function(module,exports,__webpack_require__){"use strict";module.exports={read_array:function(){var expect=null,shortForm=!1,result=this.node("array");expect=this.token===this.tok.T_ARRAY?(this.next().expect("("),")"):(shortForm=!0,"]");var items=[];return this.next().token!==expect&&(items=this.read_array_pair_list(shortForm)),this.expect(expect),this.next(),result(shortForm,items)},read_array_pair_list:function(shortForm){var self=this;return this.read_list(function(){return self.read_array_pair(shortForm)},",",!0)},read_array_pair:function(shortForm){if(","===this.token||!shortForm&&")"===this.token||shortForm&&"]"===this.token)return null;if("&"===this.token)return this.next().read_variable(!0,!1,!0);var entry=this.node("entry"),expr=this.read_expr();return this.token===this.tok.T_DOUBLE_ARROW?"&"===this.next().token?entry(expr,this.next().read_variable(!0,!1,!0)):entry(expr,this.read_expr()):expr},read_dim_offset:function(){return"]"!=this.token&&this.read_expr()}}},function(module,exports,__webpack_require__){"use strict";module.exports={read_class:function(){var result=this.node("class"),flag=this.read_class_scope();if(this.token!==this.tok.T_CLASS)return this.error(this.tok.T_CLASS),this.next(),null;this.next().expect(this.tok.T_STRING);var propName=this.node("identifier"),name=this.text();this.next(),propName=propName(name);var propExtends=null;this.token==this.tok.T_EXTENDS&&(propExtends=this.next().read_namespace_name());var propImplements=null;return this.token==this.tok.T_IMPLEMENTS&&(propImplements=this.next().read_name_list()),this.expect("{"),result(propName,propExtends,propImplements,this.next().read_class_body(),flag)},read_class_scope:function(){var result=this.token;return result==this.tok.T_FINAL?(this.next(),[0,0,2]):result==this.tok.T_ABSTRACT?(this.next(),[0,0,1]):[0,0,0]},read_class_body:function(){for(var result=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT)if(this.token!==this.tok.T_USE){var flags=this.read_member_flags(!1);if(this.token!==this.tok.T_CONST)if(this.token===this.tok.T_VAR&&(this.next().expect(this.tok.T_VARIABLE),flags[0]=null,flags[1]=0),this.token===this.tok.T_VARIABLE){var variables=this.read_variable_list(flags);this.expect(";"),this.next(),result=result.concat(variables)}else this.token===this.tok.T_FUNCTION?result.push(this.read_function(!1,flags)):(this.error([this.tok.T_CONST,this.tok.T_VARIABLE,this.tok.T_FUNCTION]),this.next());else{var constants=this.read_constant_list(flags);this.expect(";")&&this.next(),result=result.concat(constants)}}else result=result.concat(this.read_trait_use_statement());else result.push(this.read_doc_comment());else result.push(this.read_comment());return this.expect("}"),this.next(),result},read_variable_list:function(flags){return this.node("propertystatement")(null,this.read_list(function(){var result=this.node("property");this.expect(this.tok.T_VARIABLE);var propName=this.node("identifier"),name=this.text().substring(1);return this.next(),propName=propName(name),";"===this.token||","===this.token?result(propName,null):"="===this.token?result(propName,this.next().read_expr()):(this.expect([",",";","="]),result(propName,null))},","),flags)},read_constant_list:function(flags){return this.expect(this.tok.T_CONST)&&this.next(),this.node("classconstant")(null,this.read_list(function(){var result=this.node("constant"),constName=null,value=null;if(this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")){constName=this.node("identifier");var name=this.text();this.next(),constName=constName(name)}else this.expect("IDENTIFIER");return this.expect("=")&&(value=this.next().read_expr()),result(constName,value)},","),flags)},read_member_flags:function(asInterface){var result=[-1,-1,-1];if(this.is("T_MEMBER_FLAGS")){var idx=0,val=0;do{switch(this.token){case this.tok.T_PUBLIC:val=idx=0;break;case this.tok.T_PROTECTED:idx=0,val=1;break;case this.tok.T_PRIVATE:idx=0,val=2;break;case this.tok.T_STATIC:val=idx=1;break;case this.tok.T_ABSTRACT:idx=2,val=1;break;case this.tok.T_FINAL:val=idx=2}asInterface&&(0==idx&&2==val?(this.expect([this.tok.T_PUBLIC,this.tok.T_PROTECTED]),val=-1):2==idx&&1==val&&(this.error(),val=-1)),-1!==result[idx]?this.error():-1!==val&&(result[idx]=val)}while(this.next().is("T_MEMBER_FLAGS"))}return-1==result[1]&&(result[1]=0),-1==result[2]&&(result[2]=0),result},read_interface:function(){var result=this.node("interface");if(this.token!==this.tok.T_INTERFACE)return this.error(this.tok.T_INTERFACE),this.next(),null;this.next().expect(this.tok.T_STRING);var propName=this.node("identifier"),name=this.text();this.next(),propName=propName(name);var propExtends=null;return this.token===this.tok.T_EXTENDS&&(propExtends=this.next().read_name_list()),this.expect("{"),result(propName,propExtends,this.next().read_interface_body())},read_interface_body:function(){for(var result=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT){var flags=this.read_member_flags(!0);if(this.token==this.tok.T_CONST){var constants=this.read_constant_list(flags);this.expect(";")&&this.next(),result=result.concat(constants)}else if(this.token===this.tok.T_FUNCTION){var method=this.read_function_declaration(2,flags);method.parseFlags(flags),result.push(method),this.expect(";")&&this.next()}else this.error([this.tok.T_CONST,this.tok.T_FUNCTION]),this.next()}else result.push(this.read_doc_comment());else result.push(this.read_comment());return this.expect("}")&&this.next(),result},read_trait:function(){var result=this.node("trait");if(this.token!==this.tok.T_TRAIT)return this.error(this.tok.T_TRAIT),this.next(),null;this.next().expect(this.tok.T_STRING);var propName=this.node("identifier"),name=this.text();return this.next(),propName=propName(name),this.expect("{"),result(propName,this.next().read_class_body())},read_trait_use_statement:function(){var node=this.node("traituse");this.expect(this.tok.T_USE)&&this.next();for(var traits=[this.read_namespace_name()],adaptations=null;","===this.token;)traits.push(this.next().read_namespace_name());if("{"===this.token){for(adaptations=[];this.next().token!==this.EOF&&"}"!==this.token;)adaptations.push(this.read_trait_use_alias()),this.expect(";");this.expect("}")&&this.next()}else this.expect(";")&&this.next();return node(traits,adaptations)},read_trait_use_alias:function(){var method,node=this.node(),trait=null;if(this.is("IDENTIFIER")){method=this.node("identifier");var methodName=this.text();this.next(),method=method(methodName)}else if(method=this.read_namespace_name(),this.token===this.tok.T_DOUBLE_COLON)if(this.next(),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")){trait=method,method=this.node("identifier");var _methodName=this.text();this.next(),method=method(_methodName)}else this.expect(this.tok.T_STRING);else method=method.name;if(this.token===this.tok.T_INSTEADOF)return node("traitprecedence",trait,method,this.next().read_name_list());if(this.token!==this.tok.T_AS)return this.expect([this.tok.T_AS,this.tok.T_INSTEADOF]),node("traitalias",trait,method,null,null);var flags=null,alias=null;if(this.next().is("T_MEMBER_FLAGS")&&(flags=this.read_member_flags()),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")){alias=this.node("identifier");var name=this.text();this.next(),alias=alias(name)}else!1===flags&&this.expect(this.tok.T_STRING);return node("traitalias",trait,method,alias,flags)}}},function(module,exports,__webpack_require__){"use strict";module.exports={read_comment:function(){var text=this.text(),result=this.ast.prepare("/*"===text.substring(0,2)?"commentblock":"commentline",null,this),offset=this.lexer.yylloc.first_offset,prev=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),(result=result(text)).offset=offset,this.prev=prev,result},read_doc_comment:function(){var result=this.ast.prepare("commentblock",null,this),offset=this.lexer.yylloc.first_offset,text=this.text(),prev=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),(result=result(text)).offset=offset,this.prev=prev,result}}},function(module,exports,__webpack_require__){"use strict";module.exports={read_expr:function(expr){var result=this.node();if(expr||(expr=this.read_expr_item()),"|"===this.token)return result("bin","|",expr,this.next().read_expr());if("&"===this.token)return result("bin","&",expr,this.next().read_expr());if("^"===this.token)return result("bin","^",expr,this.next().read_expr());if("."===this.token)return result("bin",".",expr,this.next().read_expr());if("+"===this.token)return result("bin","+",expr,this.next().read_expr());if("-"===this.token)return result("bin","-",expr,this.next().read_expr());if("*"===this.token)return result("bin","*",expr,this.next().read_expr());if("/"===this.token)return result("bin","/",expr,this.next().read_expr());if("%"===this.token)return result("bin","%",expr,this.next().read_expr());if(this.token===this.tok.T_POW)return result("bin","**",expr,this.next().read_expr());if(this.token===this.tok.T_SL)return result("bin","<<",expr,this.next().read_expr());if(this.token===this.tok.T_SR)return result("bin",">>",expr,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_OR)return result("bin","||",expr,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_OR)return result("bin","or",expr,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_AND)return result("bin","&&",expr,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_AND)return result("bin","and",expr,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_XOR)return result("bin","xor",expr,this.next().read_expr());if(this.token===this.tok.T_IS_IDENTICAL)return result("bin","===",expr,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_IDENTICAL)return result("bin","!==",expr,this.next().read_expr());if(this.token===this.tok.T_IS_EQUAL)return result("bin","==",expr,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_EQUAL)return result("bin","!=",expr,this.next().read_expr());if("<"===this.token)return result("bin","<",expr,this.next().read_expr());if(">"===this.token)return result("bin",">",expr,this.next().read_expr());if(this.token===this.tok.T_IS_SMALLER_OR_EQUAL)return result("bin","<=",expr,this.next().read_expr());if(this.token===this.tok.T_IS_GREATER_OR_EQUAL)return result("bin",">=",expr,this.next().read_expr());if(this.token===this.tok.T_SPACESHIP)return result("bin","<=>",expr,this.next().read_expr());if(this.token===this.tok.T_INSTANCEOF&&(expr=result("bin","instanceof",expr,this.next().read_class_name_reference()),";"!==this.token&&this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF&&(expr=this.read_expr(expr))),this.token===this.tok.T_COALESCE)return result("bin","??",expr,this.next().read_expr());if("?"!==this.token)return result.destroy(expr),expr;var trueArg=null;return":"!==this.next().token&&(trueArg=this.read_expr()),this.expect(":")&&this.next(),result("retif",expr,trueArg,this.read_expr())},read_expr_cast:function(type){return this.node("cast")(type,this.text(),this.next().read_expr())},read_expr_item:function(){var result,expr;if("@"===this.token)return this.node("silent")(this.next().read_expr());if("+"===this.token)return this.node("unary")("+",this.next().read_expr());if("-"===this.token)return this.node("unary")("-",this.next().read_expr());if("!"===this.token)return this.node("unary")("!",this.next().read_expr());if("~"===this.token)return this.node("unary")("~",this.next().read_expr());if("("===this.token)return(expr=this.next().read_expr()).parenthesizedExpression=!0,this.expect(")")&&this.next(),this.handleDereferencable(expr);if("`"===this.token)return this.read_encapsed_string("`");if(this.token===this.tok.T_LIST){var assign=null,isInner=this.innerList;result=this.node("list"),isInner||(assign=this.node("assign")),this.next().expect("(")&&this.next(),this.innerList||(this.innerList=!0);var assignList=this.read_array_pair_list(!1);this.expect(")")&&this.next();for(var hasItem=!1,i=0;i>=");case this.tok.T_INC:return isConst&&this.error("VARIABLE"),this.next(),result("post","+",expr);case this.tok.T_DEC:return isConst&&this.error("VARIABLE"),this.next(),result("post","-",expr);default:result.destroy(expr)}}else{if(this.is("SCALAR")){if(result=this.node(),"array"===(expr=this.read_scalar()).kind&&expr.shortForm&&"="===this.token){var list=this.node("list")(expr.items,!0);return expr.loc&&(list.loc=expr.loc),result("assign",list,this.next().read_expr(),"=")}return result.destroy(expr),this.handleDereferencable(expr)}this.error("EXPR"),this.next()}return expr},read_new_expr:function(){var result=this.node("new");this.expect(this.tok.T_NEW)&&this.next();var args=[];if(this.token===this.tok.T_CLASS){var what=this.node("class"),propExtends=null,propImplements=null,body=null;return"("===this.next().token&&(args=this.read_function_argument_list()),this.token==this.tok.T_EXTENDS&&(propExtends=this.next().read_namespace_name()),this.token==this.tok.T_IMPLEMENTS&&(propImplements=this.next().read_name_list()),this.expect("{")&&(body=this.next().read_class_body()),result(what(null,propExtends,propImplements,body,[0,0,0]),args)}var name=this.read_new_class_name();return"("===this.token&&(args=this.read_function_argument_list()),result(name,args)},read_new_class_name:function(){if(this.token===this.tok.T_NS_SEPARATOR||this.token===this.tok.T_STRING||this.token===this.tok.T_NAMESPACE){var result=this.read_namespace_name(!0);return this.token===this.tok.T_DOUBLE_COLON&&(result=this.read_static_getter(result)),result}if(this.is("VARIABLE"))return this.read_variable(!0,!1,!1);this.expect([this.tok.T_STRING,"VARIABLE"])},handleDereferencable:function(expr){for(;this.token!==this.EOF;)if(this.token===this.tok.T_OBJECT_OPERATOR||this.token===this.tok.T_DOUBLE_COLON)expr=this.recursive_variable_chain_scan(expr,!1,!1,!0);else if(this.token===this.tok.T_CURLY_OPEN||"["===this.token)expr=this.read_dereferencable(expr);else{if("("!==this.token)return expr;expr=this.node("call")(expr,this.read_function_argument_list())}return expr}}},function(module,exports,__webpack_require__){"use strict";module.exports={is_reference:function(){return"&"==this.token&&(this.next(),!0)},is_variadic:function(){return this.token===this.tok.T_ELLIPSIS&&(this.next(),!0)},read_function:function(closure,flag){var result=this.read_function_declaration(closure?1:flag?2:0,flag&&1===flag[1]);return flag&&1==flag[2]?(result.parseFlags(flag),this.expect(";")&&this.next()):(this.expect("{")&&(result.body=this.read_code_block(!1),result.loc&&result.body.loc&&(result.loc.end=result.body.loc.end)),!closure&&flag&&result.parseFlags(flag)),result},read_function_declaration:function(type,isStatic){var nodeName="function";1===type?nodeName="closure":2===type&&(nodeName="method");var result=this.node(nodeName);this.expect(this.tok.T_FUNCTION)&&this.next();var isRef=this.is_reference(),name=!1,use=[],returnType=null,nullable=!1;if(1!==type){var nameNode=this.node("identifier");2===type?this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")?(name=this.text(),this.next()):this.error("IDENTIFIER"):(this.expect(this.tok.T_STRING)&&(name=this.text()),this.next()),name=nameNode(name)}this.expect("(")&&this.next();var params=this.read_parameter_list();return this.expect(")")&&this.next(),1===type&&this.token===this.tok.T_USE&&(this.next().expect("(")&&this.next(),use=this.read_list(this.read_lexical_var,","),this.expect(")")&&this.next()),":"===this.token&&("?"===this.next().token&&(nullable=!0,this.next()),returnType=this.read_type()),1===type?result(params,isRef,use,returnType,nullable,isStatic):result(name,params,isRef,returnType,nullable)},read_lexical_var:function(){var result=this.node("variable"),isRef=!1;"&"===this.token&&(isRef=!0,this.next()),this.expect(this.tok.T_VARIABLE);var name=this.text().substring(1);return this.next(),result(name,isRef,!1)},read_parameter_list:function(){var result=[];if(")"!=this.token)for(;this.token!=this.EOF;){if(result.push(this.read_parameter()),","!=this.token){if(")"==this.token)break;this.error([",",")"]);break}this.next()}return result},read_parameter:function(){var type,node=this.node("parameter"),parameterName=null,value=null,nullable=!1;"?"===this.token&&(this.next(),nullable=!0),type=this.read_type(),nullable&&!type&&this.raiseError("Expecting a type definition combined with nullable operator");var isRef=this.is_reference(),isVariadic=this.is_variadic();if(this.expect(this.tok.T_VARIABLE)){parameterName=this.node("identifier");var name=this.text().substring(1);this.next(),parameterName=parameterName(name)}return"="==this.token&&(value=this.next().read_expr()),node(parameterName,type,value,isRef,isVariadic,nullable)},read_function_argument_list:function(){var result=[],wasVariadic=!1;if(this.expect("(")&&this.next(),")"!==this.token)for(;this.token!=this.EOF;){var argument=this.read_argument_list();if(argument&&(result.push(argument),"variadic"===argument.kind?wasVariadic=!0:wasVariadic&&this.raiseError("Unexpected argument after a variadic argument")),","!==this.token)break;this.next()}return this.expect(")")&&this.next(),result},read_argument_list:function(){return this.token===this.tok.T_ELLIPSIS?this.node("variadic")(this.next().read_expr()):this.read_expr()},read_type:function(){var result=this.node();if(this.token===this.tok.T_ARRAY||this.token===this.tok.T_CALLABLE){var type=this.text();return this.next(),result("typereference",type.toLowerCase(),type)}if(this.token!==this.tok.T_STRING)return this.token===this.tok.T_NAMESPACE||this.token===this.tok.T_NS_SEPARATOR?this.read_namespace_name():null;var _type=this.text(),backup=[this.token,this.lexer.getState()];return this.next(),this.token!==this.tok.T_NS_SEPARATOR&&-1"],["<","<=",">",">="],["<<",">>"],["+","-","."],["*","/","%"],["!"],["instanceof"],["cast"]].forEach(function(list,index){list.forEach(function(operator){AST.precedence[operator]=index+1})}),AST.prototype.swapLocations=function(target,first,last,parser){this.withPositions&&(target.loc.start=first.loc.start,target.loc.end=last.loc.end,this.withSource&&(target.loc.source=parser.lexer._input.substring(target.loc.start.offset,target.loc.end.offset)))},AST.prototype.resolveLocations=function(target,first,last,parser){this.withPositions&&(target.loc.start.offset>first.loc.start.offset&&(target.loc.start=first.loc.start),target.loc.end.offset=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|length}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(string)||string instanceof ArrayBuffer))return string.byteLength;"string"!=typeof string&&(string=""+string);var len=string.length;if(0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":case void 0:return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*len;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if("string"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):2147483647=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if("string"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if("number"==typeof val)return val&=255,Buffer.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var i,indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&("ucs2"===(encoding=String(encoding).toLowerCase())||"ucs-2"===encoding||"utf16le"===encoding||"utf-16le"===encoding)){if(arr.length<2||val.length<2)return-1;arrLength/=indexSize=2,valLength/=2,byteOffset/=2}function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}if(dir){var foundIndex=-1;for(i=byteOffset;i>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return function(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);var res="",i=0;for(;ithis.length)return"";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return"";if((end>>>=0)<=(start>>>=0))return"";for(encoding||(encoding="utf8");;)switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase(),loweredCase=!0}}.apply(this,arguments)},Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str="",max=exports.INSPECT_MAX_BYTES;return 0max&&(str+=" ... ")),""},Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target))throw new TypeError("Argument must be a Buffer");if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError("out of range index");if(thisEnd<=thisStart&&end<=start)return 0;if(thisEnd<=thisStart)return-1;if(end<=start)return 1;if(this===target)return 0;for(var x=(thisEnd>>>=0)-(thisStart>>>=0),y=(end>>>=0)-(start>>>=0),len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;ithis.length)throw new RangeError("Attempt to write outside buffer bounds");encoding||(encoding="utf8");for(var loweredCase=!1;;)switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;ibuf.length)throw new RangeError("Index out of range")}function objectWriteUInt16(buf,value,offset,littleEndian){value<0&&(value=65535+value+1);for(var i=0,j=Math.min(buf.length-offset,2);i>>8*(littleEndian?i:1-i)}function objectWriteUInt32(buf,value,offset,littleEndian){value<0&&(value=4294967295+value+1);for(var i=0,j=Math.min(buf.length-offset,4);i>>8*(littleEndian?i:3-i)&255}function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,0,offset,4),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,0,offset,8),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.slice=function(start,end){var newBuf,len=this.length;if((start=~~start)<0?(start+=len)<0&&(start=0):len>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset|=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;0<=--i&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset|=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(start||(start=0),end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart||(targetStart=0),0=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");end>this.length&&(end=this.length),target.length-targetStart>>=0,end=void 0===end?this.length:end>>>0,val||(val=0),"number"==typeof val)for(i=start;i>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error("Invalid code point");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function base64ToBytes(str){return base64.toByteArray(function(str){if((str=function(str){return str.trim?str.trim():str.replace(/^\s+|\s+$/g,"")}(str).replace(INVALID_BASE64_RE,"")).length<2)return"";for(;str.length%4!=0;)str+="=";return str}(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}}).call(this,__webpack_require__(14))},function(module,exports){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(e){"object"==typeof window&&(g=window)}module.exports=g},function(module,exports,__webpack_require__){"use strict";exports.byteLength=function(b64){var lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1];return 3*(validLen+placeHoldersLen)/4-placeHoldersLen},exports.toByteArray=function(b64){for(var tmp,lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1],arr=new Arr(function(b64,validLen,placeHoldersLen){return 3*(validLen+placeHoldersLen)/4-placeHoldersLen}(0,validLen,placeHoldersLen)),curByte=0,len=0>16&255,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp;2===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4,arr[curByte++]=255&tmp);1===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp);return arr},exports.fromByteArray=function(uint8){for(var tmp,len=uint8.length,extraBytes=len%3,parts=[],i=0,len2=len-extraBytes;i>2]+lookup[tmp<<4&63]+"==")):2==extraBytes&&(tmp=(uint8[len-2]<<8)+uint8[len-1],parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"="));return parts.join("")};for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[63&num]);return output.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63},function(module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;0>=-nBits,nBits+=mLen;0>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||value===1/0?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),2<=(value+=1<=e+eBias?rt/c:rt*Math.pow(2,1-eBias))*c&&(e++,c/=2),eMax<=e+eBias?(m=0,e=eMax):1<=e+eBias?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));8<=mLen;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<=this.size,!this.all_tokens&&this.mode_eval?(this.conditionStack=["INITIAL"],this.begin("ST_IN_SCRIPTING")):(this.conditionStack=[],this.begin("INITIAL")),this},lexer.prototype.input=function(){var ch=this._input[this.offset];return ch?(this.yytext+=ch,this.offset++,"\r"===ch&&"\n"===this._input[this.offset]&&(this.yytext+="\n",this.offset++),"\n"===ch||"\r"===ch?(this.yylloc.last_line=++this.yylineno,this.yyprevcol=this.yylloc.last_column,this.yylloc.last_column=0):this.yylloc.last_column++,ch):""},lexer.prototype.unput=function(size){if(1===size)this.offset--,"\n"===this._input[this.offset]&&"\r"===this._input[this.offset-1]&&(this.offset--,size++),"\r"===this._input[this.offset]||"\n"===this._input[this.offset]?(this.yylloc.last_line--,this.yylineno--,this.yylloc.last_column=this.yyprevcol):this.yylloc.last_column--,this.yytext=this.yytext.substring(0,this.yytext.length-size);else if(0=this.size&&0===this.tokens.length&&(this.done=!0),this.debug){var tName=token;tName="number"==typeof tName?this.engine.tokens.values[tName]:'"'+tName+'"';var e=new Error(tName+"\tfrom "+this.yylloc.first_line+","+this.yylloc.first_column+"\t - to "+this.yylloc.last_line+","+this.yylloc.last_column+'\t"'+this.yytext+'"');console.error(e.stack)}return token},[__webpack_require__(19),__webpack_require__(20),__webpack_require__(21),__webpack_require__(23),__webpack_require__(24),__webpack_require__(25),__webpack_require__(26),__webpack_require__(27)].forEach(function(ext){for(var k in ext)lexer.prototype[k]=ext[k]}),module.exports=lexer},function(module,exports,__webpack_require__){"use strict";module.exports={T_COMMENT:function(){for(;this.offset"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT;if("%"===ch&&this.aspTagMode&&">"===this._input[this.offset])return this.unput(1),this.tok.T_COMMENT}return this.tok.T_COMMENT},T_DOC_COMMENT:function(){var ch=this.input(),token=this.tok.T_COMMENT;if("*"===ch){if(ch=this.input(),this.is_WHITESPACE()&&(token=this.tok.T_DOC_COMMENT),"/"===ch)return token;this.unput(1)}for(;this.offset"===(ch=this.input()))return this.tok.T_OBJECT_OPERATOR;ch&&this.unput(1)}else{if(this.is_WHITESPACE())return this.tok.T_WHITESPACE;if(this.is_LABEL_START())return this.consume_LABEL(),this.popState(),this.tok.T_STRING}return this.popState(),ch&&this.unput(1),!1},matchST_LOOKING_FOR_VARNAME:function(){var ch=this.input();if(this.popState(),this.begin("ST_IN_SCRIPTING"),this.is_LABEL_START()){if(this.consume_LABEL(),"["===(ch=this.input())||"}"===ch)return this.unput(1),this.tok.T_STRING_VARNAME;this.unput(this.yytext.length)}else ch&&this.unput(1);return!1},matchST_VAR_OFFSET:function(){var ch=this.input();if(this.is_NUM())return this.consume_NUM(),this.tok.T_NUM_STRING;if("]"===ch)return this.popState(),"]";if("$"===ch){if(this.input(),this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_VARIABLE;throw new Error("Unexpected terminal")}if(this.is_LABEL_START())return this.consume_LABEL(),this.tok.T_STRING;if(this.is_WHITESPACE()||"\\"===ch||"'"===ch||"#"===ch)return this.tok.T_ENCAPSED_AND_WHITESPACE;if("["===ch||"{"===ch||"}"===ch||'"'===ch||"`"===ch||this.is_TOKEN())return ch;throw new Error("Unexpected terminal")}}},function(module,exports,__webpack_require__){"use strict";module.exports={matchST_IN_SCRIPTING:function(){var ch=this.input();switch(ch){case" ":case"\t":case"\n":case"\r":case"\r\n":return this.T_WHITESPACE();case"#":return this.T_COMMENT();case"/":return"/"===this._input[this.offset]?this.T_COMMENT():"*"===this._input[this.offset]?(this.input(),this.T_DOC_COMMENT()):this.consume_TOKEN();case"'":return this.T_CONSTANT_ENCAPSED_STRING();case'"':return this.ST_DOUBLE_QUOTES();case"`":return this.begin("ST_BACKQUOTE"),"`";case"?":if(this.aspTagMode||!this.tryMatch(">"))return this.consume_TOKEN();this.input();var nextCH=this._input[this.offset];return"\n"!==nextCH&&"\r"!==nextCH||this.input(),1"===this._input[this.offset]?(this.input(),"\n"!==(ch=this._input[this.offset])&&"\r"!==ch||this.input(),this.aspTagMode=!1,1this.offset-yyoffset+2?(this.appendToken(next,this.offset-yyoffset+2),this.unput(this.offset-yyoffset+2),this.tok.T_ENCAPSED_AND_WHITESPACE):next}}else if("{"===ch){if("$"===(ch=this.input()))return this.begin("ST_IN_SCRIPTING"),2"===this.input())return this.input(),this.is_LABEL_START()&&this.begin("ST_LOOKING_FOR_PROPERTY"),this.unput(3),this.tok.T_VARIABLE;this.unput(2)}else ch&&this.unput(1);return this.tok.T_VARIABLE},matchST_BACKQUOTE:function(){var ch=this.input();if("$"===ch){if("{"===(ch=this.input()))return this.begin("ST_LOOKING_FOR_VARNAME"),this.tok.T_DOLLAR_OPEN_CURLY_BRACES;if(this.is_LABEL_START())return this.consume_VARIABLE()}else if("{"===ch){if("$"===this._input[this.offset])return this.begin("ST_IN_SCRIPTING"),this.tok.T_CURLY_OPEN}else if("`"===ch)return this.popState(),"`";for(;this.offsetthis.offset-yyoffset+2?(this.appendToken(next,this.offset-yyoffset+2),this.unput(this.offset-yyoffset+2),this.tok.T_ENCAPSED_AND_WHITESPACE):next}continue}if("{"===ch){if("$"===(ch=this.input()))return this.begin("ST_IN_SCRIPTING"),2this.offset-yyoffset+2?(this.appendToken(next,this.offset-yyoffset+2),this.unput(this.offset-yyoffset+2),this.tok.T_ENCAPSED_AND_WHITESPACE):next}ch&&this.unput(1)}else if("{"===ch){if("$"===(ch=this.input()))return this.begin("ST_IN_SCRIPTING"),2"===nchar?(this.begin("ST_LOOKING_FOR_PROPERTY").input(),this.tok.T_OBJECT_OPERATOR):"-"===nchar?(this.input(),this.tok.T_DEC):"="===nchar?(this.input(),this.tok.T_MINUS_EQUAL):"-"},"\\":function(){return this.tok.T_NS_SEPARATOR},"/":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_DIV_EQUAL):"/"},":":function(){return":"===this._input[this.offset]?(this.input(),this.tok.T_DOUBLE_COLON):":"},"(":function(){var initial=this.offset;if(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),this.is_LABEL_START()){var yylen=this.yytext.length;this.consume_LABEL();var castToken=this.yytext.substring(yylen-1).toLowerCase(),castId=this.castKeywords[castToken];if("number"==typeof castId&&(this.input(),this.is_TABSPACE()&&this.consume_TABSPACE().input(),")"===this._input[this.offset-1]))return castId}return this.unput(this.offset-initial),"("},"=":function(){var nchar=this._input[this.offset];return">"===nchar?(this.input(),this.tok.T_DOUBLE_ARROW):"="===nchar?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_IDENTICAL):(this.input(),this.tok.T_IS_EQUAL):"="},"+":function(){var nchar=this._input[this.offset];return"+"===nchar?(this.input(),this.tok.T_INC):"="===nchar?(this.input(),this.tok.T_PLUS_EQUAL):"+"},"!":function(){return"="===this._input[this.offset]?"="===this._input[this.offset+1]?(this.consume(2),this.tok.T_IS_NOT_IDENTICAL):(this.input(),this.tok.T_IS_NOT_EQUAL):"!"},"?":function(){return this.php7&&"?"===this._input[this.offset]?(this.input(),this.tok.T_COALESCE):"?"},"<":function(){var nchar=this._input[this.offset];return"<"===nchar?"="===(nchar=this._input[this.offset+1])?(this.consume(2),this.tok.T_SL_EQUAL):"<"===nchar&&this.is_HEREDOC()?this.tok.T_START_HEREDOC:(this.input(),this.tok.T_SL):"="===nchar?(this.input(),this.php7&&">"===this._input[this.offset]?(this.input(),this.tok.T_SPACESHIP):this.tok.T_IS_SMALLER_OR_EQUAL):">"===nchar?(this.input(),this.tok.T_IS_NOT_EQUAL):"<"},">":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_IS_GREATER_OR_EQUAL):">"===nchar?"="===(nchar=this._input[this.offset+1])?(this.consume(2),this.tok.T_SR_EQUAL):(this.input(),this.tok.T_SR):">"},"*":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_MUL_EQUAL):"*"===nchar?(this.input(),"="===this._input[this.offset]?(this.input(),this.tok.T_POW_EQUAL):this.tok.T_POW):"*"},".":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_CONCAT_EQUAL):"."===nchar&&"."===this._input[this.offset+1]?(this.consume(2),this.tok.T_ELLIPSIS):"."},"%":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_MOD_EQUAL):"%"},"&":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_AND_EQUAL):"&"===nchar?(this.input(),this.tok.T_BOOLEAN_AND):"&"},"|":function(){var nchar=this._input[this.offset];return"="===nchar?(this.input(),this.tok.T_OR_EQUAL):"|"===nchar?(this.input(),this.tok.T_BOOLEAN_OR):"|"},"^":function(){return"="===this._input[this.offset]?(this.input(),this.tok.T_XOR_EQUAL):"^"}}}},function(module,exports,__webpack_require__){"use strict";module.exports={is_NUM:function(){var ch=this._input.charCodeAt(this.offset-1);return 47?@".indexOf(ch)},is_WHITESPACE:function(){var ch=this._input[this.offset-1];return" "===ch||"\t"===ch||"\n"===ch||"\r"===ch},is_TABSPACE:function(){var ch=this._input[this.offset-1];return" "===ch||"\t"===ch},consume_TABSPACE:function(){for(;this.offsetoffset);max++);max>this._docIndex&&(this._lastNode.setTrailingComments(this._docs.slice(this._docIndex,max)),this._docIndex=max)}else this.token===this.EOF&&(self.setTrailingComments(this._docs.slice(this._docIndex)),this._docIndex=this._docs.length);this._lastNode=self}.bind(this),node}return this.ast.prepare(name,null,this)},parser.prototype.expectEndOfStatement=function(node){if(";"===this.token)node&&";"===this.lexer.yytext&&node.includeToken(this);else if(this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF)return this.error(";"),!1;return this.next(),!0};var ignoreStack=["parser.next","parser.node","parser.showlog"];parser.prototype.showlog=function(){for(var line,stack=(new Error).stack.split("\n"),offset=2;offset"+this.lexer.yytext+"< @--\x3e"+line),this},parser.prototype.expect=function(token){if(Array.isArray(token)){if(-1===token.indexOf(this.token))return this.error(token),!1}else if(this.token!=token)return this.error(token),!1;return!0},parser.prototype.text=function(){return this.lexer.yytext},parser.prototype.next=function(){if(";"===this.token&&";"!==this.lexer.yytext||(this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset]),this.lex(),this.debug&&this.showlog(),this.extractDoc)for(;this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT;)this.token===this.tok.T_COMMENT?this._docs.push(this.read_comment()):this._docs.push(this.read_doc_comment());return this},parser.prototype.lex=function(){if(this.extractTokens)do{if(this.token=this.lexer.lex()||this.EOF,this.token===this.EOF)return this;var entry=this.lexer.yytext;if(entry=this.lexer.engine.tokens.values.hasOwnProperty(this.token)?[this.lexer.engine.tokens.values[this.token],entry,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset]:[null,entry,this.lexer.yylloc.first_line,this.lexer.yylloc.first_offset,this.lexer.offset],this._tokens.push(entry),this.token===this.tok.T_CLOSE_TAG)return this.token=";",this;if(this.token===this.tok.T_OPEN_TAG_WITH_ECHO)return this.token=this.tok.T_ECHO,this}while(this.token===this.tok.T_WHITESPACE||!this.extractDoc&&(this.token===this.tok.T_COMMENT||this.token===this.tok.T_DOC_COMMENT)||this.token===this.tok.T_OPEN_TAG);else this.token=this.lexer.lex()||this.EOF;return this},parser.prototype.is=function(type){return Array.isArray(type)?-1!==type.indexOf(this.token):this.entries[type].has(this.token)},[__webpack_require__(29),__webpack_require__(30),__webpack_require__(31),__webpack_require__(32),__webpack_require__(33),__webpack_require__(34),__webpack_require__(35),__webpack_require__(36),__webpack_require__(37),__webpack_require__(38),__webpack_require__(39),__webpack_require__(40),__webpack_require__(41),__webpack_require__(42),__webpack_require__(43)].forEach(function(ext){for(var k in ext){if(parser.prototype.hasOwnProperty(k))throw new Error("Function "+k+" is already defined - collision");parser.prototype[k]=ext[k]}}),module.exports=parser},function(module,exports,__webpack_require__){"use strict";module.exports={read_array:function(){var expect=null,shortForm=!1,result=this.node("array");expect=this.token===this.tok.T_ARRAY?(this.next().expect("("),")"):(shortForm=!0,"]");var items=[];return this.next().token!==expect&&(items=this.read_array_pair_list(shortForm)),this.expect(expect),this.next(),result(shortForm,items)},read_array_pair_list:function(shortForm){var self=this;return this.read_list(function(){return self.read_array_pair(shortForm)},",",!0)},read_array_pair:function(shortForm){if(","===this.token||!shortForm&&")"===this.token||shortForm&&"]"===this.token)return this.node("noop")();if("&"===this.token)return this.next().read_variable(!0,!1,!0);var entry=this.node("entry"),expr=this.read_expr();return this.token===this.tok.T_DOUBLE_ARROW?"&"===this.next().token?entry(expr,this.next().read_variable(!0,!1,!0)):entry(expr,this.read_expr()):(entry.destroy(),expr)}}},function(module,exports,__webpack_require__){"use strict";module.exports={read_class:function(){var result=this.node("class"),flag=this.read_class_scope();if(this.token!==this.tok.T_CLASS)return this.error(this.tok.T_CLASS),this.next(),null;this.next().expect(this.tok.T_STRING);var propName=this.node("identifier"),name=this.text();this.next(),propName=propName(name);var propExtends=null;this.token==this.tok.T_EXTENDS&&(propExtends=this.next().read_namespace_name());var propImplements=null;return this.token==this.tok.T_IMPLEMENTS&&(propImplements=this.next().read_name_list()),this.expect("{"),result(propName,propExtends,propImplements,this.next().read_class_body(),flag)},read_class_scope:function(){var result=this.token;return result==this.tok.T_FINAL?(this.next(),[0,0,2]):result==this.tok.T_ABSTRACT?(this.next(),[0,0,1]):[0,0,0]},read_class_body:function(){for(var result=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT)if(this.token!==this.tok.T_USE){var flags=this.read_member_flags(!1);if(this.token!==this.tok.T_CONST)if(this.token===this.tok.T_VAR&&(this.next().expect(this.tok.T_VARIABLE),flags[0]=null,flags[1]=0),this.token===this.tok.T_VARIABLE){var variables=this.read_variable_list(flags);this.expect(";"),this.next(),result=result.concat(variables)}else this.token===this.tok.T_FUNCTION?result.push(this.read_function(!1,flags)):(this.error([this.tok.T_CONST,this.tok.T_VARIABLE,this.tok.T_FUNCTION]),this.next());else{var constants=this.read_constant_list(flags);this.expect(";")&&this.next(),result=result.concat(constants)}}else result=result.concat(this.read_trait_use_statement());else result.push(this.read_doc_comment());else result.push(this.read_comment());return this.expect("}"),this.next(),result},read_variable_list:function(flags){return this.node("propertystatement")(null,this.read_list(function(){var result=this.node("property");this.expect(this.tok.T_VARIABLE);var propName=this.node("identifier"),name=this.text().substring(1);return this.next(),propName=propName(name),";"===this.token||","===this.token?result(propName,null):"="===this.token?result(propName,this.next().read_expr()):(this.expect([",",";","="]),result(propName,null))},","),flags)},read_constant_list:function(flags){return this.expect(this.tok.T_CONST)&&this.next(),this.node("classconstant")(null,this.read_list(function(){var result=this.node("constant"),constName=null,value=null;if(this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")){constName=this.node("identifier");var name=this.text();this.next(),constName=constName(name)}else this.expect("IDENTIFIER");return this.expect("=")&&(value=this.next().read_expr()),result(constName,value)},","),flags)},read_member_flags:function(asInterface){var result=[-1,-1,-1];if(this.is("T_MEMBER_FLAGS")){var idx=0,val=0;do{switch(this.token){case this.tok.T_PUBLIC:val=idx=0;break;case this.tok.T_PROTECTED:idx=0,val=1;break;case this.tok.T_PRIVATE:idx=0,val=2;break;case this.tok.T_STATIC:val=idx=1;break;case this.tok.T_ABSTRACT:idx=2,val=1;break;case this.tok.T_FINAL:val=idx=2}asInterface&&(0==idx&&2==val?(this.expect([this.tok.T_PUBLIC,this.tok.T_PROTECTED]),val=-1):2==idx&&1==val&&(this.error(),val=-1)),-1!==result[idx]?this.error():-1!==val&&(result[idx]=val)}while(this.next().is("T_MEMBER_FLAGS"))}return-1==result[1]&&(result[1]=0),-1==result[2]&&(result[2]=0),result},read_interface:function(){var result=this.node("interface");if(this.token!==this.tok.T_INTERFACE)return this.error(this.tok.T_INTERFACE),this.next(),null;this.next().expect(this.tok.T_STRING);var propName=this.node("identifier"),name=this.text();this.next(),propName=propName(name);var propExtends=null;return this.token===this.tok.T_EXTENDS&&(propExtends=this.next().read_name_list()),this.expect("{"),result(propName,propExtends,this.next().read_interface_body())},read_interface_body:function(){for(var result=[];this.token!==this.EOF&&"}"!==this.token;)if(this.token!==this.tok.T_COMMENT)if(this.token!==this.tok.T_DOC_COMMENT){var flags=this.read_member_flags(!0);if(this.token==this.tok.T_CONST){var constants=this.read_constant_list(flags);this.expect(";")&&this.next(),result=result.concat(constants)}else if(this.token===this.tok.T_FUNCTION){var method=this.read_function_declaration(2,flags);method.parseFlags(flags),result.push(method),this.expect(";")&&this.next()}else this.error([this.tok.T_CONST,this.tok.T_FUNCTION]),this.next()}else result.push(this.read_doc_comment());else result.push(this.read_comment());return this.expect("}")&&this.next(),result},read_trait:function(){var result=this.node("trait");if(this.token!==this.tok.T_TRAIT)return this.error(this.tok.T_TRAIT),this.next(),null;this.next().expect(this.tok.T_STRING);var propName=this.node("identifier"),name=this.text();return this.next(),propName=propName(name),this.expect("{"),result(propName,this.next().read_class_body())},read_trait_use_statement:function(){var node=this.node("traituse");this.expect(this.tok.T_USE)&&this.next();for(var traits=[this.read_namespace_name()],adaptations=null;","===this.token;)traits.push(this.next().read_namespace_name());if("{"===this.token){for(adaptations=[];this.next().token!==this.EOF&&"}"!==this.token;)adaptations.push(this.read_trait_use_alias()),this.expect(";");this.expect("}")&&this.next()}else this.expect(";")&&this.next();return node(traits,adaptations)},read_trait_use_alias:function(){var method,node=this.node(),trait=null;if(this.is("IDENTIFIER")){method=this.node("identifier");var methodName=this.text();this.next(),method=method(methodName)}else if(method=this.read_namespace_name(),this.token===this.tok.T_DOUBLE_COLON)if(this.next(),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")){trait=method,method=this.node("identifier");var _methodName=this.text();this.next(),method=method(_methodName)}else this.expect(this.tok.T_STRING);else method=method.name;if(this.token===this.tok.T_INSTEADOF)return node("traitprecedence",trait,method,this.next().read_name_list());if(this.token!==this.tok.T_AS)return this.expect([this.tok.T_AS,this.tok.T_INSTEADOF]),node("traitalias",trait,method,null,null);var flags=null,alias=null;if(this.next().is("T_MEMBER_FLAGS")&&(flags=this.read_member_flags()),this.token===this.tok.T_STRING||this.php7&&this.is("IDENTIFIER")){alias=this.node("identifier");var name=this.text();this.next(),alias=alias(name)}else!1===flags&&this.expect(this.tok.T_STRING);return node("traitalias",trait,method,alias,flags)}}},function(module,exports,__webpack_require__){"use strict";module.exports={read_comment:function(){var text=this.text(),result=this.ast.prepare("/*"===text.substring(0,2)?"commentblock":"commentline",null,this),offset=this.lexer.yylloc.first_offset,prev=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),(result=result(text)).offset=offset,this.prev=prev,result},read_doc_comment:function(){var result=this.ast.prepare("commentblock",null,this),offset=this.lexer.yylloc.first_offset,text=this.text(),prev=this.prev;return this.prev=[this.lexer.yylloc.last_line,this.lexer.yylloc.last_column,this.lexer.offset],this.lex(),(result=result(text)).offset=offset,this.prev=prev,result}}},function(module,exports,__webpack_require__){"use strict";module.exports={read_expr:function(expr){var result=this.node();if(expr||(expr=this.read_expr_item()),"|"===this.token)return result("bin","|",expr,this.next().read_expr());if("&"===this.token)return result("bin","&",expr,this.next().read_expr());if("^"===this.token)return result("bin","^",expr,this.next().read_expr());if("."===this.token)return result("bin",".",expr,this.next().read_expr());if("+"===this.token)return result("bin","+",expr,this.next().read_expr());if("-"===this.token)return result("bin","-",expr,this.next().read_expr());if("*"===this.token)return result("bin","*",expr,this.next().read_expr());if("/"===this.token)return result("bin","/",expr,this.next().read_expr());if("%"===this.token)return result("bin","%",expr,this.next().read_expr());if(this.token===this.tok.T_POW)return result("bin","**",expr,this.next().read_expr());if(this.token===this.tok.T_SL)return result("bin","<<",expr,this.next().read_expr());if(this.token===this.tok.T_SR)return result("bin",">>",expr,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_OR)return result("bin","||",expr,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_OR)return result("bin","or",expr,this.next().read_expr());if(this.token===this.tok.T_BOOLEAN_AND)return result("bin","&&",expr,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_AND)return result("bin","and",expr,this.next().read_expr());if(this.token===this.tok.T_LOGICAL_XOR)return result("bin","xor",expr,this.next().read_expr());if(this.token===this.tok.T_IS_IDENTICAL)return result("bin","===",expr,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_IDENTICAL)return result("bin","!==",expr,this.next().read_expr());if(this.token===this.tok.T_IS_EQUAL)return result("bin","==",expr,this.next().read_expr());if(this.token===this.tok.T_IS_NOT_EQUAL)return result("bin","!=",expr,this.next().read_expr());if("<"===this.token)return result("bin","<",expr,this.next().read_expr());if(">"===this.token)return result("bin",">",expr,this.next().read_expr());if(this.token===this.tok.T_IS_SMALLER_OR_EQUAL)return result("bin","<=",expr,this.next().read_expr());if(this.token===this.tok.T_IS_GREATER_OR_EQUAL)return result("bin",">=",expr,this.next().read_expr());if(this.token===this.tok.T_SPACESHIP)return result("bin","<=>",expr,this.next().read_expr());if(this.token===this.tok.T_INSTANCEOF&&(expr=result("bin","instanceof",expr,this.next().read_class_name_reference()),";"!==this.token&&this.token!==this.tok.T_INLINE_HTML&&this.token!==this.EOF&&(expr=this.read_expr(expr))),this.token===this.tok.T_COALESCE)return result("bin","??",expr,this.next().read_expr());if("?"!==this.token)return result.destroy(expr),expr;var trueArg=null;return":"!==this.next().token&&(trueArg=this.read_expr()),this.expect(":")&&this.next(),result("retif",expr,trueArg,this.read_expr())},read_expr_cast:function(type){return this.node("cast")(type,this.text(),this.next().read_expr())},read_expr_item:function(){var result,expr;if("@"===this.token)return this.node("silent")(this.next().read_expr());if("+"===this.token)return this.node("unary")("+",this.next().read_expr());if("-"===this.token)return this.node("unary")("-",this.next().read_expr());if("!"===this.token)return this.node("unary")("!",this.next().read_expr());if("~"===this.token)return this.node("unary")("~",this.next().read_expr());if("("===this.token)return(expr=this.next().read_expr()).parenthesizedExpression=!0,this.expect(")")&&this.next(),this.handleDereferencable(expr);if("`"===this.token)return this.read_encapsed_string("`");if(this.token===this.tok.T_LIST){var assign=null,isInner=this.innerList;result=this.node("list"),isInner||(assign=this.node("assign")),this.next().expect("(")&&this.next(),this.innerList||(this.innerList=!0);var assignList=this.read_array_pair_list(!1);this.expect(")")&&this.next();for(var hasItem=!1,i=0;i>=");case this.tok.T_INC:return isConst&&this.error("VARIABLE"),this.next(),result("post","+",expr);case this.tok.T_DEC:return isConst&&this.error("VARIABLE"),this.next(),result("post","-",expr);default:result.destroy(expr)}}else{if(this.is("SCALAR")){if(result=this.node(),"array"===(expr=this.read_scalar()).kind&&expr.shortForm&&"="===this.token){var list=this.node("list")(expr.items,!0);return expr.loc&&(list.loc=expr.loc),result("assign",list,this.next().read_expr(),"=")}return result.destroy(expr),this.handleDereferencable(expr)}this.error("EXPR"),this.next()}return expr},read_new_expr:function(){var result=this.node("new");this.expect(this.tok.T_NEW)&&this.next();var args=[];if(this.token===this.tok.T_CLASS){var what=this.node("class"),propExtends=null,propImplements=null,body=null;return"("===this.next().token&&(args=this.read_function_argument_list()),this.token==this.tok.T_EXTENDS&&(propExtends=this.next().read_namespace_name()),this.token==this.tok.T_IMPLEMENTS&&(propImplements=this.next().read_name_list()),this.expect("{")&&(body=this.next().read_class_body()),result(what(null,propExtends,propImplements,body,[0,0,0]),args)}var name=this.read_new_class_name();return"("===this.token&&(args=this.read_function_argument_list()),result(name,args)},read_new_class_name:function(){if(this.token===this.tok.T_NS_SEPARATOR||this.token===this.tok.T_STRING||this.token===this.tok.T_NAMESPACE){var result=this.read_namespace_name(!0);return this.token===this.tok.T_DOUBLE_COLON&&(result=this.read_static_getter(result)),result}if(this.is("VARIABLE"))return this.read_variable(!0,!1,!1);this.expect([this.tok.T_STRING,"VARIABLE"])},handleDereferencable:function(expr){for(;this.token!==this.EOF;)if(this.token===this.tok.T_OBJECT_OPERATOR||this.token===this.tok.T_DOUBLE_COLON)expr=this.recursive_variable_chain_scan(expr,!1,!1,!0);else if(this.token===this.tok.T_CURLY_OPEN||"["===this.token)expr=this.read_dereferencable(expr);else{if("("!==this.token)return expr;expr=this.node("call")(expr,this.read_function_argument_list())}return expr}}},function(module,exports,__webpack_require__){"use strict";module.exports={is_reference:function(){return"&"==this.token&&(this.next(),!0)},is_variadic:function(){return this.token===this.tok.T_ELLIPSIS&&(this.next(),!0)},read_function:function(closure,flag){var result=this.read_function_declaration(closure?1:flag?2:0,flag&&1===flag[1]);return flag&&1==flag[2]?(result.parseFlags(flag),this.expect(";")&&this.next()):(this.expect("{")&&(result.body=this.read_code_block(!1),result.loc&&result.body.loc&&(result.loc.end=result.body.loc.end)),!closure&&flag&&result.parseFlags(flag)),result},read_function_declaration:function(type,isStatic){var nodeName="function";1===type?nodeName="closure":2===type&&(nodeName="method");var result=this.node(nodeName);this.expect(this.tok.T_FUNCTION)&&this.next();var isRef=this.is_reference(),name=!1,use=[],returnType=null,nullable=!1;if(1!==type){var nameNode=this.node("identifier");2===type?this.php7?this.token===this.tok.T_STRING||this.is("IDENTIFIER")?(name=this.text(),this.next()):this.php74||this.error("IDENTIFIER"):this.token===this.tok.T_STRING?(name=this.text(),this.next()):this.error("IDENTIFIER"):this.php7?this.token===this.tok.T_STRING?(name=this.text(),this.next()):this.php74?this.expect("(")||this.next():(this.error(this.tok.T_STRING),this.next()):(this.expect(this.tok.T_STRING)&&(name=this.text()),this.next()),name=nameNode(name)}this.expect("(")&&this.next();var params=this.read_parameter_list();return this.expect(")")&&this.next(),1===type&&this.token===this.tok.T_USE&&(this.next().expect("(")&&this.next(),use=this.read_list(this.read_lexical_var,","),this.expect(")")&&this.next()),":"===this.token&&("?"===this.next().token&&(nullable=!0,this.next()),returnType=this.read_type()),1===type?result(params,isRef,use,returnType,nullable,isStatic):result(name,params,isRef,returnType,nullable)},read_lexical_var:function(){var result=this.node("variable"),isRef=!1;"&"===this.token&&(isRef=!0,this.next()),this.expect(this.tok.T_VARIABLE);var name=this.text().substring(1);return this.next(),result(name,isRef,!1)},read_parameter_list:function(){var result=[];if(")"!=this.token)for(;this.token!=this.EOF;){if(result.push(this.read_parameter()),","!=this.token){if(")"==this.token)break;this.error([",",")"]);break}this.next()}return result},read_parameter:function(){var type,node=this.node("parameter"),parameterName=null,value=null,nullable=!1;"?"===this.token&&(this.next(),nullable=!0),type=this.read_type(),nullable&&!type&&this.raiseError("Expecting a type definition combined with nullable operator");var isRef=this.is_reference(),isVariadic=this.is_variadic();if(this.expect(this.tok.T_VARIABLE)){parameterName=this.node("identifier");var name=this.text().substring(1);this.next(),parameterName=parameterName(name)}return"="==this.token&&(value=this.next().read_expr()),node(parameterName,type,value,isRef,isVariadic,nullable)},read_function_argument_list:function(){var result=[],wasVariadic=!1;if(this.expect("(")&&this.next(),")"!==this.token)for(;this.token!=this.EOF;){var argument=this.read_argument_list();if(argument&&(result.push(argument),"variadic"===argument.kind?wasVariadic=!0:wasVariadic&&this.raiseError("Unexpected argument after a variadic argument")),","!==this.token)break;this.next()}return this.expect(")")&&this.next(),result},read_argument_list:function(){return this.token===this.tok.T_ELLIPSIS?this.node("variadic")(this.next().read_expr()):this.read_expr()},read_type:function(){var result=this.node();if(this.token===this.tok.T_ARRAY||this.token===this.tok.T_CALLABLE){var type=this.text();return this.next(),result("typereference",type.toLowerCase(),type)}if(this.token!==this.tok.T_STRING)return this.token===this.tok.T_NAMESPACE||this.token===this.tok.T_NS_SEPARATOR?this.read_namespace_name():null;var _type=this.text(),backup=[this.token,this.lexer.getState()];return this.next(),this.token!==this.tok.T_NS_SEPARATOR&&-1"],["<","<=",">",">="],["<<",">>"],["+","-","."],["*","/","%"],["!"],["instanceof"],["cast"]].forEach(function(list,index){list.forEach(function(operator){AST.precedence[operator]=index+1})}),AST.prototype.swapLocations=function(target,first,last,parser){this.withPositions&&(target.loc.start=first.loc.start,target.loc.end=last.loc.end,this.withSource&&(target.loc.source=parser.lexer._input.substring(target.loc.start.offset,target.loc.end.offset)))},AST.prototype.resolveLocations=function(target,first,last,parser){this.withPositions&&(target.loc.start.offset>first.loc.start.offset&&(target.loc.start=first.loc.start),target.loc.end.offset -

Classes

+

Classes

@@ -266,7 +266,7 @@
Properties:
@@ -477,7 +477,7 @@
Parameters:
@@ -568,7 +568,7 @@

@@ -659,7 +659,7 @@

@@ -750,7 +750,7 @@

@@ -793,7 +793,7 @@


diff --git a/docs/Array.html b/docs/Array.html index 93eaf7114..2da285a0e 100644 --- a/docs/Array.html +++ b/docs/Array.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -790,7 +790,7 @@
Parameters:

diff --git a/docs/Assign.html b/docs/Assign.html index caa911b47..0a65eac22 100644 --- a/docs/Assign.html +++ b/docs/Assign.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Bin.html b/docs/Bin.html index 6b97087b9..70c31082a 100644 --- a/docs/Bin.html +++ b/docs/Bin.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Block.html b/docs/Block.html index a099311a8..ce990441a 100644 --- a/docs/Block.html +++ b/docs/Block.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Boolean.html b/docs/Boolean.html index 111bfff6c..260130632 100644 --- a/docs/Boolean.html +++ b/docs/Boolean.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Break.html b/docs/Break.html index 3c334cd32..58e98c2ad 100644 --- a/docs/Break.html +++ b/docs/Break.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -725,7 +725,7 @@
Parameters:

diff --git a/docs/Call.html b/docs/Call.html index 7305eb93b..49e2277b4 100644 --- a/docs/Call.html +++ b/docs/Call.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -760,7 +760,7 @@
Parameters:

diff --git a/docs/Case.html b/docs/Case.html index 958ea414c..7f5ee4e7a 100644 --- a/docs/Case.html +++ b/docs/Case.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -760,7 +760,7 @@
Parameters:

diff --git a/docs/Cast.html b/docs/Cast.html index 25c3ee716..13a42c1ed 100644 --- a/docs/Cast.html +++ b/docs/Cast.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Catch.html b/docs/Catch.html index 61be42cee..ef443b27b 100644 --- a/docs/Catch.html +++ b/docs/Catch.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -788,7 +788,7 @@
Parameters:

diff --git a/docs/Class.html b/docs/Class.html index a8bb67d7b..715c17f67 100644 --- a/docs/Class.html +++ b/docs/Class.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -1025,7 +1025,7 @@
Parameters:

diff --git a/docs/ClassConstant.html b/docs/ClassConstant.html index e4c7eca5a..2e71f5a8d 100644 --- a/docs/ClassConstant.html +++ b/docs/ClassConstant.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -865,7 +865,7 @@
Parameters:

diff --git a/docs/ClassReference.html b/docs/ClassReference.html index fca02fc23..2c14ce119 100644 --- a/docs/ClassReference.html +++ b/docs/ClassReference.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/Clone.html b/docs/Clone.html index 28cbbb0f1..d1e47ed46 100644 --- a/docs/Clone.html +++ b/docs/Clone.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Closure.html b/docs/Closure.html index a5df169a8..7d8a2589d 100644 --- a/docs/Closure.html +++ b/docs/Closure.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -899,7 +899,7 @@
Parameters:

diff --git a/docs/Comment.html b/docs/Comment.html index 3c60851ca..ffc7148c4 100644 --- a/docs/Comment.html +++ b/docs/Comment.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/CommentBlock.html b/docs/CommentBlock.html index 904c3bec7..c04b150f2 100644 --- a/docs/CommentBlock.html +++ b/docs/CommentBlock.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/CommentLine.html b/docs/CommentLine.html index 511d2a8c6..6910e7416 100644 --- a/docs/CommentLine.html +++ b/docs/CommentLine.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Constant.html b/docs/Constant.html index d4528545c..c68a94821 100644 --- a/docs/Constant.html +++ b/docs/Constant.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -772,7 +772,7 @@
Parameters:

diff --git a/docs/ConstantStatement.html b/docs/ConstantStatement.html index 170d3e0b3..8aa743828 100644 --- a/docs/ConstantStatement.html +++ b/docs/ConstantStatement.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Continue.html b/docs/Continue.html index 2f232a9ae..ffedfd54a 100644 --- a/docs/Continue.html +++ b/docs/Continue.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -725,7 +725,7 @@
Parameters:

diff --git a/docs/Declaration.html b/docs/Declaration.html index 61db1a98e..5903eb71d 100644 --- a/docs/Declaration.html +++ b/docs/Declaration.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -871,7 +871,7 @@
Parameters:

diff --git a/docs/Declare.html b/docs/Declare.html index e16cadffa..f85838c7a 100644 --- a/docs/Declare.html +++ b/docs/Declare.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -759,7 +759,7 @@
Parameters:

diff --git a/docs/DeclareDirective.html b/docs/DeclareDirective.html index e906a8357..cf92674e2 100644 --- a/docs/DeclareDirective.html +++ b/docs/DeclareDirective.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -772,7 +772,7 @@
Parameters:

diff --git a/docs/Do.html b/docs/Do.html index ddf6d5f14..bb0f4fae7 100644 --- a/docs/Do.html +++ b/docs/Do.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/Echo.html b/docs/Echo.html index 6abede5de..c57b547c3 100644 --- a/docs/Echo.html +++ b/docs/Echo.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Empty.html b/docs/Empty.html index e234c482f..2bcecd6cf 100644 --- a/docs/Empty.html +++ b/docs/Empty.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Encapsed.html b/docs/Encapsed.html index 27c11bb24..dc183fb92 100644 --- a/docs/Encapsed.html +++ b/docs/Encapsed.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -754,7 +754,7 @@
Parameters:

diff --git a/docs/EncapsedPart.html b/docs/EncapsedPart.html index bb3ed364b..cc81d9ae5 100644 --- a/docs/EncapsedPart.html +++ b/docs/EncapsedPart.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Entry.html b/docs/Entry.html index d0d6f51c5..eb1ac24d7 100644 --- a/docs/Entry.html +++ b/docs/Entry.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -754,7 +754,7 @@
Parameters:

diff --git a/docs/Error.html b/docs/Error.html index 3db36cd28..ba158017a 100644 --- a/docs/Error.html +++ b/docs/Error.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -818,7 +818,7 @@
Parameters:

diff --git a/docs/Eval.html b/docs/Eval.html index 1382dbf2f..19e54792d 100644 --- a/docs/Eval.html +++ b/docs/Eval.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Exit.html b/docs/Exit.html index 73d0f01c5..6fa060802 100644 --- a/docs/Exit.html +++ b/docs/Exit.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -754,7 +754,7 @@
Parameters:

diff --git a/docs/Expression.html b/docs/Expression.html index fb94d2c80..6e1300cc9 100644 --- a/docs/Expression.html +++ b/docs/Expression.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -662,7 +662,7 @@
Parameters:

diff --git a/docs/ExpressionStatement.html b/docs/ExpressionStatement.html index 0dfdbcaef..e3e272290 100644 --- a/docs/ExpressionStatement.html +++ b/docs/ExpressionStatement.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/For.html b/docs/For.html index 3ebf3f70b..4ee611899 100644 --- a/docs/For.html +++ b/docs/For.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -846,7 +846,7 @@
Parameters:

diff --git a/docs/Foreach.html b/docs/Foreach.html index 39930061d..f27971669 100644 --- a/docs/Foreach.html +++ b/docs/Foreach.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -852,7 +852,7 @@
Parameters:

diff --git a/docs/Function.html b/docs/Function.html index 7365042bb..72013b75f 100644 --- a/docs/Function.html +++ b/docs/Function.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -996,7 +996,7 @@
Parameters:

diff --git a/docs/Global_.html b/docs/Global_.html index 981851dc6..cd410be56 100644 --- a/docs/Global_.html +++ b/docs/Global_.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Goto.html b/docs/Goto.html index 378d75edf..aa318e641 100644 --- a/docs/Goto.html +++ b/docs/Goto.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -730,7 +730,7 @@
Parameters:

diff --git a/docs/Halt.html b/docs/Halt.html index a6a2e3180..c18c706c6 100644 --- a/docs/Halt.html +++ b/docs/Halt.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -730,7 +730,7 @@
Parameters:

diff --git a/docs/Identifier.html b/docs/Identifier.html index b772dbcec..a251a1124 100644 --- a/docs/Identifier.html +++ b/docs/Identifier.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/If.html b/docs/If.html index 8cf199c12..4d118728b 100644 --- a/docs/If.html +++ b/docs/If.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -818,7 +818,7 @@
Parameters:

diff --git a/docs/Include.html b/docs/Include.html index 0c523faf6..16f60850a 100644 --- a/docs/Include.html +++ b/docs/Include.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Inline.html b/docs/Inline.html index 9ace3d8c5..f64c5b4da 100644 --- a/docs/Inline.html +++ b/docs/Inline.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Interface.html b/docs/Interface.html index 658562c24..b534b0c52 100644 --- a/docs/Interface.html +++ b/docs/Interface.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -903,7 +903,7 @@
Parameters:

diff --git a/docs/Isset.html b/docs/Isset.html index 3576d883f..2fa731e01 100644 --- a/docs/Isset.html +++ b/docs/Isset.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Label.html b/docs/Label.html index 8c9600ee1..0d0296e36 100644 --- a/docs/Label.html +++ b/docs/Label.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/List.html b/docs/List.html index 0546c278d..1cccec583 100644 --- a/docs/List.html +++ b/docs/List.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Literal.html b/docs/Literal.html index 476e83b8f..24dfc1ee9 100644 --- a/docs/Literal.html +++ b/docs/Literal.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -772,7 +772,7 @@
Parameters:

diff --git a/docs/Location.html b/docs/Location.html index cdbbf6998..be431f029 100644 --- a/docs/Location.html +++ b/docs/Location.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -358,7 +358,7 @@
Properties:

diff --git a/docs/Lookup.html b/docs/Lookup.html index a099f2eb2..0aa9d1e6e 100644 --- a/docs/Lookup.html +++ b/docs/Lookup.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/Magic.html b/docs/Magic.html index f95b7a048..3e65f311d 100644 --- a/docs/Magic.html +++ b/docs/Magic.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Method.html b/docs/Method.html index 19073c166..00ae84ada 100644 --- a/docs/Method.html +++ b/docs/Method.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -392,7 +392,7 @@

Extends


diff --git a/docs/Namespace.html b/docs/Namespace.html index 299069eff..3564c1cee 100644 --- a/docs/Namespace.html +++ b/docs/Namespace.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/New.html b/docs/New.html index 178c6983d..f81f44a04 100644 --- a/docs/New.html +++ b/docs/New.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -760,7 +760,7 @@
Parameters:

diff --git a/docs/Node.html b/docs/Node.html index f51514780..a323a7978 100644 --- a/docs/Node.html +++ b/docs/Node.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -977,7 +977,7 @@
Parameters:

diff --git a/docs/Noop.html b/docs/Noop.html new file mode 100644 index 000000000..6cbd18c45 --- /dev/null +++ b/docs/Noop.html @@ -0,0 +1,688 @@ + + + + + + + + + Noop - Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ Noop +

+ + + + +
+
+ +

+ + Noop + +

+ + + +
+ +
+
+ + + + + + + + + + + + +

+ new Noop() +

+
+ + + + + +
+

Ignore this node, it implies a no operation block, for example : +[$foo, $bar, /* here a noop node * /]

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + +
+ + +

Extends

+ + + + + + + + + + + + + + + + + + + + +

Methods

+ + + + + + + + + + + + + +

+ destroy() +

+
+ + + + + +
+

Destroying an unused node

+
+ + + + + + + + + + +
+ + + + + + +
Inherited From:
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ includeToken(parser) +

+
+ + + + + +
+

Includes current token position of the parser

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
parser + + + + * + + + + + + + + + +
+ + + + + +
+ + + + + + +
Inherited From:
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ setTrailingComments(docs) +

+
+ + + + + +
+

Attach comments to current node

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
docs + + + + * + + + + + + + + + +
+ + + + + +
+ + + + + + +
Inherited From:
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/NowDoc.html b/docs/NowDoc.html index ba8bab6b6..d13637899 100644 --- a/docs/NowDoc.html +++ b/docs/NowDoc.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Number.html b/docs/Number.html index 2b2cb4746..6ce32c5cb 100644 --- a/docs/Number.html +++ b/docs/Number.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/OffsetLookup.html b/docs/OffsetLookup.html index 1adc56ad8..288e359b5 100644 --- a/docs/OffsetLookup.html +++ b/docs/OffsetLookup.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Operation.html b/docs/Operation.html index 84f33e499..534af2e48 100644 --- a/docs/Operation.html +++ b/docs/Operation.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Parameter.html b/docs/Parameter.html index ea6c10b6d..b1a606c55 100644 --- a/docs/Parameter.html +++ b/docs/Parameter.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -1002,7 +1002,7 @@
Parameters:

diff --git a/docs/ParentReference.html b/docs/ParentReference.html index bf39f01d7..c52c77834 100644 --- a/docs/ParentReference.html +++ b/docs/ParentReference.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Position.html b/docs/Position.html index be577900a..49acda8ff 100644 --- a/docs/Position.html +++ b/docs/Position.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -352,7 +352,7 @@
Properties:

diff --git a/docs/Post.html b/docs/Post.html index 390ceedcb..57aa4d8a3 100644 --- a/docs/Post.html +++ b/docs/Post.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/Pre.html b/docs/Pre.html index 78ded3aab..213450f9a 100644 --- a/docs/Pre.html +++ b/docs/Pre.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/Print.html b/docs/Print.html index daf712c9c..f413a142e 100644 --- a/docs/Print.html +++ b/docs/Print.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Program.html b/docs/Program.html index e47ac4aa8..11de01093 100644 --- a/docs/Program.html +++ b/docs/Program.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -801,7 +801,7 @@
Parameters:

diff --git a/docs/Property.html b/docs/Property.html index 20fabb47c..399df5d94 100644 --- a/docs/Property.html +++ b/docs/Property.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -754,7 +754,7 @@
Parameters:

diff --git a/docs/PropertyLookup.html b/docs/PropertyLookup.html index c58fa7143..d4cf93f11 100644 --- a/docs/PropertyLookup.html +++ b/docs/PropertyLookup.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/PropertyStatement.html b/docs/PropertyStatement.html index 26abed8ec..c5b3532e2 100644 --- a/docs/PropertyStatement.html +++ b/docs/PropertyStatement.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -865,7 +865,7 @@
Parameters:

diff --git a/docs/Reference.html b/docs/Reference.html index c71662292..12a00d66d 100644 --- a/docs/Reference.html +++ b/docs/Reference.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/RetIf.html b/docs/RetIf.html index 9bac6240a..ced88f98d 100644 --- a/docs/RetIf.html +++ b/docs/RetIf.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Return.html b/docs/Return.html index 96c0fd2eb..65ec6ff44 100644 --- a/docs/Return.html +++ b/docs/Return.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -725,7 +725,7 @@
Parameters:

diff --git a/docs/SelfReference.html b/docs/SelfReference.html index 0155be1ce..6bcadc1e5 100644 --- a/docs/SelfReference.html +++ b/docs/SelfReference.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Silent.html b/docs/Silent.html index 9dd12dc46..c5580e449 100644 --- a/docs/Silent.html +++ b/docs/Silent.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Statement.html b/docs/Statement.html index 8a5a6de10..07790815c 100644 --- a/docs/Statement.html +++ b/docs/Statement.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/Static.html b/docs/Static.html index 3da60715b..3e6dd0df9 100644 --- a/docs/Static.html +++ b/docs/Static.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/StaticLookup.html b/docs/StaticLookup.html index 1c401e0e6..b21eb7eae 100644 --- a/docs/StaticLookup.html +++ b/docs/StaticLookup.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/StaticReference.html b/docs/StaticReference.html index d1be35d53..5d4225df8 100644 --- a/docs/StaticReference.html +++ b/docs/StaticReference.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/StaticVariable.html b/docs/StaticVariable.html index 21b9b9ab2..6896cf16c 100644 --- a/docs/StaticVariable.html +++ b/docs/StaticVariable.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -772,7 +772,7 @@
Parameters:

diff --git a/docs/String.html b/docs/String.html index 47994b834..d88cfb26e 100644 --- a/docs/String.html +++ b/docs/String.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -759,7 +759,7 @@
Parameters:

diff --git a/docs/Switch.html b/docs/Switch.html index b4787fc88..613389778 100644 --- a/docs/Switch.html +++ b/docs/Switch.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Throw.html b/docs/Throw.html index 007620180..d96395628 100644 --- a/docs/Throw.html +++ b/docs/Throw.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Trait.html b/docs/Trait.html index a469b4462..6ad67f529 100644 --- a/docs/Trait.html +++ b/docs/Trait.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -874,7 +874,7 @@
Parameters:

diff --git a/docs/TraitAlias.html b/docs/TraitAlias.html index 79c2fd0e0..47056112b 100644 --- a/docs/TraitAlias.html +++ b/docs/TraitAlias.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -824,7 +824,7 @@
Parameters:

diff --git a/docs/TraitPrecedence.html b/docs/TraitPrecedence.html index 81a24159f..4ca9f9788 100644 --- a/docs/TraitPrecedence.html +++ b/docs/TraitPrecedence.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -783,7 +783,7 @@
Parameters:

diff --git a/docs/TraitUse.html b/docs/TraitUse.html index 131bd5d7f..395ce8b46 100644 --- a/docs/TraitUse.html +++ b/docs/TraitUse.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -754,7 +754,7 @@
Parameters:

diff --git a/docs/Try.html b/docs/Try.html index 95d1eca4f..080c67ce3 100644 --- a/docs/Try.html +++ b/docs/Try.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/TypeReference.html b/docs/TypeReference.html index 27fb63cb8..1b76732b5 100644 --- a/docs/TypeReference.html +++ b/docs/TypeReference.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -719,7 +719,7 @@
Parameters:

diff --git a/docs/Unary.html b/docs/Unary.html index 34dd17171..4d0139bc6 100644 --- a/docs/Unary.html +++ b/docs/Unary.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -748,7 +748,7 @@
Parameters:

diff --git a/docs/Unset.html b/docs/Unset.html index abcff11de..24e7c2522 100644 --- a/docs/Unset.html +++ b/docs/Unset.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -661,7 +661,7 @@
Parameters:

diff --git a/docs/UseGroup.html b/docs/UseGroup.html index 642dfc1d1..8b176cf78 100644 --- a/docs/UseGroup.html +++ b/docs/UseGroup.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -804,7 +804,7 @@
Parameters:

diff --git a/docs/UseItem.html b/docs/UseItem.html index 949b2d460..37f5035bc 100644 --- a/docs/UseItem.html +++ b/docs/UseItem.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -804,7 +804,7 @@
Parameters:

diff --git a/docs/Variable.html b/docs/Variable.html index 959fe44cc..34c09ced8 100644 --- a/docs/Variable.html +++ b/docs/Variable.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -806,7 +806,7 @@
Parameters:

diff --git a/docs/While.html b/docs/While.html index ddc0ddb53..99b5f8bca 100644 --- a/docs/While.html +++ b/docs/While.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -777,7 +777,7 @@
Parameters:

diff --git a/docs/Yield.html b/docs/Yield.html index 1a8d0fca4..bf3ce70dc 100644 --- a/docs/Yield.html +++ b/docs/Yield.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -771,7 +771,7 @@
Parameters:

diff --git a/docs/YieldFrom.html b/docs/YieldFrom.html index 81530d93e..4ca8289fb 100644 --- a/docs/YieldFrom.html +++ b/docs/YieldFrom.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -730,7 +730,7 @@
Parameters:

diff --git a/docs/ast.js.html b/docs/ast.js.html index 56d98486e..2b7304332 100644 --- a/docs/ast.js.html +++ b/docs/ast.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -120,6 +120,7 @@

* - [Location](#location) * - [Position](#position) * - [Node](#node) + * - [Noop](#noop) * - [StaticVariable](#staticvariable) * - [EncapsedPart](#encapsedpart) * - [Constant](#constant) @@ -628,6 +629,7 @@

require("./ast/namespace"), require("./ast/new"), require("./ast/node"), + require("./ast/noop"), require("./ast/nowdoc"), require("./ast/number"), require("./ast/offsetlookup"), @@ -686,7 +688,7 @@


diff --git a/docs/ast_array.js.html b/docs/ast_array.js.html index 7f3c1542d..77bcce525 100644 --- a/docs/ast_array.js.html +++ b/docs/ast_array.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -161,7 +161,7 @@


diff --git a/docs/ast_assign.js.html b/docs/ast_assign.js.html index 9bbc1294d..c80e440a0 100644 --- a/docs/ast_assign.js.html +++ b/docs/ast_assign.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_bin.js.html b/docs/ast_bin.js.html index a9a52324b..2b77f1327 100644 --- a/docs/ast_bin.js.html +++ b/docs/ast_bin.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -145,7 +145,7 @@


diff --git a/docs/ast_block.js.html b/docs/ast_block.js.html index fd2a804c7..6f6ba46c4 100644 --- a/docs/ast_block.js.html +++ b/docs/ast_block.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -141,7 +141,7 @@


diff --git a/docs/ast_boolean.js.html b/docs/ast_boolean.js.html index c40d7067a..3decc2773 100644 --- a/docs/ast_boolean.js.html +++ b/docs/ast_boolean.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_break.js.html b/docs/ast_break.js.html index b50a0fd88..fde186ed3 100644 --- a/docs/ast_break.js.html +++ b/docs/ast_break.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -136,7 +136,7 @@


diff --git a/docs/ast_call.js.html b/docs/ast_call.js.html index 3cad319c4..5a77c9372 100644 --- a/docs/ast_call.js.html +++ b/docs/ast_call.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_case.js.html b/docs/ast_case.js.html index d696e11ad..5377108c9 100644 --- a/docs/ast_case.js.html +++ b/docs/ast_case.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_cast.js.html b/docs/ast_cast.js.html index d07fb1e4b..c43064b48 100644 --- a/docs/ast_cast.js.html +++ b/docs/ast_cast.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_catch.js.html b/docs/ast_catch.js.html index 46d958a02..d439aa1e5 100644 --- a/docs/ast_catch.js.html +++ b/docs/ast_catch.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -147,7 +147,7 @@


diff --git a/docs/ast_class.js.html b/docs/ast_class.js.html index ade092eaf..559a82081 100644 --- a/docs/ast_class.js.html +++ b/docs/ast_class.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -153,7 +153,7 @@


diff --git a/docs/ast_classconstant.js.html b/docs/ast_classconstant.js.html index 040ccd894..93821872a 100644 --- a/docs/ast_classconstant.js.html +++ b/docs/ast_classconstant.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -168,7 +168,7 @@


diff --git a/docs/ast_classreference.js.html b/docs/ast_classreference.js.html index e517963b4..95c44bd7b 100644 --- a/docs/ast_classreference.js.html +++ b/docs/ast_classreference.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -176,7 +176,7 @@


diff --git a/docs/ast_clone.js.html b/docs/ast_clone.js.html index f991a1499..8e11034cf 100644 --- a/docs/ast_clone.js.html +++ b/docs/ast_clone.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -136,7 +136,7 @@


diff --git a/docs/ast_closure.js.html b/docs/ast_closure.js.html index d497560c0..ecf56ef82 100644 --- a/docs/ast_closure.js.html +++ b/docs/ast_closure.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -157,7 +157,7 @@


diff --git a/docs/ast_comment.js.html b/docs/ast_comment.js.html index e4e70a730..6e9846f39 100644 --- a/docs/ast_comment.js.html +++ b/docs/ast_comment.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_commentblock.js.html b/docs/ast_commentblock.js.html index 501092471..9ba7812e6 100644 --- a/docs/ast_commentblock.js.html +++ b/docs/ast_commentblock.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -138,7 +138,7 @@


diff --git a/docs/ast_commentline.js.html b/docs/ast_commentline.js.html index 7649d74d9..744b84223 100644 --- a/docs/ast_commentline.js.html +++ b/docs/ast_commentline.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -138,7 +138,7 @@


diff --git a/docs/ast_constant.js.html b/docs/ast_constant.js.html index df686f34a..cffcc245b 100644 --- a/docs/ast_constant.js.html +++ b/docs/ast_constant.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_constantstatement.js.html b/docs/ast_constantstatement.js.html index 59cc94e6a..b4b9efe95 100644 --- a/docs/ast_constantstatement.js.html +++ b/docs/ast_constantstatement.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -141,7 +141,7 @@


diff --git a/docs/ast_continue.js.html b/docs/ast_continue.js.html index 86434389d..0d99bb8c9 100644 --- a/docs/ast_continue.js.html +++ b/docs/ast_continue.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_declaration.js.html b/docs/ast_declaration.js.html index 01a0ea2ab..aa35d6fd2 100644 --- a/docs/ast_declaration.js.html +++ b/docs/ast_declaration.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -172,7 +172,7 @@


diff --git a/docs/ast_declare.js.html b/docs/ast_declare.js.html index ee047e94b..77ac6681d 100644 --- a/docs/ast_declare.js.html +++ b/docs/ast_declare.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -186,7 +186,7 @@


diff --git a/docs/ast_declaredirective.js.html b/docs/ast_declaredirective.js.html index b737dba61..2eb62360b 100644 --- a/docs/ast_declaredirective.js.html +++ b/docs/ast_declaredirective.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_do.js.html b/docs/ast_do.js.html index 65e2ed8a1..6c988e76d 100644 --- a/docs/ast_do.js.html +++ b/docs/ast_do.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_echo.js.html b/docs/ast_echo.js.html index 014151411..8d1636e4c 100644 --- a/docs/ast_echo.js.html +++ b/docs/ast_echo.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -142,7 +142,7 @@


diff --git a/docs/ast_empty.js.html b/docs/ast_empty.js.html index f36f74da3..902108e8e 100644 --- a/docs/ast_empty.js.html +++ b/docs/ast_empty.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_encapsed.js.html b/docs/ast_encapsed.js.html index e5ce81ec2..4f42f9f75 100644 --- a/docs/ast_encapsed.js.html +++ b/docs/ast_encapsed.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -188,7 +188,7 @@


diff --git a/docs/ast_encapsedpart.js.html b/docs/ast_encapsedpart.js.html index 4582ed92f..8cfc3efbf 100644 --- a/docs/ast_encapsedpart.js.html +++ b/docs/ast_encapsedpart.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -142,7 +142,7 @@


diff --git a/docs/ast_entry.js.html b/docs/ast_entry.js.html index 34f46cf89..ba66dc4f5 100644 --- a/docs/ast_entry.js.html +++ b/docs/ast_entry.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_error.js.html b/docs/ast_error.js.html index d2e7043f4..354112078 100644 --- a/docs/ast_error.js.html +++ b/docs/ast_error.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -149,7 +149,7 @@


diff --git a/docs/ast_eval.js.html b/docs/ast_eval.js.html index afa08140e..88f63d0e3 100644 --- a/docs/ast_eval.js.html +++ b/docs/ast_eval.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_exit.js.html b/docs/ast_exit.js.html index 5d70e9315..f45ba2560 100644 --- a/docs/ast_exit.js.html +++ b/docs/ast_exit.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_expression.js.html b/docs/ast_expression.js.html index fa132310f..45429ce13 100644 --- a/docs/ast_expression.js.html +++ b/docs/ast_expression.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -135,7 +135,7 @@


diff --git a/docs/ast_expressionstatement.js.html b/docs/ast_expressionstatement.js.html index de57776a9..49780339e 100644 --- a/docs/ast_expressionstatement.js.html +++ b/docs/ast_expressionstatement.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_for.js.html b/docs/ast_for.js.html index 7a68f735c..fb2b02e1b 100644 --- a/docs/ast_for.js.html +++ b/docs/ast_for.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -153,7 +153,7 @@


diff --git a/docs/ast_foreach.js.html b/docs/ast_foreach.js.html index 845b103e5..e36b91bdf 100644 --- a/docs/ast_foreach.js.html +++ b/docs/ast_foreach.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -153,7 +153,7 @@


diff --git a/docs/ast_function.js.html b/docs/ast_function.js.html index c599acab5..d9577a9e3 100644 --- a/docs/ast_function.js.html +++ b/docs/ast_function.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -152,7 +152,7 @@


diff --git a/docs/ast_global.js.html b/docs/ast_global.js.html index 662a4461d..cae4bd4c6 100644 --- a/docs/ast_global.js.html +++ b/docs/ast_global.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_goto.js.html b/docs/ast_goto.js.html index 76a9cb619..e0f37841a 100644 --- a/docs/ast_goto.js.html +++ b/docs/ast_goto.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -137,7 +137,7 @@


diff --git a/docs/ast_halt.js.html b/docs/ast_halt.js.html index 4fc380e08..3d70c7700 100644 --- a/docs/ast_halt.js.html +++ b/docs/ast_halt.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -137,7 +137,7 @@


diff --git a/docs/ast_identifier.js.html b/docs/ast_identifier.js.html index fc1f1fcbc..c2e2ea1d0 100644 --- a/docs/ast_identifier.js.html +++ b/docs/ast_identifier.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -142,7 +142,7 @@


diff --git a/docs/ast_if.js.html b/docs/ast_if.js.html index 03479a122..bd47743e0 100644 --- a/docs/ast_if.js.html +++ b/docs/ast_if.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -149,7 +149,7 @@


diff --git a/docs/ast_include.js.html b/docs/ast_include.js.html index e500f1ded..ea6f368ec 100644 --- a/docs/ast_include.js.html +++ b/docs/ast_include.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_inline.js.html b/docs/ast_inline.js.html index d9f95f350..7b7d4f82c 100644 --- a/docs/ast_inline.js.html +++ b/docs/ast_inline.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_interface.js.html b/docs/ast_interface.js.html index c2b49b317..204a5b25f 100644 --- a/docs/ast_interface.js.html +++ b/docs/ast_interface.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -144,7 +144,7 @@


diff --git a/docs/ast_isset.js.html b/docs/ast_isset.js.html index 0230a6463..da0a66720 100644 --- a/docs/ast_isset.js.html +++ b/docs/ast_isset.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_label.js.html b/docs/ast_label.js.html index 2127a0585..456dc3e36 100644 --- a/docs/ast_label.js.html +++ b/docs/ast_label.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -136,7 +136,7 @@


diff --git a/docs/ast_list.js.html b/docs/ast_list.js.html index 9d28192fa..174dffc66 100644 --- a/docs/ast_list.js.html +++ b/docs/ast_list.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -142,7 +142,7 @@


diff --git a/docs/ast_literal.js.html b/docs/ast_literal.js.html index b74b83603..4f1340810 100644 --- a/docs/ast_literal.js.html +++ b/docs/ast_literal.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_location.js.html b/docs/ast_location.js.html index 618b90fa8..3af06641f 100644 --- a/docs/ast_location.js.html +++ b/docs/ast_location.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -137,7 +137,7 @@


diff --git a/docs/ast_lookup.js.html b/docs/ast_lookup.js.html index 9083b07fd..e73ea5bd5 100644 --- a/docs/ast_lookup.js.html +++ b/docs/ast_lookup.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -144,7 +144,7 @@


diff --git a/docs/ast_magic.js.html b/docs/ast_magic.js.html index 700d0da90..eba4cbd51 100644 --- a/docs/ast_magic.js.html +++ b/docs/ast_magic.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_method.js.html b/docs/ast_method.js.html index f8135751f..1cbc59129 100644 --- a/docs/ast_method.js.html +++ b/docs/ast_method.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_namespace.js.html b/docs/ast_namespace.js.html index 360650211..3b3d860cf 100644 --- a/docs/ast_namespace.js.html +++ b/docs/ast_namespace.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -144,7 +144,7 @@


diff --git a/docs/ast_new.js.html b/docs/ast_new.js.html index 753c71020..20a1ef74b 100644 --- a/docs/ast_new.js.html +++ b/docs/ast_new.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_node.js.html b/docs/ast_node.js.html index 02ef3b295..a7afa2d30 100644 --- a/docs/ast_node.js.html +++ b/docs/ast_node.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -217,7 +217,7 @@


diff --git a/docs/ast_noop.js.html b/docs/ast_noop.js.html new file mode 100644 index 000000000..e8b23353a --- /dev/null +++ b/docs/ast_noop.js.html @@ -0,0 +1,161 @@ + + + + + + + + + + + ast/noop.js - Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ ast/noop.js +

+ + + + + +
+
+
/**
+ * Copyright (C) 2018 Glayzzle (BSD3 License)
+ * @authors https://github.com/glayzzle/php-parser/graphs/contributors
+ * @url http://glayzzle.com
+ */
+"use strict";
+
+const Node = require("./node");
+const KIND = "noop";
+
+/**
+ * Ignore this node, it implies a no operation block, for example :
+ * [$foo, $bar, /* here a noop node * /]
+ * @constructor Noop
+ * @extends {Node}
+ */
+module.exports = Node.extends(KIND, function Noop(docs, location) {
+  Node.apply(this, [KIND, docs, location]);
+});
+
+
+
+ + + + +
+ +
+ + + + + + + + + + + + diff --git a/docs/ast_nowdoc.js.html b/docs/ast_nowdoc.js.html index ca5d63a0a..4642fa08e 100644 --- a/docs/ast_nowdoc.js.html +++ b/docs/ast_nowdoc.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_number.js.html b/docs/ast_number.js.html index c26c163a3..df0b1b750 100644 --- a/docs/ast_number.js.html +++ b/docs/ast_number.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_offsetlookup.js.html b/docs/ast_offsetlookup.js.html index 7cd524367..a2c3a55f9 100644 --- a/docs/ast_offsetlookup.js.html +++ b/docs/ast_offsetlookup.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_operation.js.html b/docs/ast_operation.js.html index 47acdc028..ce31b29e0 100644 --- a/docs/ast_operation.js.html +++ b/docs/ast_operation.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -134,7 +134,7 @@


diff --git a/docs/ast_parameter.js.html b/docs/ast_parameter.js.html index e09673ae3..995be27b3 100644 --- a/docs/ast_parameter.js.html +++ b/docs/ast_parameter.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -153,7 +153,7 @@


diff --git a/docs/ast_parentreference.js.html b/docs/ast_parentreference.js.html index 5b7f16647..393910870 100644 --- a/docs/ast_parentreference.js.html +++ b/docs/ast_parentreference.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_position.js.html b/docs/ast_position.js.html index d9755b1d6..6649d4dfc 100644 --- a/docs/ast_position.js.html +++ b/docs/ast_position.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -137,7 +137,7 @@


diff --git a/docs/ast_post.js.html b/docs/ast_post.js.html index f6480c778..6d40b51e4 100644 --- a/docs/ast_post.js.html +++ b/docs/ast_post.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_pre.js.html b/docs/ast_pre.js.html index 43bbaa712..f81dbb3da 100644 --- a/docs/ast_pre.js.html +++ b/docs/ast_pre.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_print.js.html b/docs/ast_print.js.html index 02c98b221..49991bef6 100644 --- a/docs/ast_print.js.html +++ b/docs/ast_print.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_program.js.html b/docs/ast_program.js.html index b4c507c0e..471a95b0e 100644 --- a/docs/ast_program.js.html +++ b/docs/ast_program.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -151,7 +151,7 @@


diff --git a/docs/ast_property.js.html b/docs/ast_property.js.html index ad5093681..a2a5ed60c 100644 --- a/docs/ast_property.js.html +++ b/docs/ast_property.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_propertylookup.js.html b/docs/ast_propertylookup.js.html index fcdc7af7c..f58353b38 100644 --- a/docs/ast_propertylookup.js.html +++ b/docs/ast_propertylookup.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_propertystatement.js.html b/docs/ast_propertystatement.js.html index 85c049e0c..09f814f68 100644 --- a/docs/ast_propertystatement.js.html +++ b/docs/ast_propertystatement.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -171,7 +171,7 @@


diff --git a/docs/ast_reference.js.html b/docs/ast_reference.js.html index 55dae1976..927520861 100644 --- a/docs/ast_reference.js.html +++ b/docs/ast_reference.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -136,7 +136,7 @@


diff --git a/docs/ast_retif.js.html b/docs/ast_retif.js.html index df95e8cb9..410f28b2b 100644 --- a/docs/ast_retif.js.html +++ b/docs/ast_retif.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_return.js.html b/docs/ast_return.js.html index b6bcec492..d19859c8d 100644 --- a/docs/ast_return.js.html +++ b/docs/ast_return.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -136,7 +136,7 @@


diff --git a/docs/ast_selfreference.js.html b/docs/ast_selfreference.js.html index f3e1a8ff8..5d37a64ae 100644 --- a/docs/ast_selfreference.js.html +++ b/docs/ast_selfreference.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_silent.js.html b/docs/ast_silent.js.html index c39905030..2f59f8bc0 100644 --- a/docs/ast_silent.js.html +++ b/docs/ast_silent.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_statement.js.html b/docs/ast_statement.js.html index ef6c092ce..39eec6e81 100644 --- a/docs/ast_statement.js.html +++ b/docs/ast_statement.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -134,7 +134,7 @@


diff --git a/docs/ast_static.js.html b/docs/ast_static.js.html index 73b36e683..6208ef46b 100644 --- a/docs/ast_static.js.html +++ b/docs/ast_static.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_staticlookup.js.html b/docs/ast_staticlookup.js.html index a4e3773e9..fad639213 100644 --- a/docs/ast_staticlookup.js.html +++ b/docs/ast_staticlookup.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_staticreference.js.html b/docs/ast_staticreference.js.html index b59b0d085..1649735e6 100644 --- a/docs/ast_staticreference.js.html +++ b/docs/ast_staticreference.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -140,7 +140,7 @@


diff --git a/docs/ast_staticvariable.js.html b/docs/ast_staticvariable.js.html index c44e291c3..260473866 100644 --- a/docs/ast_staticvariable.js.html +++ b/docs/ast_staticvariable.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_string.js.html b/docs/ast_string.js.html index 3d7ca142d..dd1460716 100644 --- a/docs/ast_string.js.html +++ b/docs/ast_string.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_switch.js.html b/docs/ast_switch.js.html index c7d2d98c6..07fb7741f 100644 --- a/docs/ast_switch.js.html +++ b/docs/ast_switch.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_throw.js.html b/docs/ast_throw.js.html index 9418f71d3..1b3b52ebb 100644 --- a/docs/ast_throw.js.html +++ b/docs/ast_throw.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -136,7 +136,7 @@


diff --git a/docs/ast_trait.js.html b/docs/ast_trait.js.html index 3d8ba2303..c11f9e5cf 100644 --- a/docs/ast_trait.js.html +++ b/docs/ast_trait.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -141,7 +141,7 @@


diff --git a/docs/ast_traitalias.js.html b/docs/ast_traitalias.js.html index f3500c549..88b72eba9 100644 --- a/docs/ast_traitalias.js.html +++ b/docs/ast_traitalias.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -163,7 +163,7 @@


diff --git a/docs/ast_traitprecedence.js.html b/docs/ast_traitprecedence.js.html index 439c48161..2a58f0ef8 100644 --- a/docs/ast_traitprecedence.js.html +++ b/docs/ast_traitprecedence.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_traituse.js.html b/docs/ast_traituse.js.html index 113f6dc7b..c54c00c1b 100644 --- a/docs/ast_traituse.js.html +++ b/docs/ast_traituse.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_try.js.html b/docs/ast_try.js.html index 5d561bac8..d8332e804 100644 --- a/docs/ast_try.js.html +++ b/docs/ast_try.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_typereference.js.html b/docs/ast_typereference.js.html index 572e3cc68..9dce07b6a 100644 --- a/docs/ast_typereference.js.html +++ b/docs/ast_typereference.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -156,7 +156,7 @@


diff --git a/docs/ast_unary.js.html b/docs/ast_unary.js.html index 362ac3db4..701419d91 100644 --- a/docs/ast_unary.js.html +++ b/docs/ast_unary.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -143,7 +143,7 @@


diff --git a/docs/ast_unset.js.html b/docs/ast_unset.js.html index 28cbab649..952bfb7a9 100644 --- a/docs/ast_unset.js.html +++ b/docs/ast_unset.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -139,7 +139,7 @@


diff --git a/docs/ast_usegroup.js.html b/docs/ast_usegroup.js.html index e0f330cee..3140cf3f9 100644 --- a/docs/ast_usegroup.js.html +++ b/docs/ast_usegroup.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -148,7 +148,7 @@


diff --git a/docs/ast_useitem.js.html b/docs/ast_useitem.js.html index f0c3aeb9f..6db8920ad 100644 --- a/docs/ast_useitem.js.html +++ b/docs/ast_useitem.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -161,7 +161,7 @@


diff --git a/docs/ast_variable.js.html b/docs/ast_variable.js.html index 14acf2839..3824b05f5 100644 --- a/docs/ast_variable.js.html +++ b/docs/ast_variable.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -157,7 +157,7 @@


diff --git a/docs/ast_variadic.js.html b/docs/ast_variadic.js.html index 47386d7f4..3086bf4c3 100644 --- a/docs/ast_variadic.js.html +++ b/docs/ast_variadic.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -141,7 +141,7 @@


diff --git a/docs/ast_while.js.html b/docs/ast_while.js.html index 983ae9938..2ebc334c0 100644 --- a/docs/ast_while.js.html +++ b/docs/ast_while.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -146,7 +146,7 @@


diff --git a/docs/ast_yield.js.html b/docs/ast_yield.js.html index 4990e97e9..c8a604ba3 100644 --- a/docs/ast_yield.js.html +++ b/docs/ast_yield.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -144,7 +144,7 @@


diff --git a/docs/ast_yieldfrom.js.html b/docs/ast_yieldfrom.js.html index 2064d25d1..a37fab448 100644 --- a/docs/ast_yieldfrom.js.html +++ b/docs/ast_yieldfrom.js.html @@ -89,7 +89,7 @@

-

Classes

+

Classes

@@ -141,7 +141,7 @@


diff --git a/docs/engine.html b/docs/engine.html index 58a357958..f21572235 100644 --- a/docs/engine.html +++ b/docs/engine.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -490,12 +490,15 @@

Function that parse a php code with open/close tags

Sample code :

-
<?php $x = 1;

Usage :

+
<?php $x = 1;
+
+

Usage :

var parser = require('php-parser');
 var phpParser = new parser({
   // some options
 });
-var ast = phpParser.parseCode('...php code...', 'foo.php');
+var ast = phpParser.parseCode('...php code...', 'foo.php'); +
@@ -960,7 +963,7 @@

Parameters:

diff --git a/docs/fonts/OpenSans-Semibold-webfont.eot b/docs/fonts/OpenSans-Semibold-webfont.eot old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-Semibold-webfont.svg b/docs/fonts/OpenSans-Semibold-webfont.svg old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-Semibold-webfont.ttf b/docs/fonts/OpenSans-Semibold-webfont.ttf old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-Semibold-webfont.woff b/docs/fonts/OpenSans-Semibold-webfont.woff old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.eot b/docs/fonts/OpenSans-SemiboldItalic-webfont.eot old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.svg b/docs/fonts/OpenSans-SemiboldItalic-webfont.svg old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf b/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.woff b/docs/fonts/OpenSans-SemiboldItalic-webfont.woff old mode 100644 new mode 100755 diff --git a/docs/global.html b/docs/global.html index 3f077e4d3..cb9ad0459 100644 --- a/docs/global.html +++ b/docs/global.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -289,7 +289,7 @@

@@ -323,7 +323,8 @@

<?php
 declare(ticks=1) {
 // some statements
-}
+} +

@@ -397,7 +398,8 @@

declare(ticks=1); // some statements declare(ticks=2); -// some statements +// some statements +

@@ -468,7 +470,8 @@

<?php
 declare(ticks=1):
 // some statements
-enddeclare;
+enddeclare; +

@@ -808,7 +811,8 @@

echo <<<STR Hello $world STR -; +; +

@@ -877,7 +881,8 @@

The node contains a list of constref / variables / expr :

<?php
-echo $foo->bar_$baz;
+echo $foo->bar_$baz; +
@@ -946,7 +951,8 @@

The node is a shell execute string :

<?php
-echo `ls -larth $path`;
+echo `ls -larth $path`; +
@@ -1015,7 +1021,8 @@

The node is a double quote string :

<?php
-echo "hello $world";
+echo "hello $world"; +
@@ -1313,7 +1320,7 @@

Parameters:

diff --git a/docs/index.html b/docs/index.html index 43a031ec0..03dbbfec1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -87,7 +87,7 @@

-

Classes

+

Classes

@@ -105,7 +105,7 @@

Classes