From 4000080b8a780eb7f41592212d046de3ada9a9a5 Mon Sep 17 00:00:00 2001 From: paltherr Date: Thu, 4 Dec 2003 13:25:16 +0000 Subject: - Added method boxUnboxedType --- sources/scalac/transformer/Erasure.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'sources') 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) { -- cgit v1.2.3