}
return statement;
} else if (token == TokenNameINLINE_HTML) {
- if (scanner.phpExpressionTag) {
- // start of <?= ... ?> block
- getNextToken();
- expr();
- if (token == TokenNameSEMICOLON) {
- getNextToken();
- }
- if (token != TokenNameINLINE_HTML) {
- throwSyntaxError("Missing '?>' for open PHP expression block ('<?=').");
- }
- } else {
- getNextToken();
- }
+ getNextToken();
return statement;
- // } else if (token == TokenNameprint) {
- // getNextToken();
- // expression();
- // if (token == TokenNameSEMICOLON) {
- // getNextToken();
- // } else {
- // if (token != TokenNameStopPHP) {
- // throwSyntaxError("';' expected after 'print' statement.");
- // }
- // getNextToken();
- // }
- // return;
} else if (token == TokenNameglobal) {
getNextToken();
global_var_list();
if (Scanner.TRACE) {
System.out.println("TRACE: dynamic_class_name_reference()");
}
- base_variable();
+ base_variable(true);
if (token == TokenNameMINUS_GREATER) {
getNextToken();
object_property();
return function_call(lefthandside, ignoreVar);
}
- private Expression base_variable() {
+ private Expression base_variable(boolean lefthandside) {
// base_variable:
// reference_variable
// | simple_indirect_reference reference_variable
while (token == TokenNameDOLLAR) {
getNextToken();
}
- reference_variable(false, false);
+ reference_variable(lefthandside, false);
}
return ref;
}