@appthreat/atom 1.8.1 → 1.8.2

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 (298) hide show
  1. package/package.json +1 -1
  2. package/phpastgen.js +7 -1
  3. package/plugins/autoload.php +1 -1
  4. package/plugins/bin/atom +1 -1
  5. package/plugins/bin/atom.bat +1 -1
  6. package/plugins/composer/autoload_classmap.php +18 -18
  7. package/plugins/composer/autoload_real.php +4 -4
  8. package/plugins/composer/autoload_static.php +22 -22
  9. package/plugins/composer/installed.json +10 -12
  10. package/plugins/composer/installed.php +9 -9
  11. package/plugins/lib/io.appthreat.atom-1.8.2-classpath.jar +0 -0
  12. package/plugins/lib/{io.appthreat.atom-1.8.1.jar → io.appthreat.atom-1.8.2.jar} +0 -0
  13. package/plugins/lib/{io.appthreat.c2cpg_3-1.1.3.jar → io.appthreat.c2cpg_3-1.1.4.jar} +0 -0
  14. package/plugins/lib/{io.appthreat.dataflowengineoss_3-1.1.3.jar → io.appthreat.dataflowengineoss_3-1.1.4.jar} +0 -0
  15. package/plugins/lib/{io.appthreat.javasrc2cpg_3-1.1.3.jar → io.appthreat.javasrc2cpg_3-1.1.4.jar} +0 -0
  16. package/plugins/lib/{io.appthreat.jimple2cpg_3-1.1.3.jar → io.appthreat.jimple2cpg_3-1.1.4.jar} +0 -0
  17. package/plugins/lib/{io.appthreat.jssrc2cpg_3-1.1.3.jar → io.appthreat.jssrc2cpg_3-1.1.4.jar} +0 -0
  18. package/plugins/lib/{io.appthreat.php2atom_3-1.1.3.jar → io.appthreat.php2atom_3-1.1.4.jar} +0 -0
  19. package/plugins/lib/{io.appthreat.pysrc2cpg_3-1.1.3.jar → io.appthreat.pysrc2cpg_3-1.1.4.jar} +0 -0
  20. package/plugins/lib/{io.appthreat.semanticcpg_3-1.1.3.jar → io.appthreat.semanticcpg_3-1.1.4.jar} +0 -0
  21. package/plugins/lib/{io.appthreat.x2cpg_3-1.1.3.jar → io.appthreat.x2cpg_3-1.1.4.jar} +0 -0
  22. package/plugins/nikic/php-parser/README.md +12 -20
  23. package/plugins/nikic/php-parser/bin/php-parse +10 -11
  24. package/plugins/nikic/php-parser/composer.json +4 -6
  25. package/plugins/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +15 -17
  26. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Class_.php +30 -35
  27. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +4 -11
  28. package/plugins/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +7 -9
  29. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +27 -26
  30. package/plugins/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +7 -7
  31. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Function_.php +7 -7
  32. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +10 -11
  33. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Method.php +15 -16
  34. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +5 -5
  35. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Param.php +35 -16
  36. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Property.php +19 -19
  37. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +5 -6
  38. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +28 -25
  39. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +11 -16
  40. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Use_.php +8 -8
  41. package/plugins/nikic/php-parser/lib/PhpParser/Builder.php +3 -2
  42. package/plugins/nikic/php-parser/lib/PhpParser/BuilderFactory.php +69 -45
  43. package/plugins/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +19 -17
  44. package/plugins/nikic/php-parser/lib/PhpParser/Comment/Doc.php +2 -1
  45. package/plugins/nikic/php-parser/lib/PhpParser/Comment.php +67 -35
  46. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +3 -3
  47. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +10 -15
  48. package/plugins/nikic/php-parser/lib/PhpParser/Error.php +33 -24
  49. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +9 -6
  50. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +3 -2
  51. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler.php +3 -2
  52. package/plugins/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +7 -11
  53. package/plugins/nikic/php-parser/lib/PhpParser/Internal/Differ.php +22 -36
  54. package/plugins/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +13 -20
  55. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +70 -55
  56. package/plugins/nikic/php-parser/lib/PhpParser/JsonDecoder.php +10 -15
  57. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +93 -68
  58. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +18 -11
  59. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +47 -0
  60. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +15 -10
  61. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +11 -12
  62. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +76 -0
  63. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +23 -0
  64. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +25 -19
  65. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +10 -6
  66. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +29 -22
  67. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +105 -0
  68. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +3 -3
  69. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +15 -10
  70. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +5 -6
  71. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +5 -10
  72. package/plugins/nikic/php-parser/lib/PhpParser/Lexer.php +513 -69
  73. package/plugins/nikic/php-parser/lib/PhpParser/NameContext.php +24 -23
  74. package/plugins/nikic/php-parser/lib/PhpParser/Node/Arg.php +15 -13
  75. package/plugins/nikic/php-parser/lib/PhpParser/Node/Attribute.php +10 -9
  76. package/plugins/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +7 -5
  77. package/plugins/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +2 -1
  78. package/plugins/nikic/php-parser/lib/PhpParser/Node/Const_.php +10 -9
  79. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +11 -10
  80. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +39 -1
  81. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +11 -11
  82. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +28 -33
  83. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +10 -9
  84. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +3 -2
  85. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +3 -2
  86. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +3 -2
  87. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +3 -2
  88. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +3 -2
  89. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +3 -2
  90. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +3 -2
  91. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +3 -2
  92. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +3 -2
  93. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +3 -2
  94. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +3 -2
  95. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +3 -2
  96. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +3 -2
  97. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +8 -7
  98. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +10 -9
  99. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +5 -4
  100. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +5 -4
  101. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +5 -4
  102. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +5 -4
  103. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +5 -4
  104. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +5 -4
  105. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +5 -4
  106. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +5 -4
  107. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +5 -4
  108. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +5 -4
  109. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +5 -4
  110. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +5 -4
  111. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +5 -4
  112. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +5 -4
  113. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +5 -4
  114. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +5 -4
  115. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +5 -4
  116. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +5 -4
  117. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +5 -4
  118. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +5 -4
  119. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +5 -4
  120. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +5 -4
  121. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +5 -4
  122. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +5 -4
  123. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +5 -4
  124. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +5 -4
  125. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +5 -4
  126. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +11 -8
  127. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +8 -7
  128. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +8 -7
  129. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +7 -3
  130. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +3 -2
  131. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +3 -2
  132. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +6 -5
  133. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +3 -2
  134. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +3 -2
  135. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +3 -2
  136. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +3 -2
  137. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +6 -5
  138. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +10 -10
  139. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +8 -7
  140. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +26 -33
  141. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +32 -1
  142. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +8 -7
  143. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +8 -7
  144. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +6 -5
  145. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +8 -7
  146. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +8 -7
  147. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +11 -10
  148. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +11 -10
  149. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +14 -13
  150. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +11 -11
  151. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +8 -7
  152. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +8 -12
  153. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +7 -8
  154. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +12 -12
  155. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +11 -10
  156. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +12 -12
  157. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +10 -10
  158. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +8 -7
  159. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +8 -7
  160. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +7 -6
  161. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +8 -7
  162. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +8 -7
  163. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +10 -10
  164. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +9 -9
  165. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +13 -12
  166. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +11 -11
  167. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +13 -12
  168. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +7 -6
  169. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +8 -7
  170. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +8 -7
  171. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +7 -6
  172. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +8 -7
  173. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +11 -10
  174. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr.php +2 -1
  175. package/plugins/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +8 -5
  176. package/plugins/nikic/php-parser/lib/PhpParser/Node/Identifier.php +13 -13
  177. package/plugins/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +9 -6
  178. package/plugins/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +9 -8
  179. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +9 -8
  180. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +9 -8
  181. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name.php +56 -71
  182. package/plugins/nikic/php-parser/lib/PhpParser/Node/NullableType.php +10 -11
  183. package/plugins/nikic/php-parser/lib/PhpParser/Node/Param.php +22 -46
  184. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +75 -1
  185. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +29 -1
  186. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +28 -1
  187. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +78 -1
  188. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +5 -4
  189. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +5 -4
  190. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +5 -4
  191. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +5 -4
  192. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +5 -4
  193. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +5 -4
  194. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +5 -4
  195. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +5 -4
  196. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +5 -4
  197. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +26 -30
  198. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar.php +2 -1
  199. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +9 -8
  200. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +11 -10
  201. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +12 -11
  202. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +32 -24
  203. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +13 -13
  204. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +54 -47
  205. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +89 -46
  206. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +8 -7
  207. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +9 -8
  208. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +32 -1
  209. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +12 -12
  210. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +10 -9
  211. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +8 -7
  212. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +10 -9
  213. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +8 -7
  214. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +12 -11
  215. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +13 -17
  216. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +8 -7
  217. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +8 -7
  218. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +15 -19
  219. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +17 -20
  220. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +24 -28
  221. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +8 -7
  222. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +8 -7
  223. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +14 -16
  224. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +8 -7
  225. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +15 -18
  226. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +8 -7
  227. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +10 -13
  228. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +8 -7
  229. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +12 -11
  230. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +5 -4
  231. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +37 -28
  232. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +32 -1
  233. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +9 -8
  234. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +35 -1
  235. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +8 -8
  236. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +10 -9
  237. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +30 -0
  238. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +9 -8
  239. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +13 -12
  240. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +10 -9
  241. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +4 -3
  242. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +8 -10
  243. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +12 -11
  244. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +8 -7
  245. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +50 -1
  246. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +16 -16
  247. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +10 -9
  248. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt.php +2 -1
  249. package/plugins/nikic/php-parser/lib/PhpParser/Node/UnionType.php +8 -7
  250. package/plugins/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +3 -2
  251. package/plugins/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +2 -2
  252. package/plugins/nikic/php-parser/lib/PhpParser/Node.php +29 -24
  253. package/plugins/nikic/php-parser/lib/PhpParser/NodeAbstract.php +20 -20
  254. package/plugins/nikic/php-parser/lib/PhpParser/NodeDumper.php +84 -168
  255. package/plugins/nikic/php-parser/lib/PhpParser/NodeFinder.php +19 -28
  256. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverser.php +84 -71
  257. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +7 -4
  258. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +2 -1
  259. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +5 -4
  260. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +7 -6
  261. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +28 -30
  262. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +3 -2
  263. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +11 -8
  264. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor.php +7 -59
  265. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +2 -1
  266. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +55 -0
  267. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php5.php +2682 -0
  268. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php7.php +1522 -1323
  269. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +148 -0
  270. package/plugins/nikic/php-parser/lib/PhpParser/Parser.php +3 -9
  271. package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +252 -433
  272. package/plugins/nikic/php-parser/lib/PhpParser/ParserFactory.php +49 -15
  273. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +335 -386
  274. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +438 -517
  275. package/plugins/lib/io.appthreat.atom-1.8.1-classpath.jar +0 -0
  276. package/plugins/nikic/php-parser/.php-cs-fixer.dist.php +0 -31
  277. package/plugins/nikic/php-parser/Makefile +0 -10
  278. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +0 -237
  279. package/plugins/nikic/php-parser/lib/PhpParser/Modifiers.php +0 -69
  280. package/plugins/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +0 -43
  281. package/plugins/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +0 -36
  282. package/plugins/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +0 -37
  283. package/plugins/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +0 -32
  284. package/plugins/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +0 -37
  285. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +0 -78
  286. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +0 -82
  287. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +0 -34
  288. package/plugins/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +0 -39
  289. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +0 -29
  290. package/plugins/nikic/php-parser/lib/PhpParser/Node/UseItem.php +0 -55
  291. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +0 -82
  292. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php8.php +0 -2717
  293. package/plugins/nikic/php-parser/lib/PhpParser/PhpVersion.php +0 -164
  294. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +0 -51
  295. package/plugins/nikic/php-parser/lib/PhpParser/Token.php +0 -18
  296. package/plugins/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +0 -56
  297. package/plugins/nikic/php-parser/phpstan-baseline.neon +0 -236
  298. package/plugins/nikic/php-parser/phpstan.neon.dist +0 -8
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Expr\BinaryOp;
4
4
 
