@appthreat/atom-parsetools 1.0.0

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 (441) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +78 -0
  3. package/astgen.js +421 -0
  4. package/index.js +1 -0
  5. package/package.json +53 -0
  6. package/phpastgen.js +33 -0
  7. package/plugins/.gitkeep +0 -0
  8. package/plugins/autoload.php +22 -0
  9. package/plugins/bin/bundler +14 -0
  10. package/plugins/bin/php-parse +119 -0
  11. package/plugins/bin/ruby_ast_gen +14 -0
  12. package/plugins/composer/ClassLoader.php +579 -0
  13. package/plugins/composer/InstalledVersions.php +396 -0
  14. package/plugins/composer/LICENSE +21 -0
  15. package/plugins/composer/autoload_classmap.php +260 -0
  16. package/plugins/composer/autoload_namespaces.php +9 -0
  17. package/plugins/composer/autoload_psr4.php +10 -0
  18. package/plugins/composer/autoload_real.php +36 -0
  19. package/plugins/composer/autoload_static.php +286 -0
  20. package/plugins/composer/installed.json +65 -0
  21. package/plugins/composer/installed.php +32 -0
  22. package/plugins/log4j2.xml +13 -0
  23. package/plugins/nikic/php-parser/LICENSE +29 -0
  24. package/plugins/nikic/php-parser/README.md +225 -0
  25. package/plugins/nikic/php-parser/bin/php-parse +205 -0
  26. package/plugins/nikic/php-parser/composer.json +41 -0
  27. package/plugins/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +148 -0
  28. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Class_.php +146 -0
  29. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +43 -0
  30. package/plugins/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +85 -0
  31. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +117 -0
  32. package/plugins/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +73 -0
  33. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Function_.php +67 -0
  34. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +93 -0
  35. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Method.php +146 -0
  36. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
  37. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Param.php +168 -0
  38. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Property.php +161 -0
  39. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +64 -0
  40. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +148 -0
  41. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +78 -0
  42. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
  43. package/plugins/nikic/php-parser/lib/PhpParser/Builder.php +13 -0
  44. package/plugins/nikic/php-parser/lib/PhpParser/BuilderFactory.php +399 -0
  45. package/plugins/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +335 -0
  46. package/plugins/nikic/php-parser/lib/PhpParser/Comment/Doc.php +7 -0
  47. package/plugins/nikic/php-parser/lib/PhpParser/Comment.php +239 -0
  48. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
  49. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +229 -0
  50. package/plugins/nikic/php-parser/lib/PhpParser/Error.php +180 -0
  51. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +46 -0
  52. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +18 -0
  53. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler.php +13 -0
  54. package/plugins/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +27 -0
  55. package/plugins/nikic/php-parser/lib/PhpParser/Internal/Differ.php +164 -0
  56. package/plugins/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +64 -0
  57. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +286 -0
  58. package/plugins/nikic/php-parser/lib/PhpParser/JsonDecoder.php +103 -0
  59. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +251 -0
  60. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +56 -0
  61. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +47 -0
  62. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +31 -0
  63. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +44 -0
  64. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +76 -0
  65. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +23 -0
  66. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +62 -0
  67. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +23 -0
  68. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +67 -0
  69. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +105 -0
  70. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
  71. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +36 -0
  72. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +36 -0
  73. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +25 -0
  74. package/plugins/nikic/php-parser/lib/PhpParser/Lexer.php +560 -0
  75. package/plugins/nikic/php-parser/lib/PhpParser/NameContext.php +285 -0
  76. package/plugins/nikic/php-parser/lib/PhpParser/Node/Arg.php +46 -0
  77. package/plugins/nikic/php-parser/lib/PhpParser/Node/Attribute.php +34 -0
  78. package/plugins/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +29 -0
  79. package/plugins/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +14 -0
  80. package/plugins/nikic/php-parser/lib/PhpParser/Node/Const_.php +37 -0
  81. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +34 -0
  82. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +41 -0
  83. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
  84. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +79 -0
  85. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +34 -0
  86. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +12 -0
  87. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +12 -0
  88. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +12 -0
  89. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +12 -0
  90. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +12 -0
  91. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +12 -0
  92. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +12 -0
  93. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +12 -0
  94. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +12 -0
  95. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +12 -0
  96. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +12 -0
  97. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +12 -0
  98. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +12 -0
  99. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +30 -0
  100. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +34 -0
  101. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +16 -0
  102. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +16 -0
  103. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +16 -0
  104. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +16 -0
  105. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +16 -0
  106. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +16 -0
  107. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +16 -0
  108. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +16 -0
  109. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +16 -0
  110. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +16 -0
  111. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +16 -0
  112. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +16 -0
  113. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +16 -0
  114. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +16 -0
  115. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +16 -0
  116. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +16 -0
  117. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +16 -0
  118. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +16 -0
  119. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +16 -0
  120. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +16 -0
  121. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +16 -0
  122. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +16 -0
  123. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +16 -0
  124. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +16 -0
  125. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +16 -0
  126. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +16 -0
  127. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +16 -0
  128. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +40 -0
  129. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +30 -0
  130. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +30 -0
  131. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +39 -0
  132. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +12 -0
  133. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +12 -0
  134. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +17 -0
  135. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +12 -0
  136. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +12 -0
  137. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +12 -0
  138. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +12 -0
  139. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +26 -0
  140. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
  141. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +30 -0
  142. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +79 -0
  143. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +34 -0
  144. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +31 -0
  145. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +30 -0
  146. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +31 -0
  147. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +30 -0
  148. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +30 -0
  149. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +34 -0
  150. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +39 -0
  151. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +39 -0
  152. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
  153. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +30 -0
  154. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +30 -0
  155. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +31 -0
  156. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +45 -0
  157. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +41 -0
  158. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +45 -0
  159. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +35 -0
  160. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +30 -0
  161. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +30 -0
  162. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +30 -0
  163. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +30 -0
  164. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +30 -0
  165. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
  166. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
  167. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +46 -0
  168. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
  169. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +38 -0
  170. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +30 -0
  171. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +30 -0
  172. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +30 -0
  173. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +30 -0
  174. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +30 -0
  175. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +34 -0
  176. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr.php +9 -0
  177. package/plugins/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +43 -0
  178. package/plugins/nikic/php-parser/lib/PhpParser/Node/Identifier.php +75 -0
  179. package/plugins/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +30 -0
  180. package/plugins/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +31 -0
  181. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +50 -0
  182. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +50 -0
  183. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name.php +254 -0
  184. package/plugins/nikic/php-parser/lib/PhpParser/Node/NullableType.php +28 -0
  185. package/plugins/nikic/php-parser/lib/PhpParser/Node/Param.php +60 -0
  186. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +77 -0
  187. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +31 -0
  188. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +30 -0
  189. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +80 -0
  190. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +16 -0
  191. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +16 -0
  192. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +16 -0
  193. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +16 -0
  194. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +16 -0
  195. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +16 -0
  196. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +16 -0
  197. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +16 -0
  198. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +28 -0
  199. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +157 -0
  200. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar.php +7 -0
  201. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +30 -0
  202. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +34 -0
  203. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +41 -0
  204. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +85 -0
  205. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +109 -0
  206. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +161 -0
  207. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +137 -0
  208. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +30 -0
  209. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +30 -0
  210. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +34 -0
  211. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
  212. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +34 -0
  213. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +30 -0
  214. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +34 -0
  215. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +30 -0
  216. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +37 -0
  217. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +40 -0
  218. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +33 -0
  219. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +30 -0
  220. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +43 -0
  221. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +47 -0
  222. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +77 -0
  223. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +30 -0
  224. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +31 -0
  225. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +39 -0
  226. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +30 -0
  227. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +43 -0
  228. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +30 -0
  229. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +37 -0
  230. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +31 -0
  231. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +38 -0
  232. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +17 -0
  233. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +91 -0
  234. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +34 -0
  235. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +30 -0
  236. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +37 -0
  237. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
  238. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +34 -0
  239. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +30 -0
  240. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +34 -0
  241. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +38 -0
  242. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +34 -0
  243. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +13 -0
  244. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +32 -0
  245. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +38 -0
  246. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +30 -0
  247. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +52 -0
  248. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
  249. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +34 -0
  250. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt.php +9 -0
  251. package/plugins/nikic/php-parser/lib/PhpParser/Node/UnionType.php +28 -0
  252. package/plugins/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +17 -0
  253. package/plugins/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
  254. package/plugins/nikic/php-parser/lib/PhpParser/Node.php +151 -0
  255. package/plugins/nikic/php-parser/lib/PhpParser/NodeAbstract.php +178 -0
  256. package/plugins/nikic/php-parser/lib/PhpParser/NodeDumper.php +206 -0
  257. package/plugins/nikic/php-parser/lib/PhpParser/NodeFinder.php +81 -0
  258. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverser.php +291 -0
  259. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +29 -0
  260. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +20 -0
  261. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +48 -0
  262. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +50 -0
  263. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +260 -0
  264. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +52 -0
  265. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +41 -0
  266. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor.php +72 -0
  267. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +25 -0
  268. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +55 -0
  269. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php5.php +2682 -0
  270. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2898 -0
  271. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +148 -0
  272. package/plugins/nikic/php-parser/lib/PhpParser/Parser.php +18 -0
  273. package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1060 -0
  274. package/plugins/nikic/php-parser/lib/PhpParser/ParserFactory.php +76 -0
  275. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +1126 -0
  276. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1576 -0
  277. package/plugins/rubyastgen/.bundle/config +5 -0
  278. package/plugins/rubyastgen/Gemfile +12 -0
  279. package/plugins/rubyastgen/Gemfile.lock +34 -0
  280. package/plugins/rubyastgen/bundle/bundler/setup.rb +42 -0
  281. package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/racc +29 -0
  282. package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/ruby-parse +29 -0
  283. package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/ruby-rewrite +29 -0
  284. package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/ruby_ast_gen +29 -0
  285. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/.rspec +3 -0
  286. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/Gemfile +10 -0
  287. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/LICENSE.txt +213 -0
  288. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/README.md +46 -0
  289. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/Rakefile +8 -0
  290. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/bin/console +11 -0
  291. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/bin/setup +6 -0
  292. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/exe/ruby_ast_gen +59 -0
  293. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/lib/ruby_ast_gen/node_handling.rb +232 -0
  294. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/lib/ruby_ast_gen/version.rb +5 -0
  295. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/lib/ruby_ast_gen.rb +140 -0
  296. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/ruby_ast_gen.gemspec +25 -0
  297. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/spec/ruby_ast_gen_spec.rb +175 -0
  298. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/spec/spec_helper.rb +15 -0
  299. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/update_version.rb +36 -0
  300. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem.build_complete +0 -0
  301. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out +18 -0
  302. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/racc/cparse.so +0 -0
  303. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  304. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/README.YARD.md +12 -0
  305. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/node.rb +268 -0
  306. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/processor/mixin.rb +288 -0
  307. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/processor.rb +12 -0
  308. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/sexp.rb +30 -0
  309. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast.rb +17 -0
  310. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/BSDL +22 -0
  311. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/COPYING +56 -0
  312. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/Gemfile +10 -0
  313. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/README.md +69 -0
  314. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/Rakefile +18 -0
  315. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/bin/console +14 -0
  316. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/bin/setup +8 -0
  317. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/lib/ostruct.rb +489 -0
  318. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/ostruct.gemspec +24 -0
  319. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/LICENSE.txt +26 -0
  320. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/bin/ruby-parse +7 -0
  321. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/bin/ruby-rewrite +7 -0
  322. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/gauntlet_parser.rb +123 -0
  323. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/all.rb +17 -0
  324. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ast/node.rb +40 -0
  325. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ast/processor.rb +293 -0
  326. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/base.rb +294 -0
  327. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/builders/default.rb +2351 -0
  328. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/clobbering_error.rb +13 -0
  329. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/color.rb +32 -0
  330. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/context.rb +51 -0
  331. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/current.rb +146 -0
  332. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/current_arg_stack.rb +46 -0
  333. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/deprecation.rb +13 -0
  334. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/diagnostic/engine.rb +104 -0
  335. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/diagnostic.rb +163 -0
  336. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/dedenter.rb +88 -0
  337. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/explanation.rb +55 -0
  338. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/literal.rb +284 -0
  339. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/stack_state.rb +49 -0
  340. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer-F0.rb +12931 -0
  341. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer-F1.rb +14884 -0
  342. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer-strings.rb +5433 -0
  343. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/macruby.rb +9634 -0
  344. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/max_numparam_stack.rb +56 -0
  345. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/messages.rb +125 -0
  346. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/meta.rb +48 -0
  347. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/rewriter.rb +105 -0
  348. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby18.rb +9272 -0
  349. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby19.rb +9558 -0
  350. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby20.rb +10229 -0
  351. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby21.rb +10203 -0
  352. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby22.rb +10302 -0
  353. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby23.rb +10322 -0
  354. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby24.rb +10454 -0
  355. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby25.rb +10374 -0
  356. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby26.rb +10352 -0
  357. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby27.rb +11948 -0
  358. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby30.rb +12244 -0
  359. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby31.rb +12717 -0
  360. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby32.rb +12705 -0
  361. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby33.rb +12590 -0
  362. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby34.rb +12597 -0
  363. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/rubymotion.rb +9515 -0
  364. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/runner/ruby_parse.rb +157 -0
  365. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/runner/ruby_rewrite.rb +101 -0
  366. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/runner.rb +299 -0
  367. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/buffer.rb +369 -0
  368. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/comment/associator.rb +233 -0
  369. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/comment.rb +134 -0
  370. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/collection.rb +18 -0
  371. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/condition.rb +21 -0
  372. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/constant.rb +32 -0
  373. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/definition.rb +23 -0
  374. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/for.rb +19 -0
  375. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/heredoc.rb +19 -0
  376. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/index.rb +33 -0
  377. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/keyword.rb +20 -0
  378. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/method_definition.rb +25 -0
  379. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/objc_kwarg.rb +19 -0
  380. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/operator.rb +17 -0
  381. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/rescue_body.rb +21 -0
  382. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/send.rb +36 -0
  383. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/ternary.rb +18 -0
  384. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/variable.rb +31 -0
  385. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map.rb +186 -0
  386. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/range.rb +326 -0
  387. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/rewriter/action.rb +44 -0
  388. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/rewriter.rb +513 -0
  389. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/tree_rewriter/action.rb +243 -0
  390. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/tree_rewriter.rb +431 -0
  391. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/static_environment.rb +134 -0
  392. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/syntax_error.rb +21 -0
  393. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/tree_rewriter.rb +133 -0
  394. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/unknown_encoding_in_magic_comment_error.rb +15 -0
  395. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/variables_stack.rb +36 -0
  396. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/version.rb +5 -0
  397. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser.rb +91 -0
  398. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/parser.gemspec +43 -0
  399. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/BSDL +22 -0
  400. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/COPYING +56 -0
  401. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ChangeLog +846 -0
  402. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  403. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
  404. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/TODO +5 -0
  405. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/bin/racc +320 -0
  406. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc +218 -0
  407. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc +219 -0
  408. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/command.ja.html +99 -0
  409. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc +36 -0
  410. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc +348 -0
  411. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/index.ja.html +10 -0
  412. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc +125 -0
  413. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/usage.ja.html +414 -0
  414. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +273 -0
  415. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
  416. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
  417. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
  418. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  419. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
  420. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
  421. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
  422. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
  423. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
  424. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
  425. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
  426. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
  427. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
  428. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
  429. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
  430. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
  431. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
  432. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
  433. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc.rb +6 -0
  434. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/ast-2.4.3.gemspec +29 -0
  435. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/ostruct-0.6.1.gemspec +21 -0
  436. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/parser-3.3.8.0.gemspec +37 -0
  437. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
  438. package/plugins/rubyastgen/setup.ps1 +4 -0
  439. package/plugins/rubyastgen/setup.sh +6 -0
  440. package/rbastgen.js +53 -0
  441. package/scalasem.js +365 -0
