Move module creation into TopDownAnalyzerFacadeForJVM#analyzeFilesWithJavaIntegration
The only place where the logic has changed is in AbstractDiagnosticsTest, where modules are already created and sealed before the analysis. Copy-paste the container creation logic there (it's almost fine because it's also present in a bunch of other tests), and simplify it: get rid of incremental compilation and other stuff irrelevant for diagnostic tests. This is needed to make analyzeFilesWithJavaIntegration configure the module properly before sealing it
This commit is contained in:
+10
-19
@@ -17,9 +17,9 @@
|
|||||||
package org.jetbrains.kotlin.cli.jvm.compiler
|
package org.jetbrains.kotlin.cli.jvm.compiler
|
||||||
|
|
||||||
import com.intellij.openapi.util.io.JarUtil
|
import com.intellij.openapi.util.io.JarUtil
|
||||||
import org.jetbrains.annotations.TestOnly
|
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.psi.impl.PsiModificationTrackerImpl
|
import com.intellij.psi.impl.PsiModificationTrackerImpl
|
||||||
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
||||||
import org.jetbrains.kotlin.asJava.FilteredJvmDiagnostics
|
import org.jetbrains.kotlin.asJava.FilteredJvmDiagnostics
|
||||||
import org.jetbrains.kotlin.backend.common.output.OutputFileCollection
|
import org.jetbrains.kotlin.backend.common.output.OutputFileCollection
|
||||||
@@ -29,15 +29,11 @@ import org.jetbrains.kotlin.cli.common.ExitCode
|
|||||||
import org.jetbrains.kotlin.cli.common.messages.*
|
import org.jetbrains.kotlin.cli.common.messages.*
|
||||||
import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAll
|
import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAll
|
||||||
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
|
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
|
import org.jetbrains.kotlin.cli.jvm.config.*
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
|
|
||||||
import org.jetbrains.kotlin.codegen.ClassBuilderFactories
|
import org.jetbrains.kotlin.codegen.ClassBuilderFactories
|
||||||
import org.jetbrains.kotlin.codegen.CompilationErrorHandler
|
import org.jetbrains.kotlin.codegen.CompilationErrorHandler
|
||||||
import org.jetbrains.kotlin.codegen.GeneratedClassLoader
|
import org.jetbrains.kotlin.codegen.GeneratedClassLoader
|
||||||
import org.jetbrains.kotlin.codegen.KotlinCodegenFacade
|
import org.jetbrains.kotlin.codegen.KotlinCodegenFacade
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.*
|
|
||||||
import org.jetbrains.kotlin.codegen.*
|
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback
|
import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
@@ -406,19 +402,14 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
val analyzerWithCompilerReport = AnalyzerWithCompilerReport(collector)
|
val analyzerWithCompilerReport = AnalyzerWithCompilerReport(collector)
|
||||||
analyzerWithCompilerReport.analyzeAndReport(
|
analyzerWithCompilerReport.analyzeAndReport(
|
||||||
environment.getSourceFiles(), object : AnalyzerWithCompilerReport.Analyzer {
|
environment.getSourceFiles(), object : AnalyzerWithCompilerReport.Analyzer {
|
||||||
override fun analyze(): AnalysisResult {
|
override fun analyze(): AnalysisResult =
|
||||||
val sharedTrace = CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace()
|
TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
||||||
val moduleContext =
|
environment.project,
|
||||||
TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(environment.project, environment.configuration)
|
environment.getSourceFiles(),
|
||||||
|
CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(),
|
||||||
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
environment.configuration,
|
||||||
moduleContext,
|
JvmPackagePartProvider(environment)
|
||||||
environment.getSourceFiles(),
|
)
|
||||||
sharedTrace,
|
|
||||||
environment.configuration,
|
|
||||||
JvmPackagePartProvider(environment)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun reportEnvironmentErrors() {
|
override fun reportEnvironmentErrors() {
|
||||||
reportRuntimeConflicts(collector, environment.configuration.jvmClasspathRoots)
|
reportRuntimeConflicts(collector, environment.configuration.jvmClasspathRoots)
|
||||||
|
|||||||
@@ -128,10 +128,11 @@ fun createContainerForTopDownSingleModuleAnalyzerForJvm(
|
|||||||
bindingTrace: BindingTrace,
|
bindingTrace: BindingTrace,
|
||||||
declarationProviderFactory: DeclarationProviderFactory,
|
declarationProviderFactory: DeclarationProviderFactory,
|
||||||
moduleContentScope: GlobalSearchScope,
|
moduleContentScope: GlobalSearchScope,
|
||||||
packagePartProvider: PackagePartProvider
|
packagePartProvider: PackagePartProvider,
|
||||||
|
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT
|
||||||
): ComponentProvider = createContainerForTopDownAnalyzerForJvm(
|
): ComponentProvider = createContainerForTopDownAnalyzerForJvm(
|
||||||
moduleContext, bindingTrace, declarationProviderFactory, moduleContentScope,
|
moduleContext, bindingTrace, declarationProviderFactory, moduleContentScope,
|
||||||
LookupTracker.DO_NOTHING, packagePartProvider, LanguageVersionSettingsImpl.DEFAULT, SingleModuleClassResolver()
|
LookupTracker.DO_NOTHING, packagePartProvider, languageVersionSettings, SingleModuleClassResolver()
|
||||||
).apply {
|
).apply {
|
||||||
get<SingleModuleClassResolver>().resolver = get<JavaDescriptorResolver>()
|
get<SingleModuleClassResolver>().resolver = get<JavaDescriptorResolver>()
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-4
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
|||||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||||
import org.jetbrains.kotlin.container.get
|
import org.jetbrains.kotlin.container.get
|
||||||
import org.jetbrains.kotlin.context.ContextForNewModule
|
import org.jetbrains.kotlin.context.ContextForNewModule
|
||||||
import org.jetbrains.kotlin.context.ModuleContext
|
|
||||||
import org.jetbrains.kotlin.context.MutableModuleContext
|
import org.jetbrains.kotlin.context.MutableModuleContext
|
||||||
import org.jetbrains.kotlin.context.ProjectContext
|
import org.jetbrains.kotlin.context.ProjectContext
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
|
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
|
||||||
@@ -53,14 +52,14 @@ import java.util.*
|
|||||||
object TopDownAnalyzerFacadeForJVM {
|
object TopDownAnalyzerFacadeForJVM {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun analyzeFilesWithJavaIntegration(
|
fun analyzeFilesWithJavaIntegration(
|
||||||
moduleContext: ModuleContext,
|
project: Project,
|
||||||
files: Collection<KtFile>,
|
files: Collection<KtFile>,
|
||||||
trace: BindingTrace,
|
trace: BindingTrace,
|
||||||
configuration: CompilerConfiguration,
|
configuration: CompilerConfiguration,
|
||||||
packagePartProvider: PackagePartProvider
|
packagePartProvider: PackagePartProvider
|
||||||
): AnalysisResult {
|
): AnalysisResult {
|
||||||
|
val moduleContext = TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(project, configuration)
|
||||||
val storageManager = moduleContext.storageManager
|
val storageManager = moduleContext.storageManager
|
||||||
val project = moduleContext.project
|
|
||||||
val module = moduleContext.module
|
val module = moduleContext.module
|
||||||
|
|
||||||
val incrementalComponents = configuration.get(JVMConfigurationKeys.INCREMENTAL_COMPILATION_COMPONENTS)
|
val incrementalComponents = configuration.get(JVMConfigurationKeys.INCREMENTAL_COMPILATION_COMPONENTS)
|
||||||
@@ -114,7 +113,6 @@ object TopDownAnalyzerFacadeForJVM {
|
|||||||
return AnalysisResult.success(trace.bindingContext, module)
|
return AnalysisResult.success(trace.bindingContext, module)
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun createContextWithSealedModule(project: Project, configuration: CompilerConfiguration): MutableModuleContext {
|
fun createContextWithSealedModule(project: Project, configuration: CompilerConfiguration): MutableModuleContext {
|
||||||
val projectContext = ProjectContext(project)
|
val projectContext = ProjectContext(project)
|
||||||
val builtIns = JvmBuiltIns(projectContext.storageManager)
|
val builtIns = JvmBuiltIns(projectContext.storageManager)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.util.Pair;
|
|||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import junit.framework.ComparisonFailure;
|
import junit.framework.ComparisonFailure;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport;
|
import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport;
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider;
|
import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider;
|
||||||
@@ -28,14 +29,12 @@ import org.jetbrains.kotlin.cli.jvm.config.JvmContentRootsKt;
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||||
import org.jetbrains.kotlin.config.ContentRootsKt;
|
import org.jetbrains.kotlin.config.ContentRootsKt;
|
||||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys;
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys;
|
||||||
import org.jetbrains.kotlin.context.ModuleContext;
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext;
|
import org.jetbrains.kotlin.resolve.BindingContext;
|
||||||
import org.jetbrains.kotlin.resolve.BindingTrace;
|
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM;
|
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM;
|
||||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
|
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
|
||||||
@@ -159,15 +158,13 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
KotlinCoreEnvironment environment =
|
KotlinCoreEnvironment environment =
|
||||||
KotlinCoreEnvironment.createForTests(getTestRootDisposable(), configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
KotlinCoreEnvironment.createForTests(getTestRootDisposable(), configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
||||||
|
|
||||||
BindingTrace trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace();
|
AnalysisResult result = TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
||||||
ModuleContext moduleContext = TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(environment.getProject(), configuration);
|
environment.getProject(), environment.getSourceFiles(), new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(),
|
||||||
|
configuration, new JvmPackagePartProvider(environment)
|
||||||
TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
|
||||||
moduleContext, environment.getSourceFiles(), trace, configuration, new JvmPackagePartProvider(environment)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
PackageViewDescriptor packageView = moduleContext.getModule().getPackage(TEST_PACKAGE_FQNAME);
|
PackageViewDescriptor packageView = result.getModuleDescriptor().getPackage(TEST_PACKAGE_FQNAME);
|
||||||
checkJavaPackage(expectedFile, packageView, trace.getBindingContext(), DONT_INCLUDE_METHODS_OF_OBJECT);
|
checkJavaPackage(expectedFile, packageView, result.getBindingContext(), DONT_INCLUDE_METHODS_OF_OBJECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: add more tests on inherited parameter names, but currently impossible because of KT-4509
|
// TODO: add more tests on inherited parameter names, but currently impossible because of KT-4509
|
||||||
|
|||||||
@@ -88,8 +88,7 @@ public class JvmResolveUtil {
|
|||||||
@NotNull PackagePartProvider packagePartProvider
|
@NotNull PackagePartProvider packagePartProvider
|
||||||
) {
|
) {
|
||||||
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
||||||
TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(project, configuration),
|
project, files, new CliLightClassGenerationSupport.CliBindingTrace(), configuration, packagePartProvider
|
||||||
files, new CliLightClassGenerationSupport.CliBindingTrace(), configuration, packagePartProvider
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.google.common.collect.Sets;
|
|||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.psi.PsiElement;
|
import com.intellij.psi.PsiElement;
|
||||||
|
import com.intellij.psi.search.GlobalSearchScope;
|
||||||
import kotlin.collections.CollectionsKt;
|
import kotlin.collections.CollectionsKt;
|
||||||
import kotlin.jvm.functions.Function1;
|
import kotlin.jvm.functions.Function1;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -32,6 +33,9 @@ import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider;
|
|||||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys;
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys;
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings;
|
import org.jetbrains.kotlin.config.LanguageVersionSettings;
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl;
|
||||||
|
import org.jetbrains.kotlin.container.ComponentProvider;
|
||||||
|
import org.jetbrains.kotlin.container.DslKt;
|
||||||
import org.jetbrains.kotlin.context.ContextKt;
|
import org.jetbrains.kotlin.context.ContextKt;
|
||||||
import org.jetbrains.kotlin.context.GlobalContext;
|
import org.jetbrains.kotlin.context.GlobalContext;
|
||||||
import org.jetbrains.kotlin.context.ModuleContext;
|
import org.jetbrains.kotlin.context.ModuleContext;
|
||||||
@@ -40,6 +44,7 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
|||||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
|
||||||
import org.jetbrains.kotlin.diagnostics.*;
|
import org.jetbrains.kotlin.diagnostics.*;
|
||||||
|
import org.jetbrains.kotlin.frontend.java.di.InjectionKt;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.name.Name;
|
import org.jetbrains.kotlin.name.Name;
|
||||||
import org.jetbrains.kotlin.name.SpecialNames;
|
import org.jetbrains.kotlin.name.SpecialNames;
|
||||||
@@ -48,15 +53,13 @@ import org.jetbrains.kotlin.psi.Call;
|
|||||||
import org.jetbrains.kotlin.psi.KtElement;
|
import org.jetbrains.kotlin.psi.KtElement;
|
||||||
import org.jetbrains.kotlin.psi.KtExpression;
|
import org.jetbrains.kotlin.psi.KtExpression;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils;
|
import org.jetbrains.kotlin.resolve.*;
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext;
|
|
||||||
import org.jetbrains.kotlin.resolve.BindingTrace;
|
|
||||||
import org.jetbrains.kotlin.resolve.TargetPlatformKt;
|
|
||||||
import org.jetbrains.kotlin.resolve.calls.model.MutableResolvedCall;
|
import org.jetbrains.kotlin.resolve.calls.model.MutableResolvedCall;
|
||||||
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
|
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
|
||||||
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics;
|
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM;
|
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
|
||||||
|
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory;
|
||||||
import org.jetbrains.kotlin.storage.ExceptionTracker;
|
import org.jetbrains.kotlin.storage.ExceptionTracker;
|
||||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||||
import org.jetbrains.kotlin.storage.StorageManager;
|
import org.jetbrains.kotlin.storage.StorageManager;
|
||||||
@@ -277,9 +280,22 @@ public abstract class AbstractDiagnosticsTest extends BaseDiagnosticsTest {
|
|||||||
|
|
||||||
// New JavaDescriptorResolver is created for each module, which is good because it emulates different Java libraries for each module,
|
// New JavaDescriptorResolver is created for each module, which is good because it emulates different Java libraries for each module,
|
||||||
// albeit with same class names
|
// albeit with same class names
|
||||||
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
// See TopDownAnalyzerFacadeForJVM#analyzeFilesWithJavaIntegration
|
||||||
moduleContext, files, moduleTrace, configuration, new JvmPackagePartProvider(getEnvironment())
|
ComponentProvider container = InjectionKt.createContainerForTopDownSingleModuleAnalyzerForJvm(
|
||||||
|
moduleContext,
|
||||||
|
moduleTrace,
|
||||||
|
new FileBasedDeclarationProviderFactory(moduleContext.getStorageManager(), files),
|
||||||
|
GlobalSearchScope.allScope(moduleContext.getProject()),
|
||||||
|
new JvmPackagePartProvider(getEnvironment()),
|
||||||
|
configuration.get(CommonConfigurationKeys.LANGUAGE_VERSION_SETTINGS, LanguageVersionSettingsImpl.DEFAULT)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
DslKt.getService(container, LazyTopDownAnalyzerForTopLevel.class).analyzeFiles(
|
||||||
|
TopDownAnalysisMode.TopLevelDeclarations, files,
|
||||||
|
Collections.singletonList(DslKt.getService(container, JavaDescriptorResolver.class).getPackageFragmentProvider())
|
||||||
|
);
|
||||||
|
|
||||||
|
return AnalysisResult.success(moduleTrace.getBindingContext(), moduleContext.getModule());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateAndCompareDescriptorWithFile(
|
private void validateAndCompareDescriptorWithFile(
|
||||||
|
|||||||
+5
-7
@@ -47,13 +47,11 @@ class DecompiledTextConsistencyTest : TextConsistencyBaseTest() {
|
|||||||
override fun getDecompiledText(packageFile: VirtualFile, resolver: ResolverForDecompiler?): String =
|
override fun getDecompiledText(packageFile: VirtualFile, resolver: ResolverForDecompiler?): String =
|
||||||
(resolver?.let { buildDecompiledTextForClassFile(packageFile, it) } ?: buildDecompiledTextForClassFile(packageFile)).text
|
(resolver?.let { buildDecompiledTextForClassFile(packageFile, it) } ?: buildDecompiledTextForClassFile(packageFile)).text
|
||||||
|
|
||||||
override fun getModuleDescriptor(): ModuleDescriptor {
|
override fun getModuleDescriptor(): ModuleDescriptor =
|
||||||
val configuration = KotlinTestUtils.newConfiguration()
|
TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
||||||
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
|
project, listOf(), BindingTraceContext(), KotlinTestUtils.newConfiguration(),
|
||||||
TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(project, configuration), listOf(), BindingTraceContext(),
|
IDEPackagePartProvider(GlobalSearchScope.allScope(project))
|
||||||
configuration, IDEPackagePartProvider(GlobalSearchScope.allScope(project))
|
).moduleDescriptor
|
||||||
).moduleDescriptor
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getProjectDescriptor() =
|
override fun getProjectDescriptor() =
|
||||||
object : KotlinWithJdkAndRuntimeLightProjectDescriptor() {
|
object : KotlinWithJdkAndRuntimeLightProjectDescriptor() {
|
||||||
|
|||||||
Reference in New Issue
Block a user