gulp-phug 1.3.3 → 1.3.5

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 (260) hide show
  1. package/index.js +23 -8
  2. package/package.json +4 -4
  3. package/support/composer.json +1 -1
  4. package/support/composer.lock +93 -178
  5. package/support/vendor/autoload.php +15 -0
  6. package/support/vendor/bin/phug +119 -0
  7. package/support/vendor/bin/var-dump-server +119 -0
  8. package/support/vendor/composer/ClassLoader.php +166 -32
  9. package/support/vendor/composer/InstalledVersions.php +387 -329
  10. package/support/vendor/composer/autoload_classmap.php +1 -5
  11. package/support/vendor/composer/autoload_files.php +2 -3
  12. package/support/vendor/composer/autoload_namespaces.php +1 -1
  13. package/support/vendor/composer/autoload_psr4.php +3 -4
  14. package/support/vendor/composer/autoload_real.php +12 -37
  15. package/support/vendor/composer/autoload_static.php +6 -17
  16. package/support/vendor/composer/installed.json +97 -184
  17. package/support/vendor/composer/installed.php +129 -151
  18. package/support/vendor/composer/platform_check.php +16 -4
  19. package/support/vendor/phug/phug/.github/workflows/coverage.yml +71 -0
  20. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +46 -0
  21. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  22. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/tests.yml +49 -0
  24. package/support/vendor/phug/phug/.multi-tester.yml +42 -10
  25. package/support/vendor/phug/phug/composer.json +25 -16
  26. package/support/vendor/phug/phug/phpcs.xml +4 -0
  27. package/support/vendor/phug/phug/phpunit.xml +2 -0
  28. package/support/vendor/phug/phug/phug +1 -1
  29. package/support/vendor/phug/phug/release.php +8 -0
  30. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +7 -1
  31. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +1 -2
  32. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +1 -1
  33. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +9 -1
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +1 -0
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +6 -0
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +4 -4
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +1 -1
  38. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +5 -2
  39. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  40. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +1 -2
  41. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  42. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  43. package/support/vendor/phug/phug/src/Phug/Event/composer.json +1 -2
  44. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +15 -12
  45. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  46. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  47. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +9 -4
  49. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +4 -1
  50. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +2 -2
  51. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +10 -8
  52. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  53. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  54. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +213 -20
  55. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  56. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  57. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  58. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +1 -2
  60. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +5 -2
  62. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  64. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +23 -11
  65. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  66. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  67. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +1 -1
  68. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  69. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  70. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  71. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  72. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  73. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +1 -2
  74. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  75. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  76. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  77. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  78. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  79. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  80. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  81. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  82. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  83. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  84. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  85. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  86. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  87. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  88. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  89. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  90. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  91. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  92. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  93. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  94. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  95. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  96. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  97. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  98. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  99. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  100. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  101. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  102. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  103. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  104. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  105. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  106. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  107. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  108. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  109. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  110. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  111. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  112. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +1 -2
  121. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  122. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  123. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  124. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  125. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +5 -2
  126. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +9 -9
  127. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +4 -0
  128. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  129. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  130. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  131. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  132. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  133. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  134. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  135. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  136. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  137. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  138. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +7 -3
  139. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  140. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  141. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  142. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  143. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  144. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  145. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  146. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  147. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  148. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  149. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  150. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  151. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  152. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  153. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  154. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +1 -0
  155. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  156. package/support/vendor/phug/phug/src/Phug/Util/composer.json +5 -6
  157. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  158. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  159. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  160. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  161. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  162. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  163. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  164. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  165. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  166. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  167. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  168. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  169. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  170. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  171. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  172. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  173. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  174. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  175. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  176. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  177. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  178. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  179. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  180. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  181. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  182. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  183. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  184. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  185. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  186. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  187. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  188. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  189. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  190. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  191. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  192. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  193. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  194. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  195. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  196. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  197. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  198. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  199. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  200. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  201. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  202. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  203. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  204. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  205. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  206. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  207. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  208. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  209. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  210. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  211. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  212. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  213. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  214. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  215. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  216. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  217. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  218. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  219. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  220. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  221. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  222. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  223. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  224. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  225. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  226. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  227. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  228. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  229. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  230. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  231. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  232. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  233. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  234. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  235. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  236. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  237. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  238. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  239. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  240. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  241. package/support/vendor/symfony/var-dumper/README.md +6 -6
  242. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  243. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  244. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  245. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  246. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  247. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  248. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  249. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  250. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  251. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  252. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  253. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  254. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  255. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  256. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  257. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  258. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  259. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  260. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -0,0 +1,82 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\VarDumper\Caster;
