gulp-phug 1.3.4 → 2.0.0
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.
- package/README.md +26 -0
- package/index.js +38 -10
- package/package.json +4 -4
- package/support/bootstrap.php +6 -0
- package/support/composer.json +1 -1
- package/support/composer.lock +94 -179
- package/support/vendor/autoload.php +15 -0
- package/support/vendor/bin/phug +119 -0
- package/support/vendor/bin/var-dump-server +119 -0
- package/support/vendor/composer/ClassLoader.php +166 -32
- package/support/vendor/composer/InstalledVersions.php +387 -329
- package/support/vendor/composer/autoload_classmap.php +1 -5
- package/support/vendor/composer/autoload_files.php +2 -3
- package/support/vendor/composer/autoload_namespaces.php +1 -1
- package/support/vendor/composer/autoload_psr4.php +3 -4
- package/support/vendor/composer/autoload_real.php +12 -37
- package/support/vendor/composer/autoload_static.php +6 -17
- package/support/vendor/composer/installed.json +99 -186
- package/support/vendor/composer/installed.php +129 -151
- package/support/vendor/composer/platform_check.php +15 -4
- package/support/vendor/phug/phug/.github/workflows/coverage.yml +61 -0
- package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +48 -0
- package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
- package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
- package/support/vendor/phug/phug/.github/workflows/tests.yml +48 -0
- package/support/vendor/phug/phug/.multi-tester.yml +47 -17
- package/support/vendor/phug/phug/composer.json +27 -18
- package/support/vendor/phug/phug/phpcs.xml +4 -0
- package/support/vendor/phug/phug/phpunit.xml +2 -0
- package/support/vendor/phug/phug/phug +1 -1
- package/support/vendor/phug/phug/release.php +8 -0
- package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +9 -3
- package/support/vendor/phug/phug/src/Phug/Ast/composer.json +2 -3
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/AbstractNodeCompiler.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentListNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +10 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeListNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/BlockNodeCompiler.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CaseNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CodeNodeCompiler.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CommentNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ConditionalNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoctypeNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DocumentNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/EachNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +7 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ExpressionNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/FilterNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ForNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/KeywordNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinCallNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/TextNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/VariableNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhenNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhileNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/YieldNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/CompilerInterface.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +10 -7
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +3 -4
- package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
- package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Event/composer.json +2 -3
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +17 -14
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractValueElement.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AnonymousBlockElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +13 -8
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +7 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/KeywordElement.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +13 -11
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/VariableElement.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Event/FormatEvent.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/HtmlFormat.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XhtmlFormat.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +214 -21
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/FormatInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/PatternTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +5 -6
- package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +9 -6
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/AbstractToken.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +24 -12
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/TokenInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +4 -5
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/State.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Parser/ParserException.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Parser/composer.json +5 -6
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/PluginEnablerTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
- package/support/vendor/phug/phug/src/Phug/Phug/composer.json +9 -6
- package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +13 -13
- package/support/vendor/phug/phug/src/Phug/Reader/composer.json +6 -2
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Task/TasksGroup.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +10 -6
- package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
- package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
- package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
- package/support/vendor/phug/phug/src/Phug/Util/composer.json +7 -8
- package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
- package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
- package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
- package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
- package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
- package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
- package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
- package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
- package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
- package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
- package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
- package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
- package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
- package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
- package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
- package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
- package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
- package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
- package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
- package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
- package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
- package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
- package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
- package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
- package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
- package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
- package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
- package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
- package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
- package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
- package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
- package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
- package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
- package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
- package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
- package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
- package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
- package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
- package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
- package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
- package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
- package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
- package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
- package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
- package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
- package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
- package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
- package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
- package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
- package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
- package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
- package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
- package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
- package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
- package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
- package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
- package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
- package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
- package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
- package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
- package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
- package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
- package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
- package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
- package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
- package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
- package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
- package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
- package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
- package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
- package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
- package/support/vendor/symfony/var-dumper/LICENSE +1 -1
- package/support/vendor/symfony/var-dumper/README.md +6 -6
- package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
- package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
- package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
- package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
- package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
- package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
- package/support/vendor/symfony/var-dumper/composer.json +10 -16
- package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
- package/support/vendor/symfony/polyfill-php72/README.md +0 -28
- package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
- package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
- package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
- package/support/vendor/symfony/polyfill-php80/README.md +0 -24
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
- package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
- 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
|
|
21
|
+
* @final
|
|
22
|
+
*
|
|
23
|
+
* @internal since Symfony 7.3
|
|
22
24
|
*/
|
|
23
25
|
class SplCaster
|
|
24
26
|
{
|
|
25
|
-
private
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
106
|
+
$a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
|
|
112
107
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
108
|
+
return $a;
|
|
109
|
+
} catch (\Error $e) {
|
|
110
|
+
if ('Object not initialized' !== $e->getMessage()) {
|
|
111
|
+
throw $e;
|
|
112
|
+
}
|
|
118
113
|
|
|
119
|
-
|
|
114
|
+
$a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
|
|
120
115
|
|
|
121
|
-
|
|
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
|
|
122
|
+
} catch (\Exception) {
|
|
129
123
|
}
|
|
130
124
|
}
|
|
131
125
|
|
|
132
|
-
if (
|
|
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
|
|
160
|
+
} catch (\Exception) {
|
|
167
161
|
}
|
|
168
162
|
}
|
|
169
163
|
|
|
170
164
|
if (isset($a[$prefix.'flags'])) {
|
|
171
165
|
$flagsArray = [];
|
|
172
|
-
foreach (self
|
|
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
|
-
|
|
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,
|
|
241
|
+
$a = Caster::castObject($c, $c::class, method_exists($c, '__debugInfo'), $stub->class);
|
|
230
242
|
$c->setFlags($flags);
|
|
231
243
|
}
|
|
232
|
-
|
|
233
|
-
|
|
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
|
|
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
|
|
21
|
+
* @final
|
|
22
|
+
*
|
|
23
|
+
* @internal since Symfony 7.3
|
|
19
24
|
*/
|
|
20
25
|
class SymfonyCaster
|
|
21
26
|
{
|
|
22
|
-
private
|
|
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
|
|
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
|
-
|
|
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",
|
|
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
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
+
}
|
|
@@ -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
|
|
21
|
+
* @final
|
|
22
|
+
*
|
|
23
|
+
* @internal since Symfony 7.3
|
|
21
24
|
*/
|
|
22
25
|
class XmlReaderCaster
|
|
23
26
|
{
|
|
24
|
-
private
|
|
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
|
|
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;
|