@@ -0,0 +1,291 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser;
4
+
5
+ class NodeTraverser implements NodeTraverserInterface
6
+ {
7
+ /**
8
+ * If NodeVisitor::enterNode() returns DONT_TRAVERSE_CHILDREN, child nodes
9
+ * of the current node will not be traversed for any visitors.
10
+ *
11
+ * For subsequent visitors enterNode() will still be called on the current
12
+ * node and leaveNode() will also be invoked for the current node.
13
+ */
14
+ const DONT_TRAVERSE_CHILDREN = 1;
15
+
16
+ /**
17
+ * If NodeVisitor::enterNode() or NodeVisitor::leaveNode() returns
18
+ * STOP_TRAVERSAL, traversal is aborted.
19
+ *
20
+ * The afterTraverse() method will still be invoked.
21
+ */
22
+ const STOP_TRAVERSAL = 2;
23
+
24
+ /**
25
+ * If NodeVisitor::leaveNode() returns REMOVE_NODE for a node that occurs
26
+ * in an array, it will be removed from the array.
27
+ *
28
+ * For subsequent visitors leaveNode() will still be invoked for the
29
+ * removed node.
30
+ */
31
+ const REMOVE_NODE = 3;
32
+
33
+ /**
34
+ * If NodeVisitor::enterNode() returns DONT_TRAVERSE_CURRENT_AND_CHILDREN, child nodes
35
+ * of the current node will not be traversed for any visitors.
36
+ *
37
+ * For subsequent visitors enterNode() will not be called as well.
38
+ * leaveNode() will be invoked for visitors that has enterNode() method invoked.
39
+ */
40
+ const DONT_TRAVERSE_CURRENT_AND_CHILDREN = 4;
41
+
42
+ /** @var NodeVisitor[] Visitors */
43
+ protected $visitors = [];
44
+
45
+ /** @var bool Whether traversal should be stopped */
46
+ protected $stopTraversal;
47
+
48
+ public function __construct() {
49
+ // for BC
50
+ }
51
+
52
+ /**
53
+ * Adds a visitor.
54
+ *
55
+ * @param NodeVisitor $visitor Visitor to add
56
+ */
57
+ public function addVisitor(NodeVisitor $visitor) {
58
+ $this->visitors[] = $visitor;
59
+ }
60
+
61
+ /**
62
+ * Removes an added visitor.
63
+ *
64
+ * @param NodeVisitor $visitor
65
+ */
66
+ public function removeVisitor(NodeVisitor $visitor) {
67
+ foreach ($this->visitors as $index => $storedVisitor) {
68
+ if ($storedVisitor === $visitor) {
69
+ unset($this->visitors[$index]);
70
+ break;
71
+ }
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Traverses an array of nodes using the registered visitors.
77
+ *
78
+ * @param Node[] $nodes Array of nodes
79
+ *
80
+ * @return Node[] Traversed array of nodes
81
+ */
82
+ public function traverse(array $nodes) : array {
83
+ $this->stopTraversal = false;
84
+
85
+ foreach ($this->visitors as $visitor) {
86
+ if (null !== $return = $visitor->beforeTraverse($nodes)) {
87
+ $nodes = $return;
88
+ }
89
+ }
90
+
91
+ $nodes = $this->traverseArray($nodes);
92
+
93
+ foreach ($this->visitors as $visitor) {
94
+ if (null !== $return = $visitor->afterTraverse($nodes)) {
95
+ $nodes = $return;
96
+ }
97
+ }
98
+
99
+ return $nodes;
100
+ }
101
+
102
+ /**
103
+ * Recursively traverse a node.
104
+ *
105
+ * @param Node $node Node to traverse.
106
+ *
107
+ * @return Node Result of traversal (may be original node or new one)
108
+ */
109
+ protected function traverseNode(Node $node) : Node {
110
+ foreach ($node->getSubNodeNames() as $name) {
111
+ $subNode =& $node->$name;
112
+
113
+ if (\is_array($subNode)) {
114
+ $subNode = $this->traverseArray($subNode);
115
+ if ($this->stopTraversal) {
116
+ break;
117
+ }
118
+ } elseif ($subNode instanceof Node) {
119
+ $traverseChildren = true;
120
+ $breakVisitorIndex = null;
121
+
122
+ foreach ($this->visitors as $visitorIndex => $visitor) {
123
+ $return = $visitor->enterNode($subNode);
124
+ if (null !== $return) {
125
+ if ($return instanceof Node) {
126
+ $this->ensureReplacementReasonable($subNode, $return);
127
+ $subNode = $return;
128
+ } elseif (self::DONT_TRAVERSE_CHILDREN === $return) {
129
+ $traverseChildren = false;
130
+ } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) {
131
+ $traverseChildren = false;
132
+ $breakVisitorIndex = $visitorIndex;
133
+ break;
134
+ } elseif (self::STOP_TRAVERSAL === $return) {
135
+ $this->stopTraversal = true;
136
+ break 2;
137
+ } else {
138
+ throw new \LogicException(
139
+ 'enterNode() returned invalid value of type ' . gettype($return)
140
+ );
141
+ }
142
+ }
143
+ }
144
+
145
+ if ($traverseChildren) {
146
+ $subNode = $this->traverseNode($subNode);
147
+ if ($this->stopTraversal) {
148
+ break;
149
+ }
150
+ }
151
+
152
+ foreach ($this->visitors as $visitorIndex => $visitor) {
153
+ $return = $visitor->leaveNode($subNode);
154
+
155
+ if (null !== $return) {
156
+ if ($return instanceof Node) {
157
+ $this->ensureReplacementReasonable($subNode, $return);
158
+ $subNode = $return;
159
+ } elseif (self::STOP_TRAVERSAL === $return) {
160
+ $this->stopTraversal = true;
161
+ break 2;
162
+ } elseif (\is_array($return)) {
163
+ throw new \LogicException(
164
+ 'leaveNode() may only return an array ' .
165
+ 'if the parent structure is an array'
166
+ );
167
+ } else {
168
+ throw new \LogicException(
169
+ 'leaveNode() returned invalid value of type ' . gettype($return)
170
+ );
171
+ }
172
+ }
173
+
174
+ if ($breakVisitorIndex === $visitorIndex) {
175
+ break;
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ return $node;
182
+ }
183
+
184
+ /**
185
+ * Recursively traverse array (usually of nodes).
186
+ *
187
+ * @param array $nodes Array to traverse
188
+ *
189
+ * @return array Result of traversal (may be original array or changed one)
190
+ */
191
+ protected function traverseArray(array $nodes) : array {
192
+ $doNodes = [];
193
+
194
+ foreach ($nodes as $i => &$node) {
195
+ if ($node instanceof Node) {
196
+ $traverseChildren = true;
197
+ $breakVisitorIndex = null;
198
+
199
+ foreach ($this->visitors as $visitorIndex => $visitor) {
200
+ $return = $visitor->enterNode($node);
201
+ if (null !== $return) {
202
+ if ($return instanceof Node) {
203
+ $this->ensureReplacementReasonable($node, $return);
204
+ $node = $return;
205
+ } elseif (self::DONT_TRAVERSE_CHILDREN === $return) {
206
+ $traverseChildren = false;
207
+ } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) {
208
+ $traverseChildren = false;
209
+ $breakVisitorIndex = $visitorIndex;
210
+ break;
211
+ } elseif (self::STOP_TRAVERSAL === $return) {
212
+ $this->stopTraversal = true;
213
+ break 2;
214
+ } else {
215
+ throw new \LogicException(
216
+ 'enterNode() returned invalid value of type ' . gettype($return)
217
+ );
218
+ }
219
+ }
220
+ }
221
+
222
+ if ($traverseChildren) {
223
+ $node = $this->traverseNode($node);
224
+ if ($this->stopTraversal) {
225
+ break;
226
+ }
227
+ }
228
+
229
+ foreach ($this->visitors as $visitorIndex => $visitor) {
230
+ $return = $visitor->leaveNode($node);
231
+
232
+ if (null !== $return) {
233
+ if ($return instanceof Node) {
234
+ $this->ensureReplacementReasonable($node, $return);
235
+ $node = $return;
236
+ } elseif (\is_array($return)) {
237
+ $doNodes[] = [$i, $return];
238
+ break;
239
+ } elseif (self::REMOVE_NODE === $return) {
240
+ $doNodes[] = [$i, []];
241
+ break;
242
+ } elseif (self::STOP_TRAVERSAL === $return) {
243
+ $this->stopTraversal = true;
244
+ break 2;
245
+ } elseif (false === $return) {
246
+ throw new \LogicException(
247
+ 'bool(false) return from leaveNode() no longer supported. ' .
248
+ 'Return NodeTraverser::REMOVE_NODE instead'
249
+ );
250
+ } else {
251
+ throw new \LogicException(
252
+ 'leaveNode() returned invalid value of type ' . gettype($return)
253
+ );
254
+ }
255
+ }
256
+
257
+ if ($breakVisitorIndex === $visitorIndex) {
258
+ break;
259
+ }
260
+ }
261
+ } elseif (\is_array($node)) {
262
+ throw new \LogicException('Invalid node structure: Contains nested arrays');
263
+ }
264
+ }
265
+
266
+ if (!empty($doNodes)) {
267
+ while (list($i, $replace) = array_pop($doNodes)) {
268
+ array_splice($nodes, $i, 1, $replace);
269
+ }
270
+ }
271
+
272
+ return $nodes;
273
+ }
274
+
275
+ private function ensureReplacementReasonable($old, $new) {
276
+ if ($old instanceof Node\Stmt && $new instanceof Node\Expr) {
277
+ throw new \LogicException(
278
+ "Trying to replace statement ({$old->getType()}) " .
279
+ "with expression ({$new->getType()}). Are you missing a " .
280
+ "Stmt_Expression wrapper?"
281
+ );
282
+ }
283
+
284
+ if ($old instanceof Node\Expr && $new instanceof Node\Stmt) {
285
+ throw new \LogicException(
286
+ "Trying to replace expression ({$old->getType()}) " .
287
+ "with statement ({$new->getType()})"
288
+ );
289
+ }
290
+ }
291
+ }
@@ -0,0 +1,29 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser;
4
+
5
+ interface NodeTraverserInterface
6
+ {
7
+ /**
8
+ * Adds a visitor.
9
+ *
10
+ * @param NodeVisitor $visitor Visitor to add
11
+ */
12
+ public function addVisitor(NodeVisitor $visitor);
13
+
14
+ /**
15
+ * Removes an added visitor.
16
+ *
17
+ * @param NodeVisitor $visitor
18
+ */
19
+ public function removeVisitor(NodeVisitor $visitor);
20
+
21
+ /**
22
+ * Traverses an array of nodes using the registered visitors.
23
+ *
24
+ * @param Node[] $nodes Array of nodes
25
+ *
26
+ * @return Node[] Traversed array of nodes
27
+ */
28
+ public function traverse(array $nodes) : array;
29
+ }
@@ -0,0 +1,20 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\NodeVisitor;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\NodeVisitorAbstract;
7
+
8
+ /**
9
+ * Visitor cloning all nodes and linking to the original nodes using an attribute.
10
+ *
11
+ * This visitor is required to perform format-preserving pretty prints.
12
+ */
13
+ class CloningVisitor extends NodeVisitorAbstract
14
+ {
15
+ public function enterNode(Node $origNode) {
16
+ $node = clone $origNode;
17
+ $node->setAttribute('origNode', $origNode);
18
+ return $node;
19
+ }
20
+ }
@@ -0,0 +1,48 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\NodeVisitor;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\NodeVisitorAbstract;
7
+
8
+ /**
9
+ * This visitor can be used to find and collect all nodes satisfying some criterion determined by
10
+ * a filter callback.
11
+ */
12
+ class FindingVisitor extends NodeVisitorAbstract
13
+ {
14
+ /** @var callable Filter callback */
15
+ protected $filterCallback;
16
+ /** @var Node[] Found nodes */
17
+ protected $foundNodes;
18
+
19
+ public function __construct(callable $filterCallback) {
20
+ $this->filterCallback = $filterCallback;
21
+ }
22
+
23
+ /**
24
+ * Get found nodes satisfying the filter callback.
25
+ *
26
+ * Nodes are returned in pre-order.
27
+ *
28
+ * @return Node[] Found nodes
29
+ */
30
+ public function getFoundNodes() : array {
31
+ return $this->foundNodes;
32
+ }
33
+
34
+ public function beforeTraverse(array $nodes) {
35
+ $this->foundNodes = [];
36
+
37
+ return null;
38
+ }
39
+
40
+ public function enterNode(Node $node) {
41
+ $filterCallback = $this->filterCallback;
42
+ if ($filterCallback($node)) {
43
+ $this->foundNodes[] = $node;
44
+ }
45
+
46
+ return null;
47
+ }
48
+ }
@@ -0,0 +1,50 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\NodeVisitor;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\NodeTraverser;
7
+ use PhpParser\NodeVisitorAbstract;
8
+
9
+ /**
10
+ * This visitor can be used to find the first node satisfying some criterion determined by
11
+ * a filter callback.
12
+ */
13
+ class FirstFindingVisitor extends NodeVisitorAbstract
14
+ {
15
+ /** @var callable Filter callback */
16
+ protected $filterCallback;
17
+ /** @var null|Node Found node */
18
+ protected $foundNode;
19
+
20
+ public function __construct(callable $filterCallback) {
21
+ $this->filterCallback = $filterCallback;
22
+ }
23
+
24
+ /**
25
+ * Get found node satisfying the filter callback.
26
+ *
27
+ * Returns null if no node satisfies the filter callback.
28
+ *
29
+ * @return null|Node Found node (or null if not found)
30
+ */
31
+ public function getFoundNode() {
32
+ return $this->foundNode;
33
+ }
34
+
35
+ public function beforeTraverse(array $nodes) {
36
+ $this->foundNode = null;
37
+
38
+ return null;
39
+ }
40
+
41
+ public function enterNode(Node $node) {
42
+ $filterCallback = $this->filterCallback;
43
+ if ($filterCallback($node)) {
44
+ $this->foundNode = $node;
45
+ return NodeTraverser::STOP_TRAVERSAL;
46
+ }
47
+
48
+ return null;
49
+ }
50
+ }
@@ -0,0 +1,260 @@
1
+ <?php declare(strict_types=1);
2
+
3
+ namespace PhpParser\NodeVisitor;
4
+
5
+ use PhpParser\ErrorHandler;
6
+ use PhpParser\NameContext;
7
+ use PhpParser\Node;
8
+ use PhpParser\Node\Expr;
9
+ use PhpParser\Node\Name;
10
+ use PhpParser\Node\Name\FullyQualified;
11
+ use PhpParser\Node\Stmt;
12
+ use PhpParser\NodeVisitorAbstract;
13
+
14
+ class NameResolver extends NodeVisitorAbstract
15
+ {
16
+ /** @var NameContext Naming context */
17
+ protected $nameContext;
18
+
19
+ /** @var bool Whether to preserve original names */
20
+ protected $preserveOriginalNames;
21
+
22
+ /** @var bool Whether to replace resolved nodes in place, or to add resolvedNode attributes */
23
+ protected $replaceNodes;
24
+
25
+ /**
26
+ * Constructs a name resolution visitor.
27
+ *
28
+ * Options:
29
+ * * preserveOriginalNames (default false): An "originalName" attribute will be added to
30
+ * all name nodes that underwent resolution.
31
+ * * replaceNodes (default true): Resolved names are replaced in-place. Otherwise, a
32
+ * resolvedName attribute is added. (Names that cannot be statically resolved receive a
33
+ * namespacedName attribute, as usual.)
34
+ *
35
+ * @param ErrorHandler|null $errorHandler Error handler
36
+ * @param array $options Options
37
+ */
38
+ public function __construct(ErrorHandler $errorHandler = null, array $options = []) {
39
+ $this->nameContext = new NameContext($errorHandler ?? new ErrorHandler\Throwing);
40
+ $this->preserveOriginalNames = $options['preserveOriginalNames'] ?? false;
41
+ $this->replaceNodes = $options['replaceNodes'] ?? true;
42
+ }
43
+
44
+ /**
45
+ * Get name resolution context.
46
+ *
47
+ * @return NameContext
48
+ */
49
+ public function getNameContext() : NameContext {
50
+ return $this->nameContext;
51
+ }
52
+
53
+ public function beforeTraverse(array $nodes) {
54
+ $this->nameContext->startNamespace();
55
+ return null;
56
+ }
57
+
58
+ public function enterNode(Node $node) {
59
+ if ($node instanceof Stmt\Namespace_) {
60
+ $this->nameContext->startNamespace($node->name);
61
+ } elseif ($node instanceof Stmt\Use_) {
62
+ foreach ($node->uses as $use) {
63
+ $this->addAlias($use, $node->type, null);
64
+ }
65
+ } elseif ($node instanceof Stmt\GroupUse) {
66
+ foreach ($node->uses as $use) {
67
+ $this->addAlias($use, $node->type, $node->prefix);
68
+ }
69
+ } elseif ($node instanceof Stmt\Class_) {
70
+ if (null !== $node->extends) {
71
+ $node->extends = $this->resolveClassName($node->extends);
72
+ }
73
+
74
+ foreach ($node->implements as &$interface) {
75
+ $interface = $this->resolveClassName($interface);
76
+ }
77
+
78
+ $this->resolveAttrGroups($node);
79
+ if (null !== $node->name) {
80
+ $this->addNamespacedName($node);
81
+ }
82
+ } elseif ($node instanceof Stmt\Interface_) {
83
+ foreach ($node->extends as &$interface) {
84
+ $interface = $this->resolveClassName($interface);
85
+ }
86
+
87
+ $this->resolveAttrGroups($node);
88
+ $this->addNamespacedName($node);
89
+ } elseif ($node instanceof Stmt\Enum_) {
90
+ foreach ($node->implements as &$interface) {
91
+ $interface = $this->resolveClassName($interface);
92
+ }
93
+
94
+ $this->resolveAttrGroups($node);
95
+ if (null !== $node->name) {
96
+ $this->addNamespacedName($node);
97
+ }
98
+ } elseif ($node instanceof Stmt\Trait_) {
99
+ $this->resolveAttrGroups($node);
100
+ $this->addNamespacedName($node);
101
+ } elseif ($node instanceof Stmt\Function_) {
102
+ $this->resolveSignature($node);
103
+ $this->resolveAttrGroups($node);
104
+ $this->addNamespacedName($node);
105
+ } elseif ($node instanceof Stmt\ClassMethod
106
+ || $node instanceof Expr\Closure
107
+ || $node instanceof Expr\ArrowFunction
108
+ ) {
109
+ $this->resolveSignature($node);
110
+ $this->resolveAttrGroups($node);
111
+ } elseif ($node instanceof Stmt\Property) {
112
+ if (null !== $node->type) {
113
+ $node->type = $this->resolveType($node->type);
114
+ }
115
+ $this->resolveAttrGroups($node);
116
+ } elseif ($node instanceof Stmt\Const_) {
117
+ foreach ($node->consts as $const) {
118
+ $this->addNamespacedName($const);
119
+ }
120
+ } else if ($node instanceof Stmt\ClassConst) {
121
+ if (null !== $node->type) {
122
+ $node->type = $this->resolveType($node->type);
123
+ }
124
+ $this->resolveAttrGroups($node);
125
+ } else if ($node instanceof Stmt\EnumCase) {
126
+ $this->resolveAttrGroups($node);
127
+ } elseif ($node instanceof Expr\StaticCall
128
+ || $node instanceof Expr\StaticPropertyFetch
129
+ || $node instanceof Expr\ClassConstFetch
130
+ || $node instanceof Expr\New_
131
+ || $node instanceof Expr\Instanceof_
132
+ ) {
133
+ if ($node->class instanceof Name) {
134
+ $node->class = $this->resolveClassName($node->class);
135
+ }
136
+ } elseif ($node instanceof Stmt\Catch_) {
137
+ foreach ($node->types as &$type) {
138
+ $type = $this->resolveClassName($type);
139
+ }
140
+ } elseif ($node instanceof Expr\FuncCall) {
141
+ if ($node->name instanceof Name) {
142
+ $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_FUNCTION);
143
+ }
144
+ } elseif ($node instanceof Expr\ConstFetch) {
145
+ $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_CONSTANT);
146
+ } elseif ($node instanceof Stmt\TraitUse) {
147
+ foreach ($node->traits as &$trait) {
148
+ $trait = $this->resolveClassName($trait);
149
+ }
150
+
151
+ foreach ($node->adaptations as $adaptation) {
152
+ if (null !== $adaptation->trait) {
153
+ $adaptation->trait = $this->resolveClassName($adaptation->trait);
154
+ }
155
+
156
+ if ($adaptation instanceof Stmt\TraitUseAdaptation\Precedence) {
157
+ foreach ($adaptation->insteadof as &$insteadof) {
158
+ $insteadof = $this->resolveClassName($insteadof);
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ return null;
165
+ }
166
+
167
+ private function addAlias(Stmt\UseUse $use, int $type, Name $prefix = null) {
168
+ // Add prefix for group uses
169
+ $name = $prefix ? Name::concat($prefix, $use->name) : $use->name;
170
+ // Type is determined either by individual element or whole use declaration
171
+ $type |= $use->type;
172
+
173
+ $this->nameContext->addAlias(
174
+ $name, (string) $use->getAlias(), $type, $use->getAttributes()
175
+ );
176
+ }
177
+
178
+ /** @param Stmt\Function_|Stmt\ClassMethod|Expr\Closure $node */
179
+ private function resolveSignature($node) {
180
+ foreach ($node->params as $param) {
181
+ $param->type = $this->resolveType($param->type);
182
+ $this->resolveAttrGroups($param);
183
+ }
184
+ $node->returnType = $this->resolveType($node->returnType);
185
+ }
186
+
187
+ private function resolveType($node) {
188
+ if ($node instanceof Name) {
189
+ return $this->resolveClassName($node);
190
+ }
191
+ if ($node instanceof Node\NullableType) {
192
+ $node->type = $this->resolveType($node->type);
193
+ return $node;
194
+ }
195
+ if ($node instanceof Node\UnionType || $node instanceof Node\IntersectionType) {
196
+ foreach ($node->types as &$type) {
197
+ $type = $this->resolveType($type);
198
+ }
199
+ return $node;
200
+ }
201
+ return $node;
202
+ }
203
+
204
+ /**
205
+ * Resolve name, according to name resolver options.
206
+ *
207
+ * @param Name $name Function or constant name to resolve
208
+ * @param int $type One of Stmt\Use_::TYPE_*
209
+ *
210
+ * @return Name Resolved name, or original name with attribute
211
+ */
212
+ protected function resolveName(Name $name, int $type) : Name {
213
+ if (!$this->replaceNodes) {
214
+ $resolvedName = $this->nameContext->getResolvedName($name, $type);
215
+ if (null !== $resolvedName) {
216
+ $name->setAttribute('resolvedName', $resolvedName);
217
+ } else {
218
+ $name->setAttribute('namespacedName', FullyQualified::concat(
219
+ $this->nameContext->getNamespace(), $name, $name->getAttributes()));
220
+ }
221
+ return $name;
222
+ }
223
+
224
+ if ($this->preserveOriginalNames) {
225
+ // Save the original name
226
+ $originalName = $name;
227
+ $name = clone $originalName;
228
+ $name->setAttribute('originalName', $originalName);
229
+ }
230
+
231
+ $resolvedName = $this->nameContext->getResolvedName($name, $type);
232
+ if (null !== $resolvedName) {
233
+ return $resolvedName;
234
+ }
235
+
236
+ // unqualified names inside a namespace cannot be resolved at compile-time
237
+ // add the namespaced version of the name as an attribute
238
+ $name->setAttribute('namespacedName', FullyQualified::concat(
239
+ $this->nameContext->getNamespace(), $name, $name->getAttributes()));
240
+ return $name;
241
+ }
242
+
243
+ protected function resolveClassName(Name $name) {
244
+ return $this->resolveName($name, Stmt\Use_::TYPE_NORMAL);
245
+ }
246
+
247
+ protected function addNamespacedName(Node $node) {
248
+ $node->namespacedName = Name::concat(
249
+ $this->nameContext->getNamespace(), (string) $node->name);
250
+ }
251
+
252
+ protected function resolveAttrGroups(Node $node)
253
+ {
254
+ foreach ($node->attrGroups as $attrGroup) {
255
+ foreach ($attrGroup->attrs as $attr) {
256
+ $attr->name = $this->resolveClassName($attr->name);
257
+ }
258
+ }
259
+ }
260
+ }