diff options
author | lorch <lorch@epfl.ch> | 2008-05-24 22:41:35 +0000 |
---|---|---|
committer | lorch <lorch@epfl.ch> | 2008-05-24 22:41:35 +0000 |
commit | d7efafa48ff8080848561af4eeba97c28fc2fd9b (patch) | |
tree | 293c79ee5562af9a7728b64bd25a7cd9fc54b842 /src/compiler | |
parent | 15c03d481193ab8fd826f92e86f691506fb5a79a (diff) | |
download | scala-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/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala | 9 |
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) |