Hello.
Prettier crashes on declare() without { ... }.
php.net declare
<?php
// these are the same:
// you can use this:
declare(ticks=1) {
// entire script here
}
// or you can use this:
declare(ticks=1);
// entire script here
?>
Input:
<?php
if ($var) {
declare(ticks=1);
}
Error:
[error] SyntaxError: Parse Error : syntax error, unexpected '}' on line 4
[error] at parser.raiseError (/export/node_modules/php-parser/src/parser.js:290:17)
[error] at parser.error (/export/node_modules/php-parser/src/parser.js:335:15)
[error] at parser.read_expr_item (/export/node_modules/php-parser/src/parser/expr.js:420:12)
[error] at parser.read_expr (/export/node_modules/php-parser/src/parser/expr.js:11:23)
[error] at parser.read_statement (/export/node_modules/php-parser/src/parser/statement.js:386:21)
[error] at parser.read_top_statement (/export/node_modules/php-parser/src/parser/statement.js:74:21)
[error] at parser.read_statement (/export/node_modules/php-parser/src/parser/statement.js:339:28)
[error] at parser.read_inner_statement (/export/node_modules/php-parser/src/parser/statement.js:186:21)
[error] at parser.read_inner_statements (/export/node_modules/php-parser/src/parser/statement.js:86:30)
[error] at parser.read_code_block (/export/node_modules/php-parser/src/parser/statement.js:401:14)
or empty
Input:
Error:
[error] Error: Value undefined is not a valid document
[error] at assertDoc (/export/node_modules/prettier/src/doc/doc-builders.js:8:11)
[error] at Array.forEach (<anonymous>)
[error] at concat (/export/node_modules/prettier/src/doc/doc-builders.js:16:11)
[error] at printDeclareArguments (/export/node_modules/@prettier/plugin-php/src/printer.js:1298:16)
[error] at printStatement (/export/node_modules/@prettier/plugin-php/src/printer.js:1322:9)
[error] at printNode (/export/node_modules/@prettier/plugin-php/src/printer.js:1459:12)
[error] at Object.genericPrint [as print] (/export/node_modules/@prettier/plugin-php/src/printer.js:69:19)
[error] at genericPrint$6 (/usr/local/lib/node_modules/prettier/bin-prettier.js:23983:18)
[error] at comments.printComments.p (/usr/local/lib/node_modules/prettier/bin-prettier.js:23921:14)
[error] at Object.printComments (/usr/local/lib/node_modules/prettier/bin-prettier.js:8273:19)
Best regards,
Steve
Hello.
Prettier crashes on
declare()without{ ... }.php.net declare
Input:
Error:
or empty
Input:
Error:
Best regards,
Steve