aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/StdNames.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-04-04 10:24:25 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-04-08 17:03:57 +0200
commitdcfd96328f350a6265d7aac55c411ab798e93e77 (patch)
treed07871190bb367e64235daa662d9f314696cc067 /src/dotty/tools/dotc/core/StdNames.scala
parentebd7df51e5b20e2c42717e216cc6be996d12c52a (diff)
downloaddotty-dcfd96328f350a6265d7aac55c411ab798e93e77.tar.gz
dotty-dcfd96328f350a6265d7aac55c411ab798e93e77.tar.bz2
dotty-dcfd96328f350a6265d7aac55c411ab798e93e77.zip
Shadowed references
In TypeAssigner#ensureAccible we sometimes pick an inherited public member as the denotation of a NamedType instead of an inaccessible private one. The problem is that both are denotations for the same type, which caused a noDoubleBindings assert failure. We now solve this problem by creating a "shadowed" named type to hold the inherited member. The shadowed named type is distinguished by its name, which reads (inherited)originalName In the future, we should make this more robust by using a general tagging scheme to create shadowed names. Another fix is about import symbols. They are now referenced with NonMemberTermRefs. With this fix, the test suite passes with no double def violations.
Diffstat (limited to 'src/dotty/tools/dotc/core/StdNames.scala')
-rw-r--r--src/dotty/tools/dotc/core/StdNames.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/StdNames.scala b/src/dotty/tools/dotc/core/StdNames.scala
index d01971982..cb4272f7a 100644
--- a/src/dotty/tools/dotc/core/StdNames.scala
+++ b/src/dotty/tools/dotc/core/StdNames.scala
@@ -100,6 +100,7 @@ object StdNames {
val EXPAND_SEPARATOR: N = "$$"
val IMPL_CLASS_SUFFIX: N = "$class"
val IMPORT: N = "<import>"
+ val INHERITED: N = "(inherited)" // tag to be used until we have proper name kinds
val INTERPRETER_IMPORT_WRAPPER: N = "$iw"
val INTERPRETER_LINE_PREFIX: N = "line"
val INTERPRETER_VAR_PREFIX: N = "res"