diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibrary.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibrary.java index 5c3bf472d71..ba7d4fa73ea 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibrary.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibrary.java @@ -107,6 +107,7 @@ public class JetStandardLibrary { private JetType tuple0Type; private EnumMap primitiveTypeToClass; + private EnumMap primitiveTypeToArrayClass; private EnumMap primitiveTypeToJetType; private EnumMap primitiveTypeToNullableJetType; private EnumMap primitiveTypeToArrayJetType; @@ -191,6 +192,7 @@ public class JetStandardLibrary { primitiveTypeToClass = new EnumMap(PrimitiveType.class); primitiveTypeToJetType = new EnumMap(PrimitiveType.class); primitiveTypeToNullableJetType = new EnumMap(PrimitiveType.class); + primitiveTypeToArrayClass = new EnumMap(PrimitiveType.class); primitiveTypeToArrayJetType = new EnumMap(PrimitiveType.class); primitiveJetTypeToJetArrayType = new HashMap(); jetArrayTypeToPrimitiveJetType = new HashMap(); @@ -217,6 +219,7 @@ public class JetStandardLibrary { primitiveTypeToClass.put(primitiveType, clazz); primitiveTypeToJetType.put(primitiveType, type); primitiveTypeToNullableJetType.put(primitiveType, TypeUtils.makeNullable(type)); + primitiveTypeToArrayClass.put(primitiveType, arrayClazz); primitiveTypeToArrayJetType.put(primitiveType, arrayType); primitiveJetTypeToJetArrayType.put(type, arrayType); jetArrayTypeToPrimitiveJetType.put(arrayType, type); @@ -265,6 +268,12 @@ public class JetStandardLibrary { return primitiveTypeToClass.get(primitiveType); } + @NotNull + public ClassDescriptor getPrimitiveArrayClassDescriptor(PrimitiveType primitiveType) { + initStdClasses(); + return primitiveTypeToArrayClass.get(primitiveType); + } + @NotNull public ClassDescriptor getByte() { return getPrimitiveClassDescriptor(PrimitiveType.BYTE);