sbt/compile/interface
Adriaan Moors cb0e723923 Fix #610: represent refinement typerefs stably
goal:

a representation of a type reference to a refinement class that's stable
across compilation runs (and thus insensitive to typing from source or
unpickling from bytecode)

problem:

the current representation, which corresponds to the owner chain of the
refinement:

  1. is affected by pickling, so typing from source or using unpickled
  symbols give different results (because the unpickler "localizes"
  owners -- this could be fixed in the compiler in the long term)

  2. can't distinguish multiple refinements in the same owner (this is
  a limitation of SBT's internal representation and cannot be fixed in
  the compiler)

solution:

expand the reference to the corresponding refinement type: doing that
recursively may not terminate, but we can deal with that by
approximating recursive references (all we care about is being sound for
recompilation: recompile iff a dependency changes, and this will happen
as long as we have one unrolling of the reference to the refinement)
2012-12-06 19:11:12 -05:00
..
API.scala Fix #610: represent refinement typerefs stably 2012-12-06 19:11:12 -05:00
Analyzer.scala Changes required to use sbt as-is from Scala-IDE. 2012-07-13 14:33:26 -04:00
Command.scala cleanup 2.7 warn fatal setting compatibility 2011-11-04 18:39:25 -04:00
CompilerInterface.scala Fix -Yrangepos. Unlike other settings, it requires that a mixin be added to Global. 2012-12-03 20:34:11 -05:00
ConsoleInterface.scala add cleanupCommands setting to specify commands to run before interpreter exits. fixes #219 2011-10-16 17:27:36 -04:00
DelegatingReporter.scala Extend reporter to be used by the IDE. 2012-07-24 15:35:06 -04:00
Log.scala support warn fatal options in 2.8.0.RC2 2010-05-13 18:31:37 -04:00
Message.scala improving incremental compilation 2010-10-22 21:55:16 -04:00
NOTICE legal cleanup 2010-02-07 23:45:19 -05:00
ScaladocInterface.scala include retronym's compatibility patch, closes #5 2011-06-11 20:09:15 -04:00