diff options
author | Tor Norbye <tnorbye@google.com> | 2013-04-03 16:27:26 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2013-04-03 16:27:26 -0700 |
commit | d1a59a0799588a226d255d9b45c4825b19651554 (patch) | |
tree | c9759b94ddad742db08b6662f52a62e0401491c1 /java/java-psi-api/src | |
parent | 2bd2b7c2623d4266384e890271869efc044aabff (diff) | |
download | idea-d1a59a0799588a226d255d9b45c4825b19651554.tar.gz |
Snapshot dc7fe9a777db5bc87a5b1ad4bfe40a547fc7d49a from master branch of git://git.jetbrains.org/idea/community.git
Change-Id: Iae1c655b8958fc7603a78c675e4a4b942a1fccd4
Diffstat (limited to 'java/java-psi-api/src')
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java | 5 | ||||
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java b/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java index bbed9e3d747d..531edd732fae 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java +++ b/java/java-psi-api/src/com/intellij/psi/util/IsConstantExpressionVisitor.java @@ -87,6 +87,11 @@ public class IsConstantExpressionVisitor extends JavaElementVisitor { for (PsiExpression operand : expression.getOperands()) { operand.accept(this); if (!myIsConstant) return; + final PsiType type = operand.getType(); + if (type != null && !(type instanceof PsiPrimitiveType) && !type.equalsToText(CommonClassNames.JAVA_LANG_STRING)) { + myIsConstant = false; + return; + } } } diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java b/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java index cbe98a7590ab..5696b8ba0d63 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java @@ -154,6 +154,9 @@ public class TypesDistinctProver { PsiType type2, PsiClass boundClass1, PsiClass boundClass2) { + if (boundClass1 == null || boundClass2 == null) { + return false; + } if (boundClass1.isInterface() && boundClass2.isInterface()) return false; if (boundClass1.isInterface()) { return !(boundClass2.hasModifierProperty(PsiModifier.FINAL) ? InheritanceUtil.isInheritorOrSelf(boundClass2, boundClass1, true) : true); |