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,86 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\ClosureUse;
7
+ use PhpParser\Node\Expr;
8
+ use PhpParser\Node\FunctionLike;
9
+
10
+ class Closure extends Expr implements FunctionLike {
11
+ /** @var bool Whether the closure is static */
12
+ public bool $static;
13
+ /** @var bool Whether to return by reference */
14
+ public bool $byRef;
15
+ /** @var Node\Param[] Parameters */
16
+ public array $params;
17
+ /** @var ClosureUse[] use()s */
18
+ public array $uses;
19
+ /** @var null|Node\Identifier|Node\Name|Node\ComplexType Return type */
20
+ public ?Node $returnType;
21
+ /** @var Node\Stmt[] Statements */
22
+ public array $stmts;
23
+ /** @var Node\AttributeGroup[] PHP attribute groups */
24
+ public array $attrGroups;
25
+
26
+ /**
27
+ * Constructs a lambda function node.
28
+ *
29
+ * @param array{
30
+ * static?: bool,
31
+ * byRef?: bool,
32
+ * params?: Node\Param[],
33
+ * uses?: ClosureUse[],
34
+ * returnType?: null|Node\Identifier|Node\Name|Node\ComplexType,
35
+ * stmts?: Node\Stmt[],
36
+ * attrGroups?: Node\AttributeGroup[],
37
+ * } $subNodes Array of the following optional subnodes:
38
+ * 'static' => false : Whether the closure is static
39
+ * 'byRef' => false : Whether to return by reference
40
+ * 'params' => array(): Parameters
41
+ * 'uses' => array(): use()s
42
+ * 'returnType' => null : Return type
43
+ * 'stmts' => array(): Statements
44
+ * 'attrGroups' => array(): PHP attributes groups
45
+ * @param array<string, mixed> $attributes Additional attributes
46
+ */
47
+ public function __construct(array $subNodes = [], array $attributes = []) {
48
+ $this->attributes = $attributes;
49
+ $this->static = $subNodes['static'] ?? false;
50
+ $this->byRef = $subNodes['byRef'] ?? false;
51
+ $this->params = $subNodes['params'] ?? [];
52
+ $this->uses = $subNodes['uses'] ?? [];
53
+ $this->returnType = $subNodes['returnType'] ?? null;
54
+ $this->stmts = $subNodes['stmts'] ?? [];
55
+ $this->attrGroups = $subNodes['attrGroups'] ?? [];
56
+ }
57
+
58
+ public function getSubNodeNames(): array {
59
+ return ['attrGroups', 'static', 'byRef', 'params', 'uses', 'returnType', 'stmts'];
60
+ }
61
+
62
+ public function returnsByRef(): bool {
63
+ return $this->byRef;
64
+ }
65
+
66
+ public function getParams(): array {
67
+ return $this->params;
68
+ }
69
+
70
+ public function getReturnType() {
71
+ return $this->returnType;
72
+ }
73
+
74
+ /** @return Node\Stmt[] */
75
+ public function getStmts(): array {
76
+ return $this->stmts;
77
+ }
78
+
79
+ public function getAttrGroups(): array {
80
+ return $this->attrGroups;
81
+ }
82
+
83
+ public function getType(): string {
84
+ return 'Expr_Closure';
85
+ }
86
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ require __DIR__ . '/../ClosureUse.php';
6
+
7
+ if (false) {
8
+ /**
9
+ * For classmap-authoritative support.
10
+ *
11
+ * @deprecated use \PhpParser\Node\ClosureUse instead.
12
+ */
13
+ class ClosureUse extends \PhpParser\Node\ClosureUse {
14
+ }
15
+ }
@@ -0,0 +1,30 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+ use PhpParser\Node\Name;
7
+
8
+ class ConstFetch extends Expr {
9
+ /** @var Name Constant name */
10
+ public Name $name;
11
+
12
+ /**
13
+ * Constructs a const fetch node.
14
+ *
15
+ * @param Name $name Constant name
16
+ * @param array<string, mixed> $attributes Additional attributes
17
+ */
18
+ public function __construct(Name $name, array $attributes = []) {
19
+ $this->attributes = $attributes;
20
+ $this->name = $name;
21
+ }
22
+
23
+ public function getSubNodeNames(): array {
24
+ return ['name'];
25
+ }
26
+
27
+ public function getType(): string {
28
+ return 'Expr_ConstFetch';
29
+ }
30
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class Empty_ extends Expr {
8
+ /** @var Expr Expression */
9
+ public Expr $expr;
10
+
11
+ /**
12
+ * Constructs an empty() node.
13
+ *
14
+ * @param Expr $expr Expression
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(Expr $expr, 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 'Expr_Empty';
28
+ }
29
+ }
@@ -0,0 +1,30 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ /**
8
+ * Error node used during parsing with error recovery.
9
+ *
10
+ * An error node may be placed at a position where an expression is required, but an error occurred.
11
+ * Error nodes will not be present if the parser is run in throwOnError mode (the default).
12
+ */
13
+ class Error extends Expr {
14
+ /**
15
+ * Constructs an error node.
16
+ *
17
+ * @param array<string, mixed> $attributes Additional attributes
18
+ */
19
+ public function __construct(array $attributes = []) {
20
+ $this->attributes = $attributes;
21
+ }
22
+
23
+ public function getSubNodeNames(): array {
24
+ return [];
25
+ }
26
+
27
+ public function getType(): string {
28
+ return 'Expr_Error';
29
+ }
30
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class ErrorSuppress extends Expr {
8
+ /** @var Expr Expression */
9
+ public Expr $expr;
10
+
11
+ /**
12
+ * Constructs an error suppress node.
13
+ *
14
+ * @param Expr $expr Expression
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(Expr $expr, 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 'Expr_ErrorSuppress';
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class Eval_ extends Expr {
8
+ /** @var Expr Expression */
9
+ public Expr $expr;
10
+
11
+ /**
12
+ * Constructs an eval() node.
13
+ *
14
+ * @param Expr $expr Expression
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(Expr $expr, 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 'Expr_Eval';
28
+ }
29
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class Exit_ extends Expr {
8
+ /* For use in "kind" attribute */
9
+ public const KIND_EXIT = 1;
10
+ public const KIND_DIE = 2;
11
+
12
+ /** @var null|Expr Expression */
13
+ public ?Expr $expr;
14
+
15
+ /**
16
+ * Constructs an exit() node.
17
+ *
18
+ * @param null|Expr $expr Expression
19
+ * @param array<string, mixed> $attributes Additional attributes
20
+ */
21
+ public function __construct(?Expr $expr = null, array $attributes = []) {
22
+ $this->attributes = $attributes;
23
+ $this->expr = $expr;
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['expr'];
28
+ }
29
+
30
+ public function getType(): string {
31
+ return 'Expr_Exit';
32
+ }
33
+ }
@@ -0,0 +1,38 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Expr;
7
+
8
+ class FuncCall extends CallLike {
9
+ /** @var Node\Name|Expr Function name */
10
+ public Node $name;
11
+ /** @var array<Node\Arg|Node\VariadicPlaceholder> Arguments */
12
+ public array $args;
13
+
14
+ /**
15
+ * Constructs a function call node.
16
+ *
17
+ * @param Node\Name|Expr $name Function name
18
+ * @param array<Node\Arg|Node\VariadicPlaceholder> $args Arguments
19
+ * @param array<string, mixed> $attributes Additional attributes
20
+ */
21
+ public function __construct(Node $name, array $args = [], array $attributes = []) {
22
+ $this->attributes = $attributes;
23
+ $this->name = $name;
24
+ $this->args = $args;
25
+ }
26
+
27
+ public function getSubNodeNames(): array {
28
+ return ['name', 'args'];
29
+ }
30
+
31
+ public function getType(): string {
32
+ return 'Expr_FuncCall';
33
+ }
34
+
35
+ public function getRawArgs(): array {
36
+ return $this->args;
37
+ }
38
+ }
@@ -0,0 +1,38 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class Include_ extends Expr {
8
+ public const TYPE_INCLUDE = 1;
9
+ public const TYPE_INCLUDE_ONCE = 2;
10
+ public const TYPE_REQUIRE = 3;
11
+ public const TYPE_REQUIRE_ONCE = 4;
12
+
13
+ /** @var Expr Expression */
14
+ public Expr $expr;
15
+ /** @var int Type of include */
16
+ public int $type;
17
+
18
+ /**
19
+ * Constructs an include node.
20
+ *
21
+ * @param Expr $expr Expression
22
+ * @param int $type Type of include
23
+ * @param array<string, mixed> $attributes Additional attributes
24
+ */
25
+ public function __construct(Expr $expr, int $type, array $attributes = []) {
26
+ $this->attributes = $attributes;
27
+ $this->expr = $expr;
28
+ $this->type = $type;
29
+ }
30
+
31
+ public function getSubNodeNames(): array {
32
+ return ['expr', 'type'];
33
+ }
34
+
35
+ public function getType(): string {
36
+ return 'Expr_Include';
37
+ }
38
+ }
@@ -0,0 +1,35 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Expr;
7
+ use PhpParser\Node\Name;
8
+
9
+ class Instanceof_ extends Expr {
10
+ /** @var Expr Expression */
11
+ public Expr $expr;
12
+ /** @var Name|Expr Class name */
13
+ public Node $class;
14
+
15
+ /**
16
+ * Constructs an instanceof check node.
17
+ *
18
+ * @param Expr $expr Expression
19
+ * @param Name|Expr $class Class name
20
+ * @param array<string, mixed> $attributes Additional attributes
21
+ */
22
+ public function __construct(Expr $expr, Node $class, array $attributes = []) {
23
+ $this->attributes = $attributes;
24
+ $this->expr = $expr;
25
+ $this->class = $class;
26
+ }
27
+
28
+ public function getSubNodeNames(): array {
29
+ return ['expr', 'class'];
30
+ }
31
+
32
+ public function getType(): string {
33
+ return 'Expr_Instanceof';
34
+ }
35
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class Isset_ extends Expr {
8
+ /** @var Expr[] Variables */
9
+ public array $vars;
10
+
11
+ /**
12
+ * Constructs an array node.
13
+ *
14
+ * @param Expr[] $vars Variables
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 'Expr_Isset';
28
+ }
29
+ }
@@ -0,0 +1,34 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\ArrayItem;
6
+ use PhpParser\Node\Expr;
7
+
8
+ class List_ extends Expr {
9
+ // For use in "kind" attribute
10
+ public const KIND_LIST = 1; // list() syntax
11
+ public const KIND_ARRAY = 2; // [] syntax
12
+
13
+ /** @var (ArrayItem|null)[] List of items to assign to */
14
+ public array $items;
15
+
16
+ /**
17
+ * Constructs a list() destructuring node.
18
+ *
19
+ * @param (ArrayItem|null)[] $items List of items to assign to
20
+ * @param array<string, mixed> $attributes Additional attributes
21
+ */
22
+ public function __construct(array $items, array $attributes = []) {
23
+ $this->attributes = $attributes;
24
+ $this->items = $items;
25
+ }
26
+
27
+ public function getSubNodeNames(): array {
28
+ return ['items'];
29
+ }
30
+
31
+ public function getType(): string {
32
+ return 'Expr_List';
33
+ }
34
+ }
@@ -0,0 +1,32 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\MatchArm;
7
+
8
+ class Match_ extends Node\Expr {
9
+ /** @var Node\Expr Condition */
10
+ public Node\Expr $cond;
11
+ /** @var MatchArm[] */
12
+ public array $arms;
13
+
14
+ /**
15
+ * @param Node\Expr $cond Condition
16
+ * @param MatchArm[] $arms
17
+ * @param array<string, mixed> $attributes Additional attributes
18
+ */
19
+ public function __construct(Node\Expr $cond, array $arms = [], array $attributes = []) {
20
+ $this->attributes = $attributes;
21
+ $this->cond = $cond;
22
+ $this->arms = $arms;
23
+ }
24
+
25
+ public function getSubNodeNames(): array {
26
+ return ['cond', 'arms'];
27
+ }
28
+
29
+ public function getType(): string {
30
+ return 'Expr_Match';
31
+ }
32
+ }
@@ -0,0 +1,45 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Arg;
7
+ use PhpParser\Node\Expr;
8
+ use PhpParser\Node\Identifier;
9
+ use PhpParser\Node\VariadicPlaceholder;
10
+
11
+ class MethodCall extends CallLike {
12
+ /** @var Expr Variable holding object */
13
+ public Expr $var;
14
+ /** @var Identifier|Expr Method name */
15
+ public Node $name;
16
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
17
+ public array $args;
18
+
19
+ /**
20
+ * Constructs a function call node.
21
+ *
22
+ * @param Expr $var Variable holding object
23
+ * @param string|Identifier|Expr $name Method name
24
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
25
+ * @param array<string, mixed> $attributes Additional attributes
26
+ */
27
+ public function __construct(Expr $var, $name, array $args = [], array $attributes = []) {
28
+ $this->attributes = $attributes;
29
+ $this->var = $var;
30
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
31
+ $this->args = $args;
32
+ }
33
+
34
+ public function getSubNodeNames(): array {
35
+ return ['var', 'name', 'args'];
36
+ }
37
+
38
+ public function getType(): string {
39
+ return 'Expr_MethodCall';
40
+ }
41
+
42
+ public function getRawArgs(): array {
43
+ return $this->args;
44
+ }
45
+ }
@@ -0,0 +1,40 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Arg;
7
+ use PhpParser\Node\Expr;
8
+ use PhpParser\Node\VariadicPlaceholder;
9
+
10
+ class New_ extends CallLike {
11
+ /** @var Node\Name|Expr|Node\Stmt\Class_ Class name */
12
+ public Node $class;
13
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
14
+ public array $args;
15
+
16
+ /**
17
+ * Constructs a function call node.
18
+ *
19
+ * @param Node\Name|Expr|Node\Stmt\Class_ $class Class name (or class node for anonymous classes)
20
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
21
+ * @param array<string, mixed> $attributes Additional attributes
22
+ */
23
+ public function __construct(Node $class, array $args = [], array $attributes = []) {
24
+ $this->attributes = $attributes;
25
+ $this->class = $class;
26
+ $this->args = $args;
27
+ }
28
+
29
+ public function getSubNodeNames(): array {
30
+ return ['class', 'args'];
31
+ }
32
+
33
+ public function getType(): string {
34
+ return 'Expr_New';
35
+ }
36
+
37
+ public function getRawArgs(): array {
38
+ return $this->args;
39
+ }
40
+ }
@@ -0,0 +1,45 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Arg;
7
+ use PhpParser\Node\Expr;
8
+ use PhpParser\Node\Identifier;
9
+ use PhpParser\Node\VariadicPlaceholder;
10
+
11
+ class NullsafeMethodCall extends CallLike {
12
+ /** @var Expr Variable holding object */
13
+ public Expr $var;
14
+ /** @var Identifier|Expr Method name */
15
+ public Node $name;
16
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
17
+ public array $args;
18
+
19
+ /**
20
+ * Constructs a nullsafe method call node.
21
+ *
22
+ * @param Expr $var Variable holding object
23
+ * @param string|Identifier|Expr $name Method name
24
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
25
+ * @param array<string, mixed> $attributes Additional attributes
26
+ */
27
+ public function __construct(Expr $var, $name, array $args = [], array $attributes = []) {
28
+ $this->attributes = $attributes;
29
+ $this->var = $var;
30
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
31
+ $this->args = $args;
32
+ }
33
+
34
+ public function getSubNodeNames(): array {
35
+ return ['var', 'name', 'args'];
36
+ }
37
+
38
+ public function getType(): string {
39
+ return 'Expr_NullsafeMethodCall';
40
+ }
41
+
42
+ public function getRawArgs(): array {
43
+ return $this->args;
44
+ }
45
+ }
@@ -0,0 +1,35 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Expr;
7
+ use PhpParser\Node\Identifier;
8
+
9
+ class NullsafePropertyFetch extends Expr {
10
+ /** @var Expr Variable holding object */
11
+ public Expr $var;
12
+ /** @var Identifier|Expr Property name */
13
+ public Node $name;
14
+
15
+ /**
16
+ * Constructs a nullsafe property fetch node.
17
+ *
18
+ * @param Expr $var Variable holding object
19
+ * @param string|Identifier|Expr $name Property name
20
+ * @param array<string, mixed> $attributes Additional attributes
21
+ */
22
+ public function __construct(Expr $var, $name, array $attributes = []) {
23
+ $this->attributes = $attributes;
24
+ $this->var = $var;
25
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
26
+ }
27
+
28
+ public function getSubNodeNames(): array {
29
+ return ['var', 'name'];
30
+ }
31
+
32
+ public function getType(): string {
33
+ return 'Expr_NullsafePropertyFetch';
34
+ }
35
+ }