@appthreat/atom 1.7.5 → 1.8.1

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 (326) hide show
  1. package/astgen.js +6 -2
  2. package/index.js +3 -1
  3. package/package.json +3 -2
  4. package/phpastgen.js +31 -0
  5. package/plugins/autoload.php +25 -0
  6. package/plugins/bin/atom +1 -1
  7. package/plugins/bin/atom.bat +1 -1
  8. package/plugins/bin/php-parse +119 -0
  9. package/plugins/composer/ClassLoader.php +579 -0
  10. package/plugins/composer/InstalledVersions.php +359 -0
  11. package/plugins/composer/LICENSE +21 -0
  12. package/plugins/composer/autoload_classmap.php +260 -0
  13. package/plugins/composer/autoload_namespaces.php +9 -0
  14. package/plugins/composer/autoload_psr4.php +10 -0
  15. package/plugins/composer/autoload_real.php +36 -0
  16. package/plugins/composer/autoload_static.php +286 -0
  17. package/plugins/composer/installed.json +67 -0
  18. package/plugins/composer/installed.php +32 -0
  19. package/plugins/lib/{com.fasterxml.jackson.core.jackson-annotations-2.15.2.jar → com.fasterxml.jackson.core.jackson-annotations-2.16.0.jar} +0 -0
  20. package/plugins/lib/com.fasterxml.jackson.core.jackson-core-2.16.0.jar +0 -0
  21. package/plugins/lib/{com.fasterxml.jackson.core.jackson-databind-2.15.2.jar → com.fasterxml.jackson.core.jackson-databind-2.16.0.jar} +0 -0
  22. package/plugins/lib/{com.github.javaparser.javaparser-core-3.25.6.jar → com.github.javaparser.javaparser-core-3.25.7.jar} +0 -0
  23. package/plugins/lib/{com.github.javaparser.javaparser-symbol-solver-core-3.25.6.jar → com.github.javaparser.javaparser-symbol-solver-core-3.25.7.jar} +0 -0
  24. package/plugins/lib/{com.typesafe.config-1.4.2.jar → com.typesafe.config-1.4.3.jar} +0 -0
  25. package/plugins/lib/io.appthreat.atom-1.8.1-classpath.jar +0 -0
  26. package/plugins/lib/{io.appthreat.atom-1.7.5.jar → io.appthreat.atom-1.8.1.jar} +0 -0
  27. package/plugins/lib/{io.appthreat.c2cpg_3-1.0.10.jar → io.appthreat.c2cpg_3-1.1.3.jar} +0 -0
  28. package/plugins/lib/{io.appthreat.dataflowengineoss_3-1.0.10.jar → io.appthreat.dataflowengineoss_3-1.1.3.jar} +0 -0
  29. package/plugins/lib/{io.appthreat.javasrc2cpg_3-1.0.10.jar → io.appthreat.javasrc2cpg_3-1.1.3.jar} +0 -0
  30. package/plugins/lib/{io.appthreat.jimple2cpg_3-1.0.10.jar → io.appthreat.jimple2cpg_3-1.1.3.jar} +0 -0
  31. package/plugins/lib/{io.appthreat.jssrc2cpg_3-1.0.10.jar → io.appthreat.jssrc2cpg_3-1.1.3.jar} +0 -0
  32. package/plugins/lib/io.appthreat.php2atom_3-1.1.3.jar +0 -0
  33. package/plugins/lib/{io.appthreat.pysrc2cpg_3-1.0.10.jar → io.appthreat.pysrc2cpg_3-1.1.3.jar} +0 -0
  34. package/plugins/lib/{io.appthreat.semanticcpg_3-1.0.10.jar → io.appthreat.semanticcpg_3-1.1.3.jar} +0 -0
  35. package/plugins/lib/{io.appthreat.x2cpg_3-1.0.10.jar → io.appthreat.x2cpg_3-1.1.3.jar} +0 -0
  36. package/plugins/lib/io.circe.circe-core_3-0.14.6.jar +0 -0
  37. package/plugins/lib/io.circe.circe-generic_3-0.14.6.jar +0 -0
  38. package/plugins/lib/io.circe.circe-jawn_3-0.14.6.jar +0 -0
  39. package/plugins/lib/io.circe.circe-numbers_3-0.14.6.jar +0 -0
  40. package/plugins/lib/io.circe.circe-parser_3-0.14.6.jar +0 -0
  41. package/plugins/lib/org.gradle.gradle-tooling-api-8.5.jar +0 -0
  42. package/plugins/lib/{org.json4s.json4s-ast_3-4.0.6.jar → org.json4s.json4s-ast_3-4.0.7.jar} +0 -0
  43. package/plugins/lib/{org.json4s.json4s-core_3-4.0.6.jar → org.json4s.json4s-core_3-4.0.7.jar} +0 -0
  44. package/plugins/lib/{org.json4s.json4s-native-core_3-4.0.6.jar → org.json4s.json4s-native-core_3-4.0.7.jar} +0 -0
  45. package/plugins/lib/{org.json4s.json4s-native_3-4.0.6.jar → org.json4s.json4s-native_3-4.0.7.jar} +0 -0
  46. package/plugins/lib/{org.json4s.json4s-scalap_3-4.0.6.jar → org.json4s.json4s-scalap_3-4.0.7.jar} +0 -0
  47. package/plugins/lib/org.scala-lang.modules.scala-parser-combinators_3-2.3.0.jar +0 -0
  48. package/plugins/nikic/php-parser/.php-cs-fixer.dist.php +31 -0
  49. package/plugins/nikic/php-parser/LICENSE +29 -0
  50. package/plugins/nikic/php-parser/Makefile +10 -0
  51. package/plugins/nikic/php-parser/README.md +233 -0
  52. package/plugins/nikic/php-parser/bin/php-parse +206 -0
  53. package/plugins/nikic/php-parser/composer.json +43 -0
  54. package/plugins/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +150 -0
  55. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Class_.php +151 -0
  56. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +50 -0
  57. package/plugins/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +87 -0
  58. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +116 -0
  59. package/plugins/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +73 -0
  60. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Function_.php +67 -0
  61. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +94 -0
  62. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Method.php +147 -0
  63. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
  64. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Param.php +149 -0
  65. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Property.php +161 -0
  66. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +65 -0
  67. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +145 -0
  68. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +83 -0
  69. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
  70. package/plugins/nikic/php-parser/lib/PhpParser/Builder.php +12 -0
  71. package/plugins/nikic/php-parser/lib/PhpParser/BuilderFactory.php +375 -0
  72. package/plugins/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +333 -0
  73. package/plugins/nikic/php-parser/lib/PhpParser/Comment/Doc.php +6 -0
  74. package/plugins/nikic/php-parser/lib/PhpParser/Comment.php +207 -0
  75. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
  76. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +234 -0
  77. package/plugins/nikic/php-parser/lib/PhpParser/Error.php +171 -0
  78. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +43 -0
  79. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +17 -0
  80. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler.php +12 -0
  81. package/plugins/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +31 -0
  82. package/plugins/nikic/php-parser/lib/PhpParser/Internal/Differ.php +178 -0
  83. package/plugins/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +71 -0
  84. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
  85. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +271 -0
  86. package/plugins/nikic/php-parser/lib/PhpParser/JsonDecoder.php +108 -0
  87. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +226 -0
  88. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +49 -0
  89. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +26 -0
  90. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +45 -0
  91. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +56 -0
  92. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +19 -0
  93. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +60 -0
  94. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
  95. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +31 -0
  96. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +37 -0
  97. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +30 -0
  98. package/plugins/nikic/php-parser/lib/PhpParser/Lexer.php +116 -0
  99. package/plugins/nikic/php-parser/lib/PhpParser/Modifiers.php +69 -0
  100. package/plugins/nikic/php-parser/lib/PhpParser/NameContext.php +284 -0
  101. package/plugins/nikic/php-parser/lib/PhpParser/Node/Arg.php +44 -0
  102. package/plugins/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
  103. package/plugins/nikic/php-parser/lib/PhpParser/Node/Attribute.php +33 -0
  104. package/plugins/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +27 -0
  105. package/plugins/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
  106. package/plugins/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +13 -0
  107. package/plugins/nikic/php-parser/lib/PhpParser/Node/Const_.php +36 -0
  108. package/plugins/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
  109. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +33 -0
  110. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +3 -0
  111. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
  112. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +84 -0
  113. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +33 -0
  114. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +11 -0
  115. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +11 -0
  116. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +11 -0
  117. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +11 -0
  118. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +11 -0
  119. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +11 -0
  120. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +11 -0
  121. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +11 -0
  122. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +11 -0
  123. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +11 -0
  124. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +11 -0
  125. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +11 -0
  126. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +11 -0
  127. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +29 -0
  128. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +33 -0
  129. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +15 -0
  130. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +15 -0
  131. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +15 -0
  132. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +15 -0
  133. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +15 -0
  134. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +15 -0
  135. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +15 -0
  136. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +15 -0
  137. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +15 -0
  138. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +15 -0
  139. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +15 -0
  140. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +15 -0
  141. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +15 -0
  142. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +15 -0
  143. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +15 -0
  144. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +15 -0
  145. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +15 -0
  146. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +15 -0
  147. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +15 -0
  148. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +15 -0
  149. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +15 -0
  150. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +15 -0
  151. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +15 -0
  152. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +15 -0
  153. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +15 -0
  154. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +15 -0
  155. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +15 -0
  156. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +37 -0
  157. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +29 -0
  158. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +29 -0
  159. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +35 -0
  160. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +11 -0
  161. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +11 -0
  162. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +16 -0
  163. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +11 -0
  164. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +11 -0
  165. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +11 -0
  166. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +11 -0
  167. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +25 -0
  168. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
  169. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +29 -0
  170. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +86 -0
  171. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +3 -0
  172. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +30 -0
  173. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +29 -0
  174. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +30 -0
  175. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +29 -0
  176. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +29 -0
  177. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +33 -0
  178. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +38 -0
  179. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +38 -0
  180. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
  181. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +29 -0
  182. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +34 -0
  183. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +32 -0
  184. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +45 -0
  185. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +40 -0
  186. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +45 -0
  187. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +35 -0
  188. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +29 -0
  189. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +29 -0
  190. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +29 -0
  191. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +29 -0
  192. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +29 -0
  193. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
  194. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
  195. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +45 -0
  196. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
  197. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +37 -0
  198. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +29 -0
  199. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +29 -0
  200. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +29 -0
  201. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +29 -0
  202. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +29 -0
  203. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +33 -0
  204. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr.php +8 -0
  205. package/plugins/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +40 -0
  206. package/plugins/nikic/php-parser/lib/PhpParser/Node/Identifier.php +75 -0
  207. package/plugins/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
  208. package/plugins/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +27 -0
  209. package/plugins/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +30 -0
  210. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +49 -0
  211. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +49 -0
  212. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name.php +269 -0
  213. package/plugins/nikic/php-parser/lib/PhpParser/Node/NullableType.php +29 -0
  214. package/plugins/nikic/php-parser/lib/PhpParser/Node/Param.php +84 -0
  215. package/plugins/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
  216. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +3 -0
  217. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +3 -0
  218. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +3 -0
  219. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
  220. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
  221. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
  222. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +3 -0
  223. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +15 -0
  224. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +15 -0
  225. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +15 -0
  226. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +15 -0
  227. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +15 -0
  228. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +15 -0
  229. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +15 -0
  230. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +15 -0
  231. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +27 -0
  232. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +161 -0
  233. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar.php +6 -0
  234. package/plugins/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
  235. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
  236. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +29 -0
  237. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +33 -0
  238. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +40 -0
  239. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +77 -0
  240. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +109 -0
  241. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +154 -0
  242. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +94 -0
  243. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +29 -0
  244. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +29 -0
  245. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +3 -0
  246. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
  247. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +33 -0
  248. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +29 -0
  249. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +33 -0
  250. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +29 -0
  251. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +36 -0
  252. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +44 -0
  253. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +32 -0
  254. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +29 -0
  255. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +47 -0
  256. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +50 -0
  257. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +81 -0
  258. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +29 -0
  259. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +30 -0
  260. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +41 -0
  261. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +29 -0
  262. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +46 -0
  263. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +29 -0
  264. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +40 -0
  265. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +30 -0
  266. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +37 -0
  267. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +16 -0
  268. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +82 -0
  269. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +3 -0
  270. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +29 -0
  271. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +3 -0
  272. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
  273. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +33 -0
  274. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +33 -0
  275. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +37 -0
  276. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +33 -0
  277. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +12 -0
  278. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +34 -0
  279. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +37 -0
  280. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +29 -0
  281. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +3 -0
  282. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
  283. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +33 -0
  284. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt.php +8 -0
  285. package/plugins/nikic/php-parser/lib/PhpParser/Node/UnionType.php +27 -0
  286. package/plugins/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
  287. package/plugins/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +16 -0
  288. package/plugins/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
  289. package/plugins/nikic/php-parser/lib/PhpParser/Node.php +146 -0
  290. package/plugins/nikic/php-parser/lib/PhpParser/NodeAbstract.php +178 -0
  291. package/plugins/nikic/php-parser/lib/PhpParser/NodeDumper.php +290 -0
  292. package/plugins/nikic/php-parser/lib/PhpParser/NodeFinder.php +90 -0
  293. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverser.php +278 -0
  294. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +26 -0
  295. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +19 -0
  296. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
  297. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +47 -0
  298. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +49 -0
  299. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +262 -0
  300. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +51 -0
  301. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +38 -0
  302. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor.php +124 -0
  303. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +24 -0
  304. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2699 -0
  305. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2717 -0
  306. package/plugins/nikic/php-parser/lib/PhpParser/Parser.php +24 -0
  307. package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1241 -0
  308. package/plugins/nikic/php-parser/lib/PhpParser/ParserFactory.php +42 -0
  309. package/plugins/nikic/php-parser/lib/PhpParser/PhpVersion.php +164 -0
  310. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +1177 -0
  311. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
  312. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1655 -0
  313. package/plugins/nikic/php-parser/lib/PhpParser/Token.php +18 -0
  314. package/plugins/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +56 -0
  315. package/plugins/nikic/php-parser/phpstan-baseline.neon +236 -0
  316. package/plugins/nikic/php-parser/phpstan.neon.dist +8 -0
  317. package/utils.mjs +10 -0
  318. package/plugins/lib/com.fasterxml.jackson.core.jackson-core-2.15.2.jar +0 -0
  319. package/plugins/lib/io.appthreat.atom-1.7.5-classpath.jar +0 -0
  320. package/plugins/lib/io.circe.circe-core_3-0.14.5.jar +0 -0
  321. package/plugins/lib/io.circe.circe-generic_3-0.14.5.jar +0 -0
  322. package/plugins/lib/io.circe.circe-jawn_3-0.14.5.jar +0 -0
  323. package/plugins/lib/io.circe.circe-numbers_3-0.14.5.jar +0 -0
  324. package/plugins/lib/io.circe.circe-parser_3-0.14.5.jar +0 -0
  325. package/plugins/lib/org.gradle.gradle-tooling-api-8.3.jar +0 -0
  326. package/plugins/lib/org.scala-lang.modules.scala-parser-combinators_3-2.2.0.jar +0 -0
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Class_ extends MagicConst {
8
+ public function getName(): string {
9
+ return '__CLASS__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Class';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Dir extends MagicConst {
8
+ public function getName(): string {
9
+ return '__DIR__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Dir';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class File extends MagicConst {
8
+ public function getName(): string {
9
+ return '__FILE__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_File';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Function_ extends MagicConst {
8
+ public function getName(): string {
9
+ return '__FUNCTION__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Function';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Line extends MagicConst {
8
+ public function getName(): string {
9
+ return '__LINE__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Line';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Method extends MagicConst {
8
+ public function getName(): string {
9
+ return '__METHOD__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Method';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Namespace_ extends MagicConst {
8
+ public function getName(): string {
9
+ return '__NAMESPACE__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Namespace';
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar\MagicConst;
4
+
5
+ use PhpParser\Node\Scalar\MagicConst;
6
+
7
+ class Trait_ extends MagicConst {
8
+ public function getName(): string {
9
+ return '__TRAIT__';
10
+ }
11
+
12
+ public function getType(): string {
13
+ return 'Scalar_MagicConst_Trait';
14
+ }
15
+ }
@@ -0,0 +1,27 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar;
4
+
5
+ use PhpParser\Node\Scalar;
6
+
7
+ abstract class MagicConst extends Scalar {
8
+ /**
9
+ * Constructs a magic constant node.
10
+ *
11
+ * @param array<string, mixed> $attributes Additional attributes
12
+ */
13
+ public function __construct(array $attributes = []) {
14
+ $this->attributes = $attributes;
15
+ }
16
+
17
+ public function getSubNodeNames(): array {
18
+ return [];
19
+ }
20
+
21
+ /**
22
+ * Get name of magic constant.
23
+ *
24
+ * @return string Name of magic constant
25
+ */
26
+ abstract public function getName(): string;
27
+ }
@@ -0,0 +1,161 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Scalar;
4
+
5
+ use PhpParser\Error;
6
+ use PhpParser\Node\Scalar;
7
+
8
+ class String_ extends Scalar {
9
+ /* For use in "kind" attribute */
10
+ public const KIND_SINGLE_QUOTED = 1;
11
+ public const KIND_DOUBLE_QUOTED = 2;
12
+ public const KIND_HEREDOC = 3;
13
+ public const KIND_NOWDOC = 4;
14
+
15
+ /** @var string String value */
16
+ public string $value;
17
+
18
+ /** @var array<string, string> Escaped character to its decoded value */
19
+ protected static array $replacements = [
20
+ '\\' => '\\',
21
+ '$' => '$',
22
+ 'n' => "\n",
23
+ 'r' => "\r",
24
+ 't' => "\t",
25
+ 'f' => "\f",
26
+ 'v' => "\v",
27
+ 'e' => "\x1B",
28
+ ];
29
+
30
+ /**
31
+ * Constructs a string scalar node.
32
+ *
33
+ * @param string $value Value of the string
34
+ * @param array<string, mixed> $attributes Additional attributes
35
+ */
36
+ public function __construct(string $value, array $attributes = []) {
37
+ $this->attributes = $attributes;
38
+ $this->value = $value;
39
+ }
40
+
41
+ public function getSubNodeNames(): array {
42
+ return ['value'];
43
+ }
44
+
45
+ /**
46
+ * @param array<string, mixed> $attributes
47
+ * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes
48
+ */
49
+ public static function fromString(string $str, array $attributes = [], bool $parseUnicodeEscape = true): self {
50
+ $attributes['kind'] = ($str[0] === "'" || ($str[1] === "'" && ($str[0] === 'b' || $str[0] === 'B')))
51
+ ? Scalar\String_::KIND_SINGLE_QUOTED
52
+ : Scalar\String_::KIND_DOUBLE_QUOTED;
53
+
54
+ $attributes['rawValue'] = $str;
55
+
56
+ $string = self::parse($str, $parseUnicodeEscape);
57
+
58
+ return new self($string, $attributes);
59
+ }
60
+
61
+ /**
62
+ * @internal
63
+ *
64
+ * Parses a string token.
65
+ *
66
+ * @param string $str String token content
67
+ * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes
68
+ *
69
+ * @return string The parsed string
70
+ */
71
+ public static function parse(string $str, bool $parseUnicodeEscape = true): string {
72
+ $bLength = 0;
73
+ if ('b' === $str[0] || 'B' === $str[0]) {
74
+ $bLength = 1;
75
+ }
76
+
77
+ if ('\'' === $str[$bLength]) {
78
+ return str_replace(
79
+ ['\\\\', '\\\''],
80
+ ['\\', '\''],
81
+ substr($str, $bLength + 1, -1)
82
+ );
83
+ } else {
84
+ return self::parseEscapeSequences(
85
+ substr($str, $bLength + 1, -1), '"', $parseUnicodeEscape
86
+ );
87
+ }
88
+ }
89
+
90
+ /**
91
+ * @internal
92
+ *
93
+ * Parses escape sequences in strings (all string types apart from single quoted).
94
+ *
95
+ * @param string $str String without quotes
96
+ * @param null|string $quote Quote type
97
+ * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes
98
+ *
99
+ * @return string String with escape sequences parsed
100
+ */
101
+ public static function parseEscapeSequences(string $str, ?string $quote, bool $parseUnicodeEscape = true): string {
102
+ if (null !== $quote) {
103
+ $str = str_replace('\\' . $quote, $quote, $str);
104
+ }
105
+
106
+ $extra = '';
107
+ if ($parseUnicodeEscape) {
108
+ $extra = '|u\{([0-9a-fA-F]+)\}';
109
+ }
110
+
111
+ return preg_replace_callback(
112
+ '~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3}' . $extra . ')~',
113
+ function ($matches) {
114
+ $str = $matches[1];
115
+
116
+ if (isset(self::$replacements[$str])) {
117
+ return self::$replacements[$str];
118
+ }
119
+ if ('x' === $str[0] || 'X' === $str[0]) {
120
+ return chr(hexdec(substr($str, 1)));
121
+ }
122
+ if ('u' === $str[0]) {
123
+ $dec = hexdec($matches[2]);
124
+ // If it overflowed to float, treat as INT_MAX, it will throw an error anyway.
125
+ return self::codePointToUtf8(\is_int($dec) ? $dec : \PHP_INT_MAX);
126
+ } else {
127
+ return chr(octdec($str));
128
+ }
129
+ },
130
+ $str
131
+ );
132
+ }
133
+
134
+ /**
135
+ * Converts a Unicode code point to its UTF-8 encoded representation.
136
+ *
137
+ * @param int $num Code point
138
+ *
139
+ * @return string UTF-8 representation of code point
140
+ */
141
+ private static function codePointToUtf8(int $num): string {
142
+ if ($num <= 0x7F) {
143
+ return chr($num);
144
+ }
145
+ if ($num <= 0x7FF) {
146
+ return chr(($num >> 6) + 0xC0) . chr(($num & 0x3F) + 0x80);
147
+ }
148
+ if ($num <= 0xFFFF) {
149
+ return chr(($num >> 12) + 0xE0) . chr((($num >> 6) & 0x3F) + 0x80) . chr(($num & 0x3F) + 0x80);
150
+ }
151
+ if ($num <= 0x1FFFFF) {
152
+ return chr(($num >> 18) + 0xF0) . chr((($num >> 12) & 0x3F) + 0x80)
153
+ . chr((($num >> 6) & 0x3F) + 0x80) . chr(($num & 0x3F) + 0x80);
154
+ }
155
+ throw new Error('Invalid UTF-8 codepoint escape sequence: Codepoint too large');
156
+ }
157
+
158
+ public function getType(): string {
159
+ return 'Scalar_String';
160
+ }
161
+ }
@@ -0,0 +1,6 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ abstract class Scalar extends Expr {
6
+ }
@@ -0,0 +1,39 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\NodeAbstract;
7
+
8
+ class StaticVar extends NodeAbstract {
9
+ /** @var Expr\Variable Variable */
10
+ public Expr\Variable $var;
11
+ /** @var null|Node\Expr Default value */
12
+ public ?Expr $default;
13
+
14
+ /**
15
+ * Constructs a static variable node.
16
+ *
17
+ * @param Expr\Variable $var Name
18
+ * @param null|Node\Expr $default Default value
19
+ * @param array<string, mixed> $attributes Additional attributes
20
+ */
21
+ public function __construct(
22
+ Expr\Variable $var, ?Node\Expr $default = null, array $attributes = []
23
+ ) {
24
+ $this->attributes = $attributes;
25
+ $this->var = $var;
26
+ $this->default = $default;
27
+ }
28
+
29
+ public function getSubNodeNames(): array {
30
+ return ['var', 'default'];
31
+ }
32
+
33
+ public function getType(): string {
34
+ return 'StaticVar';
35
+ }
36
+ }
37
+
38
+ // @deprecated compatibility alias
39
+ class_alias(StaticVar::class, Stmt\StaticVar::class);
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\Stmt;
6
+
7
+ class Block extends Stmt {
8
+ /** @var Stmt[] Statements */
9
+ public array $stmts;
10
+
11
+ /**
12
+ * A block of statements.
13
+ *
14
+ * @param Stmt[] $stmts Statements
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(array $stmts, array $attributes = []) {
18
+ $this->attributes = $attributes;
19
+ $this->stmts = $stmts;
20
+ }
21
+
22
+ public function getType(): string {
23
+ return 'Stmt_Block';
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['stmts'];
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Break_ extends Node\Stmt {
8
+ /** @var null|Node\Expr Number of loops to break */
9
+ public ?Node\Expr $num;
10
+
11
+ /**
12
+ * Constructs a break node.
13
+ *
14
+ * @param null|Node\Expr $num Number of loops to break
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(?Node\Expr $num = null, array $attributes = []) {
18
+ $this->attributes = $attributes;
19
+ $this->num = $num;
20
+ }
21
+
22
+ public function getSubNodeNames(): array {
23
+ return ['num'];
24
+ }
25
+
26
+ public function getType(): string {
27
+ return 'Stmt_Break';
28
+ }
29
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Case_ extends Node\Stmt {
8
+ /** @var null|Node\Expr Condition (null for default) */
9
+ public ?Node\Expr $cond;
10
+ /** @var Node\Stmt[] Statements */
11
+ public array $stmts;
12
+
13
+ /**
14
+ * Constructs a case node.
15
+ *
16
+ * @param null|Node\Expr $cond Condition (null for default)
17
+ * @param Node\Stmt[] $stmts Statements
18
+ * @param array<string, mixed> $attributes Additional attributes
19
+ */
20
+ public function __construct(?Node\Expr $cond, array $stmts = [], array $attributes = []) {
21
+ $this->attributes = $attributes;
22
+ $this->cond = $cond;
23
+ $this->stmts = $stmts;
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['cond', 'stmts'];
28
+ }
29
+
30
+ public function getType(): string {
31
+ return 'Stmt_Case';
32
+ }
33
+ }
@@ -0,0 +1,40 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Expr;
7
+
8
+ class Catch_ extends Node\Stmt {
9
+ /** @var Node\Name[] Types of exceptions to catch */
10
+ public array $types;
11
+ /** @var Expr\Variable|null Variable for exception */
12
+ public ?Expr\Variable $var;
13
+ /** @var Node\Stmt[] Statements */
14
+ public array $stmts;
15
+
16
+ /**
17
+ * Constructs a catch node.
18
+ *
19
+ * @param Node\Name[] $types Types of exceptions to catch
20
+ * @param Expr\Variable|null $var Variable for exception
21
+ * @param Node\Stmt[] $stmts Statements
22
+ * @param array<string, mixed> $attributes Additional attributes
23
+ */
24
+ public function __construct(
25
+ array $types, ?Expr\Variable $var = null, array $stmts = [], array $attributes = []
26
+ ) {
27
+ $this->attributes = $attributes;
28
+ $this->types = $types;
29
+ $this->var = $var;
30
+ $this->stmts = $stmts;
31
+ }
32
+
33
+ public function getSubNodeNames(): array {
34
+ return ['types', 'var', 'stmts'];
35
+ }
36
+
37
+ public function getType(): string {
38
+ return 'Stmt_Catch';
39
+ }
40
+ }
@@ -0,0 +1,77 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Modifiers;
6
+ use PhpParser\Node;
7
+
8
+ class ClassConst extends Node\Stmt {
9
+ /** @var int Modifiers */
10
+ public int $flags;
11
+ /** @var Node\Const_[] Constant declarations */
12
+ public array $consts;
13
+ /** @var Node\AttributeGroup[] PHP attribute groups */
14
+ public array $attrGroups;
15
+ /** @var Node\Identifier|Node\Name|Node\ComplexType|null Type declaration */
16
+ public ?Node $type;
17
+
18
+ /**
19
+ * Constructs a class const list node.
20
+ *
21
+ * @param Node\Const_[] $consts Constant declarations
22
+ * @param int $flags Modifiers
23
+ * @param array<string, mixed> $attributes Additional attributes
24
+ * @param list<Node\AttributeGroup> $attrGroups PHP attribute groups
25
+ * @param null|Node\Identifier|Node\Name|Node\ComplexType $type Type declaration
26
+ */
27
+ public function __construct(
28
+ array $consts,
29
+ int $flags = 0,
30
+ array $attributes = [],
31
+ array $attrGroups = [],
32
+ ?Node $type = null
33
+ ) {
34
+ $this->attributes = $attributes;
35
+ $this->flags = $flags;
36
+ $this->consts = $consts;
37
+ $this->attrGroups = $attrGroups;
38
+ $this->type = $type;
39
+ }
40
+
41
+ public function getSubNodeNames(): array {
42
+ return ['attrGroups', 'flags', 'type', 'consts'];
43
+ }
44
+
45
+ /**
46
+ * Whether constant is explicitly or implicitly public.
47
+ */
48
+ public function isPublic(): bool {
49
+ return ($this->flags & Modifiers::PUBLIC) !== 0
50
+ || ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
51
+ }
52
+
53
+ /**
54
+ * Whether constant is protected.
55
+ */
56
+ public function isProtected(): bool {
57
+ return (bool) ($this->flags & Modifiers::PROTECTED);
58
+ }
59
+
60
+ /**
61
+ * Whether constant is private.
62
+ */
63
+ public function isPrivate(): bool {
64
+ return (bool) ($this->flags & Modifiers::PRIVATE);
65
+ }
66
+
67
+ /**
68
+ * Whether constant is final.
69
+ */
70
+ public function isFinal(): bool {
71
+ return (bool) ($this->flags & Modifiers::FINAL);
72
+ }
73
+
74
+ public function getType(): string {
75
+ return 'Stmt_ClassConst';
76
+ }
77
+ }
@@ -0,0 +1,109 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\PropertyItem;
7
+
8
+ abstract class ClassLike extends Node\Stmt {
9
+ /** @var Node\Identifier|null Name */
10
+ public ?Node\Identifier $name;
11
+ /** @var Node\Stmt[] Statements */
12
+ public array $stmts;
13
+ /** @var Node\AttributeGroup[] PHP attribute groups */
14
+ public array $attrGroups;
15
+
16
+ /** @var Node\Name|null Namespaced name (if using NameResolver) */
17
+ public ?Node\Name $namespacedName;
18
+
19
+ /**
20
+ * @return TraitUse[]
21
+ */
22
+ public function getTraitUses(): array {
23
+ $traitUses = [];
24
+ foreach ($this->stmts as $stmt) {
25
+ if ($stmt instanceof TraitUse) {
26
+ $traitUses[] = $stmt;
27
+ }
28
+ }
29
+ return $traitUses;
30
+ }
31
+
32
+ /**
33
+ * @return ClassConst[]
34
+ */
35
+ public function getConstants(): array {
36
+ $constants = [];
37
+ foreach ($this->stmts as $stmt) {
38
+ if ($stmt instanceof ClassConst) {
39
+ $constants[] = $stmt;
40
+ }
41
+ }
42
+ return $constants;
43
+ }
44
+
45
+ /**
46
+ * @return Property[]
47
+ */
48
+ public function getProperties(): array {
49
+ $properties = [];
50
+ foreach ($this->stmts as $stmt) {
51
+ if ($stmt instanceof Property) {
52
+ $properties[] = $stmt;
53
+ }
54
+ }
55
+ return $properties;
56
+ }
57
+
58
+ /**
59
+ * Gets property with the given name defined directly in this class/interface/trait.
60
+ *
61
+ * @param string $name Name of the property
62
+ *
63
+ * @return Property|null Property node or null if the property does not exist
64
+ */
65
+ public function getProperty(string $name): ?Property {
66
+ foreach ($this->stmts as $stmt) {
67
+ if ($stmt instanceof Property) {
68
+ foreach ($stmt->props as $prop) {
69
+ if ($prop instanceof PropertyItem && $name === $prop->name->toString()) {
70
+ return $stmt;
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return null;
76
+ }
77
+
78
+ /**
79
+ * Gets all methods defined directly in this class/interface/trait
80
+ *
81
+ * @return ClassMethod[]
82
+ */
83
+ public function getMethods(): array {
84
+ $methods = [];
85
+ foreach ($this->stmts as $stmt) {
86
+ if ($stmt instanceof ClassMethod) {
87
+ $methods[] = $stmt;
88
+ }
89
+ }
90
+ return $methods;
91
+ }
92
+
93
+ /**
94
+ * Gets method with the given name defined directly in this class/interface/trait.
95
+ *
96
+ * @param string $name Name of the method (compared case-insensitively)
97
+ *
98
+ * @return ClassMethod|null Method node or null if the method does not exist
99
+ */
100
+ public function getMethod(string $name): ?ClassMethod {
101
+ $lowerName = strtolower($name);
102
+ foreach ($this->stmts as $stmt) {
103
+ if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) {
104
+ return $stmt;
105
+ }
106
+ }
107
+ return null;
108
+ }
109
+ }