mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Groovy traits : abstract trait methods are not clashing
This commit is contained in:
+5
-3
@@ -87,13 +87,15 @@ public class ClashingTraitMethodsInspection extends BaseInspection {
|
||||
if (superSignatures.size() > 1) {
|
||||
List<GrTypeDefinition> traits = ContainerUtil.newArrayList();
|
||||
for (HierarchicalMethodSignature superSignature : superSignatures) {
|
||||
PsiClass superClass = superSignature.getMethod().getContainingClass();
|
||||
if (GrTraitUtil.isTrait(superClass)) {
|
||||
PsiMethod superMethod = superSignature.getMethod();
|
||||
PsiClass superClass = superMethod.getContainingClass();
|
||||
if (GrTraitUtil.isTrait(superClass) &&
|
||||
!superMethod.getModifierList().hasExplicitModifier(PsiModifier.ABSTRACT)) {
|
||||
traits.add((GrTypeDefinition)superClass);
|
||||
}
|
||||
}
|
||||
|
||||
if (!traits.isEmpty()) {
|
||||
if (traits.size() > 1) {
|
||||
clashingMethods.add(new ClashingMethod(signature, traits));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user