13
+
14
+ use Symfony\Component\VarDumper\Cloner\Stub;
15
+
16
+ /**
17
+ * @author Nicolas Grekas <p@tchwork.com>
18
+ *
19
+ * @internal since Symfony 7.3
20
+ */
21
+ final class AddressInfoCaster
22
+ {
23
+ private const MAPS = [
24
+ 'ai_flags' => [
25
+ 1 => 'AI_PASSIVE',
26
+ 2 => 'AI_CANONNAME',
27
+ 4 => 'AI_NUMERICHOST',
28
+ 8 => 'AI_V4MAPPED',
29
+ 16 => 'AI_ALL',
30
+ 32 => 'AI_ADDRCONFIG',
31
+ 64 => 'AI_IDN',
32
+ 128 => 'AI_CANONIDN',
33
+ 1024 => 'AI_NUMERICSERV',
34
+ ],
35
+ 'ai_family' => [
36
+ 1 => 'AF_UNIX',
37
+ 2 => 'AF_INET',
38
+ 10 => 'AF_INET6',
39
+ 44 => 'AF_DIVERT',
40
+ ],
41
+ 'ai_socktype' => [
42
+ 1 => 'SOCK_STREAM',
43
+ 2 => 'SOCK_DGRAM',
44
+ 3 => 'SOCK_RAW',
45
+ 4 => 'SOCK_RDM',
46
+ 5 => 'SOCK_SEQPACKET',
47
+ ],
48
+ 'ai_protocol' => [
49
+ 1 => 'SOL_SOCKET',
50
+ 6 => 'SOL_TCP',
51
+ 17 => 'SOL_UDP',
52
+ 136 => 'SOL_UDPLITE',
53
+ ],
54
+ ];
55
+
56
+ public static function castAddressInfo(\AddressInfo $h, array $a, Stub $stub, bool $isNested): array
57
+ {
58
+ static $resolvedMaps;
59
+
60
+ if (!$resolvedMaps) {
61
+ foreach (self::MAPS as $k => $map) {
62
+ foreach ($map as $v => $name) {
63
+ if (\defined($name)) {
64
+ $resolvedMaps[$k][\constant($name)] = $name;
65
+ } elseif (!isset($resolvedMaps[$k][$v])) {
66
+ $resolvedMaps[$k][$v] = $name;
67
+ }
68
+ }
69
+ }
70
+ }
71
+
72
+ foreach (socket_addrinfo_explain($h) as $k => $v) {
73
+ $a[Caster::PREFIX_VIRTUAL.$k] = match (true) {
74
+ 'ai_flags' === $k => ConstStub::fromBitfield($v, $resolvedMaps[$k]),
75
+ isset($resolvedMaps[$k][$v]) => new ConstStub($resolvedMaps[$k][$v], $v),
76
+ default => $v,
77
+ };
78
+ }
79
+
80
+ return $a;
81
+ }
82
+ }
@@ -18,11 +18,13 @@ use Symfony\Component\VarDumper\Cloner\Stub;
18
18
  *
19
19
  * @author Grégoire Pineau <lyrixx@lyrixx.info>
20
20
  *
21
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
22
24
  */
23
25
  class AmqpCaster
