diff --git a/build.gradle b/build.gradle index 801b967..b7532d6 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { } plugins { - id 'org.jetbrains.intellij' version '0.4.10' + id 'org.jetbrains.intellij' version '0.4.21' id 'net.saliman.cobertura' version '2.6.1' } @@ -20,7 +20,7 @@ sourceCompatibility = 1.8 targetCompatibility = 1.8 wrapper { - gradleVersion = '2.12' + gradleVersion = '6.6' } repositories { @@ -30,8 +30,8 @@ repositories { intellij { pluginName 'IdeaConcordionSupport' - plugins = ['junit', 'properties', 'Groovy', 'org.intellij.scala:2017.2.6', 'git4idea'] - version '2017.2' + plugins = ['junit', 'properties', 'Groovy', 'org.intellij.scala:2020.1.41', 'git4idea', 'java'] + version '2020.1' // sandboxDirectory "$projectDir/idea-sandbox" downloadSources false updateSinceUntilBuild false diff --git a/src/org/concordion/plugin/idea/ConcordionPsiUtils.java b/src/org/concordion/plugin/idea/ConcordionPsiUtils.java index 8cc6888..740f81c 100644 --- a/src/org/concordion/plugin/idea/ConcordionPsiUtils.java +++ b/src/org/concordion/plugin/idea/ConcordionPsiUtils.java @@ -3,24 +3,30 @@ import com.intellij.ide.highlighter.HtmlFileType; import com.intellij.ide.highlighter.XHtmlFileType; import com.intellij.openapi.fileTypes.FileType; +import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.xml.XmlAttribute; import org.concordion.plugin.idea.lang.ConcordionFileType; import org.concordion.plugin.idea.lang.psi.*; -import com.intellij.psi.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.*; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; +import java.util.Optional; import java.util.function.Supplier; -import static com.intellij.psi.PsiModifier.*; -import static com.intellij.psi.util.PsiTreeUtil.*; -import static java.lang.Character.*; -import static java.util.Arrays.*; +import static com.intellij.psi.PsiModifier.PUBLIC; +import static com.intellij.psi.PsiModifier.STATIC; +import static com.intellij.psi.util.PsiTreeUtil.findChildOfType; +import static com.intellij.psi.util.PsiTreeUtil.getParentOfType; +import static java.lang.Character.isUpperCase; +import static java.lang.Character.toUpperCase; +import static java.util.Arrays.stream; import static java.util.Optional.ofNullable; -import static java.util.stream.Collectors.*; -import static org.concordion.plugin.idea.ConcordionCommand.*; +import static java.util.stream.Collectors.toList; +import static org.concordion.plugin.idea.ConcordionCommand.ASSERT_EQUALS_SPINAL; import static org.concordion.plugin.idea.ConcordionPsiTypeUtils.*; public final class ConcordionPsiUtils { @@ -28,7 +34,7 @@ public final class ConcordionPsiUtils { private ConcordionPsiUtils() { } - public static final PsiType DYNAMIC = new PsiPrimitiveType("?", new PsiAnnotation[0]); + public static final PsiType DYNAMIC = PsiType.NULL; @NotNull public static List typeOfExpressions(@NotNull List starts) { diff --git a/src/org/concordion/plugin/idea/fixtures/ConcordionScalaTestFixture.java b/src/org/concordion/plugin/idea/fixtures/ConcordionScalaTestFixture.java index fce4d0c..1e0373b 100644 --- a/src/org/concordion/plugin/idea/fixtures/ConcordionScalaTestFixture.java +++ b/src/org/concordion/plugin/idea/fixtures/ConcordionScalaTestFixture.java @@ -6,20 +6,20 @@ import org.concordion.plugin.idea.action.quickfix.factories.ScalaFixtureMemberFactory; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.scala.lang.psi.api.base.ScStableCodeReferenceElement; +import org.jetbrains.plugins.scala.lang.psi.api.base.ScStableCodeReference; import org.jetbrains.plugins.scala.lang.psi.api.expr.ScArgumentExprList; import static com.intellij.psi.util.PsiTreeUtil.*; -public class ConcordionScalaTestFixture extends AbstractConcordionTestFixture { +public class ConcordionScalaTestFixture extends AbstractConcordionTestFixture { public ConcordionScalaTestFixture() { - super(Language.findLanguageByID("Scala"), "scala", ScStableCodeReferenceElement.class, new ScalaFixtureMemberFactory()); + super(Language.findLanguageByID("Scala"), "scala", ScStableCodeReference.class, new ScalaFixtureMemberFactory()); } @Nullable @Override - protected String qualifiedReference(@NotNull ScStableCodeReferenceElement codeReference) { + protected String qualifiedReference(@NotNull ScStableCodeReference codeReference) { return codeReference.getCanonicalText(); } diff --git a/src/org/concordion/plugin/idea/marker/AbstractLineMarkerProvider.java b/src/org/concordion/plugin/idea/marker/AbstractLineMarkerProvider.java index d138575..4a02d07 100644 --- a/src/org/concordion/plugin/idea/marker/AbstractLineMarkerProvider.java +++ b/src/org/concordion/plugin/idea/marker/AbstractLineMarkerProvider.java @@ -1,11 +1,11 @@ package org.concordion.plugin.idea.marker; -import com.intellij.codeHighlighting.Pass; import com.intellij.codeInsight.daemon.LineMarkerInfo; import com.intellij.codeInsight.daemon.LineMarkerProvider; import com.intellij.openapi.editor.markup.GutterIconRenderer; import com.intellij.openapi.util.Key; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.ProcessingContext; import org.concordion.plugin.idea.ConcordionNavigationService; import org.concordion.plugin.idea.lang.ConcordionIcons; @@ -15,8 +15,6 @@ import org.jetbrains.annotations.Nullable; import java.awt.event.MouseEvent; -import java.util.Collection; -import java.util.List; public abstract class AbstractLineMarkerProvider implements LineMarkerProvider { @@ -47,22 +45,15 @@ public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) { return null; } - @Override - public void collectSlowLineMarkers(@NotNull List elements, @NotNull Collection result) { - - } - - @NotNull private static LineMarkerInfo concordionFileInfoFor(@NotNull PsiElement element) { + PsiElement leaf = PsiTreeUtil.firstChild(element); return new LineMarkerInfo<>( - element, - element.getTextRange(), + leaf, + leaf.getTextRange(), ConcordionIcons.ICON, - Pass.UPDATE_ALL, AbstractLineMarkerProvider::generateTooltipForConcordionFile, AbstractLineMarkerProvider::navigateToPairedFile, - GutterIconRenderer.Alignment.CENTER - ); + GutterIconRenderer.Alignment.CENTER); } @NotNull diff --git a/src/org/concordion/plugin/idea/marker/ExampleLineMarkerProvider.java b/src/org/concordion/plugin/idea/marker/ExampleLineMarkerProvider.java index 53366a7..236b410 100644 --- a/src/org/concordion/plugin/idea/marker/ExampleLineMarkerProvider.java +++ b/src/org/concordion/plugin/idea/marker/ExampleLineMarkerProvider.java @@ -17,9 +17,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collection; -import java.util.List; - import static org.concordion.plugin.idea.lang.psi.ConcordionTypes.EXAMPLE_NAME; import static org.concordion.plugin.idea.patterns.ConcordionPatterns.concordionElement; @@ -62,11 +59,6 @@ public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) { return null; } - @Override - public void collectSlowLineMarkers(@NotNull List list, @NotNull Collection collection) { - - } - @NotNull private LineMarkerInfo exampleInfoFor(@NotNull PsiElement element) { return new LineMarkerInfo<>( diff --git a/tests/org/concordion/plugin/idea/ConcordionCodeInsightFixtureTestCase.java b/tests/org/concordion/plugin/idea/ConcordionCodeInsightFixtureTestCase.java index d559c50..27fe9b0 100644 --- a/tests/org/concordion/plugin/idea/ConcordionCodeInsightFixtureTestCase.java +++ b/tests/org/concordion/plugin/idea/ConcordionCodeInsightFixtureTestCase.java @@ -90,7 +90,7 @@ private static Void copyTemplate(@NotNull File sourceFile, @NotNull VirtualFile protected void setUp() throws Exception { super.setUp(); - VirtualFile[] sourceRoots = ModuleRootManager.getInstance(myModule).getSourceRoots(); + VirtualFile[] sourceRoots = ModuleRootManager.getInstance(myFixture.getModule()).getSourceRoots(); if (sourceRoots.length == 1) { VirtualFile root = sourceRoots[0]; Ref src = new Ref<>(); @@ -102,20 +102,20 @@ protected void setUp() throws Exception { return null; }); - PsiTestUtil.removeSourceRoot(myModule, root); - PsiTestUtil.addSourceRoot(myModule, src.get(), JavaSourceRootType.TEST_SOURCE); - PsiTestUtil.addSourceRoot(myModule, resources.get(), JavaResourceRootType.TEST_RESOURCE); + PsiTestUtil.removeSourceRoot(myFixture.getModule(), root); + PsiTestUtil.addSourceRoot(myFixture.getModule(), src.get(), JavaSourceRootType.TEST_SOURCE); + PsiTestUtil.addSourceRoot(myFixture.getModule(), resources.get(), JavaResourceRootType.TEST_RESOURCE); //JDK - PsiTestUtil.addLibrary(myModule, "testData/lib/rt.jar"); + PsiTestUtil.addLibrary(myFixture.getModule(), "testData/lib/rt.jar"); //Concordion dependencies - PsiTestUtil.addLibrary(myModule, "testData/lib/junit-4.12.jar"); + PsiTestUtil.addLibrary(myFixture.getModule(), "testData/lib/junit-4.12.jar"); //Concordion itself - PsiTestUtil.addLibrary(myModule, "testData/lib/concordion-2.0.0.jar"); + PsiTestUtil.addLibrary(myFixture.getModule(), "testData/lib/concordion-2.0.0.jar"); //Concordion extensions - PsiTestUtil.addLibrary(myModule, "testData/lib/concordion-embed-extension-1.1.2.jar"); - PsiTestUtil.addLibrary(myModule, "testData/lib/concordion-executeonlyif-extension-0.2.1.jar"); - PsiTestUtil.addLibrary(myModule, "testData/lib/concordion-screenshot-extension-1.2.0.jar"); + PsiTestUtil.addLibrary(myFixture.getModule(), "testData/lib/concordion-embed-extension-1.1.2.jar"); + PsiTestUtil.addLibrary(myFixture.getModule(), "testData/lib/concordion-executeonlyif-extension-0.2.1.jar"); + PsiTestUtil.addLibrary(myFixture.getModule(), "testData/lib/concordion-screenshot-extension-1.2.0.jar"); } }