Check analysis error before checking compiler args

ExperimentalUsageChecker.checkCompilerArguments() will crash if there was an error running analyze().
This checks for the error first so it can be properly reported.
This commit is contained in:
tdn120
2020-12-02 11:10:54 -05:00
committed by Alexander Udalov
parent 8ccd4a40d2
commit 8d1fb7bb5e
@@ -113,11 +113,13 @@ class AnalyzerWithCompilerReport(
override fun analyzeAndReport(files: Collection<KtFile>, analyze: () -> AnalysisResult) {
analysisResult = analyze()
ExperimentalUsageChecker.checkCompilerArguments(
analysisResult.moduleDescriptor, languageVersionSettings,
reportError = { message -> messageCollector.report(ERROR, message) },
reportWarning = { message -> messageCollector.report(WARNING, message) }
)
if (!analysisResult.isError()) {
ExperimentalUsageChecker.checkCompilerArguments(
analysisResult.moduleDescriptor, languageVersionSettings,
reportError = { message -> messageCollector.report(ERROR, message) },
reportWarning = { message -> messageCollector.report(WARNING, message) }
)
}
reportSyntaxErrors(files)
reportDiagnostics(analysisResult.bindingContext.diagnostics, messageCollector, renderDiagnosticName)
reportIncompleteHierarchies()