From b280f122c37bbc19b780bc314134e8a0748886a6 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 25 Jul 2017 21:05:08 +0300 Subject: [PATCH] lang-jvm: added explicit declaration of 'getType' method to avoid compatibility problems --- java/java-psi-api/src/com/intellij/psi/PsiField.java | 6 ++++++ java/java-psi-api/src/com/intellij/psi/PsiParameter.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/java/java-psi-api/src/com/intellij/psi/PsiField.java b/java/java-psi-api/src/com/intellij/psi/PsiField.java index d6db325ab5b6..68beef3cd491 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiField.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiField.java @@ -44,4 +44,10 @@ public interface PsiField extends PsiMember, PsiVariable, PsiDocCommentOwner, Jv @Override @NotNull PsiIdentifier getNameIdentifier(); + + /* This explicit declaration is required to force javac generate bridge method 'JvmType getType()'; without it calling + JvmField#getType() method on instances which weren't recompiled against the new API will cause AbstractMethodError. */ + @NotNull + @Override + PsiType getType(); } diff --git a/java/java-psi-api/src/com/intellij/psi/PsiParameter.java b/java/java-psi-api/src/com/intellij/psi/PsiParameter.java index cec09c2f0798..39b78eece59b 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiParameter.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiParameter.java @@ -54,6 +54,12 @@ public interface PsiParameter extends PsiVariable, JvmParameter { @Nullable PsiTypeElement getTypeElement(); + /* This explicit declaration is required to force javac generate bridge method 'JvmType getType()'; without it calling + JvmParameter#getType() method on instances which weren't recompiled against the new API will cause AbstractMethodError. */ + @NotNull + @Override + PsiType getType(); + @NotNull @Override default PsiAnnotation[] getAnnotations() {