Backported fix for bug 200456.
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java
index f90921b..a879113 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/AbstractJavaCompletionProposal.java
@@ -312,7 +312,7 @@
public void apply(IDocument document, char trigger, int offset) {
if (isSupportingRequiredProposals()) {
- CompletionProposal coreProposal= ((MemberProposalInfo)fProposalInfo).fProposal;
+ CompletionProposal coreProposal= ((MemberProposalInfo)getProposalInfo()).fProposal;
CompletionProposal[] requiredProposals= coreProposal.getRequiredProposals();
for (int i= 0; requiredProposals != null && i < requiredProposals.length; i++) {
int oldLen= document.getLength();
@@ -817,7 +817,6 @@
}
private IJavaProject getProject() {
- // TODO Auto-generated method stub
return null;
}
@@ -1033,10 +1032,14 @@
* @since 3.3
*/
protected boolean isSupportingRequiredProposals() {
- if (fInvocationContext == null || !(fProposalInfo instanceof MemberProposalInfo))
+ if (fInvocationContext == null)
return false;
- CompletionProposal proposal= ((MemberProposalInfo)fProposalInfo).fProposal;
+ ProposalInfo proposalInfo= getProposalInfo();
+ if (!(proposalInfo instanceof MemberProposalInfo))
+ return false;
+
+ CompletionProposal proposal= ((MemberProposalInfo)proposalInfo).fProposal;
return proposal != null && (proposal.getKind() == CompletionProposal.METHOD_REF || proposal.getKind() == CompletionProposal.FIELD_REF);
}