diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodiesResolveContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodiesResolveContext.java index a9d287a5af8..f4b4757b9fb 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodiesResolveContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BodiesResolveContext.java @@ -24,12 +24,14 @@ import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.WritableScope; +import java.util.Collection; import java.util.Map; /** * @author Nikolay Krasko */ public interface BodiesResolveContext { + Collection getFiles(); Map getClasses(); Map getObjects(); Map getProperties(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/CachedBodiesResolveContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/CachedBodiesResolveContext.java index 967dc10900f..6d30ae45cd7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/CachedBodiesResolveContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/CachedBodiesResolveContext.java @@ -25,6 +25,7 @@ import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.WritableScope; +import java.util.Collection; import java.util.Collections; import java.util.Map; @@ -35,6 +36,7 @@ import java.util.Map; * @author Nikolay Krasko */ public class CachedBodiesResolveContext implements BodiesResolveContext { + private final Collection files; private final Map classes; private final Map objects; private final Map properties; @@ -46,6 +48,7 @@ public class CachedBodiesResolveContext implements BodiesResolveContext { private @NotNull TopDownAnalysisParameters topDownAnalysisParameters; public CachedBodiesResolveContext(TopDownAnalysisContext context) { + files = Collections.unmodifiableCollection(context.getFiles()); classes = Collections.unmodifiableMap(context.getClasses()); objects = Collections.unmodifiableMap(context.getObjects()); properties = Collections.unmodifiableMap(context.getProperties()); @@ -57,6 +60,11 @@ public class CachedBodiesResolveContext implements BodiesResolveContext { topDownAnalysisParameters = context.getTopDownAnalysisParameters(); } + @Override + public Collection getFiles() { + return files; + } + @Override public Map getClasses() { return classes; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalysisContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalysisContext.java index 82aeb9d82d5..d99f69327d8 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalysisContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalysisContext.java @@ -29,6 +29,7 @@ import org.jetbrains.jet.lang.resolve.scopes.WritableScope; import javax.inject.Inject; import java.io.PrintStream; +import java.util.Collection; import java.util.Map; /** @@ -118,6 +119,11 @@ public class TopDownAnalysisContext implements BodiesResolveContext { return namespaceDescriptors; } + @Override + public Collection getFiles() { + return namespaceDescriptors.keySet(); + } + @Override @NotNull public Map getScripts() { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSessionUtils.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSessionUtils.java index 291a4e4bf5c..cfdacf32baf 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSessionUtils.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSessionUtils.java @@ -63,6 +63,11 @@ public class ResolveSessionUtils { this.declaringScopes = declaringScopes; } + @Override + public Collection getFiles() { + return Collections.emptySet(); + } + @Override public Map getClasses() { return Collections.emptyMap();