24
26
  {
25
- private static $flags = [
27
+ private const FLAGS = [
26
28
  \AMQP_DURABLE => 'AMQP_DURABLE',
27
29
  \AMQP_PASSIVE => 'AMQP_PASSIVE',
28
30
  \AMQP_EXCLUSIVE => 'AMQP_EXCLUSIVE',
@@ -39,14 +41,14 @@ class AmqpCaster
39
41
  \AMQP_REQUEUE => 'AMQP_REQUEUE',
40
42
  ];
41
43
 
42
- private static $exchangeTypes = [
44
+ private const EXCHANGE_TYPES = [
43
45
  \AMQP_EX_TYPE_DIRECT => 'AMQP_EX_TYPE_DIRECT',
44
46
  \AMQP_EX_TYPE_FANOUT => 'AMQP_EX_TYPE_FANOUT',
45
47
  \AMQP_EX_TYPE_TOPIC => 'AMQP_EX_TYPE_TOPIC',
46
48
  \AMQP_EX_TYPE_HEADERS => 'AMQP_EX_TYPE_HEADERS',
47
49
  ];
48
50
 
49
- public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, $isNested)
51
+ public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, bool $isNested): array
50
52
  {
51
53
  $prefix = Caster::PREFIX_VIRTUAL;
52
54
 
@@ -79,7 +81,7 @@ class AmqpCaster
79
81
  return $a;
80
82
  }
81
83
 
82
- public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, $isNested)
84
+ public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, bool $isNested): array
83
85
  {
84
86
  $prefix = Caster::PREFIX_VIRTUAL;
85
87
 
@@ -102,7 +104,7 @@ class AmqpCaster
102
104
  return $a;
103
105
  }
104
106
 
105
- public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, $isNested)
107
+ public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, bool $isNested): array
106
108
  {
107
109
  $prefix = Caster::PREFIX_VIRTUAL;
108
110
 
@@ -125,7 +127,7 @@ class AmqpCaster
125
127
  return $a;
126
128
  }
127
129
 
128
- public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, $isNested)
130
+ public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, bool $isNested): array
129
131
  {
130
132
  $prefix = Caster::PREFIX_VIRTUAL;
131
133
 
@@ -133,7 +135,7 @@ class AmqpCaster
133
135
  $prefix.'flags' => self::extractFlags($c->getFlags()),
134
136
  ];
135
137
 
136
- $type = isset(self::$exchangeTypes[$c->getType()]) ? new ConstStub(self::$exchangeTypes[$c->getType()], $c->getType()) : $c->getType();
138
+ $type = isset(self::EXCHANGE_TYPES[$c->getType()]) ? new ConstStub(self::EXCHANGE_TYPES[$c->getType()], $c->getType()) : $c->getType();
137
139
 
138
140
  // Recent version of the extension already expose private properties
139
141
  if (isset($a["\x00AMQPExchange\x00name"])) {
@@ -153,7 +155,7 @@ class AmqpCaster
153
155
  return $a;
154
156
  }
155
157
 
