@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
@@ -1,12 +1,11 @@
1
- <?php declare(strict_types=1);
1
+ <?php
2
2
 
3
3
  namespace PhpParser;
4
4
 
5
+ use function array_merge;
5
6
  use PhpParser\Node\Expr;
6
7
  use PhpParser\Node\Scalar;
7
8
 
8
- use function array_merge;
9
-
10
9
  /**
11
10
  * Evaluates constant expressions.
12
11
  *
@@ -26,8 +25,8 @@ use function array_merge;
26
25
  * point to string conversions are affected by the precision ini setting. Secondly, they are also
27
26
  * affected by the LC_NUMERIC locale.
28
27
  */
29
- class ConstExprEvaluator {
30
- /** @var callable|null */
28
+ class ConstExprEvaluator
29
+ {
31
30
  private $fallbackEvaluator;
32
31
 
33
32
  /**
@@ -38,8 +37,8 @@ class ConstExprEvaluator {
38
37
  *
39
38
  * @param callable|null $fallbackEvaluator To call if subexpression cannot be evaluated
40
39
  */
41
- public function __construct(?callable $fallbackEvaluator = null) {
42
- $this->fallbackEvaluator = $fallbackEvaluator ?? function (Expr $expr) {
40
+ public function __construct(callable $fallbackEvaluator = null) {
41
+ $this->fallbackEvaluator = $fallbackEvaluator ?? function(Expr $expr) {
43
42
  throw new ConstExprEvaluationException(
44
43
  "Expression of type {$expr->getType()} cannot be evaluated"
45
44
  );
@@ -64,7 +63,7 @@ class ConstExprEvaluator {
64
63
  * @throws ConstExprEvaluationException if the expression cannot be evaluated or an error occurred
65
64
  */
66
65
  public function evaluateSilently(Expr $expr) {
67
- set_error_handler(function ($num, $str, $file, $line) {
66
+ set_error_handler(function($num, $str, $file, $line) {
68
67
  throw new \ErrorException($str, 0, $num, $file, $line);
69
68
  });
70
69
 
@@ -102,10 +101,9 @@ class ConstExprEvaluator {
102
101
  return $this->evaluate($expr);
103
102
  }
104
103
 
105
- /** @return mixed */
106
104
  private function evaluate(Expr $expr) {
107
- if ($expr instanceof Scalar\Int_
108
- || $expr instanceof Scalar\Float_
105
+ if ($expr instanceof Scalar\LNumber
106
+ || $expr instanceof Scalar\DNumber
109
107
  || $expr instanceof Scalar\String_
110
108
  ) {
111
109
  return $expr->value;
@@ -148,7 +146,7 @@ class ConstExprEvaluator {
148
146
  return ($this->fallbackEvaluator)($expr);
149
147
  }
150
148
 
151
- private function evaluateArray(Expr\Array_ $expr): array {
149
+ private function evaluateArray(Expr\Array_ $expr) {
152
150
  $array = [];
153
151
  foreach ($expr->items as $item) {
154
152
  if (null !== $item->key) {
@@ -162,7 +160,6 @@ class ConstExprEvaluator {
162
160
  return $array;
163
161
  }
164
162
 
165
- /** @return mixed */
166
163
  private function evaluateTernary(Expr\Ternary $expr) {
167
164
  if (null === $expr->if) {
168
165
  return $this->evaluate($expr->cond) ?: $this->evaluate($expr->else);
@@ -173,7 +170,6 @@ class ConstExprEvaluator {
173
170
  : $this->evaluate($expr->else);
174
171
  }
175
172
 
176
- /** @return mixed */
177
173
  private function evaluateBinaryOp(Expr\BinaryOp $expr) {
178
174
  if ($expr instanceof Expr\BinaryOp\Coalesce
179
175
  && $expr->left instanceof Expr\ArrayDimFetch
@@ -220,7 +216,6 @@ class ConstExprEvaluator {
220
216
  throw new \Exception('Should not happen');
221
217
  }
222
218
 
223
- /** @return mixed */
224
219
  private function evaluateConstFetch(Expr\ConstFetch $expr) {
225
220
  $name = $expr->name->toLowerString();
226
221
  switch ($name) {
@@ -2,20 +2,25 @@
2
2
 
3
3
  namespace PhpParser;
4
4
 
5
- class Error extends \RuntimeException {
6
- protected string $rawMessage;
7
- /** @var array<string, mixed> */
8
- protected array $attributes;
5
+ class Error extends \RuntimeException
6
+ {
7
+ protected $rawMessage;
8
+ protected $attributes;
9
9
 
10
10
  /**
11
11
  * Creates an Exception signifying a parse error.
12
12
  *
13
- * @param string $message Error message
14
- * @param array<string, mixed> $attributes Attributes of node/token where error occurred
13
+ * @param string $message Error message
14
+ * @param array|int $attributes Attributes of node/token where error occurred
15
+ * (or start line of error -- deprecated)
15
16
  */
16
- public function __construct(string $message, array $attributes = []) {
17
+ public function __construct(string $message, $attributes = []) {
17
18
  $this->rawMessage = $message;
18
- $this->attributes = $attributes;
19
+ if (is_array($attributes)) {
20
+ $this->attributes = $attributes;
21
+ } else {
22
+ $this->attributes = ['startLine' => $attributes];
23
+ }
19
24
  $this->updateMessage();
20
25
  }
21
26
 
@@ -24,7 +29,7 @@ class Error extends \RuntimeException {
24
29
  *
25
30
  * @return string Error message
26
31
  */
27
- public function getRawMessage(): string {
32
+ public function getRawMessage() : string {
28
33
  return $this->rawMessage;
29
34
  }
30
35
 
@@ -33,7 +38,7 @@ class Error extends \RuntimeException {
33
38
  *
34
39
  * @return int Error start line
35
40
  */
36
- public function getStartLine(): int {
41
+ public function getStartLine() : int {
37
42
  return $this->attributes['startLine'] ?? -1;
38
43
  }
39
44
 
@@ -42,25 +47,25 @@ class Error extends \RuntimeException {
42
47
  *
43
48
  * @return int Error end line
44
49
  */
45
- public function getEndLine(): int {
50
+ public function getEndLine() : int {
46
51
  return $this->attributes['endLine'] ?? -1;
47
52
  }
48
53
 
49
54
  /**
50
55
  * Gets the attributes of the node/token the error occurred at.
51
56
  *
52
- * @return array<string, mixed>
57
+ * @return array
53
58
  */
54
- public function getAttributes(): array {
59
+ public function getAttributes() : array {
55
60
  return $this->attributes;
56
61
  }
57
62
 
58
63
  /**
59
64
  * Sets the attributes of the node/token the error occurred at.
60
65
  *
61
- * @param array<string, mixed> $attributes
66
+ * @param array $attributes
62
67
  */
63
- public function setAttributes(array $attributes): void {
68
+ public function setAttributes(array $attributes) {
64
69
  $this->attributes = $attributes;
65
70
  $this->updateMessage();
66
71
  }
@@ -70,7 +75,7 @@ class Error extends \RuntimeException {
70
75
  *
71
76
  * @param string $message Error message
72
77
  */
73
- public function setRawMessage(string $message): void {
78
+ public function setRawMessage(string $message) {
74
79
  $this->rawMessage = $message;
75
80
  $this->updateMessage();
76
81
  }
@@ -80,7 +85,7 @@ class Error extends \RuntimeException {
80
85
  *
81
86
  * @param int $line Error start line
82
87
  */
83
- public function setStartLine(int $line): void {
88
+ public function setStartLine(int $line) {
84
89
  $this->attributes['startLine'] = $line;
85
90
  $this->updateMessage();
86
91
  }
@@ -89,8 +94,10 @@ class Error extends \RuntimeException {
89
94
  * Returns whether the error has start and end column information.
90
95
  *
91
96
  * For column information enable the startFilePos and endFilePos in the lexer options.
97
+ *
98
+ * @return bool
92
99
  */
93
- public function hasColumnInfo(): bool {
100
+ public function hasColumnInfo() : bool {
94
101
  return isset($this->attributes['startFilePos'], $this->attributes['endFilePos']);
95
102
  }
96
103
 
@@ -98,8 +105,9 @@ class Error extends \RuntimeException {
98
105
  * Gets the start column (1-based) into the line where the error started.
99
106
  *
100
107
  * @param string $code Source code of the file
108
+ * @return int
101
109
  */
102
- public function getStartColumn(string $code): int {
110
+ public function getStartColumn(string $code) : int {
103
111
  if (!$this->hasColumnInfo()) {
104
112
  throw new \RuntimeException('Error does not have column information');
105
113
  }
@@ -111,8 +119,9 @@ class Error extends \RuntimeException {
111
119
  * Gets the end column (1-based) into the line where the error ended.
112
120
  *
113
121
  * @param string $code Source code of the file
122
+ * @return int
114
123
  */
115
- public function getEndColumn(string $code): int {
124
+ public function getEndColumn(string $code) : int {
116
125
  if (!$this->hasColumnInfo()) {
117
126
  throw new \RuntimeException('Error does not have column information');
118
127
  }
@@ -127,7 +136,7 @@ class Error extends \RuntimeException {
127
136
  *
128
137
  * @return string Formatted message
129
138
  */
130
- public function getMessageWithColumnInfo(string $code): string {
139
+ public function getMessageWithColumnInfo(string $code) : string {
131
140
  return sprintf(
132
141
  '%s from %d:%d to %d:%d', $this->getRawMessage(),
133
142
  $this->getStartLine(), $this->getStartColumn($code),
@@ -139,11 +148,11 @@ class Error extends \RuntimeException {
139
148
  * Converts a file offset into a column.
140
149
  *
141
150
  * @param string $code Source code that $pos indexes into
142
- * @param int $pos 0-based position in $code
151
+ * @param int $pos 0-based position in $code
143
152
  *
144
153
  * @return int 1-based column (relative to start of line)
145
154
  */
146
- private function toColumn(string $code, int $pos): int {
155
+ private function toColumn(string $code, int $pos) : int {
147
156
  if ($pos > strlen($code)) {
148
157
  throw new \RuntimeException('Invalid position information');
149
158
  }
@@ -159,7 +168,7 @@ class Error extends \RuntimeException {
159
168
  /**
160
169
  * Updates the exception message after a change to rawMessage or rawLine.
161
170
  */
162
- protected function updateMessage(): void {
171
+ protected function updateMessage() {
163
172
  $this->message = $this->rawMessage;
164
173
 
165
174
  if (-1 === $this->getStartLine()) {
@@ -10,11 +10,12 @@ use PhpParser\ErrorHandler;
10
10
  *
11
11
  * This allows graceful handling of errors.
12
12
  */
13
- class Collecting implements ErrorHandler {
13
+ class Collecting implements ErrorHandler
14
+ {
14
15
  /** @var Error[] Collected errors */
15
- private array $errors = [];
16
+ private $errors = [];
16
17
 
17
- public function handleError(Error $error): void {
18
+ public function handleError(Error $error) {
18
19
  $this->errors[] = $error;
19
20
  }
20
21
 
@@ -23,21 +24,23 @@ class Collecting implements ErrorHandler {
23
24
  *
24
25
  * @return Error[]
25
26
  */
26
- public function getErrors(): array {
27
+ public function getErrors() : array {
27
28
  return $this->errors;
28
29
  }
29
30
 
30
31
  /**
31
32
  * Check whether there are any errors.
33
+ *
34
+ * @return bool
32
35
  */
33
- public function hasErrors(): bool {
36
+ public function hasErrors() : bool {
34
37
  return !empty($this->errors);
35
38
  }
36
39
 
37
40
  /**
38
41
  * Reset/clear collected errors.
39
42
  */
40
- public function clearErrors(): void {
43
+ public function clearErrors() {
41
44
  $this->errors = [];
42
45
  }
43
46
  }
@@ -10,8 +10,9 @@ use PhpParser\ErrorHandler;
10
10
  *
11
11
  * This is the default strategy used by all components.
12
12
  */
13
- class Throwing implements ErrorHandler {
14
- public function handleError(Error $error): void {
13
+ class Throwing implements ErrorHandler
14
+ {
15
+ public function handleError(Error $error) {
15
16
  throw $error;
16
17
  }
17
18
  }
@@ -2,11 +2,12 @@
2
2
 
3
3
  namespace PhpParser;
4
4
 
5
- interface ErrorHandler {
5
+ interface ErrorHandler
6
+ {
6
7
  /**
7
8
  * Handle an error generated during lexing, parsing or some other operation.
8
9
  *
9
10
  * @param Error $error The error that needs to be handled
10
11
  */
11
- public function handleError(Error $error): void;
12
+ public function handleError(Error $error);
12
13
  }
@@ -5,24 +5,20 @@ namespace PhpParser\Internal;
5
5
  /**
6
6
  * @internal
7
7
  */
8
- class DiffElem {
9
- public const TYPE_KEEP = 0;
10
- public const TYPE_REMOVE = 1;
11
- public const TYPE_ADD = 2;
12
- public const TYPE_REPLACE = 3;
8
+ class DiffElem
9
+ {
10
+ const TYPE_KEEP = 0;
11
+ const TYPE_REMOVE = 1;
12
+ const TYPE_ADD = 2;
13
+ const TYPE_REPLACE = 3;
13
14
 
14
15
  /** @var int One of the TYPE_* constants */
15
- public int $type;
16
+ public $type;
16
17
  /** @var mixed Is null for add operations */
17
18
  public $old;
18
19
  /** @var mixed Is null for remove operations */
19
20
  public $new;
20
21
 
21
- /**
22
- * @param int $type One of the TYPE_* constants
23
- * @param mixed $old Is null for add operations
24
- * @param mixed $new Is null for remove operations
25
- */
26
22
  public function __construct(int $type, $old, $new) {
27
23
  $this->type = $type;
28
24
  $this->old = $old;
@@ -8,17 +8,16 @@ namespace PhpParser\Internal;
8
8
  * Myers, Eugene W. "An O (ND) difference algorithm and its variations."
9
9
  * Algorithmica 1.1 (1986): 251-266.
10
10
  *
11
- * @template T
12
11
  * @internal
13
12
  */
14
- class Differ {
15
- /** @var callable(T, T): bool */
13
+ class Differ
14
+ {
16
15
  private $isEqual;
17
16
 
18
17
  /**
19
18
  * Create differ over the given equality relation.
20
19
  *
21
- * @param callable(T, T): bool $isEqual Equality relation
20
+ * @param callable $isEqual Equality relation with signature function($a, $b) : bool
22
21
  */
23
22
  public function __construct(callable $isEqual) {
24
23
  $this->isEqual = $isEqual;
@@ -27,14 +26,12 @@ class Differ {
27
26
  /**
28
27
  * Calculate diff (edit script) from $old to $new.
29
28
  *
30
- * @param T[] $old Original array
31
- * @param T[] $new New array
29
+ * @param array $old Original array
30
+ * @param array $new New array
32
31
  *
33
32
  * @return DiffElem[] Diff (edit script)
34
33
  */
35
- public function diff(array $old, array $new): array {
36
- $old = \array_values($old);
37
- $new = \array_values($new);
34
+ public function diff(array $old, array $new) {
38
35
  list($trace, $x, $y) = $this->calculateTrace($old, $new);
39
36
  return $this->extractDiff($trace, $x, $y, $old, $new);
40
37
  }
@@ -45,37 +42,32 @@ class Differ {
45
42
  * If a sequence of remove operations is followed by the same number of add operations, these
46
43
  * will be coalesced into replace operations.
47
44
  *
48
- * @param T[] $old Original array
49
- * @param T[] $new New array
45
+ * @param array $old Original array
46
+ * @param array $new New array
50
47
  *
51
48
  * @return DiffElem[] Diff (edit script), including replace operations
52
49
  */
53
- public function diffWithReplacements(array $old, array $new): array {
50
+ public function diffWithReplacements(array $old, array $new) {
54
51
  return $this->coalesceReplacements($this->diff($old, $new));
55
52
  }
56
53
 
57
- /**
58
- * @param T[] $old
59
- * @param T[] $new
60
- * @return array{array<int, array<int, int>>, int, int}
61
- */
62
- private function calculateTrace(array $old, array $new): array {
63
- $n = \count($old);
64
- $m = \count($new);
54
+ private function calculateTrace(array $a, array $b) {
55
+ $n = \count($a);
56
+ $m = \count($b);
65
57
  $max = $n + $m;
66
58
  $v = [1 => 0];
67
59
  $trace = [];
68
60
  for ($d = 0; $d <= $max; $d++) {
69
61
  $trace[] = $v;
70
62
  for ($k = -$d; $k <= $d; $k += 2) {
71
- if ($k === -$d || ($k !== $d && $v[$k - 1] < $v[$k + 1])) {
72
- $x = $v[$k + 1];
63
+ if ($k === -$d || ($k !== $d && $v[$k-1] < $v[$k+1])) {
64
+ $x = $v[$k+1];
73
65
  } else {
74
- $x = $v[$k - 1] + 1;
66
+ $x = $v[$k-1] + 1;
75
67
  }
76
68
 
77
69
  $y = $x - $k;
78
- while ($x < $n && $y < $m && ($this->isEqual)($old[$x], $new[$y])) {
70
+ while ($x < $n && $y < $m && ($this->isEqual)($a[$x], $b[$y])) {
79
71
  $x++;
80
72
  $y++;
81
73
  }
@@ -89,19 +81,13 @@ class Differ {
89
81
  throw new \Exception('Should not happen');
90
82
  }
91
83
 
92
- /**
93
- * @param array<int, array<int, int>> $trace
94
- * @param T[] $old
95
- * @param T[] $new
96
- * @return DiffElem[]
97
- */
98
- private function extractDiff(array $trace, int $x, int $y, array $old, array $new): array {
84
+ private function extractDiff(array $trace, int $x, int $y, array $a, array $b) {
99
85
  $result = [];
100
86
  for ($d = \count($trace) - 1; $d >= 0; $d--) {
101
87
  $v = $trace[$d];
102
88
  $k = $x - $y;
103
89
 
104
- if ($k === -$d || ($k !== $d && $v[$k - 1] < $v[$k + 1])) {
90
+ if ($k === -$d || ($k !== $d && $v[$k-1] < $v[$k+1])) {
105
91
  $prevK = $k + 1;
106
92
  } else {
107
93
  $prevK = $k - 1;
@@ -111,7 +97,7 @@ class Differ {
111
97
  $prevY = $prevX - $prevK;
112
98
 
113
99
  while ($x > $prevX && $y > $prevY) {
114
- $result[] = new DiffElem(DiffElem::TYPE_KEEP, $old[$x - 1], $new[$y - 1]);
100
+ $result[] = new DiffElem(DiffElem::TYPE_KEEP, $a[$x-1], $b[$y-1]);
115
101
  $x--;
116
102
  $y--;
117
103
  }
@@ -121,12 +107,12 @@ class Differ {
121
107
  }
122
108
 
123
109
  while ($x > $prevX) {
124
- $result[] = new DiffElem(DiffElem::TYPE_REMOVE, $old[$x - 1], null);
110
+ $result[] = new DiffElem(DiffElem::TYPE_REMOVE, $a[$x-1], null);
125
111
  $x--;
126
112
  }
127
113
 
128
114
  while ($y > $prevY) {
129
- $result[] = new DiffElem(DiffElem::TYPE_ADD, null, $new[$y - 1]);
115
+ $result[] = new DiffElem(DiffElem::TYPE_ADD, null, $b[$y-1]);
130
116
  $y--;
131
117
  }
132
118
  }
@@ -139,7 +125,7 @@ class Differ {
139
125
  * @param DiffElem[] $diff
140
126
  * @return DiffElem[]
141
127
  */
142
- private function coalesceReplacements(array $diff): array {
128
+ private function coalesceReplacements(array $diff) {
143
129
  $newDiff = [];
144
130
  $c = \count($diff);
145
131
  for ($i = 0; $i < $c; $i++) {
@@ -15,30 +15,23 @@ use PhpParser\Node\Expr;
15
15
  *
16
16
  * @internal
17
17
  */
18
- class PrintableNewAnonClassNode extends Expr {
18
+ class PrintableNewAnonClassNode extends Expr
19
+ {
19
20
  /** @var Node\AttributeGroup[] PHP attribute groups */
20
- public array $attrGroups;
21
+ public $attrGroups;
21
22
  /** @var int Modifiers */
22
- public int $flags;
23
- /** @var (Node\Arg|Node\VariadicPlaceholder)[] Arguments */
24
- public array $args;
23
+ public $flags;
24
+ /** @var Node\Arg[] Arguments */
25
+ public $args;
25
26
  /** @var null|Node\Name Name of extended class */
26
- public ?Node\Name $extends;
27
+ public $extends;
27
28
  /** @var Node\Name[] Names of implemented interfaces */
28
- public array $implements;
29
+ public $implements;
29
30
  /** @var Node\Stmt[] Statements */
30
- public array $stmts;
31
+ public $stmts;
31
32
 
32
- /**
33
- * @param Node\AttributeGroup[] $attrGroups PHP attribute groups
34
- * @param (Node\Arg|Node\VariadicPlaceholder)[] $args Arguments
35
- * @param Node\Name|null $extends Name of extended class
36
- * @param Node\Name[] $implements Names of implemented interfaces
37
- * @param Node\Stmt[] $stmts Statements
38
- * @param array<string, mixed> $attributes Attributes
39
- */
40
33
  public function __construct(
41
- array $attrGroups, int $flags, array $args, ?Node\Name $extends, array $implements,
34
+ array $attrGroups, int $flags, array $args, Node\Name $extends = null, array $implements,
42
35
  array $stmts, array $attributes
43
36
  ) {
44
37
  parent::__construct($attributes);
@@ -50,7 +43,7 @@ class PrintableNewAnonClassNode extends Expr {
50
43
  $this->stmts = $stmts;
51
44
  }
52
45
 
53
- public static function fromNewNode(Expr\New_ $newNode): self {
46
+ public static function fromNewNode(Expr\New_ $newNode) {
54
47
  $class = $newNode->class;
55
48
  assert($class instanceof Node\Stmt\Class_);
56
49
  // We don't assert that $class->name is null here, to allow consumers to assign unique names
@@ -61,11 +54,11 @@ class PrintableNewAnonClassNode extends Expr {
61
54
  );
62
55
  }
63
56
 
64
- public function getType(): string {
57
+ public function getType() : string {
65
58
  return 'Expr_PrintableNewAnonClass';
66
59
  }
67
60
 
68
- public function getSubNodeNames(): array {
61
+ public function getSubNodeNames() : array {
69
62
  return ['attrGroups', 'flags', 'args', 'extends', 'implements', 'stmts'];
70
63
  }
71
64
  }