@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
@@ -6,18 +6,19 @@ use PhpParser\Node\Name;
6
6
  use PhpParser\Node\Name\FullyQualified;
7
7
  use PhpParser\Node\Stmt;
8
8
 
9
- class NameContext {
9
+ class NameContext
10
+ {
10
11
  /** @var null|Name Current namespace */
11
- protected ?Name $namespace;
12
+ protected $namespace;
12
13
 
13
14
  /** @var Name[][] Map of format [aliasType => [aliasName => originalName]] */
14
- protected array $aliases = [];
15
+ protected $aliases = [];
15
16
 
16
17
  /** @var Name[][] Same as $aliases but preserving original case */
17
- protected array $origAliases = [];
18
+ protected $origAliases = [];
18
19
 
19
20
  /** @var ErrorHandler Error handler */
20
- protected ErrorHandler $errorHandler;
21
+ protected $errorHandler;
21
22
 
22
23
  /**
23
24
  * Create a name context.
@@ -35,7 +36,7 @@ class NameContext {
35
36
  *
36
37
  * @param Name|null $namespace Null is the global namespace
37
38
  */
38
- public function startNamespace(?Name $namespace = null): void {
39
+ public function startNamespace(Name $namespace = null) {
39
40
  $this->namespace = $namespace;
40
41
  $this->origAliases = $this->aliases = [
41
42
  Stmt\Use_::TYPE_NORMAL => [],
@@ -47,12 +48,12 @@ class NameContext {
47
48
  /**
48
49
  * Add an alias / import.
49
50
  *
50
- * @param Name $name Original name
51
- * @param string $aliasName Aliased name
52
- * @param Stmt\Use_::TYPE_* $type One of Stmt\Use_::TYPE_*
53
- * @param array<string, mixed> $errorAttrs Attributes to use to report an error
51
+ * @param Name $name Original name
52
+ * @param string $aliasName Aliased name
53
+ * @param int $type One of Stmt\Use_::TYPE_*
54
+ * @param array $errorAttrs Attributes to use to report an error
54
55
  */
55
- public function addAlias(Name $name, string $aliasName, int $type, array $errorAttrs = []): void {
56
+ public function addAlias(Name $name, string $aliasName, int $type, array $errorAttrs = []) {
56
57
  // Constant names are case sensitive, everything else case insensitive
57
58
  if ($type === Stmt\Use_::TYPE_CONSTANT) {
58
59
  $aliasLookupName = $aliasName;
@@ -86,7 +87,7 @@ class NameContext {
86
87
  *
87
88
  * @return null|Name Namespace (or null if global namespace)
88
89
  */
89
- public function getNamespace(): ?Name {
90
+ public function getNamespace() {
90
91
  return $this->namespace;
91
92
  }
92
93
 
@@ -94,11 +95,11 @@ class NameContext {
94
95
  * Get resolved name.
95
96
  *
96
97
  * @param Name $name Name to resolve
97
- * @param Stmt\Use_::TYPE_* $type One of Stmt\Use_::TYPE_{FUNCTION|CONSTANT}
98
+ * @param int $type One of Stmt\Use_::TYPE_{FUNCTION|CONSTANT}
98
99
  *
99
100
  * @return null|Name Resolved name, or null if static resolution is not possible
100
101
  */
101
- public function getResolvedName(Name $name, int $type): ?Name {
102
+ public function getResolvedName(Name $name, int $type) {
102
103
  // don't resolve special class names
103
104
  if ($type === Stmt\Use_::TYPE_NORMAL && $name->isSpecialClassName()) {
104
105
  if (!$name->isUnqualified()) {
@@ -141,7 +142,7 @@ class NameContext {
141
142
  *
142
143
  * @return Name Resolved name
143
144
  */
144
- public function getResolvedClassName(Name $name): Name {
145
+ public function getResolvedClassName(Name $name) : Name {
145
146
  return $this->getResolvedName($name, Stmt\Use_::TYPE_NORMAL);
146
147
  }
147
148
 
@@ -149,11 +150,11 @@ class NameContext {
149
150
  * Get possible ways of writing a fully qualified name (e.g., by making use of aliases).
150
151
  *
151
152
  * @param string $name Fully-qualified name (without leading namespace separator)
152
- * @param Stmt\Use_::TYPE_* $type One of Stmt\Use_::TYPE_*
153
+ * @param int $type One of Stmt\Use_::TYPE_*
153
154
  *
154
155
  * @return Name[] Possible representations of the name
155
156
  */
156
- public function getPossibleNames(string $name, int $type): array {
157
+ public function getPossibleNames(string $name, int $type) : array {
157
158
  $lcName = strtolower($name);
158
159
 
159
160
  if ($type === Stmt\Use_::TYPE_NORMAL) {
@@ -205,11 +206,11 @@ class NameContext {
205
206
  * Get shortest representation of this fully-qualified name.
206
207
  *
207
208
  * @param string $name Fully-qualified name (without leading namespace separator)
208
- * @param Stmt\Use_::TYPE_* $type One of Stmt\Use_::TYPE_*
209
+ * @param int $type One of Stmt\Use_::TYPE_*
209
210
  *
210
211
  * @return Name Shortest representation
211
212
  */
212
- public function getShortName(string $name, int $type): Name {
213
+ public function getShortName(string $name, int $type) : Name {
213
214
  $possibleNames = $this->getPossibleNames($name, $type);
214
215
 
215
216
  // Find shortest name
@@ -223,10 +224,10 @@ class NameContext {
223
224
  }
224
225
  }
225
226
 
226
- return $shortestName;
227
+ return $shortestName;
227
228
  }
228
229
 
229
- private function resolveAlias(Name $name, int $type): ?FullyQualified {
230
+ private function resolveAlias(Name $name, $type) {
230
231
  $firstPart = $name->getFirst();
231
232
 
232
233
  if ($name->isQualified()) {
@@ -249,7 +250,7 @@ class NameContext {
249
250
  return null;
250
251
  }
251
252
 
252
- private function getNamespaceRelativeName(string $name, string $lcName, int $type): ?Name {
253
+ private function getNamespaceRelativeName(string $name, string $lcName, int $type) {
253
254
  if (null === $this->namespace) {
254
255
  return new Name($name);
255
256
  }
@@ -270,7 +271,7 @@ class NameContext {
270
271
  return null;
271
272
  }
272
273
 
273
- private function normalizeConstName(string $name): string {
274
+ private function normalizeConstName(string $name) {
274
275
  $nsSep = strrpos($name, '\\');
275
276
  if (false === $nsSep) {
276
277
  return $name;
@@ -2,30 +2,32 @@
2
2
 
3
3
  namespace PhpParser\Node;
4
4
 
5
+ use PhpParser\Node\VariadicPlaceholder;
5
6
  use PhpParser\NodeAbstract;
6
7
 
7
- class Arg extends NodeAbstract {
8
+ class Arg extends NodeAbstract
9
+ {
8
10
  /** @var Identifier|null Parameter name (for named parameters) */
9
- public ?Identifier $name;
11
+ public $name;
10
12
  /** @var Expr Value to pass */
11
- public Expr $value;
13
+ public $value;
12
14
  /** @var bool Whether to pass by ref */
13
- public bool $byRef;
15
+ public $byRef;
14
16
  /** @var bool Whether to unpack the argument */
15
- public bool $unpack;
17
+ public $unpack;
16
18
 
17
19
  /**
18
20
  * Constructs a function call argument node.
19
21
  *
20
- * @param Expr $value Value to pass
21
- * @param bool $byRef Whether to pass by ref
22
- * @param bool $unpack Whether to unpack the argument
23
- * @param array<string, mixed> $attributes Additional attributes
22
+ * @param Expr $value Value to pass
23
+ * @param bool $byRef Whether to pass by ref
24
+ * @param bool $unpack Whether to unpack the argument
25
+ * @param array $attributes Additional attributes
24
26
  * @param Identifier|null $name Parameter name (for named parameters)
25
27
  */
26
28
  public function __construct(
27
29
  Expr $value, bool $byRef = false, bool $unpack = false, array $attributes = [],
28
- ?Identifier $name = null
30
+ Identifier $name = null
29
31
  ) {
30
32
  $this->attributes = $attributes;
31
33
  $this->name = $name;
@@ -34,11 +36,11 @@ class Arg extends NodeAbstract {
34
36
  $this->unpack = $unpack;
35
37
  }
36
38
 
37
- public function getSubNodeNames(): array {
39
+ public function getSubNodeNames() : array {
38
40
  return ['name', 'value', 'byRef', 'unpack'];
39
41
  }
40
-
41
- public function getType(): string {
42
+
43
+ public function getType() : string {
42
44
  return 'Arg';
43
45
  }
44
46
  }
@@ -5,17 +5,18 @@ namespace PhpParser\Node;
5
5
  use PhpParser\Node;
6
6
  use PhpParser\NodeAbstract;
7
7
 
8
- class Attribute extends NodeAbstract {
8
+ class Attribute extends NodeAbstract
9
+ {
9
10
  /** @var Name Attribute name */
10
- public Name $name;
11
+ public $name;
11
12
 
12
- /** @var list<Arg> Attribute arguments */
13
- public array $args;
13
+ /** @var Arg[] Attribute arguments */
14
+ public $args;
14
15
 
15
16
  /**
16
- * @param Node\Name $name Attribute name
17
- * @param list<Arg> $args Attribute arguments
18
- * @param array<string, mixed> $attributes Additional node attributes
17
+ * @param Node\Name $name Attribute name
18
+ * @param Arg[] $args Attribute arguments
19
+ * @param array $attributes Additional node attributes
19
20
  */
20
21
  public function __construct(Name $name, array $args = [], array $attributes = []) {
21
22
  $this->attributes = $attributes;
@@ -23,11 +24,11 @@ class Attribute extends NodeAbstract {
23
24
  $this->args = $args;
24
25
  }
25
26
 
26
- public function getSubNodeNames(): array {
27
+ public function getSubNodeNames() : array {
27
28
  return ['name', 'args'];
28
29
  }
29
30
 
30
- public function getType(): string {
31
+ public function getType() : string {
31
32
  return 'Attribute';
32
33
  }
33
34
  }
@@ -2,26 +2,28 @@
2
2
 
3
3
  namespace PhpParser\Node;
4
4
 
5
+ use PhpParser\Node;
5
6
  use PhpParser\NodeAbstract;
6
7
 
7
- class AttributeGroup extends NodeAbstract {
8
+ class AttributeGroup extends NodeAbstract
9
+ {
8
10
  /** @var Attribute[] Attributes */
9
- public array $attrs;
11
+ public $attrs;
10
12
 
11
13
  /**
12
14
  * @param Attribute[] $attrs PHP attributes
13
- * @param array<string, mixed> $attributes Additional node attributes
15
+ * @param array $attributes Additional node attributes
14
16
  */
15
17
  public function __construct(array $attrs, array $attributes = []) {
16
18
  $this->attributes = $attributes;
17
19
  $this->attrs = $attrs;
18
20
  }
19
21
 
20
- public function getSubNodeNames(): array {
22
+ public function getSubNodeNames() : array {
21
23
  return ['attrs'];
22
24
  }
23
25
 
24
- public function getType(): string {
26
+ public function getType() : string {
25
27
  return 'AttributeGroup';
26
28
  }
27
29
  }
@@ -9,5 +9,6 @@ use PhpParser\NodeAbstract;
9
9
  *
10
10
  * It does not provide any shared behavior and exists only for type-checking purposes.
11
11
  */
12
- abstract class ComplexType extends NodeAbstract {
12
+ abstract class ComplexType extends NodeAbstract
13
+ {
13
14
  }
@@ -4,21 +4,22 @@ namespace PhpParser\Node;
4
4
 
5
5
  use PhpParser\NodeAbstract;
6
6
 
7
- class Const_ extends NodeAbstract {
7
+ class Const_ extends NodeAbstract
8
+ {
8
9
  /** @var Identifier Name */
9
- public Identifier $name;
10
+ public $name;
10
11
  /** @var Expr Value */
11
- public Expr $value;
12
+ public $value;
12
13
 
13
14
  /** @var Name|null Namespaced name (if using NameResolver) */
14
- public ?Name $namespacedName;
15
+ public $namespacedName;
15
16
 
16
17
  /**
17
18
  * Constructs a const node for use in class const and const statements.
18
19
  *
19
- * @param string|Identifier $name Name
20
- * @param Expr $value Value
21
- * @param array<string, mixed> $attributes Additional attributes
20
+ * @param string|Identifier $name Name
21
+ * @param Expr $value Value
22
+ * @param array $attributes Additional attributes
22
23
  */
23
24
  public function __construct($name, Expr $value, array $attributes = []) {
24
25
  $this->attributes = $attributes;
@@ -26,11 +27,11 @@ class Const_ extends NodeAbstract {
26
27
  $this->value = $value;
27
28
  }
28
29
 
29
- public function getSubNodeNames(): array {
30
+ public function getSubNodeNames() : array {
30
31
  return ['name', 'value'];
31
32
  }
32
33
 
33
- public function getType(): string {
34
+ public function getType() : string {
34
35
  return 'Const';
35
36
  }
36
37
  }
@@ -4,30 +4,31 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class ArrayDimFetch extends Expr {
7
+ class ArrayDimFetch extends Expr
8
+ {
8
9
  /** @var Expr Variable */
9
- public Expr $var;
10
+ public $var;
10
11
  /** @var null|Expr Array index / dim */
11
- public ?Expr $dim;
12
+ public $dim;
12
13
 
13
14
  /**
14
15
  * Constructs an array index fetch node.
15
16
  *
16
- * @param Expr $var Variable
17
- * @param null|Expr $dim Array index / dim
18
- * @param array<string, mixed> $attributes Additional attributes
17
+ * @param Expr $var Variable
18
+ * @param null|Expr $dim Array index / dim
19
+ * @param array $attributes Additional attributes
19
20
  */
20
- public function __construct(Expr $var, ?Expr $dim = null, array $attributes = []) {
21
+ public function __construct(Expr $var, Expr $dim = null, array $attributes = []) {
21
22
  $this->attributes = $attributes;
22
23
  $this->var = $var;
23
24
  $this->dim = $dim;
24
25
  }
25
26
 
26
- public function getSubNodeNames(): array {
27
+ public function getSubNodeNames() : array {
27
28
  return ['var', 'dim'];
28
29
  }
29
-
30
- public function getType(): string {
30
+
31
+ public function getType() : string {
31
32
  return 'Expr_ArrayDimFetch';
32
33
  }
33
34
  }
@@ -1,3 +1,41 @@
1
1
  <?php declare(strict_types=1);
2
2
 
3
- require __DIR__ . '/../ArrayItem.php';
3
+ namespace PhpParser\Node\Expr;
4
+
5
+ use PhpParser\Node\Expr;
6
+
7
+ class ArrayItem extends Expr
8
+ {
9
+ /** @var null|Expr Key */
10
+ public $key;
11
+ /** @var Expr Value */
12
+ public $value;
13
+ /** @var bool Whether to assign by reference */
14
+ public $byRef;
15
+ /** @var bool Whether to unpack the argument */
16
+ public $unpack;
17
+
18
+ /**
19
+ * Constructs an array item node.
20
+ *
21
+ * @param Expr $value Value
22
+ * @param null|Expr $key Key
23
+ * @param bool $byRef Whether to assign by reference
24
+ * @param array $attributes Additional attributes
25
+ */
26
+ public function __construct(Expr $value, Expr $key = null, bool $byRef = false, array $attributes = [], bool $unpack = false) {
27
+ $this->attributes = $attributes;
28
+ $this->key = $key;
29
+ $this->value = $value;
30
+ $this->byRef = $byRef;
31
+ $this->unpack = $unpack;
32
+ }
33
+
34
+ public function getSubNodeNames() : array {
35
+ return ['key', 'value', 'byRef', 'unpack'];
36
+ }
37
+
38
+ public function getType() : string {
39
+ return 'Expr_ArrayItem';
40
+ }
41
+ }
@@ -2,33 +2,33 @@
2
2
 
3
3
  namespace PhpParser\Node\Expr;
4
4
 
5
- use PhpParser\Node\ArrayItem;
6
5
  use PhpParser\Node\Expr;
7
6
 
8
- class Array_ extends Expr {
7
+ class Array_ extends Expr
8
+ {
9
9
  // For use in "kind" attribute
10
- public const KIND_LONG = 1; // array() syntax
11
- public const KIND_SHORT = 2; // [] syntax
10
+ const KIND_LONG = 1; // array() syntax
11
+ const KIND_SHORT = 2; // [] syntax
12
12
 
13
- /** @var ArrayItem[] Items */
14
- public array $items;
13
+ /** @var (ArrayItem|null)[] Items */
14
+ public $items;
15
15
 
16
16
  /**
17
17
  * Constructs an array node.
18
18
  *
19
- * @param ArrayItem[] $items Items of the array
20
- * @param array<string, mixed> $attributes Additional attributes
19
+ * @param (ArrayItem|null)[] $items Items of the array
20
+ * @param array $attributes Additional attributes
21
21
  */
22
22
  public function __construct(array $items = [], array $attributes = []) {
23
23
  $this->attributes = $attributes;
24
24
  $this->items = $items;
25
25
  }
26
26
 
27
- public function getSubNodeNames(): array {
27
+ public function getSubNodeNames() : array {
28
28
  return ['items'];
29
29
  }
30
-
31
- public function getType(): string {
30
+
31
+ public function getType() : string {
32
32
  return 'Expr_Array';
33
33
  }
34
34
  }
@@ -6,60 +6,55 @@ use PhpParser\Node;
6
6
  use PhpParser\Node\Expr;
7
7
  use PhpParser\Node\FunctionLike;
8
8
 
9
- class ArrowFunction extends Expr implements FunctionLike {
10
- /** @var bool Whether the closure is static */
11
- public bool $static;
9
+ class ArrowFunction extends Expr implements FunctionLike
10
+ {
11
+ /** @var bool */
12
+ public $static;
12
13
 
13
- /** @var bool Whether to return by reference */
14
- public bool $byRef;
14
+ /** @var bool */
15
+ public $byRef;
15
16
 
16
17
  /** @var Node\Param[] */
17
- public array $params = [];
18
+ public $params = [];
18
19
 
19
20
  /** @var null|Node\Identifier|Node\Name|Node\ComplexType */
20
- public ?Node $returnType;
21
+ public $returnType;
21
22
 
22
- /** @var Expr Expression body */
23
- public Expr $expr;
23
+ /** @var Expr */
24
+ public $expr;
24
25
  /** @var Node\AttributeGroup[] */
25
- public array $attrGroups;
26
+ public $attrGroups;
26
27
 
27
28
  /**
28
- * @param array{
29
- * expr: Expr,
30
- * static?: bool,
31
- * byRef?: bool,
32
- * params?: Node\Param[],
33
- * returnType?: null|Node\Identifier|Node\Name|Node\ComplexType,
34
- * attrGroups?: Node\AttributeGroup[]
35
- * } $subNodes Array of the following subnodes:
36
- * 'expr' : Expression body
37
- * 'static' => false : Whether the closure is static
38
- * 'byRef' => false : Whether to return by reference
39
- * 'params' => array() : Parameters
40
- * 'returnType' => null : Return type
41
- * 'attrGroups' => array() : PHP attribute groups
42
- * @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
+ * 'returnType' => null : Return type
34
+ * 'expr' => Expr : Expression body
35
+ * 'attrGroups' => array() : PHP attribute groups
36
+ * @param array $attributes Additional attributes
43
37
  */
44
- public function __construct(array $subNodes, array $attributes = []) {
38
+ public function __construct(array $subNodes = [], array $attributes = []) {
45
39
  $this->attributes = $attributes;
46
40
  $this->static = $subNodes['static'] ?? false;
47
41
  $this->byRef = $subNodes['byRef'] ?? false;
48
42
  $this->params = $subNodes['params'] ?? [];
49
- $this->returnType = $subNodes['returnType'] ?? null;
43
+ $returnType = $subNodes['returnType'] ?? null;
44
+ $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType;
50
45
  $this->expr = $subNodes['expr'];
51
46
  $this->attrGroups = $subNodes['attrGroups'] ?? [];
52
47
  }
53
48
 
54
- public function getSubNodeNames(): array {
49
+ public function getSubNodeNames() : array {
55
50
  return ['attrGroups', 'static', 'byRef', 'params', 'returnType', 'expr'];
56
51
  }
57
52
 
58
- public function returnsByRef(): bool {
53
+ public function returnsByRef() : bool {
59
54
  return $this->byRef;
60
55
  }
61
56
 
62
- public function getParams(): array {
57
+ public function getParams() : array {
63
58
  return $this->params;
64
59
  }
65
60
 
@@ -67,18 +62,18 @@ class ArrowFunction extends Expr implements FunctionLike {
67
62
  return $this->returnType;
68
63
  }
69
64
 
70
- public function getAttrGroups(): array {
65
+ public function getAttrGroups() : array {
71
66
  return $this->attrGroups;
72
67
  }
73
68
 
74
69
  /**
75
70
  * @return Node\Stmt\Return_[]
76
71
  */
77
- public function getStmts(): array {
72
+ public function getStmts() : array {
78
73
  return [new Node\Stmt\Return_($this->expr)];
79
74
  }
80
75
 
81
- public function getType(): string {
76
+ public function getType() : string {
82
77
  return 'Expr_ArrowFunction';
83
78
  }
84
79
  }
@@ -4,18 +4,19 @@ namespace PhpParser\Node\Expr;
4
4
 
5
5
  use PhpParser\Node\Expr;
6
6
 
7
- class Assign extends Expr {
7
+ class Assign extends Expr
8
+ {
8
9
  /** @var Expr Variable */
9
- public Expr $var;
10
+ public $var;
10
11
  /** @var Expr Expression */
11
- public Expr $expr;
12
+ public $expr;
12
13
 
13
14
  /**
14
15
  * Constructs an assignment node.
15
16
  *
16
- * @param Expr $var Variable
17
- * @param Expr $expr Expression
18
- * @param array<string, mixed> $attributes Additional attributes
17
+ * @param Expr $var Variable
18
+ * @param Expr $expr Expression
19
+ * @param array $attributes Additional attributes
19
20
  */
20
21
  public function __construct(Expr $var, Expr $expr, array $attributes = []) {
21
22
  $this->attributes = $attributes;
@@ -23,11 +24,11 @@ class Assign extends Expr {
23
24
  $this->expr = $expr;
24
25
  }
25
26
 
26
- public function getSubNodeNames(): array {
27
+ public function getSubNodeNames() : array {
27
28
  return ['var', 'expr'];
28
29
  }
29
-
30
- public function getType(): string {
30
+
31
+ public function getType() : string {
31
32
  return 'Expr_Assign';
32
33
  }
33
34
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\AssignOp;
4
4
 
5
5
  use PhpParser\Node\Expr\AssignOp;
6
6
 
7
- class BitwiseAnd extends AssignOp {
8
- public function getType(): string {
7
+ class BitwiseAnd extends AssignOp
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_AssignOp_BitwiseAnd';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\AssignOp;
4
4
 
5
5
  use PhpParser\Node\Expr\AssignOp;
6
6
 
7
- class BitwiseOr extends AssignOp {
8
- public function getType(): string {
7
+ class BitwiseOr extends AssignOp
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_AssignOp_BitwiseOr';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\AssignOp;
4
4
 
5
5
  use PhpParser\Node\Expr\AssignOp;
6
6
 
7
- class BitwiseXor extends AssignOp {
8
- public function getType(): string {
7
+ class BitwiseXor extends AssignOp
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_AssignOp_BitwiseXor';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\AssignOp;
4
4
 
5
5
  use PhpParser\Node\Expr\AssignOp;
6
6
 
7
- class Coalesce extends AssignOp {
8
- public function getType(): string {
7
+ class Coalesce extends AssignOp
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_AssignOp_Coalesce';
10
11
  }
11
12
  }
@@ -4,8 +4,9 @@ namespace PhpParser\Node\Expr\AssignOp;
4
4
 
5
5
  use PhpParser\Node\Expr\AssignOp;
6
6
 
7
- class Concat extends AssignOp {
8
- public function getType(): string {
7
+ class Concat extends AssignOp
8
+ {
9
+ public function getType() : string {
9
10
  return 'Expr_AssignOp_Concat';
10
11
  }
11
12
  }