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.
Files changed (304) hide show
  1. webshell_analyzer/__init__.py +0 -0
  2. webshell_analyzer/cli/__init__.py +0 -0
  3. webshell_analyzer/cli/cli.py +151 -0
  4. webshell_analyzer/extractor/ast_extraction/composer.json +5 -0
  5. webshell_analyzer/extractor/ast_extraction/composer.lock +77 -0
  6. webshell_analyzer/extractor/ast_extraction/src/NodeVisitor.php +85 -0
  7. webshell_analyzer/extractor/ast_extraction/src/astBuilder.php +50 -0
  8. webshell_analyzer/extractor/ast_extraction/src/astExtractor.php +50 -0
  9. webshell_analyzer/extractor/ast_extraction/src/featuresDeclare.php +36 -0
  10. webshell_analyzer/extractor/ast_extraction/vendor/autoload.php +25 -0
  11. webshell_analyzer/extractor/ast_extraction/vendor/composer/ClassLoader.php +579 -0
  12. webshell_analyzer/extractor/ast_extraction/vendor/composer/InstalledVersions.php +378 -0
  13. webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_classmap.php +10 -0
  14. webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_namespaces.php +9 -0
  15. webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_psr4.php +10 -0
  16. webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_real.php +38 -0
  17. webshell_analyzer/extractor/ast_extraction/vendor/composer/autoload_static.php +36 -0
  18. webshell_analyzer/extractor/ast_extraction/vendor/composer/installed.json +67 -0
  19. webshell_analyzer/extractor/ast_extraction/vendor/composer/installed.php +32 -0
  20. webshell_analyzer/extractor/ast_extraction/vendor/composer/platform_check.php +26 -0
  21. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +150 -0
  22. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +151 -0
  23. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +50 -0
  24. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +86 -0
  25. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +116 -0
  26. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +73 -0
  27. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +67 -0
  28. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +94 -0
  29. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +147 -0
  30. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
  31. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +171 -0
  32. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +223 -0
  33. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +65 -0
  34. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +145 -0
  35. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +83 -0
  36. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
  37. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Builder.php +12 -0
  38. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +375 -0
  39. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +338 -0
  40. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +6 -0
  41. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Comment.php +209 -0
  42. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
  43. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +237 -0
  44. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Error.php +173 -0
  45. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +43 -0
  46. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +17 -0
  47. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +12 -0
  48. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +31 -0
  49. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +178 -0
  50. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +71 -0
  51. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
  52. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +282 -0
  53. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +108 -0
  54. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +230 -0
  55. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AsymmetricVisibilityTokenEmulator.php +93 -0
  56. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +49 -0
  57. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +26 -0
  58. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +45 -0
  59. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +60 -0
  60. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +19 -0
  61. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +60 -0
  62. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PipeOperatorEmulator.php +45 -0
  63. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PropertyTokenEmulator.php +19 -0
  64. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
  65. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +31 -0
  66. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +37 -0
  67. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +30 -0
  68. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/VoidCastEmulator.php +98 -0
  69. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +116 -0
  70. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php +85 -0
  71. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +284 -0
  72. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +44 -0
  73. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
  74. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php +33 -0
  75. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +27 -0
  76. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
  77. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +13 -0
  78. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +36 -0
  79. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
  80. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +33 -0
  81. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +15 -0
  82. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
  83. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +84 -0
  84. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +33 -0
  85. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +11 -0
  86. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +11 -0
  87. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +11 -0
  88. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +11 -0
  89. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +11 -0
  90. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +11 -0
  91. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +11 -0
  92. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +11 -0
  93. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +11 -0
  94. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +11 -0
  95. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +11 -0
  96. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +11 -0
  97. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +11 -0
  98. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +29 -0
  99. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +33 -0
  100. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +15 -0
  101. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +15 -0
  102. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +15 -0
  103. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +15 -0
  104. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +15 -0
  105. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +15 -0
  106. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +15 -0
  107. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +15 -0
  108. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +15 -0
  109. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +15 -0
  110. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +15 -0
  111. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +15 -0
  112. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +15 -0
  113. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +15 -0
  114. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +15 -0
  115. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +15 -0
  116. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +15 -0
  117. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +15 -0
  118. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +15 -0
  119. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +15 -0
  120. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pipe.php +15 -0
  121. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +15 -0
  122. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +15 -0
  123. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +15 -0
  124. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +15 -0
  125. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +15 -0
  126. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +15 -0
  127. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +15 -0
  128. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +37 -0
  129. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +29 -0
  130. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +29 -0
  131. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +60 -0
  132. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +11 -0
  133. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +15 -0
  134. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +16 -0
  135. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +15 -0
  136. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +11 -0
  137. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +15 -0
  138. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +11 -0
  139. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Void_.php +11 -0
  140. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +25 -0
  141. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
  142. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +29 -0
  143. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +86 -0
  144. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +15 -0
  145. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +30 -0
  146. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +29 -0
  147. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +30 -0
  148. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +29 -0
  149. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +29 -0
  150. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +33 -0
  151. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +38 -0
  152. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +38 -0
  153. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
  154. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +29 -0
  155. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +34 -0
  156. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +32 -0
  157. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +45 -0
  158. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +40 -0
  159. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +45 -0
  160. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +35 -0
  161. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +29 -0
  162. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +29 -0
  163. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +29 -0
  164. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +29 -0
  165. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +29 -0
  166. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
  167. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
  168. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +45 -0
  169. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
  170. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +37 -0
  171. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +29 -0
  172. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +29 -0
  173. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +29 -0
  174. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +29 -0
  175. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +29 -0
  176. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +33 -0
  177. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +8 -0
  178. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +40 -0
  179. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +85 -0
  180. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
  181. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +27 -0
  182. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +29 -0
  183. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +49 -0
  184. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +49 -0
  185. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +278 -0
  186. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +29 -0
  187. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +123 -0
  188. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyHook.php +105 -0
  189. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
  190. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +15 -0
  191. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +15 -0
  192. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +17 -0
  193. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
  194. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
  195. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
  196. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +15 -0
  197. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +15 -0
  198. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +15 -0
  199. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +15 -0
  200. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +15 -0
  201. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +15 -0
  202. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +15 -0
  203. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +15 -0
  204. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php +15 -0
  205. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +15 -0
  206. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +27 -0
  207. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +161 -0
  208. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +6 -0
  209. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
  210. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
  211. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +29 -0
  212. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +33 -0
  213. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +40 -0
  214. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +77 -0
  215. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +109 -0
  216. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +154 -0
  217. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +94 -0
  218. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +37 -0
  219. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +29 -0
  220. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +17 -0
  221. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
  222. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +33 -0
  223. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +29 -0
  224. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +33 -0
  225. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +29 -0
  226. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +36 -0
  227. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +44 -0
  228. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +32 -0
  229. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +29 -0
  230. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +47 -0
  231. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +50 -0
  232. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +81 -0
  233. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +29 -0
  234. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +30 -0
  235. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +41 -0
  236. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +29 -0
  237. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +46 -0
  238. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +29 -0
  239. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +40 -0
  240. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +30 -0
  241. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +37 -0
  242. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +16 -0
  243. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +121 -0
  244. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +17 -0
  245. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +29 -0
  246. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +15 -0
  247. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
  248. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +33 -0
  249. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +33 -0
  250. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +37 -0
  251. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +33 -0
  252. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +12 -0
  253. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +34 -0
  254. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +37 -0
  255. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +29 -0
  256. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +17 -0
  257. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
  258. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +33 -0
  259. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +8 -0
  260. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php +27 -0
  261. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
  262. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +16 -0
  263. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
  264. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Node.php +150 -0
  265. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +181 -0
  266. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +299 -0
  267. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +90 -0
  268. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +287 -0
  269. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +26 -0
  270. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +19 -0
  271. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
  272. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +47 -0
  273. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +49 -0
  274. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +269 -0
  275. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +73 -0
  276. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +51 -0
  277. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +124 -0
  278. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +24 -0
  279. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2919 -0
  280. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2917 -0
  281. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Parser.php +24 -0
  282. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1335 -0
  283. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +42 -0
  284. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +175 -0
  285. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +1232 -0
  286. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
  287. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1706 -0
  288. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/Token.php +18 -0
  289. webshell_analyzer/extractor/ast_extraction/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +71 -0
  290. webshell_analyzer/extractor/extractor.py +73 -0
  291. webshell_analyzer/extractor/lexical_extraction/lexicalExtractor.py +31 -0
  292. webshell_analyzer/extractor/statistical_extraction/statisticalExtractor.py +60 -0
  293. webshell_analyzer/model/features_selected.json +1 -0
  294. webshell_analyzer/model/model_loader.py +19 -0
  295. webshell_analyzer/model/rf_webshell_model.joblib +0 -0
  296. webshell_analyzer/modules/__init__.py +0 -0
  297. webshell_analyzer/modules/detector.py +174 -0
  298. webshell_analyzer/modules/scanner.py +68 -0
  299. webshell_analyzer-1.0.0.dist-info/METADATA +105 -0
  300. webshell_analyzer-1.0.0.dist-info/RECORD +304 -0
  301. webshell_analyzer-1.0.0.dist-info/WHEEL +5 -0
  302. webshell_analyzer-1.0.0.dist-info/entry_points.txt +2 -0
  303. webshell_analyzer-1.0.0.dist-info/licenses/LICENSE +21 -0
  304. webshell_analyzer-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,40 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Interface_ extends ClassLike {
8
+ /** @var Node\Name[] Extended interfaces */
9
+ public array $extends;
10
+
11
+ /**
12
+ * Constructs a class node.
13
+ *
14
+ * @param string|Node\Identifier $name Name
15
+ * @param array{
16
+ * extends?: Node\Name[],
17
+ * stmts?: Node\Stmt[],
18
+ * attrGroups?: Node\AttributeGroup[],
19
+ * } $subNodes Array of the following optional subnodes:
20
+ * 'extends' => array(): Name of extended interfaces
21
+ * 'stmts' => array(): Statements
22
+ * 'attrGroups' => array(): PHP attribute groups
23
+ * @param array<string, mixed> $attributes Additional attributes
24
+ */
25
+ public function __construct($name, array $subNodes = [], array $attributes = []) {
26
+ $this->attributes = $attributes;
27
+ $this->name = \is_string($name) ? new Node\Identifier($name) : $name;
28
+ $this->extends = $subNodes['extends'] ?? [];
29
+ $this->stmts = $subNodes['stmts'] ?? [];
30
+ $this->attrGroups = $subNodes['attrGroups'] ?? [];
31
+ }
32
+
33
+ public function getSubNodeNames(): array {
34
+ return ['attrGroups', 'name', 'extends', 'stmts'];
35
+ }
36
+
37
+ public function getType(): string {
38
+ return 'Stmt_Interface';
39
+ }
40
+ }
@@ -0,0 +1,30 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\Identifier;
6
+ use PhpParser\Node\Stmt;
7
+
8
+ class Label extends Stmt {
9
+ /** @var Identifier Name */
10
+ public Identifier $name;
11
+
12
+ /**
13
+ * Constructs a label node.
14
+ *
15
+ * @param string|Identifier $name Name
16
+ * @param array<string, mixed> $attributes Additional attributes
17
+ */
18
+ public function __construct($name, array $attributes = []) {
19
+ $this->attributes = $attributes;
20
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
21
+ }
22
+
23
+ public function getSubNodeNames(): array {
24
+ return ['name'];
25
+ }
26
+
27
+ public function getType(): string {
28
+ return 'Stmt_Label';
29
+ }
30
+ }
@@ -0,0 +1,37 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Namespace_ extends Node\Stmt {
8
+ /* For use in the "kind" attribute */
9
+ public const KIND_SEMICOLON = 1;
10
+ public const KIND_BRACED = 2;
11
+
12
+ /** @var null|Node\Name Name */
13
+ public ?Node\Name $name;
14
+ /** @var Node\Stmt[] Statements */
15
+ public $stmts;
16
+
17
+ /**
18
+ * Constructs a namespace node.
19
+ *
20
+ * @param null|Node\Name $name Name
21
+ * @param null|Node\Stmt[] $stmts Statements
22
+ * @param array<string, mixed> $attributes Additional attributes
23
+ */
24
+ public function __construct(?Node\Name $name = null, ?array $stmts = [], array $attributes = []) {
25
+ $this->attributes = $attributes;
26
+ $this->name = $name;
27
+ $this->stmts = $stmts;
28
+ }
29
+
30
+ public function getSubNodeNames(): array {
31
+ return ['name', 'stmts'];
32
+ }
33
+
34
+ public function getType(): string {
35
+ return 'Stmt_Namespace';
36
+ }
37
+ }
@@ -0,0 +1,16 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ /** Nop/empty statement (;). */
8
+ class Nop extends Node\Stmt {
9
+ public function getSubNodeNames(): array {
10
+ return [];
11
+ }
12
+
13
+ public function getType(): string {
14
+ return 'Stmt_Nop';
15
+ }
16
+ }
@@ -0,0 +1,121 @@
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\ComplexType;
8
+ use PhpParser\Node\Identifier;
9
+ use PhpParser\Node\Name;
10
+ use PhpParser\Node\PropertyItem;
11
+
12
+ class Property extends Node\Stmt {
13
+ /** @var int Modifiers */
14
+ public int $flags;
15
+ /** @var PropertyItem[] Properties */
16
+ public array $props;
17
+ /** @var null|Identifier|Name|ComplexType Type declaration */
18
+ public ?Node $type;
19
+ /** @var Node\AttributeGroup[] PHP attribute groups */
20
+ public array $attrGroups;
21
+ /** @var Node\PropertyHook[] Property hooks */
22
+ public array $hooks;
23
+
24
+ /**
25
+ * Constructs a class property list node.
26
+ *
27
+ * @param int $flags Modifiers
28
+ * @param PropertyItem[] $props Properties
29
+ * @param array<string, mixed> $attributes Additional attributes
30
+ * @param null|Identifier|Name|ComplexType $type Type declaration
31
+ * @param Node\AttributeGroup[] $attrGroups PHP attribute groups
32
+ * @param Node\PropertyHook[] $hooks Property hooks
33
+ */
34
+ public function __construct(int $flags, array $props, array $attributes = [], ?Node $type = null, array $attrGroups = [], array $hooks = []) {
35
+ $this->attributes = $attributes;
36
+ $this->flags = $flags;
37
+ $this->props = $props;
38
+ $this->type = $type;
39
+ $this->attrGroups = $attrGroups;
40
+ $this->hooks = $hooks;
41
+ }
42
+
43
+ public function getSubNodeNames(): array {
44
+ return ['attrGroups', 'flags', 'type', 'props', 'hooks'];
45
+ }
46
+
47
+ /**
48
+ * Whether the property is explicitly or implicitly public.
49
+ */
50
+ public function isPublic(): bool {
51
+ return ($this->flags & Modifiers::PUBLIC) !== 0
52
+ || ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
53
+ }
54
+
55
+ /**
56
+ * Whether the property is protected.
57
+ */
58
+ public function isProtected(): bool {
59
+ return (bool) ($this->flags & Modifiers::PROTECTED);
60
+ }
61
+
62
+ /**
63
+ * Whether the property is private.
64
+ */
65
+ public function isPrivate(): bool {
66
+ return (bool) ($this->flags & Modifiers::PRIVATE);
67
+ }
68
+
69
+ /**
70
+ * Whether the property is static.
71
+ */
72
+ public function isStatic(): bool {
73
+ return (bool) ($this->flags & Modifiers::STATIC);
74
+ }
75
+
76
+ /**
77
+ * Whether the property is readonly.
78
+ */
79
+ public function isReadonly(): bool {
80
+ return (bool) ($this->flags & Modifiers::READONLY);
81
+ }
82
+
83
+ /**
84
+ * Whether the property is abstract.
85
+ */
86
+ public function isAbstract(): bool {
87
+ return (bool) ($this->flags & Modifiers::ABSTRACT);
88
+ }
89
+
90
+ /**
91
+ * Whether the property is final.
92
+ */
93
+ public function isFinal(): bool {
94
+ return (bool) ($this->flags & Modifiers::FINAL);
95
+ }
96
+
97
+ /**
98
+ * Whether the property has explicit public(set) visibility.
99
+ */
100
+ public function isPublicSet(): bool {
101
+ return (bool) ($this->flags & Modifiers::PUBLIC_SET);
102
+ }
103
+
104
+ /**
105
+ * Whether the property has explicit protected(set) visibility.
106
+ */
107
+ public function isProtectedSet(): bool {
108
+ return (bool) ($this->flags & Modifiers::PROTECTED_SET);
109
+ }
110
+
111
+ /**
112
+ * Whether the property has explicit private(set) visibility.
113
+ */
114
+ public function isPrivateSet(): bool {
115
+ return (bool) ($this->flags & Modifiers::PRIVATE_SET);
116
+ }
117
+
118
+ public function getType(): string {
119
+ return 'Stmt_Property';
120
+ }
121
+ }
@@ -0,0 +1,17 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\PropertyItem;
6
+
7
+ require __DIR__ . '/../PropertyItem.php';
8
+
9
+ if (false) {
10
+ /**
11
+ * For classmap-authoritative support.
12
+ *
13
+ * @deprecated use \PhpParser\Node\PropertyItem instead.
14
+ */
15
+ class PropertyProperty extends PropertyItem {
16
+ }
17
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Return_ extends Node\Stmt {
8
+ /** @var null|Node\Expr Expression */
9
+ public ?Node\Expr $expr;
10
+
11
+ /**
12
+ * Constructs a return node.
13
+ *
14
+ * @param null|Node\Expr $expr Expression
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(?Node\Expr $expr = null, array $attributes = []) {
18
+ $this->attributes = $attributes;
19
+ $this->expr = $expr;
20
+ }
21
+
22
+ public function getSubNodeNames(): array {
23
+ return ['expr'];
24
+ }
25
+
26
+ public function getType(): string {
27
+ return 'Stmt_Return';
28
+ }
29
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ require __DIR__ . '/../StaticVar.php';
6
+
7
+ if (false) {
8
+ /**
9
+ * For classmap-authoritative support.
10
+ *
11
+ * @deprecated use \PhpParser\Node\StaticVar instead.
12
+ */
13
+ class StaticVar extends \PhpParser\Node\StaticVar {
14
+ }
15
+ }
@@ -0,0 +1,30 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\StaticVar;
6
+ use PhpParser\Node\Stmt;
7
+
8
+ class Static_ extends Stmt {
9
+ /** @var StaticVar[] Variable definitions */
10
+ public array $vars;
11
+
12
+ /**
13
+ * Constructs a static variables list node.
14
+ *
15
+ * @param StaticVar[] $vars Variable definitions
16
+ * @param array<string, mixed> $attributes Additional attributes
17
+ */
18
+ public function __construct(array $vars, array $attributes = []) {
19
+ $this->attributes = $attributes;
20
+ $this->vars = $vars;
21
+ }
22
+
23
+ public function getSubNodeNames(): array {
24
+ return ['vars'];
25
+ }
26
+
27
+ public function getType(): string {
28
+ return 'Stmt_Static';
29
+ }
30
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Switch_ extends Node\Stmt {
8
+ /** @var Node\Expr Condition */
9
+ public Node\Expr $cond;
10
+ /** @var Case_[] Case list */
11
+ public array $cases;
12
+
13
+ /**
14
+ * Constructs a case node.
15
+ *
16
+ * @param Node\Expr $cond Condition
17
+ * @param Case_[] $cases Case list
18
+ * @param array<string, mixed> $attributes Additional attributes
19
+ */
20
+ public function __construct(Node\Expr $cond, array $cases, array $attributes = []) {
21
+ $this->attributes = $attributes;
22
+ $this->cond = $cond;
23
+ $this->cases = $cases;
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['cond', 'cases'];
28
+ }
29
+
30
+ public function getType(): string {
31
+ return 'Stmt_Switch';
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class TraitUse extends Node\Stmt {
8
+ /** @var Node\Name[] Traits */
9
+ public array $traits;
10
+ /** @var TraitUseAdaptation[] Adaptations */
11
+ public array $adaptations;
12
+
13
+ /**
14
+ * Constructs a trait use node.
15
+ *
16
+ * @param Node\Name[] $traits Traits
17
+ * @param TraitUseAdaptation[] $adaptations Adaptations
18
+ * @param array<string, mixed> $attributes Additional attributes
19
+ */
20
+ public function __construct(array $traits, array $adaptations = [], array $attributes = []) {
21
+ $this->attributes = $attributes;
22
+ $this->traits = $traits;
23
+ $this->adaptations = $adaptations;
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['traits', 'adaptations'];
28
+ }
29
+
30
+ public function getType(): string {
31
+ return 'Stmt_TraitUse';
32
+ }
33
+ }
@@ -0,0 +1,37 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt\TraitUseAdaptation;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Alias extends Node\Stmt\TraitUseAdaptation {
8
+ /** @var null|int New modifier */
9
+ public ?int $newModifier;
10
+ /** @var null|Node\Identifier New name */
11
+ public ?Node\Identifier $newName;
12
+
13
+ /**
14
+ * Constructs a trait use precedence adaptation node.
15
+ *
16
+ * @param null|Node\Name $trait Trait name
17
+ * @param string|Node\Identifier $method Method name
18
+ * @param null|int $newModifier New modifier
19
+ * @param null|string|Node\Identifier $newName New name
20
+ * @param array<string, mixed> $attributes Additional attributes
21
+ */
22
+ public function __construct(?Node\Name $trait, $method, ?int $newModifier, $newName, array $attributes = []) {
23
+ $this->attributes = $attributes;
24
+ $this->trait = $trait;
25
+ $this->method = \is_string($method) ? new Node\Identifier($method) : $method;
26
+ $this->newModifier = $newModifier;
27
+ $this->newName = \is_string($newName) ? new Node\Identifier($newName) : $newName;
28
+ }
29
+
30
+ public function getSubNodeNames(): array {
31
+ return ['trait', 'method', 'newModifier', 'newName'];
32
+ }
33
+
34
+ public function getType(): string {
35
+ return 'Stmt_TraitUseAdaptation_Alias';
36
+ }
37
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt\TraitUseAdaptation;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Precedence extends Node\Stmt\TraitUseAdaptation {
8
+ /** @var Node\Name[] Overwritten traits */
9
+ public array $insteadof;
10
+
11
+ /**
12
+ * Constructs a trait use precedence adaptation node.
13
+ *
14
+ * @param Node\Name $trait Trait name
15
+ * @param string|Node\Identifier $method Method name
16
+ * @param Node\Name[] $insteadof Overwritten traits
17
+ * @param array<string, mixed> $attributes Additional attributes
18
+ */
19
+ public function __construct(Node\Name $trait, $method, array $insteadof, array $attributes = []) {
20
+ $this->attributes = $attributes;
21
+ $this->trait = $trait;
22
+ $this->method = \is_string($method) ? new Node\Identifier($method) : $method;
23
+ $this->insteadof = $insteadof;
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['trait', 'method', 'insteadof'];
28
+ }
29
+
30
+ public function getType(): string {
31
+ return 'Stmt_TraitUseAdaptation_Precedence';
32
+ }
33
+ }
@@ -0,0 +1,12 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ abstract class TraitUseAdaptation extends Node\Stmt {
8
+ /** @var Node\Name|null Trait name */
9
+ public ?Node\Name $trait;
10
+ /** @var Node\Identifier Method name */
11
+ public Node\Identifier $method;
12
+ }
@@ -0,0 +1,34 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Trait_ extends ClassLike {
8
+ /**
9
+ * Constructs a trait node.
10
+ *
11
+ * @param string|Node\Identifier $name Name
12
+ * @param array{
13
+ * stmts?: Node\Stmt[],
14
+ * attrGroups?: Node\AttributeGroup[],
15
+ * } $subNodes Array of the following optional subnodes:
16
+ * 'stmts' => array(): Statements
17
+ * 'attrGroups' => array(): PHP attribute groups
18
+ * @param array<string, mixed> $attributes Additional attributes
19
+ */
20
+ public function __construct($name, array $subNodes = [], array $attributes = []) {
21
+ $this->attributes = $attributes;
22
+ $this->name = \is_string($name) ? new Node\Identifier($name) : $name;
23
+ $this->stmts = $subNodes['stmts'] ?? [];
24
+ $this->attrGroups = $subNodes['attrGroups'] ?? [];
25
+ }
26
+
27
+ public function getSubNodeNames(): array {
28
+ return ['attrGroups', 'name', 'stmts'];
29
+ }
30
+
31
+ public function getType(): string {
32
+ return 'Stmt_Trait';
33
+ }
34
+ }
@@ -0,0 +1,37 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class TryCatch extends Node\Stmt {
8
+ /** @var Node\Stmt[] Statements */
9
+ public array $stmts;
10
+ /** @var Catch_[] Catches */
11
+ public array $catches;
12
+ /** @var null|Finally_ Optional finally node */
13
+ public ?Finally_ $finally;
14
+
15
+ /**
16
+ * Constructs a try catch node.
17
+ *
18
+ * @param Node\Stmt[] $stmts Statements
19
+ * @param Catch_[] $catches Catches
20
+ * @param null|Finally_ $finally Optional finally node
21
+ * @param array<string, mixed> $attributes Additional attributes
22
+ */
23
+ public function __construct(array $stmts, array $catches, ?Finally_ $finally = null, array $attributes = []) {
24
+ $this->attributes = $attributes;
25
+ $this->stmts = $stmts;
26
+ $this->catches = $catches;
27
+ $this->finally = $finally;
28
+ }
29
+
30
+ public function getSubNodeNames(): array {
31
+ return ['stmts', 'catches', 'finally'];
32
+ }
33
+
34
+ public function getType(): string {
35
+ return 'Stmt_TryCatch';
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 Unset_ extends Node\Stmt {
8
+ /** @var Node\Expr[] Variables to unset */
9
+ public array $vars;
10
+
11
+ /**
12
+ * Constructs an unset node.
13
+ *
14
+ * @param Node\Expr[] $vars Variables to unset
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(array $vars, array $attributes = []) {
18
+ $this->attributes = $attributes;
19
+ $this->vars = $vars;
20
+ }
21
+
22
+ public function getSubNodeNames(): array {
23
+ return ['vars'];
24
+ }
25
+
26
+ public function getType(): string {
27
+ return 'Stmt_Unset';
28
+ }
29
+ }
@@ -0,0 +1,17 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\UseItem;
6
+
7
+ require __DIR__ . '/../UseItem.php';
8
+
9
+ if (false) {
10
+ /**
11
+ * For classmap-authoritative support.
12
+ *
13
+ * @deprecated use \PhpParser\Node\UseItem instead.
14
+ */
15
+ class UseUse extends UseItem {
16
+ }
17
+ }
@@ -0,0 +1,47 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\Stmt;
6
+ use PhpParser\Node\UseItem;
7
+
8
+ class Use_ extends Stmt {
9
+ /**
10
+ * Unknown type. Both Stmt\Use_ / Stmt\GroupUse and Stmt\UseUse have a $type property, one of them will always be
11
+ * TYPE_UNKNOWN while the other has one of the three other possible types. For normal use statements the type on the
12
+ * Stmt\UseUse is unknown. It's only the other way around for mixed group use declarations.
13
+ */
14
+ public const TYPE_UNKNOWN = 0;
15
+ /** Class or namespace import */
16
+ public const TYPE_NORMAL = 1;
17
+ /** Function import */
18
+ public const TYPE_FUNCTION = 2;
19
+ /** Constant import */
20
+ public const TYPE_CONSTANT = 3;
21
+
22
+ /** @var self::TYPE_* Type of alias */
23
+ public int $type;
24
+ /** @var UseItem[] Aliases */
25
+ public array $uses;
26
+
27
+ /**
28
+ * Constructs an alias (use) list node.
29
+ *
30
+ * @param UseItem[] $uses Aliases
31
+ * @param Stmt\Use_::TYPE_* $type Type of alias
32
+ * @param array<string, mixed> $attributes Additional attributes
33
+ */
34
+ public function __construct(array $uses, int $type = self::TYPE_NORMAL, array $attributes = []) {
35
+ $this->attributes = $attributes;
36
+ $this->type = $type;
37
+ $this->uses = $uses;
38
+ }
39
+
40
+ public function getSubNodeNames(): array {
41
+ return ['type', 'uses'];
42
+ }
43
+
44
+ public function getType(): string {
45
+ return 'Stmt_Use';
46
+ }
47
+ }