5
5
  use PhpParser\Node\Expr\BinaryOp;
6
6
 
7
- class SmallerOrEqual extends BinaryOp {
8
- public function getOperatorSigil(): string {
7
+ class SmallerOrEqual extends BinaryOp
8
+ {
9
+ public function getOperatorSigil() : string {
9
10
  return '<=';
10
11
  }
11
-
12
- public function getType(): string {
12
+
13
+ public function getType() : string {
13
14
  return 'Expr_BinaryOp_SmallerOrEqual';
14
15
  }
15
16
  }
@@ -4,12 +4,13 @@ namespace PhpParser\Node\Expr\BinaryOp;
4
4
 
5
5
  use PhpParser\Node\Expr\BinaryOp;
6
6
 
7
- class Spaceship extends BinaryOp {
8
- public function getOperatorSigil(): string {
7
+ class Spaceship extends BinaryOp
8
+ {
9
+ public function getOperatorSigil() : string {
9
10
  return '<=>';
10
11
  }
11
-
12
- public function getType(): string {
12
+
13
+ public function getType() : string {
13
14
  return 'Expr_BinaryOp_Spaceship';
14
15
  }
15
16
  }
@@ -4,18 +4,19 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- abstract class BinaryOp extends Expr {
7
+ abstract class BinaryOp extends Expr
8
+ {
8
9
  /** @var Expr The left hand side expression */
9
- public Expr $left;
10
+ public $left;
10
11
  /** @var Expr The right hand side expression */
11
- public Expr $right;
12
+ public $right;
12
13
 
13
14
  /**
14
15
  * Constructs a binary operator node.
15
16
  *
16
- * @param Expr $left The left hand side expression
17
- * @param Expr $right The right hand side expression
18
- * @param array<string, mixed> $attributes Additional attributes
17
+ * @param Expr $left The left hand side expression
18
+ * @param Expr $right The right hand side expression
19
+ * @param array $attributes Additional attributes
19
20
  */
20
21
  public function __construct(Expr $left, Expr $right, array $attributes = []) {
21
22
  $this->attributes = $attributes;
@@ -23,7 +24,7 @@ abstract class BinaryOp extends Expr {
23
24
  $this->right = $right;
24
25
  }
25
26
 
26
- public function getSubNodeNames(): array {
27
+ public function getSubNodeNames() : array {
27
28
  return ['left', 'right'];
28
29
  }
29
30
 
@@ -32,6 +33,8 @@ abstract class BinaryOp extends Expr {
32
33
  *
33
34
  * In the case there are multiple possible sigils for an operator, this method does not
34
35
  * necessarily return the one used in the parsed code.
36
+ *
37
+ * @return string
35
38
  */
36
- abstract public function getOperatorSigil(): string;
39
+ abstract public function getOperatorSigil() : string;
37
40
  }
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class BitwiseNot extends Expr {
7
+ class BitwiseNot extends Expr
8
+ {
8
9
  /** @var Expr Expression */
9
- public Expr $expr;
10
+ public $expr;
10
11
 
11
12
  /**
12
13
  * Constructs a bitwise not node.
13
14
  *
14
- * @param Expr $expr Expression
15
- * @param array<string, mixed> $attributes Additional attributes
15
+ * @param Expr $expr Expression
16
+ * @param array $attributes Additional attributes
16
17
  */
17
18
  public function __construct(Expr $expr, array $attributes = []) {
18
19
  $this->attributes = $attributes;
19
20
  $this->expr = $expr;
20
21
  }
21
22
 
22
- public function getSubNodeNames(): array {
23
+ public function getSubNodeNames() : array {
23
24
  return ['expr'];
24
25
  }
25
-
26
- public function getType(): string {
26
+
27
+ public function getType() : string {
27
28
  return 'Expr_BitwiseNot';
28
29
  }
29
30
  }
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class BooleanNot extends Expr {
7
+ class BooleanNot extends Expr
8
+ {
8
9
  /** @var Expr Expression */
9
- public Expr $expr;
10
+ public $expr;
10
11
 
11
12
  /**
12
13
  * Constructs a boolean not node.
13
14
  *
14
- * @param Expr $expr Expression
15
- * @param array<string, mixed> $attributes Additional attributes
15
+ * @param Expr $expr Expression
16
+ * @param array $attributes Additional attributes
16
17
  */
17
18
  public function __construct(Expr $expr, array $attributes = []) {
18
19
  $this->attributes = $attributes;
19
20
  $this->expr = $expr;
20
21
  }
21
22
 
22
- public function getSubNodeNames(): array {
23
+ public function getSubNodeNames() : array {
23
24
  return ['expr'];
24
25
  }
25
-
26
- public function getType(): string {
26
+
27
+ public function getType() : string {
27
28
  return 'Expr_BooleanNot';
28
29
  }
29
30
  }
@@ -19,8 +19,12 @@ abstract class CallLike extends Expr {
19
19
  * Returns whether this call expression is actually a first class callable.
20
20
  */
21
21
  public function isFirstClassCallable(): bool {
22
- $rawArgs = $this->getRawArgs();
23
- return count($rawArgs) === 1 && current($rawArgs) instanceof VariadicPlaceholder;
22
+ foreach ($this->getRawArgs() as $arg) {
23
+ if ($arg instanceof VariadicPlaceholder) {
24
+ return true;
25
+ }
26
+ }
27
+ return false;
24
28
  }
25
29
 
26
30
  /**
@@ -32,4 +36,4 @@ abstract class CallLike extends Expr {
32
36
  assert(!$this->isFirstClassCallable());
33
37
  return $this->getRawArgs();
34
38
  }
35
- }
39
+ }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class Array_ extends Cast {
8
- public function getType(): string {
7
+ class Array_ extends Cast
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_Cast_Array';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class Bool_ extends Cast {
8
- public function getType(): string {
7
+ class Bool_ extends Cast
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_Cast_Bool';
10
11
  }
11
12
  }
@@ -4,13 +4,14 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class Double extends Cast {
7
+ class Double extends Cast
8
+ {
8
9
  // For use in "kind" attribute
9
- public const KIND_DOUBLE = 1; // "double" syntax
10
- public const KIND_FLOAT = 2; // "float" syntax
11
- public const KIND_REAL = 3; // "real" syntax
10
+ const KIND_DOUBLE = 1; // "double" syntax
11
+ const KIND_FLOAT = 2; // "float" syntax
12
+ const KIND_REAL = 3; // "real" syntax
12
13
 
13
- public function getType(): string {
14
+ public function getType() : string {
14
15
  return 'Expr_Cast_Double';
15
16
  }
16
17
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class Int_ extends Cast {
8
- public function getType(): string {
7
+ class Int_ extends Cast
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_Cast_Int';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class Object_ extends Cast {
8
- public function getType(): string {
7
+ class Object_ extends Cast
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_Cast_Object';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class String_ extends Cast {
8
- public function getType(): string {
7
+ class String_ extends Cast
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_Cast_String';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\Cast;
4
4
 
5
5
  use PhpParser\Node\Expr\Cast;
6
6
 
7
- class Unset_ extends Cast {
8
- public function getType(): string {
7
+ class Unset_ extends Cast
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_Cast_Unset';
10
11
  }
11
12
  }
@@ -4,22 +4,23 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- abstract class Cast extends Expr {
7
+ abstract class Cast extends Expr
8
+ {
8
9
  /** @var Expr Expression */
9
- public Expr $expr;
10
+ public $expr;
10
11
 
11
12
  /**
12
13
  * Constructs a cast node.
13
14
  *
14
- * @param Expr $expr Expression
15
- * @param array<string, mixed> $attributes Additional attributes
15
+ * @param Expr $expr Expression
16
+ * @param array $attributes Additional attributes
16
17
  */
17
18
  public function __construct(Expr $expr, array $attributes = []) {
18
19
  $this->attributes = $attributes;
19
20
  $this->expr = $expr;
20
21
  }
21
22
 
22
- public function getSubNodeNames(): array {
23
+ public function getSubNodeNames() : array {
23
24
  return ['expr'];
24
25
  }
25
26
  }
@@ -2,35 +2,35 @@
2
2
 
3
3
  namespace PhpParser\Node\Expr;
4
4
 
5
- use PhpParser\Node;
6
5
  use PhpParser\Node\Expr;
7
6
  use PhpParser\Node\Identifier;
8
7
  use PhpParser\Node\Name;
9
8
 
10
- class ClassConstFetch extends Expr {
9
+ class ClassConstFetch extends Expr
10
+ {
11
11
  /** @var Name|Expr Class name */
12
- public Node $class;
12
+ public $class;
13
13
  /** @var Identifier|Expr|Error Constant name */
14
- public Node $name;
14
+ public $name;
15
15
 
16
16
  /**
17
17
  * Constructs a class const fetch node.
18
18
  *
19
- * @param Name|Expr $class Class name
20
- * @param string|Identifier|Expr|Error $name Constant name
21
- * @param array<string, mixed> $attributes Additional attributes
19
+ * @param Name|Expr $class Class name
20
+ * @param string|Identifier|Expr|Error $name Constant name
21
+ * @param array $attributes Additional attributes
22
22
  */
23
- public function __construct(Node $class, $name, array $attributes = []) {
23
+ public function __construct($class, $name, array $attributes = []) {
24
24
  $this->attributes = $attributes;
25
25
  $this->class = $class;
26
26
  $this->name = \is_string($name) ? new Identifier($name) : $name;
27
27
  }
28
28
 
29
- public function getSubNodeNames(): array {
29
+ public function getSubNodeNames() : array {
30
30
  return ['class', 'name'];
31
31
  }
32
32
 
33
- public function getType(): string {
33
+ public function getType() : string {
34
34
  return 'Expr_ClassConstFetch';
35
35
  }
36
36
  }
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class Clone_ extends Expr {
7
+ class Clone_ extends Expr
8
+ {
8
9
  /** @var Expr Expression */
9
- public Expr $expr;
10
+ public $expr;
10
11
 
11
12
  /**
12
13
  * Constructs a clone node.
13
14
  *
14
- * @param Expr $expr Expression
15
- * @param array<string, mixed> $attributes Additional attributes
15
+ * @param Expr $expr Expression
16
+ * @param array $attributes Additional attributes
16
17
  */
17
18
  public function __construct(Expr $expr, array $attributes = []) {
18
19
  $this->attributes = $attributes;
19
20
  $this->expr = $expr;
20
21
  }
21
22
 
22
- public function getSubNodeNames(): array {
23
+ public function getSubNodeNames() : array {
23
24
  return ['expr'];
24
25
  }
25
-
26
- public function getType(): string {
26
+
27
+ public function getType() : string {
27
28
  return 'Expr_Clone';
28
29
  }
29
30
  }
@@ -3,46 +3,38 @@
3
3
  namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node;
6
- use PhpParser\Node\ClosureUse;
7
6
  use PhpParser\Node\Expr;
8
7
  use PhpParser\Node\FunctionLike;
9
8
 
10
- class Closure extends Expr implements FunctionLike {
9
+ class Closure extends Expr implements FunctionLike
10
+ {
11
11
  /** @var bool Whether the closure is static */
12
- public bool $static;
12
+ public $static;
13
13
  /** @var bool Whether to return by reference */
14
- public bool $byRef;
14
+ public $byRef;
15
15
  /** @var Node\Param[] Parameters */
16
- public array $params;
16
+ public $params;
17
17
  /** @var ClosureUse[] use()s */
18
- public array $uses;
18
+ public $uses;
19
19
  /** @var null|Node\Identifier|Node\Name|Node\ComplexType Return type */
20
- public ?Node $returnType;
20
+ public $returnType;
21
21
  /** @var Node\Stmt[] Statements */
22
- public array $stmts;
22
+ public $stmts;
23
23
  /** @var Node\AttributeGroup[] PHP attribute groups */
24
- public array $attrGroups;
24
+ public $attrGroups;
25
25
 
26
26
  /**
27
27
  * Constructs a lambda function node.
28
28
  *
29
- * @param array{
30
- * static?: bool,
31
- * byRef?: bool,
32
- * params?: Node\Param[],
33
- * uses?: ClosureUse[],
34
- * returnType?: null|Node\Identifier|Node\Name|Node\ComplexType,
35
- * stmts?: Node\Stmt[],
36
- * attrGroups?: Node\AttributeGroup[],
37
- * } $subNodes Array of the following optional subnodes:
38
- * 'static' => false : Whether the closure is static
39
- * 'byRef' => false : Whether to return by reference
40
- * 'params' => array(): Parameters
41
- * 'uses' => array(): use()s
42
- * 'returnType' => null : Return type
43
- * 'stmts' => array(): Statements
44
- * 'attrGroups' => array(): PHP attributes groups
45
- * @param array<string, mixed> $attributes Additional attributes
29
+ * @param array $subNodes Array of the following optional subnodes:
30
+ * 'static' => false : Whether the closure is static
31
+ * 'byRef' => false : Whether to return by reference
32
+ * 'params' => array(): Parameters
33
+ * 'uses' => array(): use()s
34
+ * 'returnType' => null : Return type
35
+ * 'stmts' => array(): Statements
36
+ * 'attrGroups' => array(): PHP attributes groups
37
+ * @param array $attributes Additional attributes
46
38
  */
47
39
  public function __construct(array $subNodes = [], array $attributes = []) {
48
40
  $this->attributes = $attributes;
@@ -50,20 +42,21 @@ class Closure extends Expr implements FunctionLike {
50
42
  $this->byRef = $subNodes['byRef'] ?? false;
51
43
  $this->params = $subNodes['params'] ?? [];
52
44
  $this->uses = $subNodes['uses'] ?? [];
53
- $this->returnType = $subNodes['returnType'] ?? null;
45
+ $returnType = $subNodes['returnType'] ?? null;
46
+ $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType;
54
47
  $this->stmts = $subNodes['stmts'] ?? [];
55
48
  $this->attrGroups = $subNodes['attrGroups'] ?? [];
56
49
  }
57
50
 
58
- public function getSubNodeNames(): array {
51
+ public function getSubNodeNames() : array {
59
52
  return ['attrGroups', 'static', 'byRef', 'params', 'uses', 'returnType', 'stmts'];
60
53
  }
61
54
 
62
- public function returnsByRef(): bool {
55
+ public function returnsByRef() : bool {
63
56
  return $this->byRef;
64
57
  }
65
58
 
66
- public function getParams(): array {
59
+ public function getParams() : array {
67
60
  return $this->params;
68
61
  }
69
62
 
@@ -72,15 +65,15 @@ class Closure extends Expr implements FunctionLike {
72
65
  }
73
66
 
74
67
  /** @return Node\Stmt[] */
75
- public function getStmts(): array {
68
+ public function getStmts() : array {
76
69
  return $this->stmts;
77
70
  }
78
71
 
79
- public function getAttrGroups(): array {
72
+ public function getAttrGroups() : array {
80
73
  return $this->attrGroups;
81
74
  }
82
75
 
83
- public function getType(): string {
76
+ public function getType() : string {
84
77
  return 'Expr_Closure';
85
78
  }
86
79
  }
@@ -1,3 +1,34 @@
1
1
  <?php declare(strict_types=1);
2
2
 
3
- require __DIR__ . '/../ClosureUse.php';
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class ClosureUse extends Expr
8
+ {
9
+ /** @var Expr\Variable Variable to use */
10
+ public $var;
11
+ /** @var bool Whether to use by reference */
12
+ public $byRef;
13
+
14
+ /**
15
+ * Constructs a closure use node.
16
+ *
17
+ * @param Expr\Variable $var Variable to use
18
+ * @param bool $byRef Whether to use by reference
19
+ * @param array $attributes Additional attributes
20
+ */
21
+ public function __construct(Expr\Variable $var, bool $byRef = false, array $attributes = []) {
22
+ $this->attributes = $attributes;
23
+ $this->var = $var;
24
+ $this->byRef = $byRef;
25
+ }
26
+
27
+ public function getSubNodeNames() : array {
28
+ return ['var', 'byRef'];
29
+ }
30
+
31
+ public function getType() : string {
32
+ return 'Expr_ClosureUse';
33
+ }
34
+ }
@@ -5,26 +5,27 @@ namespace PhpParser\Node\Expr;
5
5
  use PhpParser\Node\Expr;
6
6
  use PhpParser\Node\Name;
7
7
 
8
- class ConstFetch extends Expr {
8
+ class ConstFetch extends Expr
9
+ {
9
10
  /** @var Name Constant name */
10
- public Name $name;
11
+ public $name;
11
12
 
12
13
  /**
13
14
  * Constructs a const fetch node.
14
15
  *
15
- * @param Name $name Constant name
16
- * @param array<string, mixed> $attributes Additional attributes
16
+ * @param Name $name Constant name
17
+ * @param array $attributes Additional attributes
17
18
  */
18
19
  public function __construct(Name $name, array $attributes = []) {
19
20
  $this->attributes = $attributes;
20
21
  $this->name = $name;
21
22
  }
22
23
 
23
- public function getSubNodeNames(): array {
24
+ public function getSubNodeNames() : array {
24
25
  return ['name'];
25
26
  }
26
-
27
- public function getType(): string {
27
+
28
+ public function getType() : string {
28
29
  return 'Expr_ConstFetch';
29
30
  }
30
31
  }
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class Empty_ extends Expr {
7
+ class Empty_ extends Expr
8
+ {
8
9
  /** @var Expr Expression */
9
- public Expr $expr;
10
+ public $expr;
10
11
 
11
12
  /**
12
13
  * Constructs an empty() node.
13
14
  *
14
- * @param Expr $expr Expression
15
- * @param array<string, mixed> $attributes Additional attributes
15
+ * @param Expr $expr Expression
16
+ * @param array $attributes Additional attributes
16
17
  */
17
18
  public function __construct(Expr $expr, array $attributes = []) {
18
19
  $this->attributes = $attributes;
19
20
  $this->expr = $expr;
20
21
  }
21
22
 
22
- public function getSubNodeNames(): array {
23
+ public function getSubNodeNames() : array {
23
24
  return ['expr'];
24
25
  }
25
-
26
- public function getType(): string {
26
+
27
+ public function getType() : string {
27
28
  return 'Expr_Empty';
28
29
  }
29
30
  }
@@ -10,21 +10,22 @@ use PhpParser\Node\Expr;
10
10
  * An error node may be placed at a position where an expression is required, but an error occurred.
11
11
  * Error nodes will not be present if the parser is run in throwOnError mode (the default).
12
12
  */
13
- class Error extends Expr {
13
+ class Error extends Expr
14
+ {
14
15
  /**
15
16
  * Constructs an error node.
16
17
  *
17
- * @param array<string, mixed> $attributes Additional attributes
18
+ * @param array $attributes Additional attributes
18
19
  */
19
20
  public function __construct(array $attributes = []) {
20
21
  $this->attributes = $attributes;
21
22
  }
22
23
 
23
- public function getSubNodeNames(): array {
24
+ public function getSubNodeNames() : array {
24
25
  return [];
25
26
  }
26
-
27
- public function getType(): string {
27
+
28
+ public function getType() : string {
28
29
  return 'Expr_Error';
29
30
  }
30
31
  }
@@ -4,26 +4,27 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class ErrorSuppress extends Expr {
7
+ class ErrorSuppress extends Expr
8
+ {
8
9
  /** @var Expr Expression */
9
- public Expr $expr;
10
+ public $expr;
10
11
 
11
12
  /**
12
13
  * Constructs an error suppress node.
13
14
  *
14
- * @param Expr $expr Expression
15
- * @param array<string, mixed> $attributes Additional attributes
15
+ * @param Expr $expr Expression
16
+ * @param array $attributes Additional attributes
16
17
  */
17
18
  public function __construct(Expr $expr, array $attributes = []) {
18
19
  $this->attributes = $attributes;
19
20
  $this->expr = $expr;
20
21
  }
21
22
 
22
- public function getSubNodeNames(): array {
23
+ public function getSubNodeNames() : array {
23
24
  return ['expr'];
24
25
  }
25
-
26
- public function getType(): string {
26
+
27
+ public function getType() : string {
27
28
  return 'Expr_ErrorSuppress';
28
29
  }
29
30
  }