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

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

Introduction

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

Prototype

public int getRelevance() 

Source Link

Document

Returns the relative relevance rating of this proposal.

Usage

From source file:com.amashchenko.eclipse.strutsclipse.java.SimpleJavaCompletionProposal.java

License:Apache License

public SimpleJavaCompletionProposal(CompletionProposal proposal, JavaContentAssistInvocationContext context,
        Image img) {/*from w  w w .j  ava 2s  . co m*/
    if (CompletionProposal.METHOD_REF == proposal.getKind()) {
        this.replacementString = String.valueOf(proposal.getName());
    } else {
        this.replacementString = String.valueOf(proposal.getCompletion());
    }
    this.displayString = context.getLabelProvider().createLabel(proposal);
    this.relevance = proposal.getRelevance();
    this.image = img;
}

From source file:com.microsoft.javapkgsrv.JavaParser.java

License:MIT License

private AutocompleteResponse.Completion translateToCompletion(CompletionProposal proposal) {
    AutocompleteResponse.Completion.Builder builder = AutocompleteResponse.Completion.newBuilder()
            .setKind(AutocompleteResponse.Completion.CompletionKind.valueOf(proposal.getKind()))
            .setIsConstructor(proposal.isConstructor())
            .setCompletionText(String.copyValueOf(proposal.getCompletion())).setFlags(proposal.getFlags())
            .setRelevance(proposal.getRelevance()).setReplaceStart(proposal.getReplaceStart())
            .setReplaceEnd(proposal.getReplaceEnd());

    char[] sig = proposal.getSignature();

    if (sig != null) {
        if (proposal.getKind() == CompletionProposal.METHOD_REF
                || proposal.getKind() == CompletionProposal.JAVADOC_METHOD_REF)
            builder.setSignature(new String(Signature.toCharArray(sig, proposal.getName(), null, false, true)));
        else/* w w  w.j a  va2 s  .  c  o m*/
            builder.setSignature(new String(Signature.toCharArray(sig)));
    }
    char[] name = proposal.getName();
    if (name == null)
        builder.setName(builder.getCompletionText());
    else
        builder.setName(String.copyValueOf(name));
    return builder.build();
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java

License:Open Source License

/********************************************************************************/

static void outputCompletion(CompletionProposal cp, IvyXmlWriter xw) {
    xw.begin("COMPLETION");
    fieldValue(xw, "ACCESSIBILITY", cp.getAccessibility(), accessibility_types);
    if (cp.isConstructor())
        xw.field("CONSTRUCTOR", true);
    xw.field("TEXT", cp.getCompletion());
    xw.field("INDEX", cp.getCompletionLocation());
    xw.field("DECLKEY", cp.getDeclarationKey());
    switch (cp.getKind()) {
    case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
    case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
    case CompletionProposal.FIELD_IMPORT:
    case CompletionProposal.FIELD_REF:
    case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.METHOD_IMPORT:
    case CompletionProposal.METHOD_REF:
    case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.METHOD_DECLARATION:
    case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
        xw.field("DECLSIGN", cp.getDeclarationSignature());
        break;/*  w w  w  . j a v a 2s .  c o m*/
    case CompletionProposal.PACKAGE_REF:
    case CompletionProposal.TYPE_IMPORT:
    case CompletionProposal.TYPE_REF:
        xw.field("DOTNAME", cp.getDeclarationSignature());
        break;
    }
    fieldFlags(xw, "ACCESS", cp.getFlags(), access_flags);
    xw.field("FLAGS", cp.getFlags());
    xw.field("KEY", cp.getKey());
    xw.field("NAME", cp.getName());
    xw.field("RELEVANCE", cp.getRelevance());
    xw.field("REPLACE_START", cp.getReplaceStart());
    xw.field("REPLACE_END", cp.getReplaceEnd());
    xw.field("SIGNATURE", cp.getSignature());
    xw.field("TOKEN_START", cp.getTokenStart());
    xw.field("TOKEN_END", cp.getTokenEnd());
    fieldValue(xw, "KIND", cp.getKind(), completion_types);
    if (cp instanceof ICompletionProposalExtension4) {
        ICompletionProposalExtension4 icp4 = (ICompletionProposalExtension4) cp;
        xw.field("AUTO", icp4.isAutoInsertable());
    }

    if (CompletionFlags.isStaticImport(cp.getAdditionalFlags()))
        xw.field("STATICIMPORT", true);

    if (cp.getKind() == CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER
            || cp.getKind() == CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER) {
        xw.field("RECEIVER_SIGN", cp.getReceiverSignature());
        xw.field("RECEIVER_START", cp.getReceiverStart());
        xw.field("RECEIVER_END", cp.getReceiverEnd());
    }
    xw.field("RCVR", cp.getReceiverSignature());

    xw.cdataElement("DESCRIPTION", cp.toString());

    CompletionProposal[] rq = cp.getRequiredProposals();
    if (rq != null) {
        xw.begin("REQUIRED");
        for (CompletionProposal xcp : rq)
            outputCompletion(xcp, xw);
        xw.end("REQUIRED");
    }

    xw.end("COMPLETION");
}

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

License:Apache License

/**
 * @param offset/*  w ww .ja  va 2 s .c o  m*/
 * @param replaceLength
 * @param context
 * @param proposals
 * @param nameType
 */
private ICompletionProposal createProposal(String replaceName, ClassNode type) {
    CompletionProposal proposal = CompletionProposal.create(CompletionProposal.LOCAL_VARIABLE_REF, offset);
    proposal.setCompletion(replaceName.toCharArray());
    proposal.setReplaceRange(offset - replaceLength, getContext().completionEnd);
    proposal.setSignature(ProposalUtils.createTypeSignature(type));

    proposal.setRelevance(Relevance.HIGH.getRelavance());
    LazyJavaCompletionProposal completion = new LazyJavaCompletionProposal(proposal, javaContext);
    completion.setRelevance(proposal.getRelevance());
    return completion;
}

From source file:org.codehaus.groovy.eclipse.codeassist.proposals.GroovyJavaFieldCompletionProposal.java

License:Apache License

public GroovyJavaFieldCompletionProposal(CompletionProposal proposal, Image image, StyledString displayString) {
    super(String.valueOf(proposal.getName()), proposal.getReplaceStart(),
            proposal.getReplaceEnd() - proposal.getReplaceStart(), image, displayString,
            proposal.getRelevance());
    this.proposal = proposal;
    this.setRelevance(proposal.getRelevance());
    this.setTriggerCharacters(ProposalUtils.VAR_TRIGGER);
}

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

License:Open Source License

protected JSONArray computeContentAssist(String username, String resourcePath, int offset, String prefix)
        throws JSONException {
    final List<CompletionProposal> proposals = new ArrayList<CompletionProposal>();
    final CompletionContext[] completionContextParam = new CompletionContext[] { null };

    ICompilationUnit liveEditUnit = liveEditUnits.getLiveEditUnit(username, resourcePath);
    try {//from w  ww . jav a 2s.  c  o m
        if (liveEditUnit != null) {
            CompletionRequestor collector = new CompletionRequestor() {
                @Override
                public void accept(CompletionProposal proposal) {
                    proposals.add(proposal);
                }

                @Override
                public void acceptContext(CompletionContext context) {
                    super.acceptContext(context);
                    completionContextParam[0] = context;
                }

            };

            // Allow completions for unresolved types - since 3.3
            collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.TYPE_REF,
                    true);
            collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.TYPE_IMPORT,
                    true);
            collector.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT,
                    true);

            collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_REF,
                    true);
            collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.TYPE_IMPORT,
                    true);
            collector.setAllowsRequiredProposals(CompletionProposal.METHOD_REF,
                    CompletionProposal.METHOD_IMPORT, true);

            collector.setAllowsRequiredProposals(CompletionProposal.CONSTRUCTOR_INVOCATION,
                    CompletionProposal.TYPE_REF, true);

            collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION,
                    CompletionProposal.TYPE_REF, true);
            collector.setAllowsRequiredProposals(CompletionProposal.ANONYMOUS_CLASS_DECLARATION,
                    CompletionProposal.TYPE_REF, true);

            collector.setAllowsRequiredProposals(CompletionProposal.TYPE_REF, CompletionProposal.TYPE_REF,
                    true);

            liveEditUnit.codeComplete(offset, collector, new NullProgressMonitor());
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }

    List<JSONObject> jsonProposals = new ArrayList<JSONObject>(proposals.size());
    CompletionContext completionContext = completionContextParam[0];
    for (CompletionProposal proposal : proposals) {
        JSONObject jsonDescription = getDescription(proposal, completionContext);
        ProposalReplcamentInfo replacementInfo = new CompletionProposalReplacementProvider(liveEditUnit,
                proposal, completionContext, offset, prefix).createReplacement();

        JSONObject jsonProposal = new JSONObject();
        jsonProposal.put("description", jsonDescription);
        jsonProposal.put("proposal", replacementInfo.replacement);
        int initOffset = offset - prefix.length();
        if (replacementInfo.extraChanges != null) {
            jsonProposal.put("additionalEdits", Utils.editsToJsonArray(replacementInfo.extraChanges));
            initOffset += Utils.getOffsetAdjustment(replacementInfo.extraChanges, initOffset);
        }
        if (replacementInfo.positions != null && !replacementInfo.positions.isEmpty()) {
            jsonProposal.put("positions", getPositions(replacementInfo.positions, initOffset));
        }
        jsonProposal.put("escapePosition", initOffset + replacementInfo.replacement.length());
        jsonProposal.put("style", "attributedString");
        jsonProposal.put("replace", true);
        jsonProposal.put("relevance", proposal.getRelevance());

        jsonProposals.add(jsonProposal);
    }

    Collections.sort(jsonProposals, new Comparator<JSONObject>() {
        @Override
        public int compare(JSONObject o1, JSONObject o2) {
            try {
                int diff = o2.getInt("relevance") - o1.getInt("relevance");
                if (diff == 0) {
                    JSONArray nameDescription1 = o1.getJSONObject("description").getJSONArray("segments");
                    JSONArray nameDescription2 = o2.getJSONObject("description").getJSONArray("segments");
                    StringBuilder nameBuffer1 = new StringBuilder();
                    for (int i = 0; i < nameDescription1.length(); i++) {
                        nameBuffer1.append(nameDescription1.getJSONObject(i).getString("value"));
                    }
                    StringBuilder nameBuffer2 = new StringBuilder();
                    for (int i = 0; i < nameDescription2.length(); i++) {
                        nameBuffer2.append(nameDescription2.getJSONObject(i).getString("value"));
                    }
                    return nameBuffer1.toString().compareTo(nameBuffer2.toString());
                } else {
                    return diff;
                }
            } catch (JSONException e) {
                return -1;
            }
        }
    });

    return new JSONArray(jsonProposals);
}

