diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-02 15:37:12 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-02 15:37:12 +0200 |
commit | 17476c22aa69d05ebf7701f23891f65329d35da7 (patch) | |
tree | 3c457e16d50861acecbe10a9e09da3f87648bba1 /src/dotty/tools/dotc/core/Symbols.scala | |
parent | 2362081bbc80a4edbec954b07698a0729c334947 (diff) | |
download | dotty-17476c22aa69d05ebf7701f23891f65329d35da7.tar.gz dotty-17476c22aa69d05ebf7701f23891f65329d35da7.tar.bz2 dotty-17476c22aa69d05ebf7701f23891f65329d35da7.zip |
Fix TreeTypeMap and mapSymbols to create a copy of decls for duplicated classes.
Without this fix the duplicated classes and the original ones share the same reference to a scope,
instead of having each a separate one.
@alexsikia this should fix your problems
Diffstat (limited to 'src/dotty/tools/dotc/core/Symbols.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Symbols.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Symbols.scala b/src/dotty/tools/dotc/core/Symbols.scala index a27ce3d6a..3b8d226be 100644 --- a/src/dotty/tools/dotc/core/Symbols.scala +++ b/src/dotty/tools/dotc/core/Symbols.scala @@ -292,7 +292,7 @@ trait Symbols { this: Context => val oinfo = original.info match { case ClassInfo(pre, _, parents, decls, selfInfo) => assert(original.isClass) - ClassInfo(pre, copy.asClass, parents, decls, selfInfo) + ClassInfo(pre, copy.asClass, parents, decls.cloneScope, selfInfo) case oinfo => oinfo } copy.denot = odenot.copySymDenotation( |