Example usage for org.eclipse.jdt.core CompletionProposal KEYWORD

List of usage examples for org.eclipse.jdt.core CompletionProposal KEYWORD

Introduction

In this page you can find the example usage for org.eclipse.jdt.core CompletionProposal KEYWORD.

Prototype

int KEYWORD

To view the source code for org.eclipse.jdt.core CompletionProposal KEYWORD.

Click Source Link

Document

Completion is a keyword.

Usage

From source file:com.google.gwt.eclipse.core.uibinder.contentassist.computers.ProposalGeneratingCompletionRequestor.java

License:Open Source License

private void ignoreAll() {
    int[] ignoredKinds = new int[] { CompletionProposal.ANONYMOUS_CLASS_DECLARATION,
            CompletionProposal.FIELD_REF, CompletionProposal.KEYWORD, CompletionProposal.LABEL_REF,
            CompletionProposal.LOCAL_VARIABLE_REF, CompletionProposal.METHOD_REF,
            CompletionProposal.METHOD_DECLARATION, CompletionProposal.PACKAGE_REF, CompletionProposal.TYPE_REF,
            CompletionProposal.VARIABLE_DECLARATION, CompletionProposal.POTENTIAL_METHOD_DECLARATION,
            CompletionProposal.METHOD_NAME_REFERENCE, CompletionProposal.ANNOTATION_ATTRIBUTE_REF,
            CompletionProposal.JAVADOC_FIELD_REF, CompletionProposal.JAVADOC_METHOD_REF,
            CompletionProposal.JAVADOC_TYPE_REF, CompletionProposal.JAVADOC_VALUE_REF,
            CompletionProposal.JAVADOC_PARAM_REF, CompletionProposal.JAVADOC_BLOCK_TAG,
            CompletionProposal.JAVADOC_INLINE_TAG, CompletionProposal.FIELD_IMPORT,
            CompletionProposal.METHOD_IMPORT, CompletionProposal.TYPE_IMPORT };

    for (int kind : ignoredKinds) {
        setIgnored(kind, true);//from  ww  w.jav a 2 s.c o  m
    }
}

From source file:org.codehaus.groovy.eclipse.codeassist.processors.ModifiersCompletionProcessor.java

License:Apache License

/**
 * @param keyword//  w  w w  .ja  va 2s .c  o  m
 * @param context
 * @return
 */
private ICompletionProposal createProposal(String keyword, ContentAssistContext context) {
    InternalCompletionProposal proposal = createProposal(CompletionProposal.KEYWORD,
            context.completionLocation);
    proposal.setName(keyword.toCharArray());
    proposal.setCompletion(keyword.toCharArray());
    proposal.setReplaceRange(context.completionLocation - context.completionExpression.length(),
            context.completionEnd);

    String completion = String.valueOf(proposal.getCompletion());
    int start = proposal.getReplaceStart();
    int length = context.completionExpression.length();
    StyledString label = createDisplayString(proposal);
    int relevance = Relevance.LOWEST.getRelevance(5);
    JavaCompletionProposal jcp = new JavaCompletionProposal(completion, start, length, null, label, relevance);
    jcp.setImage(getImage(proposal));
    return jcp;
}

From source file:org.eclim.plugin.jdt.command.complete.CodeCompleteCommand.java

License:Open Source License

/**
 * Create a CodeCompleteResult from the supplied CompletionProposal.
 *
 * @param proposal The proposal./*from  w w  w .  j  a  v  a 2s  .c o m*/
 *
 * @return The result.
 */
