summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala3
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala2
-rw-r--r--src/reflect/scala/reflect/internal/TreeInfo.scala4
3 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
index b801b644fb..71e6454931 100644
--- a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
@@ -525,7 +525,6 @@ trait TypeDiagnostics {
val unused = p.unusedTerms
unused foreach { defn: DefTree =>
val sym = defn.symbol
- val isDefaultGetter = sym.name containsName nme.DEFAULT_GETTER_STRING
val pos = (
if (defn.pos.isDefined) defn.pos
else if (sym.pos.isDefined) sym.pos
@@ -536,7 +535,7 @@ trait TypeDiagnostics {
)
val why = if (sym.isPrivate) "private" else "local"
val what = (
- if (isDefaultGetter) "default argument"
+ if (sym.isDefaultGetter) "default argument"
else if (sym.isConstructor) "constructor"
else if (sym.isVar || sym.isGetter && sym.accessed.isVar) "var"
else if (sym.isVal || sym.isGetter && sym.accessed.isVal) "val"
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index 2969bd92de..7638380c41 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -556,6 +556,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
def isConstructor = false
def isEarlyInitialized = false
def isGetter = false
+ def isDefaultGetter = false
def isLocalDummy = false
def isMixinConstructor = false
def isOverloaded = false
@@ -2644,6 +2645,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
override def isSetterParameter = isValueParameter && owner.isSetter
override def isAccessor = this hasFlag ACCESSOR
override def isGetter = isAccessor && !isSetter
+ override def isDefaultGetter = name containsName nme.DEFAULT_GETTER_STRING
override def isSetter = isAccessor && nme.isSetterName(name) // todo: make independent of name, as this can be forged.
override def isLocalDummy = nme.isLocalDummyName(name)
override def isClassConstructor = name == nme.CONSTRUCTOR
diff --git a/src/reflect/scala/reflect/internal/TreeInfo.scala b/src/reflect/scala/reflect/internal/TreeInfo.scala
index 7bab15b0f4..1eb0743bc8 100644
--- a/src/reflect/scala/reflect/internal/TreeInfo.scala
+++ b/src/reflect/scala/reflect/internal/TreeInfo.scala
@@ -281,6 +281,10 @@ abstract class TreeInfo {
}
}
+ def isDefaultGetter(tree: Tree) = {
+ tree.symbol != null && tree.symbol.isDefaultGetter
+ }
+
/** Is tree a self constructor call this(...)? I.e. a call to a constructor of the
* same object?
*/