diff options
author | Paul Phillips <paulp@improving.org> | 2009-11-16 21:30:36 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2009-11-16 21:30:36 +0000 |
commit | 773b7a287b7db8793b971e2aa920d5c56c7b4b51 (patch) | |
tree | 05ee38485e1d527815d7d00967965bf0bd678d9f /src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala | |
parent | 0da0208af4e3824e9ccc5fe8fe641ee541737fcc (diff) | |
download | scala-773b7a287b7db8793b971e2aa920d5c56c7b4b51.tar.gz scala-773b7a287b7db8793b971e2aa920d5c56c7b4b51.tar.bz2 scala-773b7a287b7db8793b971e2aa920d5c56c7b4b51.zip |
Some organization & duplication removal in GenI...
Some organization & duplication removal in GenICode stemming from
optimizer appeasement.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala b/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala index 290d90b3e9..88e867e487 100644 --- a/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala +++ b/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala @@ -469,6 +469,18 @@ abstract class ScalaPrimitives { def isCoercion(code: Int): Boolean = (code >= B2B) && (code <= D2D) + final val typeOfArrayOp: Map[Int, TypeKind] = Map( + (List(ZARRAY_LENGTH, ZARRAY_GET, ZARRAY_SET) map (_ -> BOOL)) ++ + (List(BARRAY_LENGTH, BARRAY_GET, BARRAY_SET) map (_ -> BYTE)) ++ + (List(SARRAY_LENGTH, SARRAY_GET, SARRAY_SET) map (_ -> SHORT)) ++ + (List(CARRAY_LENGTH, CARRAY_GET, CARRAY_SET) map (_ -> CHAR)) ++ + (List(IARRAY_LENGTH, IARRAY_GET, IARRAY_SET) map (_ -> INT)) ++ + (List(LARRAY_LENGTH, LARRAY_GET, LARRAY_SET) map (_ -> LONG)) ++ + (List(FARRAY_LENGTH, FARRAY_GET, FARRAY_SET) map (_ -> FLOAT)) ++ + (List(DARRAY_LENGTH, DARRAY_GET, DARRAY_SET) map (_ -> DOUBLE)) ++ + (List(OARRAY_LENGTH, OARRAY_GET, OARRAY_SET) map (_ -> REFERENCE(AnyRefClass))) : _* + ) + /** Check whether the given operation code is an array operation. */ def isArrayOp(code: Int): Boolean = isArrayNew(code) | isArrayLength(code) | isArrayGet(code) | isArraySet(code) |