Introducing dependency kinds to prioritize package fragments

This commit is contained in:
Andrey Breslav
2014-01-10 17:25:11 +04:00
parent 935fae70ea
commit df88e3e625
15 changed files with 76 additions and 30 deletions
@@ -212,10 +212,10 @@ public class TopDownAnalyzer {
public void analyzeFiles(
@NotNull Collection<JetFile> files,
@NotNull List<AnalyzerScriptParameter> scriptParameters) {
((ModuleDescriptorImpl) moduleDescriptor).addFragmentProvider(packageFragmentProvider);
((ModuleDescriptorImpl) moduleDescriptor).addFragmentProvider(DependencyKind.SOURCES, packageFragmentProvider);
// "depend on" builtins module
((ModuleDescriptorImpl) moduleDescriptor).addFragmentProvider(KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
((ModuleDescriptorImpl) moduleDescriptor).addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
// Import a scope that contains all top-level packages that come from dependencies
// This makes the package visible at all, does not import themselves
@@ -148,7 +148,7 @@ public class ResolveSession implements KotlinCodeAnalyzer {
return packageDescriptor.getDeclarationProvider().getAllDeclaredPackages();
}
};
rootDescriptor.addFragmentProvider(packageFragmentProvider);
rootDescriptor.addFragmentProvider(DependencyKind.SOURCES, packageFragmentProvider);
}
@NotNull