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
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
namespace Symfony\Component\VarDumper\Caster;
|
|
13
13
|
|
|
14
|
+
use Relay\Relay;
|
|
14
15
|
use Symfony\Component\VarDumper\Cloner\Stub;
|
|
15
16
|
|
|
16
17
|
/**
|
|
@@ -18,35 +19,37 @@ use Symfony\Component\VarDumper\Cloner\Stub;
|
|
|
18
19
|
*
|
|
19
20
|
* @author Nicolas Grekas <p@tchwork.com>
|
|
20
21
|
*
|
|
21
|
-
* @final
|
|
22
|
+
* @final
|
|
23
|
+
*
|
|
24
|
+
* @internal since Symfony 7.3
|
|
22
25
|
*/
|
|
23
26
|
class RedisCaster
|
|
24
27
|
{
|
|
25
|
-
private
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
private const SERIALIZERS = [
|
|
29
|
+
0 => 'NONE', // Redis::SERIALIZER_NONE
|
|
30
|
+
1 => 'PHP', // Redis::SERIALIZER_PHP
|
|
28
31
|
2 => 'IGBINARY', // Optional Redis::SERIALIZER_IGBINARY
|
|
29
32
|
];
|
|
30
33
|
|
|
31
|
-
private
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
private const MODES = [
|
|
35
|
+
0 => 'ATOMIC', // Redis::ATOMIC
|
|
36
|
+
1 => 'MULTI', // Redis::MULTI
|
|
37
|
+
2 => 'PIPELINE', // Redis::PIPELINE
|
|
35
38
|
];
|
|
36
39
|
|
|
37
|
-
private
|
|
40
|
+
private const COMPRESSION_MODES = [
|
|
38
41
|
0 => 'NONE', // Redis::COMPRESSION_NONE
|
|
39
42
|
1 => 'LZF', // Redis::COMPRESSION_LZF
|
|
40
43
|
];
|
|
41
44
|
|
|
42
|
-
private
|
|
45
|
+
private const FAILOVER_OPTIONS = [
|
|
43
46
|
\RedisCluster::FAILOVER_NONE => 'NONE',
|
|
44
47
|
\RedisCluster::FAILOVER_ERROR => 'ERROR',
|
|
45
48
|
\RedisCluster::FAILOVER_DISTRIBUTE => 'DISTRIBUTE',
|
|
46
49
|
\RedisCluster::FAILOVER_DISTRIBUTE_SLAVES => 'DISTRIBUTE_SLAVES',
|
|
47
50
|
];
|
|
48
51
|
|
|
49
|
-
public static function castRedis(\Redis $c, array $a, Stub $stub, $isNested)
|
|
52
|
+
public static function castRedis(\Redis|Relay $c, array $a, Stub $stub, bool $isNested): array
|
|
50
53
|
{
|
|
51
54
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
52
55
|
|
|
@@ -63,7 +66,7 @@ class RedisCaster
|
|
|
63
66
|
$prefix.'host' => $c->getHost(),
|
|
64
67
|
$prefix.'port' => $c->getPort(),
|
|
65
68
|
$prefix.'auth' => $c->getAuth(),
|
|
66
|
-
$prefix.'mode' => isset(self
|
|
69
|
+
$prefix.'mode' => isset(self::MODES[$mode]) ? new ConstStub(self::MODES[$mode], $mode) : $mode,
|
|
67
70
|
$prefix.'dbNum' => $c->getDbNum(),
|
|
68
71
|
$prefix.'timeout' => $c->getTimeout(),
|
|
69
72
|
$prefix.'lastError' => $c->getLastError(),
|
|
@@ -72,7 +75,7 @@ class RedisCaster
|
|
|
72
75
|
];
|
|
73
76
|
}
|
|
74
77
|
|
|
75
|
-
public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, $isNested)
|
|
78
|
+
public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, bool $isNested): array
|
|
76
79
|
{
|
|
77
80
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
78
81
|
|
|
@@ -84,7 +87,7 @@ class RedisCaster
|
|
|
84
87
|
];
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, $isNested)
|
|
90
|
+
public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, bool $isNested): array
|
|
88
91
|
{
|
|
89
92
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
90
93
|
$failover = $c->getOption(\RedisCluster::OPT_SLAVE_FAILOVER);
|
|
@@ -95,38 +98,35 @@ class RedisCaster
|
|
|
95
98
|
$prefix.'mode' => new ConstStub($c->getMode() ? 'MULTI' : 'ATOMIC', $c->getMode()),
|
|
96
99
|
$prefix.'lastError' => $c->getLastError(),
|
|
97
100
|
$prefix.'options' => self::getRedisOptions($c, [
|
|
98
|
-
'SLAVE_FAILOVER' => isset(self
|
|
101
|
+
'SLAVE_FAILOVER' => isset(self::FAILOVER_OPTIONS[$failover]) ? new ConstStub(self::FAILOVER_OPTIONS[$failover], $failover) : $failover,
|
|
99
102
|
]),
|
|
100
103
|
];
|
|
101
104
|
|
|
102
105
|
return $a;
|
|
103
106
|
}
|
|
104
107
|
|
|
105
|
-
|
|
106
|
-
* @param \Redis|\RedisArray|\RedisCluster $redis
|
|
107
|
-
*/
|
|
108
|
-
private static function getRedisOptions($redis, array $options = []): EnumStub
|
|
108
|
+
private static function getRedisOptions(\Redis|Relay|\RedisArray|\RedisCluster $redis, array $options = []): EnumStub
|
|
109
109
|
{
|
|
110
|
-
$serializer = $redis->getOption(\Redis::OPT_SERIALIZER);
|
|
110
|
+
$serializer = $redis->getOption(\defined('Redis::OPT_SERIALIZER') ? \Redis::OPT_SERIALIZER : 1);
|
|
111
111
|
if (\is_array($serializer)) {
|
|
112
112
|
foreach ($serializer as &$v) {
|
|
113
|
-
if (isset(self
|
|
114
|
-
$v = new ConstStub(self
|
|
113
|
+
if (isset(self::SERIALIZERS[$v])) {
|
|
114
|
+
$v = new ConstStub(self::SERIALIZERS[$v], $v);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
} elseif (isset(self
|
|
118
|
-
$serializer = new ConstStub(self
|
|
117
|
+
} elseif (isset(self::SERIALIZERS[$serializer])) {
|
|
118
|
+
$serializer = new ConstStub(self::SERIALIZERS[$serializer], $serializer);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
$compression = \defined('Redis::OPT_COMPRESSION') ? $redis->getOption(\Redis::OPT_COMPRESSION) : 0;
|
|
122
122
|
if (\is_array($compression)) {
|
|
123
123
|
foreach ($compression as &$v) {
|
|
124
|
-
if (isset(self
|
|
125
|
-
$v = new ConstStub(self
|
|
124
|
+
if (isset(self::COMPRESSION_MODES[$v])) {
|
|
125
|
+
$v = new ConstStub(self::COMPRESSION_MODES[$v], $v);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
} elseif (isset(self
|
|
129
|
-
$compression = new ConstStub(self
|
|
128
|
+
} elseif (isset(self::COMPRESSION_MODES[$compression])) {
|
|
129
|
+
$compression = new ConstStub(self::COMPRESSION_MODES[$compression], $compression);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
$retry = \defined('Redis::OPT_SCAN') ? $redis->getOption(\Redis::OPT_SCAN) : 0;
|
|
@@ -139,11 +139,11 @@ class RedisCaster
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
$options += [
|
|
142
|
-
'TCP_KEEPALIVE' => \defined('Redis::OPT_TCP_KEEPALIVE') ? $redis->getOption(\Redis::OPT_TCP_KEEPALIVE) :
|
|
143
|
-
'READ_TIMEOUT' => $redis->getOption(\Redis::OPT_READ_TIMEOUT),
|
|
142
|
+
'TCP_KEEPALIVE' => \defined('Redis::OPT_TCP_KEEPALIVE') ? $redis->getOption(\Redis::OPT_TCP_KEEPALIVE) : Relay::OPT_TCP_KEEPALIVE,
|
|
143
|
+
'READ_TIMEOUT' => $redis->getOption(\defined('Redis::OPT_READ_TIMEOUT') ? \Redis::OPT_READ_TIMEOUT : Relay::OPT_READ_TIMEOUT),
|
|
144
144
|
'COMPRESSION' => $compression,
|
|
145
145
|
'SERIALIZER' => $serializer,
|
|
146
|
-
'PREFIX' => $redis->getOption(\Redis::OPT_PREFIX),
|
|
146
|
+
'PREFIX' => $redis->getOption(\defined('Redis::OPT_PREFIX') ? \Redis::OPT_PREFIX : Relay::OPT_PREFIX),
|
|
147
147
|
'SCAN' => $retry,
|
|
148
148
|
];
|
|
149
149
|
|
|
@@ -18,13 +18,15 @@ 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 ReflectionCaster
|
|
24
26
|
{
|
|
25
|
-
const UNSET_CLOSURE_FILE_INFO = ['Closure' => __CLASS__.'::unsetClosureFileInfo'];
|
|
27
|
+
public const UNSET_CLOSURE_FILE_INFO = ['Closure' => __CLASS__.'::unsetClosureFileInfo'];
|
|
26
28
|
|
|
27
|
-
private
|
|
29
|
+
private const EXTRA_MAP = [
|
|
28
30
|
'docComment' => 'getDocComment',
|
|
29
31
|
'extension' => 'getExtensionName',
|
|
30
32
|
'isDisabled' => 'isDisabled',
|
|
@@ -35,14 +37,14 @@ class ReflectionCaster
|
|
|
35
37
|
'isVariadic' => 'isVariadic',
|
|
36
38
|
];
|
|
37
39
|
|
|
38
|
-
public static function castClosure(\Closure $c, array $a, Stub $stub, $isNested, $filter = 0)
|
|
40
|
+
public static function castClosure(\Closure $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array
|
|
39
41
|
{
|
|
40
42
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
41
43
|
$c = new \ReflectionFunction($c);
|
|
42
44
|
|
|
43
45
|
$a = static::castFunctionAbstract($c, $a, $stub, $isNested, $filter);
|
|
44
46
|
|
|
45
|
-
if (
|
|
47
|
+
if (!$c->isAnonymous()) {
|
|
46
48
|
$stub->class = isset($a[$prefix.'class']) ? $a[$prefix.'class']->value.'::'.$c->name : $c->name;
|
|
47
49
|
unset($a[$prefix.'class']);
|
|
48
50
|
}
|
|
@@ -71,41 +73,66 @@ class ReflectionCaster
|
|
|
71
73
|
return $a;
|
|
72
74
|
}
|
|
73
75
|
|
|
74
|
-
public static function unsetClosureFileInfo(\Closure $c, array $a)
|
|
76
|
+
public static function unsetClosureFileInfo(\Closure $c, array $a): array
|
|
75
77
|
{
|
|
76
78
|
unset($a[Caster::PREFIX_VIRTUAL.'file'], $a[Caster::PREFIX_VIRTUAL.'line']);
|
|
77
79
|
|
|
78
80
|
return $a;
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
public static function castGenerator(\Generator $c, array $a, Stub $stub, $isNested)
|
|
83
|
+
public static function castGenerator(\Generator $c, array $a, Stub $stub, bool $isNested): array
|
|
82
84
|
{
|
|
83
85
|
// Cannot create ReflectionGenerator based on a terminated Generator
|
|
84
86
|
try {
|
|
85
87
|
$reflectionGenerator = new \ReflectionGenerator($c);
|
|
86
|
-
|
|
88
|
+
|
|
89
|
+
return self::castReflectionGenerator($reflectionGenerator, $a, $stub, $isNested);
|
|
90
|
+
} catch (\Exception) {
|
|
87
91
|
$a[Caster::PREFIX_VIRTUAL.'closed'] = true;
|
|
88
92
|
|
|
89
93
|
return $a;
|
|
90
94
|
}
|
|
91
|
-
|
|
92
|
-
return self::castReflectionGenerator($reflectionGenerator, $a, $stub, $isNested);
|
|
93
95
|
}
|
|
94
96
|
|
|
95
|
-
public static function castType(\ReflectionType $c, array $a, Stub $stub, $isNested)
|
|
97
|
+
public static function castType(\ReflectionType $c, array $a, Stub $stub, bool $isNested): array
|
|
96
98
|
{
|
|
97
99
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
98
100
|
|
|
99
|
-
$
|
|
100
|
-
$
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
if ($c instanceof \ReflectionNamedType) {
|
|
102
|
+
$a += [
|
|
103
|
+
$prefix.'name' => $c->getName(),
|
|
104
|
+
$prefix.'allowsNull' => $c->allowsNull(),
|
|
105
|
+
$prefix.'isBuiltin' => $c->isBuiltin(),
|
|
106
|
+
];
|
|
107
|
+
} elseif ($c instanceof \ReflectionUnionType || $c instanceof \ReflectionIntersectionType) {
|
|
108
|
+
$a[$prefix.'allowsNull'] = $c->allowsNull();
|
|
109
|
+
self::addMap($a, $c, [
|
|
110
|
+
'types' => 'getTypes',
|
|
111
|
+
]);
|
|
112
|
+
} else {
|
|
113
|
+
$a[$prefix.'allowsNull'] = $c->allowsNull();
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return $a;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
public static function castAttribute(\ReflectionAttribute $c, array $a, Stub $stub, bool $isNested): array
|
|
120
|
+
{
|
|
121
|
+
$map = [
|
|
122
|
+
'name' => 'getName',
|
|
123
|
+
'arguments' => 'getArguments',
|
|
103
124
|
];
|
|
104
125
|
|
|
126
|
+
if (\PHP_VERSION_ID >= 80400) {
|
|
127
|
+
unset($map['name']);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
self::addMap($a, $c, $map);
|
|
131
|
+
|
|
105
132
|
return $a;
|
|
106
133
|
}
|
|
107
134
|
|
|
108
|
-
public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, $isNested)
|
|
135
|
+
public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, bool $isNested): array
|
|
109
136
|
{
|
|
110
137
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
111
138
|
|
|
@@ -114,7 +141,7 @@ class ReflectionCaster
|
|
|
114
141
|
}
|
|
115
142
|
$function = $c->getFunction();
|
|
116
143
|
$frame = [
|
|
117
|
-
'class' =>
|
|
144
|
+
'class' => $function->class ?? null,
|
|
118
145
|
'type' => isset($function->class) ? ($function->isStatic() ? '::' : '->') : null,
|
|
119
146
|
'function' => $function->name,
|
|
120
147
|
'file' => $c->getExecutingFile(),
|
|
@@ -125,7 +152,7 @@ class ReflectionCaster
|
|
|
125
152
|
array_unshift($trace, [
|
|
126
153
|
'function' => 'yield',
|
|
127
154
|
'file' => $function->getExecutingFile(),
|
|
128
|
-
'line' => $function->getExecutingLine()
|
|
155
|
+
'line' => $function->getExecutingLine(),
|
|
129
156
|
]);
|
|
130
157
|
$trace[] = $frame;
|
|
131
158
|
$a[$prefix.'trace'] = new TraceStub($trace, false, 0, -1, -1);
|
|
@@ -140,7 +167,7 @@ class ReflectionCaster
|
|
|
140
167
|
return $a;
|
|
141
168
|
}
|
|
142
169
|
|
|
143
|
-
public static function castClass(\ReflectionClass $c, array $a, Stub $stub, $isNested, $filter = 0)
|
|
170
|
+
public static function castClass(\ReflectionClass $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array
|
|
144
171
|
{
|
|
145
172
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
146
173
|
|
|
@@ -151,7 +178,7 @@ class ReflectionCaster
|
|
|
151
178
|
self::addMap($a, $c, [
|
|
152
179
|
'extends' => 'getParentClass',
|
|
153
180
|
'implements' => 'getInterfaceNames',
|
|
154
|
-
'constants' => '
|
|
181
|
+
'constants' => 'getReflectionConstants',
|
|
155
182
|
]);
|
|
156
183
|
|
|
157
184
|
foreach ($c->getProperties() as $n) {
|
|
@@ -162,6 +189,8 @@ class ReflectionCaster
|
|
|
162
189
|
$a[$prefix.'methods'][$n->name] = $n;
|
|
163
190
|
}
|
|
164
191
|
|
|
192
|
+
self::addAttributes($a, $c, $prefix);
|
|
193
|
+
|
|
165
194
|
if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) {
|
|
166
195
|
self::addExtra($a, $c);
|
|
167
196
|
}
|
|
@@ -169,21 +198,21 @@ class ReflectionCaster
|
|
|
169
198
|
return $a;
|
|
170
199
|
}
|
|
171
200
|
|
|
172
|
-
public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, $isNested, $filter = 0)
|
|
201
|
+
public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array
|
|
173
202
|
{
|
|
174
203
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
175
204
|
|
|
176
205
|
self::addMap($a, $c, [
|
|
177
206
|
'returnsReference' => 'returnsReference',
|
|
178
207
|
'returnType' => 'getReturnType',
|
|
179
|
-
'class' => '
|
|
208
|
+
'class' => 'getClosureCalledClass',
|
|
180
209
|
'this' => 'getClosureThis',
|
|
181
210
|
]);
|
|
182
211
|
|
|
183
212
|
if (isset($a[$prefix.'returnType'])) {
|
|
184
213
|
$v = $a[$prefix.'returnType'];
|
|
185
214
|
$v = $v instanceof \ReflectionNamedType ? $v->getName() : (string) $v;
|
|
186
|
-
$a[$prefix.'returnType'] = new ClassStub($a[$prefix.'returnType']->allowsNull() ? '?'.$v : $v, [class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '']);
|
|
215
|
+
$a[$prefix.'returnType'] = new ClassStub($a[$prefix.'returnType'] instanceof \ReflectionNamedType && $a[$prefix.'returnType']->allowsNull() && !\in_array($v, ['mixed', 'null'], true) ? '?'.$v : $v, [class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '']);
|
|
187
216
|
}
|
|
188
217
|
if (isset($a[$prefix.'class'])) {
|
|
189
218
|
$a[$prefix.'class'] = new ClassStub($a[$prefix.'class']);
|
|
@@ -206,6 +235,8 @@ class ReflectionCaster
|
|
|
206
235
|
$a[$prefix.'parameters'] = new EnumStub($a[$prefix.'parameters']);
|
|
207
236
|
}
|
|
208
237
|
|
|
238
|
+
self::addAttributes($a, $c, $prefix);
|
|
239
|
+
|
|
209
240
|
if (!($filter & Caster::EXCLUDE_VERBOSE) && $v = $c->getStaticVariables()) {
|
|
210
241
|
foreach ($v as $k => &$v) {
|
|
211
242
|
if (\is_object($v)) {
|
|
@@ -225,14 +256,24 @@ class ReflectionCaster
|
|
|
225
256
|
return $a;
|
|
226
257
|
}
|
|
227
258
|
|
|
228
|
-
public static function
|
|
259
|
+
public static function castClassConstant(\ReflectionClassConstant $c, array $a, Stub $stub, bool $isNested): array
|
|
229
260
|
{
|
|
230
261
|
$a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers()));
|
|
262
|
+
$a[Caster::PREFIX_VIRTUAL.'value'] = $c->getValue();
|
|
263
|
+
|
|
264
|
+
self::addAttributes($a, $c);
|
|
231
265
|
|
|
232
266
|
return $a;
|
|
233
267
|
}
|
|
234
268
|
|
|
235
|
-
public static function
|
|
269
|
+
public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, bool $isNested): array
|
|
270
|
+
{
|
|
271
|
+
$a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers()));
|
|
272
|
+
|
|
273
|
+
return $a;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, bool $isNested): array
|
|
236
277
|
{
|
|
237
278
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
238
279
|
|
|
@@ -243,6 +284,8 @@ class ReflectionCaster
|
|
|
243
284
|
'allowsNull' => 'allowsNull',
|
|
244
285
|
]);
|
|
245
286
|
|
|
287
|
+
self::addAttributes($a, $c, $prefix);
|
|
288
|
+
|
|
246
289
|
if ($v = $c->getType()) {
|
|
247
290
|
$a[$prefix.'typeHint'] = $v instanceof \ReflectionNamedType ? $v->getName() : (string) $v;
|
|
248
291
|
}
|
|
@@ -254,36 +297,40 @@ class ReflectionCaster
|
|
|
254
297
|
unset($a[$prefix.'allowsNull']);
|
|
255
298
|
}
|
|
256
299
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
300
|
+
if ($c->isOptional()) {
|
|
301
|
+
try {
|
|
302
|
+
$a[$prefix.'default'] = $v = $c->getDefaultValue();
|
|
303
|
+
if ($c->isDefaultValueConstant() && !\is_object($v)) {
|
|
304
|
+
$a[$prefix.'default'] = new ConstStub($c->getDefaultValueConstantName(), $v);
|
|
305
|
+
}
|
|
306
|
+
if (null === $v) {
|
|
307
|
+
unset($a[$prefix.'allowsNull']);
|
|
308
|
+
}
|
|
309
|
+
} catch (\ReflectionException) {
|
|
264
310
|
}
|
|
265
|
-
} catch (\ReflectionException $e) {
|
|
266
311
|
}
|
|
267
312
|
|
|
268
313
|
return $a;
|
|
269
314
|
}
|
|
270
315
|
|
|
271
|
-
public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, $isNested)
|
|
316
|
+
public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, bool $isNested): array
|
|
272
317
|
{
|
|
273
318
|
$a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers()));
|
|
319
|
+
|
|
320
|
+
self::addAttributes($a, $c);
|
|
274
321
|
self::addExtra($a, $c);
|
|
275
322
|
|
|
276
323
|
return $a;
|
|
277
324
|
}
|
|
278
325
|
|
|
279
|
-
public static function castReference(\ReflectionReference $c, array $a, Stub $stub, $isNested)
|
|
326
|
+
public static function castReference(\ReflectionReference $c, array $a, Stub $stub, bool $isNested): array
|
|
280
327
|
{
|
|
281
328
|
$a[Caster::PREFIX_VIRTUAL.'id'] = $c->getId();
|
|
282
329
|
|
|
283
330
|
return $a;
|
|
284
331
|
}
|
|
285
332
|
|
|
286
|
-
public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, $isNested)
|
|
333
|
+
public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, bool $isNested): array
|
|
287
334
|
{
|
|
288
335
|
self::addMap($a, $c, [
|
|
289
336
|
'version' => 'getVersion',
|
|
@@ -299,7 +346,7 @@ class ReflectionCaster
|
|
|
299
346
|
return $a;
|
|
300
347
|
}
|
|
301
348
|
|
|
302
|
-
public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, $isNested)
|
|
349
|
+
public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, bool $isNested): array
|
|
303
350
|
{
|
|
304
351
|
self::addMap($a, $c, [
|
|
305
352
|
'version' => 'getVersion',
|
|
@@ -311,7 +358,7 @@ class ReflectionCaster
|
|
|
311
358
|
return $a;
|
|
312
359
|
}
|
|
313
360
|
|
|
314
|
-
public static function getSignature(array $a)
|
|
361
|
+
public static function getSignature(array $a): string
|
|
315
362
|
{
|
|
316
363
|
$prefix = Caster::PREFIX_VIRTUAL;
|
|
317
364
|
$signature = '';
|
|
@@ -323,7 +370,7 @@ class ReflectionCaster
|
|
|
323
370
|
if (!$type instanceof \ReflectionNamedType) {
|
|
324
371
|
$signature .= $type.' ';
|
|
325
372
|
} else {
|
|
326
|
-
if (
|
|
373
|
+
if ($param->allowsNull() && !\in_array($type->getName(), ['mixed', 'null'], true)) {
|
|
327
374
|
$signature .= '?';
|
|
328
375
|
}
|
|
329
376
|
$signature .= substr(strrchr('\\'.$type->getName(), '\\'), 1).' ';
|
|
@@ -344,9 +391,11 @@ class ReflectionCaster
|
|
|
344
391
|
} elseif (\is_array($v)) {
|
|
345
392
|
$signature .= $v ? '[…'.\count($v).']' : '[]';
|
|
346
393
|
} elseif (\is_string($v)) {
|
|
347
|
-
$signature .= 10 > \strlen($v) &&
|
|
394
|
+
$signature .= 10 > \strlen($v) && !str_contains($v, '\\') ? "'{$v}'" : "'…".\strlen($v)."'";
|
|
348
395
|
} elseif (\is_bool($v)) {
|
|
349
396
|
$signature .= $v ? 'true' : 'false';
|
|
397
|
+
} elseif (\is_object($v)) {
|
|
398
|
+
$signature .= 'new '.substr(strrchr('\\'.get_debug_type($v), '\\'), 1);
|
|
350
399
|
} else {
|
|
351
400
|
$signature .= $v;
|
|
352
401
|
}
|
|
@@ -361,7 +410,7 @@ class ReflectionCaster
|
|
|
361
410
|
return $signature;
|
|
362
411
|
}
|
|
363
412
|
|
|
364
|
-
private static function addExtra(array &$a, \Reflector $c)
|
|
413
|
+
private static function addExtra(array &$a, \Reflector $c): void
|
|
365
414
|
{
|
|
366
415
|
$x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : [];
|
|
367
416
|
|
|
@@ -370,17 +419,17 @@ class ReflectionCaster
|
|
|
370
419
|
$x['line'] = $c->getStartLine().' to '.$c->getEndLine();
|
|
371
420
|
}
|
|
372
421
|
|
|
373
|
-
self::addMap($x, $c, self
|
|
422
|
+
self::addMap($x, $c, self::EXTRA_MAP, '');
|
|
374
423
|
|
|
375
424
|
if ($x) {
|
|
376
425
|
$a[Caster::PREFIX_VIRTUAL.'extra'] = new EnumStub($x);
|
|
377
426
|
}
|
|
378
427
|
}
|
|
379
428
|
|
|
380
|
-
private static function addMap(array &$a,
|
|
429
|
+
private static function addMap(array &$a, object $c, array $map, string $prefix = Caster::PREFIX_VIRTUAL): void
|
|
381
430
|
{
|
|
382
431
|
foreach ($map as $k => $m) {
|
|
383
|
-
if (
|
|
432
|
+
if ('isDisabled' === $k) {
|
|
384
433
|
continue;
|
|
385
434
|
}
|
|
386
435
|
|
|
@@ -389,4 +438,11 @@ class ReflectionCaster
|
|
|
389
438
|
}
|
|
390
439
|
}
|
|
391
440
|
}
|
|
441
|
+
|
|
442
|
+
private static function addAttributes(array &$a, \Reflector $c, string $prefix = Caster::PREFIX_VIRTUAL): void
|
|
443
|
+
{
|
|
444
|
+
foreach ($c->getAttributes() as $n) {
|
|
445
|
+
$a[$prefix.'attributes'][] = $n;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
392
448
|
}
|
|
@@ -18,88 +18,75 @@ 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 ResourceCaster
|
|
24
26
|
{
|
|
25
27
|
/**
|
|
26
|
-
* @
|
|
27
|
-
*
|
|
28
|
-
* @return array
|
|
28
|
+
* @deprecated since Symfony 7.3
|
|
29
29
|
*/
|
|
30
|
-
public static function castCurl($h, array $a, Stub $stub, $isNested)
|
|
30
|
+
public static function castCurl(\CurlHandle $h, array $a, Stub $stub, bool $isNested): array
|
|
31
31
|
{
|
|
32
|
-
|
|
32
|
+
trigger_deprecation('symfony/var-dumper', '7.3', 'The "%s()" method is deprecated without replacement.', __METHOD__);
|
|
33
|
+
|
|
34
|
+
return CurlCaster::castCurl($h, $a, $stub, $isNested);
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
/**
|
|
38
|
+
* @param resource|\Dba\Connection $dba
|
|
39
|
+
*/
|
|
40
|
+
public static function castDba(mixed $dba, array $a, Stub $stub, bool $isNested): array
|
|
36
41
|
{
|
|
42
|
+
if (\PHP_VERSION_ID < 80402 && !\is_resource($dba)) {
|
|
43
|
+
// @see https://github.com/php/php-src/issues/16990
|
|
44
|
+
return $a;
|
|
45
|
+
}
|
|
46
|
+
|
|
37
47
|
$list = dba_list();
|
|
38
48
|
$a['file'] = $list[(int) $dba];
|
|
39
49
|
|
|
40
50
|
return $a;
|
|
41
51
|
}
|
|
42
52
|
|
|
43
|
-
public static function castProcess($process, array $a, Stub $stub, $isNested)
|
|
53
|
+
public static function castProcess($process, array $a, Stub $stub, bool $isNested): array
|
|
44
54
|
{
|
|
45
55
|
return proc_get_status($process);
|
|
46
56
|
}
|
|
47
57
|
|
|
48
|
-
public static function castStream($stream, array $a, Stub $stub, $isNested)
|
|
58
|
+
public static function castStream($stream, array $a, Stub $stub, bool $isNested): array
|
|
49
59
|
{
|
|
50
60
|
$a = stream_get_meta_data($stream) + static::castStreamContext($stream, $a, $stub, $isNested);
|
|
51
|
-
if (
|
|
61
|
+
if ($a['uri'] ?? false) {
|
|
52
62
|
$a['uri'] = new LinkStub($a['uri']);
|
|
53
63
|
}
|
|
54
64
|
|
|
55
65
|
return $a;
|
|
56
66
|
}
|
|
57
67
|
|
|
58
|
-
public static function castStreamContext($stream, array $a, Stub $stub, $isNested)
|
|
68
|
+
public static function castStreamContext($stream, array $a, Stub $stub, bool $isNested): array
|
|
59
69
|
{
|
|
60
70
|
return @stream_context_get_params($stream) ?: $a;
|
|
61
71
|
}
|
|
62
72
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return $a;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public static function castMysqlLink($h, array $a, Stub $stub, $isNested)
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated since Symfony 7.3
|
|
75
|
+
*/
|
|
76
|
+
public static function castGd(\GdImage $gd, array $a, Stub $stub, bool $isNested): array
|
|
72
77
|
{
|
|
73
|
-
|
|
74
|
-
$a['protocol'] = mysql_get_proto_info($h);
|
|
75
|
-
$a['server'] = mysql_get_server_info($h);
|
|
78
|
+
trigger_deprecation('symfony/var-dumper', '7.3', 'The "%s()" method is deprecated without replacement.', __METHOD__);
|
|
76
79
|
|
|
77
|
-
return $a;
|
|
80
|
+
return GdCaster::castGd($gd, $a, $stub, $isNested);
|
|
78
81
|
}
|
|
79
82
|
|
|
80
|
-
|
|
83
|
+
/**
|
|
84
|
+
* @deprecated since Symfony 7.3
|
|
85
|
+
*/
|
|
86
|
+
public static function castOpensslX509(\OpenSSLCertificate $h, array $a, Stub $stub, bool $isNested): array
|
|
81
87
|
{
|
|
82
|
-
|
|
83
|
-
$info = openssl_x509_parse($h, false);
|
|
84
|
-
|
|
85
|
-
$pin = openssl_pkey_get_public($h);
|
|
86
|
-
$pin = openssl_pkey_get_details($pin)['key'];
|
|
87
|
-
$pin = \array_slice(explode("\n", $pin), 1, -2);
|
|
88
|
-
$pin = base64_decode(implode('', $pin));
|
|
89
|
-
$pin = base64_encode(hash('sha256', $pin, true));
|
|
90
|
-
|
|
91
|
-
$a += [
|
|
92
|
-
'subject' => new EnumStub(array_intersect_key($info['subject'], ['organizationName' => true, 'commonName' => true])),
|
|
93
|
-
'issuer' => new EnumStub(array_intersect_key($info['issuer'], ['organizationName' => true, 'commonName' => true])),
|
|
94
|
-
'expiry' => new ConstStub(date(\DateTime::ISO8601, $info['validTo_time_t']), $info['validTo_time_t']),
|
|
95
|
-
'fingerprint' => new EnumStub([
|
|
96
|
-
'md5' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'md5')), 2, ':', true)),
|
|
97
|
-
'sha1' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha1')), 2, ':', true)),
|
|
98
|
-
'sha256' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha256')), 2, ':', true)),
|
|
99
|
-
'pin-sha256' => new ConstStub($pin),
|
|
100
|
-
]),
|
|
101
|
-
];
|
|
88
|
+
trigger_deprecation('symfony/var-dumper', '7.3', 'The "%s()" method is deprecated without replacement.', __METHOD__);
|
|
102
89
|
|
|
103
|
-
return $a;
|
|
90
|
+
return OpenSSLCaster::castOpensslX509($h, $a, $stub, $isNested);
|
|
104
91
|
}
|
|
105
92
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
* Represents any arbitrary value.
|
|
18
|
+
*
|
|
19
|
+
* @author Alexandre Daubois <alex.daubois@gmail.com>
|
|
20
|
+
*/
|
|
21
|
+
class ScalarStub extends Stub
|
|
22
|
+
{
|
|
23
|
+
public function __construct(mixed $value)
|
|
24
|
+
{
|
|
25
|
+
$this->value = $value;
|
|
26
|
+
}
|
|
27
|
+
}
|