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.
Files changed (260) hide show
  1. package/index.js +23 -8
  2. package/package.json +4 -4
  3. package/support/composer.json +1 -1
  4. package/support/composer.lock +93 -178
  5. package/support/vendor/autoload.php +15 -0
  6. package/support/vendor/bin/phug +119 -0
  7. package/support/vendor/bin/var-dump-server +119 -0
  8. package/support/vendor/composer/ClassLoader.php +166 -32
  9. package/support/vendor/composer/InstalledVersions.php +387 -329
  10. package/support/vendor/composer/autoload_classmap.php +1 -5
  11. package/support/vendor/composer/autoload_files.php +2 -3
  12. package/support/vendor/composer/autoload_namespaces.php +1 -1
  13. package/support/vendor/composer/autoload_psr4.php +3 -4
  14. package/support/vendor/composer/autoload_real.php +12 -37
  15. package/support/vendor/composer/autoload_static.php +6 -17
  16. package/support/vendor/composer/installed.json +97 -184
  17. package/support/vendor/composer/installed.php +129 -151
  18. package/support/vendor/composer/platform_check.php +16 -4
  19. package/support/vendor/phug/phug/.github/workflows/coverage.yml +71 -0
  20. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +46 -0
  21. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  22. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/tests.yml +49 -0
  24. package/support/vendor/phug/phug/.multi-tester.yml +42 -10
  25. package/support/vendor/phug/phug/composer.json +25 -16
  26. package/support/vendor/phug/phug/phpcs.xml +4 -0
  27. package/support/vendor/phug/phug/phpunit.xml +2 -0
  28. package/support/vendor/phug/phug/phug +1 -1
  29. package/support/vendor/phug/phug/release.php +8 -0
  30. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +7 -1
  31. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +1 -2
  32. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +1 -1
  33. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +9 -1
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +1 -0
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +6 -0
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +4 -4
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +1 -1
  38. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +5 -2
  39. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  40. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +1 -2
  41. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  42. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  43. package/support/vendor/phug/phug/src/Phug/Event/composer.json +1 -2
  44. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +15 -12
  45. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  46. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  47. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +9 -4
  49. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +4 -1
  50. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +2 -2
  51. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +10 -8
  52. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  53. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  54. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +213 -20
  55. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  56. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  57. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  58. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +1 -2
  60. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +5 -2
  62. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  64. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +23 -11
  65. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  66. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  67. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +1 -1
  68. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  69. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  70. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  71. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  72. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  73. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +1 -2
  74. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  75. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  76. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  77. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  78. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  79. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  80. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  81. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  82. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  83. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  84. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  85. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  86. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  87. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  88. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  89. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  90. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  91. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  92. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  93. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  94. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  95. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  96. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  97. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  98. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  99. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  100. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  101. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  102. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  103. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  104. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  105. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  106. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  107. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  108. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  109. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  110. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  111. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  112. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +1 -2
  121. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  122. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  123. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  124. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  125. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +5 -2
  126. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +9 -9
  127. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +4 -0
  128. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  129. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  130. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  131. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  132. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  133. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  134. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  135. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  136. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  137. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  138. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +7 -3
  139. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  140. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  141. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  142. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  143. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  144. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  145. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  146. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  147. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  148. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  149. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  150. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  151. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  152. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  153. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  154. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +1 -0
  155. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  156. package/support/vendor/phug/phug/src/Phug/Util/composer.json +5 -6
  157. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  158. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  159. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  160. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  161. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  162. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  163. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  164. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  165. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  166. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  167. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  168. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  169. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  170. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  171. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  172. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  173. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  174. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  175. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  176. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  177. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  178. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  179. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  180. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  181. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  182. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  183. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  184. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  185. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  186. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  187. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  188. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  189. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  190. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  191. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  192. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  193. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  194. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  195. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  196. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  197. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  198. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  199. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  200. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  201. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  202. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  203. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  204. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  205. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  206. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  207. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  208. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  209. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  210. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  211. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  212. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  213. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  214. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  215. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  216. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  217. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  218. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  219. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  220. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  221. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  222. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  223. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  224. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  225. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  226. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  227. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  228. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  229. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  230. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  231. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  232. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  233. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  234. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  235. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  236. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  237. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  238. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  239. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  240. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  241. package/support/vendor/symfony/var-dumper/README.md +6 -6
  242. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  243. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  244. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  245. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  246. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  247. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  248. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  249. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  250. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  251. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  252. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  253. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  254. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  255. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  256. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  257. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  258. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  259. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  260. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -3,28 +3,16 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\AutoCloseToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\ElementNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class AutoCloseTokenHandler implements TokenHandlerInterface
