@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,37 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt\TraitUseAdaptation;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Alias extends Node\Stmt\TraitUseAdaptation {
8
+ /** @var null|int New modifier */
9
+ public ?int $newModifier;
10
+ /** @var null|Node\Identifier New name */
11
+ public ?Node\Identifier $newName;
12
+
13
+ /**
14
+ * Constructs a trait use precedence adaptation node.
15
+ *
16
+ * @param null|Node\Name $trait Trait name
17
+ * @param string|Node\Identifier $method Method name
18
+ * @param null|int $newModifier New modifier
19
+ * @param null|string|Node\Identifier $newName New name
20
+ * @param array<string, mixed> $attributes Additional attributes
21
+ */
22
+ public function __construct(?Node\Name $trait, $method, ?int $newModifier, $newName, array $attributes = []) {
23
+ $this->attributes = $attributes;
24
+ $this->trait = $trait;
25
+ $this->method = \is_string($method) ? new Node\Identifier($method) : $method;
26
+ $this->newModifier = $newModifier;
27
+ $this->newName = \is_string($newName) ? new Node\Identifier($newName) : $newName;
28
+ }
29
+
30
+ public function getSubNodeNames(): array {
31
+ return ['trait', 'method', 'newModifier', 'newName'];
32
+ }
33
+
34
+ public function getType(): string {
35
+ return 'Stmt_TraitUseAdaptation_Alias';
36
+ }
37
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt\TraitUseAdaptation;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Precedence extends Node\Stmt\TraitUseAdaptation {
8
+ /** @var Node\Name[] Overwritten traits */
9
+ public array $insteadof;
10
+
11
+ /**
12
+ * Constructs a trait use precedence adaptation node.
13
+ *
14
+ * @param Node\Name $trait Trait name
15
+ * @param string|Node\Identifier $method Method name
16
+ * @param Node\Name[] $insteadof Overwritten traits
17
+ * @param array<string, mixed> $attributes Additional attributes
18
+ */
19
+ public function __construct(Node\Name $trait, $method, array $insteadof, array $attributes = []) {
20
+ $this->attributes = $attributes;
21
+ $this->trait = $trait;
22
+ $this->method = \is_string($method) ? new Node\Identifier($method) : $method;
23
+ $this->insteadof = $insteadof;
24
+ }
25
+
26
+ public function getSubNodeNames(): array {
27
+ return ['trait', 'method', 'insteadof'];
28
+ }
29
+
30
+ public function getType(): string {
31
+ return 'Stmt_TraitUseAdaptation_Precedence';
32
+ }
33
+ }
@@ -0,0 +1,12 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ abstract class TraitUseAdaptation extends Node\Stmt {
8
+ /** @var Node\Name|null Trait name */
9
+ public ?Node\Name $trait;
10
+ /** @var Node\Identifier Method name */
11
+ public Node\Identifier $method;
12
+ }
@@ -0,0 +1,34 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Trait_ extends ClassLike {
8
+ /**
9
+ * Constructs a trait node.
10
+ *
11
+ * @param string|Node\Identifier $name Name
12
+ * @param array{
13
+ * stmts?: Node\Stmt[],
14
+ * attrGroups?: Node\AttributeGroup[],
15
+ * } $subNodes Array of the following optional subnodes:
16
+ * 'stmts' => array(): Statements
17
+ * 'attrGroups' => array(): PHP attribute groups
18
+ * @param array<string, mixed> $attributes Additional attributes
19
+ */
20
+ public function __construct($name, array $subNodes = [], array $attributes = []) {
21
+ $this->attributes = $attributes;
22
+ $this->name = \is_string($name) ? new Node\Identifier($name) : $name;
23
+ $this->stmts = $subNodes['stmts'] ?? [];
24
+ $this->attrGroups = $subNodes['attrGroups'] ?? [];
25
+ }
26
+
27
+ public function getSubNodeNames(): array {
28
+ return ['attrGroups', 'name', 'stmts'];
29
+ }
30
+
31
+ public function getType(): string {
32
+ return 'Stmt_Trait';
33
+ }
34
+ }
@@ -0,0 +1,37 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class TryCatch extends Node\Stmt {
8
+ /** @var Node\Stmt[] Statements */
9
+ public array $stmts;
10
+ /** @var Catch_[] Catches */
11
+ public array $catches;
12
+ /** @var null|Finally_ Optional finally node */
13
+ public ?Finally_ $finally;
14
+
15
+ /**
16
+ * Constructs a try catch node.
17
+ *
18
+ * @param Node\Stmt[] $stmts Statements
19
+ * @param Catch_[] $catches Catches
20
+ * @param null|Finally_ $finally Optional finally node
21
+ * @param array<string, mixed> $attributes Additional attributes
22
+ */
23
+ public function __construct(array $stmts, array $catches, ?Finally_ $finally = null, array $attributes = []) {
24
+ $this->attributes = $attributes;
25
+ $this->stmts = $stmts;
26
+ $this->catches = $catches;
27
+ $this->finally = $finally;
28
+ }
29
+
30
+ public function getSubNodeNames(): array {
31
+ return ['stmts', 'catches', 'finally'];
32
+ }
33
+
34
+ public function getType(): string {
35
+ return 'Stmt_TryCatch';
36
+ }
37
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class Unset_ extends Node\Stmt {
8
+ /** @var Node\Expr[] Variables to unset */
9
+ public array $vars;
10
+
11
+ /**
12
+ * Constructs an unset node.
13
+ *
14
+ * @param Node\Expr[] $vars Variables to unset
15
+ * @param array<string, mixed> $attributes Additional attributes
16
+ */
17
+ public function __construct(array $vars, array $attributes = []) {
18
+ $this->attributes = $attributes;
19
+ $this->vars = $vars;
20
+ }
21
+
22
+ public function getSubNodeNames(): array {
23
+ return ['vars'];
24
+ }
25
+
26
+ public function getType(): string {
27
+ return 'Stmt_Unset';
28
+ }
29
+ }
@@ -0,0 +1,3 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ require __DIR__ . '/../UseItem.php';
@@ -0,0 +1,47 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node\Stmt;
6
+ use PhpParser\Node\UseItem;
7
+
8
+ class Use_ extends Stmt {
9
+ /**
10
+ * Unknown type. Both Stmt\Use_ / Stmt\GroupUse and Stmt\UseUse have a $type property, one of them will always be
11
+ * TYPE_UNKNOWN while the other has one of the three other possible types. For normal use statements the type on the
12
+ * Stmt\UseUse is unknown. It's only the other way around for mixed group use declarations.
13
+ */
14
+ public const TYPE_UNKNOWN = 0;
15
+ /** Class or namespace import */
16
+ public const TYPE_NORMAL = 1;
17
+ /** Function import */
18
+ public const TYPE_FUNCTION = 2;
19
+ /** Constant import */
20
+ public const TYPE_CONSTANT = 3;
21
+
22
+ /** @var self::TYPE_* Type of alias */
23
+ public int $type;
24
+ /** @var UseItem[] Aliases */
25
+ public array $uses;
26
+
27
+ /**
28
+ * Constructs an alias (use) list node.
29
+ *
30
+ * @param UseItem[] $uses Aliases
31
+ * @param Stmt\Use_::TYPE_* $type Type of alias
32
+ * @param array<string, mixed> $attributes Additional attributes
33
+ */
34
+ public function __construct(array $uses, int $type = self::TYPE_NORMAL, array $attributes = []) {
35
+ $this->attributes = $attributes;
36
+ $this->type = $type;
37
+ $this->uses = $uses;
38
+ }
39
+
40
+ public function getSubNodeNames(): array {
41
+ return ['type', 'uses'];
42
+ }
43
+
44
+ public function getType(): string {
45
+ return 'Stmt_Use';
46
+ }
47
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node\Stmt;
4
+
5
+ use PhpParser\Node;
6
+
7
+ class While_ extends Node\Stmt {
8
+ /** @var Node\Expr Condition */
9
+ public Node\Expr $cond;
10
+ /** @var Node\Stmt[] Statements */
11
+ public array $stmts;
12
+
13
+ /**
14
+ * Constructs a while node.
15
+ *
16
+ * @param Node\Expr $cond Condition
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_While';
32
+ }
33
+ }
@@ -0,0 +1,8 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ use PhpParser\NodeAbstract;
6
+
7
+ abstract class Stmt extends NodeAbstract {
8
+ }
@@ -0,0 +1,27 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ class UnionType extends ComplexType {
6
+ /** @var (Identifier|Name|IntersectionType)[] Types */
7
+ public array $types;
8
+
9
+ /**
10
+ * Constructs a union type.
11
+ *
12
+ * @param (Identifier|Name|IntersectionType)[] $types Types
13
+ * @param array<string, mixed> $attributes Additional attributes
14
+ */
15
+ public function __construct(array $types, array $attributes = []) {
16
+ $this->attributes = $attributes;
17
+ $this->types = $types;
18
+ }
19
+
20
+ public function getSubNodeNames(): array {
21
+ return ['types'];
22
+ }
23
+
24
+ public function getType(): string {
25
+ return 'UnionType';
26
+ }
27
+ }
@@ -0,0 +1,55 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\NodeAbstract;
7
+ use PhpParser\Node\Stmt\Use_;
8
+
9
+ class UseItem extends NodeAbstract {
10
+ /**
11
+ * @var Use_::TYPE_* One of the Stmt\Use_::TYPE_* constants. Will only differ from TYPE_UNKNOWN for mixed group uses
12
+ */
13
+ public int $type;
14
+ /** @var Node\Name Namespace, class, function or constant to alias */
15
+ public Name $name;
16
+ /** @var Identifier|null Alias */
17
+ public ?Identifier $alias;
18
+
19
+ /**
20
+ * Constructs an alias (use) item node.
21
+ *
22
+ * @param Node\Name $name Namespace/Class to alias
23
+ * @param null|string|Identifier $alias Alias
24
+ * @param Use_::TYPE_* $type Type of the use element (for mixed group use only)
25
+ * @param array<string, mixed> $attributes Additional attributes
26
+ */
27
+ public function __construct(Node\Name $name, $alias = null, int $type = Use_::TYPE_UNKNOWN, array $attributes = []) {
28
+ $this->attributes = $attributes;
29
+ $this->type = $type;
30
+ $this->name = $name;
31
+ $this->alias = \is_string($alias) ? new Identifier($alias) : $alias;
32
+ }
33
+
34
+ public function getSubNodeNames(): array {
35
+ return ['type', 'name', 'alias'];
36
+ }
37
+
38
+ /**
39
+ * Get alias. If not explicitly given this is the last component of the used name.
40
+ */
41
+ public function getAlias(): Identifier {
42
+ if (null !== $this->alias) {
43
+ return $this->alias;
44
+ }
45
+
46
+ return new Identifier($this->name->getLast());
47
+ }
48
+
49
+ public function getType(): string {
50
+ return 'UseItem';
51
+ }
52
+ }
53
+
54
+ // @deprecated compatibility alias
55
+ class_alias(UseItem::class, Stmt\UseUse::class);
@@ -0,0 +1,16 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ /**
6
+ * Represents a name that is written in source code with a leading dollar,
7
+ * but is not a proper variable. The leading dollar is not stored as part of the name.
8
+ *
9
+ * Examples: Names in property declarations are formatted as variables. Names in static property
10
+ * lookups are also formatted as variables.
11
+ */
12
+ class VarLikeIdentifier extends Identifier {
13
+ public function getType(): string {
14
+ return 'VarLikeIdentifier';
15
+ }
16
+ }
@@ -0,0 +1,27 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\Node;
4
+
5
+ use PhpParser\NodeAbstract;
6
+
7
+ /**
8
+ * Represents the "..." in "foo(...)" of the first-class callable syntax.
9
+ */
10
+ class VariadicPlaceholder extends NodeAbstract {
11
+ /**
12
+ * Create a variadic argument placeholder (first-class callable syntax).
13
+ *
14
+ * @param array<string, mixed> $attributes Additional attributes
15
+ */
16
+ public function __construct(array $attributes = []) {
17
+ $this->attributes = $attributes;
18
+ }
19
+
20
+ public function getType(): string {
21
+ return 'VariadicPlaceholder';
22
+ }
23
+
24
+ public function getSubNodeNames(): array {
25
+ return [];
26
+ }
27
+ }
@@ -0,0 +1,146 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser;
4
+
5
+ interface Node {
6
+ /**
7
+ * Gets the type of the node.
8
+ *
9
+ * @return string Type of the node
10
+ */
11
+ public function getType(): string;
12
+
13
+ /**
14
+ * Gets the names of the sub nodes.
15
+ *
16
+ * @return string[] Names of sub nodes
17
+ */
18
+ public function getSubNodeNames(): array;
19
+
20
+ /**
21
+ * Gets line the node started in (alias of getStartLine).
22
+ *
23
+ * @return int Start line (or -1 if not available)
24
+ *
25
+ * @deprecated Use getStartLine() instead
26
+ */
27
+ public function getLine(): int;
28
+
29
+ /**
30
+ * Gets line the node started in.
31
+ *
32
+ * Requires the 'startLine' attribute to be enabled in the lexer (enabled by default).
33
+ *
34
+ * @return int Start line (or -1 if not available)
35
+ */
36
+ public function getStartLine(): int;
37
+
38
+ /**
39
+ * Gets the line the node ended in.
40
+ *
41
+ * Requires the 'endLine' attribute to be enabled in the lexer (enabled by default).
42
+ *
43
+ * @return int End line (or -1 if not available)
44
+ */
45
+ public function getEndLine(): int;
46
+
47
+ /**
48
+ * Gets the token offset of the first token that is part of this node.
49
+ *
50
+ * The offset is an index into the array returned by Lexer::getTokens().
51
+ *
52
+ * Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default).
53
+ *
54
+ * @return int Token start position (or -1 if not available)
55
+ */
56
+ public function getStartTokenPos(): int;
57
+
58
+ /**
59
+ * Gets the token offset of the last token that is part of this node.
60
+ *
61
+ * The offset is an index into the array returned by Lexer::getTokens().
62
+ *
63
+ * Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default).
64
+ *
65
+ * @return int Token end position (or -1 if not available)
66
+ */
67
+ public function getEndTokenPos(): int;
68
+
69
+ /**
70
+ * Gets the file offset of the first character that is part of this node.
71
+ *
72
+ * Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default).
73
+ *
74
+ * @return int File start position (or -1 if not available)
75
+ */
76
+ public function getStartFilePos(): int;
77
+
78
+ /**
79
+ * Gets the file offset of the last character that is part of this node.
80
+ *
81
+ * Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default).
82
+ *
83
+ * @return int File end position (or -1 if not available)
84
+ */
85
+ public function getEndFilePos(): int;
86
+
87
+ /**
88
+ * Gets all comments directly preceding this node.
89
+ *
90
+ * The comments are also available through the "comments" attribute.
91
+ *
92
+ * @return Comment[]
93
+ */
94
+ public function getComments(): array;
95
+
96
+ /**
97
+ * Gets the doc comment of the node.
98
+ *
99
+ * @return null|Comment\Doc Doc comment object or null
100
+ */
101
+ public function getDocComment(): ?Comment\Doc;
102
+
103
+ /**
104
+ * Sets the doc comment of the node.
105
+ *
106
+ * This will either replace an existing doc comment or add it to the comments array.
107
+ *
108
+ * @param Comment\Doc $docComment Doc comment to set
109
+ */
110
+ public function setDocComment(Comment\Doc $docComment): void;
111
+
112
+ /**
113
+ * Sets an attribute on a node.
114
+ *
115
+ * @param mixed $value
116
+ */
117
+ public function setAttribute(string $key, $value): void;
118
+
119
+ /**
120
+ * Returns whether an attribute exists.
121
+ */
122
+ public function hasAttribute(string $key): bool;
123
+
124
+ /**
125
+ * Returns the value of an attribute.
126
+ *
127
+ * @param mixed $default
128
+ *
129
+ * @return mixed
130
+ */
131
+ public function getAttribute(string $key, $default = null);
132
+
133
+ /**
134
+ * Returns all the attributes of this node.
135
+ *
136
+ * @return array<string, mixed>
137
+ */
138
+ public function getAttributes(): array;
139
+
140
+ /**
141
+ * Replaces all the attributes of this node.
142
+ *
143
+ * @param array<string, mixed> $attributes
144
+ */
145
+ public function setAttributes(array $attributes): void;
146
+ }