/** * Extracts the fully qualified name of the declaring type of a method * reference. * * @param methodProposal a proposed method * @return the qualified name of the declaring type */ private String extractDeclaringTypeFQN(CompletionProposal methodProposal) { char[] declaringTypeSignature= methodProposal.getDeclarationSignature(); // special methods may not have a declaring type: methods defined on arrays etc. // TODO remove when bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=84690 gets fixed if (declaringTypeSignature == null) return "java.lang.Object"; //$NON-NLS-1$ return SignatureUtil.stripSignatureToFQN(String.valueOf(declaringTypeSignature)); }
/** * Resolves to an IModuleDescription. * * @return the <code>IModuleDescription</code> or <code>null</code> if no Java element can be found * @throws JavaModelException thrown if the given path is <code>null</code> or absolute */ private IJavaElement resolveModule() throws JavaModelException { char[] signature= fProposal.getDeclarationSignature(); if (signature != null) { String typeName= String.valueOf(signature); return fJavaProject.findModule(typeName, null); } return null; }
String createAnonymousTypeLabel(CompletionProposal proposal) { char[] declaringTypeSignature= proposal.getDeclarationSignature(); StringBuffer buffer= new StringBuffer(); buffer.append(Signature.getSignatureSimpleName(declaringTypeSignature)); buffer.append('('); appendUnboundedParameterList(buffer, proposal); buffer.append(')'); buffer.append(" "); //$NON-NLS-1$ buffer.append(JavaTextMessages.ResultCollector_anonymous_type); return buffer.toString(); }
String createPackageProposalLabel(CompletionProposal proposal) { Assert.isTrue(proposal.getKind() == CompletionProposal.PACKAGE_REF); return String.valueOf(proposal.getDeclarationSignature()); }
/** * Resolves the member described by the receiver and returns it if found. * Returns <code>null</code> if no corresponding member can be found. * * @return the resolved member or <code>null</code> if none is found * @throws JavaModelException if accessing the java model fails */ protected IMember resolveMember() throws JavaModelException { char[] signature= fProposal.getDeclarationSignature(); String typeName= SignatureUtil.stripSignatureToFQN(String.valueOf(signature)); return fJavaProject.findType(typeName); } }
/** * Extracts the fully qualified name of the declaring type of a method * reference. * * @param methodProposal a proposed method * @return the qualified name of the declaring type */ private String extractDeclaringTypeFQN(CompletionProposal methodProposal) { char[] declaringTypeSignature= methodProposal.getDeclarationSignature(); // special methods may not have a declaring type: methods defined on arrays etc. // TODO remove when bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=84690 gets fixed if (declaringTypeSignature == null) return "java.lang.Object"; //$NON-NLS-1$ return Signature.toString(Signature.getTypeErasure(String.valueOf(declaringTypeSignature))); }
/** * Resolves the member described by the receiver and returns it if found. * Returns <code>null</code> if no corresponding member can be found. * * @return the resolved member or <code>null</code> if none is found * @throws JavaModelException if accessing the java model fails */ @Override protected IMember resolveMember() throws JavaModelException { char[] signature= fProposal.getDeclarationSignature(); String typeName= SignatureUtil.stripSignatureToFQN(String.valueOf(signature)); return fJavaProject.findType(typeName); } }
/** * Resolves the member described by the receiver and returns it if found. * Returns <code>null</code> if no corresponding member can be found. * * @return the resolved member or <code>null</code> if none is found * @throws JavaModelException if accessing the java model fails */ @Override protected IMember resolveMember() throws JavaModelException { char[] signature= fProposal.getDeclarationSignature(); String typeName= SignatureUtil.stripSignatureToFQN(String.valueOf(signature)); return fJavaProject.findType(typeName); } }
protected boolean isValidPrefix(String prefix) { if (super.isValidPrefix(prefix)) return true; if (fProposal.getKind() == CompletionProposal.METHOD_NAME_REFERENCE) { // static imports - includes package & type name StringBuffer buf= new StringBuffer(); buf.append(Signature.toCharArray(fProposal.getDeclarationSignature())); buf.append('.'); buf.append(getDisplayString()); return isPrefix(prefix, buf.toString()); } return false; }
StyledString createModuleProposalLabel(CompletionProposal proposal) { int kind= proposal.getKind(); Assert.isTrue(kind == CompletionProposal.MODULE_REF || kind == CompletionProposal.MODULE_DECLARATION); char[] label= proposal.getDeclarationSignature(); Assert.isNotNull(label); return Strings.markJavaElementLabelLTR(new StyledString(String.valueOf(label))); }
public static String getTokensBetweenLastWhitespaceAndFirstOpeningBracket(final CompletionProposal proposal) { boolean isPotentialMethodDecl = proposal.getKind() == CompletionProposal.POTENTIAL_METHOD_DECLARATION; char[] token = proposal.getCompletion(); if (Arrays.equals(token, new char[] { '(', ')' })) { token = proposal.getName(); } else if (isPotentialMethodDecl && proposal.getCompletion().length == 0) { char[] signature = proposal.getDeclarationSignature(); char[] typeName = Signature.getSignatureSimpleName(signature); return String.valueOf(typeName); } return getTokensBetweenLastWhitespaceAndFirstOpeningBracket(String.valueOf(token)); }
StyledString createPackageProposalLabel(CompletionProposal proposal) { Assert.isTrue(proposal.getKind() == CompletionProposal.PACKAGE_REF); return Strings.markJavaElementLabelLTR(new StyledString(String.valueOf(proposal.getDeclarationSignature()))); }
StyledString createPackageProposalLabel(CompletionProposal proposal) { Assert.isTrue(proposal.getKind() == CompletionProposal.PACKAGE_REF); return Strings.markJavaElementLabelLTR(new StyledString(String.valueOf(proposal.getDeclarationSignature()))); }
@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())); } } } } };
@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())); } } } } };
@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())); } } } } };
private void createPackageProposalLabel(CompletionProposal proposal, CompletionItem item) { Assert.isTrue(proposal.getKind() == CompletionProposal.PACKAGE_REF || proposal.getKind() == CompletionProposal.MODULE_REF || proposal.getKind() == CompletionProposal.MODULE_DECLARATION); item.setLabel(String.valueOf(proposal.getDeclarationSignature())); }
private IJavaCompletionProposal createAnonymousTypeProposal(CompletionProposal proposal) { if (fCompilationUnit == null || fJavaProject == null) return null; String completion= String.valueOf(proposal.getCompletion()); int start= proposal.getReplaceStart(); int length= getLength(proposal); int relevance= computeRelevance(proposal); String label= fLabelProvider.createAnonymousTypeLabel(proposal); JavaCompletionProposal javaProposal= new AnonymousTypeCompletionProposal(fJavaProject, fCompilationUnit, start, length, completion, label, String.valueOf(proposal.getDeclarationSignature()), relevance); javaProposal.setProposalInfo(new AnonymousTypeProposalInfo(fJavaProject, proposal)); return javaProposal; }
public ProcessableAnonymousTypeCompletionProposal(CompletionProposal coreProposal, JavaCompletionProposal uiProposal, JavaContentAssistInvocationContext context) throws JavaModelException { super(context.getProject(), context.getCompilationUnit(), context, coreProposal.getReplaceStart(), uiProposal .getReplacementLength(), String.valueOf(coreProposal.getCompletion()), uiProposal .getStyledDisplayString(), String.valueOf(coreProposal.getDeclarationSignature()), (IType) context .getProject().findElement(String.valueOf(coreProposal.getDeclarationKey()), null), uiProposal .getRelevance()); this.coreProposal = coreProposal; }
public static SwAnonymousTypeCompletionProposal createAnonymousTypeCompletionProposal( final SubwordsProposalContext subwordsContext) throws JavaModelException { final JavaContentAssistInvocationContext context = subwordsContext.getContext(); final CompletionProposal proposal = subwordsContext.getProposal(); final JavaCompletionProposal jdtProposal = subwordsContext.getJdtProposal(); final IJavaProject project = context.getProject(); final String declarationSignature = String.valueOf(proposal.getDeclarationSignature()); final String declarationKey = String.valueOf(proposal.getDeclarationKey()); final String completionText = String.valueOf(proposal.getCompletion()); return new SwAnonymousTypeCompletionProposal(project, context.getCompilationUnit(), context, proposal.getReplaceStart(), jdtProposal.getReplacementLength(), completionText, jdtProposal.getStyledDisplayString(), declarationSignature, (IType) project.findElement(declarationKey, null), jdtProposal.getRelevance(), subwordsContext); }