summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlorch <lorch@epfl.ch>2008-05-24 22:41:35 +0000
committerlorch <lorch@epfl.ch>2008-05-24 22:41:35 +0000
commitd7efafa48ff8080848561af4eeba97c28fc2fd9b (patch)
tree293c79ee5562af9a7728b64bd25a7cd9fc54b842 /src
parent15c03d481193ab8fd826f92e86f691506fb5a79a (diff)
downloadscala-d7efafa48ff8080848561af4eeba97c28fc2fd9b.tar.gz
scala-d7efafa48ff8080848561af4eeba97c28fc2fd9b.tar.bz2
scala-d7efafa48ff8080848561af4eeba97c28fc2fd9b.zip
- be specific about what errors are caught
- fixed "Warning -- Nested class 'scala.collection.immutable.Queue/scala.collection.immutable.$anonfun$$plus$1' has non-nested visibility, set to such."
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
index 3c8000a101..5ff1123d78 100644
--- a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
+++ b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
@@ -9,6 +9,7 @@ package scala.tools.nsc.backend.msil
import java.io.File
import java.nio.{ByteBuffer, ByteOrder}
+import java.io.IOException
import scala.collection.mutable.{Map, HashMap, HashSet, Stack}
import scala.tools.nsc.symtab._
@@ -468,7 +469,7 @@ abstract class GenMSIL extends SubComponent {
}
}
} catch {
- case _: Error => abort("Could not save .msil files in " + outDir.getPath)
+ case e:IOException => abort("Could not write to " + filename + ": " + e.getMessage())
}
}
@@ -1854,7 +1855,11 @@ abstract class GenMSIL extends SubComponent {
def msilTypeFlags(sym: Symbol): Int = {
var mf: Int = TypeAttributes.AutoLayout | TypeAttributes.AnsiClass
- mf = mf | (if (sym hasFlag Flags.PRIVATE) TypeAttributes.NotPublic else TypeAttributes.Public)
+ if(sym.isNestedClass) {
+ mf = mf | (if (sym hasFlag Flags.PRIVATE) TypeAttributes.NestedPrivate else TypeAttributes.NestedPublic)
+ } else {
+ mf = mf | (if (sym hasFlag Flags.PRIVATE) TypeAttributes.NotPublic else TypeAttributes.Public)
+ }
mf = mf | (if (sym hasFlag Flags.ABSTRACT) TypeAttributes.Abstract else 0)
mf = mf | (if (sym.isTrait && !sym.isImplClass) TypeAttributes.Interface else TypeAttributes.Class)
mf = mf | (if (sym isFinal) TypeAttributes.Sealed else 0)