| /******************************************************************************* |
| * Copyright (c) 2008, 2018 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jdt.internal.ui.text.java; |
| |
| import org.eclipse.jdt.core.CompletionProposal; |
| |
| import org.eclipse.jdt.ui.text.java.CompletionProposalCollector; |
| import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext; |
| import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext; |
| |
| |
| /** |
| * @since 3.5 |
| */ |
| public class JavaAllCompletionProposalComputer extends JavaTypeCompletionProposalComputer { |
| |
| @Override |
| protected CompletionProposalCollector createCollector(JavaContentAssistInvocationContext context) { |
| CompletionProposalCollector collector= super.createCollector(context); |
| collector.setIgnored(CompletionProposal.ANNOTATION_ATTRIBUTE_REF, false); |
| collector.setIgnored(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, false); |
| collector.setIgnored(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, false); |
| collector.setIgnored(CompletionProposal.FIELD_REF, false); |
| collector.setIgnored(CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER, false); |
| collector.setIgnored(CompletionProposal.KEYWORD, false); |
| collector.setIgnored(CompletionProposal.LABEL_REF, false); |
| collector.setIgnored(CompletionProposal.LOCAL_VARIABLE_REF, false); |
| collector.setIgnored(CompletionProposal.METHOD_DECLARATION, false); |
| collector.setIgnored(CompletionProposal.METHOD_NAME_REFERENCE, false); |
| collector.setIgnored(CompletionProposal.METHOD_REF, false); |
| collector.setIgnored(CompletionProposal.CONSTRUCTOR_INVOCATION, false); |
| collector.setIgnored(CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER, false); |
| collector.setIgnored(CompletionProposal.PACKAGE_REF, false); |
| collector.setIgnored(CompletionProposal.MODULE_REF, false); |
| collector.setIgnored(CompletionProposal.MODULE_DECLARATION, false); |
| collector.setIgnored(CompletionProposal.POTENTIAL_METHOD_DECLARATION, false); |
| collector.setIgnored(CompletionProposal.VARIABLE_DECLARATION, false); |
| collector.setIgnored(CompletionProposal.TYPE_REF, false); |
| return collector; |
| } |
| |
| @Override |
| protected int guessContextInformationPosition(ContentAssistInvocationContext context) { |
| int invocationOffset= context.getInvocationOffset(); |
| int typeContext= super.guessContextInformationPosition(context); |
| int methodContext= guessMethodContextInformationPosition(context); |
| if (typeContext != invocationOffset && typeContext > methodContext) |
| return typeContext; |
| else if (methodContext != invocationOffset) |
| return methodContext; |
| else |
| return invocationOffset; |
| } |
| |
| } |