aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/Types.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2017-03-27 21:55:26 +0200
committerMartin Odersky <odersky@gmail.com>2017-04-11 09:33:11 +0200
commit0021ffb0f1a0a857b7cdc8cdf769ae727dcb4b2c (patch)
tree89499a1172e48e81a86d61242090819d658c5aa7 /compiler/src/dotty/tools/dotc/core/Types.scala
parent1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b (diff)
downloaddotty-0021ffb0f1a0a857b7cdc8cdf769ae727dcb4b2c.tar.gz
dotty-0021ffb0f1a0a857b7cdc8cdf769ae727dcb4b2c.tar.bz2
dotty-0021ffb0f1a0a857b7cdc8cdf769ae727dcb4b2c.zip
Add ShadowedName and AvoidClashName
Diffstat (limited to 'compiler/src/dotty/tools/dotc/core/Types.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/core/Types.scala7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/Types.scala b/compiler/src/dotty/tools/dotc/core/Types.scala
index 4c69c9484..b2502ee94 100644
--- a/compiler/src/dotty/tools/dotc/core/Types.scala
+++ b/compiler/src/dotty/tools/dotc/core/Types.scala
@@ -7,6 +7,7 @@ import Symbols._
import Flags._
import Names._
import StdNames._, NameOps._
+import NameExtractors.ShadowedName
import Scopes._
import Constants._
import Contexts._
@@ -1594,7 +1595,7 @@ object Types {
}
protected def asMemberOf(prefix: Type, allowPrivate: Boolean)(implicit ctx: Context): Denotation =
- if (name.isShadowedName) prefix.nonPrivateMember(name.revertShadowed)
+ if (name.is(ShadowedName)) prefix.nonPrivateMember(name.exclude(ShadowedName))
else if (!allowPrivate) prefix.nonPrivateMember(name)
else prefix.member(name)
@@ -1730,7 +1731,7 @@ object Types {
* the public name.
*/
def shadowed(implicit ctx: Context): NamedType =
- NamedType(prefix, name.shadowedName)
+ NamedType(prefix, name.derived(ShadowedName))
override def equals(that: Any) = that match {
case that: NamedType =>
@@ -1804,7 +1805,7 @@ object Types {
fixDenot(TermRef.withSig(prefix, name, sig), prefix)
override def shadowed(implicit ctx: Context): NamedType =
- fixDenot(TermRef.withSig(prefix, name.shadowedName, sig), prefix)
+ fixDenot(TermRef.withSig(prefix, name.derived(ShadowedName), sig), prefix)
override def equals(that: Any) = that match {
case that: TermRefWithSignature =>