@appthreat/atom 1.8.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/phpastgen.js +7 -1
- package/plugins/autoload.php +1 -1
- package/plugins/bin/atom +1 -1
- package/plugins/bin/atom.bat +1 -1
- package/plugins/composer/autoload_classmap.php +18 -18
- package/plugins/composer/autoload_real.php +4 -4
- package/plugins/composer/autoload_static.php +22 -22
- package/plugins/composer/installed.json +10 -12
- package/plugins/composer/installed.php +9 -9
- package/plugins/lib/io.appthreat.atom-1.8.2-classpath.jar +0 -0
- package/plugins/lib/{io.appthreat.atom-1.8.1.jar → io.appthreat.atom-1.8.2.jar} +0 -0
- package/plugins/lib/{io.appthreat.c2cpg_3-1.1.3.jar → io.appthreat.c2cpg_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.dataflowengineoss_3-1.1.3.jar → io.appthreat.dataflowengineoss_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.javasrc2cpg_3-1.1.3.jar → io.appthreat.javasrc2cpg_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.jimple2cpg_3-1.1.3.jar → io.appthreat.jimple2cpg_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.jssrc2cpg_3-1.1.3.jar → io.appthreat.jssrc2cpg_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.php2atom_3-1.1.3.jar → io.appthreat.php2atom_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.pysrc2cpg_3-1.1.3.jar → io.appthreat.pysrc2cpg_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.semanticcpg_3-1.1.3.jar → io.appthreat.semanticcpg_3-1.1.4.jar} +0 -0
- package/plugins/lib/{io.appthreat.x2cpg_3-1.1.3.jar → io.appthreat.x2cpg_3-1.1.4.jar} +0 -0
- package/plugins/nikic/php-parser/README.md +12 -20
- package/plugins/nikic/php-parser/bin/php-parse +10 -11
- package/plugins/nikic/php-parser/composer.json +4 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +15 -17
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Class_.php +30 -35
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +4 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +7 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +27 -26
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +7 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Function_.php +7 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +10 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Method.php +15 -16
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +5 -5
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Param.php +35 -16
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Property.php +19 -19
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +5 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +28 -25
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +11 -16
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Use_.php +8 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Builder.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/BuilderFactory.php +69 -45
- package/plugins/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +19 -17
- package/plugins/nikic/php-parser/lib/PhpParser/Comment/Doc.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Comment.php +67 -35
- package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +3 -3
- package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +10 -15
- package/plugins/nikic/php-parser/lib/PhpParser/Error.php +33 -24
- package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +9 -6
- package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +7 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/Differ.php +22 -36
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +13 -20
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +70 -55
- package/plugins/nikic/php-parser/lib/PhpParser/JsonDecoder.php +10 -15
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +93 -68
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +18 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +47 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +15 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +11 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +76 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +23 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +25 -19
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +10 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +29 -22
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +105 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +3 -3
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +15 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +5 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +5 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer.php +513 -69
- package/plugins/nikic/php-parser/lib/PhpParser/NameContext.php +24 -23
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Arg.php +15 -13
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Attribute.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +7 -5
- package/plugins/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Const_.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +11 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +39 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +11 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +28 -33
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +11 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +7 -3
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +6 -5
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +6 -5
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +10 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +26 -33
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +32 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +6 -5
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +11 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +11 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +14 -13
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +11 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +8 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +7 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +12 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +11 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +12 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +10 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +7 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +10 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +9 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +13 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +11 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +13 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +7 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +7 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +11 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +8 -5
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Identifier.php +13 -13
- package/plugins/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +9 -6
- package/plugins/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Name.php +56 -71
- package/plugins/nikic/php-parser/lib/PhpParser/Node/NullableType.php +10 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Param.php +22 -46
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +75 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +29 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +28 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +78 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +26 -30
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +11 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +12 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +32 -24
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +13 -13
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +54 -47
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +89 -46
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +32 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +12 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +12 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +13 -17
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +15 -19
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +17 -20
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +24 -28
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +14 -16
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +15 -18
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +10 -13
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +12 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +37 -28
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +32 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +35 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +8 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +9 -8
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +13 -12
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +4 -3
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +8 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +12 -11
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +50 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +16 -16
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +10 -9
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Node/UnionType.php +8 -7
- package/plugins/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +2 -2
- package/plugins/nikic/php-parser/lib/PhpParser/Node.php +29 -24
- package/plugins/nikic/php-parser/lib/PhpParser/NodeAbstract.php +20 -20
- package/plugins/nikic/php-parser/lib/PhpParser/NodeDumper.php +84 -168
- package/plugins/nikic/php-parser/lib/PhpParser/NodeFinder.php +19 -28
- package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverser.php +84 -71
- package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +7 -4
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +5 -4
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +7 -6
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +28 -30
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +3 -2
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +11 -8
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor.php +7 -59
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +2 -1
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +55 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php5.php +2682 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php7.php +1522 -1323
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +148 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser.php +3 -9
- package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +252 -433
- package/plugins/nikic/php-parser/lib/PhpParser/ParserFactory.php +49 -15
- package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +335 -386
- package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +438 -517
- package/plugins/lib/io.appthreat.atom-1.8.1-classpath.jar +0 -0
- package/plugins/nikic/php-parser/.php-cs-fixer.dist.php +0 -31
- package/plugins/nikic/php-parser/Makefile +0 -10
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +0 -237
- package/plugins/nikic/php-parser/lib/PhpParser/Modifiers.php +0 -69
- package/plugins/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +0 -43
- package/plugins/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +0 -36
- package/plugins/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +0 -37
- package/plugins/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +0 -32
- package/plugins/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +0 -37
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +0 -78
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +0 -82
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +0 -34
- package/plugins/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +0 -39
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +0 -29
- package/plugins/nikic/php-parser/lib/PhpParser/Node/UseItem.php +0 -55
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +0 -82
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php8.php +0 -2717
- package/plugins/nikic/php-parser/lib/PhpParser/PhpVersion.php +0 -164
- package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +0 -51
- package/plugins/nikic/php-parser/lib/PhpParser/Token.php +0 -18
- package/plugins/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +0 -56
- package/plugins/nikic/php-parser/phpstan-baseline.neon +0 -236
- package/plugins/nikic/php-parser/phpstan.neon.dist +0 -8
|
@@ -1,3 +1,30 @@
|
|
|
1
1
|
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
namespace PhpParser\Node\Scalar;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node\Scalar;
|
|
6
|
+
|
|
7
|
+
class EncapsedStringPart extends Scalar
|
|
8
|
+
{
|
|
9
|
+
/** @var string String value */
|
|
10
|
+
public $value;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a node representing a string part of an encapsed string.
|
|
14
|
+
*
|
|
15
|
+
* @param string $value String value
|
|
16
|
+
* @param array $attributes Additional attributes
|
|
17
|
+
*/
|
|
18
|
+
public function __construct(string $value, array $attributes = []) {
|
|
19
|
+
$this->attributes = $attributes;
|
|
20
|
+
$this->value = $value;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public function getSubNodeNames() : array {
|
|
24
|
+
return ['value'];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public function getType() : string {
|
|
28
|
+
return 'Scalar_EncapsedStringPart';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,3 +1,80 @@
|
|
|
1
1
|
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
namespace PhpParser\Node\Scalar;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Error;
|
|
6
|
+
use PhpParser\Node\Scalar;
|
|
7
|
+
|
|
8
|
+
class LNumber extends Scalar
|
|
9
|
+
{
|
|
10
|
+
/* For use in "kind" attribute */
|
|
11
|
+
const KIND_BIN = 2;
|
|
12
|
+
const KIND_OCT = 8;
|
|
13
|
+
const KIND_DEC = 10;
|
|
14
|
+
const KIND_HEX = 16;
|
|
15
|
+
|
|
16
|
+
/** @var int Number value */
|
|
17
|
+
public $value;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Constructs an integer number scalar node.
|
|
21
|
+
*
|
|
22
|
+
* @param int $value Value of the number
|
|
23
|
+
* @param array $attributes Additional attributes
|
|
24
|
+
*/
|
|
25
|
+
public function __construct(int $value, array $attributes = []) {
|
|
26
|
+
$this->attributes = $attributes;
|
|
27
|
+
$this->value = $value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public function getSubNodeNames() : array {
|
|
31
|
+
return ['value'];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Constructs an LNumber node from a string number literal.
|
|
36
|
+
*
|
|
37
|
+
* @param string $str String number literal (decimal, octal, hex or binary)
|
|
38
|
+
* @param array $attributes Additional attributes
|
|
39
|
+
* @param bool $allowInvalidOctal Whether to allow invalid octal numbers (PHP 5)
|
|
40
|
+
*
|
|
41
|
+
* @return LNumber The constructed LNumber, including kind attribute
|
|
42
|
+
*/
|
|
43
|
+
public static function fromString(string $str, array $attributes = [], bool $allowInvalidOctal = false) : LNumber {
|
|
44
|
+
$attributes['rawValue'] = $str;
|
|
45
|
+
|
|
46
|
+
$str = str_replace('_', '', $str);
|
|
47
|
+
|
|
48
|
+
if ('0' !== $str[0] || '0' === $str) {
|
|
49
|
+
$attributes['kind'] = LNumber::KIND_DEC;
|
|
50
|
+
return new LNumber((int) $str, $attributes);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if ('x' === $str[1] || 'X' === $str[1]) {
|
|
54
|
+
$attributes['kind'] = LNumber::KIND_HEX;
|
|
55
|
+
return new LNumber(hexdec($str), $attributes);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if ('b' === $str[1] || 'B' === $str[1]) {
|
|
59
|
+
$attributes['kind'] = LNumber::KIND_BIN;
|
|
60
|
+
return new LNumber(bindec($str), $attributes);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (!$allowInvalidOctal && strpbrk($str, '89')) {
|
|
64
|
+
throw new Error('Invalid numeric literal', $attributes);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Strip optional explicit octal prefix.
|
|
68
|
+
if ('o' === $str[1] || 'O' === $str[1]) {
|
|
69
|
+
$str = substr($str, 2);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// use intval instead of octdec to get proper cutting behavior with malformed numbers
|
|
73
|
+
$attributes['kind'] = LNumber::KIND_OCT;
|
|
74
|
+
return new LNumber(intval($str, 8), $attributes);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public function getType() : string {
|
|
78
|
+
return 'Scalar_LNumber';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Class_ extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Class_ extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__CLASS__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Class';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Dir extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Dir extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__DIR__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Dir';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class File extends MagicConst
|
|
8
|
-
|
|
7
|
+
class File extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__FILE__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_File';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Function_ extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Function_ extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__FUNCTION__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Function';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Line extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Line extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__LINE__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Line';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Method extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Method extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__METHOD__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Method';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Namespace_ extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Namespace_ extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__NAMESPACE__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Namespace';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Scalar\MagicConst;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar\MagicConst;
|
|
6
6
|
|
|
7
|
-
class Trait_ extends MagicConst
|
|
8
|
-
|
|
7
|
+
class Trait_ extends MagicConst
|
|
8
|
+
{
|
|
9
|
+
public function getName() : string {
|
|
9
10
|
return '__TRAIT__';
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
public function getType(): string {
|
|
12
|
+
|
|
13
|
+
public function getType() : string {
|
|
13
14
|
return 'Scalar_MagicConst_Trait';
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -4,17 +4,18 @@ namespace PhpParser\Node\Scalar;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Scalar;
|
|
6
6
|
|
|
7
|
-
abstract class MagicConst extends Scalar
|
|
7
|
+
abstract class MagicConst extends Scalar
|
|
8
|
+
{
|
|
8
9
|
/**
|
|
9
10
|
* Constructs a magic constant node.
|
|
10
11
|
*
|
|
11
|
-
* @param array
|
|
12
|
+
* @param array $attributes Additional attributes
|
|
12
13
|
*/
|
|
13
14
|
public function __construct(array $attributes = []) {
|
|
14
15
|
$this->attributes = $attributes;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
public function getSubNodeNames(): array {
|
|
18
|
+
public function getSubNodeNames() : array {
|
|
18
19
|
return [];
|
|
19
20
|
}
|
|
20
21
|
|
|
@@ -23,5 +24,5 @@ abstract class MagicConst extends Scalar {
|
|
|
23
24
|
*
|
|
24
25
|
* @return string Name of magic constant
|
|
25
26
|
*/
|
|
26
|
-
abstract public function getName(): string;
|
|
27
|
+
abstract public function getName() : string;
|
|
27
28
|
}
|
|
@@ -5,18 +5,18 @@ namespace PhpParser\Node\Scalar;
|
|
|
5
5
|
use PhpParser\Error;
|
|
6
6
|
use PhpParser\Node\Scalar;
|
|
7
7
|
|
|
8
|
-
class String_ extends Scalar
|
|
8
|
+
class String_ extends Scalar
|
|
9
|
+
{
|
|
9
10
|
/* For use in "kind" attribute */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const KIND_SINGLE_QUOTED = 1;
|
|
12
|
+
const KIND_DOUBLE_QUOTED = 2;
|
|
13
|
+
const KIND_HEREDOC = 3;
|
|
14
|
+
const KIND_NOWDOC = 4;
|
|
14
15
|
|
|
15
16
|
/** @var string String value */
|
|
16
|
-
public
|
|
17
|
+
public $value;
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
protected static array $replacements = [
|
|
19
|
+
protected static $replacements = [
|
|
20
20
|
'\\' => '\\',
|
|
21
21
|
'$' => '$',
|
|
22
22
|
'n' => "\n",
|
|
@@ -30,23 +30,23 @@ class String_ extends Scalar {
|
|
|
30
30
|
/**
|
|
31
31
|
* Constructs a string scalar node.
|
|
32
32
|
*
|
|
33
|
-
* @param string $value
|
|
34
|
-
* @param array
|
|
33
|
+
* @param string $value Value of the string
|
|
34
|
+
* @param array $attributes Additional attributes
|
|
35
35
|
*/
|
|
36
36
|
public function __construct(string $value, array $attributes = []) {
|
|
37
37
|
$this->attributes = $attributes;
|
|
38
38
|
$this->value = $value;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
public function getSubNodeNames(): array {
|
|
41
|
+
public function getSubNodeNames() : array {
|
|
42
42
|
return ['value'];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
* @param array<string, mixed> $attributes
|
|
47
46
|
* @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes
|
|
48
47
|
*/
|
|
49
|
-
public static function fromString(string $str, array $attributes = [], bool $parseUnicodeEscape = true): self
|
|
48
|
+
public static function fromString(string $str, array $attributes = [], bool $parseUnicodeEscape = true): self
|
|
49
|
+
{
|
|
50
50
|
$attributes['kind'] = ($str[0] === "'" || ($str[1] === "'" && ($str[0] === 'b' || $str[0] === 'B')))
|
|
51
51
|
? Scalar\String_::KIND_SINGLE_QUOTED
|
|
52
52
|
: Scalar\String_::KIND_DOUBLE_QUOTED;
|
|
@@ -68,7 +68,7 @@ class String_ extends Scalar {
|
|
|
68
68
|
*
|
|
69
69
|
* @return string The parsed string
|
|
70
70
|
*/
|
|
71
|
-
public static function parse(string $str, bool $parseUnicodeEscape = true): string {
|
|
71
|
+
public static function parse(string $str, bool $parseUnicodeEscape = true) : string {
|
|
72
72
|
$bLength = 0;
|
|
73
73
|
if ('b' === $str[0] || 'B' === $str[0]) {
|
|
74
74
|
$bLength = 1;
|
|
@@ -92,13 +92,13 @@ class String_ extends Scalar {
|
|
|
92
92
|
*
|
|
93
93
|
* Parses escape sequences in strings (all string types apart from single quoted).
|
|
94
94
|
*
|
|
95
|
-
* @param string
|
|
95
|
+
* @param string $str String without quotes
|
|
96
96
|
* @param null|string $quote Quote type
|
|
97
97
|
* @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes
|
|
98
98
|
*
|
|
99
99
|
* @return string String with escape sequences parsed
|
|
100
100
|
*/
|
|
101
|
-
public static function parseEscapeSequences(string $str,
|
|
101
|
+
public static function parseEscapeSequences(string $str, $quote, bool $parseUnicodeEscape = true) : string {
|
|
102
102
|
if (null !== $quote) {
|
|
103
103
|
$str = str_replace('\\' . $quote, $quote, $str);
|
|
104
104
|
}
|
|
@@ -110,19 +110,15 @@ class String_ extends Scalar {
|
|
|
110
110
|
|
|
111
111
|
return preg_replace_callback(
|
|
112
112
|
'~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3}' . $extra . ')~',
|
|
113
|
-
function
|
|
113
|
+
function($matches) {
|
|
114
114
|
$str = $matches[1];
|
|
115
115
|
|
|
116
116
|
if (isset(self::$replacements[$str])) {
|
|
117
117
|
return self::$replacements[$str];
|
|
118
|
-
}
|
|
119
|
-
if ('x' === $str[0] || 'X' === $str[0]) {
|
|
118
|
+
} elseif ('x' === $str[0] || 'X' === $str[0]) {
|
|
120
119
|
return chr(hexdec(substr($str, 1)));
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
$dec = hexdec($matches[2]);
|
|
124
|
-
// If it overflowed to float, treat as INT_MAX, it will throw an error anyway.
|
|
125
|
-
return self::codePointToUtf8(\is_int($dec) ? $dec : \PHP_INT_MAX);
|
|
120
|
+
} elseif ('u' === $str[0]) {
|
|
121
|
+
return self::codePointToUtf8(hexdec($matches[2]));
|
|
126
122
|
} else {
|
|
127
123
|
return chr(octdec($str));
|
|
128
124
|
}
|
|
@@ -138,24 +134,24 @@ class String_ extends Scalar {
|
|
|
138
134
|
*
|
|
139
135
|
* @return string UTF-8 representation of code point
|
|
140
136
|
*/
|
|
141
|
-
private static function codePointToUtf8(int $num): string {
|
|
137
|
+
private static function codePointToUtf8(int $num) : string {
|
|
142
138
|
if ($num <= 0x7F) {
|
|
143
139
|
return chr($num);
|
|
144
140
|
}
|
|
145
141
|
if ($num <= 0x7FF) {
|
|
146
|
-
return chr(($num
|
|
142
|
+
return chr(($num>>6) + 0xC0) . chr(($num&0x3F) + 0x80);
|
|
147
143
|
}
|
|
148
144
|
if ($num <= 0xFFFF) {
|
|
149
|
-
return chr(($num
|
|
145
|
+
return chr(($num>>12) + 0xE0) . chr((($num>>6)&0x3F) + 0x80) . chr(($num&0x3F) + 0x80);
|
|
150
146
|
}
|
|
151
147
|
if ($num <= 0x1FFFFF) {
|
|
152
|
-
return chr(($num
|
|
153
|
-
. chr((($num
|
|
148
|
+
return chr(($num>>18) + 0xF0) . chr((($num>>12)&0x3F) + 0x80)
|
|
149
|
+
. chr((($num>>6)&0x3F) + 0x80) . chr(($num&0x3F) + 0x80);
|
|
154
150
|
}
|
|
155
151
|
throw new Error('Invalid UTF-8 codepoint escape sequence: Codepoint too large');
|
|
156
152
|
}
|
|
157
153
|
|
|
158
|
-
public function getType(): string {
|
|
154
|
+
public function getType() : string {
|
|
159
155
|
return 'Scalar_String';
|
|
160
156
|
}
|
|
161
157
|
}
|
|
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Stmt;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
|
|
7
|
-
class Break_ extends Node\Stmt
|
|
7
|
+
class Break_ extends Node\Stmt
|
|
8
|
+
{
|
|
8
9
|
/** @var null|Node\Expr Number of loops to break */
|
|
9
|
-
public
|
|
10
|
+
public $num;
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Constructs a break node.
|
|
13
14
|
*
|
|
14
|
-
* @param null|Node\Expr $num
|
|
15
|
-
* @param array
|
|
15
|
+
* @param null|Node\Expr $num Number of loops to break
|
|
16
|
+
* @param array $attributes Additional attributes
|
|
16
17
|
*/
|
|
17
|
-
public function __construct(
|
|
18
|
+
public function __construct(Node\Expr $num = null, array $attributes = []) {
|
|
18
19
|
$this->attributes = $attributes;
|
|
19
20
|
$this->num = $num;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
public function getSubNodeNames(): array {
|
|
23
|
+
public function getSubNodeNames() : array {
|
|
23
24
|
return ['num'];
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
public function getType(): string {
|
|
26
|
+
|
|
27
|
+
public function getType() : string {
|
|
27
28
|
return 'Stmt_Break';
|
|
28
29
|
}
|
|
29
30
|
}
|
|
@@ -4,30 +4,31 @@ namespace PhpParser\Node\Stmt;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
|
|
7
|
-
class Case_ extends Node\Stmt
|
|
7
|
+
class Case_ extends Node\Stmt
|
|
8
|
+
{
|
|
8
9
|
/** @var null|Node\Expr Condition (null for default) */
|
|
9
|
-
public
|
|
10
|
+
public $cond;
|
|
10
11
|
/** @var Node\Stmt[] Statements */
|
|
11
|
-
public
|
|
12
|
+
public $stmts;
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Constructs a case node.
|
|
15
16
|
*
|
|
16
|
-
* @param null|Node\Expr $cond
|
|
17
|
-
* @param Node\Stmt[]
|
|
18
|
-
* @param array
|
|
17
|
+
* @param null|Node\Expr $cond Condition (null for default)
|
|
18
|
+
* @param Node\Stmt[] $stmts Statements
|
|
19
|
+
* @param array $attributes Additional attributes
|
|
19
20
|
*/
|
|
20
|
-
public function __construct(
|
|
21
|
+
public function __construct($cond, array $stmts = [], array $attributes = []) {
|
|
21
22
|
$this->attributes = $attributes;
|
|
22
23
|
$this->cond = $cond;
|
|
23
24
|
$this->stmts = $stmts;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
public function getSubNodeNames(): array {
|
|
27
|
+
public function getSubNodeNames() : array {
|
|
27
28
|
return ['cond', 'stmts'];
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
public function getType(): string {
|
|
30
|
+
|
|
31
|
+
public function getType() : string {
|
|
31
32
|
return 'Stmt_Case';
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -5,24 +5,25 @@ namespace PhpParser\Node\Stmt;
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
use PhpParser\Node\Expr;
|
|
7
7
|
|
|
8
|
-
class Catch_ extends Node\Stmt
|
|
8
|
+
class Catch_ extends Node\Stmt
|
|
9
|
+
{
|
|
9
10
|
/** @var Node\Name[] Types of exceptions to catch */
|
|
10
|
-
public
|
|
11
|
+
public $types;
|
|
11
12
|
/** @var Expr\Variable|null Variable for exception */
|
|
12
|
-
public
|
|
13
|
+
public $var;
|
|
13
14
|
/** @var Node\Stmt[] Statements */
|
|
14
|
-
public
|
|
15
|
+
public $stmts;
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Constructs a catch node.
|
|
18
19
|
*
|
|
19
|
-
* @param Node\Name[]
|
|
20
|
-
* @param Expr\Variable|null
|
|
21
|
-
* @param Node\Stmt[]
|
|
22
|
-
* @param array
|
|
20
|
+
* @param Node\Name[] $types Types of exceptions to catch
|
|
21
|
+
* @param Expr\Variable|null $var Variable for exception
|
|
22
|
+
* @param Node\Stmt[] $stmts Statements
|
|
23
|
+
* @param array $attributes Additional attributes
|
|
23
24
|
*/
|
|
24
25
|
public function __construct(
|
|
25
|
-
array $types,
|
|
26
|
+
array $types, Expr\Variable $var = null, array $stmts = [], array $attributes = []
|
|
26
27
|
) {
|
|
27
28
|
$this->attributes = $attributes;
|
|
28
29
|
$this->types = $types;
|
|
@@ -30,11 +31,11 @@ class Catch_ extends Node\Stmt {
|
|
|
30
31
|
$this->stmts = $stmts;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
public function getSubNodeNames(): array {
|
|
34
|
+
public function getSubNodeNames() : array {
|
|
34
35
|
return ['types', 'var', 'stmts'];
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
public function getType(): string {
|
|
38
|
+
public function getType() : string {
|
|
38
39
|
return 'Stmt_Catch';
|
|
39
40
|
}
|
|
40
41
|
}
|