webshell-analyzer 1.0.0__py3-none-any.whl
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.
- webshell_analyzer/__init__.py +0 -0
- webshell_analyzer/cli/__init__.py +0 -0
- webshell_analyzer/cli/cli.py +151 -0
- webshell_analyzer/extractor/ast_extraction/composer.json +5 -0
- webshell_analyzer/extractor/ast_extraction/composer.lock +77 -0
- webshell_analyzer/extractor/ast_extraction/src/NodeVisitor.php +85 -0
- webshell_analyzer/extractor/ast_extraction/src/astBuilder.php +50 -0
- webshell_analyzer/extractor/ast_extraction/src/astExtractor.php +50 -0
- webshell_analyzer/extractor/ast_extraction/src/featuresDeclare.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/autoload.php +25 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/ClassLoader.php +579 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/InstalledVersions.php +378 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_classmap.php +10 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_namespaces.php +9 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_psr4.php +10 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_real.php +38 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_static.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/installed.json +67 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/installed.php +32 -0
- webshell_analyzer/extractor/ast_extraction/vendor/composer/platform_check.php +26 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +150 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +151 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +50 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +86 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +116 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +73 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +67 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +94 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +147 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +171 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +223 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +65 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +145 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +83 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder.php +12 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +375 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +338 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +6 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Comment.php +209 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +237 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Error.php +173 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +43 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +17 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +12 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +31 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +178 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +71 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +282 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +108 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +230 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AsymmetricVisibilityTokenEmulator.php +93 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +49 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +26 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +45 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +60 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +19 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +60 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PipeOperatorEmulator.php +45 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PropertyTokenEmulator.php +19 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +31 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/VoidCastEmulator.php +98 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +116 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php +85 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +284 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +44 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +27 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +13 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +84 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pipe.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +60 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +16 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Void_.php +11 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +25 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +86 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +38 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +38 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +34 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +32 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +45 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +40 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +45 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +35 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +45 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +8 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +40 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +85 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +27 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +49 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +49 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +278 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +123 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyHook.php +105 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +17 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +27 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +161 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +6 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +40 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +77 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +109 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +154 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +94 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +17 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +36 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +44 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +32 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +47 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +50 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +81 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +41 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +46 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +40 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +16 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +121 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +17 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +15 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +12 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +34 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +37 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +29 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +17 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +33 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +8 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php +27 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +16 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node.php +150 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +181 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +299 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +90 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +287 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +26 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +19 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +47 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +49 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +269 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +73 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +51 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +124 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +24 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2919 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2917 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Parser.php +24 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1335 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +42 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +175 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +1232 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1706 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Token.php +18 -0
- webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +71 -0
- webshell_analyzer/extractor/extractor.py +73 -0
- webshell_analyzer/extractor/lexical_extraction/lexicalExtractor.py +31 -0
- webshell_analyzer/extractor/statistical_extraction/statisticalExtractor.py +60 -0
- webshell_analyzer/model/features_selected.json +1 -0
- webshell_analyzer/model/model_loader.py +19 -0
- webshell_analyzer/model/rf_webshell_model.joblib +0 -0
- webshell_analyzer/modules/__init__.py +0 -0
- webshell_analyzer/modules/detector.py +174 -0
- webshell_analyzer/modules/scanner.py +68 -0
- webshell_analyzer-1.0.0.dist-info/METADATA +105 -0
- webshell_analyzer-1.0.0.dist-info/RECORD +304 -0
- webshell_analyzer-1.0.0.dist-info/WHEEL +5 -0
- webshell_analyzer-1.0.0.dist-info/entry_points.txt +2 -0
- webshell_analyzer-1.0.0.dist-info/licenses/LICENSE +21 -0
- webshell_analyzer-1.0.0.dist-info/top_level.txt +1 -0
webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node\Stmt;
|
|
6
|
+
|
|
7
|
+
class Block extends Stmt {
|
|
8
|
+
/** @var Stmt[] Statements */
|
|
9
|
+
public array $stmts;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A block of statements.
|
|
13
|
+
*
|
|
14
|
+
* @param Stmt[] $stmts Statements
|
|
15
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
16
|
+
*/
|
|
17
|
+
public function __construct(array $stmts, array $attributes = []) {
|
|
18
|
+
$this->attributes = $attributes;
|
|
19
|
+
$this->stmts = $stmts;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public function getType(): string {
|
|
23
|
+
return 'Stmt_Block';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public function getSubNodeNames(): array {
|
|
27
|
+
return ['stmts'];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
|
|
7
|
+
class Break_ extends Node\Stmt {
|
|
8
|
+
/** @var null|Node\Expr Number of loops to break */
|
|
9
|
+
public ?Node\Expr $num;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a break node.
|
|
13
|
+
*
|
|
14
|
+
* @param null|Node\Expr $num Number of loops to break
|
|
15
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
16
|
+
*/
|
|
17
|
+
public function __construct(?Node\Expr $num = null, array $attributes = []) {
|
|
18
|
+
$this->attributes = $attributes;
|
|
19
|
+
$this->num = $num;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public function getSubNodeNames(): array {
|
|
23
|
+
return ['num'];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public function getType(): string {
|
|
27
|
+
return 'Stmt_Break';
|
|
28
|
+
}
|
|
29
|
+
}
|
webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
|
|
7
|
+
class Case_ extends Node\Stmt {
|
|
8
|
+
/** @var null|Node\Expr Condition (null for default) */
|
|
9
|
+
public ?Node\Expr $cond;
|
|
10
|
+
/** @var Node\Stmt[] Statements */
|
|
11
|
+
public array $stmts;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a case node.
|
|
15
|
+
*
|
|
16
|
+
* @param null|Node\Expr $cond Condition (null for default)
|
|
17
|
+
* @param Node\Stmt[] $stmts Statements
|
|
18
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
19
|
+
*/
|
|
20
|
+
public function __construct(?Node\Expr $cond, array $stmts = [], array $attributes = []) {
|
|
21
|
+
$this->attributes = $attributes;
|
|
22
|
+
$this->cond = $cond;
|
|
23
|
+
$this->stmts = $stmts;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public function getSubNodeNames(): array {
|
|
27
|
+
return ['cond', 'stmts'];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public function getType(): string {
|
|
31
|
+
return 'Stmt_Case';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
use PhpParser\Node\Expr;
|
|
7
|
+
|
|
8
|
+
class Catch_ extends Node\Stmt {
|
|
9
|
+
/** @var Node\Name[] Types of exceptions to catch */
|
|
10
|
+
public array $types;
|
|
11
|
+
/** @var Expr\Variable|null Variable for exception */
|
|
12
|
+
public ?Expr\Variable $var;
|
|
13
|
+
/** @var Node\Stmt[] Statements */
|
|
14
|
+
public array $stmts;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Constructs a catch node.
|
|
18
|
+
*
|
|
19
|
+
* @param Node\Name[] $types Types of exceptions to catch
|
|
20
|
+
* @param Expr\Variable|null $var Variable for exception
|
|
21
|
+
* @param Node\Stmt[] $stmts Statements
|
|
22
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
23
|
+
*/
|
|
24
|
+
public function __construct(
|
|
25
|
+
array $types, ?Expr\Variable $var = null, array $stmts = [], array $attributes = []
|
|
26
|
+
) {
|
|
27
|
+
$this->attributes = $attributes;
|
|
28
|
+
$this->types = $types;
|
|
29
|
+
$this->var = $var;
|
|
30
|
+
$this->stmts = $stmts;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public function getSubNodeNames(): array {
|
|
34
|
+
return ['types', 'var', 'stmts'];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public function getType(): string {
|
|
38
|
+
return 'Stmt_Catch';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Modifiers;
|
|
6
|
+
use PhpParser\Node;
|
|
7
|
+
|
|
8
|
+
class ClassConst extends Node\Stmt {
|
|
9
|
+
/** @var int Modifiers */
|
|
10
|
+
public int $flags;
|
|
11
|
+
/** @var Node\Const_[] Constant declarations */
|
|
12
|
+
public array $consts;
|
|
13
|
+
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
14
|
+
public array $attrGroups;
|
|
15
|
+
/** @var Node\Identifier|Node\Name|Node\ComplexType|null Type declaration */
|
|
16
|
+
public ?Node $type;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Constructs a class const list node.
|
|
20
|
+
*
|
|
21
|
+
* @param Node\Const_[] $consts Constant declarations
|
|
22
|
+
* @param int $flags Modifiers
|
|
23
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
24
|
+
* @param list<Node\AttributeGroup> $attrGroups PHP attribute groups
|
|
25
|
+
* @param null|Node\Identifier|Node\Name|Node\ComplexType $type Type declaration
|
|
26
|
+
*/
|
|
27
|
+
public function __construct(
|
|
28
|
+
array $consts,
|
|
29
|
+
int $flags = 0,
|
|
30
|
+
array $attributes = [],
|
|
31
|
+
array $attrGroups = [],
|
|
32
|
+
?Node $type = null
|
|
33
|
+
) {
|
|
34
|
+
$this->attributes = $attributes;
|
|
35
|
+
$this->flags = $flags;
|
|
36
|
+
$this->consts = $consts;
|
|
37
|
+
$this->attrGroups = $attrGroups;
|
|
38
|
+
$this->type = $type;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public function getSubNodeNames(): array {
|
|
42
|
+
return ['attrGroups', 'flags', 'type', 'consts'];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Whether constant is explicitly or implicitly public.
|
|
47
|
+
*/
|
|
48
|
+
public function isPublic(): bool {
|
|
49
|
+
return ($this->flags & Modifiers::PUBLIC) !== 0
|
|
50
|
+
|| ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Whether constant is protected.
|
|
55
|
+
*/
|
|
56
|
+
public function isProtected(): bool {
|
|
57
|
+
return (bool) ($this->flags & Modifiers::PROTECTED);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Whether constant is private.
|
|
62
|
+
*/
|
|
63
|
+
public function isPrivate(): bool {
|
|
64
|
+
return (bool) ($this->flags & Modifiers::PRIVATE);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Whether constant is final.
|
|
69
|
+
*/
|
|
70
|
+
public function isFinal(): bool {
|
|
71
|
+
return (bool) ($this->flags & Modifiers::FINAL);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public function getType(): string {
|
|
75
|
+
return 'Stmt_ClassConst';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
use PhpParser\Node\PropertyItem;
|
|
7
|
+
|
|
8
|
+
abstract class ClassLike extends Node\Stmt {
|
|
9
|
+
/** @var Node\Identifier|null Name */
|
|
10
|
+
public ?Node\Identifier $name;
|
|
11
|
+
/** @var Node\Stmt[] Statements */
|
|
12
|
+
public array $stmts;
|
|
13
|
+
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
14
|
+
public array $attrGroups;
|
|
15
|
+
|
|
16
|
+
/** @var Node\Name|null Namespaced name (if using NameResolver) */
|
|
17
|
+
public ?Node\Name $namespacedName;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @return list<TraitUse>
|
|
21
|
+
*/
|
|
22
|
+
public function getTraitUses(): array {
|
|
23
|
+
$traitUses = [];
|
|
24
|
+
foreach ($this->stmts as $stmt) {
|
|
25
|
+
if ($stmt instanceof TraitUse) {
|
|
26
|
+
$traitUses[] = $stmt;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return $traitUses;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @return list<ClassConst>
|
|
34
|
+
*/
|
|
35
|
+
public function getConstants(): array {
|
|
36
|
+
$constants = [];
|
|
37
|
+
foreach ($this->stmts as $stmt) {
|
|
38
|
+
if ($stmt instanceof ClassConst) {
|
|
39
|
+
$constants[] = $stmt;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return $constants;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @return list<Property>
|
|
47
|
+
*/
|
|
48
|
+
public function getProperties(): array {
|
|
49
|
+
$properties = [];
|
|
50
|
+
foreach ($this->stmts as $stmt) {
|
|
51
|
+
if ($stmt instanceof Property) {
|
|
52
|
+
$properties[] = $stmt;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return $properties;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Gets property with the given name defined directly in this class/interface/trait.
|
|
60
|
+
*
|
|
61
|
+
* @param string $name Name of the property
|
|
62
|
+
*
|
|
63
|
+
* @return Property|null Property node or null if the property does not exist
|
|
64
|
+
*/
|
|
65
|
+
public function getProperty(string $name): ?Property {
|
|
66
|
+
foreach ($this->stmts as $stmt) {
|
|
67
|
+
if ($stmt instanceof Property) {
|
|
68
|
+
foreach ($stmt->props as $prop) {
|
|
69
|
+
if ($prop instanceof PropertyItem && $name === $prop->name->toString()) {
|
|
70
|
+
return $stmt;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Gets all methods defined directly in this class/interface/trait
|
|
80
|
+
*
|
|
81
|
+
* @return list<ClassMethod>
|
|
82
|
+
*/
|
|
83
|
+
public function getMethods(): array {
|
|
84
|
+
$methods = [];
|
|
85
|
+
foreach ($this->stmts as $stmt) {
|
|
86
|
+
if ($stmt instanceof ClassMethod) {
|
|
87
|
+
$methods[] = $stmt;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return $methods;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Gets method with the given name defined directly in this class/interface/trait.
|
|
95
|
+
*
|
|
96
|
+
* @param string $name Name of the method (compared case-insensitively)
|
|
97
|
+
*
|
|
98
|
+
* @return ClassMethod|null Method node or null if the method does not exist
|
|
99
|
+
*/
|
|
100
|
+
public function getMethod(string $name): ?ClassMethod {
|
|
101
|
+
$lowerName = strtolower($name);
|
|
102
|
+
foreach ($this->stmts as $stmt) {
|
|
103
|
+
if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) {
|
|
104
|
+
return $stmt;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Modifiers;
|
|
6
|
+
use PhpParser\Node;
|
|
7
|
+
use PhpParser\Node\FunctionLike;
|
|
8
|
+
|
|
9
|
+
class ClassMethod extends Node\Stmt implements FunctionLike {
|
|
10
|
+
/** @var int Flags */
|
|
11
|
+
public int $flags;
|
|
12
|
+
/** @var bool Whether to return by reference */
|
|
13
|
+
public bool $byRef;
|
|
14
|
+
/** @var Node\Identifier Name */
|
|
15
|
+
public Node\Identifier $name;
|
|
16
|
+
/** @var Node\Param[] Parameters */
|
|
17
|
+
public array $params;
|
|
18
|
+
/** @var null|Node\Identifier|Node\Name|Node\ComplexType Return type */
|
|
19
|
+
public ?Node $returnType;
|
|
20
|
+
/** @var Node\Stmt[]|null Statements */
|
|
21
|
+
public ?array $stmts;
|
|
22
|
+
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
23
|
+
public array $attrGroups;
|
|
24
|
+
|
|
25
|
+
/** @var array<string, bool> */
|
|
26
|
+
private static array $magicNames = [
|
|
27
|
+
'__construct' => true,
|
|
28
|
+
'__destruct' => true,
|
|
29
|
+
'__call' => true,
|
|
30
|
+
'__callstatic' => true,
|
|
31
|
+
'__get' => true,
|
|
32
|
+
'__set' => true,
|
|
33
|
+
'__isset' => true,
|
|
34
|
+
'__unset' => true,
|
|
35
|
+
'__sleep' => true,
|
|
36
|
+
'__wakeup' => true,
|
|
37
|
+
'__tostring' => true,
|
|
38
|
+
'__set_state' => true,
|
|
39
|
+
'__clone' => true,
|
|
40
|
+
'__invoke' => true,
|
|
41
|
+
'__debuginfo' => true,
|
|
42
|
+
'__serialize' => true,
|
|
43
|
+
'__unserialize' => true,
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Constructs a class method node.
|
|
48
|
+
*
|
|
49
|
+
* @param string|Node\Identifier $name Name
|
|
50
|
+
* @param array{
|
|
51
|
+
* flags?: int,
|
|
52
|
+
* byRef?: bool,
|
|
53
|
+
* params?: Node\Param[],
|
|
54
|
+
* returnType?: null|Node\Identifier|Node\Name|Node\ComplexType,
|
|
55
|
+
* stmts?: Node\Stmt[]|null,
|
|
56
|
+
* attrGroups?: Node\AttributeGroup[],
|
|
57
|
+
* } $subNodes Array of the following optional subnodes:
|
|
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
|
|
65
|
+
*/
|
|
66
|
+
public function __construct($name, array $subNodes = [], array $attributes = []) {
|
|
67
|
+
$this->attributes = $attributes;
|
|
68
|
+
$this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0;
|
|
69
|
+
$this->byRef = $subNodes['byRef'] ?? false;
|
|
70
|
+
$this->name = \is_string($name) ? new Node\Identifier($name) : $name;
|
|
71
|
+
$this->params = $subNodes['params'] ?? [];
|
|
72
|
+
$this->returnType = $subNodes['returnType'] ?? null;
|
|
73
|
+
$this->stmts = array_key_exists('stmts', $subNodes) ? $subNodes['stmts'] : [];
|
|
74
|
+
$this->attrGroups = $subNodes['attrGroups'] ?? [];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public function getSubNodeNames(): array {
|
|
78
|
+
return ['attrGroups', 'flags', 'byRef', 'name', 'params', 'returnType', 'stmts'];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public function returnsByRef(): bool {
|
|
82
|
+
return $this->byRef;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public function getParams(): array {
|
|
86
|
+
return $this->params;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
public function getReturnType() {
|
|
90
|
+
return $this->returnType;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public function getStmts(): ?array {
|
|
94
|
+
return $this->stmts;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public function getAttrGroups(): array {
|
|
98
|
+
return $this->attrGroups;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Whether the method is explicitly or implicitly public.
|
|
103
|
+
*/
|
|
104
|
+
public function isPublic(): bool {
|
|
105
|
+
return ($this->flags & Modifiers::PUBLIC) !== 0
|
|
106
|
+
|| ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Whether the method is protected.
|
|
111
|
+
*/
|
|
112
|
+
public function isProtected(): bool {
|
|
113
|
+
return (bool) ($this->flags & Modifiers::PROTECTED);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Whether the method is private.
|
|
118
|
+
*/
|
|
119
|
+
public function isPrivate(): bool {
|
|
120
|
+
return (bool) ($this->flags & Modifiers::PRIVATE);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Whether the method is abstract.
|
|
125
|
+
*/
|
|
126
|
+
public function isAbstract(): bool {
|
|
127
|
+
return (bool) ($this->flags & Modifiers::ABSTRACT);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Whether the method is final.
|
|
132
|
+
*/
|
|
133
|
+
public function isFinal(): bool {
|
|
134
|
+
return (bool) ($this->flags & Modifiers::FINAL);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Whether the method is static.
|
|
139
|
+
*/
|
|
140
|
+
public function isStatic(): bool {
|
|
141
|
+
return (bool) ($this->flags & Modifiers::STATIC);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Whether the method is magic.
|
|
146
|
+
*/
|
|
147
|
+
public function isMagic(): bool {
|
|
148
|
+
return isset(self::$magicNames[$this->name->toLowerString()]);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
public function getType(): string {
|
|
152
|
+
return 'Stmt_ClassMethod';
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Modifiers;
|
|
6
|
+
use PhpParser\Node;
|
|
7
|
+
|
|
8
|
+
class Class_ extends ClassLike {
|
|
9
|
+
/** @deprecated Use Modifiers::PUBLIC instead */
|
|
10
|
+
public const MODIFIER_PUBLIC = 1;
|
|
11
|
+
/** @deprecated Use Modifiers::PROTECTED instead */
|
|
12
|
+
public const MODIFIER_PROTECTED = 2;
|
|
13
|
+
/** @deprecated Use Modifiers::PRIVATE instead */
|
|
14
|
+
public const MODIFIER_PRIVATE = 4;
|
|
15
|
+
/** @deprecated Use Modifiers::STATIC instead */
|
|
16
|
+
public const MODIFIER_STATIC = 8;
|
|
17
|
+
/** @deprecated Use Modifiers::ABSTRACT instead */
|
|
18
|
+
public const MODIFIER_ABSTRACT = 16;
|
|
19
|
+
/** @deprecated Use Modifiers::FINAL instead */
|
|
20
|
+
public const MODIFIER_FINAL = 32;
|
|
21
|
+
/** @deprecated Use Modifiers::READONLY instead */
|
|
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;
|
|
29
|
+
/** @var null|Node\Name Name of extended class */
|
|
30
|
+
public ?Node\Name $extends;
|
|
31
|
+
/** @var Node\Name[] Names of implemented interfaces */
|
|
32
|
+
public array $implements;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Constructs a class node.
|
|
36
|
+
*
|
|
37
|
+
* @param string|Node\Identifier|null $name Name
|
|
38
|
+
* @param array{
|
|
39
|
+
* flags?: int,
|
|
40
|
+
* extends?: Node\Name|null,
|
|
41
|
+
* implements?: Node\Name[],
|
|
42
|
+
* stmts?: Node\Stmt[],
|
|
43
|
+
* attrGroups?: Node\AttributeGroup[],
|
|
44
|
+
* } $subNodes Array of the following optional subnodes:
|
|
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
|
|
51
|
+
*/
|
|
52
|
+
public function __construct($name, array $subNodes = [], array $attributes = []) {
|
|
53
|
+
$this->attributes = $attributes;
|
|
54
|
+
$this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0;
|
|
55
|
+
$this->name = \is_string($name) ? new Node\Identifier($name) : $name;
|
|
56
|
+
$this->extends = $subNodes['extends'] ?? null;
|
|
57
|
+
$this->implements = $subNodes['implements'] ?? [];
|
|
58
|
+
$this->stmts = $subNodes['stmts'] ?? [];
|
|
59
|
+
$this->attrGroups = $subNodes['attrGroups'] ?? [];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public function getSubNodeNames(): array {
|
|
63
|
+
return ['attrGroups', 'flags', 'name', 'extends', 'implements', 'stmts'];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Whether the class is explicitly abstract.
|
|
68
|
+
*/
|
|
69
|
+
public function isAbstract(): bool {
|
|
70
|
+
return (bool) ($this->flags & Modifiers::ABSTRACT);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Whether the class is final.
|
|
75
|
+
*/
|
|
76
|
+
public function isFinal(): bool {
|
|
77
|
+
return (bool) ($this->flags & Modifiers::FINAL);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public function isReadonly(): bool {
|
|
81
|
+
return (bool) ($this->flags & Modifiers::READONLY);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Whether the class is anonymous.
|
|
86
|
+
*/
|
|
87
|
+
public function isAnonymous(): bool {
|
|
88
|
+
return null === $this->name;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
public function getType(): string {
|
|
92
|
+
return 'Stmt_Class';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
|
|
7
|
+
class Const_ extends Node\Stmt {
|
|
8
|
+
/** @var Node\Const_[] Constant declarations */
|
|
9
|
+
public array $consts;
|
|
10
|
+
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
11
|
+
public array $attrGroups;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a const list node.
|
|
15
|
+
*
|
|
16
|
+
* @param Node\Const_[] $consts Constant declarations
|
|
17
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
18
|
+
* @param list<Node\AttributeGroup> $attrGroups PHP attribute groups
|
|
19
|
+
*/
|
|
20
|
+
public function __construct(
|
|
21
|
+
array $consts,
|
|
22
|
+
array $attributes = [],
|
|
23
|
+
array $attrGroups = []
|
|
24
|
+
) {
|
|
25
|
+
$this->attributes = $attributes;
|
|
26
|
+
$this->attrGroups = $attrGroups;
|
|
27
|
+
$this->consts = $consts;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public function getSubNodeNames(): array {
|
|
31
|
+
return ['attrGroups', 'consts'];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public function getType(): string {
|
|
35
|
+
return 'Stmt_Const';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
|
|
7
|
+
class Continue_ extends Node\Stmt {
|
|
8
|
+
/** @var null|Node\Expr Number of loops to continue */
|
|
9
|
+
public ?Node\Expr $num;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a continue node.
|
|
13
|
+
*
|
|
14
|
+
* @param null|Node\Expr $num Number of loops to continue
|
|
15
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
16
|
+
*/
|
|
17
|
+
public function __construct(?Node\Expr $num = null, array $attributes = []) {
|
|
18
|
+
$this->attributes = $attributes;
|
|
19
|
+
$this->num = $num;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public function getSubNodeNames(): array {
|
|
23
|
+
return ['num'];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public function getType(): string {
|
|
27
|
+
return 'Stmt_Continue';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node\DeclareItem;
|
|
6
|
+
|
|
7
|
+
require __DIR__ . '/../DeclareItem.php';
|
|
8
|
+
|
|
9
|
+
if (false) {
|
|
10
|
+
/**
|
|
11
|
+
* For classmap-authoritative support.
|
|
12
|
+
*
|
|
13
|
+
* @deprecated use \PhpParser\Node\DeclareItem instead.
|
|
14
|
+
*/
|
|
15
|
+
class DeclareDeclare extends DeclareItem {
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Node\Stmt;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node;
|
|
6
|
+
use PhpParser\Node\DeclareItem;
|
|
7
|
+
|
|
8
|
+
class Declare_ extends Node\Stmt {
|
|
9
|
+
/** @var DeclareItem[] List of declares */
|
|
10
|
+
public array $declares;
|
|
11
|
+
/** @var Node\Stmt[]|null Statements */
|
|
12
|
+
public ?array $stmts;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Constructs a declare node.
|
|
16
|
+
*
|
|
17
|
+
* @param DeclareItem[] $declares List of declares
|
|
18
|
+
* @param Node\Stmt[]|null $stmts Statements
|
|
19
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
20
|
+
*/
|
|
21
|
+
public function __construct(array $declares, ?array $stmts = null, array $attributes = []) {
|
|
22
|
+
$this->attributes = $attributes;
|
|
23
|
+
$this->declares = $declares;
|
|
24
|
+
$this->stmts = $stmts;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public function getSubNodeNames(): array {
|
|
28
|
+
return ['declares', 'stmts'];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public function getType(): string {
|
|
32
|
+
return 'Stmt_Declare';
|
|
33
|
+
}
|
|
34
|
+
}
|