Tests: check errors from code fragment resolution
This commit is contained in:
committed by
Space Team
parent
b7d1298f20
commit
1714fb71c8
+10
@@ -5,12 +5,15 @@
|
||||
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir
|
||||
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.DiagnosticCheckerFilter
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.collectDiagnosticsForFile
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getFirResolveSession
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirFile
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.compile.CodeFragmentCapturedValueAnalyzer
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.codeFragment
|
||||
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
||||
import org.jetbrains.kotlin.analysis.test.framework.utils.indented
|
||||
import org.jetbrains.kotlin.diagnostics.Severity
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
@@ -33,6 +36,13 @@ abstract class AbstractCodeFragmentCapturingTest : AbstractLowLevelApiCodeFragme
|
||||
val firCodeFragment = firFile.codeFragment
|
||||
firCodeFragment.lazyResolveToPhase(FirResolvePhase.BODY_RESOLVE)
|
||||
|
||||
val frontendDiagnostics = ktCodeFragment.collectDiagnosticsForFile(resolveSession, DiagnosticCheckerFilter.ONLY_COMMON_CHECKERS)
|
||||
val frontendErrors = frontendDiagnostics.filter { it.severity == Severity.ERROR }
|
||||
|
||||
require(frontendErrors.isEmpty()) {
|
||||
frontendErrors
|
||||
}
|
||||
|
||||
val capturedSymbols = CodeFragmentCapturedValueAnalyzer.analyze(resolveSession, firCodeFragment).symbols
|
||||
|
||||
val actualText = capturedSymbols.joinToString("\n") { capturedSymbol ->
|
||||
|
||||
Reference in New Issue
Block a user