diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-01-18 00:15:21 -0800 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-01-18 00:15:21 -0800 |
commit | 9bc68766aa17b3509de1bac0e330ea80b6955cdf (patch) | |
tree | 4a81122b7ad08a433a1e2e7dd44e15fd653e2998 | |
parent | 7c0fd124a636bb0dcca236d5aaf7e799c40d6104 (diff) | |
parent | c258ccc9b52c9bfcd47342d3dcf6b58faac8535b (diff) | |
download | scala-9bc68766aa17b3509de1bac0e330ea80b6955cdf.tar.gz scala-9bc68766aa17b3509de1bac0e330ea80b6955cdf.tar.bz2 scala-9bc68766aa17b3509de1bac0e330ea80b6955cdf.zip |
Merge pull request #3381 from retronym/topic/debug-friendliness
Fix compilation under -Ydebug
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/Trees.scala | 4 | ||||
-rw-r--r-- | src/reflect/scala/reflect/internal/Symbols.scala | 2 | ||||
-rw-r--r-- | test/files/pos/debug-reset-local-attrs.flags | 1 | ||||
-rw-r--r-- | test/files/pos/debug-reset-local-attrs.scala | 1 |
4 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/Trees.scala b/src/compiler/scala/tools/nsc/ast/Trees.scala index cccae0c3a0..24bce0636d 100644 --- a/src/compiler/scala/tools/nsc/ast/Trees.scala +++ b/src/compiler/scala/tools/nsc/ast/Trees.scala @@ -194,7 +194,9 @@ trait Trees extends scala.reflect.internal.Trees { self: Global => * (bq:) This transformer has mutable state and should be discarded after use */ private class ResetAttrs(localOnly: Boolean, leaveAlone: Tree => Boolean = null, keepLabels: Boolean = false) { - val debug = settings.debug.value + // this used to be based on -Ydebug, but the need for logging in this code is so situational + // that I've reverted to a hard-coded constant here. + val debug = false val trace = scala.tools.nsc.util.trace when debug val locals = util.HashSet[Symbol](8) diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index e15b33e5d7..c2689fe7e9 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -2419,7 +2419,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => else if (isTrait) ("trait", "trait", "TRT") else if (isClass) ("class", "class", "CLS") else if (isType) ("type", "type", "TPE") - else if (isClassConstructor && isPrimaryConstructor) ("primary constructor", "constructor", "PCTOR") + else if (isClassConstructor && (owner.hasCompleteInfo && isPrimaryConstructor)) ("primary constructor", "constructor", "PCTOR") else if (isClassConstructor) ("constructor", "constructor", "CTOR") else if (isSourceMethod) ("method", "method", "METH") else if (isTerm) ("value", "value", "VAL") diff --git a/test/files/pos/debug-reset-local-attrs.flags b/test/files/pos/debug-reset-local-attrs.flags new file mode 100644 index 0000000000..9c7d6400fc --- /dev/null +++ b/test/files/pos/debug-reset-local-attrs.flags @@ -0,0 +1 @@ +-Ydebug diff --git a/test/files/pos/debug-reset-local-attrs.scala b/test/files/pos/debug-reset-local-attrs.scala new file mode 100644 index 0000000000..8348657965 --- /dev/null +++ b/test/files/pos/debug-reset-local-attrs.scala @@ -0,0 +1 @@ +case class FT(f : Float) |