diff options
author | paltherr <paltherr@epfl.ch> | 2003-12-04 13:25:16 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-12-04 13:25:16 +0000 |
commit | 4000080b8a780eb7f41592212d046de3ada9a9a5 (patch) | |
tree | d5e8dd7cfeabd9ecc2912149a0f45fa727bce4f0 /sources/scalac | |
parent | 4840576349b0403f1c4dcd524861063a5f1b6a7f (diff) | |
download | scala-4000080b8a780eb7f41592212d046de3ada9a9a5.tar.gz scala-4000080b8a780eb7f41592212d046de3ada9a9a5.tar.bz2 scala-4000080b8a780eb7f41592212d046de3ada9a9a5.zip |
- Added method boxUnboxedType
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/transformer/Erasure.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sources/scalac/transformer/Erasure.java b/sources/scalac/transformer/Erasure.java index f99545dd62..28382c738c 100644 --- a/sources/scalac/transformer/Erasure.java +++ b/sources/scalac/transformer/Erasure.java @@ -496,6 +496,35 @@ public class Erasure extends GenTransformer implements Modifiers { } } + /** Returns the boxed version of the given unboxed type. */ + private Type boxUnboxedType(Type type) { + switch (type) { + case UnboxedType(TypeTags.UNIT): + return definitions.UNIT_CLASS.type(); + case UnboxedType(TypeTags.BOOLEAN): + return definitions.BOOLEAN_CLASS.type(); + case UnboxedType(TypeTags.BYTE): + return definitions.BYTE_CLASS.type(); + case UnboxedType(TypeTags.SHORT): + return definitions.SHORT_CLASS.type(); + case UnboxedType(TypeTags.CHAR): + return definitions.CHAR_CLASS.type(); + case UnboxedType(TypeTags.INT): + return definitions.INT_CLASS.type(); + case UnboxedType(TypeTags.LONG): + return definitions.LONG_CLASS.type(); + case UnboxedType(TypeTags.FLOAT): + return definitions.FLOAT_CLASS.type(); + case UnboxedType(TypeTags.DOUBLE): + return definitions.DOUBLE_CLASS.type(); + case UnboxedArrayType(Type element): + return Type.appliedType( + definitions.ARRAY_CLASS.type(), new Type[] {element}); + default: + throw Debug.abort("illegal case", type); + } + } + /** Returns the element type of the given array type. */ private Type getArrayElementType(Type type) { switch (type) { |