List of usage examples for org.eclipse.jdt.core CompletionProposal isConstructor
public boolean isConstructor()
From source file:at.bestsolution.fxide.jdt.editor.internal.MethodUtil.java
License:Open Source License
public MethodUtil(CompletionProposal proposal, IType type) { this.type = type; this.name = proposal.getName(); this.methodSignature = proposal.getSignature(); this.constructor = proposal.isConstructor(); this.declSignature = proposal.getDeclarationSignature(); }
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 ww .j av a 2 s . c om*/ 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;//from w ww . ja v a2s .c om 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.eclipse.flux.jdt.services.CompletionProposalDescriptionProvider.java
License:Open Source License
/** * Creates a display label for the given method proposal. The display label * consists of://from w ww.j a va2s . co m * <ul> * <li>the method name</li> * <li>the parameter list (see {@link #createParameterList(CompletionProposal)})</li> * <li>the upper bound of the return type (see {@link SignatureUtil#getUpperBound(String)})</li> * <li>the raw simple name of the declaring type</li> * </ul> * <p> * Examples: * For the <code>get(int)</code> method of a variable of type <code>List<? extends Number></code>, the following * display name is returned: <code>get(int index) Number - List</code>.<br> * For the <code>add(E)</code> method of a variable of type <code>List<? super Number></code>, the following * display name is returned: <code>add(Number o) void - List</code>.<br> * </p> * * @param methodProposal the method proposal to display * @return the display label for the given method proposal */ StringBuilder createMethodProposalLabel(CompletionProposal methodProposal) { StringBuilder description = new StringBuilder(); description.append("["); description.append("{\"value\":\""); // method name description.append(methodProposal.getName()); // parameters description.append('('); appendUnboundedParameterList(description, methodProposal); description.append(')'); // return type if (!methodProposal.isConstructor()) { // TODO remove SignatureUtil.fix83600 call when bugs are fixed char[] returnType = createTypeDisplayName(SignatureUtil .getUpperBound(Signature.getReturnType(SignatureUtil.fix83600(methodProposal.getSignature())))); description.append(RETURN_TYPE_SEPARATOR); description.append(returnType); } description.append("\"}"); description.append(","); description.append("{\"value\":\""); // declaring type description.append(QUALIFIER_SEPARATOR); String declaringType = extractDeclaringTypeFQN(methodProposal); if (methodProposal.getRequiredProposals() != null) { String qualifier = Signature.getQualifier(declaringType); if (qualifier.length() > 0) { description.append(qualifier); description.append('.'); } } declaringType = Signature.getSimpleName(declaringType); description.append(declaringType); description.append("\",\"style\":{"); description.append("\"color\":\"#AAAAAA\""); description.append("}"); description.append("}"); description.append("]"); return description; }
From source file:org.eclipse.flux.jdt.services.CompletionProposalReplacementProvider.java
License:Open Source License
private final boolean canAutomaticallyAppendSemicolon(CompletionProposal proposal) { return !proposal.isConstructor() && CharOperation.equals(new char[] { Signature.C_VOID }, Signature.getReturnType(proposal.getSignature())); }
From source file:org.eclipse.jst.jsp.ui.internal.contentassist.JSPProposalCollector.java
License:Open Source License
/** * Overridden to://from w w w .j av a 2 s . co m * - translate Java -> JSP offsets * - fix cursor-position-after * - fix mangled servlet name in display string * - remove unwanted proposals (servlet constructor) */ protected IJavaCompletionProposal createJavaCompletionProposal(CompletionProposal proposal) { JSPCompletionProposal jspProposal = null; // ignore constructor proposals (they're not relevant for our JSP proposal list) if (!proposal.isConstructor()) { int kind = proposal.getKind(); if (proposal.getKind() == CompletionProposal.TYPE_REF && JSPUIPlugin.getDefault().getPreferenceStore() .getBoolean(JSPUIPreferenceNames.AUTO_IMPORT_INSERT)) { String signature = String.valueOf(proposal.getDeclarationSignature()); String completion = String.valueOf(proposal.getCompletion()); if (completion.indexOf(signature + ".") != -1) { //$NON-NLS-1$ jspProposal = createAutoImportProposal(proposal); } } else if (kind == CompletionProposal.METHOD_REF) { jspProposal = createMethodProposal(proposal); } // default behavior if (jspProposal == null) jspProposal = createJspProposal(proposal); } return jspProposal; }
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$ }/*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.recommenders.completion.rcp.utils.ProposalUtils.java
License:Open Source License
private static Optional<IMethodName> toMethodNameFallback(CompletionProposal proposal) { if (isArrayCloneMethod(proposal)) { return Optional.of(OBJECT_CLONE); }//w w w .ja v a 2s. co m if (Constants.DEBUG) { log(LogMessages.INFO_FALLBACK_METHOD_NAME_CREATION, toLogString(proposal)); } StringBuilder builder = new StringBuilder(); // Declaring type char[] declarationSignature = proposal.getDeclarationSignature(); char[] binaryTypeSignature = getBinaryTypeSignatureCopy(declarationSignature); char[] erasedBinaryTypeSignature = Signature.getTypeErasure(binaryTypeSignature); CharOperation.replace(erasedBinaryTypeSignature, '.', '/'); builder.append(erasedBinaryTypeSignature, 0, erasedBinaryTypeSignature.length - 1); builder.append('.'); // Method name builder.append(proposal.isConstructor() ? INIT : proposal.getName()); builder.append('('); // Parameter types char[] signature = getSignature(proposal); char[][] typeParameters = Signature.getTypeParameters(declarationSignature); char[][] parameterTypes = Signature.getParameterTypes(signature); for (char[] parameterType : parameterTypes) { appendType(builder, parameterType, typeParameters); } builder.append(')'); // Return type appendType(builder, Signature.getReturnType(signature), typeParameters); String methodName = builder.toString(); try { return Optional.<IMethodName>of(VmMethodName.get(methodName)); } catch (Exception e) { log(LogMessages.ERROR_SYNTATICALLY_INCORRECT_METHOD_NAME, e, methodName, toLogString(proposal)); return absent(); } }
From source file:org.eclipse.recommenders.completion.rcp.utils.ProposalUtils.java
License:Open Source License
private static boolean isArrayCloneMethod(CompletionProposal proposal) { if (proposal.isConstructor()) { // Not a method proposal return false; }// w ww. ja va2s. c om char[] declarationSignature = proposal.getDeclarationSignature(); if (declarationSignature[0] != '[') { // Not an array return false; } if (!CharOperation.equals(TypeConstants.CLONE, proposal.getName())) { // Not named clone return false; } char[] signature = proposal.getSignature(); if (signature.length != declarationSignature.length + 2 || signature[0] != '(' || signature[1] != ')') { // Overload of real (no-args) clone method return false; } if (!CharOperation.endsWith(signature, declarationSignature)) { // Wrong return type return false; } return true; }
From source file:org.jboss.tools.vscode.java.CompletionProposalDescriptionProvider.java
License:Open Source License
/** * Creates a display label for the given method proposal. The display label * consists of:/*from w w w .j a v a2s . com*/ * <ul> * <li>the method name</li> * <li>the parameter list (see {@link #createParameterList(CompletionProposal)})</li> * <li>the upper bound of the return type (see {@link SignatureUtil#getUpperBound(String)})</li> * <li>the raw simple name of the declaring type</li> * </ul> * <p> * Examples: * For the <code>get(int)</code> method of a variable of type <code>List<? extends Number></code>, the following * display name is returned: <code>get(int index) Number - List</code>.<br> * For the <code>add(E)</code> method of a variable of type <code>List<? super Number></code>, the following * display name is returned: <code>add(Number o) void - List</code>.<br> * </p> * * @param methodProposal the method proposal to display * @return the display label for the given method proposal */ StringBuilder createMethodProposalLabel(CompletionProposal methodProposal) { StringBuilder description = new StringBuilder(); // method name description.append(methodProposal.getName()); // parameters description.append('('); appendUnboundedParameterList(description, methodProposal); description.append(')'); // return type if (!methodProposal.isConstructor()) { // TODO remove SignatureUtil.fix83600 call when bugs are fixed char[] returnType = createTypeDisplayName(SignatureUtil .getUpperBound(Signature.getReturnType(SignatureUtil.fix83600(methodProposal.getSignature())))); description.append(RETURN_TYPE_SEPARATOR); description.append(returnType); } // declaring type description.append(QUALIFIER_SEPARATOR); String declaringType = extractDeclaringTypeFQN(methodProposal); if (methodProposal.getRequiredProposals() != null) { String qualifier = Signature.getQualifier(declaringType); if (qualifier.length() > 0) { description.append(qualifier); description.append('.'); } } declaringType = Signature.getSimpleName(declaringType); description.append(declaringType); return description; }