gulp-phug 1.3.4 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +23 -8
- package/package.json +4 -4
- package/support/composer.json +1 -1
- package/support/composer.lock +93 -178
- 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 +97 -184
- package/support/vendor/composer/installed.php +129 -151
- package/support/vendor/composer/platform_check.php +16 -4
- package/support/vendor/phug/phug/.github/workflows/coverage.yml +71 -0
- package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +46 -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 +49 -0
- package/support/vendor/phug/phug/.multi-tester.yml +42 -10
- package/support/vendor/phug/phug/composer.json +25 -16
- 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 +7 -1
- package/support/vendor/phug/phug/src/Phug/Ast/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +9 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +1 -0
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +6 -0
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +5 -2
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +1 -2
- 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 +1 -2
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +15 -12
- 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/AssignmentElement.php +9 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +4 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +10 -8
- 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/Format/XmlFormat.php +213 -20
- 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.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +1 -2
- package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +5 -2
- 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 +23 -11
- 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 +1 -1
- 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/composer.json +1 -2
- 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/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/composer.json +1 -2
- 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/Phug.php +14 -5
- package/support/vendor/phug/phug/src/Phug/Phug/composer.json +5 -2
- package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +9 -9
- package/support/vendor/phug/phug/src/Phug/Reader/composer.json +4 -0
- 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/composer.json +7 -3
- 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 +1 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
- package/support/vendor/phug/phug/src/Phug/Util/composer.json +5 -6
- 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
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
namespace Phug\Formatter\Element;
|
|
4
4
|
|
|
5
5
|
use Phug\Formatter\AbstractElement;
|
|
6
|
+
use Phug\Util\AttributesInterface;
|
|
6
7
|
use Phug\Util\Partial\AttributeTrait;
|
|
7
8
|
use Phug\Util\Partial\NameTrait;
|
|
8
9
|
|
|
9
|
-
class MixinElement extends AbstractElement
|
|
10
|
+
class MixinElement extends AbstractElement implements AttributesInterface
|
|
10
11
|
{
|
|
11
12
|
use AttributeTrait;
|
|
12
13
|
use NameTrait;
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
namespace Phug\Formatter\Format;
|
|
4
4
|
|
|
5
|
+
use Closure;
|
|
6
|
+
use Generator;
|
|
7
|
+
use InvalidArgumentException;
|
|
5
8
|
use Phug\Formatter;
|
|
6
9
|
use Phug\Formatter\AbstractFormat;
|
|
10
|
+
use Phug\Formatter\AssignmentContainerInterface;
|
|
7
11
|
use Phug\Formatter\Element\AbstractValueElement;
|
|
8
12
|
use Phug\Formatter\Element\AssignmentElement;
|
|
9
13
|
use Phug\Formatter\Element\AttributeElement;
|
|
@@ -16,7 +20,9 @@ use Phug\Formatter\ElementInterface;
|
|
|
16
20
|
use Phug\Formatter\MarkupInterface;
|
|
17
21
|
use Phug\Formatter\Partial\AssignmentHelpersTrait;
|
|
18
22
|
use Phug\FormatterException;
|
|
23
|
+
use Phug\Util\AttributesInterface;
|
|
19
24
|
use Phug\Util\Joiner;
|
|
25
|
+
use Phug\Util\OrderedValue;
|
|
20
26
|
use SplObjectStorage;
|
|
21
27
|
|
|
22
28
|
class XmlFormat extends AbstractFormat
|
|
@@ -161,19 +167,23 @@ class XmlFormat extends AbstractFormat
|
|
|
161
167
|
$value = $element->getValue();
|
|
162
168
|
$name = $element->getName();
|
|
163
169
|
$nonEmptyAttribute = ($name === 'class' || $name === 'id');
|
|
170
|
+
|
|
164
171
|
if ($nonEmptyAttribute && (
|
|
165
172
|
!$value ||
|
|
166
|
-
($value instanceof TextElement && ($value->getValue()
|
|
167
|
-
(is_string($value) && in_array(trim($value), ['', '""', "''"]))
|
|
173
|
+
($value instanceof TextElement && ((string) $value->getValue()) === '') ||
|
|
174
|
+
(is_string($value) && in_array(trim($value), ['', '""', "''"], true))
|
|
168
175
|
)) {
|
|
169
176
|
return '';
|
|
170
177
|
}
|
|
178
|
+
|
|
171
179
|
if ($value instanceof ExpressionElement) {
|
|
172
|
-
if ($nonEmptyAttribute && in_array(trim($value->getValue()), ['', '""', "''"])) {
|
|
180
|
+
if ($nonEmptyAttribute && in_array(trim($value->getValue()), ['', '""', "''"], true)) {
|
|
173
181
|
return '';
|
|
174
182
|
}
|
|
183
|
+
|
|
175
184
|
if (strtolower($value->getValue()) === 'true') {
|
|
176
185
|
$formattedValue = null;
|
|
186
|
+
|
|
177
187
|
if ($name instanceof ExpressionElement) {
|
|
178
188
|
$bufferVariable = $this->pattern('buffer_variable');
|
|
179
189
|
$name = $this->pattern(
|
|
@@ -187,6 +197,7 @@ class XmlFormat extends AbstractFormat
|
|
|
187
197
|
$value = new ExpressionElement($bufferVariable);
|
|
188
198
|
$formattedValue = $this->format($value);
|
|
189
199
|
}
|
|
200
|
+
|
|
190
201
|
$formattedName = $this->format($name);
|
|
191
202
|
$formattedValue = $formattedValue || $formattedValue === '0'
|
|
192
203
|
? $formattedValue
|
|
@@ -198,7 +209,8 @@ class XmlFormat extends AbstractFormat
|
|
|
198
209
|
$formattedValue
|
|
199
210
|
);
|
|
200
211
|
}
|
|
201
|
-
|
|
212
|
+
|
|
213
|
+
if (in_array(strtolower($value->getValue()), ['false', 'null', 'undefined'], true)) {
|
|
202
214
|
return '';
|
|
203
215
|
}
|
|
204
216
|
}
|
|
@@ -265,26 +277,172 @@ class XmlFormat extends AbstractFormat
|
|
|
265
277
|
|
|
266
278
|
/* @var MarkupElement $markup */
|
|
267
279
|
$markup = $element->getContainer();
|
|
280
|
+
$attributeOrder = $this->hasOption('attribute_precedence')
|
|
281
|
+
? $this->getOption('attribute_precedence')
|
|
282
|
+
: 'assignment';
|
|
283
|
+
|
|
284
|
+
switch ($attributeOrder) {
|
|
285
|
+
case 'assignment':
|
|
286
|
+
case 'assignments':
|
|
287
|
+
$arguments = array_merge(
|
|
288
|
+
$markup instanceof AttributesInterface
|
|
289
|
+
? $this->formatMarkupAttributes($markup)
|
|
290
|
+
: [],
|
|
291
|
+
$markup instanceof AssignmentContainerInterface
|
|
292
|
+
? $this->formatAttributeAssignments($markup)
|
|
293
|
+
: []
|
|
294
|
+
);
|
|
295
|
+
break;
|
|
296
|
+
|
|
297
|
+
case 'attribute':
|
|
298
|
+
case 'attributes':
|
|
299
|
+
$arguments = array_merge(
|
|
300
|
+
$markup instanceof AssignmentContainerInterface
|
|
301
|
+
? $this->formatAttributeAssignments($markup)
|
|
302
|
+
: [],
|
|
303
|
+
$markup instanceof AttributesInterface
|
|
304
|
+
? $this->formatMarkupAttributes($markup)
|
|
305
|
+
: []
|
|
306
|
+
);
|
|
307
|
+
break;
|
|
308
|
+
|
|
309
|
+
case 'left':
|
|
310
|
+
$arguments = $this->getSortedAttributes($markup, static function (OrderedValue $a, OrderedValue $b) {
|
|
311
|
+
return $b->getOrder() - $a->getOrder();
|
|
312
|
+
});
|
|
313
|
+
break;
|
|
314
|
+
|
|
315
|
+
case 'right':
|
|
316
|
+
$arguments = $this->getSortedAttributes($markup, static function (OrderedValue $a, OrderedValue $b) {
|
|
317
|
+
return $a->getOrder() - $b->getOrder();
|
|
318
|
+
});
|
|
319
|
+
break;
|
|
268
320
|
|
|
321
|
+
default:
|
|
322
|
+
if (!is_callable($attributeOrder)) {
|
|
323
|
+
throw new InvalidArgumentException(
|
|
324
|
+
'Option attribute_precedence must be '.
|
|
325
|
+
'"assignment" (default), "attribute", "left", "right" or a callable.'
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
$arguments = array_map(static function ($argument) {
|
|
330
|
+
return $argument instanceof OrderedValue ? $argument->getValue() : $argument;
|
|
331
|
+
}, $attributeOrder(
|
|
332
|
+
$markup instanceof AssignmentContainerInterface
|
|
333
|
+
? $this->formatOrderedAttributeAssignments($markup)
|
|
334
|
+
: [],
|
|
335
|
+
$markup instanceof AttributesInterface
|
|
336
|
+
? $this->formatOrderedMarkupAttributes($markup)
|
|
337
|
+
: []
|
|
338
|
+
));
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
foreach ($markup->getAssignments() as $assignment) {
|
|
342
|
+
/* @var AssignmentElement $assignment */
|
|
343
|
+
$this->throwException(
|
|
344
|
+
'Unable to handle '.$assignment->getName().' assignment',
|
|
345
|
+
$assignment
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
if (count($arguments)) {
|
|
350
|
+
yield $this->attributesAssignmentsFromPairs($arguments);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* @param AssignmentContainerInterface $markup
|
|
356
|
+
*
|
|
357
|
+
* @return array<string>
|
|
358
|
+
*/
|
|
359
|
+
protected function formatAttributeAssignments(AssignmentContainerInterface $markup)
|
|
360
|
+
{
|
|
361
|
+
$arguments = [];
|
|
362
|
+
|
|
363
|
+
foreach ($this->yieldAssignmentAttributes($markup) as $attribute) {
|
|
364
|
+
$arguments[] = $this->formatInnerCodeValue($attribute);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
return $arguments;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* @param AssignmentContainerInterface $markup
|
|
372
|
+
*
|
|
373
|
+
* @return list<OrderedValue<string>>
|
|
374
|
+
*/
|
|
375
|
+
protected function formatOrderedAttributeAssignments(AssignmentContainerInterface $markup)
|
|
376
|
+
{
|
|
269
377
|
$arguments = [];
|
|
270
378
|
|
|
379
|
+
foreach ($this->yieldAssignmentOrderedAttributes($markup) as $attribute => $order) {
|
|
380
|
+
$arguments[] = new OrderedValue($this->formatInnerCodeValue($attribute), $order);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
return $arguments;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* @param AbstractValueElement|mixed $value
|
|
388
|
+
*
|
|
389
|
+
* @return string
|
|
390
|
+
*/
|
|
391
|
+
protected function formatInnerCodeValue($value)
|
|
392
|
+
{
|
|
393
|
+
$checked = method_exists($value, 'isChecked') && $value->isChecked();
|
|
394
|
+
|
|
395
|
+
while (method_exists($value, 'getValue')) {
|
|
396
|
+
$value = $value->getValue();
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
return $this->formatCode($value, $checked);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* @param AssignmentContainerInterface $markup
|
|
404
|
+
*
|
|
405
|
+
* @return Generator<AbstractValueElement>
|
|
406
|
+
*/
|
|
407
|
+
protected function yieldAssignmentAttributes(AssignmentContainerInterface $markup)
|
|
408
|
+
{
|
|
271
409
|
foreach ($markup->getAssignmentsByName('attributes') as $attributesAssignment) {
|
|
272
410
|
/* @var AssignmentElement $attributesAssignment */
|
|
273
411
|
foreach ($attributesAssignment->getAttributes() as $attribute) {
|
|
274
412
|
/* @var AbstractValueElement $attribute */
|
|
275
|
-
|
|
276
|
-
|
|
413
|
+
yield $attribute;
|
|
414
|
+
}
|
|
277
415
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
416
|
+
$markup->removedAssignment($attributesAssignment);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
281
419
|
|
|
282
|
-
|
|
420
|
+
/**
|
|
421
|
+
* @param AssignmentContainerInterface $markup
|
|
422
|
+
*
|
|
423
|
+
* @return Generator<AbstractValueElement, int|null>
|
|
424
|
+
*/
|
|
425
|
+
protected function yieldAssignmentOrderedAttributes(AssignmentContainerInterface $markup)
|
|
426
|
+
{
|
|
427
|
+
foreach ($markup->getAssignmentsByName('attributes') as $attributesAssignment) {
|
|
428
|
+
/* @var AssignmentElement $attributesAssignment */
|
|
429
|
+
foreach ($attributesAssignment->getAttributes() as $attribute) {
|
|
430
|
+
/* @var AbstractValueElement $attribute */
|
|
431
|
+
yield $attribute => $attributesAssignment->getOrder();
|
|
283
432
|
}
|
|
284
433
|
|
|
285
434
|
$markup->removedAssignment($attributesAssignment);
|
|
286
435
|
}
|
|
436
|
+
}
|
|
287
437
|
|
|
438
|
+
/**
|
|
439
|
+
* @param AttributesInterface $markup
|
|
440
|
+
*
|
|
441
|
+
* @return list<string>
|
|
442
|
+
*/
|
|
443
|
+
protected function formatMarkupAttributes(AttributesInterface $markup)
|
|
444
|
+
{
|
|
445
|
+
$arguments = [];
|
|
288
446
|
$attributes = $markup->getAttributes();
|
|
289
447
|
|
|
290
448
|
foreach ($attributes as $attribute) {
|
|
@@ -294,17 +452,27 @@ class XmlFormat extends AbstractFormat
|
|
|
294
452
|
|
|
295
453
|
$attributes->removeAll($attributes);
|
|
296
454
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
$this->throwException(
|
|
300
|
-
'Unable to handle '.$assignment->getName().' assignment',
|
|
301
|
-
$assignment
|
|
302
|
-
);
|
|
303
|
-
}
|
|
455
|
+
return $arguments;
|
|
456
|
+
}
|
|
304
457
|
|
|
305
|
-
|
|
306
|
-
|
|
458
|
+
/**
|
|
459
|
+
* @param AttributesInterface $markup
|
|
460
|
+
*
|
|
461
|
+
* @return list<OrderedValue<string>>
|
|
462
|
+
*/
|
|
463
|
+
protected function formatOrderedMarkupAttributes(AttributesInterface $markup)
|
|
464
|
+
{
|
|
465
|
+
$arguments = [];
|
|
466
|
+
$attributes = $markup->getAttributes();
|
|
467
|
+
|
|
468
|
+
foreach ($attributes as $attribute) {
|
|
469
|
+
/* @var AttributeElement $attribute */
|
|
470
|
+
$arguments[] = new OrderedValue($this->formatAttributeAsArrayItem($attribute), $attribute->getOrder());
|
|
307
471
|
}
|
|
472
|
+
|
|
473
|
+
$attributes->removeAll($attributes);
|
|
474
|
+
|
|
475
|
+
return $arguments;
|
|
308
476
|
}
|
|
309
477
|
|
|
310
478
|
/**
|
|
@@ -325,7 +493,9 @@ class XmlFormat extends AbstractFormat
|
|
|
325
493
|
$names = [];
|
|
326
494
|
foreach ($element->getAttributes() as $attribute) {
|
|
327
495
|
$name = $attribute->getName();
|
|
328
|
-
if (($name instanceof ExpressionElement && !$name->hasStaticValue()) ||
|
|
496
|
+
if (($name instanceof ExpressionElement && !$name->hasStaticValue()) ||
|
|
497
|
+
in_array($name, $names, true)
|
|
498
|
+
) {
|
|
329
499
|
return true;
|
|
330
500
|
}
|
|
331
501
|
|
|
@@ -395,4 +565,27 @@ class XmlFormat extends AbstractFormat
|
|
|
395
565
|
? $this->getIndent().$tag.$this->getNewLine()
|
|
396
566
|
: $tag;
|
|
397
567
|
}
|
|
568
|
+
|
|
569
|
+
/**
|
|
570
|
+
* @param AssignmentContainerInterface|AttributesInterface|mixed $markup
|
|
571
|
+
* @param Closure(OrderedValue, OrderedValue): int $sorter
|
|
572
|
+
*
|
|
573
|
+
* @return list<string>
|
|
574
|
+
*/
|
|
575
|
+
private function getSortedAttributes($markup, Closure $sorter)
|
|
576
|
+
{
|
|
577
|
+
$arguments = array_merge(
|
|
578
|
+
$markup instanceof AssignmentContainerInterface
|
|
579
|
+
? $this->formatOrderedAttributeAssignments($markup)
|
|
580
|
+
: [],
|
|
581
|
+
$markup instanceof AttributesInterface
|
|
582
|
+
? $this->formatOrderedMarkupAttributes($markup)
|
|
583
|
+
: []
|
|
584
|
+
);
|
|
585
|
+
usort($arguments, $sorter);
|
|
586
|
+
|
|
587
|
+
return array_map(static function (OrderedValue $value) {
|
|
588
|
+
return $value->getValue();
|
|
589
|
+
}, $arguments);
|
|
590
|
+
}
|
|
398
591
|
}
|
package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php
CHANGED
|
@@ -14,7 +14,7 @@ trait AssignmentHelpersTrait
|
|
|
14
14
|
'get_helper',
|
|
15
15
|
function ($availableAssignments, $getHelper) {
|
|
16
16
|
return function (&$attributes, $name, $value) use ($availableAssignments, $getHelper) {
|
|
17
|
-
if (!in_array($name, $availableAssignments)) {
|
|
17
|
+
if (!in_array($name, $availableAssignments, true)) {
|
|
18
18
|
return $value;
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -37,7 +37,7 @@ trait AssignmentHelpersTrait
|
|
|
37
37
|
return function (&$attributes, $name, $value) use ($attributeAssignments) {
|
|
38
38
|
if (isset($name) && $name !== '') {
|
|
39
39
|
$result = $attributeAssignments($attributes, $name, $value);
|
|
40
|
-
if (
|
|
40
|
+
if ($result !== null && $result !== false && ($result !== '' || $name !== 'class')) {
|
|
41
41
|
$attributes[$name] = $result;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -143,7 +143,7 @@ trait AssignmentHelpersTrait
|
|
|
143
143
|
'pattern.html_text_escape',
|
|
144
144
|
function ($arrayEscape, $escape) {
|
|
145
145
|
return function ($name, $input) use ($arrayEscape, $escape) {
|
|
146
|
-
if (is_array($input) && in_array(strtolower($name), ['class', 'style'])) {
|
|
146
|
+
if (is_array($input) && in_array(strtolower($name), ['class', 'style'], true)) {
|
|
147
147
|
$result = [];
|
|
148
148
|
foreach ($input as $key => $value) {
|
|
149
149
|
$result[$escape($key)] = $arrayEscape($name, $value);
|
|
@@ -183,7 +183,7 @@ trait AssignmentHelpersTrait
|
|
|
183
183
|
$input = $key;
|
|
184
184
|
}
|
|
185
185
|
foreach ($split($input) as $class) {
|
|
186
|
-
if (!in_array($class, $classes)) {
|
|
186
|
+
if (!in_array($class, $classes, true)) {
|
|
187
187
|
$classes[] = $class;
|
|
188
188
|
}
|
|
189
189
|
}
|
|
@@ -202,11 +202,14 @@ trait AssignmentHelpersTrait
|
|
|
202
202
|
if (is_string($value) && mb_substr($value, 0, 7) === '{"') {
|
|
203
203
|
$value = json_decode(htmlspecialchars_decode($value));
|
|
204
204
|
}
|
|
205
|
+
|
|
205
206
|
$styles = isset($attributes['style']) ? array_filter(explode(';', $attributes['style'])) : [];
|
|
207
|
+
|
|
206
208
|
foreach ((array) $value as $propertyName => $propertyValue) {
|
|
207
209
|
if (!is_int($propertyName)) {
|
|
208
210
|
$propertyValue = $propertyName.':'.$propertyValue;
|
|
209
211
|
}
|
|
212
|
+
|
|
210
213
|
$styles[] = $propertyValue;
|
|
211
214
|
}
|
|
212
215
|
|
|
@@ -24,7 +24,7 @@ trait HandleVariable
|
|
|
24
24
|
{
|
|
25
25
|
$afterOpen = false;
|
|
26
26
|
for ($i = $index - 1; $i >= 0; $i--) {
|
|
27
|
-
if (in_array($tokens[$i], [')', '}'])) {
|
|
27
|
+
if (in_array($tokens[$i], [')', '}'], true)) {
|
|
28
28
|
break;
|
|
29
29
|
}
|
|
30
30
|
if ($tokens[$i] === '(') {
|
|
@@ -34,7 +34,7 @@ trait HandleVariable
|
|
|
34
34
|
if ($afterOpen && is_array($tokens[$i]) && in_array($tokens[$i][0], [
|
|
35
35
|
T_FUNCTION,
|
|
36
36
|
T_USE,
|
|
37
|
-
])) {
|
|
37
|
+
], true)) {
|
|
38
38
|
return true;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -102,13 +102,13 @@ trait HandleVariable
|
|
|
102
102
|
T_COMMENT,
|
|
103
103
|
T_DOC_COMMENT,
|
|
104
104
|
T_WHITESPACE,
|
|
105
|
-
])) {
|
|
105
|
+
], true)) {
|
|
106
106
|
continue;
|
|
107
107
|
}
|
|
108
108
|
break;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
if (in_array($tokenId, $exclusions)) {
|
|
111
|
+
if (in_array($tokenId, $exclusions, true)) {
|
|
112
112
|
return true;
|
|
113
113
|
}
|
|
114
114
|
}
|
package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php
CHANGED
|
@@ -6,13 +6,7 @@ trait MagicAccessorTrait
|
|
|
6
6
|
{
|
|
7
7
|
private function getMethod($prefix, $name)
|
|
8
8
|
{
|
|
9
|
-
|
|
10
|
-
case 'nodes':
|
|
11
|
-
$name = 'children';
|
|
12
|
-
break;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return $prefix.ucfirst($name);
|
|
9
|
+
return $prefix.ucfirst($name === 'nodes' ? 'children' : $name);
|
|
16
10
|
}
|
|
17
11
|
|
|
18
12
|
public function __get($name)
|
|
@@ -504,7 +504,7 @@ class Formatter implements ModuleContainerInterface
|
|
|
504
504
|
}
|
|
505
505
|
|
|
506
506
|
foreach ($this->mixins->getRequirementsStates() as $key => $value) {
|
|
507
|
-
if ($value || $this->mixinsAllRequired || in_array($key, $this->mixinsPreCalled)) {
|
|
507
|
+
if ($value || $this->mixinsAllRequired || in_array($key, $this->mixinsPreCalled, true)) {
|
|
508
508
|
$dependencies .= $this->mixins->get($key);
|
|
509
509
|
}
|
|
510
510
|
}
|
|
@@ -107,7 +107,7 @@ class Invoker implements InvokerInterface
|
|
|
107
107
|
$filteredQueue = new ListenerQueue();
|
|
108
108
|
|
|
109
109
|
foreach ($queue as $invokable) {
|
|
110
|
-
if (!in_array($invokable, $invokables)) {
|
|
110
|
+
if (!in_array($invokable, $invokables, true)) {
|
|
111
111
|
$filteredQueue->insert($invokable, 0);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
"homepage": "http://phug-lang.com",
|
|
8
8
|
"authors": [
|
|
9
9
|
{
|
|
10
|
-
"name": "
|
|
11
|
-
"email": "jade-php@selfbuild.fr",
|
|
10
|
+
"name": "kylekatarnls",
|
|
12
11
|
"homepage": "http://github.com/kylekatarnls"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Torben Koehn",
|
|
15
|
+
"email": "torben@talesoft.codes"
|
|
13
16
|
}
|
|
14
17
|
],
|
|
15
18
|
"support": {
|
|
@@ -23,7 +23,7 @@ trait IndentStyleTrait
|
|
|
23
23
|
/**
|
|
24
24
|
* Returns the currently used indentation style.
|
|
25
25
|
*
|
|
26
|
-
* @return string
|
|
26
|
+
* @return string|null
|
|
27
27
|
*/
|
|
28
28
|
public function getIndentStyle()
|
|
29
29
|
{
|
|
@@ -36,13 +36,13 @@ trait IndentStyleTrait
|
|
|
36
36
|
* The value needs to be one of the `Lexer::INDENT_*` constants, but you can also just
|
|
37
37
|
* pass either a single space or a single tab for the respective style.
|
|
38
38
|
*
|
|
39
|
-
* @param $indentStyle
|
|
39
|
+
* @param string|null $indentStyle
|
|
40
40
|
*
|
|
41
41
|
* @return $this
|
|
42
42
|
*/
|
|
43
43
|
public function setIndentStyle($indentStyle)
|
|
44
44
|
{
|
|
45
|
-
if (!in_array($indentStyle, [null, Lexer::INDENT_TAB, Lexer::INDENT_SPACE])) {
|
|
45
|
+
if (!in_array($indentStyle, [null, Lexer::INDENT_TAB, Lexer::INDENT_SPACE], true)) {
|
|
46
46
|
throw new \InvalidArgumentException(
|
|
47
47
|
'indentStyle needs to be null or one of the INDENT_* constants of the lexer'
|
|
48
48
|
);
|
|
@@ -56,7 +56,7 @@ trait IndentStyleTrait
|
|
|
56
56
|
/**
|
|
57
57
|
* Returns the currently used indentation width.
|
|
58
58
|
*
|
|
59
|
-
* @return int
|
|
59
|
+
* @return int|null
|
|
60
60
|
*/
|
|
61
61
|
public function getIndentWidth()
|
|
62
62
|
{
|
|
@@ -68,7 +68,7 @@ trait IndentStyleTrait
|
|
|
68
68
|
*
|
|
69
69
|
* The value of this specifies if e.g. 2 spaces make up one indentation level or 4.
|
|
70
70
|
*
|
|
71
|
-
* @param $indentWidth
|
|
71
|
+
* @param int|null $indentWidth
|
|
72
72
|
*
|
|
73
73
|
* @return $this
|
|
74
74
|
*/
|
|
@@ -14,9 +14,15 @@ class AssignmentScanner implements ScannerInterface
|
|
|
14
14
|
{
|
|
15
15
|
public function scan(State $state)
|
|
16
16
|
{
|
|
17
|
-
|
|
17
|
+
foreach ($state->scanToken(
|
|
18
18
|
AssignmentToken::class,
|
|
19
19
|
'&(?<name>[a-zA-Z_][a-zA-Z0-9\-_]*)'
|
|
20
|
-
)
|
|
20
|
+
) as $token) {
|
|
21
|
+
yield $token;
|
|
22
|
+
|
|
23
|
+
foreach ($state->scan(AttributeScanner::class, ['allow_name' => false]) as $attributeToken) {
|
|
24
|
+
yield $attributeToken;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
21
27
|
}
|
|
22
28
|
}
|
|
@@ -30,7 +30,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
30
30
|
$expression = preg_replace('/
|
|
31
31
|
"(?:\\\\[\\S\\s]|[^"\\\\])*"|
|
|
32
32
|
\'(?:\\\\[\\S\\s]|[^\'\\\\])*\'
|
|
33
|
-
/x', '0', $expression);
|
|
33
|
+
/x', '0', (string) $expression);
|
|
34
34
|
$expression = preg_replace('/\\s*(
|
|
35
35
|
(\\[([^\\[\\]]+|(?1))*\\]) |
|
|
36
36
|
(\\(([^\\(\\)]+|(?1))*\\)) |
|
|
@@ -42,6 +42,8 @@ class AttributeScanner implements ScannerInterface
|
|
|
42
42
|
|
|
43
43
|
private function isTruncatedExpression(Reader $reader, &$expression)
|
|
44
44
|
{
|
|
45
|
+
$expression = (string) $expression;
|
|
46
|
+
|
|
45
47
|
if (mb_substr($expression, -3) === 'new' || mb_substr($expression, -5) === 'clone') {
|
|
46
48
|
$expression .= $reader->getLastPeekResult();
|
|
47
49
|
$reader->consume();
|
|
@@ -118,13 +120,15 @@ class AttributeScanner implements ScannerInterface
|
|
|
118
120
|
return $expression;
|
|
119
121
|
}
|
|
120
122
|
|
|
121
|
-
private function readAttributeValue(Reader $reader, AttributeToken $token)
|
|
123
|
+
private function readAttributeValue(Reader $reader, AttributeToken $token, $expression = '')
|
|
122
124
|
{
|
|
123
|
-
$expression
|
|
125
|
+
$expression .= $this->getAttributeValue($reader);
|
|
126
|
+
|
|
124
127
|
while ($this->isTruncatedExpression($reader, $expression)) {
|
|
125
128
|
$this->skipComments($reader);
|
|
126
129
|
$expression .= $this->getAttributeValue($reader);
|
|
127
130
|
}
|
|
131
|
+
|
|
128
132
|
$token->setValue($expression);
|
|
129
133
|
|
|
130
134
|
//Ignore a comma if found
|
|
@@ -210,7 +214,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
210
214
|
$token->escape();
|
|
211
215
|
$token->check();
|
|
212
216
|
|
|
213
|
-
if ($
|
|
217
|
+
if ($reader->peekString('...')) {
|
|
214
218
|
$token->setIsVariadic(true);
|
|
215
219
|
$reader->consume();
|
|
216
220
|
}
|
|
@@ -218,9 +222,17 @@ class AttributeScanner implements ScannerInterface
|
|
|
218
222
|
return $token;
|
|
219
223
|
}
|
|
220
224
|
|
|
221
|
-
private function seedAttributeToken(State $state, AttributeToken $token, $expression)
|
|
225
|
+
private function seedAttributeToken(State $state, AttributeToken $token, $expression, array $options)
|
|
222
226
|
{
|
|
223
227
|
$reader = $state->getReader();
|
|
228
|
+
$allowName = isset($options['allow_name']) ? $options['allow_name'] : true;
|
|
229
|
+
|
|
230
|
+
if (!$allowName) {
|
|
231
|
+
$this->readAttributeValue($reader, $token, $expression);
|
|
232
|
+
$this->skipComments($reader);
|
|
233
|
+
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
224
236
|
|
|
225
237
|
$token->setName($expression);
|
|
226
238
|
|
|
@@ -252,7 +264,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
252
264
|
}
|
|
253
265
|
}
|
|
254
266
|
|
|
255
|
-
private function scanParenthesesContent(State $state)
|
|
267
|
+
private function scanParenthesesContent(State $state, array $options)
|
|
256
268
|
{
|
|
257
269
|
$reader = $state->getReader();
|
|
258
270
|
|
|
@@ -263,7 +275,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
263
275
|
continue;
|
|
264
276
|
}
|
|
265
277
|
|
|
266
|
-
$this->seedAttributeToken($state, $token, $expression);
|
|
278
|
+
$this->seedAttributeToken($state, $token, $expression, $options);
|
|
267
279
|
|
|
268
280
|
yield $token;
|
|
269
281
|
|
|
@@ -275,7 +287,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
275
287
|
}
|
|
276
288
|
}
|
|
277
289
|
|
|
278
|
-
private function scanParentheses(State $state)
|
|
290
|
+
private function scanParentheses(State $state, array $options)
|
|
279
291
|
{
|
|
280
292
|
$reader = $state->getReader();
|
|
281
293
|
|
|
@@ -283,7 +295,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
283
295
|
return;
|
|
284
296
|
}
|
|
285
297
|
|
|
286
|
-
foreach ($this->scanParenthesesContent($state) as $token) {
|
|
298
|
+
foreach ($this->scanParenthesesContent($state, $options) as $token) {
|
|
287
299
|
yield $token;
|
|
288
300
|
}
|
|
289
301
|
|
|
@@ -294,7 +306,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
294
306
|
}
|
|
295
307
|
}
|
|
296
308
|
|
|
297
|
-
public function scan(State $state)
|
|
309
|
+
public function scan(State $state, array $options = [])
|
|
298
310
|
{
|
|
299
311
|
$reader = $state->getReader();
|
|
300
312
|
|
|
@@ -307,7 +319,7 @@ class AttributeScanner implements ScannerInterface
|
|
|
307
319
|
$reader->consume();
|
|
308
320
|
yield $state->endToken($start);
|
|
309
321
|
|
|
310
|
-
foreach ($this->scanParentheses($state) as $token) {
|
|
322
|
+
foreach ($this->scanParentheses($state, $options) as $token) {
|
|
311
323
|
yield $token;
|
|
312
324
|
}
|
|
313
325
|
|
|
@@ -26,7 +26,7 @@ class ConditionalScanner extends ControlStatementScanner
|
|
|
26
26
|
//Make sure spaces are replaced from `elseif`/`else if` to make a final keyword, "elseif"
|
|
27
27
|
$token->setName(preg_replace('/[ \t]/', '', $token->getName()));
|
|
28
28
|
|
|
29
|
-
if ($token->getName() === 'else' && !in_array($token->getSubject(), ['', false, null])) {
|
|
29
|
+
if ($token->getName() === 'else' && !in_array($token->getSubject(), ['', false, null], true)) {
|
|
30
30
|
$state->throwException(
|
|
31
31
|
'The `else`-conditional statement can\'t have a subject'
|
|
32
32
|
);
|