From source file:org.eclipse.objectteams.otdt.internal.ui.assist.CompletionAdaptor.OverrideRoleCompletionProposal.java

License:Open Source License

public OverrideRoleCompletionProposal(ICompilationUnit cu, CompletionProposal proposal, int length,
            StyledString displayName, Image image) {
        super(String.valueOf(proposal.getCompletion()), cu, proposal.getReplaceStart(), length, image, displayName,
                proposal.getRelevance() * R_TYPE);
        fJavaProject = cu.getJavaProject();
        fDisplayString = displayName;//from  w w w .  ja  va2 s  .  c om
        fRoleName = String.valueOf(proposal.getName());
        fModifiers = proposal.getFlags();
        fReplaceStart = proposal.getReplaceStart();
        setProposalInfo(new TypeProposalInfo(fJavaProject, proposal));
    }

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

License:Open Source License

@SuppressWarnings("unchecked")
public String getReversedResults() {
    if (this.proposalsPtr < 0)
        return "";
    Arrays.sort(this.proposals, new Comparator() {
        public int compare(Object o1, Object o2) {
            if (o1 == o2)
                return 0;
            if (o1 == null)
                return 1;
            if (o2 == null)
                return -1;
            CompletionProposal p1 = (CompletionProposal) o1;
            CompletionProposal p2 = (CompletionProposal) o2;
            int relDif = p2.getRelevance() - p1.getRelevance();
            if (relDif != 0)
                return relDif;
            String name1 = getElementName(p1);
            String name2 = getElementName(p2);
            return name1.compareTo(name2);
        }// www.ja v a 2s .c  om
    });
    return getResultsWithoutSorting();
}

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$
    }//ww  w .  j a v a  2 s .c  om
    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 int compare(CompletionProposal proposal1, CompletionProposal proposal2) {
    int relDif = proposal1.getRelevance() - proposal2.getRelevance();
    if (relDif != 0)
        return relDif;
    String name1 = getElementName(proposal1);
    String name2 = getElementName(proposal2);
    int nameDif = name1.compareTo(name2);
    if (nameDif != 0)
        return nameDif;
    int kindDif = proposal1.getKind() - proposal2.getKind();
    if (kindDif != 0)
        return kindDif;
    String completion1 = new String(proposal1.getCompletion());
    String completion2 = new String(proposal2.getCompletion());
    int completionDif = completion1.compareTo(completion2);
    if (completionDif != 0)
        return completionDif;
    char[] temp = proposal1.getSignature();
    String signature1 = temp == null ? null : new String(temp);
    temp = proposal2.getSignature();//from www.  j  a  va  2 s . c om
    String signature2 = temp == null ? null : new String(temp);
    int signatureDif = 0;
    if (signature1 != null && signature2 != null) {
        signatureDif = signature1.compareTo(signature2);
    }
    if (signatureDif != 0)
        return signatureDif;
    temp = proposal1.getDeclarationSignature();
    String declarationSignature1 = temp == null ? null : new String(temp);
    temp = proposal2.getDeclarationSignature();
    String declarationSignature2 = temp == null ? null : new String(temp);
    int declarationSignatureDif = 0;
    if (declarationSignature1 != null && declarationSignature2 != null) {
        declarationSignatureDif = declarationSignature1.compareTo(declarationSignature2);
    }
    if (declarationSignatureDif != 0)
        return declarationSignatureDif;
    return 0;
}