From becd93709342d06f411f7ddd7750835c3d6f87e3 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 31 May 2013 13:48:48 +0400 Subject: [PATCH] EA-46672 - CCE: PsiThisExpressionImpl.getType --- .../psi/impl/source/tree/java/PsiThisExpressionImpl.java | 5 ++--- .../daemonCodeAnalyzer/quickFix/iterateOver/before4.java | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/iterateOver/before4.java diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiThisExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiThisExpressionImpl.java index ff7c042d906d..2a8a62027cc1 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiThisExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiThisExpressionImpl.java @@ -42,9 +42,8 @@ public class PsiThisExpressionImpl extends ExpressionPsiElement implements PsiTh public PsiType getType() { PsiJavaCodeReferenceElement qualifier = getQualifier(); if (qualifier != null){ - PsiClass qualifierResolve = (PsiClass)qualifier.resolve(); - if (qualifierResolve != null) return new PsiImmediateClassType(qualifierResolve, PsiSubstitutor.EMPTY); - + PsiElement qualifierResolve = qualifier.resolve(); + if (qualifierResolve instanceof PsiClass) return new PsiImmediateClassType((PsiClass)qualifierResolve, PsiSubstitutor.EMPTY); return new PsiClassReferenceType(qualifier, null); } for(PsiElement scope = getContext(); scope != null; scope = scope.getContext()){ diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/iterateOver/before4.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/iterateOver/before4.java new file mode 100644 index 000000000000..a355f5bccf9a --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/iterateOver/before4.java @@ -0,0 +1,6 @@ +// "Iterate" "false" +class Test { + void foo() { + java.lang.this + } +} \ No newline at end of file