diff options
author | Martin Odersky <odersky@gmail.com> | 2017-03-27 21:55:26 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-04-11 09:33:11 +0200 |
commit | 0021ffb0f1a0a857b7cdc8cdf769ae727dcb4b2c (patch) | |
tree | 89499a1172e48e81a86d61242090819d658c5aa7 /compiler/src/dotty/tools/dotc/core/Types.scala | |
parent | 1d6f5f7f33f9e4be29553cb7ef1e6f054a64dc6b (diff) | |
download | dotty-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.scala | 7 |
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 => |