Don't render descriptors outside of modules directly mentioned in tests, e.g. descriptors from libraries.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
* Copyright 2010-2016 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.context.GlobalContext;
|
|||||||
import org.jetbrains.kotlin.context.ModuleContext;
|
import org.jetbrains.kotlin.context.ModuleContext;
|
||||||
import org.jetbrains.kotlin.context.SimpleGlobalContext;
|
import org.jetbrains.kotlin.context.SimpleGlobalContext;
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
||||||
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider;
|
import org.jetbrains.kotlin.descriptors.PackagePartProvider;
|
||||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider;
|
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider;
|
||||||
@@ -351,7 +352,7 @@ public abstract class AbstractDiagnosticsTest extends BaseDiagnosticsTest {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RecursiveDescriptorComparator comparator = new RecursiveDescriptorComparator(createdAffectedPackagesConfiguration(testFiles));
|
RecursiveDescriptorComparator comparator = new RecursiveDescriptorComparator(createdAffectedPackagesConfiguration(testFiles, modules.values()));
|
||||||
|
|
||||||
boolean isMultiModuleTest = modules.size() != 1;
|
boolean isMultiModuleTest = modules.size() != 1;
|
||||||
StringBuilder rootPackageText = new StringBuilder();
|
StringBuilder rootPackageText = new StringBuilder();
|
||||||
@@ -382,12 +383,15 @@ public abstract class AbstractDiagnosticsTest extends BaseDiagnosticsTest {
|
|||||||
KotlinTestUtils.assertEqualsToFile(expectedFile, rootPackageText.toString());
|
KotlinTestUtils.assertEqualsToFile(expectedFile, rootPackageText.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private RecursiveDescriptorComparator.Configuration createdAffectedPackagesConfiguration(List<TestFile> testFiles) {
|
private RecursiveDescriptorComparator.Configuration createdAffectedPackagesConfiguration(List<TestFile> testFiles, final Collection<? extends ModuleDescriptor> modules) {
|
||||||
final Set<Name> packagesNames = getTopLevelPackagesFromFileList(getJetFiles(testFiles, false));
|
final Set<Name> packagesNames = getTopLevelPackagesFromFileList(getJetFiles(testFiles, false));
|
||||||
|
|
||||||
Predicate<DeclarationDescriptor> stepIntoFilter = new Predicate<DeclarationDescriptor>() {
|
Predicate<DeclarationDescriptor> stepIntoFilter = new Predicate<DeclarationDescriptor>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(DeclarationDescriptor descriptor) {
|
public boolean apply(DeclarationDescriptor descriptor) {
|
||||||
|
ModuleDescriptor module = DescriptorUtils.getContainingModuleOrNull(descriptor);
|
||||||
|
if (!modules.contains(module)) return false;
|
||||||
|
|
||||||
if (descriptor instanceof PackageViewDescriptor) {
|
if (descriptor instanceof PackageViewDescriptor) {
|
||||||
FqName fqName = ((PackageViewDescriptor) descriptor).getFqName();
|
FqName fqName = ((PackageViewDescriptor) descriptor).getFqName();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user