156
- public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, $isNested, $filter = 0)
158
+ public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array
157
159
  {
158
160
  $prefix = Caster::PREFIX_VIRTUAL;
159
161
 
@@ -197,7 +199,7 @@ class AmqpCaster
197
199
  {
198
200
  $flagsArray = [];
199
201
 
200
- foreach (self::$flags as $value => $name) {
202
+ foreach (self::FLAGS as $value => $name) {
201
203
  if ($flags & $value) {
202
204
  $flagsArray[] = $name;
203
205
  }
@@ -20,15 +20,15 @@ use Symfony\Component\VarDumper\Cloner\Stub;
20
20
  */
21
21
  class ArgsStub extends EnumStub
22
22
  {
23
- private static $parameters = [];
23
+ private static array $parameters = [];
24
24
 
25
25
  public function __construct(array $args, string $function, ?string $class)
26
26
  {
27
- list($variadic, $params) = self::getParameters($function, $class);
27
+ [$variadic, $params] = self::getParameters($function, $class);
28
28
 
29
29
  $values = [];
30
30
  foreach ($args as $k => $v) {
31
- $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v;
31
+ $values[$k] = !\is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v;
32
32
  }
33
33
  if (null === $params) {
34
34
  parent::__construct($values, false);
@@ -42,10 +42,9 @@ class ArgsStub extends EnumStub
42
42
  $params[] = $variadic;
43
43
  }
44
44
  if (['...'] === $params) {
45
- $this->dumpKeys = false;
46
- $this->value = $values[0]->value;
45
+ parent::__construct($values[0]->value, false);
47
46
  } else {
48
- $this->value = array_combine($params, $values);
47
+ parent::__construct(array_combine($params, $values));
49
48
  }
50
49
  }
51
50
 
@@ -57,7 +56,7 @@ class ArgsStub extends EnumStub
57
56
 
58
57
  try {
59
58
  $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function);
60
- } catch (\ReflectionException $e) {
59
+ } catch (\ReflectionException) {
61
60
  return [null, null];
62
61
  }
63
62
 
@@ -22,35 +22,39 @@ use Symfony\Component\VarDumper\Cloner\Stub;
22
22
  */
23
23
  class Caster
24
24
  {
25
- const EXCLUDE_VERBOSE = 1;
26
- const EXCLUDE_VIRTUAL = 2;
27
- const EXCLUDE_DYNAMIC = 4;
28
- const EXCLUDE_PUBLIC = 8;
29
- const EXCLUDE_PROTECTED = 16;
30
- const EXCLUDE_PRIVATE = 32;
31
- const EXCLUDE_NULL = 64;
32
- const EXCLUDE_EMPTY = 128;
33
- const EXCLUDE_NOT_IMPORTANT = 256;
34
- const EXCLUDE_STRICT = 512;
35
-
36
- const PREFIX_VIRTUAL = "\0~\0";
37
- const PREFIX_DYNAMIC = "\0+\0";
38
- const PREFIX_PROTECTED = "\0*\0";
25
+ public const EXCLUDE_VERBOSE = 1;
26
+ public const EXCLUDE_VIRTUAL = 2;
27
+ public const EXCLUDE_DYNAMIC = 4;
28
+ public const EXCLUDE_PUBLIC = 8;
29
+ public const EXCLUDE_PROTECTED = 16;
30
+ public const EXCLUDE_PRIVATE = 32;
31
+ public const EXCLUDE_NULL = 64;
32
+ public const EXCLUDE_EMPTY = 128;
33
+ public const EXCLUDE_NOT_IMPORTANT = 256;
34
+ public const EXCLUDE_STRICT = 512;
35
+ public const EXCLUDE_UNINITIALIZED = 1024;
36
+
37
+ public const PREFIX_VIRTUAL = "\0~\0";
38
+ public const PREFIX_DYNAMIC = "\0+\0";
39
+ public const PREFIX_PROTECTED = "\0*\0";
40
+ // usage: sprintf(Caster::PATTERN_PRIVATE, $class, $property)
41
+ public const PATTERN_PRIVATE = "\0%s\0%s";
42
+
43
+ private static array $classProperties = [];
39
44
 
40
45
  /**
41
46
  * Casts objects to arrays and adds the dynamic property prefix.
42
47
  *
43
- * @param object $obj The object to cast
44
- * @param bool $hasDebugInfo Whether the __debugInfo method exists on $obj or not
48
+ * @param bool $hasDebugInfo Whether the __debugInfo method exists on $obj or not
45
49
  *
46
- * @return array The array-cast of the object, with prefixed dynamic properties
50
+ * @internal since Symfony 7.3
47
51
  */
48
- public static function castObject($obj, string $class, bool $hasDebugInfo = false, string $debugClass = null): array
52
+ public static function castObject(object $obj, string $class, bool $hasDebugInfo = false, ?string $debugClass = null): array
49
53
  {
50
54
  if ($hasDebugInfo) {
51
55
  try {
52
56
  $debugInfo = $obj->__debugInfo();
53
- } catch (\Exception $e) {
57
+ } catch (\Throwable) {
54
58
  // ignore failing __debugInfo()
55
59
  $hasDebugInfo = false;
56
60
  }
@@ -62,20 +66,17 @@ class Caster
62
66
  return $a;
63
67
  }
64
68
 
69
+ $classProperties = self::$classProperties[$class] ??= self::getClassProperties(new \ReflectionClass($class));
70
+ $a = array_replace($classProperties, $a);
71
+
65
72
  if ($a) {
66
- static $publicProperties = [];
67
- $debugClass = $debugClass ?? get_debug_type($obj);
73
+ $debugClass ??= get_debug_type($obj);
68
74
 
69
75
  $i = 0;
70
76
  $prefixedKeys = [];
71
77
  foreach ($a as $k => $v) {
72
- if (isset($k[0]) ? "\0" !== $k[0] : \PHP_VERSION_ID >= 70200) {
73
- if (!isset($publicProperties[$class])) {
74
- foreach ((new \ReflectionClass($class))->getProperties(\ReflectionProperty::IS_PUBLIC) as $prop) {
75
- $publicProperties[$class][$prop->name] = true;
76
- }
77
- }
78
- if (!isset($publicProperties[$class][$k])) {
78
+ if ("\0" !== ($k[0] ?? '')) {
79
+ if (!isset($classProperties[$k])) {
79
80
  $prefixedKeys[$i] = self::PREFIX_DYNAMIC.$k;
80
81
  }
81
82
  } elseif ($debugClass !== $class && 1 === strpos($k, $class)) {
@@ -118,9 +119,7 @@ class Caster
118
119
  * @param array $a The array containing the properties to filter
119
120
  * @param int $filter A bit field of Caster::EXCLUDE_* constants specifying which properties to filter out
120
121
  * @param string[] $listedProperties List of properties to exclude when Caster::EXCLUDE_VERBOSE is set, and to preserve when Caster::EXCLUDE_NOT_IMPORTANT is set
121
- * @param int &$count Set to the number of removed properties
122
- *
123
- * @return array The filtered array
122
+ * @param int|null &$count Set to the number of removed properties
124
123
  */
125
124
  public static function filter(array $a, int $filter, array $listedProperties = [], ?int &$count = 0): array
126
125
  {
@@ -134,6 +133,8 @@ class Caster
134
133
  $type |= self::EXCLUDE_EMPTY & $filter;
135
134
  } elseif (false === $v || '' === $v || '0' === $v || 0 === $v || 0.0 === $v || [] === $v) {
136
135
  $type |= self::EXCLUDE_EMPTY & $filter;
136
+ } elseif ($v instanceof UninitializedStub) {
137
+ $type |= self::EXCLUDE_UNINITIALIZED & $filter;
137
138
  }
138
139
  if ((self::EXCLUDE_NOT_IMPORTANT & $filter) && !\in_array($k, $listedProperties, true)) {
139
140
  $type |= self::EXCLUDE_NOT_IMPORTANT;
@@ -163,6 +164,9 @@ class Caster
163
164
  return $a;
164
165
  }
165
166
 
167
+ /**
168
+ * @internal since Symfony 7.3
169
+ */
166
170
  public static function castPhpIncompleteClass(\__PHP_Incomplete_Class $c, array $a, Stub $stub, bool $isNested): array
167
171
  {
168
172
  if (isset($a['__PHP_Incomplete_Class_Name'])) {
@@ -172,4 +176,28 @@ class Caster
172
176
 
173
177
  return $a;
174
178
  }
179
+
180
+ private static function getClassProperties(\ReflectionClass $class): array
181
+ {
182
+ $classProperties = [];
183
+ $className = $class->name;
184
+
185
+ if ($parent = $class->getParentClass()) {
186
+ $classProperties += self::$classProperties[$parent->name] ??= self::getClassProperties($parent);
187
+ }
188
+
189
+ foreach ($class->getProperties() as $p) {
190
+ if ($p->isStatic()) {
191
+ continue;
192
+ }
193
+
194
+ $classProperties[match (true) {
195
+ $p->isPublic() => $p->name,
196
+ $p->isProtected() => self::PREFIX_PROTECTED.$p->name,
197
+ default => "\0".$className."\0".$p->name,
198
+ }] = \PHP_VERSION_ID >= 80400 && $p->isVirtual() ? new VirtualStub($p) : new UninitializedStub($p);
199
+ }
200
+
201
+ return $classProperties;
202
+ }
175
203
  }
@@ -24,7 +24,7 @@ class ClassStub extends ConstStub
24
24
  * @param string $identifier A PHP identifier, e.g. a class, method, interface, etc. name
25
25
  * @param callable $callable The callable targeted by the identifier when it is ambiguous or not a real PHP identifier
26
26
  */
27
- public function __construct(string $identifier, $callable = null)
27
+ public function __construct(string $identifier, callable|array|string|null $callable = null)
28
28
  {
29
29
  $this->value = $identifier;
30
30
 
@@ -50,28 +50,26 @@ class ClassStub extends ConstStub
50
50
  if (\is_array($r)) {
51
51
  try {
52
52
  $r = new \ReflectionMethod($r[0], $r[1]);
53
- } catch (\ReflectionException $e) {
53
+ } catch (\ReflectionException) {
54
54
  $r = new \ReflectionClass($r[0]);
55
55
  }
56
56
  }
57
57
 
58
- if (false !== strpos($identifier, "@anonymous\0")) {
59
- $this->value = $identifier = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) {
60
- return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0];
61
- }, $identifier);
58
+ if (str_contains($identifier, "@anonymous\0")) {
59
+ $this->value = $identifier = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)?[0-9a-fA-F]++/', fn ($m) => class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0], $identifier);
62
60
  }
63
61
 
64
62
  if (null !== $callable && $r instanceof \ReflectionFunctionAbstract) {
65
63
  $s = ReflectionCaster::castFunctionAbstract($r, [], new Stub(), true, Caster::EXCLUDE_VERBOSE);
66
64
  $s = ReflectionCaster::getSignature($s);
67
65
 
68
- if ('()' === substr($identifier, -2)) {
66
+ if (str_ends_with($identifier, '()')) {
69
67
  $this->value = substr_replace($identifier, $s, -2);
70
68
  } else {
71
69
  $this->value .= $s;
72
70
  }
73
71
  }
74
- } catch (\ReflectionException $e) {
72
+ } catch (\ReflectionException) {
75
73
  return;
76
74
  } finally {
77
75
  if (0 < $i = strrpos($this->value, '\\')) {
@@ -87,7 +85,7 @@ class ClassStub extends ConstStub
87
85
  }
88
86
  }
89
87
 
90
- public static function wrapCallable($callable)
88
+ public static function wrapCallable(mixed $callable): mixed
91
89
  {
92
90
  if (\is_object($callable) || !\is_callable($callable)) {
93
91
  return $callable;
@@ -20,17 +20,33 @@ use Symfony\Component\VarDumper\Cloner\Stub;
20
20
  */
21
21
  class ConstStub extends Stub
22
22
  {
23
- public function __construct(string $name, $value = null)
23
+ public function __construct(string $name, string|int|float|null $value = null)
24
24
  {
25
25
  $this->class = $name;
26
26
  $this->value = 1 < \func_num_args() ? $value : $name;
27
27
  }
28
28
 
29
+ public function __toString(): string
30
+ {
31
+ return (string) $this->value;
32
+ }
33
+
29
34
  /**
30
- * @return string
35
+ * @param array<int, string> $values
31
36
  */
32
- public function __toString()
37
+ public static function fromBitfield(int $value, array $values): self
33
38
  {
34
- return (string) $this->value;
39
+ $names = [];
40
+ foreach ($values as $v => $name) {
41
+ if ($value & $v) {
42
+ $names[] = $name;
43
+ }
44
+ }
45
+
46
+ if (!$names) {
47
+ $names[] = $values[0] ?? 0;
48
+ }
49
+
50
+ return new self(implode(' | ', $names), $value);
35
51
  }
36
52
  }
@@ -0,0 +1,31 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\VarDumper\Caster;
13
+
14
+ use Symfony\Component\VarDumper\Cloner\Stub;
15
+
16
+ /**
17
+ * @author Nicolas Grekas <p@tchwork.com>
18
+ *
19
+ * @internal
20
+ */
21
+ final class CurlCaster
22
+ {
23
+ public static function castCurl(\CurlHandle $h, array $a, Stub $stub, bool $isNested): array
24
+ {
25
+ foreach (curl_getinfo($h) as $key => $val) {
26
+ $a[Caster::PREFIX_VIRTUAL.$key] = $val;
27
+ }
28
+
29
+ return $a;
30
+ }
31
+ }
@@ -18,7 +18,7 @@ namespace Symfony\Component\VarDumper\Caster;
18
18
  */
19
19
  class CutArrayStub extends CutStub
20
20
  {
21
- public $preservedSubset;
21
+ public array $preservedSubset;
22
22
 
23
23
  public function __construct(array $value, array $preservedKeys)
24
24
  {
@@ -20,14 +20,14 @@ use Symfony\Component\VarDumper\Cloner\Stub;
20
20
  */
21
21
  class CutStub extends Stub
22
22
  {
23
- public function __construct($value)
23
+ public function __construct(mixed $value)
24
24
  {
25
25
  $this->value = $value;
26
26
 
27
27
  switch (\gettype($value)) {
28
28
  case 'object':
29
29
  $this->type = self::TYPE_OBJECT;
30
- $this->class = \get_class($value);
30
+ $this->class = get_debug_type($value);
31
31
 
32
32
  if ($value instanceof \Closure) {
33
33
  ReflectionCaster::castClosure($value, [], $this, true, Caster::EXCLUDE_VERBOSE);