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,64 @@
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
+ * @author Alexandre Daubois <alex.daubois@gmail.com>
19
+ *
20
+ * @internal
21
+ */
22
+ final class SocketCaster
23
+ {
24
+ public static function castSocket(\Socket $socket, array $a, Stub $stub, bool $isNested): array
25
+ {
26
+ socket_getsockname($socket, $addr, $port);
27
+ $info = stream_get_meta_data(socket_export_stream($socket));
28
+
29
+ if (\PHP_VERSION_ID >= 80300) {
30
+ $uri = ($info['uri'] ?? '//');
31
+ if (str_starts_with($uri, 'unix://')) {
32
+ $uri .= $addr;
33
+ } else {
34
+ $uri .= \sprintf(str_contains($addr, ':') ? '[%s]:%s' : '%s:%s', $addr, $port);
35
+ }
36
+
37
+ $a[Caster::PREFIX_VIRTUAL.'uri'] = $uri;
38
+
39
+ if (@socket_atmark($socket)) {
40
+ $a[Caster::PREFIX_VIRTUAL.'atmark'] = true;
41
+ }
42
+ }
43
+
44
+ $a += [
45
+ Caster::PREFIX_VIRTUAL.'timed_out' => $info['timed_out'],
46
+ Caster::PREFIX_VIRTUAL.'blocked' => $info['blocked'],
47
+ ];
48
+
49
+ if (!$lastError = socket_last_error($socket)) {
50
+ return $a;
51
+ }
52
+
53
+ static $errors;
54
+
55
+ if (!$errors) {
56
+ $errors = get_defined_constants(true)['sockets'] ?? [];
57
+ $errors = array_flip(array_filter($errors, static fn ($k) => str_starts_with($k, 'SOCKET_E'), \ARRAY_FILTER_USE_KEY));
58
+ }
59
+
60
+ $a[Caster::PREFIX_VIRTUAL.'last_error'] = new ConstStub($errors[$lastError], socket_strerror($lastError));
61
+
62
+ return $a;
63
+ }
64
+ }
@@ -18,28 +18,30 @@ use Symfony\Component\VarDumper\Cloner\Stub;
18
18
  *
19
19
  * @author Nicolas Grekas <p@tchwork.com>
20
20
  *
21
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
22
24
  */
23
25
  class SplCaster
24
26
  {
25
- private static $splFileObjectFlags = [
27
+ private const SPL_FILE_OBJECT_FLAGS = [
26
28
  \SplFileObject::DROP_NEW_LINE => 'DROP_NEW_LINE',
27
29
  \SplFileObject::READ_AHEAD => 'READ_AHEAD',
28
30
  \SplFileObject::SKIP_EMPTY => 'SKIP_EMPTY',
29
31
  \SplFileObject::READ_CSV => 'READ_CSV',
30
32
  ];
31
33
 
32
- public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, $isNested)
34
+ public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, bool $isNested): array
33
35
  {
34
36
  return self::castSplArray($c, $a, $stub, $isNested);
35
37
  }
36
38
 
37
- public static function castArrayIterator(\ArrayIterator $c, array $a, Stub $stub, $isNested)
39
+ public static function castArrayIterator(\ArrayIterator $c, array $a, Stub $stub, bool $isNested): array
38
40
  {
39
41
  return self::castSplArray($c, $a, $stub, $isNested);
40
42
  }
41
43
 
42
- public static function castHeap(\Iterator $c, array $a, Stub $stub, $isNested)
44
+ public static function castHeap(\Iterator $c, array $a, Stub $stub, bool $isNested): array
43
45
  {
44
46
  $a += [
45
47
  Caster::PREFIX_VIRTUAL.'heap' => iterator_to_array(clone $c),
@@ -48,7 +50,7 @@ class SplCaster
48
50
  return $a;
49
51
  }
50
52
 
51
- public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, $isNested)
53
+ public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, bool $isNested): array
52
54
  {
53
55
  $prefix = Caster::PREFIX_VIRTUAL;
54
56
  $mode = $c->getIteratorMode();
@@ -63,7 +65,7 @@ class SplCaster
63
65
  return $a;
64
66
  }
65
67
 
