| Index: compiler/java/com/google/dart/compiler/resolver/CoreTypeProviderImplementation.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/CoreTypeProviderImplementation.java b/compiler/java/com/google/dart/compiler/resolver/CoreTypeProviderImplementation.java
|
| index 0529374d7f8cc1fb5472bb1f702ce947e4e2431e..a18c7ad78eed99c609e37afeacb72a20da3ad669 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/CoreTypeProviderImplementation.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/CoreTypeProviderImplementation.java
|
| @@ -33,6 +33,7 @@ public class CoreTypeProviderImplementation implements CoreTypeProvider {
|
| private final InterfaceType objectType;
|
| private final InterfaceType isolateType;
|
| private final InterfaceType stringImplementation;
|
| + private final InterfaceType iteratorType;
|
|
|
| public CoreTypeProviderImplementation(Scope scope, DartCompilerListener listener) {
|
| this.intType = getType("int", scope, listener);
|
| @@ -53,6 +54,7 @@ public class CoreTypeProviderImplementation implements CoreTypeProvider {
|
| this.objectType = getType("Object", scope, listener);
|
| this.isolateType = getType("Isolate", scope, listener);
|
| this.stringImplementation = getType("StringImplementation", scope, listener);
|
| + iteratorType = getType("Iterator", scope, listener);
|
| }
|
|
|
| private static InterfaceType getType(String name, Scope scope, DartCompilerListener listener) {
|
| @@ -158,4 +160,10 @@ public class CoreTypeProviderImplementation implements CoreTypeProvider {
|
| public InterfaceType getIsolateType() {
|
| return isolateType;
|
| }
|
| +
|
| + @Override
|
| + public InterfaceType getIteratorType(Type elementType) {
|
| + return iteratorType.subst(Arrays.asList(elementType),
|
| + iteratorType.getElement().getTypeParameters());
|
| + }
|
| }
|
|
|