diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java index 10d99e88bfd..98bba84a679 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaTypeTransformer.java @@ -266,7 +266,9 @@ public class JavaTypeTransformer { 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.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; } 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 f93601deb19..065f1b9aa02 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 @@ -93,6 +93,7 @@ public class JetStandardLibrary { private ClassDescriptor stringClass; private ClassDescriptor arrayClass; private ClassDescriptor iterableClass; + private ClassDescriptor iteratorClass; private ClassDescriptor comparableClass; private ClassDescriptor throwableClass; private ClassDescriptor enumClass; @@ -168,6 +169,7 @@ public class JetStandardLibrary { this.enumClass = (ClassDescriptor) libraryScope.getClassifier(Name.identifier("Enum")); 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.stringType = new JetTypeImpl(getString()); @@ -210,6 +212,7 @@ public class JetStandardLibrary { classDescriptors.add(arrayClass); classDescriptors.add(throwableClass); classDescriptors.add(iterableClass); + classDescriptors.add(iteratorClass); classDescriptors.add(comparableClass); classDescriptors.add(enumClass); @@ -292,6 +295,12 @@ public class JetStandardLibrary { return iterableClass; } + @NotNull + public ClassDescriptor getIterator() { + initStdClasses(); + return iteratorClass; + } + @NotNull public ClassDescriptor getComparable() { initStdClasses(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibraryNames.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibraryNames.java index 277b51298bf..3034b3ac416 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibraryNames.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardLibraryNames.java @@ -39,6 +39,8 @@ public class JetStandardLibraryNames { 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 NOTHING = classIn("Nothing", 0); public static final ClassName STRING = classIn("String", 0); public static final ClassName CHAR_SEQUENCE = classIn("CharSequence", 0);