1 11 package org.eclipse.jdt.internal.ui.text.java; 12 13 import org.eclipse.jface.text.IDocument; 14 15 import org.eclipse.jdt.core.CompletionProposal; 16 17 import org.eclipse.jdt.ui.text.java.CompletionProposalCollector; 18 import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext; 19 import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext; 20 21 import org.eclipse.jdt.internal.ui.text.JavaHeuristicScanner; 22 import org.eclipse.jdt.internal.ui.text.Symbols; 23 24 28 public class JavaNoTypeCompletionProposalComputer extends JavaCompletionProposalComputer { 29 32 protected CompletionProposalCollector createCollector(JavaContentAssistInvocationContext context) { 33 CompletionProposalCollector collector= super.createCollector(context); 34 collector.setIgnored(CompletionProposal.ANNOTATION_ATTRIBUTE_REF, false); 35 collector.setIgnored(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, false); 36 collector.setIgnored(CompletionProposal.FIELD_REF, false); 37 collector.setIgnored(CompletionProposal.KEYWORD, false); 38 collector.setIgnored(CompletionProposal.LABEL_REF, false); 39 collector.setIgnored(CompletionProposal.LOCAL_VARIABLE_REF, false); 40 collector.setIgnored(CompletionProposal.METHOD_DECLARATION, false); 41 collector.setIgnored(CompletionProposal.METHOD_NAME_REFERENCE, false); 42 collector.setIgnored(CompletionProposal.METHOD_REF, false); 43 collector.setIgnored(CompletionProposal.PACKAGE_REF, false); 44 collector.setIgnored(CompletionProposal.POTENTIAL_METHOD_DECLARATION, false); 45 collector.setIgnored(CompletionProposal.VARIABLE_DECLARATION, false); 46 47 collector.setIgnored(CompletionProposal.JAVADOC_BLOCK_TAG, true); 48 collector.setIgnored(CompletionProposal.JAVADOC_FIELD_REF, true); 49 collector.setIgnored(CompletionProposal.JAVADOC_INLINE_TAG, true); 50 collector.setIgnored(CompletionProposal.JAVADOC_METHOD_REF, true); 51 collector.setIgnored(CompletionProposal.JAVADOC_PARAM_REF, true); 52 collector.setIgnored(CompletionProposal.JAVADOC_TYPE_REF, true); 53 collector.setIgnored(CompletionProposal.JAVADOC_VALUE_REF, true); 54 55 collector.setIgnored(CompletionProposal.TYPE_REF, true); 56 return collector; 57 } 58 59 protected int guessContextInformationPosition(ContentAssistInvocationContext context) { 60 final int contextPosition= context.getInvocationOffset(); 61 62 IDocument document= context.getDocument(); 63 JavaHeuristicScanner scanner= new JavaHeuristicScanner(document); 64 int bound= Math.max(-1, contextPosition - 200); 65 66 int pos= contextPosition - 1; 68 do { 69 int paren= scanner.findOpeningPeer(pos, bound, '(', ')'); 70 if (paren == JavaHeuristicScanner.NOT_FOUND) 71 break; 72 int token= scanner.previousToken(paren - 1, bound); 73 if (token == Symbols.TokenIDENT || token == Symbols.TokenGREATERTHAN) 76 return paren + 1; 77 pos= paren - 1; 78 } while (true); 79 80 return super.guessContextInformationPosition(context); 81 } 82 } 83 | Popular Tags |