@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
|
@@ -3,24 +3,24 @@ PHP Parser
|
|
|
3
3
|
|
|
4
4
|
[](https://coveralls.io/github/nikic/PHP-Parser?branch=master)
|
|
5
5
|
|
|
6
|
-
This is a PHP parser written in PHP. Its purpose is to simplify static code analysis and
|
|
6
|
+
This is a PHP 5.2 to PHP 8.2 parser written in PHP. Its purpose is to simplify static code analysis and
|
|
7
7
|
manipulation.
|
|
8
8
|
|
|
9
|
-
[**Documentation for version
|
|
9
|
+
[**Documentation for version 4.x**][doc_4_x] (stable; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 8.2).
|
|
10
10
|
|
|
11
|
-
[Documentation for version
|
|
11
|
+
[Documentation for version 3.x][doc_3_x] (unsupported; for running on PHP >= 5.5; for parsing PHP 5.2 to PHP 7.2).
|
|
12
12
|
|
|
13
13
|
Features
|
|
14
14
|
--------
|
|
15
15
|
|
|
16
16
|
The main features provided by this library are:
|
|
17
17
|
|
|
18
|
-
* Parsing PHP 7, and PHP 8 code into an abstract syntax tree (AST).
|
|
18
|
+
* Parsing PHP 5, PHP 7, and PHP 8 code into an abstract syntax tree (AST).
|
|
19
19
|
* Invalid code can be parsed into a partial AST.
|
|
20
20
|
* The AST contains accurate location information.
|
|
21
21
|
* Dumping the AST in human-readable form.
|
|
22
22
|
* Converting an AST back to PHP code.
|
|
23
|
-
* Formatting can be preserved for partially changed ASTs.
|
|
23
|
+
* Experimental: Formatting can be preserved for partially changed ASTs.
|
|
24
24
|
* Infrastructure to traverse and modify ASTs.
|
|
25
25
|
* Resolution of namespaced names.
|
|
26
26
|
* Evaluation of constant expressions.
|
|
@@ -51,7 +51,7 @@ function test($foo)
|
|
|
51
51
|
}
|
|
52
52
|
CODE;
|
|
53
53
|
|
|
54
|
-
$parser = (new ParserFactory
|
|
54
|
+
$parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
|
|
55
55
|
try {
|
|
56
56
|
$ast = $parser->parse($code);
|
|
57
57
|
} catch (Error $error) {
|
|
@@ -68,17 +68,12 @@ This dumps an AST looking something like this:
|
|
|
68
68
|
```
|
|
69
69
|
array(
|
|
70
70
|
0: Stmt_Function(
|
|
71
|
-
attrGroups: array(
|
|
72
|
-
)
|
|
73
71
|
byRef: false
|
|
74
72
|
name: Identifier(
|
|
75
73
|
name: test
|
|
76
74
|
)
|
|
77
75
|
params: array(
|
|
78
76
|
0: Param(
|
|
79
|
-
attrGroups: array(
|
|
80
|
-
)
|
|
81
|
-
flags: 0
|
|
82
77
|
type: null
|
|
83
78
|
byRef: false
|
|
84
79
|
variadic: false
|
|
@@ -93,11 +88,12 @@ array(
|
|
|
93
88
|
0: Stmt_Expression(
|
|
94
89
|
expr: Expr_FuncCall(
|
|
95
90
|
name: Name(
|
|
96
|
-
|
|
91
|
+
parts: array(
|
|
92
|
+
0: var_dump
|
|
93
|
+
)
|
|
97
94
|
)
|
|
98
95
|
args: array(
|
|
99
96
|
0: Arg(
|
|
100
|
-
name: null
|
|
101
97
|
value: Expr_Variable(
|
|
102
98
|
name: foo
|
|
103
99
|
)
|
|
@@ -139,16 +135,12 @@ This gives us an AST where the `Function_::$stmts` are empty:
|
|
|
139
135
|
```
|
|
140
136
|
array(
|
|
141
137
|
0: Stmt_Function(
|
|
142
|
-
attrGroups: array(
|
|
143
|
-
)
|
|
144
138
|
byRef: false
|
|
145
139
|
name: Identifier(
|
|
146
140
|
name: test
|
|
147
141
|
)
|
|
148
142
|
params: array(
|
|
149
143
|
0: Param(
|
|
150
|
-
attrGroups: array(
|
|
151
|
-
)
|
|
152
144
|
type: null
|
|
153
145
|
byRef: false
|
|
154
146
|
variadic: false
|
|
@@ -211,8 +203,9 @@ Component documentation:
|
|
|
211
203
|
* [AST builders](doc/component/AST_builders.markdown)
|
|
212
204
|
* Fluent builders for AST nodes
|
|
213
205
|
* [Lexer](doc/component/Lexer.markdown)
|
|
214
|
-
*
|
|
215
|
-
*
|
|
206
|
+
* Lexer options
|
|
207
|
+
* Token and file positions for nodes
|
|
208
|
+
* Custom attributes
|
|
216
209
|
* [Error handling](doc/component/Error_handling.markdown)
|
|
217
210
|
* Column information for errors
|
|
218
211
|
* Error recovery (parsing of syntactically incorrect code)
|
|
@@ -230,4 +223,3 @@ Component documentation:
|
|
|
230
223
|
|
|
231
224
|
[doc_3_x]: https://github.com/nikic/PHP-Parser/tree/3.x/doc
|
|
232
225
|
[doc_4_x]: https://github.com/nikic/PHP-Parser/tree/4.x/doc
|
|
233
|
-
[doc_master]: https://github.com/nikic/PHP-Parser/tree/master/doc
|
|
@@ -26,7 +26,13 @@ if (empty($files)) {
|
|
|
26
26
|
showHelp("Must specify at least one file.");
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
$
|
|
29
|
+
$lexer = new PhpParser\Lexer\Emulative(['usedAttributes' => [
|
|
30
|
+
'startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments'
|
|
31
|
+
]]);
|
|
32
|
+
$parser = (new PhpParser\ParserFactory)->create(
|
|
33
|
+
PhpParser\ParserFactory::PREFER_PHP7,
|
|
34
|
+
$lexer
|
|
35
|
+
);
|
|
30
36
|
$dumper = new PhpParser\NodeDumper([
|
|
31
37
|
'dumpComments' => true,
|
|
32
38
|
'dumpPositions' => $attributes['with-positions'],
|
|
@@ -37,10 +43,7 @@ $traverser = new PhpParser\NodeTraverser();
|
|
|
37
43
|
$traverser->addVisitor(new PhpParser\NodeVisitor\NameResolver);
|
|
38
44
|
|
|
39
45
|
foreach ($files as $file) {
|
|
40
|
-
if ($file
|
|
41
|
-
$code = file_get_contents('php://stdin');
|
|
42
|
-
fwrite(STDERR, "====> Stdin:\n");
|
|
43
|
-
} else if (strpos($file, '<?php') === 0) {
|
|
46
|
+
if (strpos($file, '<?php') === 0) {
|
|
44
47
|
$code = $file;
|
|
45
48
|
fwrite(STDERR, "====> Code $code\n");
|
|
46
49
|
} else {
|
|
@@ -105,7 +108,7 @@ function showHelp($error = '') {
|
|
|
105
108
|
if ($error) {
|
|
106
109
|
fwrite(STDERR, $error . "\n\n");
|
|
107
110
|
}
|
|
108
|
-
fwrite($error ? STDERR : STDOUT, <<<
|
|
111
|
+
fwrite($error ? STDERR : STDOUT, <<<OUTPUT
|
|
109
112
|
Usage: php-parse [operations] file1.php [file2.php ...]
|
|
110
113
|
or: php-parse [operations] "<?php code"
|
|
111
114
|
Turn PHP source code into an abstract syntax tree.
|
|
@@ -120,7 +123,6 @@ Operations is a list of the following options (--dump by default):
|
|
|
120
123
|
-c, --with-column-info Show column-numbers for errors (if available)
|
|
121
124
|
-P, --with-positions Show positions in node dumps
|
|
122
125
|
-r, --with-recovery Use parsing with error recovery
|
|
123
|
-
--version=VERSION Target specific PHP version (default: newest)
|
|
124
126
|
-h, --help Display this page
|
|
125
127
|
|
|
126
128
|
Example:
|
|
@@ -141,7 +143,6 @@ function parseArgs($args) {
|
|
|
141
143
|
'with-column-info' => false,
|
|
142
144
|
'with-positions' => false,
|
|
143
145
|
'with-recovery' => false,
|
|
144
|
-
'version' => PhpParser\PhpVersion::getNewestSupported(),
|
|
145
146
|
];
|
|
146
147
|
|
|
147
148
|
array_shift($args);
|
|
@@ -192,9 +193,7 @@ function parseArgs($args) {
|
|
|
192
193
|
$parseOptions = false;
|
|
193
194
|
break;
|
|
194
195
|
default:
|
|
195
|
-
if (
|
|
196
|
-
$attributes['version'] = PhpParser\PhpVersion::fromString($matches[1]);
|
|
197
|
-
} elseif ($arg[0] === '-' && \strlen($arg[0]) > 1) {
|
|
196
|
+
if ($arg[0] === '-') {
|
|
198
197
|
showHelp("Invalid operation $arg.");
|
|
199
198
|
} else {
|
|
200
199
|
$files[] = $arg;
|
|
@@ -13,18 +13,16 @@
|
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"require": {
|
|
16
|
-
"php": ">=7.
|
|
17
|
-
"ext-tokenizer": "*"
|
|
18
|
-
"ext-json": "*",
|
|
19
|
-
"ext-ctype": "*"
|
|
16
|
+
"php": ">=7.0",
|
|
17
|
+
"ext-tokenizer": "*"
|
|
20
18
|
},
|
|
21
19
|
"require-dev": {
|
|
22
|
-
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
|
|
20
|
+
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0",
|
|
23
21
|
"ircmaxell/php-yacc": "^0.0.7"
|
|
24
22
|
},
|
|
25
23
|
"extra": {
|
|
26
24
|
"branch-alias": {
|
|
27
|
-
"dev-master": "
|
|
25
|
+
"dev-master": "4.9-dev"
|
|
28
26
|
}
|
|
29
27
|
},
|
|
30
28
|
"autoload": {
|
|
@@ -6,28 +6,26 @@ namespace PhpParser\Builder;
|
|
|
6
6
|
|
|
7
7
|
use PhpParser;
|
|
8
8
|
use PhpParser\BuilderHelpers;
|
|
9
|
-
use PhpParser\Modifiers;
|
|
10
9
|
use PhpParser\Node;
|
|
11
10
|
use PhpParser\Node\Const_;
|
|
12
11
|
use PhpParser\Node\Identifier;
|
|
13
12
|
use PhpParser\Node\Stmt;
|
|
14
13
|
|
|
15
|
-
class ClassConst implements PhpParser\Builder
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
protected
|
|
19
|
-
|
|
20
|
-
protected array $constants = [];
|
|
14
|
+
class ClassConst implements PhpParser\Builder
|
|
15
|
+
{
|
|
16
|
+
protected $flags = 0;
|
|
17
|
+
protected $attributes = [];
|
|
18
|
+
protected $constants = [];
|
|
21
19
|
|
|
22
|
-
/** @var
|
|
23
|
-
protected
|
|
24
|
-
/** @var Identifier|Node\Name|Node\ComplexType
|
|
25
|
-
protected
|
|
20
|
+
/** @var Node\AttributeGroup[] */
|
|
21
|
+
protected $attributeGroups = [];
|
|
22
|
+
/** @var Identifier|Node\Name|Node\ComplexType */
|
|
23
|
+
protected $type;
|
|
26
24
|
|
|
27
25
|
/**
|
|
28
26
|
* Creates a class constant builder
|
|
29
27
|
*
|
|
30
|
-
* @param string|Identifier
|
|
28
|
+
* @param string|Identifier $name Name
|
|
31
29
|
* @param Node\Expr|bool|null|int|float|string|array $value Value
|
|
32
30
|
*/
|
|
33
31
|
public function __construct($name, $value) {
|
|
@@ -37,7 +35,7 @@ class ClassConst implements PhpParser\Builder {
|
|
|
37
35
|
/**
|
|
38
36
|
* Add another constant to const group
|
|
39
37
|
*
|
|
40
|
-
* @param string|Identifier
|
|
38
|
+
* @param string|Identifier $name Name
|
|
41
39
|
* @param Node\Expr|bool|null|int|float|string|array $value Value
|
|
42
40
|
*
|
|
43
41
|
* @return $this The builder instance (for fluid interface)
|
|
@@ -54,7 +52,7 @@ class ClassConst implements PhpParser\Builder {
|
|
|
54
52
|
* @return $this The builder instance (for fluid interface)
|
|
55
53
|
*/
|
|
56
54
|
public function makePublic() {
|
|
57
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
55
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC);
|
|
58
56
|
|
|
59
57
|
return $this;
|
|
60
58
|
}
|
|
@@ -65,7 +63,7 @@ class ClassConst implements PhpParser\Builder {
|
|
|
65
63
|
* @return $this The builder instance (for fluid interface)
|
|
66
64
|
*/
|
|
67
65
|
public function makeProtected() {
|
|
68
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
66
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED);
|
|
69
67
|
|
|
70
68
|
return $this;
|
|
71
69
|
}
|
|
@@ -76,7 +74,7 @@ class ClassConst implements PhpParser\Builder {
|
|
|
76
74
|
* @return $this The builder instance (for fluid interface)
|
|
77
75
|
*/
|
|
78
76
|
public function makePrivate() {
|
|
79
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
77
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE);
|
|
80
78
|
|
|
81
79
|
return $this;
|
|
82
80
|
}
|
|
@@ -87,7 +85,7 @@ class ClassConst implements PhpParser\Builder {
|
|
|
87
85
|
* @return $this The builder instance (for fluid interface)
|
|
88
86
|
*/
|
|
89
87
|
public function makeFinal() {
|
|
90
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
88
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL);
|
|
91
89
|
|
|
92
90
|
return $this;
|
|
93
91
|
}
|
|
@@ -4,27 +4,25 @@ namespace PhpParser\Builder;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser;
|
|
6
6
|
use PhpParser\BuilderHelpers;
|
|
7
|
-
use PhpParser\Modifiers;
|
|
8
7
|
use PhpParser\Node;
|
|
9
8
|
use PhpParser\Node\Name;
|
|
10
9
|
use PhpParser\Node\Stmt;
|
|
11
10
|
|
|
12
|
-
class Class_ extends Declaration
|
|
13
|
-
|
|
14
|
-
protected
|
|
15
|
-
|
|
16
|
-
protected
|
|
17
|
-
protected
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
protected
|
|
22
|
-
|
|
23
|
-
protected
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
protected array $attributeGroups = [];
|
|
11
|
+
class Class_ extends Declaration
|
|
12
|
+
{
|
|
13
|
+
protected $name;
|
|
14
|
+
|
|
15
|
+
protected $extends = null;
|
|
16
|
+
protected $implements = [];
|
|
17
|
+
protected $flags = 0;
|
|
18
|
+
|
|
19
|
+
protected $uses = [];
|
|
20
|
+
protected $constants = [];
|
|
21
|
+
protected $properties = [];
|
|
22
|
+
protected $methods = [];
|
|
23
|
+
|
|
24
|
+
/** @var Node\AttributeGroup[] */
|
|
25
|
+
protected $attributeGroups = [];
|
|
28
26
|
|
|
29
27
|
/**
|
|
30
28
|
* Creates a class builder.
|
|
@@ -69,7 +67,7 @@ class Class_ extends Declaration {
|
|
|
69
67
|
* @return $this The builder instance (for fluid interface)
|
|
70
68
|
*/
|
|
71
69
|
public function makeAbstract() {
|
|
72
|
-
$this->flags = BuilderHelpers::addClassModifier($this->flags,
|
|
70
|
+
$this->flags = BuilderHelpers::addClassModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT);
|
|
73
71
|
|
|
74
72
|
return $this;
|
|
75
73
|
}
|
|
@@ -80,18 +78,13 @@ class Class_ extends Declaration {
|
|
|
80
78
|
* @return $this The builder instance (for fluid interface)
|
|
81
79
|
*/
|
|
82
80
|
public function makeFinal() {
|
|
83
|
-
$this->flags = BuilderHelpers::addClassModifier($this->flags,
|
|
81
|
+
$this->flags = BuilderHelpers::addClassModifier($this->flags, Stmt\Class_::MODIFIER_FINAL);
|
|
84
82
|
|
|
85
83
|
return $this;
|
|
86
84
|
}
|
|
87
85
|
|
|
88
|
-
/**
|
|
89
|
-
* Makes the class readonly.
|
|
90
|
-
*
|
|
91
|
-
* @return $this The builder instance (for fluid interface)
|
|
92
|
-
*/
|
|
93
86
|
public function makeReadonly() {
|
|
94
|
-
$this->flags = BuilderHelpers::addClassModifier($this->flags,
|
|
87
|
+
$this->flags = BuilderHelpers::addClassModifier($this->flags, Stmt\Class_::MODIFIER_READONLY);
|
|
95
88
|
|
|
96
89
|
return $this;
|
|
97
90
|
}
|
|
@@ -106,18 +99,20 @@ class Class_ extends Declaration {
|
|
|
106
99
|
public function addStmt($stmt) {
|
|
107
100
|
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
108
101
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
102
|
+
$targets = [
|
|
103
|
+
Stmt\TraitUse::class => &$this->uses,
|
|
104
|
+
Stmt\ClassConst::class => &$this->constants,
|
|
105
|
+
Stmt\Property::class => &$this->properties,
|
|
106
|
+
Stmt\ClassMethod::class => &$this->methods,
|
|
107
|
+
];
|
|
108
|
+
|
|
109
|
+
$class = \get_class($stmt);
|
|
110
|
+
if (!isset($targets[$class])) {
|
|
118
111
|
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
119
112
|
}
|
|
120
113
|
|
|
114
|
+
$targets[$class][] = $stmt;
|
|
115
|
+
|
|
121
116
|
return $this;
|
|
122
117
|
}
|
|
123
118
|
|
|
@@ -139,7 +134,7 @@ class Class_ extends Declaration {
|
|
|
139
134
|
*
|
|
140
135
|
* @return Stmt\Class_ The built class node
|
|
141
136
|
*/
|
|
142
|
-
public function getNode(): PhpParser\Node {
|
|
137
|
+
public function getNode() : PhpParser\Node {
|
|
143
138
|
return new Stmt\Class_($this->name, [
|
|
144
139
|
'flags' => $this->flags,
|
|
145
140
|
'extends' => $this->extends,
|
|
@@ -5,23 +5,16 @@ namespace PhpParser\Builder;
|
|
|
5
5
|
use PhpParser;
|
|
6
6
|
use PhpParser\BuilderHelpers;
|
|
7
7
|
|
|
8
|
-
abstract class Declaration implements PhpParser\Builder
|
|
9
|
-
|
|
10
|
-
protected
|
|
8
|
+
abstract class Declaration implements PhpParser\Builder
|
|
9
|
+
{
|
|
10
|
+
protected $attributes = [];
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
* Adds a statement.
|
|
14
|
-
*
|
|
15
|
-
* @param PhpParser\Node\Stmt|PhpParser\Builder $stmt The statement to add
|
|
16
|
-
*
|
|
17
|
-
* @return $this The builder instance (for fluid interface)
|
|
18
|
-
*/
|
|
19
12
|
abstract public function addStmt($stmt);
|
|
20
13
|
|
|
21
14
|
/**
|
|
22
15
|
* Adds multiple statements.
|
|
23
16
|
*
|
|
24
|
-
* @param
|
|
17
|
+
* @param array $stmts The statements to add
|
|
25
18
|
*
|
|
26
19
|
* @return $this The builder instance (for fluid interface)
|
|
27
20
|
*/
|
|
@@ -10,21 +10,19 @@ use PhpParser\Node;
|
|
|
10
10
|
use PhpParser\Node\Identifier;
|
|
11
11
|
use PhpParser\Node\Stmt;
|
|
12
12
|
|
|
13
|
-
class EnumCase implements PhpParser\Builder
|
|
14
|
-
|
|
13
|
+
class EnumCase implements PhpParser\Builder
|
|
14
|
+
{
|
|
15
15
|
protected $name;
|
|
16
|
-
|
|
17
|
-
protected
|
|
18
|
-
/** @var array<string, mixed> */
|
|
19
|
-
protected array $attributes = [];
|
|
16
|
+
protected $value = null;
|
|
17
|
+
protected $attributes = [];
|
|
20
18
|
|
|
21
|
-
/** @var
|
|
22
|
-
protected
|
|
19
|
+
/** @var Node\AttributeGroup[] */
|
|
20
|
+
protected $attributeGroups = [];
|
|
23
21
|
|
|
24
22
|
/**
|
|
25
23
|
* Creates an enum case builder.
|
|
26
24
|
*
|
|
27
|
-
* @param string|Identifier $name
|
|
25
|
+
* @param string|Identifier $name Name
|
|
28
26
|
*/
|
|
29
27
|
public function __construct($name) {
|
|
30
28
|
$this->name = $name;
|
|
@@ -9,21 +9,20 @@ use PhpParser\Node\Identifier;
|
|
|
9
9
|
use PhpParser\Node\Name;
|
|
10
10
|
use PhpParser\Node\Stmt;
|
|
11
11
|
|
|
12
|
-
class Enum_ extends Declaration
|
|
13
|
-
|
|
14
|
-
protected
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
protected
|
|
21
|
-
|
|
22
|
-
protected
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
protected array $attributeGroups = [];
|
|
12
|
+
class Enum_ extends Declaration
|
|
13
|
+
{
|
|
14
|
+
protected $name;
|
|
15
|
+
protected $scalarType = null;
|
|
16
|
+
|
|
17
|
+
protected $implements = [];
|
|
18
|
+
|
|
19
|
+
protected $uses = [];
|
|
20
|
+
protected $enumCases = [];
|
|
21
|
+
protected $constants = [];
|
|
22
|
+
protected $methods = [];
|
|
23
|
+
|
|
24
|
+
/** @var Node\AttributeGroup[] */
|
|
25
|
+
protected $attributeGroups = [];
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Creates an enum builder.
|
|
@@ -37,7 +36,7 @@ class Enum_ extends Declaration {
|
|
|
37
36
|
/**
|
|
38
37
|
* Sets the scalar type.
|
|
39
38
|
*
|
|
40
|
-
* @param string|Identifier $
|
|
39
|
+
* @param string|Identifier $type
|
|
41
40
|
*
|
|
42
41
|
* @return $this
|
|
43
42
|
*/
|
|
@@ -72,18 +71,20 @@ class Enum_ extends Declaration {
|
|
|
72
71
|
public function addStmt($stmt) {
|
|
73
72
|
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
74
73
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
74
|
+
$targets = [
|
|
75
|
+
Stmt\TraitUse::class => &$this->uses,
|
|
76
|
+
Stmt\EnumCase::class => &$this->enumCases,
|
|
77
|
+
Stmt\ClassConst::class => &$this->constants,
|
|
78
|
+
Stmt\ClassMethod::class => &$this->methods,
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
$class = \get_class($stmt);
|
|
82
|
+
if (!isset($targets[$class])) {
|
|
84
83
|
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
85
84
|
}
|
|
86
85
|
|
|
86
|
+
$targets[$class][] = $stmt;
|
|
87
|
+
|
|
87
88
|
return $this;
|
|
88
89
|
}
|
|
89
90
|
|
|
@@ -105,7 +106,7 @@ class Enum_ extends Declaration {
|
|
|
105
106
|
*
|
|
106
107
|
* @return Stmt\Enum_ The built enum node
|
|
107
108
|
*/
|
|
108
|
-
public function getNode(): PhpParser\Node {
|
|
109
|
+
public function getNode() : PhpParser\Node {
|
|
109
110
|
return new Stmt\Enum_($this->name, [
|
|
110
111
|
'scalarType' => $this->scalarType,
|
|
111
112
|
'implements' => $this->implements,
|
|
@@ -5,13 +5,13 @@ namespace PhpParser\Builder;
|
|
|
5
5
|
use PhpParser\BuilderHelpers;
|
|
6
6
|
use PhpParser\Node;
|
|
7
7
|
|
|
8
|
-
abstract class FunctionLike extends Declaration
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
protected
|
|
8
|
+
abstract class FunctionLike extends Declaration
|
|
9
|
+
{
|
|
10
|
+
protected $returnByRef = false;
|
|
11
|
+
protected $params = [];
|
|
12
12
|
|
|
13
|
-
/** @var
|
|
14
|
-
protected
|
|
13
|
+
/** @var string|Node\Name|Node\NullableType|null */
|
|
14
|
+
protected $returnType = null;
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Make the function return by reference.
|
|
@@ -46,7 +46,7 @@ abstract class FunctionLike extends Declaration {
|
|
|
46
46
|
/**
|
|
47
47
|
* Adds multiple parameters.
|
|
48
48
|
*
|
|
49
|
-
* @param
|
|
49
|
+
* @param array $params The parameters to add
|
|
50
50
|
*
|
|
51
51
|
* @return $this The builder instance (for fluid interface)
|
|
52
52
|
*/
|
|
@@ -7,13 +7,13 @@ use PhpParser\BuilderHelpers;
|
|
|
7
7
|
use PhpParser\Node;
|
|
8
8
|
use PhpParser\Node\Stmt;
|
|
9
9
|
|
|
10
|
-
class Function_ extends FunctionLike
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
protected
|
|
10
|
+
class Function_ extends FunctionLike
|
|
11
|
+
{
|
|
12
|
+
protected $name;
|
|
13
|
+
protected $stmts = [];
|
|
14
14
|
|
|
15
|
-
/** @var
|
|
16
|
-
protected
|
|
15
|
+
/** @var Node\AttributeGroup[] */
|
|
16
|
+
protected $attributeGroups = [];
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Creates a function builder.
|
|
@@ -55,7 +55,7 @@ class Function_ extends FunctionLike {
|
|
|
55
55
|
*
|
|
56
56
|
* @return Stmt\Function_ The built function node
|
|
57
57
|
*/
|
|
58
|
-
public function getNode(): Node {
|
|
58
|
+
public function getNode() : Node {
|
|
59
59
|
return new Stmt\Function_($this->name, [
|
|
60
60
|
'byRef' => $this->returnByRef,
|
|
61
61
|
'params' => $this->params,
|
|
@@ -8,16 +8,15 @@ use PhpParser\Node;
|
|
|
8
8
|
use PhpParser\Node\Name;
|
|
9
9
|
use PhpParser\Node\Stmt;
|
|
10
10
|
|
|
11
|
-
class Interface_ extends Declaration
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
protected
|
|
15
|
-
|
|
16
|
-
protected
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
protected array $attributeGroups = [];
|
|
11
|
+
class Interface_ extends Declaration
|
|
12
|
+
{
|
|
13
|
+
protected $name;
|
|
14
|
+
protected $extends = [];
|
|
15
|
+
protected $constants = [];
|
|
16
|
+
protected $methods = [];
|
|
17
|
+
|
|
18
|
+
/** @var Node\AttributeGroup[] */
|
|
19
|
+
protected $attributeGroups = [];
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
22
|
* Creates an interface builder.
|
|
@@ -84,7 +83,7 @@ class Interface_ extends Declaration {
|
|
|
84
83
|
*
|
|
85
84
|
* @return Stmt\Interface_ The built interface node
|
|
86
85
|
*/
|
|
87
|
-
public function getNode(): PhpParser\Node {
|
|
86
|
+
public function getNode() : PhpParser\Node {
|
|
88
87
|
return new Stmt\Interface_($this->name, [
|
|
89
88
|
'extends' => $this->extends,
|
|
90
89
|
'stmts' => array_merge($this->constants, $this->methods),
|