protected CodeCompleteResult createCompletionResult(IJavaCompletionProposal proposal) throws Exception {
    String completion = null;
    String menu = proposal.getDisplayString();

    int kind = -1;
    if (proposal instanceof JavaCompletionProposal) {
        JavaCompletionProposal lazy = (JavaCompletionProposal) proposal;
        completion = lazy.getReplacementString();
    } else if (proposal instanceof LazyJavaCompletionProposal) {
        LazyJavaCompletionProposal lazy = (LazyJavaCompletionProposal) proposal;
        completion = lazy.getReplacementString();
        Method getProposal = LazyJavaCompletionProposal.class.getDeclaredMethod("getProposal");
        getProposal.setAccessible(true);
        CompletionProposal cproposal = (CompletionProposal) getProposal.invoke(lazy);
        if (cproposal != null) {
            kind = cproposal.getKind();
        }
    }

    switch (kind) {
    case CompletionProposal.METHOD_REF:
        int length = completion.length();
        if (length == 0) {
            break;
        }
        if (completion.charAt(length - 1) == ';') {
            completion = completion.substring(0, length - 1);
            length--;
        }
        // trim off the trailing paren if the method takes any arguments.
        // Note: using indexOf instead of lastIndexOf to account for groovy
        // completion menu text.
        if (menu.indexOf(')') > menu.indexOf('(') + 1 && completion.charAt(length - 1) == ')') {
            completion = completion.substring(0, completion.lastIndexOf('(') + 1);
        }
        break;
    case CompletionProposal.TYPE_REF:
        // trim off package info.
        int idx = completion.lastIndexOf('.');
        if (idx != -1) {
            completion = completion.substring(idx + 1);
        }
        break;
    }

    if ("class".equals(completion)) {
        kind = CompletionProposal.KEYWORD;
    }

    String type = "";
    switch (kind) {
    case CompletionProposal.TYPE_REF:
        type = CodeCompleteResult.TYPE;
        break;
    case CompletionProposal.FIELD_REF:
    case CompletionProposal.LOCAL_VARIABLE_REF:
        type = CodeCompleteResult.VARIABLE;
        type = CodeCompleteResult.VARIABLE;
        break;
    case CompletionProposal.METHOD_REF:
        type = CodeCompleteResult.FUNCTION;
        break;
    case CompletionProposal.KEYWORD:
        type = CodeCompleteResult.KEYWORD;
        break;
    }

    // TODO:
    // hopefully Bram will take my advice to add lazy retrieval of
    // completion 'info' so that I can provide this text without the
    // overhead involved with retrieving it for every completion regardless
    // of whether the user ever views it.
    /*return new CodeCompleteResult(
        kind, completion, menu, proposal.getAdditionalProposalInfo());*/
    return new CodeCompleteResult(completion, menu, menu, type);
}

From source file:org.eclim.plugin.jdt.command.complete.CompletionComparator.java

License:Open Source License

/**
 * {@inheritDoc}//from w  ww.j av a2s  . co m
 */
public int compare(CodeCompleteResult o1, CodeCompleteResult o2) {
    if (o1 == null && o2 == null) {
        return 0;
    } else if (o2 == null) {
        return -1;
    } else if (o1 == null) {
        return 1;
    }

    // push keywords to the end.
    if (o1.getType() != CompletionProposal.KEYWORD && o2.getType() != CompletionProposal.KEYWORD) {
        int kind = o1.getType() - o2.getType();
        if (kind != 0) {
            return kind;
        }
    } else if (o1.getType() == CompletionProposal.KEYWORD && o2.getType() != CompletionProposal.KEYWORD) {
        return 1;
    } else if (o2.getType() == CompletionProposal.KEYWORD && o1.getType() != CompletionProposal.KEYWORD) {
        return -1;
    }

    return Collator.getInstance(Locale.US).compare(new String(o1.getCompletion()),
            new String(o2.getCompletion()));
}

From source file:org.eclim.plugin.jdt.command.complete.CompletionProposalCollector.java

License:Open Source License

public void accept(CompletionProposal proposal) {
    try {/*from  w w w. j a  va2  s. c o m*/
        if (isFiltered(proposal)) {
            return;
        }

        if (proposal.getKind() != CompletionProposal.POTENTIAL_METHOD_DECLARATION) {
            switch (proposal.getKind()) {
            case CompletionProposal.KEYWORD:
            case CompletionProposal.PACKAGE_REF:
            case CompletionProposal.TYPE_REF:
            case CompletionProposal.FIELD_REF:
            case CompletionProposal.METHOD_REF:
            case CompletionProposal.METHOD_NAME_REFERENCE:
            case CompletionProposal.METHOD_DECLARATION:
            case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
            case CompletionProposal.LABEL_REF:
            case CompletionProposal.LOCAL_VARIABLE_REF:
            case CompletionProposal.VARIABLE_DECLARATION:
            case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
            case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
                proposals.add(proposal);
                super.accept(proposal);
                break;
            default:
                // do nothing
            }
        }
    } catch (IllegalArgumentException e) {
        // all signature processing method may throw IAEs
        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=84657
        // don't abort, but log and show all the valid proposals
        JavaPlugin.log(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.OK,
                "Exception when processing proposal for: " + String.valueOf(proposal.getCompletion()), e));
    }
}

