Drop PrimitiveTypesUtil, store desc in JvmPrimitiveType

This commit is contained in:
Alexander Udalov
2015-02-24 15:11:52 +03:00
parent 27978a7e25
commit fca7a8c4a2
5 changed files with 24 additions and 64 deletions
@@ -62,7 +62,6 @@ import static org.jetbrains.kotlin.load.java.JvmAnnotationNames.ABI_VERSION_FIEL
import static org.jetbrains.kotlin.load.java.JvmAnnotationNames.KotlinSyntheticClass;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.*;
import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.*;
import static org.jetbrains.kotlin.resolve.jvm.types.PrimitiveTypesUtil.asmTypeForPrimitive;
import static org.jetbrains.kotlin.types.TypeUtils.isNullableType;
import static org.jetbrains.org.objectweb.asm.Opcodes.*;
@@ -109,7 +108,7 @@ public class AsmUtil {
ImmutableMap.Builder<Integer, JvmPrimitiveType> typeBySortBuilder = ImmutableMap.builder();
ImmutableMap.Builder<Type, Type> typeByWrapperBuilder = ImmutableMap.builder();
for (JvmPrimitiveType primitiveType : JvmPrimitiveType.values()) {
Type asmType = asmTypeForPrimitive(primitiveType);
Type asmType = Type.getType(primitiveType.getDesc());
typeBySortBuilder.put(asmType.getSort(), primitiveType);
typeByWrapperBuilder.put(asmTypeByFqNameWithoutInnerClasses(primitiveType.getWrapperFqName()), asmType);
}
@@ -39,7 +39,6 @@ import java.util.List;
import static org.jetbrains.kotlin.builtins.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME;
import static org.jetbrains.kotlin.codegen.AsmUtil.asmDescByFqNameWithoutInnerClasses;
import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.getType;
import static org.jetbrains.kotlin.resolve.jvm.types.PrimitiveTypesUtil.asmTypeForPrimitive;
public class ArrayIterator extends IntrinsicMethod {
@NotNull
@@ -69,7 +68,7 @@ public class ArrayIterator extends IntrinsicMethod {
if (containingDeclaration.equals(arrayClass)) {
FqName fqName = new FqName(BUILT_INS_PACKAGE_FQ_NAME + "." + primitiveType.getTypeName() + "Iterator");
String iteratorDesc = asmDescByFqNameWithoutInnerClasses(fqName);
String methodSignature = "([" + asmTypeForPrimitive(jvmPrimitiveType) + ")" + iteratorDesc;
String methodSignature = "([" + jvmPrimitiveType.getDesc() + ")" + iteratorDesc;
v.invokestatic("kotlin/jvm/internal/InternalPackage", "iterator", methodSignature, false);
return Type.getType(iteratorDesc);
}