@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
|
@@ -5,26 +5,27 @@ namespace PhpParser\Node;
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
use PhpParser\NodeAbstract;
|
|
7
7
|
|
|
8
|
-
class MatchArm extends NodeAbstract
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
class MatchArm extends NodeAbstract
|
|
9
|
+
{
|
|
10
|
+
/** @var null|Node\Expr[] */
|
|
11
|
+
public $conds;
|
|
11
12
|
/** @var Node\Expr */
|
|
12
|
-
public
|
|
13
|
+
public $body;
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
|
-
* @param null|
|
|
16
|
+
* @param null|Node\Expr[] $conds
|
|
16
17
|
*/
|
|
17
|
-
public function __construct(
|
|
18
|
+
public function __construct($conds, Node\Expr $body, array $attributes = []) {
|
|
18
19
|
$this->conds = $conds;
|
|
19
20
|
$this->body = $body;
|
|
20
21
|
$this->attributes = $attributes;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
public function getSubNodeNames(): array {
|
|
24
|
+
public function getSubNodeNames() : array {
|
|
24
25
|
return ['conds', 'body'];
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
public function getType(): string {
|
|
28
|
+
public function getType() : string {
|
|
28
29
|
return 'MatchArm';
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Name;
|
|
4
4
|
|
|
5
|
-
class FullyQualified extends \PhpParser\Node\Name
|
|
5
|
+
class FullyQualified extends \PhpParser\Node\Name
|
|
6
|
+
{
|
|
6
7
|
/**
|
|
7
8
|
* Checks whether the name is unqualified. (E.g. Name)
|
|
8
9
|
*
|
|
9
10
|
* @return bool Whether the name is unqualified
|
|
10
11
|
*/
|
|
11
|
-
public function isUnqualified(): bool {
|
|
12
|
+
public function isUnqualified() : bool {
|
|
12
13
|
return false;
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -17,7 +18,7 @@ class FullyQualified extends \PhpParser\Node\Name {
|
|
|
17
18
|
*
|
|
18
19
|
* @return bool Whether the name is qualified
|
|
19
20
|
*/
|
|
20
|
-
public function isQualified(): bool {
|
|
21
|
+
public function isQualified() : bool {
|
|
21
22
|
return false;
|
|
22
23
|
}
|
|
23
24
|
|
|
@@ -26,7 +27,7 @@ class FullyQualified extends \PhpParser\Node\Name {
|
|
|
26
27
|
*
|
|
27
28
|
* @return bool Whether the name is fully qualified
|
|
28
29
|
*/
|
|
29
|
-
public function isFullyQualified(): bool {
|
|
30
|
+
public function isFullyQualified() : bool {
|
|
30
31
|
return true;
|
|
31
32
|
}
|
|
32
33
|
|
|
@@ -35,15 +36,15 @@ class FullyQualified extends \PhpParser\Node\Name {
|
|
|
35
36
|
*
|
|
36
37
|
* @return bool Whether the name is relative
|
|
37
38
|
*/
|
|
38
|
-
public function isRelative(): bool {
|
|
39
|
+
public function isRelative() : bool {
|
|
39
40
|
return false;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
public function toCodeString(): string {
|
|
43
|
+
public function toCodeString() : string {
|
|
43
44
|
return '\\' . $this->toString();
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
public function getType(): string {
|
|
46
|
+
|
|
47
|
+
public function getType() : string {
|
|
47
48
|
return 'Name_FullyQualified';
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Name;
|
|
4
4
|
|
|
5
|
-
class Relative extends \PhpParser\Node\Name
|
|
5
|
+
class Relative extends \PhpParser\Node\Name
|
|
6
|
+
{
|
|
6
7
|
/**
|
|
7
8
|
* Checks whether the name is unqualified. (E.g. Name)
|
|
8
9
|
*
|
|
9
10
|
* @return bool Whether the name is unqualified
|
|
10
11
|
*/
|
|
11
|
-
public function isUnqualified(): bool {
|
|
12
|
+
public function isUnqualified() : bool {
|
|
12
13
|
return false;
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -17,7 +18,7 @@ class Relative extends \PhpParser\Node\Name {
|
|
|
17
18
|
*
|
|
18
19
|
* @return bool Whether the name is qualified
|
|
19
20
|
*/
|
|
20
|
-
public function isQualified(): bool {
|
|
21
|
+
public function isQualified() : bool {
|
|
21
22
|
return false;
|
|
22
23
|
}
|
|
23
24
|
|
|
@@ -26,7 +27,7 @@ class Relative extends \PhpParser\Node\Name {
|
|
|
26
27
|
*
|
|
27
28
|
* @return bool Whether the name is fully qualified
|
|
28
29
|
*/
|
|
29
|
-
public function isFullyQualified(): bool {
|
|
30
|
+
public function isFullyQualified() : bool {
|
|
30
31
|
return false;
|
|
31
32
|
}
|
|
32
33
|
|
|
@@ -35,15 +36,15 @@ class Relative extends \PhpParser\Node\Name {
|
|
|
35
36
|
*
|
|
36
37
|
* @return bool Whether the name is relative
|
|
37
38
|
*/
|
|
38
|
-
public function isRelative(): bool {
|
|
39
|
+
public function isRelative() : bool {
|
|
39
40
|
return true;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
public function toCodeString(): string {
|
|
43
|
+
public function toCodeString() : string {
|
|
43
44
|
return 'namespace\\' . $this->toString();
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
public function getType(): string {
|
|
46
|
+
|
|
47
|
+
public function getType() : string {
|
|
47
48
|
return 'Name_Relative';
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -4,12 +4,15 @@ namespace PhpParser\Node;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\NodeAbstract;
|
|
6
6
|
|
|
7
|
-
class Name extends NodeAbstract
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
class Name extends NodeAbstract
|
|
8
|
+
{
|
|
9
|
+
/**
|
|
10
|
+
* @var string[] Parts of the name
|
|
11
|
+
* @deprecated Use getParts() instead
|
|
12
|
+
*/
|
|
13
|
+
public $parts;
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
private static array $specialClassNames = [
|
|
15
|
+
private static $specialClassNames = [
|
|
13
16
|
'self' => true,
|
|
14
17
|
'parent' => true,
|
|
15
18
|
'static' => true,
|
|
@@ -18,16 +21,16 @@ class Name extends NodeAbstract {
|
|
|
18
21
|
/**
|
|
19
22
|
* Constructs a name node.
|
|
20
23
|
*
|
|
21
|
-
* @param string|string[]|self $name
|
|
22
|
-
* @param array
|
|
24
|
+
* @param string|string[]|self $name Name as string, part array or Name instance (copy ctor)
|
|
25
|
+
* @param array $attributes Additional attributes
|
|
23
26
|
*/
|
|
24
|
-
|
|
27
|
+
public function __construct($name, array $attributes = []) {
|
|
25
28
|
$this->attributes = $attributes;
|
|
26
|
-
$this->
|
|
29
|
+
$this->parts = self::prepareName($name);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
public function getSubNodeNames(): array {
|
|
30
|
-
return ['
|
|
32
|
+
public function getSubNodeNames() : array {
|
|
33
|
+
return ['parts'];
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
/**
|
|
@@ -36,7 +39,7 @@ class Name extends NodeAbstract {
|
|
|
36
39
|
* @return string[] Parts of name
|
|
37
40
|
*/
|
|
38
41
|
public function getParts(): array {
|
|
39
|
-
return
|
|
42
|
+
return $this->parts;
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
/**
|
|
@@ -44,11 +47,8 @@ class Name extends NodeAbstract {
|
|
|
44
47
|
*
|
|
45
48
|
* @return string First part of the name
|
|
46
49
|
*/
|
|
47
|
-
public function getFirst(): string {
|
|
48
|
-
|
|
49
|
-
return \substr($this->name, 0, $pos);
|
|
50
|
-
}
|
|
51
|
-
return $this->name;
|
|
50
|
+
public function getFirst() : string {
|
|
51
|
+
return $this->parts[0];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -56,11 +56,8 @@ class Name extends NodeAbstract {
|
|
|
56
56
|
*
|
|
57
57
|
* @return string Last part of the name
|
|
58
58
|
*/
|
|
59
|
-
public function getLast(): string {
|
|
60
|
-
|
|
61
|
-
return \substr($this->name, $pos + 1);
|
|
62
|
-
}
|
|
63
|
-
return $this->name;
|
|
59
|
+
public function getLast() : string {
|
|
60
|
+
return $this->parts[count($this->parts) - 1];
|
|
64
61
|
}
|
|
65
62
|
|
|
66
63
|
/**
|
|
@@ -68,8 +65,8 @@ class Name extends NodeAbstract {
|
|
|
68
65
|
*
|
|
69
66
|
* @return bool Whether the name is unqualified
|
|
70
67
|
*/
|
|
71
|
-
public function isUnqualified(): bool {
|
|
72
|
-
return
|
|
68
|
+
public function isUnqualified() : bool {
|
|
69
|
+
return 1 === count($this->parts);
|
|
73
70
|
}
|
|
74
71
|
|
|
75
72
|
/**
|
|
@@ -77,8 +74,8 @@ class Name extends NodeAbstract {
|
|
|
77
74
|
*
|
|
78
75
|
* @return bool Whether the name is qualified
|
|
79
76
|
*/
|
|
80
|
-
public function isQualified(): bool {
|
|
81
|
-
return
|
|
77
|
+
public function isQualified() : bool {
|
|
78
|
+
return 1 < count($this->parts);
|
|
82
79
|
}
|
|
83
80
|
|
|
84
81
|
/**
|
|
@@ -86,7 +83,7 @@ class Name extends NodeAbstract {
|
|
|
86
83
|
*
|
|
87
84
|
* @return bool Whether the name is fully qualified
|
|
88
85
|
*/
|
|
89
|
-
public function isFullyQualified(): bool {
|
|
86
|
+
public function isFullyQualified() : bool {
|
|
90
87
|
return false;
|
|
91
88
|
}
|
|
92
89
|
|
|
@@ -95,7 +92,7 @@ class Name extends NodeAbstract {
|
|
|
95
92
|
*
|
|
96
93
|
* @return bool Whether the name is relative
|
|
97
94
|
*/
|
|
98
|
-
public function isRelative(): bool {
|
|
95
|
+
public function isRelative() : bool {
|
|
99
96
|
return false;
|
|
100
97
|
}
|
|
101
98
|
|
|
@@ -105,8 +102,8 @@ class Name extends NodeAbstract {
|
|
|
105
102
|
*
|
|
106
103
|
* @return string String representation
|
|
107
104
|
*/
|
|
108
|
-
public function toString(): string {
|
|
109
|
-
return $this->
|
|
105
|
+
public function toString() : string {
|
|
106
|
+
return implode('\\', $this->parts);
|
|
110
107
|
}
|
|
111
108
|
|
|
112
109
|
/**
|
|
@@ -115,7 +112,7 @@ class Name extends NodeAbstract {
|
|
|
115
112
|
*
|
|
116
113
|
* @return string String representation
|
|
117
114
|
*/
|
|
118
|
-
public function toCodeString(): string {
|
|
115
|
+
public function toCodeString() : string {
|
|
119
116
|
return $this->toString();
|
|
120
117
|
}
|
|
121
118
|
|
|
@@ -125,8 +122,8 @@ class Name extends NodeAbstract {
|
|
|
125
122
|
*
|
|
126
123
|
* @return string Lowercased string representation
|
|
127
124
|
*/
|
|
128
|
-
public function toLowerString(): string {
|
|
129
|
-
return strtolower($this->
|
|
125
|
+
public function toLowerString() : string {
|
|
126
|
+
return strtolower(implode('\\', $this->parts));
|
|
130
127
|
}
|
|
131
128
|
|
|
132
129
|
/**
|
|
@@ -134,8 +131,9 @@ class Name extends NodeAbstract {
|
|
|
134
131
|
*
|
|
135
132
|
* @return bool Whether identifier is a special class name
|
|
136
133
|
*/
|
|
137
|
-
public function isSpecialClassName(): bool {
|
|
138
|
-
return
|
|
134
|
+
public function isSpecialClassName() : bool {
|
|
135
|
+
return count($this->parts) === 1
|
|
136
|
+
&& isset(self::$specialClassNames[strtolower($this->parts[0])]);
|
|
139
137
|
}
|
|
140
138
|
|
|
141
139
|
/**
|
|
@@ -144,8 +142,8 @@ class Name extends NodeAbstract {
|
|
|
144
142
|
*
|
|
145
143
|
* @return string String representation
|
|
146
144
|
*/
|
|
147
|
-
public function __toString(): string {
|
|
148
|
-
return $this->
|
|
145
|
+
public function __toString() : string {
|
|
146
|
+
return implode('\\', $this->parts);
|
|
149
147
|
}
|
|
150
148
|
|
|
151
149
|
/**
|
|
@@ -159,22 +157,13 @@ class Name extends NodeAbstract {
|
|
|
159
157
|
*
|
|
160
158
|
* Offset and length have the same meaning as in array_slice().
|
|
161
159
|
*
|
|
162
|
-
* @param int
|
|
160
|
+
* @param int $offset Offset to start the slice at (may be negative)
|
|
163
161
|
* @param int|null $length Length of the slice (may be negative)
|
|
164
162
|
*
|
|
165
163
|
* @return static|null Sliced name
|
|
166
164
|
*/
|
|
167
|
-
public function slice(int $offset,
|
|
168
|
-
|
|
169
|
-
// Short-circuit the common case.
|
|
170
|
-
if (false !== $pos = \strpos($this->name, '\\')) {
|
|
171
|
-
return new static(\substr($this->name, $pos + 1));
|
|
172
|
-
}
|
|
173
|
-
return null;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
$parts = \explode('\\', $this->name);
|
|
177
|
-
$numParts = \count($parts);
|
|
165
|
+
public function slice(int $offset, int $length = null) {
|
|
166
|
+
$numParts = count($this->parts);
|
|
178
167
|
|
|
179
168
|
$realOffset = $offset < 0 ? $offset + $numParts : $offset;
|
|
180
169
|
if ($realOffset < 0 || $realOffset > $numParts) {
|
|
@@ -195,7 +184,7 @@ class Name extends NodeAbstract {
|
|
|
195
184
|
return null;
|
|
196
185
|
}
|
|
197
186
|
|
|
198
|
-
return new static(array_slice($parts, $realOffset, $realLength), $this->attributes);
|
|
187
|
+
return new static(array_slice($this->parts, $realOffset, $realLength), $this->attributes);
|
|
199
188
|
}
|
|
200
189
|
|
|
201
190
|
/**
|
|
@@ -209,53 +198,49 @@ class Name extends NodeAbstract {
|
|
|
209
198
|
* Name::concat($namespace, $shortName)
|
|
210
199
|
* where $namespace is a Name node or null will work as expected.
|
|
211
200
|
*
|
|
212
|
-
* @param string|string[]|self|null $name1
|
|
213
|
-
* @param string|string[]|self|null $name2
|
|
214
|
-
* @param array
|
|
201
|
+
* @param string|string[]|self|null $name1 The first name
|
|
202
|
+
* @param string|string[]|self|null $name2 The second name
|
|
203
|
+
* @param array $attributes Attributes to assign to concatenated name
|
|
215
204
|
*
|
|
216
205
|
* @return static|null Concatenated name
|
|
217
206
|
*/
|
|
218
207
|
public static function concat($name1, $name2, array $attributes = []) {
|
|
219
208
|
if (null === $name1 && null === $name2) {
|
|
220
209
|
return null;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
if (null === $name2) {
|
|
226
|
-
return new static($name1, $attributes);
|
|
210
|
+
} elseif (null === $name1) {
|
|
211
|
+
return new static(self::prepareName($name2), $attributes);
|
|
212
|
+
} elseif (null === $name2) {
|
|
213
|
+
return new static(self::prepareName($name1), $attributes);
|
|
227
214
|
} else {
|
|
228
215
|
return new static(
|
|
229
|
-
self::prepareName($name1)
|
|
216
|
+
array_merge(self::prepareName($name1), self::prepareName($name2)), $attributes
|
|
230
217
|
);
|
|
231
218
|
}
|
|
232
219
|
}
|
|
233
220
|
|
|
234
221
|
/**
|
|
235
222
|
* Prepares a (string, array or Name node) name for use in name changing methods by converting
|
|
236
|
-
* it to
|
|
223
|
+
* it to an array.
|
|
237
224
|
*
|
|
238
225
|
* @param string|string[]|self $name Name to prepare
|
|
239
226
|
*
|
|
240
|
-
* @return string Prepared name
|
|
227
|
+
* @return string[] Prepared name
|
|
241
228
|
*/
|
|
242
|
-
private static function prepareName($name):
|
|
229
|
+
private static function prepareName($name) : array {
|
|
243
230
|
if (\is_string($name)) {
|
|
244
231
|
if ('' === $name) {
|
|
245
232
|
throw new \InvalidArgumentException('Name cannot be empty');
|
|
246
233
|
}
|
|
247
234
|
|
|
248
|
-
return $name;
|
|
249
|
-
}
|
|
250
|
-
if (\is_array($name)) {
|
|
235
|
+
return explode('\\', $name);
|
|
236
|
+
} elseif (\is_array($name)) {
|
|
251
237
|
if (empty($name)) {
|
|
252
238
|
throw new \InvalidArgumentException('Name cannot be empty');
|
|
253
239
|
}
|
|
254
240
|
|
|
255
|
-
return
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return $name->name;
|
|
241
|
+
return $name;
|
|
242
|
+
} elseif ($name instanceof self) {
|
|
243
|
+
return $name->parts;
|
|
259
244
|
}
|
|
260
245
|
|
|
261
246
|
throw new \InvalidArgumentException(
|
|
@@ -263,7 +248,7 @@ class Name extends NodeAbstract {
|
|
|
263
248
|
);
|
|
264
249
|
}
|
|
265
250
|
|
|
266
|
-
public function getType(): string {
|
|
251
|
+
public function getType() : string {
|
|
267
252
|
return 'Name';
|
|
268
253
|
}
|
|
269
254
|
}
|
|
@@ -2,28 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node;
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class NullableType extends ComplexType {
|
|
5
|
+
class NullableType extends ComplexType
|
|
6
|
+
{
|
|
8
7
|
/** @var Identifier|Name Type */
|
|
9
|
-
public
|
|
8
|
+
public $type;
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* Constructs a nullable type (wrapping another type).
|
|
13
12
|
*
|
|
14
|
-
* @param Identifier|Name $type
|
|
15
|
-
* @param array
|
|
13
|
+
* @param string|Identifier|Name $type Type
|
|
14
|
+
* @param array $attributes Additional attributes
|
|
16
15
|
*/
|
|
17
|
-
public function __construct(
|
|
16
|
+
public function __construct($type, array $attributes = []) {
|
|
18
17
|
$this->attributes = $attributes;
|
|
19
|
-
$this->type = $type;
|
|
18
|
+
$this->type = \is_string($type) ? new Identifier($type) : $type;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
public function getSubNodeNames(): array {
|
|
21
|
+
public function getSubNodeNames() : array {
|
|
23
22
|
return ['type'];
|
|
24
23
|
}
|
|
25
|
-
|
|
26
|
-
public function getType(): string {
|
|
24
|
+
|
|
25
|
+
public function getType() : string {
|
|
27
26
|
return 'NullableType';
|
|
28
27
|
}
|
|
29
28
|
}
|
|
@@ -2,47 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node;
|
|
4
4
|
|
|
5
|
-
use PhpParser\Modifiers;
|
|
6
|
-
use PhpParser\Node;
|
|
7
5
|
use PhpParser\NodeAbstract;
|
|
8
6
|
|
|
9
|
-
class Param extends NodeAbstract
|
|
7
|
+
class Param extends NodeAbstract
|
|
8
|
+
{
|
|
10
9
|
/** @var null|Identifier|Name|ComplexType Type declaration */
|
|
11
|
-
public
|
|
10
|
+
public $type;
|
|
12
11
|
/** @var bool Whether parameter is passed by reference */
|
|
13
|
-
public
|
|
12
|
+
public $byRef;
|
|
14
13
|
/** @var bool Whether this is a variadic argument */
|
|
15
|
-
public
|
|
14
|
+
public $variadic;
|
|
16
15
|
/** @var Expr\Variable|Expr\Error Parameter variable */
|
|
17
|
-
public
|
|
16
|
+
public $var;
|
|
18
17
|
/** @var null|Expr Default value */
|
|
19
|
-
public
|
|
20
|
-
/** @var int
|
|
21
|
-
public
|
|
18
|
+
public $default;
|
|
19
|
+
/** @var int */
|
|
20
|
+
public $flags;
|
|
22
21
|
/** @var AttributeGroup[] PHP attribute groups */
|
|
23
|
-
public
|
|
22
|
+
public $attrGroups;
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
25
|
* Constructs a parameter node.
|
|
27
26
|
*
|
|
28
|
-
* @param Expr\Variable|Expr\Error
|
|
29
|
-
* @param null|Expr
|
|
30
|
-
* @param null|Identifier|Name|ComplexType $type
|
|
31
|
-
* @param bool
|
|
32
|
-
* @param bool
|
|
33
|
-
* @param array
|
|
34
|
-
* @param int
|
|
35
|
-
* @param
|
|
27
|
+
* @param Expr\Variable|Expr\Error $var Parameter variable
|
|
28
|
+
* @param null|Expr $default Default value
|
|
29
|
+
* @param null|string|Identifier|Name|ComplexType $type Type declaration
|
|
30
|
+
* @param bool $byRef Whether is passed by reference
|
|
31
|
+
* @param bool $variadic Whether this is a variadic argument
|
|
32
|
+
* @param array $attributes Additional attributes
|
|
33
|
+
* @param int $flags Optional visibility flags
|
|
34
|
+
* @param AttributeGroup[] $attrGroups PHP attribute groups
|
|
36
35
|
*/
|
|
37
36
|
public function __construct(
|
|
38
|
-
|
|
37
|
+
$var, Expr $default = null, $type = null,
|
|
39
38
|
bool $byRef = false, bool $variadic = false,
|
|
40
39
|
array $attributes = [],
|
|
41
40
|
int $flags = 0,
|
|
42
41
|
array $attrGroups = []
|
|
43
42
|
) {
|
|
44
43
|
$this->attributes = $attributes;
|
|
45
|
-
$this->type = $type;
|
|
44
|
+
$this->type = \is_string($type) ? new Identifier($type) : $type;
|
|
46
45
|
$this->byRef = $byRef;
|
|
47
46
|
$this->variadic = $variadic;
|
|
48
47
|
$this->var = $var;
|
|
@@ -51,34 +50,11 @@ class Param extends NodeAbstract {
|
|
|
51
50
|
$this->attrGroups = $attrGroups;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
public function getSubNodeNames(): array {
|
|
53
|
+
public function getSubNodeNames() : array {
|
|
55
54
|
return ['attrGroups', 'flags', 'type', 'byRef', 'variadic', 'var', 'default'];
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
public function getType(): string {
|
|
57
|
+
public function getType() : string {
|
|
59
58
|
return 'Param';
|
|
60
59
|
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Whether this parameter uses constructor property promotion.
|
|
64
|
-
*/
|
|
65
|
-
public function isPromoted(): bool {
|
|
66
|
-
return $this->flags !== 0;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
public function isPublic(): bool {
|
|
70
|
-
return (bool) ($this->flags & Modifiers::PUBLIC);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
public function isProtected(): bool {
|
|
74
|
-
return (bool) ($this->flags & Modifiers::PROTECTED);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
public function isPrivate(): bool {
|
|
78
|
-
return (bool) ($this->flags & Modifiers::PRIVATE);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
public function isReadonly(): bool {
|
|
82
|
-
return (bool) ($this->flags & Modifiers::READONLY);
|
|
83
|
-
}
|
|
84
60
|
}
|
|
@@ -1,3 +1,77 @@
|
|
|
1
1
|
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
namespace PhpParser\Node\Scalar;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node\Scalar;
|
|
6
|
+
|
|
7
|
+
class DNumber extends Scalar
|
|
8
|
+
{
|
|
9
|
+
/** @var float Number value */
|
|
10
|
+
public $value;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a float number scalar node.
|
|
14
|
+
*
|
|
15
|
+
* @param float $value Value of the number
|
|
16
|
+
* @param array $attributes Additional attributes
|
|
17
|
+
*/
|
|
18
|
+
public function __construct(float $value, array $attributes = []) {
|
|
19
|
+
$this->attributes = $attributes;
|
|
20
|
+
$this->value = $value;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public function getSubNodeNames() : array {
|
|
24
|
+
return ['value'];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @param mixed[] $attributes
|
|
29
|
+
*/
|
|
30
|
+
public static function fromString(string $str, array $attributes = []): DNumber
|
|
31
|
+
{
|
|
32
|
+
$attributes['rawValue'] = $str;
|
|
33
|
+
$float = self::parse($str);
|
|
34
|
+
|
|
35
|
+
return new DNumber($float, $attributes);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*
|
|
41
|
+
* Parses a DNUMBER token like PHP would.
|
|
42
|
+
*
|
|
43
|
+
* @param string $str A string number
|
|
44
|
+
*
|
|
45
|
+
* @return float The parsed number
|
|
46
|
+
*/
|
|
47
|
+
public static function parse(string $str) : float {
|
|
48
|
+
$str = str_replace('_', '', $str);
|
|
49
|
+
|
|
50
|
+
// Check whether this is one of the special integer notations.
|
|
51
|
+
if ('0' === $str[0]) {
|
|
52
|
+
// hex
|
|
53
|
+
if ('x' === $str[1] || 'X' === $str[1]) {
|
|
54
|
+
return hexdec($str);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// bin
|
|
58
|
+
if ('b' === $str[1] || 'B' === $str[1]) {
|
|
59
|
+
return bindec($str);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// oct, but only if the string does not contain any of '.eE'.
|
|
63
|
+
if (false === strpbrk($str, '.eE')) {
|
|
64
|
+
// substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit
|
|
65
|
+
// (8 or 9) so that only the digits before that are used.
|
|
66
|
+
return octdec(substr($str, 0, strcspn($str, '89')));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// dec
|
|
71
|
+
return (float) $str;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public function getType() : string {
|
|
75
|
+
return 'Scalar_DNumber';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1,3 +1,31 @@
|
|
|
1
1
|
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
namespace PhpParser\Node\Scalar;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node\Expr;
|
|
6
|
+
use PhpParser\Node\Scalar;
|
|
7
|
+
|
|
8
|
+
class Encapsed extends Scalar
|
|
9
|
+
{
|
|
10
|
+
/** @var Expr[] list of string parts */
|
|
11
|
+
public $parts;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Constructs an encapsed string node.
|
|
15
|
+
*
|
|
16
|
+
* @param Expr[] $parts Encaps list
|
|
17
|
+
* @param array $attributes Additional attributes
|
|
18
|
+
*/
|
|
19
|
+
public function __construct(array $parts, array $attributes = []) {
|
|
20
|
+
$this->attributes = $attributes;
|
|
21
|
+
$this->parts = $parts;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public function getSubNodeNames() : array {
|
|
25
|
+
return ['parts'];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public function getType() : string {
|
|
29
|
+
return 'Scalar_Encapsed';
|
|
30
|
+
}
|
|
31
|
+
}
|