deprecated-packages / barista

The Barista explores every Latte (file) for strict quality, helps with Latte 2 to 3 upgrade
5 stars 0 forks source link

Analyze: Cannot redeclare block 'content' in `TemplateParser.php` #4

Closed jtojnar closed 2 years ago

jtojnar commented 2 years ago

Running analyze on nette’s example project, I get the following error:

$ vendor/bin/barista analyze app/ -vvv

 ! [NOTE] Analying 7 files...                                                                                           

In TemplateParser.php line 377:

  [Latte\CompileException]                        
  Cannot redeclare block 'content' (at column 1)  

Exception trace:
  at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php:377
 Latte\Compiler\TemplateParser->checkBlockIsUnique() at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Essential/Nodes/BlockNode.php:54
 Latte\Essential\Nodes\BlockNode::create() at n/a:n/a
 Generator->valid() at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php:176
 Latte\Compiler\TemplateParser->parseLatteStatement() at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php:112
 Latte\Compiler\TemplateParser->inTextResolve() at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Compiler/TemplateParserHtml.php:58
 Latte\Compiler\TemplateParserHtml->inTextResolve() at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php:90
 Latte\Compiler\TemplateParser->parseFragment() at /home/jtojnar/Projects/repro/barista-3/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php:71
 Latte\Compiler\TemplateParser->parse() at /home/jtojnar/Projects/repro/barista-3/vendor/barista/barista/src/LatteParser/LatteParser.php:52
 Barista\LatteParser\LatteParser->parseCode() at /home/jtojnar/Projects/repro/barista-3/vendor/barista/barista/src/LatteParser/LatteParser.php:47
 Barista\LatteParser\LatteParser->parseFile() at /home/jtojnar/Projects/repro/barista-3/vendor/barista/barista/src/Analyzer/LatteAnalyzer.php:24
 Barista\Analyzer\LatteAnalyzer->run() at /home/jtojnar/Projects/repro/barista-3/vendor/barista/barista/src/Command/AnalyzeCommand.php:34
 Barista\Command\AnalyzeCommand->execute() at /home/jtojnar/Projects/repro/barista-3/vendor/symfony/console/Command/Command.php:291
 Symfony\Component\Console\Command\Command->run() at /home/jtojnar/Projects/repro/barista-3/vendor/symfony/console/Application.php:998
 Symfony\Component\Console\Application->doRunCommand() at /home/jtojnar/Projects/repro/barista-3/vendor/symfony/console/Application.php:299
 Symfony\Component\Console\Application->doRun() at /home/jtojnar/Projects/repro/barista-3/vendor/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at /home/jtojnar/Projects/repro/barista-3/vendor/barista/barista/bin/barista.php:34
 require() at /home/jtojnar/Projects/repro/barista-3/vendor/barista/barista/bin/barista:4
 include() at /home/jtojnar/Projects/repro/barista-3/vendor/bin/barista:117

analyze <paths>...
TomasVotruba commented 2 years ago

I've added print of current file to make it easier to find.

Seems the Latte plugin complains about that block too (I do not use Latte much, so maybe it's bug in Latte plugin).

image

TomasVotruba commented 2 years ago

Interesting, it happens only if there are multiple files analysed :) some cache issue

TomasVotruba commented 2 years ago

Fixed in https://github.com/TomasVotruba/barista/commit/c6a413b66eef3b3f8c1957f87915ccc80cefd6fa