summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2007-02-26 15:23:10 +0000
committermihaylov <mihaylov@epfl.ch>2007-02-26 15:23:10 +0000
commit7be3105727abac1d64862f52ec22c5605b005329 (patch)
treef301f52fda1d10b9ccc5b9d6c7568125acf1142f /src/compiler
parent02e108bcf24f5c02cef221b995b60ca86aece287 (diff)
downloadscala-7be3105727abac1d64862f52ec22c5605b005329.tar.gz
scala-7be3105727abac1d64862f52ec22c5605b005329.tar.bz2
scala-7be3105727abac1d64862f52ec22c5605b005329.zip
Fixed exhaustivity warnings in GenMSIL
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
index 8ffd4da396..553669d162 100644
--- a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
+++ b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
@@ -1213,7 +1213,7 @@ abstract class GenMSIL extends SubComponent {
}
case LOAD_ARRAY_ITEM(kind) =>
- kind match {
+ (kind: @unsealed) match {
case BOOL => mcode.Emit(OpCodes.Ldelem_I1)
case BYTE => mcode.Emit(OpCodes.Ldelem_U1)
case SHORT => mcode.Emit(OpCodes.Ldelem_I2)
@@ -1264,7 +1264,7 @@ abstract class GenMSIL extends SubComponent {
mcode.Emit(OpCodes.Ldsfld, getModuleInstanceField(module))
case STORE_ARRAY_ITEM(kind) =>
- kind match {
+ (kind: @unsealed) match {
case BOOL => mcode.Emit(OpCodes.Stelem_I1)
case BYTE => mcode.Emit(OpCodes.Stelem_I1)
case SHORT => mcode.Emit(OpCodes.Stelem_I2)
@@ -1323,7 +1323,7 @@ abstract class GenMSIL extends SubComponent {
case CALL_METHOD(msym, style) =>
if (msym.isClassConstructor) {
val constructorInfo: ConstructorInfo = getConstructor(msym)
- style match {
+ (style: @unsealed) match {
// normal constructor calls are Static..
case Static(_) =>
if (method.symbol.isClassConstructor && method.symbol.owner == msym.owner)
@@ -1514,7 +1514,7 @@ abstract class GenMSIL extends SubComponent {
}
case CZJUMP(success, failure, cond, kind) =>
- kind match {
+ (kind: @unsealed) match {
case BOOL | REFERENCE(_) =>
if (nextBlock == success || omitJumpBlocks.contains(currentBlock)) {
emitBrBool(cond.negate, labels(failure))
@@ -1913,7 +1913,7 @@ abstract class GenMSIL extends SubComponent {
// #####################################################################
// get and create types
- private def msilType(t: TypeKind): MsilType = t match {
+ private def msilType(t: TypeKind): MsilType = (t: @unsealed) match {
case UNIT => MVOID
case BOOL => MBOOL
case BYTE => MBYTE
@@ -2238,7 +2238,7 @@ abstract class GenMSIL extends SubComponent {
} //def createDelegateCaller
- def emitBox(code: ILGenerator, boxType: TypeKind) = boxType match {
+ def emitBox(code: ILGenerator, boxType: TypeKind) = (boxType: @unsealed) match {
// doesn't make sense, unit as parameter..
case UNIT => code.Emit(OpCodes.Ldsfld, boxedUnit)
case BOOL | BYTE | SHORT | CHAR | INT | LONG | FLOAT | DOUBLE =>
@@ -2248,21 +2248,7 @@ abstract class GenMSIL extends SubComponent {
case REFERENCE(_) | ARRAY(_) => ()
}
-// def emitUnbox(code: ILGenerator, boxType: Type) = toTypeKind(boxType) match {
-// case UNIT => code.Emit(OpCodes.Pop)
-// case BOOL => code.Emit(OpCodes.Unbox, MBOOL); code.Emit(OpCodes.Ldind_I1)
-// case BYTE => code.Emit(OpCodes.Unbox, MBYTE); code.Emit(OpCodes.Ldind_U1)
-// case SHORT => code.Emit(OpCodes.Unbox, MSHORT); code.Emit(OpCodes.Ldind_I2)
-// case CHAR => code.Emit(OpCodes.Unbox, MCHAR); code.Emit(OpCodes.Ldind_U2)
-// case INT => code.Emit(OpCodes.Unbox, MINT); code.Emit(OpCodes.Ldind_I4)
-// case LONG => code.Emit(OpCodes.Unbox, MLONG); code.Emit(OpCodes.Ldind_I8)
-// case FLOAT => code.Emit(OpCodes.Unbox, MFLOAT); code.Emit(OpCodes.Ldind_R4)
-// case DOUBLE => code.Emit(OpCodes.Unbox, MDOUBLE); code.Emit(OpCodes.Ldind_R8)
-// case REFERENCE(typ) => () ///code.Emit(OpCode.Unbox, msilType(typ)); code.Emit(OpCodes.Ldobj, msilType(typ))
-// case ARRAY(_) => ()
-// }
-
- def emitUnbox(code: ILGenerator, boxType: TypeKind) = boxType match {
+ def emitUnbox(code: ILGenerator, boxType: TypeKind) = (boxType: @unsealed) match {
case UNIT => code.Emit(OpCodes.Pop)
case BOOL => code.Emit(OpCodes.Unbox, MBOOL); code.Emit(OpCodes.Ldind_I1)
case BYTE => code.Emit(OpCodes.Call, toByte)