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.
Files changed (304) hide show
  1. package/README.md +26 -0
  2. package/index.js +38 -10
  3. package/package.json +4 -4
  4. package/support/bootstrap.php +6 -0
  5. package/support/composer.json +1 -1
  6. package/support/composer.lock +94 -179
  7. package/support/vendor/autoload.php +15 -0
  8. package/support/vendor/bin/phug +119 -0
  9. package/support/vendor/bin/var-dump-server +119 -0
  10. package/support/vendor/composer/ClassLoader.php +166 -32
  11. package/support/vendor/composer/InstalledVersions.php +387 -329
  12. package/support/vendor/composer/autoload_classmap.php +1 -5
  13. package/support/vendor/composer/autoload_files.php +2 -3
  14. package/support/vendor/composer/autoload_namespaces.php +1 -1
  15. package/support/vendor/composer/autoload_psr4.php +3 -4
  16. package/support/vendor/composer/autoload_real.php +12 -37
  17. package/support/vendor/composer/autoload_static.php +6 -17
  18. package/support/vendor/composer/installed.json +99 -186
  19. package/support/vendor/composer/installed.php +129 -151
  20. package/support/vendor/composer/platform_check.php +15 -4
  21. package/support/vendor/phug/phug/.github/workflows/coverage.yml +61 -0
  22. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  24. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  25. package/support/vendor/phug/phug/.github/workflows/tests.yml +48 -0
  26. package/support/vendor/phug/phug/.multi-tester.yml +47 -17
  27. package/support/vendor/phug/phug/composer.json +27 -18
  28. package/support/vendor/phug/phug/phpcs.xml +4 -0
  29. package/support/vendor/phug/phug/phpunit.xml +2 -0
  30. package/support/vendor/phug/phug/phug +1 -1
  31. package/support/vendor/phug/phug/release.php +8 -0
  32. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +9 -3
  33. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +2 -3
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/AbstractNodeCompiler.php +4 -4
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +4 -4
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentListNodeCompiler.php +1 -1
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +10 -2
  38. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeListNodeCompiler.php +1 -1
  39. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +2 -1
  40. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/BlockNodeCompiler.php +3 -3
  41. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CaseNodeCompiler.php +1 -1
  42. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CodeNodeCompiler.php +2 -2
  43. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CommentNodeCompiler.php +1 -1
  44. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ConditionalNodeCompiler.php +1 -1
  45. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoNodeCompiler.php +1 -1
  46. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoctypeNodeCompiler.php +1 -1
  47. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DocumentNodeCompiler.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/EachNodeCompiler.php +1 -1
  49. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +7 -1
  50. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ExpressionNodeCompiler.php +1 -1
  51. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/FilterNodeCompiler.php +1 -1
  52. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ForNodeCompiler.php +1 -1
  53. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +5 -5
  54. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/KeywordNodeCompiler.php +1 -1
  55. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinCallNodeCompiler.php +1 -1
  56. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinNodeCompiler.php +1 -1
  57. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/TextNodeCompiler.php +1 -1
  58. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/VariableNodeCompiler.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhenNodeCompiler.php +1 -1
  60. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhileNodeCompiler.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/YieldNodeCompiler.php +1 -1
  62. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler.php +2 -2
  64. package/support/vendor/phug/phug/src/Phug/Compiler/CompilerInterface.php +2 -2
  65. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +10 -7
  66. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  67. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +3 -4
  68. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  69. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  70. package/support/vendor/phug/phug/src/Phug/Event/composer.json +2 -3
  71. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractElement.php +1 -1
  72. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +17 -14
  73. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  74. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  75. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  76. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractValueElement.php +3 -3
  77. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AnonymousBlockElement.php +1 -1
  78. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +13 -8
  79. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +7 -4
  80. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +5 -5
  81. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/KeywordElement.php +3 -3
  82. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +13 -11
  83. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  84. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  85. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/VariableElement.php +5 -5
  86. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Event/FormatEvent.php +1 -1
  87. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/HtmlFormat.php +1 -1
  88. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XhtmlFormat.php +1 -1
  89. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +214 -21
  90. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/FormatInterface.php +1 -1
  91. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  92. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  93. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  94. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/PatternTrait.php +1 -1
  95. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  96. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +5 -6
  97. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  98. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +9 -6
  99. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/AbstractToken.php +1 -1
  100. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  101. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  102. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +24 -12
  103. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  104. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  105. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +2 -2
  106. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  107. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  108. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  109. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  110. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  111. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/TokenInterface.php +1 -1
  112. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +4 -5
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node.php +5 -5
  121. package/support/vendor/phug/phug/src/Phug/Parser/Parser/State.php +4 -4
  122. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  123. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  124. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  125. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  126. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  127. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  128. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  129. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  130. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  131. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  132. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  133. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  134. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  135. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  136. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  137. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  138. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  139. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  140. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  141. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  142. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  143. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  144. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  145. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  146. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  147. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  148. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  149. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  150. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  151. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  152. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  153. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  154. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  155. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  156. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  157. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  158. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  159. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  160. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  161. package/support/vendor/phug/phug/src/Phug/Parser/ParserException.php +1 -1
  162. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +5 -6
  163. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  164. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  165. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  166. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/PluginEnablerTrait.php +1 -1
  167. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  168. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +9 -6
  169. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +13 -13
  170. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +6 -2
  171. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  172. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  173. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  174. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  175. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  176. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  177. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  178. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  179. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  180. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  181. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Task/TasksGroup.php +1 -1
  182. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +10 -6
  183. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  184. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  185. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  186. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  187. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  188. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  189. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  190. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  191. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  192. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  193. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  194. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  195. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  196. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  197. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  198. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +2 -1
  199. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  200. package/support/vendor/phug/phug/src/Phug/Util/composer.json +7 -8
  201. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  202. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  203. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  204. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  205. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  206. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  207. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  208. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  209. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  210. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  211. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  212. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  213. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  214. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  215. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  216. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  217. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  218. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  219. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  220. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  221. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  222. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  223. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  224. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  225. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  226. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  227. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  228. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  229. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  230. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  231. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  232. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  233. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  234. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  235. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  236. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  237. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  238. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  239. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  240. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  241. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  242. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  243. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  244. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  245. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  246. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  247. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  248. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  249. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  250. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  251. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  252. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  253. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  254. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  255. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  256. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  257. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  258. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  259. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  260. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  261. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  262. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  263. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  264. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  265. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  266. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  267. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  268. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  269. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  270. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  271. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  272. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  273. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  274. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  275. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  276. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  277. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  278. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  279. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  280. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  281. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  282. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  283. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  284. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  285. package/support/vendor/symfony/var-dumper/README.md +6 -6
  286. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  287. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  288. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  289. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  290. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  291. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  292. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  293. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  294. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  295. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  296. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  297. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  298. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  299. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  300. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  301. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  302. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  303. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  304. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -11,12 +11,12 @@ use Phug\Parser\NodeInterface as ParserNodeInterface;
