- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Option to restart incremental compiler
Tue, 2009-06-09, 10:31
hi,
how feasible would it be to have - at least for the 2.8 nightly - an
option to restart the incremental compiler in the eclipse plug-in? i
realize it crashes very quickly after launching eclipse, and then the
incremental build is off, meaning that you need to call clean all the
time (which takes a lot of time)... maybe all it needs is a menu-item
that lets you explicitly restart the incremental compiler so you
don't need to exit and relaunch eclipse?
another thing i have ATM is lots of errors of the form
scala.tools.nsc.FatalError: Companions 'class XYZ' and 'object XYZ'
must be defined in same file.
at scala.tools.nsc.symtab.Symbols$Symbol.isCoDefinedWith
(Symbols.scala:1107)
at scala.tools.nsc.symtab.Symbols$Symbol$$anonfun$linkedClassOfModule
$1.apply(Symbols.scala:1118)
at scala.tools.nsc.symtab.Symbols$Symbol$$anonfun$linkedClassOfModule
$1.apply(Symbols.scala:1118)
at scala.tools.nsc.symtab.Symbols$Symbol.filter(Symbols.scala:953)
at scala.tools.nsc.symtab.Symbols$Symbol.suchThat(Symbols.scala:957)
at scala.tools.nsc.symtab.Symbols$Symbol.linkedClassOfModule
(Symbols.scala:1118)
at scala.tools.nsc.symtab.Symbols$Symbol.linkedSym(Symbols.scala:1135)
at scala.tools.nsc.typechecker.Namers$Namer.updatePosFlags
(Namers.scala:93)
at scala.tools.nsc.typechecker.Namers$Namer.enterModuleSymbol
(Namers.scala:228)
at scala.tools.nsc.typechecker.Namers$Namer.enterSym(Namers.scala:352)
at scala.tools.nsc.typechecker.Namers$Namer.enterSyntheticSym
(Namers.scala:436)
at scala.tools.nsc.typechecker.Namers$Namer.ensureCompanionObject
(Namers.scala:286)
at scala.tools.nsc.typechecker.Namers$Namer.enterSym(Namers.scala:336)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$enterSyms
$1.apply(Namers.scala:250)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$enterSyms
$1.apply(Namers.scala:249)
at scala.collection.generic.LinearSequenceTemplate$class.foreach
(LinearSequenceTemplate.scala:81)
at scala.collection.immutable.List.foreach(List.scala:26)
at scala.tools.nsc.typechecker.Namers$Namer.enterSyms(Namers.scala:249)
at scala.tools.nsc.typechecker.Namers$Namer.enterSym(Namers.scala:331)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$enterSyms
$1.apply(Namers.scala:250)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$enterSyms
$1.apply(Namers.scala:249)
at scala.collection.generic.LinearSequenceTemplate$class.foreach
(LinearSequenceTemplate.scala:81)
at scala.collection.immutable.List.foreach(List.scala:26)
at scala.tools.nsc.typechecker.Namers$Namer.enterSyms(Namers.scala:249)
at scala.tools.nsc.typechecker.Namers$Namer.enterSym(Namers.scala:331)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$enterSyms
$1.apply(Namers.scala:250)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$enterSyms
$1.apply(Namers.scala:249)
at scala.collection.generic.LinearSequenceTemplate$class.foreach
(LinearSequenceTemplate.scala:81)
at scala.collection.immutable.List.foreach(List.scala:26)
at scala.tools.nsc.typechecker.Namers$Namer.enterSyms(Namers.scala:249)
at scala.tools.nsc.typechecker.Namers$Namer.enterSym(Namers.scala:331)
at scala.tools.nsc.typechecker.Analyzer$namerFactory$$anon$1.apply
(Analyzer.scala:34)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:312)
at scala.tools.nsc.Global$Run$$anonfun$compileLate$1.apply
(Global.scala:877)
at scala.tools.nsc.Global$Run$$anonfun$compileLate$1.apply
(Global.scala:877)
at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:102)
at scala.tools.nsc.Global$Run.compileLate(Global.scala:877)
at scala.tools.nsc.interactive.Global.parse(Global.scala:170)
at scala.tools.nsc.interactive.Global$$anonfun$reload$1$$anonfun
$apply$1.apply(Global.scala:208)
at scala.tools.nsc.interactive.Global$$anonfun$reload$1$$anonfun
$apply$1.apply(Global.scala:205)
at scala.collection.generic.LinearSequenceTemplate$class.foreach
(LinearSequenceTemplate.scala:81)
at scala.collection.immutable.List.foreach(List.scala:26)
at scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply
(Global.scala:205)
at scala.tools.nsc.interactive.Global$$anonfun$reload$1.apply
(Global.scala:203)
at scala.tools.nsc.interactive.Global.respond(Global.scala:194)
at scala.tools.nsc.interactive.Global.reload(Global.scala:203)
at scala.tools.nsc.interactive.CompilerControl$$anonfun$askReload
$1.apply(CompilerControl.scala:50)
at scala.tools.nsc.interactive.CompilerControl$$anonfun$askReload
$1.apply(CompilerControl.scala:50)
at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:98)
at scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:120)
where XYZ is basically any kind of class i have, both case classes
and regular classes (even if they don't have any companion object!)
thanks, -sciss-