removed constants from JetStandardLibraryNames, JetTypeMapper

that are used only in KotlinToJavaTypesMapper
This commit is contained in:
Svetlana Isakova
2012-08-24 20:44:25 +04:00
parent e63ed754f1
commit 35c276be18
3 changed files with 31 additions and 31 deletions
@@ -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);
}