From 28c8d7a22f1f643919b419b0657b8d33ff6f6ac0 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Wed, 14 Sep 2016 12:17:18 +0200 Subject: [PATCH] IG: register problem on navigation element when identifier is not physical (in Groovy) --- ...stClassNamingConventionInspectionBase.java | 19 +++++++++++++------ ...stClassNamingConventionInspectionBase.java | 14 ++++++++++++-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspectionBase.java index 091fe4e5ad8c..448d826409ef 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitAbstractTestClassNamingConventionInspectionBase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,10 +15,7 @@ */ package com.siyeh.ig.junit; -import com.intellij.psi.PsiClass; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiModifier; -import com.intellij.psi.PsiTypeParameter; +import com.intellij.psi.*; import com.intellij.psi.util.InheritanceUtil; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspectionVisitor; @@ -96,7 +93,17 @@ public class JUnitAbstractTestClassNamingConventionInspectionBase extends Conven if (isValid(name)) { return; } - registerClassError(aClass, name); + final PsiIdentifier identifier = aClass.getNameIdentifier(); + if (identifier == null) { + return; + } + if (!identifier.isPhysical()) { + final PsiElement navigationElement = identifier.getNavigationElement(); + registerError(navigationElement, name); + } + else { + registerClassError(aClass, name); + } } } } diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspectionBase.java index c58a2e8d6f95..3d7a04f7a53a 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/junit/JUnitTestClassNamingConventionInspectionBase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -95,7 +95,17 @@ public class JUnitTestClassNamingConventionInspectionBase extends ConventionInsp if (isValid(name)) { return; } - registerClassError(aClass, name); + final PsiIdentifier identifier = aClass.getNameIdentifier(); + if (identifier == null) { + return; + } + if (!identifier.isPhysical()) { + final PsiElement navigationElement = identifier.getNavigationElement(); + registerError(navigationElement, name); + } + else { + registerClassError(aClass, name); + } } private boolean hasJUnit4TestMethods(@NotNull PsiClass aClass) {