11
11
  interface NodeCompilerInterface
12
12
  {
13
13
  /**
14
- * @param $nodeList
14
+ * @param $nodeList
15
15
  * @param ElementInterface $parent
16
16
  *
17
17
  * @return array
18
18
  */
19
- public function getCompiledNodeList($nodeList, ElementInterface $parent = null);
19
+ public function getCompiledNodeList($nodeList, ?ElementInterface $parent = null);
20
20
 
21
21
  /**
22
22
  * @param NodeInterface $node
@@ -24,7 +24,7 @@ interface NodeCompilerInterface
24
24
  *
25
25
  * @return array
26
26
  */
27
- public function getCompiledChildren(NodeInterface $node, ElementInterface $parent = null);
27
+ public function getCompiledChildren(NodeInterface $node, ?ElementInterface $parent = null);
28
28
 
29
29
  /**
30
30
  * @param NodeInterface $node
@@ -32,7 +32,7 @@ interface NodeCompilerInterface
32
32
  *
33
33
  * @return mixed
34
34
  */
35
- public function compileNodeChildren(NodeInterface $node, ElementInterface $element = null);
35
+ public function compileNodeChildren(NodeInterface $node, ?ElementInterface $element = null);
36
36
 
37
37
  /**
38
38
  * @param ParserNodeInterface $node
@@ -40,7 +40,7 @@ interface NodeCompilerInterface
40
40
  *
41
41
  * @return null|BlockElement|ElementInterface
42
42
  */
43
- public function compileNode(ParserNodeInterface $node, ElementInterface $parent = null);
43
+ public function compileNode(ParserNodeInterface $node, ?ElementInterface $parent = null);
44
44
 
45
45
  /**
46
46
  * @return CompilerInterface
@@ -499,7 +499,7 @@ class Compiler implements ModuleContainerInterface, CompilerInterface, WithUpper
499
499
  *
500
500
  * @return ElementInterface
501
501
  */
502
- public function compileNode(NodeInterface $node, ElementInterface $parent = null)
502
+ public function compileNode(NodeInterface $node, ?ElementInterface $parent = null)
503
503
  {
504
504
  $nodeEvent = new NodeEvent($node);
505
505
  $this->trigger($nodeEvent);
@@ -537,7 +537,7 @@ class Compiler implements ModuleContainerInterface, CompilerInterface, WithUpper
537
537
  * @param BlockElement $block
538
538
  * @param array $children
539
539
  */
540
- public function replaceBlock(BlockElement $block, array $children = null)
540
+ public function replaceBlock(BlockElement $block, ?array $children = null)
541
541
  {
542
542
  if ($parent = $block->getParent()) {
543
543
  foreach (array_reverse($children ?: $block->getChildren()) as $child) {
@@ -92,7 +92,7 @@ interface CompilerInterface extends ModuleContainerInterface
92
92
  * @param BlockElement $block
93
93
  * @param array $children
94
94
  */
95
- public function replaceBlock(BlockElement $block, array $children = null);
95
+ public function replaceBlock(BlockElement $block, ?array $children = null);
96
96
 
97
97
  /**
98
98
  * @throws CompilerException
@@ -133,7 +133,7 @@ interface CompilerInterface extends ModuleContainerInterface
133
133
  *
134
134
  * @return null|ElementInterface
135
135
  */
136
- public function compileNode(NodeInterface $node, ElementInterface $parent = null);
136
+ public function compileNode(NodeInterface $node, ?ElementInterface $parent = null);
137
137
 
138
138
  /**
139
139
  * @param string $input
@@ -7,9 +7,12 @@
7
7
  "homepage": "http://phug-lang.com",
8
8
  "authors": [
9
9
  {
10
- "name": "KyleKatarn",
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": {
@@ -21,10 +24,10 @@
21
24
  "minimum-stability": "dev",
22
25
  "require": {
23
26
  "php": ">=5.5.0",
24
- "phug/util": "^0.4.0 || ^1.0",
25
- "phug/formatter": "^0.5.50 || ^1.0",
26
- "phug/dependency-injection": "^1.1.2",
27
- "phug/parser": "^0.5.0 || ^1.0"
27
+ "phug/util": "^0.4.0 || ^1.0 || ^2.0",
28
+ "phug/formatter": "^0.5.50 || ^1.0 || ^2.0",
29
+ "phug/dependency-injection": "^1.1.2 || ^2.0",
30
+ "phug/parser": "^0.5.0 || ^1.0 || ^2.0"
28
31
  },
29
32
  "autoload": {
30
33
  "psr-4": {
@@ -33,7 +36,7 @@
33
36
  },
34
37
  "extra": {
35
38
  "branch-alias": {
36
- "dev-master": "1.x-dev"
39
+ "dev-master": "2.x-dev"
37
40
  }
38
41
  }
39
42
  }
@@ -305,7 +305,7 @@ class DependencyInjection implements DependencyInjectionInterface
305
305
  return call_user_func_array($this->cache[$cacheKey], func_get_args());
306
306
  };
307
307
  $arguments = array_map(function ($dependencyName) use ($exclude, $callee) {
308
- return in_array($dependencyName, $exclude)
308
+ return in_array($dependencyName, $exclude, true)
309
309
  ? $callee
310
310
  : $this->get($dependencyName, $exclude);
311
311
  }, $dependency->getDependencies());
@@ -11,8 +11,7 @@
11
11
  "email": "torben@talesoft.codes"
12
12
  },
13
13
  {
14
- "name": "KyleKatarn",
15
- "email": "jade-php@selfbuild.fr",
14
+ "name": "kylekatarnls",
16
15
  "homepage": "http://github.com/kylekatarnls"
17
16
  }
18
17
  ],
@@ -24,7 +23,7 @@
24
23
  },
25
24
  "minimum-stability": "dev",
26
25
  "require": {
27
- "phug/util": "^0.4.0 || ^1.0"
26
+ "phug/util": "^0.4.0 || ^1.0 || ^2.0"
28
27
  },
29
28
  "autoload": {
30
29
  "psr-4": {
@@ -33,7 +32,7 @@
33
32
  },
34
33
  "extra": {
35
34
  "branch-alias": {
36
- "dev-master": "1.x-dev"
35
+ "dev-master": "2.x-dev"
37
36
  }
38
37
  }
39
38
  }
@@ -2,10 +2,12 @@
2
2
 
3
3
  namespace Phug\Event;
4
4
 
5
+ use ReturnTypeWillChange;
5
6
  use SplPriorityQueue;
6
7
 
7
8
  class ListenerQueue extends SplPriorityQueue
8
9
  {
10
+ #[ReturnTypeWillChange]
9
11
  public function compare($priority, $priorityToCompare)
10
12
  {
11
13
  if ($priority === $priorityToCompare) {
@@ -15,6 +17,7 @@ class ListenerQueue extends SplPriorityQueue
15
17
  return $priority > $priorityToCompare ? -1 : 1;
16
18
  }
17
19
 
20
+ #[ReturnTypeWillChange]
18
21
  public function insert($value, $priority)
19
22
  {
20
23
  if (!is_callable($value)) {
@@ -50,7 +50,7 @@ trait EventManagerTrait
50
50
  $listeners->setExtractFlags(ListenerQueue::EXTR_BOTH);
51
51
 
52
52
  foreach ($listeners as $listener) {
53
- if (!in_array($listener['data'], $queue)) {
53
+ if (!in_array($listener['data'], $queue, true)) {
54
54
  $this->attach($eventName, $listener['data'], $listener['priority']);
55
55
  }
56
56
  }
@@ -11,8 +11,7 @@
11
11
  "email": "torben@talesoft.codes"
12
12
  },
13
13
  {
14
- "name": "KyleKatarn",
15
- "email": "jade-php@selfbuild.fr",
14
+ "name": "kylekatarnls",
16
15
  "homepage": "http://github.com/kylekatarnls"
17
16
  }
18
17
  ],
@@ -33,7 +32,7 @@
33
32
  },
34
33
  "extra": {
35
34
  "branch-alias": {
36
- "dev-master": "1.x-dev"
35
+ "dev-master": "2.x-dev"
37
36
  }
38
37
  }
39
38
  }
@@ -20,7 +20,7 @@ abstract class AbstractElement extends Node implements ElementInterface
20
20
  * @param NodeInterface|null $parent
21
21
  * @param array|null $children
22
22
  */
23
- public function __construct(ParserNode $originNode = null, NodeInterface $parent = null, array $children = null)
23
+ public function __construct(?ParserNode $originNode = null, ?NodeInterface $parent = null, ?array $children = null)
24
24
  {
25
25
  $this->originNode = $originNode;
26
26
 
@@ -51,7 +51,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
51
51
  is_object($_pug_temp = %s) && method_exists($_pug_temp, "__toBoolean")
52
52
  ? $_pug_temp->__toBoolean()
53
53
  : $_pug_temp';
54
- const HTML_EXPRESSION_ESCAPE = 'htmlspecialchars(%s)';
54
+ const HTML_EXPRESSION_ESCAPE = 'htmlspecialchars((string) (%s))';
55
55
  const HTML_TEXT_ESCAPE = 'htmlspecialchars';
56
56
  const PAIR_TAG = '%s%s%s';
57
57
  const TRANSFORM_EXPRESSION = '%s';
@@ -77,7 +77,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
77
77
  */
78
78
  private $debugCommentPattern = null;
79
79
 
80
- public function __construct(Formatter $formatter = null)
80
+ public function __construct(?Formatter $formatter = null)
81
81
  {
82
82
  $patterns = [
83
83
  'class_attribute' => static::CLASS_ATTRIBUTE,
@@ -233,7 +233,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
233
233
  /**
234
234
  * @param string|ElementInterface $element
235
235
  * @param bool $noDebug
236
- * @param $element
236
+ * @param $element
237
237
  *
238
238
  * @return string
239
239
  */
@@ -248,7 +248,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
248
248
  if (is_a($element, $className)) {
249
249
  $elementCode = $handler($element);
250
250
  $debugCode = $debug ? $this->getDebugInfo($element) : '';
251
- $glue = mb_strlen($debugCode) && in_array(mb_substr($elementCode, 0, 1), ["\n", "\r"])
251
+ $glue = mb_strlen($debugCode) && in_array(mb_substr($elementCode, 0, 1), ["\n", "\r"], true)
252
252
  ? "\n"
253
253
  : '';
254
254
 
@@ -460,13 +460,16 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
460
460
  return 'null';
461
461
  }
462
462
 
463
- if ($value instanceof ExpressionElement &&
464
- in_array(($code = strtolower($value->getValue())), ['true', 'false', 'null', 'undefined'])
465
- ) {
466
- return $code;
463
+ if ($value instanceof ExpressionElement) {
464
+ $code = strtolower($value->getValue());
465
+
466
+ if (in_array($code, ['true', 'false', 'null', 'undefined'], true)) {
467
+ return $code;
468
+ }
467
469
  }
468
470
 
469
471
  $code = $this->formatAssignmentValue($value);
472
+
470
473
  if ($value instanceof ExpressionElement && $value->isEscaped()) {
471
474
  return $this->exportHelper('array_escape', [$formattedName, $code]);
472
475
  }
@@ -767,7 +770,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
767
770
  ' }',
768
771
  ' }',
769
772
  ' foreach ($__pug_mixin_vars as $__pug_key => &$__pug_value) {',
770
- ' if (!in_array($__pug_key, $__pug_names)) {',
773
+ ' if (!in_array($__pug_key, $__pug_names, true)) {',
771
774
  ' $$__pug_key = &$__pug_value;',
772
775
  ' }',
773
776
  ' }',
@@ -866,13 +869,13 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
866
869
  '$__pug_mixin_vars = [];',
867
870
  'foreach (array_keys(get_defined_vars()) as $__local_pug_key) {',
868
871
  ' if (mb_substr($__local_pug_key, 0, 6) === \'__pug_\' || '.
869
- 'in_array($__local_pug_key, [\'attributes\', \'block\', \''.$variablesVariable.'\'])) {',
872
+ 'in_array($__local_pug_key, [\'attributes\', \'block\', \''.$variablesVariable.'\'], true)) {',
870
873
  ' continue;',
871
874
  ' }',
872
875
  ' $'.$variablesVariable.'[$__local_pug_key] = &$$__local_pug_key;',
873
876
  ' $__local_pug_ref = &$GLOBALS[$__local_pug_key];',
874
877
  ' $__local_pug_value = &$$__local_pug_key;',
875
- ' if($__local_pug_ref !== $__local_pug_value){',
878
+ ' if ($__local_pug_ref !== $__local_pug_value) {',
876
879
  ' $__pug_mixin_vars[$__local_pug_key] = &$__local_pug_value;',
877
880
 
878
881
  ' continue;',
@@ -917,7 +920,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
917
920
  ' }'."\n".
918
921
  (
919
922
  $variablesVariable
920
- ? ' if(isset($'.$variablesVariable.'[$__local_pug_key])){'."\n".
923
+ ? ' if (isset($'.$variablesVariable.'[$__local_pug_key])) {'."\n".
921
924
  ' $$__local_pug_key = &$'.$variablesVariable.'[$__local_pug_key];'."\n".
922
925
  ' continue;'."\n".
923
926
  ' }'."\n"
@@ -925,7 +928,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
925
928
  ).
926
929
  ' $__local_pug_ref = &$GLOBALS[$__local_pug_key];'."\n".
927
930
  ' $__local_pug_value = &$__pug_children_vars[$__local_pug_key];'."\n".
928
- ' if($__local_pug_ref !== $__local_pug_value){'."\n".
931
+ ' if ($__local_pug_ref !== $__local_pug_value) {'."\n".
929
932
  ' $$__local_pug_key = &$__local_pug_value;'."\n".
930
933
  ' continue;'."\n".
931
934
  ' }'."\n".
@@ -1000,7 +1003,7 @@ abstract class AbstractFormat implements FormatInterface, OptionInterface
1000
1003
  return $this->formatElementChildren($document, 0);
1001
1004
  }
1002
1005
 
1003
- protected function throwException($message, ElementInterface $element = null)
1006
+ protected function throwException($message, ?ElementInterface $element = null)
1004
1007
  {
1005
1008
  $location = ($node = $element->getOriginNode()) && ($loc = $node->getSourceLocation())
1006
1009
  ? clone $loc
@@ -3,8 +3,9 @@
3
3
  namespace Phug\Formatter;
4
4
 
5
5
  use Phug\Formatter\Element\AssignmentElement;
6
+ use Phug\Util\AttributesOrderInterface;
6
7
 
7
- interface AssignmentContainerInterface extends ElementInterface
8
+ interface AssignmentContainerInterface extends ElementInterface, AttributesOrderInterface
8
9
  {
9
10
  public function getName();
10
11
 
@@ -4,10 +4,16 @@ namespace Phug\Formatter\Element;
4
4
 
5
5
  use Phug\Formatter\AbstractElement;
6
6
  use Phug\Formatter\AssignmentContainerInterface;
7
+ use Phug\Util\Partial\AttributesOrderTrait;
7
8
  use SplObjectStorage;
8
9
 
9
10
  abstract class AbstractAssignmentContainerElement extends AbstractElement implements AssignmentContainerInterface
10
11
  {
12
+ use AttributesOrderTrait;
13
+
14
+ /**
15
+ * @var SplObjectStorage<AssignmentElement>
16
+ */
11
17
  private $assignments;
12
18
 
13
19
  /**
@@ -19,6 +25,10 @@ abstract class AbstractAssignmentContainerElement extends AbstractElement implem
19
25
  */
20
26
  public function addAssignment(AssignmentElement $element)
21
27
  {
28
+ if ($element->getOrder() === null) {
29
+ $element->setOrder($this->getNextAttributeIndex());
30
+ }
31
+
22
32
  $element->setContainer($this);
23
33
  $this->getAssignments()->attach($element);
24
34
 
@@ -42,7 +52,7 @@ abstract class AbstractAssignmentContainerElement extends AbstractElement implem
42
52
  /**
43
53
  * Return markup assignments list.
44
54
  *
45
- * @return SplObjectStorage[AssignmentElement]
55
+ * @return SplObjectStorage<AssignmentElement>
46
56
  */
47
57
  public function getAssignments()
48
58
  {
@@ -19,7 +19,7 @@ abstract class AbstractMarkupElement extends AbstractAssignmentContainerElement
19
19
  public function belongsTo(array $tagList)
20
20
  {
21
21
  if (is_string($this->getName())) {
22
- return in_array(strtolower($this->getName()), $tagList);
22
+ return in_array(strtolower($this->getName()), $tagList, true);
23
23
  }
24
24
 
25
25
  return false;
@@ -21,9 +21,9 @@ abstract class AbstractValueElement extends AbstractElement
21
21
  */
22
22
  public function __construct(
23
23
  $value = null,
24
- ParserNode $originNode = null,
25
- NodeInterface $parent = null,
26
- array $children = null
24
+ ?ParserNode $originNode = null,
25
+ ?NodeInterface $parent = null,
26
+ ?array $children = null
27
27
  ) {
28
28
  parent::__construct($originNode, $parent, $children);
29
29
 
@@ -7,7 +7,7 @@ use Phug\Parser\NodeInterface as ParserNode;
7
7
 
8
8
  class AnonymousBlockElement extends ExpressionElement
9
9
  {
10
- public function __construct(ParserNode $originNode = null, NodeInterface $parent = null, array $children = null)
10
+ public function __construct(?ParserNode $originNode = null, ?NodeInterface $parent = null, ?array $children = null)
11
11
  {
12
12
  parent::__construct('$__pug_children(get_defined_vars())', $originNode, $parent, $children);
13
13
  $this->uncheck();
@@ -6,31 +6,36 @@ use Phug\Ast\NodeInterface;
6
6
  use Phug\Formatter\AbstractElement;
7
7
  use Phug\Formatter\AssignmentContainerInterface;
8
8
  use Phug\Parser\NodeInterface as ParserNode;
9
+ use Phug\Util\AttributesInterface;
10
+ use Phug\Util\OrderableInterface;
9
11
  use Phug\Util\Partial\AttributeTrait;
10
12
  use Phug\Util\Partial\NameTrait;
13
+ use Phug\Util\Partial\OrderTrait;
14
+ use SplObjectStorage;
11
15
 
12
- class AssignmentElement extends AbstractElement
16
+ class AssignmentElement extends AbstractElement implements AttributesInterface, OrderableInterface
13
17
  {
14
18
  use AttributeTrait;
15
19
  use NameTrait;
20
+ use OrderTrait;
16
21
 
17
22
  /**
18
23
  * AssignmentElement constructor.
19
24
  *
20
25
  * @param string $name
21
- * @param \SplObjectStorage|null $attributes
22
- * @param AssignmentContainerInterface|null $markup
26
+ * @param SplObjectStorage|null $attributes
27
+ * @param AssignmentContainerInterface|null $container
23
28
  * @param ParserNode|null $originNode
24
29
  * @param NodeInterface|null $parent
25
30
  * @param array|null $children
26
31
  */
27
32
  public function __construct(
28
33
  $name,
29
- \SplObjectStorage $attributes = null,
30
- AssignmentContainerInterface $container = null,
31
- ParserNode $originNode = null,
32
- NodeInterface $parent = null,
33
- array $children = null
34
+ ?SplObjectStorage $attributes = null,
35
+ ?AssignmentContainerInterface $container = null,
36
+ ?ParserNode $originNode = null,
37
+ ?NodeInterface $parent = null,
38
+ ?array $children = null
34
39
  ) {
35
40
  parent::__construct($originNode, $parent, $children);
36
41
 
@@ -4,12 +4,15 @@ namespace Phug\Formatter\Element;
4
4
 
5
5
  use Phug\Ast\NodeInterface;
6
6
  use Phug\Parser\NodeInterface as ParserNode;
7
+ use Phug\Util\OrderableInterface;
7
8
  use Phug\Util\Partial\NameTrait;
9
+ use Phug\Util\Partial\OrderTrait;
8
10
  use Phug\Util\Partial\VariadicTrait;
9
11
 
10
- class AttributeElement extends AbstractValueElement
12
+ class AttributeElement extends AbstractValueElement implements OrderableInterface
11
13
  {
12
14
  use NameTrait;
15
+ use OrderTrait;
13
16
  use VariadicTrait;
14
17
 
15
18
  /**
@@ -24,9 +27,9 @@ class AttributeElement extends AbstractValueElement
24
27
  public function __construct(
25
28
  $name,
26
29
  $value,
27
- ParserNode $originNode = null,
28
- NodeInterface $parent = null,
29
- array $children = null
30
+ ?ParserNode $originNode = null,
31
+ ?NodeInterface $parent = null,
32
+ ?array $children = null
30
33
  ) {
31
34
  parent::__construct($originNode, $parent, $children);
32
35
 
@@ -34,9 +34,9 @@ class CodeElement extends AbstractValueElement implements TransformableInterface
34
34
  */
35
35
  public function __construct(
36
36
  $value = null,
37
- ParserNode $originNode = null,
38
- NodeInterface $parent = null,
39
- array $children = null
37
+ ?ParserNode $originNode = null,
38
+ ?NodeInterface $parent = null,
39
+ ?array $children = null
40
40
  ) {
41
41
  parent::__construct($value, $originNode, $parent, $children);
42
42
 
@@ -82,7 +82,7 @@ class CodeElement extends AbstractValueElement implements TransformableInterface
82
82
  T_TRAIT,
83
83
  T_TRY,
84
84
  T_WHILE,
85
- ]);
85
+ ], true);
86
86
  }
87
87
 
88
88
  public function hasBlockContent()
@@ -106,7 +106,7 @@ class CodeElement extends AbstractValueElement implements TransformableInterface
106
106
  $this->isCodeBlockOpening() &&
107
107
  !$this->hasBlockContent()
108
108
  )
109
- ) && !in_array(end($tokens), [';', '{']);
109
+ ) && !in_array(end($tokens), [';', '{'], true);
110
110
  }
111
111
 
112
112
  /**
@@ -27,9 +27,9 @@ class KeywordElement extends AbstractElement
27
27
  public function __construct(
28
28
  $name,
29
29
  $value,
30
- ParserNode $originNode = null,
31
- NodeInterface $parent = null,
32
- array $children = null
30
+ ?ParserNode $originNode = null,
31
+ ?NodeInterface $parent = null,
32
+ ?array $children = null
33
33
  ) {
34
34
  parent::__construct($originNode, $parent, $children);
35
35
 
@@ -4,10 +4,12 @@ namespace Phug\Formatter\Element;
4
4
 
5
5
  use Phug\Ast\NodeInterface;
6
6
  use Phug\Parser\NodeInterface as ParserNode;
7
+ use Phug\Util\AttributesInterface;
7
8
  use Phug\Util\Partial\AttributeTrait;
8
9
  use Phug\Util\Partial\NameTrait;
10
+ use SplObjectStorage;
9
11
 
10
- class MarkupElement extends AbstractMarkupElement
12
+ class MarkupElement extends AbstractMarkupElement implements AttributesInterface
11
13
  {
12
14
  use AttributeTrait;
13
15
  use NameTrait;
@@ -20,20 +22,20 @@ class MarkupElement extends AbstractMarkupElement
20
22
  /**
21
23
  * MarkupElement constructor.
22
24
  *
23
- * @param string $name
24
- * @param bool $autoClosed
25
- * @param \SplObjectStorage|null $attributes
26
- * @param ParserNode|null $originNode
27
- * @param NodeInterface|null $parent
28
- * @param array|null $children
25
+ * @param string $name
26
+ * @param bool $autoClosed
27
+ * @param SplObjectStorage|null $attributes
28
+ * @param ParserNode|null $originNode
29
+ * @param NodeInterface|null $parent
30
+ * @param array|null $children
29
31
  */
30
32
  public function __construct(
31
33
  $name,
32
34
  $autoClosed = false,
33
- \SplObjectStorage $attributes = null,
34
- ParserNode $originNode = null,
35
- NodeInterface $parent = null,
36
- array $children = null
35
+ ?SplObjectStorage $attributes = null,
36
+ ?ParserNode $originNode = null,
37
+ ?NodeInterface $parent = null,
38
+ ?array $children = null
37
39
  ) {
38
40
  parent::__construct($originNode, $parent, $children);
39
41
 
@@ -2,10 +2,11 @@
2
2
 
3
3
  namespace Phug\Formatter\Element;
4
4
 
5
+ use Phug\Util\AttributesInterface;
5
6
  use Phug\Util\Partial\AttributeTrait;
6
7
  use Phug\Util\Partial\NameTrait;
7
8
 
8
- class MixinCallElement extends AbstractAssignmentContainerElement
9
+ class MixinCallElement extends AbstractAssignmentContainerElement implements AttributesInterface
9
10
  {
10
11
  use AttributeTrait;
11
12
  use NameTrait;
@@ -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;
@@ -28,11 +28,11 @@ class VariableElement extends AbstractElement
28
28
  * @param array|null $children
29
29
  */
30
30
  public function __construct(
31
- CodeElement $variable = null,
32
- ExpressionElement $expression = null,
33
- ParserNode $originNode = null,
34
- NodeInterface $parent = null,
35
- array $children = null
31
+ ?CodeElement $variable = null,
32
+ ?ExpressionElement $expression = null,
33
+ ?ParserNode $originNode = null,
34
+ ?NodeInterface $parent = null,
35
+ ?array $children = null
36
36
  ) {
37
37
  parent::__construct($originNode, $parent, $children);
38
38
 
@@ -37,7 +37,7 @@ class FormatEvent extends Event
37
37
  /**
38
38
  * @param ElementInterface $element
39
39
  */
40
- public function setElement(ElementInterface $element = null)
40
+ public function setElement(?ElementInterface $element = null)
41
41
  {
42
42
  $this->element = $element;
43
43
  }
@@ -11,7 +11,7 @@ class HtmlFormat extends XhtmlFormat
11
11
  const EXPLICIT_CLOSING_TAG = '<%s/>';
12
12
  const BOOLEAN_ATTRIBUTE_PATTERN = ' %s';
13
13
 
14
- public function __construct(Formatter $formatter = null)
14
+ public function __construct(?Formatter $formatter = null)
15
15
  {
16
16
  parent::__construct($formatter);
17
17
 
@@ -13,7 +13,7 @@ abstract class XhtmlFormat extends XmlFormat
13
13
  const DOCTYPE_LANGUAGE = 'html';
14
14
  const SELF_CLOSING_TAG = '<%s />';
15
15
 
16
- public function __construct(Formatter $formatter = null)
16
+ public function __construct(?Formatter $formatter = null)
17
17
  {
18
18
  $this->setOptionsRecursive([
19
19
  'white_space_sensitive_tags' => [