Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(455)

Unified Diff: src/com/google/caja/parser/js/Parser.java

Issue 61041: Cajole to HTML (Closed) Base URL: http://google-caja.googlecode.com/svn/trunk/
Patch Set: Cajole to HTML Created 14 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/com/google/caja/parser/js/Parser.java
===================================================================
--- src/com/google/caja/parser/js/Parser.java (revision 3513)
+++ src/com/google/caja/parser/js/Parser.java (working copy)
@@ -468,14 +468,13 @@
tq.expectToken(Punctuation.COLON);
FilePosition colonPos = tq.lastPosition();
Mark caseBodyStart = tq.mark();
- List<AbstractStatement> caseBodyContents =
- new ArrayList<AbstractStatement>();
+ List<Statement> caseBodyContents = new ArrayList<Statement>();
while (!(tq.lookaheadToken(Keyword.DEFAULT)
|| tq.lookaheadToken(Keyword.CASE)
|| tq.lookaheadToken(Punctuation.RCURLY))) {
caseBodyContents.add(parseTerminatedStatement());
}
- AbstractStatement caseBody;
+ Statement caseBody;
switch (caseBodyContents.size()) {
case 0:
caseBody = noop(FilePosition.endOf(colonPos));
@@ -485,7 +484,7 @@
break;
default:
caseBody = new Block(posFrom(caseBodyStart), caseBodyContents);
- finish(caseBody, caseBodyStart);
+ finish((AbstractParseTreeNode) caseBody, caseBodyStart);
break;
}
SwitchCase caseStmt = (null != caseValue)
@@ -1232,9 +1231,8 @@
|| s instanceof Noop || s instanceof WithStmt;
}
- private AbstractStatement parseTerminatedStatement()
- throws ParseException {
- AbstractStatement s = (AbstractStatement) parseStatement();
+ private Statement parseTerminatedStatement() throws ParseException {
+ Statement s = parseStatement();
if (!isTerminal(s)) {
checkSemicolon();
}
@@ -1243,13 +1241,13 @@
private void checkSemicolon() throws ParseException {
// Look for a semicolon
- if (!tq.checkToken(Punctuation.SEMI)) {
- // none found, so maybe do insertion
- if (semicolonInserted()) {
- FilePosition semiPoint = FilePosition.endOf(tq.lastPosition());
- mq.addMessage(MessageType.SEMICOLON_INSERTED, semiPoint);
- return;
- }
+ if (tq.checkToken(Punctuation.SEMI)) { return; }
+ // None found, so maybe do insertion.
+ if (tq.isEmpty()) { return; }
+ if (semicolonInserted()) {
+ FilePosition semiPoint = FilePosition.endOf(tq.lastPosition());
+ mq.addMessage(MessageType.SEMICOLON_INSERTED, semiPoint);
+ } else {
tq.expectToken(Punctuation.SEMI); // Just used to throw an exception
}
}

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b