diff options
author | Martin Odersky <odersky@gmail.com> | 2014-04-04 10:18:33 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-04-08 17:02:20 +0200 |
commit | 09a4bc5d099de71de824a35a67a26e7091e3bb5a (patch) | |
tree | 0787d8e5e92507b6ad0f23ad5a8bafe2d03a8930 /src/dotty/tools/dotc/core/StdNames.scala | |
parent | 3486eb0088f78e8ca93c0bc8f883c2af53ee7d3d (diff) | |
download | dotty-09a4bc5d099de71de824a35a67a26e7091e3bb5a.tar.gz dotty-09a4bc5d099de71de824a35a67a26e7091e3bb5a.tar.bz2 dotty-09a4bc5d099de71de824a35a67a26e7091e3bb5a.zip |
Reworked TermRef handling
The main problem with TermRef handling was that signatures were not always tracked correctly.
New invariant: A TermRef that points to a symbol is always a TermRefWithSig, and the signature
is the one of the corresponding member.
We achieve this by sometimes generating a new TermRefWithSig if a TermRef gets a denotation.
One possible simplification would be to always store a signature in a TermRef.
There's still a problem in TermRefWithSig#newLikeThis, which currently works only if the previously stored
denotation references a symbol. We will need to generalize JointRefDenotation to contain multiple symbols for
a complete fix.
Diffstat (limited to 'src/dotty/tools/dotc/core/StdNames.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/StdNames.scala | 1 |
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 3982c51f0..d01971982 100644 --- a/src/dotty/tools/dotc/core/StdNames.scala +++ b/src/dotty/tools/dotc/core/StdNames.scala @@ -109,6 +109,7 @@ object StdNames { val MODULE_VAR_SUFFIX: N = "$module" val NAME_JOIN: N = NameTransformer.NAME_JOIN_STRING val USCORE_PARAM_PREFIX: N = "_$" + val OVERLOADED: N = "<overloaded>" val PACKAGE: N = "package" val PACKAGE_CLS: N = "package$" val PROTECTED_PREFIX: N = "protected$" |