]> git.uio.no Git - ifi-stolz-refaktor.git/blob - case-study/jdt-before/ui/org/eclipse/jdt/internal/ui/text/java/JavaAllCompletionProposalComputer.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / jdt-before / ui / org / eclipse / jdt / internal / ui / text / java / JavaAllCompletionProposalComputer.java
1 /*******************************************************************************
2  * Copyright (c) 2008, 2011 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package org.eclipse.jdt.internal.ui.text.java;
12
13 import org.eclipse.jdt.core.CompletionProposal;
14
15 import org.eclipse.jdt.ui.text.java.CompletionProposalCollector;
16 import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext;
17 import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext;
18
19
20 /**
21  * @since 3.5
22  */
23 public class JavaAllCompletionProposalComputer extends JavaTypeCompletionProposalComputer {
24
25         @Override
26         protected CompletionProposalCollector createCollector(JavaContentAssistInvocationContext context) {
27                 CompletionProposalCollector collector= super.createCollector(context);
28                 collector.setIgnored(CompletionProposal.ANNOTATION_ATTRIBUTE_REF, false);
29                 collector.setIgnored(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, false);
30                 collector.setIgnored(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, false);
31                 collector.setIgnored(CompletionProposal.FIELD_REF, false);
32                 collector.setIgnored(CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER, false);
33                 collector.setIgnored(CompletionProposal.KEYWORD, false);
34                 collector.setIgnored(CompletionProposal.LABEL_REF, false);
35                 collector.setIgnored(CompletionProposal.LOCAL_VARIABLE_REF, false);
36                 collector.setIgnored(CompletionProposal.METHOD_DECLARATION, false);
37                 collector.setIgnored(CompletionProposal.METHOD_NAME_REFERENCE, false);
38                 collector.setIgnored(CompletionProposal.METHOD_REF, false);
39                 collector.setIgnored(CompletionProposal.CONSTRUCTOR_INVOCATION, false);
40                 collector.setIgnored(CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER, false);
41                 collector.setIgnored(CompletionProposal.PACKAGE_REF, false);
42                 collector.setIgnored(CompletionProposal.POTENTIAL_METHOD_DECLARATION, false);
43                 collector.setIgnored(CompletionProposal.VARIABLE_DECLARATION, false);
44                 collector.setIgnored(CompletionProposal.TYPE_REF, false);
45                 return collector;
46         }
47
48         @Override
49         protected int guessContextInformationPosition(ContentAssistInvocationContext context) {
50                 int invocationOffset= context.getInvocationOffset();
51                 int typeContext= super.guessContextInformationPosition(context);
52                 int methodContext= guessMethodContextInformationPosition(context);
53                 if (typeContext != invocationOffset && typeContext > methodContext)
54                         return typeContext;
55                 else if (methodContext != invocationOffset)
56                         return methodContext;
57                 else
58                         return invocationOffset;
59         }
60
61 }