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() {