removed constants from JetStandardLibraryNames, JetTypeMapper
that are used only in KotlinToJavaTypesMapper
This commit is contained in:
@@ -57,12 +57,7 @@ public class JetTypeMapper {
|
||||
public static final Type JAVA_NUMBER_TYPE = Type.getType(Number.class);
|
||||
public static final Type JAVA_STRING_BUILDER_TYPE = Type.getType(StringBuilder.class);
|
||||
public static final Type JAVA_STRING_TYPE = Type.getType(String.class);
|
||||
public static final Type JAVA_ENUM_TYPE = Type.getType(Enum.class);
|
||||
public static final Type JAVA_CHAR_SEQUENCE_TYPE = Type.getType(CharSequence.class);
|
||||
public static final Type JAVA_COMPARABLE_TYPE = Type.getType(Comparable.class);
|
||||
public static final Type JAVA_THROWABLE_TYPE = Type.getType(Throwable.class);
|
||||
public static final Type JAVA_ITERABLE_TYPE = Type.getType(Iterable.class);
|
||||
public static final Type JAVA_ITERATOR_TYPE = Type.getType(Iterator.class);
|
||||
public static final Type JAVA_CLASS_TYPE = Type.getType(Class.class);
|
||||
public static final Type JAVA_BOOLEAN_TYPE = Type.getType(Boolean.class);
|
||||
public static final Type JAVA_ARRAY_GENERIC_TYPE = Type.getType(Object[].class);
|
||||
|
||||
@@ -21,15 +21,20 @@ import com.google.common.collect.Sets;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.asm4.Type;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassifierDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmPrimitiveType;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.lang.JetStandardClasses;
|
||||
import org.jetbrains.jet.lang.types.lang.JetStandardLibrary;
|
||||
import org.jetbrains.jet.lang.types.lang.PrimitiveType;
|
||||
import org.jetbrains.jet.lang.types.ref.ClassName;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -56,6 +61,7 @@ public class KotlinToJavaTypesMap {
|
||||
|
||||
private KotlinToJavaTypesMap() {
|
||||
init();
|
||||
initPrimitive();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -72,6 +78,16 @@ public class KotlinToJavaTypesMap {
|
||||
return asmTypes.get(className);
|
||||
}
|
||||
|
||||
private void register(@NotNull ClassDescriptor kotlinDescriptor, @NotNull Class<?> javaClass) {
|
||||
register(kotlinDescriptor, Type.getType(javaClass));
|
||||
}
|
||||
|
||||
private void register(@NotNull ClassDescriptor kotlinDescriptor, @NotNull Type javaType) {
|
||||
FqNameUnsafe fqName = DescriptorUtils.getFQName(kotlinDescriptor);
|
||||
ClassName className = new ClassName(fqName.toSafe(), kotlinDescriptor.getDefaultType().getArguments().size());
|
||||
register(className, javaType);
|
||||
}
|
||||
|
||||
private void register(@NotNull ClassName className, @NotNull Type type) {
|
||||
asmTypeNames.add(type.getClassName());
|
||||
asmTypes.put(className.getFqName().toUnsafe(), type);
|
||||
@@ -82,27 +98,28 @@ public class KotlinToJavaTypesMap {
|
||||
}
|
||||
|
||||
public void init() {
|
||||
register(NOTHING, JET_NOTHING_TYPE);
|
||||
JetStandardLibrary standardLibrary = JetStandardLibrary.getInstance();
|
||||
register(JetStandardClasses.getNothing(), JET_NOTHING_TYPE); //todo ?????
|
||||
register(JetStandardClasses.getAny(), Object.class);
|
||||
register(standardLibrary.getNumber(), Number.class);
|
||||
register(standardLibrary.getString(), String.class);
|
||||
register(standardLibrary.getThrowable(), Throwable.class);
|
||||
register(standardLibrary.getCharSequence(), CharSequence.class);
|
||||
register(standardLibrary.getComparable(), Comparable.class);
|
||||
register(standardLibrary.getEnum(), Enum.class);
|
||||
register(standardLibrary.getIterable(), Iterable.class);
|
||||
register(standardLibrary.getIterator(), Iterator.class);
|
||||
register(standardLibrary.getMutableIterable(), Iterable.class);
|
||||
register(standardLibrary.getMutableIterator(), Iterator.class);
|
||||
}
|
||||
|
||||
public void initPrimitive() {
|
||||
for (JvmPrimitiveType jvmPrimitiveType : JvmPrimitiveType.values()) {
|
||||
ClassName className = jvmPrimitiveType.getPrimitiveType().getClassName();
|
||||
|
||||
register(className, jvmPrimitiveType.getAsmType());
|
||||
registerNullable(className, jvmPrimitiveType.getWrapper().getAsmType());
|
||||
}
|
||||
|
||||
register(ANY, OBJECT_TYPE);
|
||||
register(NUMBER, JAVA_NUMBER_TYPE);
|
||||
register(STRING, JAVA_STRING_TYPE);
|
||||
register(CHAR_SEQUENCE, JAVA_CHAR_SEQUENCE_TYPE);
|
||||
register(THROWABLE, JAVA_THROWABLE_TYPE);
|
||||
register(COMPARABLE, JAVA_COMPARABLE_TYPE);
|
||||
register(ENUM, JAVA_ENUM_TYPE);
|
||||
register(ITERABLE, JAVA_ITERABLE_TYPE);
|
||||
register(ITERATOR, JAVA_ITERATOR_TYPE);
|
||||
register(MUTABLE_ITERABLE, JAVA_ITERABLE_TYPE);
|
||||
register(MUTABLE_ITERATOR, JAVA_ITERATOR_TYPE);
|
||||
|
||||
for (JvmPrimitiveType jvmPrimitiveType : JvmPrimitiveType.values()) {
|
||||
PrimitiveType primitiveType = jvmPrimitiveType.getPrimitiveType();
|
||||
register(primitiveType.getArrayClassName(), jvmPrimitiveType.getAsmArrayType());
|
||||
|
||||
@@ -35,19 +35,7 @@ public class JetStandardLibraryNames {
|
||||
typeParameterCount);
|
||||
}
|
||||
|
||||
public static final ClassName ANY = classIn("Any", 0);
|
||||
public static final ClassName ARRAY = classIn("Array", 1);
|
||||
public static final ClassName VOLATILE = classIn("volatile", 0);
|
||||
public static final ClassName INT = PrimitiveType.INT.getClassName();
|
||||
public static final ClassName COMPARABLE = classIn("Comparable", 1);
|
||||
public static final ClassName ITERABLE = classIn("Iterable", 1);
|
||||
public static final ClassName ITERATOR = classIn("Iterator", 1);
|
||||
public static final ClassName MUTABLE_ITERABLE = classIn("MutableIterable", 1);
|
||||
public static final ClassName MUTABLE_ITERATOR = classIn("MutableIterator", 1);
|
||||
public static final ClassName NOTHING = classIn("Nothing", 0);
|
||||
public static final ClassName STRING = classIn("String", 0);
|
||||
public static final ClassName CHAR_SEQUENCE = classIn("CharSequence", 0);
|
||||
public static final ClassName NUMBER = classIn("Number", 0);
|
||||
public static final ClassName THROWABLE = classIn("Throwable", 0);
|
||||
public static final ClassName ENUM = classIn("Enum", 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user