Ignore external annotations in AbstractResolveByStubTest (KT-33732)
In IDE with have descriptors with additional annotations obtained from external annotations manager. They are probably only java overrides so shouldn't be present in stubs, thus must be ignored in this test. Tests with enums started to fail after upgrading to 192 platform because of additional NotNull annotation on `getDeclaringClass()` method. #KT-33732 Fixed
This commit is contained in:
+7
@@ -414,6 +414,13 @@ public class RecursiveDescriptorComparator {
|
||||
renderDeclarationsFromOtherModules, checkFunctionContracts, recursiveFilter, validationStrategy, renderer);
|
||||
}
|
||||
|
||||
public Configuration withRendererOptions(@NotNull Consumer<DescriptorRendererOptions> configure) {
|
||||
return new Configuration(
|
||||
checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfKotlinAny,
|
||||
renderDeclarationsFromOtherModules, checkFunctionContracts, recursiveFilter, validationStrategy,
|
||||
newRenderer(renderer, configure));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static DescriptorRenderer rendererWithPropertyAccessors(
|
||||
@NotNull DescriptorRenderer renderer, boolean checkPropertyAccessors
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
||||
import org.jetbrains.kotlin.idea.test.AstAccessControl
|
||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||
import org.jetbrains.kotlin.load.java.descriptors.PossiblyExternalAnnotationDescriptor
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||
@@ -50,7 +51,12 @@ abstract class AbstractResolveByStubTest : KotlinLightCodeInsightFixtureTestCase
|
||||
.filterRecursion(RecursiveDescriptorComparator.SKIP_BUILT_INS_PACKAGES)
|
||||
.checkPrimaryConstructors(true)
|
||||
.checkPropertyAccessors(true)
|
||||
.withValidationStrategy(errorTypesForbidden()),
|
||||
.withValidationStrategy(errorTypesForbidden())
|
||||
.withRendererOptions { options ->
|
||||
options.annotationFilter = { annotationDescriptor ->
|
||||
annotationDescriptor !is PossiblyExternalAnnotationDescriptor || !annotationDescriptor.isIdeExternalAnnotation
|
||||
}
|
||||
},
|
||||
fileToCompareTo
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user