Aladdin - Scala Bugtracking
[#503] project: nsc priority: low category: bug
submitter assigned to status date submitted
Lex _ _ 2005-11-29 12:33:46.0
subject empty extends crashes the compiler
code
class Blah()
extends 
what happened
a nice parse error message, followed by a debugger trace:

$ nsc -d . killcomp.scala 
killcomp.scala:2 error: identifier expected but eof found.
extends 
        ^
Exception in thread "main" java.lang.Error: 23 not valid offset in killcomp.scala:23
	at scala.tools.nsc.util.SourceFile$line$.find(SourceFile.scala:65)
	at scala.tools.nsc.util.SourceFile$class.offsetToLine(SourceFile.scala:91)
	at scala.tools.nsc.util.Position$class.column(Position.scala:44)
	at scala.tools.nsc.reporters.AbstractReporter$class.scala$tools$nsc$reporters$AbstractReporter$testAndLog(Abstr\
actReporter.scala:49)
	at scala.tools.nsc.reporters.AbstractReporter$class.error(AbstractReporter.scala:37)
	at scala.tools.nsc.CompilationUnits$CompilationUnit$class.error(CompilationUnits.scala:26)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.syntaxError(Parsers.scala:104)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.syntaxError(Parsers.scala:100)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.classTemplate(Parsers.scala:1568)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.classDef(Parsers.scala:1528)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.tmplDef(Parsers.scala:1505)
	at scala.tools.nsc.ast.parser.Parsers$Parser$$anon$10.apply(Parsers.scala:1632)
	at scala.tools.nsc.ast.parser.Parsers$Parser$$anon$10.apply(Parsers.scala:1632)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.joinComment(Parsers.scala:166)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.topStatSeq(Parsers.scala:1632)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.compilationUnit(Parsers.scala:1783)
	at scala.tools.nsc.ast.parser.Parsers$Parser$class.parse(Parsers.scala:67)
	at scala.tools.nsc.ast.parser.SyntaxAnalyzer$ParserPhase$class.apply(SyntaxAnalyzer.scala:16)
	at scala.tools.nsc.Global$GlobalPhase$class.applyPhase(Global.scala:170)
	at scala.tools.nsc.Global$GlobalPhase$$anon$7.apply(Global.scala:162)
	at scala.tools.nsc.Global$GlobalPhase$$anon$7.apply(Global.scala:162)
	at scala.Iterator$class.foreach(Iterator.scala:262)
	at scala.tools.nsc.Global$GlobalPhase$class.run(Global.scala:162)
	at scala.tools.nsc.Global$Run$class.compileSources(Global.scala:339)
	at scala.tools.nsc.Global$Run$$anon$20.apply(Global.scala:397)
	at scala.tools.nsc.Global$Run$$anon$20.apply(Global.scala:397)
	at scala.runtime.ScalaRunTime$$anon$0.run(ScalaRunTime.scala:34)
	at scala.runtime.RunTime.tryCatch(RunTime.java:79)
	at scala.runtime.ScalaRunTime$$anon$0.(ScalaRunTime.scala:32)
	at scala.runtime.ScalaRunTime$.Try(ScalaRunTime.scala:30)
	at scala.tools.nsc.Global$Run$class.compile(Global.scala:396)
	at scala.tools.nsc.Main$$anon$4.apply(Main.scala:55)
	at scala.tools.nsc.Main$$anon$4.apply(Main.scala:48)
	at scala.runtime.ScalaRunTime$$anon$0.run(ScalaRunTime.scala:34)
	at scala.runtime.RunTime.tryCatch(RunTime.java:79)
	at scala.runtime.ScalaRunTime$$anon$0.(ScalaRunTime.scala:32)
	at scala.runtime.ScalaRunTime$.Try(ScalaRunTime.scala:30)
	at scala.tools.nsc.Main$.process(Main.scala:48)
	at scala.tools.nsc.Main$.main(Main.scala:67)
	at scala.tools.nsc.Main.main(Main.scala:66)
lex@astra:~/scala$ cat killcomp.scala
class Blah()
extends 
what expected just the parse error
[back to overview]
Changes of this bug report