FIR IDE: Begin implementing semantic highlighting via FIR
* Introduce frontend api module & implement api for FIR * Implement some basic declaration highlighting for FIR
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.intellij.codeInsight.daemon.impl.HighlightInfo;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.rt.execution.junit.FileComparisonFailure;
|
||||
import com.intellij.testFramework.ExpectedHighlightingData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase;
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils;
|
||||
import org.jetbrains.kotlin.test.TagsTestDataUtil;
|
||||
@@ -24,18 +25,23 @@ public abstract class AbstractHighlightingTest extends KotlinLightCodeInsightFix
|
||||
public static final String NO_CHECK_WARNINGS_PREFIX = "// NO_CHECK_WARNINGS";
|
||||
public static final String EXPECTED_DUPLICATED_HIGHLIGHTING_PREFIX = "// EXPECTED_DUPLICATED_HIGHLIGHTING";
|
||||
|
||||
protected void doTest(String unused) throws Exception {
|
||||
String fileText = FileUtil.loadFile(new File(testPath()), true);
|
||||
protected void checkHighlighting(@NotNull String fileText) {
|
||||
boolean checkInfos = !InTextDirectivesUtils.isDirectiveDefined(fileText, NO_CHECK_INFOS_PREFIX);
|
||||
boolean checkWeakWarnings = !InTextDirectivesUtils.isDirectiveDefined(fileText, NO_CHECK_WEAK_WARNINGS_PREFIX);
|
||||
boolean checkWarnings = !InTextDirectivesUtils.isDirectiveDefined(fileText, NO_CHECK_WARNINGS_PREFIX);
|
||||
|
||||
myFixture.checkHighlighting(checkWarnings, checkInfos, checkWeakWarnings);
|
||||
}
|
||||
|
||||
protected void doTest(String unused) throws Exception {
|
||||
String fileText = FileUtil.loadFile(new File(testPath()), true);
|
||||
boolean expectedDuplicatedHighlighting = InTextDirectivesUtils.isDirectiveDefined(fileText, EXPECTED_DUPLICATED_HIGHLIGHTING_PREFIX);
|
||||
|
||||
myFixture.configureByFile(fileName());
|
||||
|
||||
withExpectedDuplicatedHighlighting(expectedDuplicatedHighlighting, () -> {
|
||||
try {
|
||||
myFixture.checkHighlighting(checkWarnings, checkInfos, checkWeakWarnings);
|
||||
checkHighlighting(fileText);
|
||||
}
|
||||
catch (FileComparisonFailure e) {
|
||||
List<HighlightInfo> highlights =
|
||||
|
||||
Reference in New Issue
Block a user