sbt/compile/interface/src/main/scala/xsbt
Guillaume Martres aab822c595 Simplify value class API handling and fix #2497
This is a backport of sbt/zinc#95

The previous approach to value class API (introduced by #2261 and
refined by #2413 and #2414) was to store both unerased and
erased signatures so that changes to value classes forced
recompilations.
This is no longer necessary thanks to #2523: if a class type is
used, then it becomes a dependency of the current class and its name is
part of the used names of the current class. Since the name hash of a
class changes if it stops or start extending AnyVal, this is enough to
force recompilation of anything that uses a value class type. If the
underlying type of a value class change, its name hash doesn't change,
but the name hash of `<init>` changes and since every class uses the name
`<init>`, we don't need to do anything special to trigger recompilations
either.
2016-04-20 22:57:05 +02:00
..
API.scala Avoid CCE when scalac internally uses compileLate. Fixes #2452 2016-02-11 16:29:09 -05:00
Analyzer.scala Avoid CCE when scalac internally uses compileLate. Fixes #2452 2016-02-11 16:29:09 -05:00
Command.scala added scalariform 2014-05-01 12:50:07 -04:00
Compat.scala Simplify value class API handling and fix #2497 2016-04-20 22:57:05 +02:00
CompilerInterface.scala Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
ConsoleInterface.scala Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
DelegatingReporter.scala Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
Dependency.scala Include used types in the set of used names 2016-04-20 18:27:21 +02:00
ExtractAPI.scala Simplify value class API handling and fix #2497 2016-04-20 22:57:05 +02:00
ExtractUsedNames.scala Include used types in the set of used names 2016-04-20 18:27:21 +02:00
GlobalHelpers.scala Include used types in the set of used names 2016-04-20 18:27:21 +02:00
LocateClassFile.scala added scalariform 2014-05-01 12:50:07 -04:00
Log.scala added scalariform 2014-05-01 12:50:07 -04:00
Message.scala added scalariform 2014-05-01 12:50:07 -04:00
ScaladocInterface.scala Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00