mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
(no message)
This commit is contained in:
+12
-2
@@ -3,11 +3,13 @@ package com.siyeh.ig.confusing;
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiSwitchStatement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.siyeh.ig.BaseInspection;
|
||||
import com.siyeh.ig.BaseInspectionVisitor;
|
||||
import com.siyeh.ig.GroupNames;
|
||||
import com.siyeh.ig.StatementInspection;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
|
||||
public class NestedSwitchStatementInspection extends StatementInspection {
|
||||
|
||||
@@ -34,12 +36,20 @@ public class NestedSwitchStatementInspection extends StatementInspection {
|
||||
|
||||
public void visitSwitchStatement(PsiSwitchStatement statement) {
|
||||
super.visitSwitchStatement(statement);
|
||||
if (PsiTreeUtil.getParentOfType(statement, PsiSwitchStatement.class) == null) {
|
||||
final PsiElement containingSwitchStatement =
|
||||
PsiTreeUtil.getParentOfType(statement, PsiSwitchStatement.class);
|
||||
if (containingSwitchStatement == null) {
|
||||
return;
|
||||
}
|
||||
final PsiMethod containingMethod = ClassUtils.getContainingMethod(statement);
|
||||
final PsiMethod containingContainingMethod = ClassUtils.getContainingMethod(
|
||||
containingSwitchStatement);
|
||||
if(!containingMethod.equals(containingContainingMethod))
|
||||
{
|
||||
return;
|
||||
}
|
||||
registerStatementError(statement);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+10
@@ -39,6 +39,16 @@ class InnerClassReferenceVisitor extends PsiRecursiveElementVisitor {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void visitThisExpression(PsiThisExpression expression){
|
||||
super.visitThisExpression(expression);
|
||||
final PsiJavaCodeReferenceElement qualifier = expression.getQualifier();
|
||||
if(qualifier == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_referencesStaticallyAccessible = false;
|
||||
}
|
||||
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement referenceElement) {
|
||||
super.visitReferenceElement(referenceElement);
|
||||
final PsiElement element = referenceElement.resolve();
|
||||
|
||||
@@ -87,7 +87,7 @@ public class ClassUtils {
|
||||
}
|
||||
|
||||
public static boolean isIntegral(PsiType type) {
|
||||
return (type != null) && (
|
||||
return (type != null) && (
|
||||
type.equals(PsiType.LONG) ||
|
||||
type.equals(PsiType.INT) ||
|
||||
type.equals(PsiType.SHORT) ||
|
||||
@@ -174,4 +174,8 @@ public class ClassUtils {
|
||||
}
|
||||
return outerClass;
|
||||
}
|
||||
|
||||
public static PsiMethod getContainingMethod(PsiElement element){
|
||||
return (PsiMethod) PsiTreeUtil.getParentOfType(element, PsiMethod.class);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-1
@@ -2,12 +2,14 @@ package com.siyeh.ig.threading;
|
||||
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiSynchronizedStatement;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.siyeh.ig.BaseInspection;
|
||||
import com.siyeh.ig.BaseInspectionVisitor;
|
||||
import com.siyeh.ig.GroupNames;
|
||||
import com.siyeh.ig.StatementInspection;
|
||||
import com.siyeh.ig.psiutils.ClassUtils;
|
||||
|
||||
public class NestedSynchronizedStatementInspection extends StatementInspection {
|
||||
|
||||
@@ -34,7 +36,14 @@ public class NestedSynchronizedStatementInspection extends StatementInspection {
|
||||
|
||||
public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
|
||||
super.visitSynchronizedStatement(statement);
|
||||
if (PsiTreeUtil.getParentOfType(statement, PsiSynchronizedStatement.class) == null) {
|
||||
final PsiElement containingSynchronizedStatement =
|
||||
PsiTreeUtil.getParentOfType(statement, PsiSynchronizedStatement.class);
|
||||
if(containingSynchronizedStatement == null){
|
||||
return;
|
||||
}
|
||||
final PsiMethod containingMethod = ClassUtils.getContainingMethod(statement);
|
||||
final PsiMethod containingContainingMethod = ClassUtils.getContainingMethod(containingSynchronizedStatement);
|
||||
if(!containingMethod.equals(containingContainingMethod)){
|
||||
return;
|
||||
}
|
||||
registerStatementError(statement);
|
||||
|
||||
Reference in New Issue
Block a user