summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
diff options
context:
space:
mode:
authorSean McDirmid <sean.mcdirmid@gmail.com>2008-04-20 13:18:21 +0000
committerSean McDirmid <sean.mcdirmid@gmail.com>2008-04-20 13:18:21 +0000
commitbaad2fbd4e0d013f65e0232ce0aaa534ade8bd40 (patch)
tree9cdd5f876d0942fe3dfe7f0f7b537ee655b2c8e4 /src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
parentc82c0adf093cdd3d6372806984df073e6307ff9a (diff)
downloadscala-baad2fbd4e0d013f65e0232ce0aaa534ade8bd40.tar.gz
scala-baad2fbd4e0d013f65e0232ce0aaa534ade8bd40.tar.bz2
scala-baad2fbd4e0d013f65e0232ce0aaa534ade8bd40.zip
IDE bug fixes
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/parser/Parsers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index f179639541..40da5f06c8 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -2440,8 +2440,11 @@ trait Parsers extends NewScanners with MarkupParsers {
* |
*/
def blockStatSeq(stats: ListBuffer[Tree]): List[Tree] = checkNoEscapingPlaceholders {
- var last = false
- while ((inToken != RBRACE) && (inToken != EOF) && (inToken != CASE) && !last) {
+ var keepGoing = true
+ var hasError = false
+ while ((inToken != RBRACE) && (inToken != EOF) && (inToken != CASE) && keepGoing) {
+ var hasError0 = hasError
+ hasError = false
if (inToken == IMPORT) {
stats ++= importClause()
acceptStatSep()
@@ -2458,6 +2461,7 @@ trait Parsers extends NewScanners with MarkupParsers {
inNextToken
} else {
syntaxErrorOrIncomplete("illegal start of statement", true)
+ if (hasError0) keepGoing = false else hasError = true
}
}
stats.toList