From source file:org.eclipse.flux.jdt.services.CompletionProposalDescriptionProvider.java

License:Open Source License

/**
 * Creates a display label with styles for a given <code>CompletionProposal</code>.
 *
 * @param proposal the completion proposal to create the display label for
 * @return the display label for <code>proposal</code>
 *
 * @since 3.4/* w w  w. ja va 2 s .  co m*/
 */
public StringBuilder createDescription(CompletionProposal proposal) {
    switch (proposal.getKind()) {
    case CompletionProposal.METHOD_NAME_REFERENCE:
    case CompletionProposal.METHOD_REF:
    case CompletionProposal.CONSTRUCTOR_INVOCATION:
    case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
        if (fContext != null && fContext.isInJavadoc())
            return createJavadocMethodProposalLabel(proposal);
        return createMethodProposalLabel(proposal);
    case CompletionProposal.METHOD_DECLARATION:
        return createOverrideMethodProposalLabel(proposal);
    case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
    case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION:
        return createAnonymousTypeLabel(proposal);
    case CompletionProposal.TYPE_REF:
        return createTypeProposalLabel(proposal);
    case CompletionProposal.JAVADOC_TYPE_REF:
        return createJavadocTypeProposalLabel(proposal);
    case CompletionProposal.JAVADOC_FIELD_REF:
    case CompletionProposal.JAVADOC_VALUE_REF:
    case CompletionProposal.JAVADOC_BLOCK_TAG:
    case CompletionProposal.JAVADOC_INLINE_TAG:
    case CompletionProposal.JAVADOC_PARAM_REF:
        return createJavadocSimpleProposalLabel(proposal);
    case CompletionProposal.JAVADOC_METHOD_REF:
        return createJavadocMethodProposalLabel(proposal);
    case CompletionProposal.PACKAGE_REF:
        return createPackageProposalLabel(proposal);
    case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
    case CompletionProposal.FIELD_REF:
    case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
        return createLabelWithTypeAndDeclaration(proposal);
    case CompletionProposal.LOCAL_VARIABLE_REF:
    case CompletionProposal.VARIABLE_DECLARATION:
        return createSimpleLabelWithType(proposal);
    case CompletionProposal.KEYWORD:
    case CompletionProposal.LABEL_REF:
        return createSimpleLabel(proposal);
    default:
        Assert.isTrue(false);
        return null;
    }
}

From source file:org.eclipse.objectteams.otdt.tests.model.CompletionTestsRequestor2.java

License:Open Source License

