added mapping for Iterable:

java.lang.Iterable -> jet.Iterable
 java.util.Iterator -> jet.Iterator
 in java classes loading
This commit is contained in:
Svetlana Isakova
2012-08-14 14:52:05 +04:00
parent e1281953e7
commit 3d1f71b355
3 changed files with 14 additions and 1 deletions
@@ -266,7 +266,9 @@ public class JavaTypeTransformer {
classDescriptorMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getThrowable()); classDescriptorMap.put(new FqName("java.lang.Throwable"), JetStandardLibrary.getInstance().getThrowable());
classDescriptorMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNumber()); classDescriptorMap.put(new FqName("java.lang.Number"), JetStandardLibrary.getInstance().getNumber());
classDescriptorMap.put(new FqName("java.lang.Comparable"), JetStandardLibrary.getInstance().getComparable()); classDescriptorMap.put(new FqName("java.lang.Comparable"), JetStandardLibrary.getInstance().getComparable());
classDescriptorMap.put(new FqName("java.lang.Enum"), JetStandardLibrary.getInstance().getEnum()); classDescriptorMap.put(new FqName("java.lang.Enum"), JetStandardLibrary.getInstance().getEnum());
classDescriptorMap.put(new FqName("java.lang.Iterable"), JetStandardLibrary.getInstance().getIterable());
classDescriptorMap.put(new FqName("java.util.Iterator"), JetStandardLibrary.getInstance().getIterator());
} }
return classDescriptorMap; return classDescriptorMap;
} }
@@ -93,6 +93,7 @@ public class JetStandardLibrary {
private ClassDescriptor stringClass; private ClassDescriptor stringClass;
private ClassDescriptor arrayClass; private ClassDescriptor arrayClass;
private ClassDescriptor iterableClass; private ClassDescriptor iterableClass;
private ClassDescriptor iteratorClass;
private ClassDescriptor comparableClass; private ClassDescriptor comparableClass;
private ClassDescriptor throwableClass; private ClassDescriptor throwableClass;
private ClassDescriptor enumClass; private ClassDescriptor enumClass;
@@ -168,6 +169,7 @@ public class JetStandardLibrary {
this.enumClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Enum")); this.enumClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Enum"));
this.iterableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Iterable")); this.iterableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Iterable"));
this.iteratorClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Iterator"));
this.comparableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Comparable")); this.comparableClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Comparable"));
this.stringType = new JetTypeImpl(getString()); this.stringType = new JetTypeImpl(getString());
@@ -210,6 +212,7 @@ public class JetStandardLibrary {
classDescriptors.add(arrayClass); classDescriptors.add(arrayClass);
classDescriptors.add(throwableClass); classDescriptors.add(throwableClass);
classDescriptors.add(iterableClass); classDescriptors.add(iterableClass);
classDescriptors.add(iteratorClass);
classDescriptors.add(comparableClass); classDescriptors.add(comparableClass);
classDescriptors.add(enumClass); classDescriptors.add(enumClass);
@@ -292,6 +295,12 @@ public class JetStandardLibrary {
return iterableClass; return iterableClass;
} }
@NotNull
public ClassDescriptor getIterator() {
initStdClasses();
return iteratorClass;
}
@NotNull @NotNull
public ClassDescriptor getComparable() { public ClassDescriptor getComparable() {
initStdClasses(); initStdClasses();
@@ -39,6 +39,8 @@ public class JetStandardLibraryNames {
public static final ClassName VOLATILE = classIn("volatile", 0); public static final ClassName VOLATILE = classIn("volatile", 0);
public static final ClassName INT = PrimitiveType.INT.getClassName(); public static final ClassName INT = PrimitiveType.INT.getClassName();
public static final ClassName COMPARABLE = classIn("Comparable", 1); 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 NOTHING = classIn("Nothing", 0); public static final ClassName NOTHING = classIn("Nothing", 0);
public static final ClassName STRING = classIn("String", 0); public static final ClassName STRING = classIn("String", 0);
public static final ClassName CHAR_SEQUENCE = classIn("CharSequence", 0); public static final ClassName CHAR_SEQUENCE = classIn("CharSequence", 0);