summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2005-03-01 11:20:37 +0000
committermihaylov <mihaylov@epfl.ch>2005-03-01 11:20:37 +0000
commit78dedbcfe828d8d629154911b2ab2f555fe18cb6 (patch)
treea6fa2f1c7456a050d21282f3d94fdcaf5c4c9338
parent434f79ad150032b748f1eb630695a6ca5bd95ba4 (diff)
downloadscala-78dedbcfe828d8d629154911b2ab2f555fe18cb6.tar.gz
scala-78dedbcfe828d8d629154911b2ab2f555fe18cb6.tar.bz2
scala-78dedbcfe828d8d629154911b2ab2f555fe18cb6.zip
- Give private inner classes assembly visibility.
in the interface of a Scala class and if they are private they are not accessible from the implementation class. Giving them assembly visibility solves the problem.
-rw-r--r--sources/scalac/backend/msil/TypeCreator.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/sources/scalac/backend/msil/TypeCreator.java b/sources/scalac/backend/msil/TypeCreator.java
index af106a1fa1..48d82735a8 100644
--- a/sources/scalac/backend/msil/TypeCreator.java
+++ b/sources/scalac/backend/msil/TypeCreator.java
@@ -1195,7 +1195,11 @@ final class TypeCreator {
if (nested) {
if (Modifiers.Helper.isPrivate(mods))
- attr |= TypeAttributes.NestedPrivate;
+ //attr |= TypeAttributes.NestedPrivate;
+ // Inner classes end up in the interface of a Scala class
+ // and are not accessible from the implementation class.
+ // Giving them assembly visibility fixes the problem.
+ attr |= TypeAttributes.NestedAssembly;
else if (Modifiers.Helper.isProtected(mods))
attr |= TypeAttributes.NestedFamORAssem;
else