Parse the [expr] portion of an xml element reference, e.g. @[expr], @ ::[expr], or ns::[expr].
(int atPos, Name namespace, int colonPos)
| 3511 | * ns::[expr]. |
| 3512 | */ |
| 3513 | private XmlElemRef xmlElemRef(int atPos, Name namespace, int colonPos) throws IOException { |
| 3514 | int lb = ts.tokenBeg, rb = -1, pos = atPos != -1 ? atPos : lb; |
| 3515 | AstNode expr = expr(false); |
| 3516 | int end = getNodeEnd(expr); |
| 3517 | if (mustMatchToken(Token.RB, "msg.no.bracket.index", true)) { |
| 3518 | rb = ts.tokenBeg; |
| 3519 | end = ts.tokenEnd; |
| 3520 | } |
| 3521 | XmlElemRef ref = new XmlElemRef(pos, end - pos); |
| 3522 | ref.setNamespace(namespace); |
| 3523 | ref.setColonPos(colonPos); |
| 3524 | ref.setAtPos(atPos); |
| 3525 | ref.setExpression(expr); |
| 3526 | ref.setBrackets(lb, rb); |
| 3527 | return ref; |
| 3528 | } |
| 3529 | |
| 3530 | private AstNode destructuringAssignExpr() throws IOException, ParserException { |
| 3531 | try { |
no test coverage detected