@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
|
@@ -2,76 +2,84 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
|
-
use PhpParser\Modifiers;
|
|
6
5
|
use PhpParser\Node;
|
|
7
6
|
|
|
8
|
-
class ClassConst extends Node\Stmt
|
|
7
|
+
class ClassConst extends Node\Stmt
|
|
8
|
+
{
|
|
9
9
|
/** @var int Modifiers */
|
|
10
|
-
public
|
|
10
|
+
public $flags;
|
|
11
11
|
/** @var Node\Const_[] Constant declarations */
|
|
12
|
-
public
|
|
12
|
+
public $consts;
|
|
13
13
|
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
14
|
-
public
|
|
14
|
+
public $attrGroups;
|
|
15
15
|
/** @var Node\Identifier|Node\Name|Node\ComplexType|null Type declaration */
|
|
16
|
-
public
|
|
16
|
+
public $type;
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Constructs a class const list node.
|
|
20
20
|
*
|
|
21
|
-
* @param Node\Const_[]
|
|
22
|
-
* @param int
|
|
23
|
-
* @param array
|
|
24
|
-
* @param
|
|
25
|
-
* @param null|Node\Identifier|Node\Name|Node\ComplexType $type
|
|
21
|
+
* @param Node\Const_[] $consts Constant declarations
|
|
22
|
+
* @param int $flags Modifiers
|
|
23
|
+
* @param array $attributes Additional attributes
|
|
24
|
+
* @param Node\AttributeGroup[] $attrGroups PHP attribute groups
|
|
25
|
+
* @param null|string|Node\Identifier|Node\Name|Node\ComplexType $type Type declaration
|
|
26
26
|
*/
|
|
27
27
|
public function __construct(
|
|
28
28
|
array $consts,
|
|
29
29
|
int $flags = 0,
|
|
30
30
|
array $attributes = [],
|
|
31
31
|
array $attrGroups = [],
|
|
32
|
-
|
|
32
|
+
$type = null
|
|
33
33
|
) {
|
|
34
34
|
$this->attributes = $attributes;
|
|
35
35
|
$this->flags = $flags;
|
|
36
36
|
$this->consts = $consts;
|
|
37
37
|
$this->attrGroups = $attrGroups;
|
|
38
|
-
$this->type = $type;
|
|
38
|
+
$this->type = \is_string($type) ? new Node\Identifier($type) : $type;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
public function getSubNodeNames(): array {
|
|
41
|
+
public function getSubNodeNames() : array {
|
|
42
42
|
return ['attrGroups', 'flags', 'type', 'consts'];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* Whether constant is explicitly or implicitly public.
|
|
47
|
+
*
|
|
48
|
+
* @return bool
|
|
47
49
|
*/
|
|
48
|
-
public function isPublic(): bool {
|
|
49
|
-
return ($this->flags &
|
|
50
|
-
|| ($this->flags &
|
|
50
|
+
public function isPublic() : bool {
|
|
51
|
+
return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0
|
|
52
|
+
|| ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
/**
|
|
54
56
|
* Whether constant is protected.
|
|
57
|
+
*
|
|
58
|
+
* @return bool
|
|
55
59
|
*/
|
|
56
|
-
public function isProtected(): bool {
|
|
57
|
-
return (bool) ($this->flags &
|
|
60
|
+
public function isProtected() : bool {
|
|
61
|
+
return (bool) ($this->flags & Class_::MODIFIER_PROTECTED);
|
|
58
62
|
}
|
|
59
63
|
|
|
60
64
|
/**
|
|
61
65
|
* Whether constant is private.
|
|
66
|
+
*
|
|
67
|
+
* @return bool
|
|
62
68
|
*/
|
|
63
|
-
public function isPrivate(): bool {
|
|
64
|
-
return (bool) ($this->flags &
|
|
69
|
+
public function isPrivate() : bool {
|
|
70
|
+
return (bool) ($this->flags & Class_::MODIFIER_PRIVATE);
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
/**
|
|
68
74
|
* Whether constant is final.
|
|
75
|
+
*
|
|
76
|
+
* @return bool
|
|
69
77
|
*/
|
|
70
|
-
public function isFinal(): bool {
|
|
71
|
-
return (bool) ($this->flags &
|
|
78
|
+
public function isFinal() : bool {
|
|
79
|
+
return (bool) ($this->flags & Class_::MODIFIER_FINAL);
|
|
72
80
|
}
|
|
73
81
|
|
|
74
|
-
public function getType(): string {
|
|
82
|
+
public function getType() : string {
|
|
75
83
|
return 'Stmt_ClassConst';
|
|
76
84
|
}
|
|
77
85
|
}
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
|
-
use PhpParser\Node\PropertyItem;
|
|
7
6
|
|
|
8
|
-
abstract class ClassLike extends Node\Stmt
|
|
7
|
+
abstract class ClassLike extends Node\Stmt
|
|
8
|
+
{
|
|
9
9
|
/** @var Node\Identifier|null Name */
|
|
10
|
-
public
|
|
10
|
+
public $name;
|
|
11
11
|
/** @var Node\Stmt[] Statements */
|
|
12
|
-
public
|
|
12
|
+
public $stmts;
|
|
13
13
|
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
14
|
-
public
|
|
14
|
+
public $attrGroups;
|
|
15
15
|
|
|
16
16
|
/** @var Node\Name|null Namespaced name (if using NameResolver) */
|
|
17
|
-
public
|
|
17
|
+
public $namespacedName;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @return TraitUse[]
|
|
21
21
|
*/
|
|
22
|
-
public function getTraitUses(): array {
|
|
22
|
+
public function getTraitUses() : array {
|
|
23
23
|
$traitUses = [];
|
|
24
24
|
foreach ($this->stmts as $stmt) {
|
|
25
25
|
if ($stmt instanceof TraitUse) {
|
|
@@ -32,7 +32,7 @@ abstract class ClassLike extends Node\Stmt {
|
|
|
32
32
|
/**
|
|
33
33
|
* @return ClassConst[]
|
|
34
34
|
*/
|
|
35
|
-
public function getConstants(): array {
|
|
35
|
+
public function getConstants() : array {
|
|
36
36
|
$constants = [];
|
|
37
37
|
foreach ($this->stmts as $stmt) {
|
|
38
38
|
if ($stmt instanceof ClassConst) {
|
|
@@ -45,7 +45,7 @@ abstract class ClassLike extends Node\Stmt {
|
|
|
45
45
|
/**
|
|
46
46
|
* @return Property[]
|
|
47
47
|
*/
|
|
48
|
-
public function getProperties(): array {
|
|
48
|
+
public function getProperties() : array {
|
|
49
49
|
$properties = [];
|
|
50
50
|
foreach ($this->stmts as $stmt) {
|
|
51
51
|
if ($stmt instanceof Property) {
|
|
@@ -62,11 +62,11 @@ abstract class ClassLike extends Node\Stmt {
|
|
|
62
62
|
*
|
|
63
63
|
* @return Property|null Property node or null if the property does not exist
|
|
64
64
|
*/
|
|
65
|
-
public function getProperty(string $name)
|
|
65
|
+
public function getProperty(string $name) {
|
|
66
66
|
foreach ($this->stmts as $stmt) {
|
|
67
67
|
if ($stmt instanceof Property) {
|
|
68
68
|
foreach ($stmt->props as $prop) {
|
|
69
|
-
if ($prop instanceof
|
|
69
|
+
if ($prop instanceof PropertyProperty && $name === $prop->name->toString()) {
|
|
70
70
|
return $stmt;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -80,7 +80,7 @@ abstract class ClassLike extends Node\Stmt {
|
|
|
80
80
|
*
|
|
81
81
|
* @return ClassMethod[]
|
|
82
82
|
*/
|
|
83
|
-
public function getMethods(): array {
|
|
83
|
+
public function getMethods() : array {
|
|
84
84
|
$methods = [];
|
|
85
85
|
foreach ($this->stmts as $stmt) {
|
|
86
86
|
if ($stmt instanceof ClassMethod) {
|
|
@@ -97,7 +97,7 @@ abstract class ClassLike extends Node\Stmt {
|
|
|
97
97
|
*
|
|
98
98
|
* @return ClassMethod|null Method node or null if the method does not exist
|
|
99
99
|
*/
|
|
100
|
-
public function getMethod(string $name)
|
|
100
|
+
public function getMethod(string $name) {
|
|
101
101
|
$lowerName = strtolower($name);
|
|
102
102
|
foreach ($this->stmts as $stmt) {
|
|
103
103
|
if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) {
|
|
@@ -2,28 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
|
-
use PhpParser\Modifiers;
|
|
6
5
|
use PhpParser\Node;
|
|
7
6
|
use PhpParser\Node\FunctionLike;
|
|
8
7
|
|
|
9
|
-
class ClassMethod extends Node\Stmt implements FunctionLike
|
|
8
|
+
class ClassMethod extends Node\Stmt implements FunctionLike
|
|
9
|
+
{
|
|
10
10
|
/** @var int Flags */
|
|
11
|
-
public
|
|
11
|
+
public $flags;
|
|
12
12
|
/** @var bool Whether to return by reference */
|
|
13
|
-
public
|
|
13
|
+
public $byRef;
|
|
14
14
|
/** @var Node\Identifier Name */
|
|
15
|
-
public
|
|
15
|
+
public $name;
|
|
16
16
|
/** @var Node\Param[] Parameters */
|
|
17
|
-
public
|
|
17
|
+
public $params;
|
|
18
18
|
/** @var null|Node\Identifier|Node\Name|Node\ComplexType Return type */
|
|
19
|
-
public
|
|
19
|
+
public $returnType;
|
|
20
20
|
/** @var Node\Stmt[]|null Statements */
|
|
21
|
-
public
|
|
21
|
+
public $stmts;
|
|
22
22
|
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
23
|
-
public
|
|
23
|
+
public $attrGroups;
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
private static array $magicNames = [
|
|
25
|
+
private static $magicNames = [
|
|
27
26
|
'__construct' => true,
|
|
28
27
|
'__destruct' => true,
|
|
29
28
|
'__call' => true,
|
|
@@ -47,21 +46,14 @@ class ClassMethod extends Node\Stmt implements FunctionLike {
|
|
|
47
46
|
* Constructs a class method node.
|
|
48
47
|
*
|
|
49
48
|
* @param string|Node\Identifier $name Name
|
|
50
|
-
* @param array
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* 'flags => 0 : Flags
|
|
59
|
-
* 'byRef' => false : Whether to return by reference
|
|
60
|
-
* 'params' => array() : Parameters
|
|
61
|
-
* 'returnType' => null : Return type
|
|
62
|
-
* 'stmts' => array() : Statements
|
|
63
|
-
* 'attrGroups' => array() : PHP attribute groups
|
|
64
|
-
* @param array<string, mixed> $attributes Additional attributes
|
|
49
|
+
* @param array $subNodes Array of the following optional subnodes:
|
|
50
|
+
* 'flags => MODIFIER_PUBLIC: Flags
|
|
51
|
+
* 'byRef' => false : Whether to return by reference
|
|
52
|
+
* 'params' => array() : Parameters
|
|
53
|
+
* 'returnType' => null : Return type
|
|
54
|
+
* 'stmts' => array() : Statements
|
|
55
|
+
* 'attrGroups' => array() : PHP attribute groups
|
|
56
|
+
* @param array $attributes Additional attributes
|
|
65
57
|
*/
|
|
66
58
|
public function __construct($name, array $subNodes = [], array $attributes = []) {
|
|
67
59
|
$this->attributes = $attributes;
|
|
@@ -69,20 +61,21 @@ class ClassMethod extends Node\Stmt implements FunctionLike {
|
|
|
69
61
|
$this->byRef = $subNodes['byRef'] ?? false;
|
|
70
62
|
$this->name = \is_string($name) ? new Node\Identifier($name) : $name;
|
|
71
63
|
$this->params = $subNodes['params'] ?? [];
|
|
72
|
-
$
|
|
64
|
+
$returnType = $subNodes['returnType'] ?? null;
|
|
65
|
+
$this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType;
|
|
73
66
|
$this->stmts = array_key_exists('stmts', $subNodes) ? $subNodes['stmts'] : [];
|
|
74
67
|
$this->attrGroups = $subNodes['attrGroups'] ?? [];
|
|
75
68
|
}
|
|
76
69
|
|
|
77
|
-
public function getSubNodeNames(): array {
|
|
70
|
+
public function getSubNodeNames() : array {
|
|
78
71
|
return ['attrGroups', 'flags', 'byRef', 'name', 'params', 'returnType', 'stmts'];
|
|
79
72
|
}
|
|
80
73
|
|
|
81
|
-
public function returnsByRef(): bool {
|
|
74
|
+
public function returnsByRef() : bool {
|
|
82
75
|
return $this->byRef;
|
|
83
76
|
}
|
|
84
77
|
|
|
85
|
-
public function getParams(): array {
|
|
78
|
+
public function getParams() : array {
|
|
86
79
|
return $this->params;
|
|
87
80
|
}
|
|
88
81
|
|
|
@@ -90,65 +83,79 @@ class ClassMethod extends Node\Stmt implements FunctionLike {
|
|
|
90
83
|
return $this->returnType;
|
|
91
84
|
}
|
|
92
85
|
|
|
93
|
-
public function getStmts()
|
|
86
|
+
public function getStmts() {
|
|
94
87
|
return $this->stmts;
|
|
95
88
|
}
|
|
96
89
|
|
|
97
|
-
public function getAttrGroups(): array {
|
|
90
|
+
public function getAttrGroups() : array {
|
|
98
91
|
return $this->attrGroups;
|
|
99
92
|
}
|
|
100
93
|
|
|
101
94
|
/**
|
|
102
95
|
* Whether the method is explicitly or implicitly public.
|
|
96
|
+
*
|
|
97
|
+
* @return bool
|
|
103
98
|
*/
|
|
104
|
-
public function isPublic(): bool {
|
|
105
|
-
return ($this->flags &
|
|
106
|
-
|| ($this->flags &
|
|
99
|
+
public function isPublic() : bool {
|
|
100
|
+
return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0
|
|
101
|
+
|| ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0;
|
|
107
102
|
}
|
|
108
103
|
|
|
109
104
|
/**
|
|
110
105
|
* Whether the method is protected.
|
|
106
|
+
*
|
|
107
|
+
* @return bool
|
|
111
108
|
*/
|
|
112
|
-
public function isProtected(): bool {
|
|
113
|
-
return (bool) ($this->flags &
|
|
109
|
+
public function isProtected() : bool {
|
|
110
|
+
return (bool) ($this->flags & Class_::MODIFIER_PROTECTED);
|
|
114
111
|
}
|
|
115
112
|
|
|
116
113
|
/**
|
|
117
114
|
* Whether the method is private.
|
|
115
|
+
*
|
|
116
|
+
* @return bool
|
|
118
117
|
*/
|
|
119
|
-
public function isPrivate(): bool {
|
|
120
|
-
return (bool) ($this->flags &
|
|
118
|
+
public function isPrivate() : bool {
|
|
119
|
+
return (bool) ($this->flags & Class_::MODIFIER_PRIVATE);
|
|
121
120
|
}
|
|
122
121
|
|
|
123
122
|
/**
|
|
124
123
|
* Whether the method is abstract.
|
|
124
|
+
*
|
|
125
|
+
* @return bool
|
|
125
126
|
*/
|
|
126
|
-
public function isAbstract(): bool {
|
|
127
|
-
return (bool) ($this->flags &
|
|
127
|
+
public function isAbstract() : bool {
|
|
128
|
+
return (bool) ($this->flags & Class_::MODIFIER_ABSTRACT);
|
|
128
129
|
}
|
|
129
130
|
|
|
130
131
|
/**
|
|
131
132
|
* Whether the method is final.
|
|
133
|
+
*
|
|
134
|
+
* @return bool
|
|
132
135
|
*/
|
|
133
|
-
public function isFinal(): bool {
|
|
134
|
-
return (bool) ($this->flags &
|
|
136
|
+
public function isFinal() : bool {
|
|
137
|
+
return (bool) ($this->flags & Class_::MODIFIER_FINAL);
|
|
135
138
|
}
|
|
136
139
|
|
|
137
140
|
/**
|
|
138
141
|
* Whether the method is static.
|
|
142
|
+
*
|
|
143
|
+
* @return bool
|
|
139
144
|
*/
|
|
140
|
-
public function isStatic(): bool {
|
|
141
|
-
return (bool) ($this->flags &
|
|
145
|
+
public function isStatic() : bool {
|
|
146
|
+
return (bool) ($this->flags & Class_::MODIFIER_STATIC);
|
|
142
147
|
}
|
|
143
148
|
|
|
144
149
|
/**
|
|
145
150
|
* Whether the method is magic.
|
|
151
|
+
*
|
|
152
|
+
* @return bool
|
|
146
153
|
*/
|
|
147
|
-
public function isMagic(): bool {
|
|
154
|
+
public function isMagic() : bool {
|
|
148
155
|
return isset(self::$magicNames[$this->name->toLowerString()]);
|
|
149
156
|
}
|
|
150
157
|
|
|
151
|
-
public function getType(): string {
|
|
158
|
+
public function getType() : string {
|
|
152
159
|
return 'Stmt_ClassMethod';
|
|
153
160
|
}
|
|
154
161
|
}
|
|
@@ -2,52 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
|
-
use PhpParser\
|
|
5
|
+
use PhpParser\Error;
|
|
6
6
|
use PhpParser\Node;
|
|
7
7
|
|
|
8
|
-
class Class_ extends ClassLike
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
public const MODIFIER_READONLY = 64;
|
|
23
|
-
|
|
24
|
-
/** @deprecated Use Modifiers::VISIBILITY_MASK instead */
|
|
25
|
-
public const VISIBILITY_MODIFIER_MASK = 7; // 1 | 2 | 4
|
|
26
|
-
|
|
27
|
-
/** @var int Modifiers */
|
|
28
|
-
public int $flags;
|
|
8
|
+
class Class_ extends ClassLike
|
|
9
|
+
{
|
|
10
|
+
const MODIFIER_PUBLIC = 1;
|
|
11
|
+
const MODIFIER_PROTECTED = 2;
|
|
12
|
+
const MODIFIER_PRIVATE = 4;
|
|
13
|
+
const MODIFIER_STATIC = 8;
|
|
14
|
+
const MODIFIER_ABSTRACT = 16;
|
|
15
|
+
const MODIFIER_FINAL = 32;
|
|
16
|
+
const MODIFIER_READONLY = 64;
|
|
17
|
+
|
|
18
|
+
const VISIBILITY_MODIFIER_MASK = 7; // 1 | 2 | 4
|
|
19
|
+
|
|
20
|
+
/** @var int Type */
|
|
21
|
+
public $flags;
|
|
29
22
|
/** @var null|Node\Name Name of extended class */
|
|
30
|
-
public
|
|
23
|
+
public $extends;
|
|
31
24
|
/** @var Node\Name[] Names of implemented interfaces */
|
|
32
|
-
public
|
|
25
|
+
public $implements;
|
|
33
26
|
|
|
34
27
|
/**
|
|
35
28
|
* Constructs a class node.
|
|
36
29
|
*
|
|
37
30
|
* @param string|Node\Identifier|null $name Name
|
|
38
|
-
* @param array
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* 'flags' => 0 : Flags
|
|
46
|
-
* 'extends' => null : Name of extended class
|
|
47
|
-
* 'implements' => array(): Names of implemented interfaces
|
|
48
|
-
* 'stmts' => array(): Statements
|
|
49
|
-
* 'attrGroups' => array(): PHP attribute groups
|
|
50
|
-
* @param array<string, mixed> $attributes Additional attributes
|
|
31
|
+
* @param array $subNodes Array of the following optional subnodes:
|
|
32
|
+
* 'flags' => 0 : Flags
|
|
33
|
+
* 'extends' => null : Name of extended class
|
|
34
|
+
* 'implements' => array(): Names of implemented interfaces
|
|
35
|
+
* 'stmts' => array(): Statements
|
|
36
|
+
* 'attrGroups' => array(): PHP attribute groups
|
|
37
|
+
* @param array $attributes Additional attributes
|
|
51
38
|
*/
|
|
52
39
|
public function __construct($name, array $subNodes = [], array $attributes = []) {
|
|
53
40
|
$this->attributes = $attributes;
|
|
@@ -59,36 +46,92 @@ class Class_ extends ClassLike {
|
|
|
59
46
|
$this->attrGroups = $subNodes['attrGroups'] ?? [];
|
|
60
47
|
}
|
|
61
48
|
|
|
62
|
-
public function getSubNodeNames(): array {
|
|
49
|
+
public function getSubNodeNames() : array {
|
|
63
50
|
return ['attrGroups', 'flags', 'name', 'extends', 'implements', 'stmts'];
|
|
64
51
|
}
|
|
65
52
|
|
|
66
53
|
/**
|
|
67
54
|
* Whether the class is explicitly abstract.
|
|
55
|
+
*
|
|
56
|
+
* @return bool
|
|
68
57
|
*/
|
|
69
|
-
public function isAbstract(): bool {
|
|
70
|
-
return (bool) ($this->flags &
|
|
58
|
+
public function isAbstract() : bool {
|
|
59
|
+
return (bool) ($this->flags & self::MODIFIER_ABSTRACT);
|
|
71
60
|
}
|
|
72
61
|
|
|
73
62
|
/**
|
|
74
63
|
* Whether the class is final.
|
|
64
|
+
*
|
|
65
|
+
* @return bool
|
|
75
66
|
*/
|
|
76
|
-
public function isFinal(): bool {
|
|
77
|
-
return (bool) ($this->flags &
|
|
67
|
+
public function isFinal() : bool {
|
|
68
|
+
return (bool) ($this->flags & self::MODIFIER_FINAL);
|
|
78
69
|
}
|
|
79
70
|
|
|
80
|
-
public function isReadonly(): bool {
|
|
81
|
-
return (bool) ($this->flags &
|
|
71
|
+
public function isReadonly() : bool {
|
|
72
|
+
return (bool) ($this->flags & self::MODIFIER_READONLY);
|
|
82
73
|
}
|
|
83
74
|
|
|
84
75
|
/**
|
|
85
76
|
* Whether the class is anonymous.
|
|
77
|
+
*
|
|
78
|
+
* @return bool
|
|
86
79
|
*/
|
|
87
|
-
public function isAnonymous(): bool {
|
|
80
|
+
public function isAnonymous() : bool {
|
|
88
81
|
return null === $this->name;
|
|
89
82
|
}
|
|
90
83
|
|
|
91
|
-
|
|
84
|
+
/**
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
public static function verifyClassModifier($a, $b) {
|
|
88
|
+
if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) {
|
|
89
|
+
throw new Error('Multiple abstract modifiers are not allowed');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) {
|
|
93
|
+
throw new Error('Multiple final modifiers are not allowed');
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if ($a & self::MODIFIER_READONLY && $b & self::MODIFIER_READONLY) {
|
|
97
|
+
throw new Error('Multiple readonly modifiers are not allowed');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if ($a & 48 && $b & 48) {
|
|
101
|
+
throw new Error('Cannot use the final modifier on an abstract class');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
public static function verifyModifier($a, $b) {
|
|
109
|
+
if ($a & self::VISIBILITY_MODIFIER_MASK && $b & self::VISIBILITY_MODIFIER_MASK) {
|
|
110
|
+
throw new Error('Multiple access type modifiers are not allowed');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) {
|
|
114
|
+
throw new Error('Multiple abstract modifiers are not allowed');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if ($a & self::MODIFIER_STATIC && $b & self::MODIFIER_STATIC) {
|
|
118
|
+
throw new Error('Multiple static modifiers are not allowed');
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) {
|
|
122
|
+
throw new Error('Multiple final modifiers are not allowed');
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if ($a & self::MODIFIER_READONLY && $b & self::MODIFIER_READONLY) {
|
|
126
|
+
throw new Error('Multiple readonly modifiers are not allowed');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if ($a & 48 && $b & 48) {
|
|
130
|
+
throw new Error('Cannot use the final modifier on an abstract class member');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
public function getType() : string {
|
|
92
135
|
return 'Stmt_Class';
|
|
93
136
|
}
|
|
94
137
|
}
|
|
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Stmt;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
|
|
7
|
-
class Const_ extends Node\Stmt
|
|
7
|
+
class Const_ extends Node\Stmt
|
|
8
|
+
{
|
|
8
9
|
/** @var Node\Const_[] Constant declarations */
|
|
9
|
-
public
|
|
10
|
+
public $consts;
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Constructs a const list node.
|
|
13
14
|
*
|
|
14
|
-
* @param Node\Const_[] $consts
|
|
15
|
-
* @param array
|
|
15
|
+
* @param Node\Const_[] $consts Constant declarations
|
|
16
|
+
* @param array $attributes Additional attributes
|
|
16
17
|
*/
|
|
17
18
|
public function __construct(array $consts, array $attributes = []) {
|
|
18
19
|
$this->attributes = $attributes;
|
|
19
20
|
$this->consts = $consts;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
public function getSubNodeNames(): array {
|
|
23
|
+
public function getSubNodeNames() : array {
|
|
23
24
|
return ['consts'];
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
public function getType(): string {
|
|
26
|
+
|
|
27
|
+
public function getType() : string {
|
|
27
28
|
return 'Stmt_Const';
|
|
28
29
|
}
|
|
29
30
|
}
|
|
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Stmt;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
|
|
7
|
-
class Continue_ extends Node\Stmt
|
|
7
|
+
class Continue_ extends Node\Stmt
|
|
8
|
+
{
|
|
8
9
|
/** @var null|Node\Expr Number of loops to continue */
|
|
9
|
-
public
|
|
10
|
+
public $num;
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Constructs a continue node.
|
|
13
14
|
*
|
|
14
|
-
* @param null|Node\Expr $num
|
|
15
|
-
* @param array
|
|
15
|
+
* @param null|Node\Expr $num Number of loops to continue
|
|
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_Continue';
|
|
28
29
|
}
|
|
29
30
|
}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
1
|
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
|
|
7
|
+
class DeclareDeclare extends Node\Stmt
|
|
8
|
+
{
|
|
9
|
+
/** @var Node\Identifier Key */
|
|
10
|
+
public $key;
|
|
11
|
+
/** @var Node\Expr Value */
|
|
12
|
+
public $value;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Constructs a declare key=>value pair node.
|
|
16
|
+
*
|
|
17
|
+
* @param string|Node\Identifier $key Key
|
|
18
|
+
* @param Node\Expr $value Value
|
|
19
|
+
* @param array $attributes Additional attributes
|
|
20
|
+
*/
|
|
21
|
+
public function __construct($key, Node\Expr $value, array $attributes = []) {
|
|
22
|
+
$this->attributes = $attributes;
|
|
23
|
+
$this->key = \is_string($key) ? new Node\Identifier($key) : $key;
|
|
24
|
+
$this->value = $value;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public function getSubNodeNames() : array {
|
|
28
|
+
return ['key', 'value'];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public function getType() : string {
|
|
32
|
+
return 'Stmt_DeclareDeclare';
|
|
33
|
+
}
|
|
34
|
+
}
|