@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,31 +0,0 @@
1
- <?php
2
-
3
- $finder = PhpCsFixer\Finder::create()
4
- ->exclude('PhpParser/Parser')
5
- ->in(__DIR__ . '/lib')
6
- ->in(__DIR__ . '/test')
7
- ->in(__DIR__ . '/grammar')
8
- ;
9
-
10
- $config = new PhpCsFixer\Config();
11
- return $config->setRiskyAllowed(true)
12
- ->setRules([
13
- '@PSR12' => true,
14
- // We use PSR12 with consistent brace placement.
15
- 'curly_braces_position' => [
16
- 'functions_opening_brace' => 'same_line',
17
- 'classes_opening_brace' => 'same_line',
18
- ],
19
- // declare(strict_types=1) on the same line as <?php.
20
- 'blank_line_after_opening_tag' => false,
21
- 'declare_strict_types' => true,
22
- // Keep argument formatting for now.
23
- 'method_argument_space' => ['on_multiline' => 'ignore'],
24
- 'phpdoc_align' => ['align' => 'left'],
25
- 'phpdoc_trim' => true,
26
- 'no_empty_phpdoc' => true,
27
- 'no_superfluous_phpdoc_tags' => ['allow_mixed' => true],
28
- 'no_extra_blank_lines' => true,
29
- ])
30
- ->setFinder($finder)
31
- ;
@@ -1,10 +0,0 @@
1
- .PHONY: phpstan php-cs-fixer
2
-
3
- tools/vendor:
4
- composer install -d tools
5
-
6
- phpstan: tools/vendor
7
- tools/vendor/bin/phpstan
8
-
9
- php-cs-fixer: tools/vendor
10
- tools/vendor/bin/php-cs-fixer fix
@@ -1,237 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Internal;
4
-
5
- if (\PHP_VERSION_ID >= 80000) {
6
- class TokenPolyfill extends \PhpToken {
7
- }
8
- return;
9
- }
10
-
11
- /**
12
- * This is a polyfill for the PhpToken class introduced in PHP 8.0. We do not actually polyfill
13
- * PhpToken, because composer might end up picking a different polyfill implementation, which does
14
- * not meet our requirements.
15
- *
16
- * @internal
17
- */
18
- class TokenPolyfill {
19
- /** @var int The ID of the token. Either a T_* constant of a character code < 256. */
20
- public int $id;
21
- /** @var string The textual content of the token. */
22
- public string $text;
23
- /** @var int The 1-based starting line of the token (or -1 if unknown). */
24
- public int $line;
25
- /** @var int The 0-based starting position of the token (or -1 if unknown). */
26
- public int $pos;
27
-
28
- /** @var array<int, bool> Tokens ignored by the PHP parser. */
29
- private const IGNORABLE_TOKENS = [
30
- \T_WHITESPACE => true,
31
- \T_COMMENT => true,
32
- \T_DOC_COMMENT => true,
33
- \T_OPEN_TAG => true,
34
- ];
35
-
36
- /** @var array<int, bool> Tokens that may be part of a T_NAME_* identifier. */
37
- private static array $identifierTokens;
38
-
39
- /**
40
- * Create a Token with the given ID and text, as well optional line and position information.
41
- */
42
- final public function __construct(int $id, string $text, int $line = -1, int $pos = -1) {
43
- $this->id = $id;
44
- $this->text = $text;
45
- $this->line = $line;
46
- $this->pos = $pos;
47
- }
48
-
49
- /**
50
- * Get the name of the token. For single-char tokens this will be the token character.
51
- * Otherwise it will be a T_* style name, or null if the token ID is unknown.
52
- */
53
- public function getTokenName(): ?string {
54
- if ($this->id < 256) {
55
- return \chr($this->id);
56
- }
57
-
58
- $name = token_name($this->id);
59
- return $name === 'UNKNOWN' ? null : $name;
60
- }
61
-
62
- /**
63
- * Check whether the token is of the given kind. The kind may be either an integer that matches
64
- * the token ID, a string that matches the token text, or an array of integers/strings. In the
65
- * latter case, the function returns true if any of the kinds in the array match.
66
- *
67
- * @param int|string|(int|string)[] $kind
68
- */
69
- public function is($kind): bool {
70
- if (\is_int($kind)) {
71
- return $this->id === $kind;
72
- }
73
- if (\is_string($kind)) {
74
- return $this->text === $kind;
75
- }
76
- if (\is_array($kind)) {
77
- foreach ($kind as $entry) {
78
- if (\is_int($entry)) {
79
- if ($this->id === $entry) {
80
- return true;
81
- }
82
- } elseif (\is_string($entry)) {
83
- if ($this->text === $entry) {
84
- return true;
85
- }
86
- } else {
87
- throw new \TypeError(
88
- 'Argument #1 ($kind) must only have elements of type string|int, ' .
89
- gettype($entry) . ' given');
90
- }
91
- }
92
- return false;
93
- }
94
- throw new \TypeError(
95
- 'Argument #1 ($kind) must be of type string|int|array, ' .gettype($kind) . ' given');
96
- }
97
-
98
- /**
99
- * Check whether this token would be ignored by the PHP parser. Returns true for T_WHITESPACE,
100
- * T_COMMENT, T_DOC_COMMENT and T_OPEN_TAG, and false for everything else.
101
- */
102
- public function isIgnorable(): bool {
103
- return isset(self::IGNORABLE_TOKENS[$this->id]);
104
- }
105
-
106
- /**
107
- * Return the textual content of the token.
108
- */
109
- public function __toString(): string {
110
- return $this->text;
111
- }
112
-
113
- /**
114
- * Tokenize the given source code and return an array of tokens.
115
- *
116
- * This performs certain canonicalizations to match the PHP 8.0 token format:
117
- * * Bad characters are represented using T_BAD_CHARACTER rather than omitted.
118
- * * T_COMMENT does not include trailing newlines, instead the newline is part of a following
119
- * T_WHITESPACE token.
120
- * * Namespaced names are represented using T_NAME_* tokens.
121
- *
122
- * @return static[]
123
- */
124
- public static function tokenize(string $code, int $flags = 0): array {
125
- self::init();
126
-
127
- $tokens = [];
128
- $line = 1;
129
- $pos = 0;
130
- $origTokens = \token_get_all($code, $flags);
131
-
132
- $numTokens = \count($origTokens);
133
- for ($i = 0; $i < $numTokens; $i++) {
134
- $token = $origTokens[$i];
135
- if (\is_string($token)) {
136
- if (\strlen($token) === 2) {
137
- // b" and B" are tokenized as single-char tokens, even though they aren't.
138
- $tokens[] = new static(\ord('"'), $token, $line, $pos);
139
- $pos += 2;
140
- } else {
141
- $tokens[] = new static(\ord($token), $token, $line, $pos);
142
- $pos++;
143
- }
144
- } else {
145
- $id = $token[0];
146
- $text = $token[1];
147
-
148
- // Emulate PHP 8.0 comment format, which does not include trailing whitespace anymore.
149
- if ($id === \T_COMMENT && \substr($text, 0, 2) !== '/*' &&
150
- \preg_match('/(\r\n|\n|\r)$/D', $text, $matches)
151
- ) {
152
- $trailingNewline = $matches[0];
153
- $text = \substr($text, 0, -\strlen($trailingNewline));
154
- $tokens[] = new static($id, $text, $line, $pos);
155
- $pos += \strlen($text);
156
-
157
- if ($i + 1 < $numTokens && $origTokens[$i + 1][0] === \T_WHITESPACE) {
158
- // Move trailing newline into following T_WHITESPACE token, if it already exists.
159
- $origTokens[$i + 1][1] = $trailingNewline . $origTokens[$i + 1][1];
160
- $origTokens[$i + 1][2]--;
161
- } else {
162
- // Otherwise, we need to create a new T_WHITESPACE token.
163
- $tokens[] = new static(\T_WHITESPACE, $trailingNewline, $line, $pos);
164
- $line++;
165
- $pos += \strlen($trailingNewline);
166
- }
167
- continue;
168
- }
169
-
170
- // Emulate PHP 8.0 T_NAME_* tokens, by combining sequences of T_NS_SEPARATOR and
171
- // T_STRING into a single token.
172
- if (($id === \T_NS_SEPARATOR || isset(self::$identifierTokens[$id]))) {
173
- $newText = $text;
174
- $lastWasSeparator = $id === \T_NS_SEPARATOR;
175
- for ($j = $i + 1; $j < $numTokens; $j++) {
176
- if ($lastWasSeparator) {
177
- if (!isset(self::$identifierTokens[$origTokens[$j][0]])) {
178
- break;
179
- }
180
- $lastWasSeparator = false;
181
- } else {
182
- if ($origTokens[$j][0] !== \T_NS_SEPARATOR) {
183
- break;
184
- }
185
- $lastWasSeparator = true;
186
- }
187
- $newText .= $origTokens[$j][1];
188
- }
189
- if ($lastWasSeparator) {
190
- // Trailing separator is not part of the name.
191
- $j--;
192
- $newText = \substr($newText, 0, -1);
193
- }
194
- if ($j > $i + 1) {
195
- if ($id === \T_NS_SEPARATOR) {
196
- $id = \T_NAME_FULLY_QUALIFIED;
197
- } elseif ($id === \T_NAMESPACE) {
198
- $id = \T_NAME_RELATIVE;
199
- } else {
200
- $id = \T_NAME_QUALIFIED;
201
- }
202
- $tokens[] = new static($id, $newText, $line, $pos);
203
- $pos += \strlen($newText);
204
- $i = $j - 1;
205
- continue;
206
- }
207
- }
208
-
209
- $tokens[] = new static($id, $text, $line, $pos);
210
- $line += \substr_count($text, "\n");
211
- $pos += \strlen($text);
212
- }
213
- }
214
- return $tokens;
215
- }
216
-
217
- /** Initialize private static state needed by tokenize(). */
218
- private static function init(): void {
219
- if (isset(self::$identifierTokens)) {
220
- return;
221
- }
222
-
223
- // Based on semi_reserved production.
224
- self::$identifierTokens = \array_fill_keys([
225
- \T_STRING,
226
- \T_STATIC, \T_ABSTRACT, \T_FINAL, \T_PRIVATE, \T_PROTECTED, \T_PUBLIC, \T_READONLY,
227
- \T_INCLUDE, \T_INCLUDE_ONCE, \T_EVAL, \T_REQUIRE, \T_REQUIRE_ONCE, \T_LOGICAL_OR, \T_LOGICAL_XOR, \T_LOGICAL_AND,
228
- \T_INSTANCEOF, \T_NEW, \T_CLONE, \T_EXIT, \T_IF, \T_ELSEIF, \T_ELSE, \T_ENDIF, \T_ECHO, \T_DO, \T_WHILE,
229
- \T_ENDWHILE, \T_FOR, \T_ENDFOR, \T_FOREACH, \T_ENDFOREACH, \T_DECLARE, \T_ENDDECLARE, \T_AS, \T_TRY, \T_CATCH,
230
- \T_FINALLY, \T_THROW, \T_USE, \T_INSTEADOF, \T_GLOBAL, \T_VAR, \T_UNSET, \T_ISSET, \T_EMPTY, \T_CONTINUE, \T_GOTO,
231
- \T_FUNCTION, \T_CONST, \T_RETURN, \T_PRINT, \T_YIELD, \T_LIST, \T_SWITCH, \T_ENDSWITCH, \T_CASE, \T_DEFAULT,
232
- \T_BREAK, \T_ARRAY, \T_CALLABLE, \T_EXTENDS, \T_IMPLEMENTS, \T_NAMESPACE, \T_TRAIT, \T_INTERFACE, \T_CLASS,
233
- \T_CLASS_C, \T_TRAIT_C, \T_FUNC_C, \T_METHOD_C, \T_LINE, \T_FILE, \T_DIR, \T_NS_C, \T_HALT_COMPILER, \T_FN,
234
- \T_MATCH,
235
- ], true);
236
- }
237
- }
@@ -1,69 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser;
4
-
5
- /**
6
- * Modifiers used (as a bit mask) by various flags subnodes, for example on classes, functions,
7
- * properties and constants.
8
- */
9
- final class Modifiers {
10
- public const PUBLIC = 1;
11
- public const PROTECTED = 2;
12
- public const PRIVATE = 4;
13
- public const STATIC = 8;
14
- public const ABSTRACT = 16;
15
- public const FINAL = 32;
16
- public const READONLY = 64;
17
-
18
- public const VISIBILITY_MASK = 1 | 2 | 4;
19
-
20
- /**
21
- * @internal
22
- */
23
- public static function verifyClassModifier(int $a, int $b): void {
24
- if ($a & Modifiers::ABSTRACT && $b & Modifiers::ABSTRACT) {
25
- throw new Error('Multiple abstract modifiers are not allowed');
26
- }
27
-
28
- if ($a & Modifiers::FINAL && $b & Modifiers::FINAL) {
29
- throw new Error('Multiple final modifiers are not allowed');
30
- }
31
-
32
- if ($a & Modifiers::READONLY && $b & Modifiers::READONLY) {
33
- throw new Error('Multiple readonly modifiers are not allowed');
34
- }
35
-
36
- if ($a & 48 && $b & 48) {
37
- throw new Error('Cannot use the final modifier on an abstract class');
38
- }
39
- }
40
-
41
- /**
42
- * @internal
43
- */
44
- public static function verifyModifier(int $a, int $b): void {
45
- if ($a & Modifiers::VISIBILITY_MASK && $b & Modifiers::VISIBILITY_MASK) {
46
- throw new Error('Multiple access type modifiers are not allowed');
47
- }
48
-
49
- if ($a & Modifiers::ABSTRACT && $b & Modifiers::ABSTRACT) {
50
- throw new Error('Multiple abstract modifiers are not allowed');
51
- }
52
-
53
- if ($a & Modifiers::STATIC && $b & Modifiers::STATIC) {
54
- throw new Error('Multiple static modifiers are not allowed');
55
- }
56
-
57
- if ($a & Modifiers::FINAL && $b & Modifiers::FINAL) {
58
- throw new Error('Multiple final modifiers are not allowed');
59
- }
60
-
61
- if ($a & Modifiers::READONLY && $b & Modifiers::READONLY) {
62
- throw new Error('Multiple readonly modifiers are not allowed');
63
- }
64
-
65
- if ($a & 48 && $b & 48) {
66
- throw new Error('Cannot use the final modifier on an abstract class member');
67
- }
68
- }
69
- }
@@ -1,43 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Node;
4
-
5
- use PhpParser\NodeAbstract;
6
-
7
- class ArrayItem extends NodeAbstract {
8
- /** @var null|Expr Key */
9
- public ?Expr $key;
10
- /** @var Expr Value */
11
- public Expr $value;
12
- /** @var bool Whether to assign by reference */
13
- public bool $byRef;
14
- /** @var bool Whether to unpack the argument */
15
- public bool $unpack;
16
-
17
- /**
18
- * Constructs an array item node.
19
- *
20
- * @param Expr $value Value
21
- * @param null|Expr $key Key
22
- * @param bool $byRef Whether to assign by reference
23
- * @param array<string, mixed> $attributes Additional attributes
24
- */
25
- public function __construct(Expr $value, ?Expr $key = null, bool $byRef = false, array $attributes = [], bool $unpack = false) {
26
- $this->attributes = $attributes;
27
- $this->key = $key;
28
- $this->value = $value;
29
- $this->byRef = $byRef;
30
- $this->unpack = $unpack;
31
- }
32
-
33
- public function getSubNodeNames(): array {
34
- return ['key', 'value', 'byRef', 'unpack'];
35
- }
36
-
37
- public function getType(): string {
38
- return 'ArrayItem';
39
- }
40
- }
41
-
42
- // @deprecated compatibility alias
43
- class_alias(ArrayItem::class, Expr\ArrayItem::class);
@@ -1,36 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Node;
4
-
5
- use PhpParser\NodeAbstract;
6
-
7
- class ClosureUse extends NodeAbstract {
8
- /** @var Expr\Variable Variable to use */
9
- public Expr\Variable $var;
10
- /** @var bool Whether to use by reference */
11
- public bool $byRef;
12
-
13
- /**
14
- * Constructs a closure use node.
15
- *
16
- * @param Expr\Variable $var Variable to use
17
- * @param bool $byRef Whether to use by reference
18
- * @param array<string, mixed> $attributes Additional attributes
19
- */
20
- public function __construct(Expr\Variable $var, bool $byRef = false, array $attributes = []) {
21
- $this->attributes = $attributes;
22
- $this->var = $var;
23
- $this->byRef = $byRef;
24
- }
25
-
26
- public function getSubNodeNames(): array {
27
- return ['var', 'byRef'];
28
- }
29
-
30
- public function getType(): string {
31
- return 'ClosureUse';
32
- }
33
- }
34
-
35
- // @deprecated compatibility alias
36
- class_alias(ClosureUse::class, Expr\ClosureUse::class);
@@ -1,37 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Node;
4
-
5
- use PhpParser\Node;
6
- use PhpParser\NodeAbstract;
7
-
8
- class DeclareItem extends NodeAbstract {
9
- /** @var Node\Identifier Key */
10
- public Identifier $key;
11
- /** @var Node\Expr Value */
12
- public Expr $value;
13
-
14
- /**
15
- * Constructs a declare key=>value pair node.
16
- *
17
- * @param string|Node\Identifier $key Key
18
- * @param Node\Expr $value Value
19
- * @param array<string, mixed> $attributes Additional attributes
20
- */
21
- public function __construct($key, Node\Expr $value, array $attributes = []) {
22
- $this->attributes = $attributes;
23
- $this->key = \is_string($key) ? new Node\Identifier($key) : $key;
24
- $this->value = $value;
25
- }
26
-
27
- public function getSubNodeNames(): array {
28
- return ['key', 'value'];
29
- }
30
-
31
- public function getType(): string {
32
- return 'DeclareItem';
33
- }
34
- }
35
-
36
- // @deprecated compatibility alias
37
- class_alias(DeclareItem::class, Stmt\DeclareDeclare::class);
@@ -1,32 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Node;
4
-
5
- use PhpParser\NodeAbstract;
6
-
7
- class InterpolatedStringPart extends NodeAbstract {
8
- /** @var string String value */
9
- public string $value;
10
-
11
- /**
12
- * Constructs a node representing a string part of an interpolated string.
13
- *
14
- * @param string $value String value
15
- * @param array<string, mixed> $attributes Additional attributes
16
- */
17
- public function __construct(string $value, array $attributes = []) {
18
- $this->attributes = $attributes;
19
- $this->value = $value;
20
- }
21
-
22
- public function getSubNodeNames(): array {
23
- return ['value'];
24
- }
25
-
26
- public function getType(): string {
27
- return 'InterpolatedStringPart';
28
- }
29
- }
30
-
31
- // @deprecated compatibility alias
32
- class_alias(InterpolatedStringPart::class, Scalar\EncapsedStringPart::class);
@@ -1,37 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Node;
4
-
5
- use PhpParser\Node;
6
- use PhpParser\NodeAbstract;
7
-
8
- class PropertyItem extends NodeAbstract {
9
- /** @var Node\VarLikeIdentifier Name */
10
- public VarLikeIdentifier $name;
11
- /** @var null|Node\Expr Default */
12
- public ?Expr $default;
13
-
14
- /**
15
- * Constructs a class property item node.
16
- *
17
- * @param string|Node\VarLikeIdentifier $name Name
18
- * @param null|Node\Expr $default Default value
19
- * @param array<string, mixed> $attributes Additional attributes
20
- */
21
- public function __construct($name, ?Node\Expr $default = null, array $attributes = []) {
22
- $this->attributes = $attributes;
23
- $this->name = \is_string($name) ? new Node\VarLikeIdentifier($name) : $name;
24
- $this->default = $default;
25
- }
26
-
27
- public function getSubNodeNames(): array {
28
- return ['name', 'default'];
29
- }
30
-
31
- public function getType(): string {
32
- return 'PropertyItem';
33
- }
34
- }
35
-
36
- // @deprecated compatibility alias
37
- class_alias(PropertyItem::class, Stmt\PropertyProperty::class);
@@ -1,78 +0,0 @@
1
- <?php declare(strict_types=1);
2
-
3
- namespace PhpParser\Node\Scalar;
4
-
5
- use PhpParser\Node\Scalar;
6
-
7
- class Float_ extends Scalar {
8
- /** @var float Number value */
9
- public float $value;
10
-
11
- /**
12
- * Constructs a float number scalar node.
13
- *
14
- * @param float $value Value of the number
15
- * @param array<string, mixed> $attributes Additional attributes
16
- */
17
- public function __construct(float $value, array $attributes = []) {
18
- $this->attributes = $attributes;
19
- $this->value = $value;
20
- }
21
-
22
- public function getSubNodeNames(): array {
23
- return ['value'];
24
- }
25
-
26
- /**
27
- * @param mixed[] $attributes
28
- */
29
- public static function fromString(string $str, array $attributes = []): Float_ {
30
- $attributes['rawValue'] = $str;
31
- $float = self::parse($str);
32
-
33
- return new Float_($float, $attributes);
34
- }
35
-
36
- /**
37
- * @internal
38
- *
39
- * Parses a DNUMBER token like PHP would.
40
- *
41
- * @param string $str A string number
42
- *
43
- * @return float The parsed number
44
- */
45
- public static function parse(string $str): float {
46
- $str = str_replace('_', '', $str);
47
-
48
- // Check whether this is one of the special integer notations.
49
- if ('0' === $str[0]) {
50
- // hex
51
- if ('x' === $str[1] || 'X' === $str[1]) {
52
- return hexdec($str);
53
- }
54
-
55
- // bin
56
- if ('b' === $str[1] || 'B' === $str[1]) {
57
- return bindec($str);
58
- }
59
-
60
- // oct, but only if the string does not contain any of '.eE'.
61
- if (false === strpbrk($str, '.eE')) {
62
- // substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit
63
- // (8 or 9) so that only the digits before that are used.
64
- return octdec(substr($str, 0, strcspn($str, '89')));
65
- }
66
- }
67
-
68
- // dec
69
- return (float) $str;
70
- }
71
-
72
- public function getType(): string {
73
- return 'Scalar_Float';
74
- }
75
- }
76
-
77
- // @deprecated compatibility alias
78
- class_alias(Float_::class, DNumber::class);