66
- public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, $isNested)
68
+ public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, bool $isNested): array
67
69
  {
68
70
  static $map = [
69
71
  'path' => 'getPath',
@@ -94,47 +96,39 @@ class SplCaster
94
96
  unset($a["\0SplFileInfo\0fileName"]);
95
97
  unset($a["\0SplFileInfo\0pathName"]);
96
98
 
97
- if (\PHP_VERSION_ID < 80000) {
98
- if (false === $c->getPathname()) {
99
- $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
100
-
101
- return $a;
99
+ try {
100
+ $c->isReadable();
101
+ } catch (\RuntimeException $e) {
102
+ if ('Object not initialized' !== $e->getMessage()) {
103
+ throw $e;
102
104
  }
103
- } else {
104
- try {
105
- $c->isReadable();
106
- } catch (\RuntimeException $e) {
107
- if ('Object not initialized' !== $e->getMessage()) {
108
- throw $e;
109
- }
110
105
 
111
- $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
106
+ $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
112
107
 
113
- return $a;
114
- } catch (\Error $e) {
115
- if ('Object not initialized' !== $e->getMessage()) {
116
- throw $e;
117
- }
108
+ return $a;
109
+ } catch (\Error $e) {
110
+ if ('Object not initialized' !== $e->getMessage()) {
111
+ throw $e;
112
+ }
118
113
 
119
- $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
114
+ $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
120
115
 
121
- return $a;
122
- }
116
+ return $a;
123
117
  }
124
118
 
125
119
  foreach ($map as $key => $accessor) {
126
120
  try {
127
121
  $a[$prefix.$key] = $c->$accessor();
128
- } catch (\Exception $e) {
122
+ } catch (\Exception) {
129
123
  }
130
124
  }
131
125
 
132
- if (isset($a[$prefix.'realPath'])) {
126
+ if ($a[$prefix.'realPath'] ?? false) {
133
127
  $a[$prefix.'realPath'] = new LinkStub($a[$prefix.'realPath']);
134
128
  }
135
129
 
136
130
  if (isset($a[$prefix.'perms'])) {
137
- $a[$prefix.'perms'] = new ConstStub(sprintf('0%o', $a[$prefix.'perms']), $a[$prefix.'perms']);
131
+ $a[$prefix.'perms'] = new ConstStub(\sprintf('0%o', $a[$prefix.'perms']), $a[$prefix.'perms']);
138
132
  }
139
133
 
140
134
  static $mapDate = ['aTime', 'mTime', 'cTime'];
@@ -147,7 +141,7 @@ class SplCaster
147
141
  return $a;
148
142
  }
149
143
 
150
- public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, $isNested)
144
+ public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, bool $isNested): array
151
145
  {
152
146
  static $map = [
153
147
  'csvControl' => 'getCsvControl',
@@ -163,13 +157,13 @@ class SplCaster
163
157
  foreach ($map as $key => $accessor) {
164
158
  try {
165
159
  $a[$prefix.$key] = $c->$accessor();
166
- } catch (\Exception $e) {
160
+ } catch (\Exception) {
167
161
  }
168
162
  }
169
163
 
170
164
  if (isset($a[$prefix.'flags'])) {
171
165
  $flagsArray = [];
172
- foreach (self::$splFileObjectFlags as $value => $name) {
166
+ foreach (self::SPL_FILE_OBJECT_FLAGS as $value => $name) {
173
167
  if ($a[$prefix.'flags'] & $value) {
174
168
  $flagsArray[] = $name;
175
169
  }
@@ -184,7 +178,7 @@ class SplCaster
184
178
  return $a;
185
179
  }
186
180
 
187
- public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, $isNested)
181
+ public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, bool $isNested): array
188
182
  {
189
183
  $storage = [];
190
184
  unset($a[Caster::PREFIX_DYNAMIC."\0gcdata"]); // Don't hit https://bugs.php.net/65967
@@ -192,10 +186,10 @@ class SplCaster
192
186
 
193
187
  $clone = clone $c;
194
188
  foreach ($clone as $obj) {
195
- $storage[] = [
189
+ $storage[] = new EnumStub([
196
190
  'object' => $obj,
197
191
  'info' => $clone->getInfo(),
198
- ];
192
+ ]);
199
193
  }
200
194
 
201
195
  $a += [
@@ -205,34 +199,53 @@ class SplCaster
205
199
  return $a;
206
200
  }
207
201
 
208
- public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, $isNested)
202
+ public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, bool $isNested): array
209
203
  {
210
204
  $a[Caster::PREFIX_VIRTUAL.'innerIterator'] = $c->getInnerIterator();
211
205
 
212
206
  return $a;
213
207
  }
214
208
 
215
- public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, $isNested)
209
+ public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, bool $isNested): array
216
210
  {
217
211
  $a[Caster::PREFIX_VIRTUAL.'object'] = $c->get();
218
212
 
219
213
  return $a;
220
214
  }
221
215
 
222
- private static function castSplArray($c, array $a, Stub $stub, bool $isNested): array
216
+ public static function castWeakMap(\WeakMap $c, array $a, Stub $stub, bool $isNested): array
217
+ {
218
+ $map = [];
219
+
220
+ foreach (clone $c as $obj => $data) {
221
+ $map[] = new EnumStub([
222
+ 'object' => $obj,
223
+ 'data' => $data,
224
+ ]);
225
+ }
226
+
227
+ $a += [
228
+ Caster::PREFIX_VIRTUAL.'map' => $map,
229
+ ];
230
+
231
+ return $a;
232
+ }
233
+
234
+ private static function castSplArray(\ArrayObject|\ArrayIterator $c, array $a, Stub $stub, bool $isNested): array
223
235
  {
224
236
  $prefix = Caster::PREFIX_VIRTUAL;
225
237
  $flags = $c->getFlags();
226
238
 
227
239
  if (!($flags & \ArrayObject::STD_PROP_LIST)) {
228
240
  $c->setFlags(\ArrayObject::STD_PROP_LIST);
229
- $a = Caster::castObject($c, \get_class($c), method_exists($c, '__debugInfo'), $stub->class);
241
+ $a = Caster::castObject($c, $c::class, method_exists($c, '__debugInfo'), $stub->class);
230
242
  $c->setFlags($flags);
231
243
  }
232
- if (\PHP_VERSION_ID < 70400) {
233
- $a[$prefix.'storage'] = $c->getArrayCopy();
234
- }
244
+
245
+ unset($a["\0ArrayObject\0storage"], $a["\0ArrayIterator\0storage"]);
246
+
235
247
  $a += [
248
+ $prefix.'storage' => $c->getArrayCopy(),
236
249
  $prefix.'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST),
237
250
  $prefix.'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS),
238
251
  ];
@@ -0,0 +1,32 @@
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 Alexandre Daubois <alex.daubois@gmail.com>
18
+ *
19
+ * @internal
20
+ */
21
+ final class SqliteCaster
22
+ {
23
+ public static function castSqlite3Result(\SQLite3Result $result, array $a, Stub $stub, bool $isNested): array
24
+ {
25
+ $numColumns = $result->numColumns();
26
+ for ($i = 0; $i < $numColumns; ++$i) {
27
+ $a[Caster::PREFIX_VIRTUAL.'columnNames'][$i] = $result->columnName($i);
28
+ }
29
+
30
+ return $a;
31
+ }
32
+ }
@@ -18,11 +18,13 @@ use Symfony\Component\VarDumper\Cloner\Stub;
18
18
  *
19
19
  * @author Nicolas Grekas <p@tchwork.com>
20
20
  *
21
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
22
24
  */
23
25
  class StubCaster
24
26
  {
25
- public static function castStub(Stub $c, array $a, Stub $stub, $isNested)
27
+ public static function castStub(Stub $c, array $a, Stub $stub, bool $isNested): array
26
28
  {
27
29
  if ($isNested) {
28
30
  $stub->type = $c->type;
@@ -43,12 +45,12 @@ class StubCaster
43
45
  return $a;
44
46
  }
45
47
 
46
- public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, $isNested)
48
+ public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, bool $isNested): array
47
49
  {
48
50
  return $isNested ? $c->preservedSubset : $a;
49
51
  }
50
52
 
51
- public static function cutInternals($obj, array $a, Stub $stub, $isNested)
53
+ public static function cutInternals($obj, array $a, Stub $stub, bool $isNested): array
52
54
  {
53
55
  if ($isNested) {
54
56
  $stub->cut += \count($a);
@@ -59,7 +61,7 @@ class StubCaster
59
61
  return $a;
60
62
  }
61
63
 
62
- public static function castEnum(EnumStub $c, array $a, Stub $stub, $isNested)
64
+ public static function castEnum(EnumStub $c, array $a, Stub $stub, bool $isNested): array
63
65
  {
64
66
  if ($isNested) {
65
67
  $stub->class = $c->dumpKeys ? '' : null;
@@ -81,4 +83,12 @@ class StubCaster
81
83
 
82
84
  return $a;
83
85
  }
86
+
87
+ public static function castScalar(ScalarStub $scalarStub, array $a, Stub $stub): array
88
+ {
89
+ $stub->type = Stub::TYPE_SCALAR;
90
+ $stub->attr['value'] = $scalarStub->value;
91
+
92
+ return $a;
93
+ }
84
94
  }
@@ -12,14 +12,19 @@
12
12
  namespace Symfony\Component\VarDumper\Caster;
13
13
 
14
14
  use Symfony\Component\HttpFoundation\Request;
15
+ use Symfony\Component\Uid\Ulid;
16
+ use Symfony\Component\Uid\Uuid;
15
17
  use Symfony\Component\VarDumper\Cloner\Stub;
18
+ use Symfony\Component\VarExporter\Internal\LazyObjectState;
16
19
 
17
20
  /**
18
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
19
24
  */
20
25
  class SymfonyCaster
21
26
  {
22
- private static $requestGetters = [
27
+ private const REQUEST_GETTERS = [
23
28
  'pathInfo' => 'getPathInfo',
24
29
  'requestUri' => 'getRequestUri',
25
30
  'baseUrl' => 'getBaseUrl',
@@ -28,16 +33,14 @@ class SymfonyCaster
28
33
  'format' => 'getRequestFormat',
29
34
  ];
30
35
 
31
- public static function castRequest(Request $request, array $a, Stub $stub, $isNested)
36
+ public static function castRequest(Request $request, array $a, Stub $stub, bool $isNested): array
32
37
  {
33
38
  $clone = null;
34
39
 
35
- foreach (self::$requestGetters as $prop => $getter) {
40
+ foreach (self::REQUEST_GETTERS as $prop => $getter) {
36
41
  $key = Caster::PREFIX_PROTECTED.$prop;
37
42
  if (\array_key_exists($key, $a) && null === $a[$key]) {
38
- if (null === $clone) {
39
- $clone = clone $request;
40
- }
43
+ $clone ??= clone $request;
41
44
  $a[Caster::PREFIX_VIRTUAL.$prop] = $clone->{$getter}();
42
45
  }
43
46
  }
@@ -45,9 +48,9 @@ class SymfonyCaster
45
48
  return $a;
46
49
  }
47
50
 
48
- public static function castHttpClient($client, array $a, Stub $stub, $isNested)
51
+ public static function castHttpClient($client, array $a, Stub $stub, bool $isNested): array
49
52
  {
50
- $multiKey = sprintf("\0%s\0multi", \get_class($client));
53
+ $multiKey = \sprintf("\0%s\0multi", $client::class);
51
54
  if (isset($a[$multiKey])) {
52
55
  $a[$multiKey] = new CutStub($a[$multiKey]);
53
56
  }
@@ -55,7 +58,7 @@ class SymfonyCaster
55
58
  return $a;
56
59
  }
57
60
 
58
- public static function castHttpClientResponse($response, array $a, Stub $stub, $isNested)
61
+ public static function castHttpClientResponse($response, array $a, Stub $stub, bool $isNested): array
59
62
  {
60
63
  $stub->cut += \count($a);
61
64
  $a = [];
@@ -66,4 +69,57 @@ class SymfonyCaster
66
69
 
67
70
  return $a;
68
71
  }
72
+
73
+ public static function castLazyObjectState($state, array $a, Stub $stub, bool $isNested): array
74
+ {
75
+ if (!$isNested) {
76
+ return $a;
77
+ }
78
+
79
+ $stub->cut += \count($a) - 1;
80
+
81
+ $instance = $a['realInstance'] ?? null;
82
+
83
+ if (isset($a['status'])) { // forward-compat with Symfony 8
84
+ $a = ['status' => new ConstStub(match ($a['status']) {
85
+ LazyObjectState::STATUS_INITIALIZED_FULL => 'INITIALIZED_FULL',
86
+ LazyObjectState::STATUS_INITIALIZED_PARTIAL => 'INITIALIZED_PARTIAL',
87
+ LazyObjectState::STATUS_UNINITIALIZED_FULL => 'UNINITIALIZED_FULL',
88
+ LazyObjectState::STATUS_UNINITIALIZED_PARTIAL => 'UNINITIALIZED_PARTIAL',
89
+ }, $a['status'])];
90
+ }
91
+
92
+ if ($instance) {
93
+ $a['realInstance'] = $instance;
94
+ --$stub->cut;
95
+ }
96
+
97
+ return $a;
98
+ }
99
+
100
+ public static function castUuid(Uuid $uuid, array $a, Stub $stub, bool $isNested): array
101
+ {
102
+ $a[Caster::PREFIX_VIRTUAL.'toBase58'] = $uuid->toBase58();
103
+ $a[Caster::PREFIX_VIRTUAL.'toBase32'] = $uuid->toBase32();
104
+
105
+ // symfony/uid >= 5.3
106
+ if (method_exists($uuid, 'getDateTime')) {
107
+ $a[Caster::PREFIX_VIRTUAL.'time'] = $uuid->getDateTime()->format('Y-m-d H:i:s.u \U\T\C');
108
+ }
109
+
110
+ return $a;
111
+ }
112
+
113
+ public static function castUlid(Ulid $ulid, array $a, Stub $stub, bool $isNested): array
114
+ {
115
+ $a[Caster::PREFIX_VIRTUAL.'toBase58'] = $ulid->toBase58();
116
+ $a[Caster::PREFIX_VIRTUAL.'toRfc4122'] = $ulid->toRfc4122();
117
+
118
+ // symfony/uid >= 5.3
119
+ if (method_exists($ulid, 'getDateTime')) {
120
+ $a[Caster::PREFIX_VIRTUAL.'time'] = $ulid->getDateTime()->format('Y-m-d H:i:s.v \U\T\C');
121
+ }
122
+
123
+ return $a;
124
+ }
69
125
  }
@@ -20,17 +20,13 @@ use Symfony\Component\VarDumper\Cloner\Stub;
20
20
  */
21
21
  class TraceStub extends Stub
22
22
  {
23
- public $keepArgs;
24
- public $sliceOffset;
25
- public $sliceLength;
26
- public $numberingOffset;
27
-
28
- public function __construct(array $trace, bool $keepArgs = true, int $sliceOffset = 0, int $sliceLength = null, int $numberingOffset = 0)
29
- {
23
+ public function __construct(
24
+ array $trace,
25
+ public bool $keepArgs = true,
26
+ public int $sliceOffset = 0,
27
+ public ?int $sliceLength = null,
28
+ public int $numberingOffset = 0,
29
+ ) {
30
30
  $this->value = $trace;
31
- $this->keepArgs = $keepArgs;
32
- $this->sliceOffset = $sliceOffset;
33
- $this->sliceLength = $sliceLength;
34
- $this->numberingOffset = $numberingOffset;
35
31
  }
36
32
  }
@@ -0,0 +1,25 @@
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
+ /**
15
+ * Represents an uninitialized property.
16
+ *
17
+ * @author Nicolas Grekas <p@tchwork.com>
18
+ */
19
+ class UninitializedStub extends ConstStub
20
+ {
21
+ public function __construct(\ReflectionProperty $property)
22
+ {
23
+ parent::__construct('?'.($property->hasType() ? ' '.$property->getType() : ''), 'Uninitialized property');
24
+ }
25
+ }
@@ -16,6 +16,8 @@ use Symfony\Component\VarDumper\Cloner\Stub;
16
16
 
17
17
  /**
18
18
  * @author Grégoire Pineau <lyrixx@lyrixx.info>
19
+ *
20
+ * @internal since Symfony 7.3
19
21
  */
20
22
  final class UuidCaster
21
23
  {
@@ -0,0 +1,21 @@
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
+ class VirtualStub extends ConstStub
15
+ {
16
+ public function __construct(\ReflectionProperty $property)
17
+ {
18
+ parent::__construct('~'.($property->hasType() ? ' '.$property->getType() : ''), 'Virtual property');
19
+ $this->attr['virtual'] = true;
20
+ }
21
+ }
@@ -1,4 +1,5 @@
1
1
  <?php
2
+
2
3
  /*
3
4
  * This file is part of the Symfony package.
4
5
  *
@@ -17,11 +18,13 @@ use Symfony\Component\VarDumper\Cloner\Stub;
17
18
  *
18
19
  * @author Baptiste Clavié <clavie.b@gmail.com>
19
20
  *
20
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
21
24
  */
22
25
  class XmlReaderCaster
23
26
  {
24
- private static $nodeTypes = [
27
+ private const NODE_TYPES = [
25
28
  \XMLReader::NONE => 'NONE',
26
29
  \XMLReader::ELEMENT => 'ELEMENT',
27
30
  \XMLReader::ATTRIBUTE => 'ATTRIBUTE',
@@ -42,13 +45,29 @@ class XmlReaderCaster
42
45
  \XMLReader::XML_DECLARATION => 'XML_DECLARATION',
43
46
  ];
44
47
 
45
- public static function castXmlReader(\XMLReader $reader, array $a, Stub $stub, $isNested)
48
+ public static function castXmlReader(\XMLReader $reader, array $a, Stub $stub, bool $isNested): array
46
49
  {
50
+ try {
51
+ $properties = [
52
+ 'LOADDTD' => @$reader->getParserProperty(\XMLReader::LOADDTD),
53
+ 'DEFAULTATTRS' => @$reader->getParserProperty(\XMLReader::DEFAULTATTRS),
54
+ 'VALIDATE' => @$reader->getParserProperty(\XMLReader::VALIDATE),
55
+ 'SUBST_ENTITIES' => @$reader->getParserProperty(\XMLReader::SUBST_ENTITIES),
56
+ ];
57
+ } catch (\Error) {
58
+ $properties = [
59
+ 'LOADDTD' => false,
60
+ 'DEFAULTATTRS' => false,
61
+ 'VALIDATE' => false,
62
+ 'SUBST_ENTITIES' => false,
63
+ ];
64
+ }
65
+
47
66
  $props = Caster::PREFIX_VIRTUAL.'parserProperties';
48
67
  $info = [
49
68
  'localName' => $reader->localName,
50
69
  'prefix' => $reader->prefix,
51
- 'nodeType' => new ConstStub(self::$nodeTypes[$reader->nodeType], $reader->nodeType),
70
+ 'nodeType' => new ConstStub(self::NODE_TYPES[$reader->nodeType], $reader->nodeType),
52
71
  'depth' => $reader->depth,
53
72
  'isDefault' => $reader->isDefault,
54
73
  'isEmptyElement' => \XMLReader::NONE === $reader->nodeType ? null : $reader->isEmptyElement,
@@ -57,12 +76,7 @@ class XmlReaderCaster
57
76
  'value' => $reader->value,
58
77
  'namespaceURI' => $reader->namespaceURI,
59
78
  'baseURI' => $reader->baseURI ? new LinkStub($reader->baseURI) : $reader->baseURI,
60
- $props => [
61
- 'LOADDTD' => $reader->getParserProperty(\XMLReader::LOADDTD),
62
- 'DEFAULTATTRS' => $reader->getParserProperty(\XMLReader::DEFAULTATTRS),
63
- 'VALIDATE' => $reader->getParserProperty(\XMLReader::VALIDATE),
64
- 'SUBST_ENTITIES' => $reader->getParserProperty(\XMLReader::SUBST_ENTITIES),
65
- ],
79
+ $props => $properties,
66
80
  ];
67
81
 
68
82
  if ($info[$props] = Caster::filter($info[$props], Caster::EXCLUDE_EMPTY, [], $count)) {
@@ -70,6 +84,7 @@ class XmlReaderCaster
70
84
  $info[$props]->cut = $count;
71
85
  }
72
86
 
87
+ $a = Caster::filter($a, Caster::EXCLUDE_UNINITIALIZED, [], $count);
73
88
  $info = Caster::filter($info, Caster::EXCLUDE_EMPTY, [], $count);
74
89
  // +2 because hasValue and hasAttributes are always filtered
75
90
  $stub->cut += $count + 2;