From f6a8f67f8c0b3420c3930ee22d0034bfa4d2c8b5 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 30 Oct 2013 14:00:40 +0100 Subject: [PATCH] EA-51451 (avoid resolve on building .class mirror) --- .../com/intellij/psi/impl/compiled/ClsParsingUtil.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsParsingUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsParsingUtil.java index 5113ed4d1fff..d4b10331797d 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsParsingUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsParsingUtil.java @@ -133,8 +133,11 @@ public class ClsParsingUtil { return new ClsPrefixExpressionImpl(parent, operation, literal); } if (expr instanceof PsiClassObjectAccessExpression) { - final String canonicalClassText = ((PsiClassObjectAccessExpression)expr).getOperand().getType().getCanonicalText(); - return new ClsClassObjectAccessExpressionImpl(parent, canonicalClassText); + String exprText = expr.getText(); + if (StringUtil.endsWith(exprText, ".class")) { + String classText = exprText.substring(0, exprText.length() - 6); + return new ClsClassObjectAccessExpressionImpl(parent, classText); + } } if (expr instanceof PsiReferenceExpression) { return new ClsReferenceExpressionImpl(parent, (PsiReferenceExpression)expr); @@ -159,7 +162,7 @@ public class ClsParsingUtil { } } - LOG.error("Unable to compute expression value: " + expr); + LOG.error("Unable to compute expression value: " + expr + " [" + expr.getText() + "]"); return null; }