protected StringBuffer printProposal(CompletionProposal proposal, int tab, StringBuffer buffer) {
    for (int i = 0; i < tab; i++) {
        buffer.append("   "); //$NON-NLS-1$
    }/*from   w  w  w.j  a va  2 s  .c  o  m*/
    buffer.append(getElementName(proposal));
    buffer.append('[');
    switch (proposal.getKind()) {
    case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
        buffer.append("ANONYMOUS_CLASS_DECLARATION"); //$NON-NLS-1$
        break;
    case CompletionProposal.FIELD_REF:
        buffer.append("FIELD_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
        buffer.append("FIELD_REF_WITH_CASTED_RECEIVER"); //$NON-NLS-1$
        break;
    case CompletionProposal.KEYWORD:
        buffer.append("KEYWORD"); //$NON-NLS-1$
        break;
    case CompletionProposal.LABEL_REF:
        buffer.append("LABEL_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.LOCAL_VARIABLE_REF:
        buffer.append("LOCAL_VARIABLE_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.METHOD_DECLARATION:
        buffer.append("METHOD_DECLARATION"); //$NON-NLS-1$
        if (proposal.isConstructor()) {
            buffer.append("<CONSTRUCTOR>"); //$NON-NLS-1$
        }
        break;
    case CompletionProposal.METHOD_REF:
        buffer.append("METHOD_REF"); //$NON-NLS-1$
        if (proposal.isConstructor()) {
            buffer.append("<CONSTRUCTOR>"); //$NON-NLS-1$
        }
        break;
    case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
        buffer.append("METHOD_REF_WITH_CASTED_RECEIVER"); //$NON-NLS-1$
        if (proposal.isConstructor()) {
            buffer.append("<CONSTRUCTOR>"); //$NON-NLS-1$
        }
        break;
    case CompletionProposal.PACKAGE_REF:
        buffer.append("PACKAGE_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.TYPE_REF:
        buffer.append("TYPE_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.VARIABLE_DECLARATION:
        buffer.append("VARIABLE_DECLARATION"); //$NON-NLS-1$
        break;
    case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
        buffer.append("POTENTIAL_METHOD_DECLARATION"); //$NON-NLS-1$
        break;
    case CompletionProposal.METHOD_NAME_REFERENCE:
        //{ObjectTeams: original "METHOD_IMPORT" is now misleading (used for rhs short method spec, too)            
        buffer.append("METHOD_NAME_REF"); //$NON-NLS-1$
        // SH}            
        break;
    //{ObjectTeams: new kinds:            
    case CompletionProposal.OT_METHOD_SPEC:
        buffer.append("METHOD_SPEC"); //$NON-NLS-1$
        break;
    case CompletionProposal.OT_FIELD_SPEC:
        buffer.append("FIELD_SPEC"); //$NON-NLS-1$
        break;
    case CompletionProposal.OT_CALLOUT_GET:
        buffer.append("CALLOUT_GET"); //$NON-NLS-1$
        break;
    case CompletionProposal.OT_CALLOUT_SET:
        buffer.append("CALLOUT_SET"); //$NON-NLS-1$
        break;
    case CompletionProposal.OT_CALLOUT_DECLARATION:
        buffer.append("CALLOUT_DECLARATION"); //$NON-NLS-1$
        break;
    case CompletionProposal.OT_CALLOUT_OVERRIDE_DECLARATION:
        buffer.append("CALLOUT_OVERRIDE_DECLARATION"); //$NON-NLS-1$
        break;
    case CompletionProposal.OT_CALLIN_DECLARATION:
        buffer.append("CALLIN_DECLARATION"); //$NON-NLS-1$
        break;
    // SH}
    case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
        buffer.append("ANNOTATION_ATTRIBUTE_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_BLOCK_TAG:
        buffer.append("JAVADOC_BLOCK_TAG"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_INLINE_TAG:
        buffer.append("JAVADOC_INLINE_TAG"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_FIELD_REF:
        buffer.append("JAVADOC_FIELD_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_METHOD_REF:
        buffer.append("JAVADOC_METHOD_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_TYPE_REF:
        buffer.append("JAVADOC_TYPE_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_PARAM_REF:
        buffer.append("JAVADOC_PARAM_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.JAVADOC_VALUE_REF:
        buffer.append("JAVADOC_VALUE_REF"); //$NON-NLS-1$
        break;
    case CompletionProposal.FIELD_IMPORT:
        buffer.append("FIELD_IMPORT"); //$NON-NLS-1$
        break;
    case CompletionProposal.METHOD_IMPORT:
        buffer.append("METHOD_IMPORT"); //$NON-NLS-1$
        break;
    case CompletionProposal.TYPE_IMPORT:
        buffer.append("TYPE_IMPORT"); //$NON-NLS-1$
        break;
    default:
        buffer.append("PROPOSAL"); //$NON-NLS-1$
        break;

    }
    buffer.append("]{");
    buffer.append(proposal.getCompletion() == null ? NULL_LITERAL : proposal.getCompletion());
    buffer.append(", ");
    buffer.append(
            proposal.getDeclarationSignature() == null ? NULL_LITERAL : proposal.getDeclarationSignature());
    buffer.append(", ");
    buffer.append(proposal.getSignature() == null ? NULL_LITERAL : proposal.getSignature());

    char[] receiverSignature = proposal.getReceiverSignature();
    if (receiverSignature != null) {
        buffer.append(", ");
        buffer.append(receiverSignature);
    }

    if (this.showUniqueKeys) {
        buffer.append(", ");
        buffer.append(proposal.getDeclarationKey() == null ? NULL_LITERAL : proposal.getDeclarationKey());
        buffer.append(", ");
        buffer.append(proposal.getKey() == null ? NULL_LITERAL : proposal.getKey());
    }
    buffer.append(", ");
    buffer.append(proposal.getName() == null ? NULL_LITERAL : proposal.getName());
    if (this.showParameterNames) {
        char[][] parameterNames = proposal.findParameterNames(null);
        buffer.append(", ");
        if (parameterNames == null || parameterNames.length <= 0) {
            buffer.append(NULL_LITERAL);
        } else {
            buffer.append("(");
            for (int i = 0; i < parameterNames.length; i++) {
                if (i > 0)
                    buffer.append(", ");
                buffer.append(parameterNames[i]);
            }
            buffer.append(")");
        }
    }

    if (this.showPositions) {
        buffer.append(", ");
        if (this.showTokenPositions || receiverSignature != null)
            buffer.append("replace");
        buffer.append("[");
        buffer.append(proposal.getReplaceStart());
        buffer.append(", ");
        buffer.append(proposal.getReplaceEnd());
        buffer.append("]");
    }
    if (this.showTokenPositions) {
        buffer.append(", token[");
        buffer.append(proposal.getTokenStart());
        buffer.append(", ");
        buffer.append(proposal.getTokenEnd());
        buffer.append("]");
    }
    if (this.showPositions && receiverSignature != null) {
        buffer.append(", receiver[");
        buffer.append(proposal.getReceiverStart());
        buffer.append(", ");
        buffer.append(proposal.getReceiverEnd());
        buffer.append("]");
    }
    buffer.append(", ");
    buffer.append(proposal.getRelevance());
    buffer.append('}');
    if (this.showMissingTypes) {
        CompletionProposal[] requiredProposals = proposal.getRequiredProposals();
        if (requiredProposals != null) {
            int length = requiredProposals.length;
            System.arraycopy(requiredProposals, 0, requiredProposals = new CompletionProposal[length], 0,
                    length);
            quickSort(requiredProposals, 0, length - 1);
            for (int i = 0; i < length; i++) {
                buffer.append('\n');
                printProposal(requiredProposals[i], tab + 1, buffer);
            }
        }
    }
    return buffer;
}

From source file:org.eclipse.objectteams.otdt.tests.model.CompletionTestsRequestor2.java

License:Open Source License

protected String getElementName(CompletionProposal proposal) {
    switch (proposal.getKind()) {
    case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
        return new String(Signature.getSignatureSimpleName(proposal.getDeclarationSignature()));
    case CompletionProposal.TYPE_REF:
    case CompletionProposal.TYPE_IMPORT:
    case CompletionProposal.JAVADOC_TYPE_REF:
        return new String(Signature.getSignatureSimpleName(proposal.getSignature()));
    case CompletionProposal.FIELD_REF:
    case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.KEYWORD:
    case CompletionProposal.LABEL_REF:
    case CompletionProposal.LOCAL_VARIABLE_REF:
    case CompletionProposal.METHOD_REF:
    case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.METHOD_DECLARATION:
    case CompletionProposal.VARIABLE_DECLARATION:
    case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
    case CompletionProposal.METHOD_NAME_REFERENCE:
        //{ObjectTeams: new kinds:
    case CompletionProposal.OT_METHOD_SPEC:
    case CompletionProposal.OT_FIELD_SPEC:
    case CompletionProposal.OT_CALLOUT_GET:
    case CompletionProposal.OT_CALLOUT_SET:
    case CompletionProposal.OT_CALLOUT_DECLARATION:
    case CompletionProposal.OT_CALLOUT_OVERRIDE_DECLARATION:
    case CompletionProposal.OT_CALLIN_DECLARATION:
        // SH}/* ww  w.j  av a2 s  .c  o  m*/
    case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
    case CompletionProposal.JAVADOC_BLOCK_TAG:
    case CompletionProposal.JAVADOC_INLINE_TAG:
    case CompletionProposal.JAVADOC_FIELD_REF:
    case CompletionProposal.JAVADOC_METHOD_REF:
    case CompletionProposal.JAVADOC_PARAM_REF:
    case CompletionProposal.JAVADOC_VALUE_REF:
    case CompletionProposal.FIELD_IMPORT:
    case CompletionProposal.METHOD_IMPORT:
        return new String(proposal.getName());
    case CompletionProposal.PACKAGE_REF:
        return new String(proposal.getDeclarationSignature());
    }
    return "";
}

From source file:org.hibernate.eclipse.hqleditor.HibernateResultCollector.java

License:Open Source License

public void setAccepts(boolean types, boolean packages, boolean classes, boolean interfaces, boolean fields,
        boolean methods) {
    settings = new Settings();
    settings.acceptTypes = types;/*from  w w  w . j  av a  2 s .com*/
    settings.acceptPackages = packages;
    settings.acceptClasses = classes;
    settings.acceptInterfaces = interfaces;
    settings.acceptFields = fields;
    settings.acceptMethods = methods;

    setIgnored(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, true);
    setIgnored(CompletionProposal.FIELD_REF, !isAcceptFields());
    setIgnored(CompletionProposal.KEYWORD, true);
    setIgnored(CompletionProposal.LABEL_REF, true);
    setIgnored(CompletionProposal.LOCAL_VARIABLE_REF, true);
    setIgnored(CompletionProposal.METHOD_DECLARATION, true);
    setIgnored(CompletionProposal.METHOD_NAME_REFERENCE, true); // maybe true to handle properties ?
    setIgnored(CompletionProposal.METHOD_REF, true); // maybe true to handle properties ?
    setIgnored(CompletionProposal.PACKAGE_REF, !isAcceptPackages());
    setIgnored(CompletionProposal.POTENTIAL_METHOD_DECLARATION, true);
    setIgnored(CompletionProposal.TYPE_REF, !(isAcceptClasses() || isAcceptInterfaces())); // decide during completion if accepted truly
    setIgnored(CompletionProposal.VARIABLE_DECLARATION, true);
}

From source file:org.jboss.tools.vscode.java.internal.CompletionProposalDescriptionProvider.java

License:Open Source License

/**
 * Updates the description fields of the item. 
 *  //from   w  ww. ja  v a  2  s  .c  o m
 * @param proposal
 * @param item
 */
public void updateDescription(CompletionProposal proposal, CompletionItem item) {
    switch (proposal.getKind()) {
    case CompletionProposal.METHOD_NAME_REFERENCE:
    case CompletionProposal.METHOD_REF:
    case CompletionProposal.CONSTRUCTOR_INVOCATION:
    case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
        if (fContext != null && fContext.isInJavadoc()) {
            createJavadocMethodProposalLabel(proposal, item);
            break;
        }
        createMethodProposalLabel(proposal, item);
        break;
    case CompletionProposal.METHOD_DECLARATION:
        createOverrideMethodProposalLabel(proposal, item);
        break;
    case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
    case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION:
        createAnonymousTypeLabel(proposal, item);
        break;
    case CompletionProposal.TYPE_REF:
        createTypeProposalLabel(proposal, item);
        break;
    case CompletionProposal.JAVADOC_TYPE_REF:
        createJavadocTypeProposalLabel(proposal, item);
        break;
    case CompletionProposal.JAVADOC_FIELD_REF:
    case CompletionProposal.JAVADOC_VALUE_REF:
    case CompletionProposal.JAVADOC_BLOCK_TAG:
    case CompletionProposal.JAVADOC_INLINE_TAG:
    case CompletionProposal.JAVADOC_PARAM_REF:
        createJavadocSimpleProposalLabel(proposal, item);
        break;
    case CompletionProposal.JAVADOC_METHOD_REF:
        createJavadocMethodProposalLabel(proposal, item);
        break;
    case CompletionProposal.PACKAGE_REF:
        createPackageProposalLabel(proposal, item);
        break;
    case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
    case CompletionProposal.FIELD_REF:
    case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
        createLabelWithTypeAndDeclaration(proposal, item);
        break;
    case CompletionProposal.LOCAL_VARIABLE_REF:
    case CompletionProposal.VARIABLE_DECLARATION:
        createSimpleLabelWithType(proposal, item);
        break;
    case CompletionProposal.KEYWORD:
    case CompletionProposal.LABEL_REF:
        item.setLabel(createSimpleLabel(proposal).toString());
        break;
    default:
        Assert.isTrue(false);
    }
}