diff --git a/comparing_references_inspection/comparing_references_inspection.iml b/comparing_references_inspection/comparing_references_inspection.iml index 3b8cfcf82..5d66bce80 100644 --- a/comparing_references_inspection/comparing_references_inspection.iml +++ b/comparing_references_inspection/comparing_references_inspection.iml @@ -1,11 +1,13 @@ - + + + diff --git a/comparing_references_inspection/resources/META-INF/plugin.xml b/comparing_references_inspection/resources/META-INF/plugin.xml new file mode 100644 index 000000000..6823355cb --- /dev/null +++ b/comparing_references_inspection/resources/META-INF/plugin.xml @@ -0,0 +1,70 @@ + + + + + org.intelliJ.sdk.codeInspection + + + SDK Comparing References Inspection Sample + + + 1.1.0 + + + + + + + Adds entries to Preferences | Editor | Inspections | Java | Probable Bugs. + ]]> + + + +
  • 1.1.0 Refactor resources, register this inspection.
  • +
  • 1.0.0 Release 2018.3 and earlier.
  • + + ]]> +
    + + + IntelliJ Platform SDK + + + + + + + + +
    diff --git a/comparing_references_inspection/resources/inspectionDescriptions/ComparingReferences.html b/comparing_references_inspection/resources/inspectionDescriptions/ComparingReferences.html new file mode 100644 index 000000000..e6eb316ea --- /dev/null +++ b/comparing_references_inspection/resources/inspectionDescriptions/ComparingReferences.html @@ -0,0 +1,7 @@ + + +SDK: This inspection reports when the '==' or '!=' operator was used between expressions of +reference types.
    +Classes to be inspected are controlled by a semi-colon separated Options list in the preferences panel for this inspection. + + diff --git a/comparing_references_inspection/source/META-INF/plugin.xml b/comparing_references_inspection/source/META-INF/plugin.xml deleted file mode 100644 index 83c40f850..000000000 --- a/comparing_references_inspection/source/META-INF/plugin.xml +++ /dev/null @@ -1,14 +0,0 @@ - - Comparing References Inspection - Inspection for (probably) inappropriate use of equality relation operation. - 1.0 - JetBrains - - - - - - - diff --git a/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesInspection.java b/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesInspection.java index b7330bb8c..907ca82f6 100644 --- a/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesInspection.java +++ b/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesInspection.java @@ -1,105 +1,167 @@ package com.intellij.codeInspection; -import com.intellij.codeInsight.daemon.GroupNames; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.tree.IElementType; import com.intellij.ui.DocumentAdapter; import com.intellij.util.IncorrectOperationException; -import org.jetbrains.annotations.*; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.event.DocumentEvent; import java.awt.*; import java.util.StringTokenizer; +import static com.siyeh.ig.psiutils.ExpressionUtils.isNullLiteral; + /** * @author max + * @author jhake */ public class ComparingReferencesInspection extends AbstractBaseJavaLocalInspectionTool { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInspection.ComparingReferencesInspection"); - - private final LocalQuickFix myQuickFix = new MyQuickFix(); - + private final CriQuickFix myQuickFix = new CriQuickFix(); + + // Defines the text of the quick fix intention + public static final String QUICK_FIX_NAME = "SDK: " + InspectionsBundle.message("inspection.comparing.references.use.quickfix"); + + // This string holds a list of classes relevant to this inspection. @SuppressWarnings({"WeakerAccess"}) @NonNls public String CHECKED_CLASSES = "java.lang.String;java.util.Date"; - @NonNls - private static final String DESCRIPTION_TEMPLATE = - InspectionsBundle.message("inspection.comparing.references.problem.descriptor"); - - @NotNull - public String getDisplayName() { - - return "'==' or '!=' instead of 'equals()'"; + + /** + * This method is called to get the panel describing the inspection. + * It is called every time the user selects the inspection in preferences. + * The user has the option to edit the list of CHECKED_CLASSES. + * Adds a document listener to see if + * + * @return panel to display inspection information. + */ + @Override + public JComponent createOptionsPanel() { + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); + final JTextField checkedClasses = new JTextField(CHECKED_CLASSES); + checkedClasses.getDocument().addDocumentListener(new DocumentAdapter() { + public void textChanged(DocumentEvent event) { + CHECKED_CLASSES = checkedClasses.getText(); + } + }); + panel.add(checkedClasses); + return panel; } - - @NotNull - public String getGroupDisplayName() { - return GroupNames.BUGS_GROUP_NAME; - } - - @NotNull - public String getShortName() { - return "ComparingReferences"; - } - - private boolean isCheckedType(PsiType type) { - if (!(type instanceof PsiClassType)) return false; - - StringTokenizer tokenizer = new StringTokenizer(CHECKED_CLASSES, ";"); - while (tokenizer.hasMoreTokens()) { - String className = tokenizer.nextToken(); - if (type.equalsToText(className)) return true; - } - - return false; - } - + + /** + * This method is overridden to provide a custom visitor + * that inspects expressions with relational operators '==' and '!=' + * The visitor must not be recursive and must be thread-safe. + * + * @param holder object for visitor to register problems found. + * @param isOnTheFly true if inspection was run in non-batch mode + * @return non-null visitor for this inspection. + * @see JavaElementVisitor + */ @NotNull @Override public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) { return new JavaElementVisitor() { - + + /** + * This string defines the short message shown to a user signaling the inspection + * found a problem. It reuses a string from the inspections bundle. + */ + @NonNls + private final String DESCRIPTION_TEMPLATE = "SDK " + InspectionsBundle.message("inspection.comparing.references.problem.descriptor"); + + /** + * Avoid defining visitors for both Reference and Binary expressions. + * + * @param psiReferenceExpression The expression to be evaluated. + */ @Override public void visitReferenceExpression(PsiReferenceExpression psiReferenceExpression) { } - - + + /** + * Evaluate binary psi expressions to see if they contain + * relational operators '==' and '!=', AND they contain + * classes contained in CHECKED_CLASSES. The evaluation + * ignores expressions comparing an object to null. + * IF this criteria is met, add the expression to the + * problems list. + * + * @param expression The binary expression to be evaluated. + */ @Override public void visitBinaryExpression(PsiBinaryExpression expression) { super.visitBinaryExpression(expression); IElementType opSign = expression.getOperationTokenType(); if (opSign == JavaTokenType.EQEQ || opSign == JavaTokenType.NE) { + // The binary expression is the correct type for this inspection PsiExpression lOperand = expression.getLOperand(); PsiExpression rOperand = expression.getROperand(); - if (rOperand == null || isNullLiteral(lOperand) || isNullLiteral(rOperand)) return; - + if (rOperand == null || isNullLiteral(lOperand) || isNullLiteral(rOperand)) + return; + // Nothing is compared to null, now check the types being compared PsiType lType = lOperand.getType(); PsiType rType = rOperand.getType(); - if (isCheckedType(lType) || isCheckedType(rType)) { + // Identified an expression with potential problems, add to list with fix object. holder.registerProblem(expression, DESCRIPTION_TEMPLATE, myQuickFix); } } } + + /** + * Verifies the input is the correct {@code PsiType} for this inspection. + * + * @param type The {@code PsiType} to be examined for a match + * @return {@code true} if input is {@code PsiClassType} and matches + * one of the classes in the CHECKED_CLASSES list. + */ + private boolean isCheckedType(PsiType type) { + if (!(type instanceof PsiClassType)) + return false; + StringTokenizer tokenizer = new StringTokenizer(CHECKED_CLASSES, ";"); + while (tokenizer.hasMoreTokens()) { + String className = tokenizer.nextToken(); + if (type.equalsToText(className)) + return true; + } + return false; + } + }; } - - private static boolean isNullLiteral(PsiExpression expr) { - return expr instanceof PsiLiteralExpression && "null".equals(expr.getText()); - } - - private static class MyQuickFix implements LocalQuickFix { + + /** + * This class provides a solution to inspection problem expressions by manipulating + * the PSI tree to use a.equals(b) instead of '==' or '!=' + */ + private static class CriQuickFix implements LocalQuickFix { + + /** + * Returns a partially localized string for the quick fix intention. + * Used by the test code for this plugin. + * + * @return Quick fix short name. + */ @NotNull + @Override public String getName() { - // The test (see the TestThisPlugin class) uses this string to identify the quick fix action. - return InspectionsBundle.message("inspection.comparing.references.use.quickfix"); + return QUICK_FIX_NAME; } - - + + /** + * This method manipulates the PSI tree to replace 'a==b' with 'a.equals(b) + * or 'a!=b' with '!a.equals(b)' + * + * @param project The project that contains the file being edited. + * @param descriptor A problem found by this inspection. + */ public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { try { PsiBinaryExpression binaryExpression = (PsiBinaryExpression) descriptor.getPsiElement(); @@ -108,16 +170,16 @@ public class ComparingReferencesInspection extends AbstractBaseJavaLocalInspecti PsiExpression rExpr = binaryExpression.getROperand(); if (rExpr == null) return; - + PsiElementFactory factory = JavaPsiFacade.getInstance(project).getElementFactory(); PsiMethodCallExpression equalsCall = - (PsiMethodCallExpression) factory.createExpressionFromText("a.equals(b)", null); - + (PsiMethodCallExpression) factory.createExpressionFromText("a.equals(b)", null); + equalsCall.getMethodExpression().getQualifierExpression().replace(lExpr); equalsCall.getArgumentList().getExpressions()[0].replace(rExpr); - + PsiExpression result = (PsiExpression) binaryExpression.replace(equalsCall); - + if (opSign == JavaTokenType.NE) { PsiPrefixExpression negation = (PsiPrefixExpression) factory.createExpressionFromText("!a", null); negation.getOperand().replace(result); @@ -127,27 +189,11 @@ public class ComparingReferencesInspection extends AbstractBaseJavaLocalInspecti LOG.error(e); } } - + @NotNull public String getFamilyName() { return getName(); } } - - public JComponent createOptionsPanel() { - JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); - final JTextField checkedClasses = new JTextField(CHECKED_CLASSES); - checkedClasses.getDocument().addDocumentListener(new DocumentAdapter() { - public void textChanged(DocumentEvent event) { - CHECKED_CLASSES = checkedClasses.getText(); - } - }); - - panel.add(checkedClasses); - return panel; - } - - public boolean isEnabledByDefault() { - return true; - } + } diff --git a/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesProvider.java b/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesProvider.java deleted file mode 100644 index 980777846..000000000 --- a/comparing_references_inspection/source/com/intellij/codeInspection/ComparingReferencesProvider.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.intellij.codeInspection; - -/** - * @author max - */ -public class ComparingReferencesProvider implements InspectionToolProvider { - public Class[] getInspectionClasses() { - return new Class[]{ComparingReferencesInspection.class}; - } -} diff --git a/comparing_references_inspection/source/inspectionDescriptions/ComparingReferences.html b/comparing_references_inspection/source/inspectionDescriptions/ComparingReferences.html deleted file mode 100644 index ca5f9d5ee..000000000 --- a/comparing_references_inspection/source/inspectionDescriptions/ComparingReferences.html +++ /dev/null @@ -1,7 +0,0 @@ - - -This inspection reports when the '==' or '!=' operator was used between expressions of -reference types.
    -In the text field below, specify the semicolon separated list of classes to be considered as suspicious. - - diff --git a/comparing_references_inspection/testSource/testPlugin/TestThisPlugin.java b/comparing_references_inspection/testSource/testPlugin/TestThisPlugin.java index 818494431..4a1092467 100644 --- a/comparing_references_inspection/testSource/testPlugin/TestThisPlugin.java +++ b/comparing_references_inspection/testSource/testPlugin/TestThisPlugin.java @@ -4,73 +4,84 @@ package testPlugin; import com.intellij.codeInsight.daemon.impl.HighlightInfo; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInspection.ComparingReferencesInspection; -import com.intellij.codeInspection.InspectionToolProvider; -import com.intellij.testFramework.TestDataPath; +import com.intellij.openapi.application.PathManager; import com.intellij.testFramework.UsefulTestCase; import com.intellij.testFramework.builders.JavaModuleFixtureBuilder; import com.intellij.testFramework.fixtures.*; +import org.junit.After; import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** * @see JavaCodeInsightFixtureTestCase * @see LightCodeInsightFixtureTestCase */ -@TestDataPath("$CONTENT_ROOT/../testData") public class TestThisPlugin extends UsefulTestCase { - + protected CodeInsightTestFixture myFixture; - // TODO: Get path to module root, then add path to testData - // Specify path to your test data directory - // e.g. final String dataPath = "c:\\users\\john.doe\\idea\\community\\samples\\ComparingReferences/testData"; - final String dataPath = "c:\\users\\John.Doe\\idea\\community\\samples\\comparingReferences/testData"; - + // Specify the path to the test data directory + final String dataPath = PathManager.getResourceRoot(TestThisPlugin.class, "/testPlugin/TestThisPlugin.class"); + + @Before public void setUp() throws Exception { - + final IdeaTestFixtureFactory fixtureFactory = IdeaTestFixtureFactory.getFixtureFactory(); final TestFixtureBuilder testFixtureBuilder = - fixtureFactory.createFixtureBuilder(getName()); + fixtureFactory.createFixtureBuilder(getName()); myFixture = JavaTestFixtureFactory.getFixtureFactory().createCodeInsightFixture(testFixtureBuilder.getFixture()); myFixture.setTestDataPath(dataPath); final JavaModuleFixtureBuilder builder = testFixtureBuilder.addModule(JavaModuleFixtureBuilder.class); - + builder.addContentRoot(myFixture.getTempDirPath()).addSourceRoot(""); builder.setMockJdkLevel(JavaModuleFixtureBuilder.MockJdkLevel.jdk15); myFixture.setUp(); } - + + @After public void tearDown() throws Exception { myFixture.tearDown(); myFixture = null; } - + protected void doTest(String testName, String hint) throws Throwable { myFixture.configureByFile(testName + ".java"); - + myFixture.enableInspections(ComparingReferencesInspection.class); List highlightInfos = myFixture.doHighlighting(); Assert.assertTrue(!highlightInfos.isEmpty()); - + final IntentionAction action = myFixture.findSingleIntention(hint); - + Assert.assertNotNull(action); myFixture.launchAction(action); myFixture.checkResultByFile(testName + ".after.java"); } - - // Test the "==" case + + /** + * Test the "==" case + * Note the hint must match CriQuickFix#getName + * + * @throws Throwable + */ + @Test public void test() throws Throwable { - doTest("before", "Use equals()"); +// doTest("before", "Use equals()"); + doTest("before", ComparingReferencesInspection.QUICK_FIX_NAME); } - - // Test the "!=" case + + /** + * Test the "!=" case + * Note the hint must match CriQuickFix#getName + * @throws Throwable + */ + @Test public void test1() throws Throwable { - doTest("before1", "Use equals()"); + doTest("before1", ComparingReferencesInspection.QUICK_FIX_NAME); } - + } diff --git a/conditional_operator_intention/META-INF/plugin.xml b/conditional_operator_intention/META-INF/plugin.xml deleted file mode 100644 index c2d00efb4..000000000 --- a/conditional_operator_intention/META-INF/plugin.xml +++ /dev/null @@ -1,27 +0,0 @@ - - Conditional Operator Converter - ConditionalOperatorConverter - Intention action that suggests to convert a conditional operator into - 'if' block. - - 1.3 - JetBrains - - - - - com.intellij.codeInsight.intention.ConditionalOperatorConvertor - Conditional Operator - ConditionalOperatorConvertor - - - - - - - com.intellij.codeInsight.intention.ConditionalOperatorConvertor - - - diff --git a/conditional_operator_intention/conditional_operator_intention.iml b/conditional_operator_intention/conditional_operator_intention.iml index 636ca6e47..bf37e0852 100644 --- a/conditional_operator_intention/conditional_operator_intention.iml +++ b/conditional_operator_intention/conditional_operator_intention.iml @@ -1,12 +1,13 @@ - + + diff --git a/conditional_operator_intention/resources/META-INF/plugin.xml b/conditional_operator_intention/resources/META-INF/plugin.xml new file mode 100644 index 000000000..bc2b465b8 --- /dev/null +++ b/conditional_operator_intention/resources/META-INF/plugin.xml @@ -0,0 +1,46 @@ + + + + + ConditionalOperatorConverter + + + SDK Conditional Operator Converter + + + 1.4.0 + + + + + + + Adds entry to Preferences | Editor | Intentions | SDK Intentions. + ]]> + + + +
  • 1.4.0 Refactor resources, general cleanup.
  • +
  • 1.3.0 Release 2018.3 and earlier.
  • + + ]]> +
    + + + IntelliJ Platform SDK + + + + com.intellij.codeInsight.intention.ConditionalOperatorConvertor + SDK Intentions + + + + + + com.intellij.codeInsight.intention.ConditionalOperatorConvertor + + +
    diff --git a/conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/after.java.template b/conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/after.java.template similarity index 100% rename from conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/after.java.template rename to conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/after.java.template diff --git a/conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/before.java.template b/conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/before.java.template similarity index 100% rename from conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/before.java.template rename to conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/before.java.template diff --git a/conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/description.html b/conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/description.html new file mode 100644 index 000000000..13d00196c --- /dev/null +++ b/conditional_operator_intention/resources/intentionDescriptions/ConditionalOperatorIntention/description.html @@ -0,0 +1,7 @@ + + + + +SDK: This intention converts a ternary operator to a corresponding if statement.
    + + \ No newline at end of file diff --git a/conditional_operator_intention/source/com/intellij/codeInsight/intention/ConditionalOperatorConvertor.java b/conditional_operator_intention/source/com/intellij/codeInsight/intention/ConditionalOperatorConvertor.java index 6c8865f87..2addade75 100644 --- a/conditional_operator_intention/source/com/intellij/codeInsight/intention/ConditionalOperatorConvertor.java +++ b/conditional_operator_intention/source/com/intellij/codeInsight/intention/ConditionalOperatorConvertor.java @@ -1,6 +1,5 @@ -/* - * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. - */ + +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.codeInsight.intention; @@ -26,21 +25,21 @@ public class ConditionalOperatorConvertor extends PsiElementBaseIntentionAction */ @NotNull public String getText() { - return "Convert ternary operator to if statement"; + return "SDK Convert ternary operator to if statement"; } /** * Returns text for name of this family of intentions. It is used to externalize - * "auto-show" state of intentions. Only one intention action is being provided, - * so the family name is the same text as the intention action list entry. + * "auto-show" state of intentions. + * It is also the directory name for the descriptions. * - * @return the intention family name. - * @see ConditionalOperatorConvertor#getText() + * @see com.intellij.codeInsight.intention.IntentionManager#registerIntentionAndMetaData(IntentionAction, String...) + * @return the intention family name. */ @NotNull public String getFamilyName() { - return getText(); + return "ConditionalOperatorIntention"; } diff --git a/conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/description.html b/conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/description.html deleted file mode 100644 index 6ae92607a..000000000 --- a/conditional_operator_intention/source/intentionDescriptions/ConditionalOperatorConvertor/description.html +++ /dev/null @@ -1,5 +0,0 @@ - - -This intention converts a ternary operator to a corresponding if statement.
    - - \ No newline at end of file diff --git a/conditional_operator_intention/testSource/testPlugin/YourTest.java b/conditional_operator_intention/testSource/testPlugin/YourTest.java index 5738e1d08..18ddc8ebf 100644 --- a/conditional_operator_intention/testSource/testPlugin/YourTest.java +++ b/conditional_operator_intention/testSource/testPlugin/YourTest.java @@ -1,3 +1,5 @@ +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. + package testPlugin; import com.intellij.codeInsight.intention.IntentionAction; @@ -52,7 +54,7 @@ public class YourTest extends UsefulTestCase { @Test public void test() { - doTest("before.template", "Convert ternary operator to if statement"); + doTest("before.template", "SDK Convert ternary operator to if statement"); } } diff --git a/inspection/resources/META-INF/plugin.xml b/inspection/resources/META-INF/plugin.xml index 5bcfd22fc..42d4becf3 100644 --- a/inspection/resources/META-INF/plugin.xml +++ b/inspection/resources/META-INF/plugin.xml @@ -1,15 +1,65 @@ + + + com.intellij.tutorials.inspection - Inspection Demo - 1.0 - JetBrains - Basic example of working with code inspections + + SDK Inspection Demo - + + 1.1.0 + + + + + + + Preferences | Editor | Inspections | SDK | Example Tools
    . + ]]> + + + +
  • 1.1.0 Refactor resources, add "SDK" to description.
  • +
  • 1.0.0 Release 2018.3 and earlier.
  • + + ]]> +
    + + + IntelliJ Platform SDK - + + + \ No newline at end of file diff --git a/inspection/resources/inspectionDescriptions/DemoCode.html b/inspection/resources/inspectionDescriptions/DemoCode.html new file mode 100644 index 000000000..a0f233f09 --- /dev/null +++ b/inspection/resources/inspectionDescriptions/DemoCode.html @@ -0,0 +1,9 @@ + + + + +SDK: Write your description here.
    + +Text after this comment will not be shown in tooltips. + + \ No newline at end of file diff --git a/inspection/src/com/intellij/tutorials/inspection/DemoCodeInspection.java b/inspection/src/com/intellij/tutorials/inspection/DemoCodeInspection.java index def683732..68c29dab7 100644 --- a/inspection/src/com/intellij/tutorials/inspection/DemoCodeInspection.java +++ b/inspection/src/com/intellij/tutorials/inspection/DemoCodeInspection.java @@ -1,19 +1,24 @@ +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. + package com.intellij.tutorials.inspection; -import com.intellij.codeInspection.*; -import org.jetbrains.annotations.*; +import com.intellij.codeInspection.LocalInspectionTool; +import com.intellij.codeInspection.ProblemsHolder; +import org.jetbrains.annotations.NotNull; /** * @author Anna Bulenkova */ public class DemoCodeInspection extends LocalInspectionTool { - @Nls - @NotNull - @Override - public String getDisplayName() { - return "Demo Inspection"; - } - + + /** + * This method is overridden to provide a custom visitor + * The visitor must not be recursive and must be thread-safe. + * + * @param holder object for visitor to register problems found. + * @param isOnTheFly true if inspection was run in non-batch mode + * @return DemoInspectionVisitor. + */ @NotNull @Override public DemoInspectionVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) { diff --git a/inspection/src/com/intellij/tutorials/inspection/DemoInspectionToolProvider.java b/inspection/src/com/intellij/tutorials/inspection/DemoInspectionToolProvider.java deleted file mode 100644 index 342f2c42a..000000000 --- a/inspection/src/com/intellij/tutorials/inspection/DemoInspectionToolProvider.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.intellij.tutorials.inspection; - -import com.intellij.codeInspection.InspectionToolProvider; - -/** - * @author Anna Bulenkova - */ -public class DemoInspectionToolProvider implements InspectionToolProvider { - public Class[] getInspectionClasses() { - return new Class[]{DemoCodeInspection.class}; - } -} diff --git a/inspection/src/com/intellij/tutorials/inspection/DemoInspectionVisitor.java b/inspection/src/com/intellij/tutorials/inspection/DemoInspectionVisitor.java index 1dc8bf73b..aa93038b1 100644 --- a/inspection/src/com/intellij/tutorials/inspection/DemoInspectionVisitor.java +++ b/inspection/src/com/intellij/tutorials/inspection/DemoInspectionVisitor.java @@ -1,3 +1,5 @@ +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. + package com.intellij.tutorials.inspection; import com.intellij.psi.*; diff --git a/inspection/src/inspectionDescriptions/DemoCode.html b/inspection/src/inspectionDescriptions/DemoCode.html deleted file mode 100644 index 942f318aa..000000000 --- a/inspection/src/inspectionDescriptions/DemoCode.html +++ /dev/null @@ -1,7 +0,0 @@ - - -Write your description here. - -Text after this comment will not be shown in tooltips. - - \ No newline at end of file