|
@@ 2271-2279 (lines=9) @@
|
| 2268 |
|
* | InputParameter | CaseExpression |
| 2269 |
|
*/ |
| 2270 |
|
public function ArithmeticPrimary() { |
| 2271 |
|
if ($this->lexer->isNextToken(Lexer::T_OPEN_PARENTHESIS)) { |
| 2272 |
|
$this->match(Lexer::T_OPEN_PARENTHESIS); |
| 2273 |
|
|
| 2274 |
|
$expr = $this->SimpleArithmeticExpression(); |
| 2275 |
|
|
| 2276 |
|
$this->match(Lexer::T_CLOSE_PARENTHESIS); |
| 2277 |
|
|
| 2278 |
|
return new AST\ParenthesisExpression($expr); |
| 2279 |
|
} |
| 2280 |
|
|
| 2281 |
|
switch ($this->lexer->lookahead['type']) { |
| 2282 |
|
case Lexer::T_COALESCE: |
|
@@ 2330-2336 (lines=7) @@
|
| 2327 |
|
$peek = $this->lexer->glimpse(); |
| 2328 |
|
|
| 2329 |
|
// Subselect |
| 2330 |
|
if ($this->lexer->isNextToken(Lexer::T_OPEN_PARENTHESIS) && $peek['type'] === Lexer::T_SELECT) { |
| 2331 |
|
$this->match(Lexer::T_OPEN_PARENTHESIS); |
| 2332 |
|
$expr = $this->Subselect(); |
| 2333 |
|
$this->match(Lexer::T_CLOSE_PARENTHESIS); |
| 2334 |
|
|
| 2335 |
|
return $expr; |
| 2336 |
|
} |
| 2337 |
|
|
| 2338 |
|
// ResultVariable (string) |
| 2339 |
|
if ($this->lexer->isNextToken(Lexer::T_IDENTIFIER) && |