[Frontend] Make DiagnosticSuppressor a project-level extension
Originally it was an application-level component, which caused non-trivial
logic and cognitive load to carefully handle those extensions to avoid
memory leaks.
6740a596 introduced a way to easily register `DiagnosticSuppressor` to
project, and this commit continues this work, making it a proper
project-level extension
A lot of changes caused by the fact, that this extension is needed to be
obtained from `BindingContext` (see `BindingContextSuppressCache` and
its usages), so almost all changes are introducing `Project` to
`BindingContext`
^KT-66449 Fixed
This commit is contained in:
committed by
Space Team
parent
a552238874
commit
d352cc9d96
+1
-1
@@ -244,7 +244,7 @@ class ObjCExportLazyImpl(
|
||||
val receiverType = topLevelDeclaration.receiverTypeReference ?: return null
|
||||
val fileScope = fileScopeProvider.getFileResolutionScope(topLevelDeclaration.containingKtFile)
|
||||
|
||||
val trace = BindingTraceContext() // TODO: revise.
|
||||
val trace = BindingTraceContext(topLevelDeclaration.project) // TODO: revise.
|
||||
|
||||
val kotlinReceiverType = typeResolver.resolveType(
|
||||
createHeaderScope(topLevelDeclaration, fileScope, trace),
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ fun createModuleDescriptor(
|
||||
|
||||
return FakeTopDownAnalyzerFacadeForNative.analyzeFilesWithGivenTrace(
|
||||
files = kotlinPsiFiles,
|
||||
trace = NoScopeRecordCliBindingTrace(),
|
||||
trace = NoScopeRecordCliBindingTrace(environment.project),
|
||||
languageVersionSettings = createLanguageVersionSettings(),
|
||||
moduleContext = projectContext.withModule(moduleDescriptor)
|
||||
).moduleDescriptor
|
||||
|
||||
Reference in New Issue
Block a user