sbt/compile
Martin Duhem a80966e394 Handle macros that have themselves as original tree
It has been reported in sbt/sbt#1237 that stack overflows may occur during the
extraction of used names (and later of dependencies between files). This
problem has been introduced by sbt/sbt#1163, which was about recording the
dependencies of macro arguments.

When a macro is expanded, the compiler attaches the tree before expansion to
the tree representing the expanded macro. As of Scala 2.11-RC3, some macros
have themselves attached as original tree, which caused the same macro to be
inspected over and over until a stack overflow.

This commit solves this problem by making sure that the original of a macro
expansion will be inspected if and only if it is different from the expanded
tree.

Fixes sbt/sbt#1237
2014-04-07 11:33:47 +02:00
..
api Classes that only inherit a macro don't have a macro 2014-04-03 18:27:17 +02:00
inc Make change to CompileSetup backwards compatible. 2014-02-18 12:18:07 +01:00
integration/src/main/scala/sbt/compiler Include value of `nameHashing` flag in `CompileSetup`. 2014-02-17 17:00:19 +01:00
interface Handle macros that have themselves as original tree 2014-04-07 11:33:47 +02:00
ivy/src/main/scala/sbt/compiler Follow source layout convention supported by Eclipse. 2012-12-07 10:27:08 -08:00
persist Include value of `nameHashing` flag in `CompileSetup`. 2014-02-17 17:00:19 +01:00
src/main/scala/sbt Merge ExtendedReporter into Reporter. 2013-05-27 19:12:39 -04:00
NOTICE - Stuart's improvements to triggered execution 2010-07-05 12:53:37 -04:00