Java Code Examples for org.eclipse.jdt.core.CompletionProposal#FIELD_IMPORT
The following examples show how to use
org.eclipse.jdt.core.CompletionProposal#FIELD_IMPORT .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ProposalGeneratingCompletionRequestor.java From gwt-eclipse-plugin with Eclipse Public License 1.0 | 6 votes |
protected ICompletionProposal createProposal(CompletionProposal javaProposal) { String completion = String.valueOf(javaProposal.getCompletion()); int kind = javaProposal.getKind(); if (kind == CompletionProposal.TYPE_REF) { // Make sure it is fully qualified completion = JavaContentAssistUtilities.getFullyQualifiedTypeName(javaProposal); } if (forceFullyQualifiedFieldNames && (kind == CompletionProposal.FIELD_IMPORT || kind == CompletionProposal.FIELD_REF)) { char[] decSig = javaProposal.getDeclarationSignature(); if (decSig != null && decSig.length > 2) { // declaration signatures for objects are like Ljava.lang.String;, so lop off first // and last chars completion = new String(decSig, 1, decSig.length - 2) + "." + new String(javaProposal.getCompletion()); completion = completion.replace('$', '.'); } } ICompletionProposal jdtCompletionProposal = JavaContentAssistUtilities.getJavaCompletionProposal( javaProposal, context, javaProject); return ReplacementCompletionProposal.fromExistingCompletionProposal(completion, replaceOffset, replaceLength, jdtCompletionProposal); }
Example 2
Source File: ProposalGeneratingCompletionRequestor.java From gwt-eclipse-plugin with Eclipse Public License 1.0 | 6 votes |
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); } }
Example 3
Source File: ProposalComputerFactory.java From gwt-eclipse-plugin with Eclipse Public License 1.0 | 5 votes |
/** * Creates a proposal computer for autocompleting the java classes for the * <ui:import field="___" /> */ public static IProposalComputer newUiImportFieldProposalComputer( ContentAssistRequest contentAssistRequest, IJavaProject javaProject, String packageName) { IDOMAttr attribute = XmlContentAssistUtilities.getAttribute(contentAssistRequest); if (attribute == null || attribute.getOwnerElement() == null) { return null; } // Ensure we are autocompleting an 'ui:import' element attribute if (!UiBinderConstants.UI_BINDER_IMPORT_ELEMENT_NAME.equals(attribute.getOwnerElement().getLocalName())) { return null; } // Ensure we are autocompleting the 'field' attribute if (!attribute.equals(UiBinderXmlModelUtilities.getFieldAttribute(attribute.getOwnerElement()))) { return null; } String attrValue = XmlContentAssistUtilities.getAttributeValueUsingMatchString(contentAssistRequest); CodeCompleteProposalComputer ccpc = new CodeCompleteProposalComputer( new int[] { CompletionProposal.TYPE_REF, CompletionProposal.PACKAGE_REF, CompletionProposal.FIELD_IMPORT, CompletionProposal.FIELD_REF}, javaProject, attrValue, XmlContentAssistUtilities.getAttributeValueOffset(contentAssistRequest), attrValue.length(), packageName, true); return ccpc; }
Example 4
Source File: CompletionProposalRequestor.java From java-debug with Eclipse Public License 1.0 | 4 votes |
private CompletionItemKind mapKind(final int kind) { // When a new CompletionItemKind is added, don't forget to update // SUPPORTED_KINDS switch (kind) { case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION: case CompletionProposal.CONSTRUCTOR_INVOCATION: return CompletionItemKind.Constructor; case CompletionProposal.ANONYMOUS_CLASS_DECLARATION: case CompletionProposal.TYPE_REF: return CompletionItemKind.Class; case CompletionProposal.FIELD_IMPORT: case CompletionProposal.METHOD_IMPORT: case CompletionProposal.METHOD_NAME_REFERENCE: case CompletionProposal.PACKAGE_REF: case CompletionProposal.TYPE_IMPORT: return CompletionItemKind.Module; case CompletionProposal.FIELD_REF: case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER: return CompletionItemKind.Field; case CompletionProposal.KEYWORD: return CompletionItemKind.Keyword; case CompletionProposal.LABEL_REF: return CompletionItemKind.Reference; case CompletionProposal.LOCAL_VARIABLE_REF: case CompletionProposal.VARIABLE_DECLARATION: return CompletionItemKind.Variable; case CompletionProposal.METHOD_DECLARATION: case CompletionProposal.METHOD_REF: case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER: case CompletionProposal.POTENTIAL_METHOD_DECLARATION: return CompletionItemKind.Function; // text case CompletionProposal.ANNOTATION_ATTRIBUTE_REF: case CompletionProposal.JAVADOC_BLOCK_TAG: case CompletionProposal.JAVADOC_FIELD_REF: case CompletionProposal.JAVADOC_INLINE_TAG: case CompletionProposal.JAVADOC_METHOD_REF: case CompletionProposal.JAVADOC_PARAM_REF: case CompletionProposal.JAVADOC_TYPE_REF: case CompletionProposal.JAVADOC_VALUE_REF: default: return CompletionItemKind.Text; } }
Example 5
Source File: CompletionProposalRequestor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
private CompletionItemKind mapKind(final CompletionProposal proposal) { //When a new CompletionItemKind is added, don't forget to update SUPPORTED_KINDS int kind = proposal.getKind(); int flags = proposal.getFlags(); switch (kind) { case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION: case CompletionProposal.CONSTRUCTOR_INVOCATION: return CompletionItemKind.Constructor; case CompletionProposal.ANONYMOUS_CLASS_DECLARATION: case CompletionProposal.TYPE_REF: if (Flags.isInterface(flags)) { return CompletionItemKind.Interface; } else if (Flags.isEnum(flags)) { return CompletionItemKind.Enum; } return CompletionItemKind.Class; case CompletionProposal.FIELD_IMPORT: case CompletionProposal.METHOD_IMPORT: case CompletionProposal.METHOD_NAME_REFERENCE: case CompletionProposal.PACKAGE_REF: case CompletionProposal.TYPE_IMPORT: case CompletionProposal.MODULE_DECLARATION: case CompletionProposal.MODULE_REF: return CompletionItemKind.Module; case CompletionProposal.FIELD_REF: if (Flags.isEnum(flags)) { return CompletionItemKind.EnumMember; } if (Flags.isStatic(flags) && Flags.isFinal(flags)) { return CompletionItemKind.Constant; } return CompletionItemKind.Field; case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER: return CompletionItemKind.Field; case CompletionProposal.KEYWORD: return CompletionItemKind.Keyword; case CompletionProposal.LABEL_REF: return CompletionItemKind.Reference; case CompletionProposal.LOCAL_VARIABLE_REF: case CompletionProposal.VARIABLE_DECLARATION: return CompletionItemKind.Variable; case CompletionProposal.METHOD_DECLARATION: case CompletionProposal.METHOD_REF: case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER: case CompletionProposal.POTENTIAL_METHOD_DECLARATION: return CompletionItemKind.Method; //text case CompletionProposal.ANNOTATION_ATTRIBUTE_REF: case CompletionProposal.JAVADOC_BLOCK_TAG: case CompletionProposal.JAVADOC_FIELD_REF: case CompletionProposal.JAVADOC_INLINE_TAG: case CompletionProposal.JAVADOC_METHOD_REF: case CompletionProposal.JAVADOC_PARAM_REF: case CompletionProposal.JAVADOC_TYPE_REF: case CompletionProposal.JAVADOC_VALUE_REF: default: return CompletionItemKind.Text; } }
Example 6
Source File: CompletionProposalReplacementProvider.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
private void updateReplacement(CompletionProposal proposal, CompletionItem item, char trigger, boolean isResolving) { // reset importRewrite this.importRewrite = TypeProposalUtils.createImportRewrite(compilationUnit); List<org.eclipse.lsp4j.TextEdit> additionalTextEdits = new ArrayList<>(); StringBuilder completionBuffer = new StringBuilder(); Range range = null; if (isSupportingRequiredProposals(proposal)) { CompletionProposal[] requiredProposals = proposal.getRequiredProposals(); if (requiredProposals != null) { for (CompletionProposal requiredProposal : requiredProposals) { switch (requiredProposal.getKind()) { case CompletionProposal.TYPE_IMPORT: case CompletionProposal.METHOD_IMPORT: case CompletionProposal.FIELD_IMPORT: appendImportProposal(completionBuffer, requiredProposal, proposal.getKind()); break; case CompletionProposal.TYPE_REF: org.eclipse.lsp4j.TextEdit edit = toRequiredTypeEdit(requiredProposal, trigger, proposal.canUseDiamond(context)); if (proposal.getKind() == CompletionProposal.CONSTRUCTOR_INVOCATION || proposal.getKind() == CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION || proposal.getKind() == CompletionProposal.ANONYMOUS_CLASS_DECLARATION) { completionBuffer.append(edit.getNewText()); range = edit.getRange(); } else { additionalTextEdits.add(edit); } break; default: /* * In 3.3 we only support the above required proposals, see * CompletionProposal#getRequiredProposals() */ Assert.isTrue(false); } } } } if (range == null) { boolean completionOverwrite = preferences.isCompletionOverwrite(); if (!completionOverwrite && (proposal.getKind() == CompletionProposal.METHOD_REF || proposal.getKind() == CompletionProposal.LOCAL_VARIABLE_REF || proposal.getKind() == CompletionProposal.FIELD_REF)) { // See https://github.com/redhat-developer/vscode-java/issues/462 int end = proposal.getReplaceEnd(); if (end > offset) { proposal.setReplaceRange(proposal.getReplaceStart(), offset); } } range = toReplacementRange(proposal); } if (proposal.getKind() == CompletionProposal.METHOD_DECLARATION) { appendMethodOverrideReplacement(completionBuffer, proposal); } else if (proposal.getKind() == CompletionProposal.POTENTIAL_METHOD_DECLARATION && proposal instanceof GetterSetterCompletionProposal) { appendMethodPotentialReplacement(completionBuffer, (GetterSetterCompletionProposal) proposal); } else if (proposal.getKind() == CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION || proposal.getKind() == CompletionProposal.ANONYMOUS_CLASS_DECLARATION) { appendAnonymousClass(completionBuffer, proposal, range); } else { appendReplacementString(completionBuffer, proposal); } //select insertTextFormat. if (client.isCompletionSnippetsSupported()) { item.setInsertTextFormat(InsertTextFormat.Snippet); } else { item.setInsertTextFormat(InsertTextFormat.PlainText); } String text = completionBuffer.toString(); if (range != null) { item.setTextEdit(new org.eclipse.lsp4j.TextEdit(range, text)); } else { // fallback item.setInsertText(text); } if (!client.isResolveAdditionalTextEditsSupport() || isResolving) { addImports(additionalTextEdits); if(!additionalTextEdits.isEmpty()){ item.setAdditionalTextEdits(additionalTextEdits); } } }
Example 7
Source File: CompletionProposalReplacementProvider.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
private StringBuilder appendImportProposal(StringBuilder buffer, CompletionProposal proposal, int coreKind) { int proposalKind= proposal.getKind(); String qualifiedTypeName= null; char[] qualifiedType= null; if (proposalKind == CompletionProposal.TYPE_IMPORT) { qualifiedType= proposal.getSignature(); qualifiedTypeName= String.valueOf(Signature.toCharArray(qualifiedType)); } else if (proposalKind == CompletionProposal.METHOD_IMPORT || proposalKind == CompletionProposal.FIELD_IMPORT) { qualifiedType= Signature.getTypeErasure(proposal.getDeclarationSignature()); qualifiedTypeName= String.valueOf(Signature.toCharArray(qualifiedType)); } else { /* * In 3.3 we only support the above import proposals, see * CompletionProposal#getRequiredProposals() */ Assert.isTrue(false); } /* Add imports if the preference is on. */ if (importRewrite != null) { if (proposalKind == CompletionProposal.TYPE_IMPORT) { String simpleType= importRewrite.addImport(qualifiedTypeName, null); if (coreKind == CompletionProposal.METHOD_REF) { buffer.append(simpleType); buffer.append(COMMA); return buffer; } } else { String res= importRewrite.addStaticImport(qualifiedTypeName, String.valueOf(proposal.getName()), proposalKind == CompletionProposal.FIELD_IMPORT, null); int dot= res.lastIndexOf('.'); if (dot != -1) { buffer.append(importRewrite.addImport(res.substring(0, dot), null)); buffer.append('.'); return buffer; } } return buffer; } // Case where we don't have an import rewrite (see allowAddingImports) if (compilationUnit != null && isImplicitImport(Signature.getQualifier(qualifiedTypeName), compilationUnit)) { /* No imports for implicit imports. */ if (proposal.getKind() == CompletionProposal.TYPE_IMPORT && coreKind == CompletionProposal.FIELD_REF) { return buffer; } qualifiedTypeName= String.valueOf(Signature.getSignatureSimpleName(qualifiedType)); } buffer.append(qualifiedTypeName); buffer.append('.'); return buffer; }
Example 8
Source File: SimilarElementsRequestor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 4 votes |
public static String[] getStaticImportFavorites(ICompilationUnit cu, final String elementName, boolean isMethod, String[] favorites) throws JavaModelException { StringBuffer dummyCU= new StringBuffer(); String packName= cu.getParent().getElementName(); IType type= cu.findPrimaryType(); if (type == null) { return new String[0]; } if (packName.length() > 0) { dummyCU.append("package ").append(packName).append(';'); //$NON-NLS-1$ } dummyCU.append("public class ").append(type.getElementName()).append("{\n static {\n").append(elementName); // static initializer //$NON-NLS-1$//$NON-NLS-2$ int offset= dummyCU.length(); dummyCU.append("\n}\n }"); //$NON-NLS-1$ ICompilationUnit newCU= null; try { newCU= cu.getWorkingCopy(null); newCU.getBuffer().setContents(dummyCU.toString()); final HashSet<String> result= new HashSet<>(); CompletionRequestor requestor= new CompletionRequestor(true) { @Override public void accept(CompletionProposal proposal) { if (elementName.equals(new String(proposal.getName()))) { CompletionProposal[] requiredProposals= proposal.getRequiredProposals(); for (int i= 0; i < requiredProposals.length; i++) { CompletionProposal curr= requiredProposals[i]; if (curr.getKind() == CompletionProposal.METHOD_IMPORT || curr.getKind() == CompletionProposal.FIELD_IMPORT) { result.add(JavaModelUtil.concatenateName(Signature.toCharArray(curr.getDeclarationSignature()), curr.getName())); } } } } }; if (isMethod) { requestor.setIgnored(CompletionProposal.METHOD_REF, false); requestor.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true); } else { requestor.setIgnored(CompletionProposal.FIELD_REF, false); requestor.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true); } requestor.setFavoriteReferences(favorites); newCU.codeComplete(offset, requestor); return result.toArray(new String[result.size()]); } finally { if (newCU != null) { newCU.discardWorkingCopy(); } } }
Example 9
Source File: ImportCompletionProposal.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
/** * Computes the replacement string. * * @return the replacement string */ private String computeReplacementString() { int proposalKind= fProposal.getKind(); String qualifiedTypeName= null; char[] qualifiedType= null; if (proposalKind == CompletionProposal.TYPE_IMPORT) { qualifiedType= fProposal.getSignature(); qualifiedTypeName= String.valueOf(Signature.toCharArray(qualifiedType)); } else if (proposalKind == CompletionProposal.METHOD_IMPORT || proposalKind == CompletionProposal.FIELD_IMPORT) { qualifiedType= Signature.getTypeErasure(fProposal.getDeclarationSignature()); qualifiedTypeName= String.valueOf(Signature.toCharArray(qualifiedType)); } else { /* * In 3.3 we only support the above import proposals, see * CompletionProposal#getRequiredProposals() */ Assert.isTrue(false); } /* Add imports if the preference is on. */ fImportRewrite= createImportRewrite(); if (fImportRewrite != null) { if (proposalKind == CompletionProposal.TYPE_IMPORT) { String simpleType= fImportRewrite.addImport(qualifiedTypeName, fImportContext); if (fParentProposalKind == CompletionProposal.METHOD_REF) return simpleType + "."; //$NON-NLS-1$ } else { String res= fImportRewrite.addStaticImport(qualifiedTypeName, String.valueOf(fProposal.getName()), proposalKind == CompletionProposal.FIELD_IMPORT, fImportContext); int dot= res.lastIndexOf('.'); if (dot != -1) { String typeName= fImportRewrite.addImport(res.substring(0, dot), fImportContext); return typeName + '.'; } } return ""; //$NON-NLS-1$ } // Case where we don't have an import rewrite (see allowAddingImports) if (fCompilationUnit != null && JavaModelUtil.isImplicitImport(Signature.getQualifier(qualifiedTypeName), fCompilationUnit)) { /* No imports for implicit imports. */ if (fProposal.getKind() == CompletionProposal.TYPE_IMPORT && fParentProposalKind == CompletionProposal.FIELD_REF) return ""; //$NON-NLS-1$ qualifiedTypeName= String.valueOf(Signature.getSignatureSimpleName(qualifiedType)); } return qualifiedTypeName + "."; //$NON-NLS-1$ }
Example 10
Source File: SimilarElementsRequestor.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 4 votes |
public static String[] getStaticImportFavorites(ICompilationUnit cu, final String elementName, boolean isMethod, String[] favorites) throws JavaModelException { StringBuffer dummyCU= new StringBuffer(); String packName= cu.getParent().getElementName(); IType type= cu.findPrimaryType(); if (type == null) return new String[0]; if (packName.length() > 0) { dummyCU.append("package ").append(packName).append(';'); //$NON-NLS-1$ } dummyCU.append("public class ").append(type.getElementName()).append("{\n static {\n").append(elementName); // static initializer //$NON-NLS-1$//$NON-NLS-2$ int offset= dummyCU.length(); dummyCU.append("\n}\n }"); //$NON-NLS-1$ ICompilationUnit newCU= null; try { newCU= cu.getWorkingCopy(null); newCU.getBuffer().setContents(dummyCU.toString()); final HashSet<String> result= new HashSet<String>(); CompletionRequestor requestor= new CompletionRequestor(true) { @Override public void accept(CompletionProposal proposal) { if (elementName.equals(new String(proposal.getName()))) { CompletionProposal[] requiredProposals= proposal.getRequiredProposals(); for (int i= 0; i < requiredProposals.length; i++) { CompletionProposal curr= requiredProposals[i]; if (curr.getKind() == CompletionProposal.METHOD_IMPORT || curr.getKind() == CompletionProposal.FIELD_IMPORT) { result.add(JavaModelUtil.concatenateName(Signature.toCharArray(curr.getDeclarationSignature()), curr.getName())); } } } } }; if (isMethod) { requestor.setIgnored(CompletionProposal.METHOD_REF, false); requestor.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true); } else { requestor.setIgnored(CompletionProposal.FIELD_REF, false); requestor.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true); } requestor.setFavoriteReferences(favorites); newCU.codeComplete(offset, requestor); return result.toArray(new String[result.size()]); } finally { if (newCU != null) { newCU.discardWorkingCopy(); } } }