9
+ class AutoCloseTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof AutoCloseToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass auto-close tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = AutoCloseToken::class;
20
12
 
21
- if (!$state->currentNodeIs([ElementNode::class])) {
22
- $state->throwException(
23
- 'Auto-close operators can only be used on elements',
24
- 0,
25
- $token
26
- );
27
- }
13
+ public function handleAutoCloseToken(AutoCloseToken $token, State $state)
14
+ {
15
+ $this->assertCurrentNodeIs($token, $state, [ElementNode::class]);
28
16
 
29
17
  $state->getCurrentNode()->autoClose();
30
18
  }
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\BlockToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\BlockNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class BlockTokenHandler implements TokenHandlerInterface
9
+ class BlockTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof BlockToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass block tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = BlockToken::class;
20
12
 
13
+ public function handleBlockToken(BlockToken $token, State $state)
14
+ {
21
15
  /** @var BlockNode $node */
22
16
  $node = $state->createNode(BlockNode::class, $token);
23
17
  $node->setName($token->getName());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\CaseToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\CaseNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class CaseTokenHandler implements TokenHandlerInterface
9
+ class CaseTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof CaseToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass case tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = CaseToken::class;
20
12
 
13
+ public function handleCaseToken(CaseToken $token, State $state)
14
+ {
21
15
  /** @var CaseNode $node */
22
16
  $node = $state->createNode(CaseNode::class, $token);
23
17
  $node->setSubject($token->getSubject());
@@ -3,44 +3,17 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\ClassToken;
6
- use Phug\Lexer\TokenInterface;
7
- use Phug\Parser\Node\AttributeNode;
8
- use Phug\Parser\Node\ElementNode;
9
- use Phug\Parser\Node\MixinCallNode;
10
6
  use Phug\Parser\State;
11
- use Phug\Parser\TokenHandlerInterface;
7
+ use Phug\Parser\TokenHandler\Partial\StaticAttributeTrait;
12
8
 
13
- class ClassTokenHandler implements TokenHandlerInterface
9
+ class ClassTokenHandler extends AbstractTokenHandler
14
10
  {
15
- public function handleToken(TokenInterface $token, State $state)
16
- {
17
- if (!($token instanceof ClassToken)) {
18
- throw new \RuntimeException(
19
- 'You can only pass class tokens to this token handler'
20
- );
21
- }
22
-
23
- if (!$state->getCurrentNode()) {
24
- $state->setCurrentNode($state->createNode(ElementNode::class, $token));
25
- }
11
+ use StaticAttributeTrait;
26
12
 
27
- if (!$state->currentNodeIs([ElementNode::class, MixinCallNode::class])) {
28
- $state->throwException(
29
- 'Classes can only be used on elements and mixin calls',
30
- 0,
31
- $token
32
- );
33
- }
13
+ const TOKEN_TYPE = ClassToken::class;
34
14
 
35
- //We actually create a fake class attribute
36
- /** @var AttributeNode $attr */
37
- $attr = $state->createNode(AttributeNode::class, $token);
38
- $attr->setName('class');
39
- $attr->setValue(var_export($token->getName(), true));
40
- $attr->unescape()->uncheck();
41
-
42
- /** @var ElementNode|MixinCallNode $current */
43
- $current = $state->getCurrentNode();
44
- $current->getAttributes()->attach($attr);
15
+ public function handleClassToken(ClassToken $token, State $state)
16
+ {
17
+ $this->attachStaticAttribute('class', $token, $state);
45
18
  }
46
19
  }
@@ -4,21 +4,15 @@ namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\CodeToken;
6
6
  use Phug\Lexer\Token\TextToken;
7
- use Phug\Lexer\TokenInterface;
8
7
  use Phug\Parser\Node\CodeNode;
9
8
  use Phug\Parser\State;
10
- use Phug\Parser\TokenHandlerInterface;
11
9
 
12
- class CodeTokenHandler implements TokenHandlerInterface
10
+ class CodeTokenHandler extends AbstractTokenHandler
13
11
  {
14
- public function handleToken(TokenInterface $token, State $state)
15
- {
16
- if (!($token instanceof CodeToken)) {
17
- throw new \RuntimeException(
18
- 'You can only pass code tokens to this token handler'
19
- );
20
- }
12
+ const TOKEN_TYPE = CodeToken::class;
21
13
 
14
+ public function handleCodeToken(CodeToken $token, State $state)
15
+ {
22
16
  /** @var CodeNode $node */
23
17
  $node = $state->createNode(CodeNode::class, $token);
24
18
 
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\CommentToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\CommentNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class CommentTokenHandler implements TokenHandlerInterface
9
+ class CommentTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof CommentToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass comment tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = CommentToken::class;
20
12
 
13
+ public function handleCommentToken(CommentToken $token, State $state)
14
+ {
21
15
  /** @var CommentNode $node */
22
16
  $node = $state->createNode(CommentNode::class, $token);
23
17
  $node->setIsVisible($token->isVisible());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\ConditionalToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\ConditionalNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class ConditionalTokenHandler implements TokenHandlerInterface
9
+ class ConditionalTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof ConditionalToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass conditional tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = ConditionalToken::class;
20
12
 
13
+ public function handleConditionalToken(ConditionalToken $token, State $state)
14
+ {
21
15
  /** @var ConditionalNode $node */
22
16
  $node = $state->createNode(ConditionalNode::class, $token);
23
17
  $node->setSubject($token->getSubject());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\DoToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\DoNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class DoTokenHandler implements TokenHandlerInterface
9
+ class DoTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof DoToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass do tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = DoToken::class;
20
12
 
13
+ public function handleDoToken(DoToken $token, State $state)
14
+ {
21
15
  $node = $state->createNode(DoNode::class, $token);
22
16
  $state->setCurrentNode($node);
23
17
  }
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\DoctypeToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\DoctypeNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class DoctypeTokenHandler implements TokenHandlerInterface
9
+ class DoctypeTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof DoctypeToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass doctype tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = DoctypeToken::class;
20
12
 
13
+ public function handleDoctypeToken(DoctypeToken $token, State $state)
14
+ {
21
15
  /** @var DoctypeNode $node */
22
16
  $node = $state->createNode(DoctypeNode::class, $token);
23
17
  $node->setName($token->getName());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\EachToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\EachNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class EachTokenHandler implements TokenHandlerInterface
9
+ class EachTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof EachToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass each tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = EachToken::class;
20
12
 
13
+ public function handleEachToken(EachToken $token, State $state)
14
+ {
21
15
  /** @var EachNode $node */
22
16
  $node = $state->createNode(EachNode::class, $token);
23
17
  $node->setSubject($token->getSubject());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\ExpansionToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\ElementNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class ExpansionTokenHandler implements TokenHandlerInterface
9
+ class ExpansionTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof ExpansionToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass expansion tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = ExpansionToken::class;
20
12
 
13
+ public function handleExpansionToken(ExpansionToken $token, State $state)
14
+ {
21
15
  if (!$state->getCurrentNode()) {
22
16
  $state->throwException(
23
17
  'Expansion needs an element to work on',
@@ -26,7 +20,7 @@ class ExpansionTokenHandler implements TokenHandlerInterface
26
20
  );
27
21
  }
28
22
 
29
- if ($node = $state->getInterpolationNode()) {
23
+ if ($state->getInterpolationNode()) {
30
24
  //Make sure to keep the expansion
31
25
  $newNode = $state->createNode(ElementNode::class, $token);
32
26
  $newNode->setOuterNode($state->getCurrentNode());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\ExpressionToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\ExpressionNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class ExpressionTokenHandler implements TokenHandlerInterface
9
+ class ExpressionTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof ExpressionToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass expression tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = ExpressionToken::class;
20
12
 
13
+ public function handleExpressionToken(ExpressionToken $token, State $state)
14
+ {
21
15
  /** @var ExpressionNode $node */
22
16
  $node = $state->createNode(ExpressionNode::class, $token);
23
17
  $node->setIsEscaped($token->isEscaped());
@@ -3,22 +3,16 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\FilterToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\FilterNode;
8
7
  use Phug\Parser\Node\ImportNode;
9
8
  use Phug\Parser\State;
10
- use Phug\Parser\TokenHandlerInterface;
11
9
 
12
- class FilterTokenHandler implements TokenHandlerInterface
10
+ class FilterTokenHandler extends AbstractTokenHandler
13
11
  {
14
- public function handleToken(TokenInterface $token, State $state)
15
- {
16
- if (!($token instanceof FilterToken)) {
17
- throw new \RuntimeException(
18
- 'You can only pass filter tokens to this token handler'
19
- );
20
- }
12
+ const TOKEN_TYPE = FilterToken::class;
21
13
 
14
+ public function handleFilterToken(FilterToken $token, State $state)
15
+ {
22
16
  /** @var FilterNode $node */
23
17
  $node = $state->createNode(FilterNode::class, $token);
24
18
  $node->setName($token->getName());
@@ -3,21 +3,15 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\ForToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\ForNode;
8
7
  use Phug\Parser\State;
9
- use Phug\Parser\TokenHandlerInterface;
10
8
 
11
- class ForTokenHandler implements TokenHandlerInterface
9
+ class ForTokenHandler extends AbstractTokenHandler
12
10
  {
13
- public function handleToken(TokenInterface $token, State $state)
14
- {
15
- if (!($token instanceof ForToken)) {
16
- throw new \RuntimeException(
17
- 'You can only pass for tokens to this token handler'
18
- );
19
- }
11
+ const TOKEN_TYPE = ForToken::class;
20
12
 
13
+ public function handleForToken(ForToken $token, State $state)
14
+ {
21
15
  /** @var ForNode $node */
22
16
  $node = $state->createNode(ForNode::class, $token);
23
17
  $node->setSubject($token->getSubject());
@@ -3,43 +3,17 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\IdToken;
6
- use Phug\Lexer\TokenInterface;
7
- use Phug\Parser\Node\AttributeNode;
8
- use Phug\Parser\Node\ElementNode;
9
- use Phug\Parser\Node\MixinCallNode;
10
6
  use Phug\Parser\State;
11
- use Phug\Parser\TokenHandlerInterface;
7
+ use Phug\Parser\TokenHandler\Partial\StaticAttributeTrait;
12
8
 
13
- class IdTokenHandler implements TokenHandlerInterface
9
+ class IdTokenHandler extends AbstractTokenHandler
14
10
  {
15
- public function handleToken(TokenInterface $token, State $state)
16
- {
17
- if (!($token instanceof IdToken)) {
18
- throw new \RuntimeException(
19
- 'You can only pass id tokens to this token handler'
20
- );
21
- }
22
-
23
- if (!$state->getCurrentNode()) {
24
- $state->setCurrentNode($state->createNode(ElementNode::class, $token));
25
- }
11
+ use StaticAttributeTrait;
26
12
 
27
- if (!$state->currentNodeIs([ElementNode::class, MixinCallNode::class])) {
28
- $state->throwException(
29
- 'IDs can only be used on elements and mixin calls',
30
- 0,
31
- $token
32
- );
33
- }
13
+ const TOKEN_TYPE = IdToken::class;
34
14
 
35
- /** @var AttributeNode $attr */
36
- $attr = $state->createNode(AttributeNode::class, $token);
37
- $attr->setName('id');
38
- $attr->setValue(var_export($token->getName(), true));
39
- $attr->unescape()->uncheck();
40
-
41
- /** @var ElementNode|MixinCallNode $current */
42
- $current = $state->getCurrentNode();
43
- $current->getAttributes()->attach($attr);
15
+ public function handleIdToken(IdToken $token, State $state)
16
+ {
17
+ $this->attachStaticAttribute('id', $token, $state);
44
18
  }
45
19
  }
@@ -3,35 +3,18 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\ImportToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\Node\CommentNode;
8
7
  use Phug\Parser\Node\ImportNode;
9
8
  use Phug\Parser\Node\MixinNode;
10
9
  use Phug\Parser\NodeInterface;
11
10
  use Phug\Parser\State;
12
- use Phug\Parser\TokenHandlerInterface;
13
11
 
14
- class ImportTokenHandler implements TokenHandlerInterface
12
+ class ImportTokenHandler extends AbstractTokenHandler
15
13
  {
16
- protected function isEmptyDocument(NodeInterface $document)
17
- {
18
- foreach ($document->getChildren() as $child) {
19
- if (!($child instanceof MixinNode || ($child instanceof CommentNode && !$child->isVisible()))) {
20
- return false;
21
- }
22
- }
23
-
24
- return true;
25
- }
14
+ const TOKEN_TYPE = ImportToken::class;
26
15
 
27
- public function handleToken(TokenInterface $token, State $state)
16
+ public function handleImportToken(ImportToken $token, State $state)
28
17
  {
29
- if (!($token instanceof ImportToken)) {
30
- throw new \RuntimeException(
31
- 'You can only pass import tokens to this token handler'
32
- );
33
- }
34
-
35
18
  if ($token->getName() === 'extend' && !$this->isEmptyDocument($state->getDocumentNode())) {
36
19
  $state->throwException(
37
20
  'extends should be the very first statement in a document',
@@ -46,4 +29,15 @@ class ImportTokenHandler implements TokenHandlerInterface
46
29
  $node->setPath($token->getPath());
47
30
  $state->setCurrentNode($node);
48
31
  }
32
+
33
+ protected function isEmptyDocument(NodeInterface $document)
34
+ {
35
+ foreach ($document->getChildren() as $child) {
36
+ if (!($child instanceof MixinNode || ($child instanceof CommentNode && !$child->isVisible()))) {
37
+ return false;
38
+ }
39
+ }
40
+
41
+ return true;
42
+ }
49
43
  }
@@ -3,20 +3,14 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\IndentToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\State;
8
- use Phug\Parser\TokenHandlerInterface;
9
7
 
10
- class IndentTokenHandler implements TokenHandlerInterface
8
+ class IndentTokenHandler extends AbstractTokenHandler
11
9
  {
12
- public function handleToken(TokenInterface $token, State $state)
13
- {
14
- if (!($token instanceof IndentToken)) {
15
- throw new \RuntimeException(
16
- 'You can only pass indent tokens to this token handler'
17
- );
18
- }
10
+ const TOKEN_TYPE = IndentToken::class;
19
11
 
12
+ public function handleIndentToken(IndentToken $token, State $state)
13
+ {
20
14
  $state->enter();
21
15
  }
22
16
  }
@@ -3,20 +3,14 @@
3
3
  namespace Phug\Parser\TokenHandler;
4
4
 
5
5
  use Phug\Lexer\Token\InterpolationEndToken;
6
- use Phug\Lexer\TokenInterface;
7
6
  use Phug\Parser\State;
8
- use Phug\Parser\TokenHandlerInterface;
9
7
 
10
- class InterpolationEndTokenHandler implements TokenHandlerInterface
8
+ class InterpolationEndTokenHandler extends AbstractTokenHandler
11
9
  {
12
- public function handleToken(TokenInterface $token, State $state)
13
- {
14
- if (!($token instanceof InterpolationEndToken)) {
15
- throw new \RuntimeException(
16
- 'You can only pass interpolation end tokens to this token handler'
17
- );
18
- }
10
+ const TOKEN_TYPE = InterpolationEndToken::class;
19
11
 
12
+ public function handleInterpolationEndToken(InterpolationEndToken $token, State $state)
13
+ {
20
14
  $node = $state->getCurrentNode();
21
15
  $nodes = $state->getInterpolationStack()->offsetGet($token);
22
16
  $state->setCurrentNode($nodes->currentNode);
@@ -5,47 +5,22 @@ namespace Phug\Parser\TokenHandler;
5
5
  use Phug\Lexer\Token\ExpressionToken;
6
6
  use Phug\Lexer\Token\InterpolationEndToken;
7
7
  use Phug\Lexer\Token\InterpolationStartToken;
8
- use Phug\Lexer\TokenInterface;
9
8
  use Phug\Parser\Node\CodeNode;
10
9
  use Phug\Parser\Node\ElementNode;
11
10
  use Phug\Parser\Node\ExpressionNode;
12
11
  use Phug\Parser\Node\TextNode;
13
12
  use Phug\Parser\State;
14
- use Phug\Parser\TokenHandlerInterface;
15
13
 
16
- class InterpolationStartTokenHandler implements TokenHandlerInterface
14
+ class InterpolationStartTokenHandler extends AbstractTokenHandler
17
15
  {
18
- public function handleToken(TokenInterface $token, State $state)
19
- {
20
- if (!($token instanceof InterpolationStartToken)) {
21
- throw new \RuntimeException(
22
- 'You can only pass interpolation start tokens to this token handler'
23
- );
24
- }
16
+ const TOKEN_TYPE = InterpolationStartToken::class;
25
17
 
18
+ public function handleInterpolationStartToken(InterpolationStartToken $token, State $state)
19
+ {
26
20
  $node = $state->getCurrentNode();
27
21
 
28
22
  if (!$node && !($state->getPreviousToken() instanceof InterpolationEndToken)) {
29
- /** @var ElementNode $element */
30
- $element = $state->createNode(ElementNode::class, $token);
31
- $state->setCurrentNode($element);
32
-
33
- foreach ($state->lookUpNext([ExpressionToken::class]) as $expression) {
34
- /** @var ExpressionNode $expressionNode */
35
- $expressionNode = $state->createNode(ExpressionNode::class, $expression);
36
- $expressionNode->check();
37
- $expressionNode->unescape();
38
- $expressionNode->setValue($expression->getValue());
39
- $element->setName($expressionNode);
40
- }
41
-
42
- if (!$state->expect([InterpolationEndToken::class])) {
43
- $state->throwException(
44
- 'Interpolation not properly closed',
45
- 0,
46
- $token
47
- );
48
- }
23
+ $this->handleExpressionTokens($token, $state);
49
24
 
50
25
  return;
51
26
  }
@@ -65,4 +40,28 @@ class InterpolationStartTokenHandler implements TokenHandlerInterface
65
40
 
66
41
  $state->store();
67
42
  }
43
+
44
+ private function handleExpressionTokens(InterpolationStartToken $token, State $state)
45
+ {
46
+ /** @var ElementNode $element */
47
+ $element = $state->createNode(ElementNode::class, $token);
48
+ $state->setCurrentNode($element);
49
+
50
+ foreach ($state->lookUpNext([ExpressionToken::class]) as $expression) {
51
+ /** @var ExpressionNode $expressionNode */
52
+ $expressionNode = $state->createNode(ExpressionNode::class, $expression);
53
+ $expressionNode->check();
54
+ $expressionNode->unescape();
55
+ $expressionNode->setValue($expression->getValue());
56
+ $element->setName($expressionNode);
57
+ }
58
+
59
+ if (!$state->expect([InterpolationEndToken::class])) {
60
+ $state->throwException(
61
+ 'Interpolation not properly closed',
62
+ 0,
63
+ $token
64
+ );
65
+ }
66
+ }
68
67
  }