List of usage examples for org.eclipse.jdt.core CompletionProposal setDeclarationSignature
public void setDeclarationSignature(char[] signature)
null if none. From source file:com.google.gwt.eclipse.core.editors.java.contentassist.JsniCompletionProposalCollector.java
License:Open Source License
@Override protected IJavaCompletionProposal createJavaCompletionProposal(CompletionProposal proposal) { IJavaCompletionProposal defaultProposal = super.createJavaCompletionProposal(proposal); // For members of inner classes, there's a bug in the JDT which results in // the declaration signature of the proposal missing the outer classes, so // we have to manually set the signature instead. if (proposal.getKind() == CompletionProposal.METHOD_REF || proposal.getKind() == CompletionProposal.FIELD_REF) { char[] typeSignature = Signature.createTypeSignature(qualifiedTypeName, true).toCharArray(); proposal.setDeclarationSignature(typeSignature); }/*w w w .j a v a 2 s . co m*/ return JsniCompletionProposal.create(defaultProposal, proposal, getCompilationUnit().getJavaProject(), refOffset, refLength); }
From source file:de.ovgu.featureide.core.CorePlugin.java
License:Open Source License
public List<CompletionProposal> extendedModules_getCompl(IFeatureProject featureProject, String featureName) { final LinkedList<CompletionProposal> ret_List = new LinkedList<CompletionProposal>(); final ProjectSignatures signatures = featureProject.getProjectSignatures(); if (signatures != null) { SignatureIterator it = signatures.iterator(); it.addFilter(new ContextFilter(featureName, signatures)); while (it.hasNext()) { AbstractSignature curMember = it.next(); CompletionProposal pr = null; if (curMember instanceof AbstractMethodSignature) { pr = CompletionProposal.create(CompletionProposal.METHOD_REF, 0); final AbstractMethodSignature methSig = (AbstractMethodSignature) curMember; final List<String> sig = methSig.getParameterTypes(); //TODO differentiate between possible types char[][] c = new char[][] { {} }; if (sig.size() > 0) { c = new char[sig.size()][]; int i = 0; for (String parameterType : sig) { String parameterTypeToChar = "L" + parameterType + ";"; c[i++] = parameterTypeToChar.toCharArray(); }// ww w . j av a 2 s.com } String returnType = "L" + methSig.getReturnType() + ";"; pr.setSignature(Signature.createMethodSignature(c, returnType.toCharArray())); String declType = "L" + methSig.getFullName().replaceAll("." + methSig.getName(), "") + ";"; pr.setDeclarationSignature(declType.toCharArray()); } else if (curMember instanceof AbstractFieldSignature) { pr = CompletionProposal.create(CompletionProposal.FIELD_REF, 0); } else if (curMember instanceof AbstractClassSignature) { pr = CompletionProposal.create(CompletionProposal.TYPE_REF, 0); pr.setSignature(Signature.createTypeSignature(curMember.getFullName(), true).toCharArray()); } if (pr != null) { pr.setFlags(getFlagOfSignature(curMember)); pr.setName(curMember.getName().toCharArray()); pr.setCompletion(curMember.getName().toCharArray()); ret_List.add(pr); } } } return ret_List; }
From source file:org.bonitasoft.studio.groovy.ui.contentassist.VariablesTypeCompletionProposal.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(final ContentAssistInvocationContext context, final IProgressMonitor monitor) { final List<ICompletionProposal> list = new ArrayList<ICompletionProposal>(); if (context instanceof JavaContentAssistInvocationContext) { final ICompilationUnit unit = ((JavaContentAssistInvocationContext) context).getCompilationUnit(); if (unit instanceof GroovyCompilationUnit) { final ITextViewer viewer = context.getViewer(); final List<ScriptVariable> nodes = (List<ScriptVariable>) viewer.getTextWidget() .getData(GroovyViewer.PROCESS_VARIABLES_DATA_KEY); final List<String> keyWords = (List<String>) viewer.getTextWidget() .getData(GroovyViewer.BONITA_KEYWORDS_DATA_KEY); if (((GroovyCompilationUnit) unit).getModuleNode() == null) { return Collections.emptyList(); }//from ww w. j ava2 s .co m final ContentAssistContext assistContext = new GroovyCompletionProposalComputer() .createContentAssistContext((GroovyCompilationUnit) unit, context.getInvocationOffset(), context.getDocument()); CharSequence prefix = null; try { prefix = context.computeIdentifierPrefix(); } catch (final BadLocationException e) { BonitaStudioLog.error(e); } if (assistContext != null && assistContext.completionNode instanceof VariableExpression) { try { final VariableExpression expr = (VariableExpression) assistContext.completionNode; if (nodes != null) { for (final ScriptVariable f : nodes) { if (expr.getName().equals(f.getName())) { final IType type = javaProject.findType(f.getType()); for (final IMethod m : type.getMethods()) { if (m.getElementName().startsWith(prefix.toString())) { final CompletionProposal proposal = CompletionProposal.create( CompletionProposal.METHOD_REF, context.getInvocationOffset()); proposal.setName(m.getElementName().toCharArray()); proposal.setCompletion( m.getElementName().substring(prefix.length()).toCharArray()); proposal.setFlags(m.getFlags()); if (prefix.length() == m.getElementName().length()) { proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset()); proposal.setReceiverRange(0, 0); } else { proposal.setReplaceRange( context.getInvocationOffset() - prefix.length(), context.getInvocationOffset()); proposal.setReceiverRange(prefix.length(), prefix.length()); } final char[][] parameters = new char[m.getParameterNames().length][256]; for (int i = 0; i < m.getParameterNames().length; i++) { parameters[i] = m.getParameterNames()[i].toCharArray(); } proposal.setParameterNames(parameters); proposal.setDeclarationSignature( Signature .createTypeSignature( m.getDeclaringType().getElementName(), true) .toCharArray()); proposal.setSignature(Signature .createMethodSignature(m.getParameterTypes(), m.getReturnType()) .toCharArray()); list.add(new JavaMethodCompletionProposal(proposal, (JavaContentAssistInvocationContext) context)); } } } } } if (keyWords != null) { for (final String keyWord : keyWords) { if (expr.getName().equals(keyWord)) { final IType type = javaProject.findType( BonitaSyntaxHighlighting.getTypeForKeyWord(keyWord).getName()); for (final IMethod m : type.getMethods()) { if (m.getElementName().startsWith(prefix.toString())) { final CompletionProposal proposal = CompletionProposal.create( CompletionProposal.METHOD_REF, context.getInvocationOffset()); proposal.setName(m.getElementName().toCharArray()); proposal.setCompletion( m.getElementName().substring(prefix.length()).toCharArray()); proposal.setFlags(m.getFlags()); proposal.getCompletion(); if (prefix.length() == m.getElementName().length()) { proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset()); proposal.setReceiverRange(0, 0); } else { proposal.setReplaceRange( context.getInvocationOffset() - prefix.length(), context.getInvocationOffset()); proposal.setReceiverRange(prefix.length(), prefix.length()); } final char[][] parameters = new char[m.getParameterNames().length][256]; for (int i = 0; i < m.getParameterNames().length; i++) { parameters[i] = m.getParameterNames()[i].toCharArray(); } proposal.setParameterNames(parameters); proposal.setDeclarationSignature( Signature .createTypeSignature( m.getDeclaringType().getElementName(), true) .toCharArray()); proposal.setSignature(Signature .createMethodSignature(m.getParameterTypes(), m.getReturnType()) .toCharArray()); list.add(new JavaMethodCompletionProposal(proposal, (JavaContentAssistInvocationContext) context)); } } } } } } catch (final JavaModelException e) { BonitaStudioLog.error(e); } } } return list; } return Collections.emptyList(); }
From source file:org.eclipse.recommenders.internal.completion.rcp.AccessibleCompletionProposals.java
License:Open Source License
public static AccessibleCompletionProposal newQualifiedFieldRef(IFieldName field, int completionOffset, int prefixLength, int relevance) { String declaringType = field.getDeclaringType().getClassName(); String fieldName = field.getFieldName(); String completion = declaringType + "." + fieldName; char[] signature = (field.getDeclaringType().getIdentifier().replace('/', '.') + ";").toCharArray(); CompletionProposal fieldRef = new AccessibleCompletionProposal(FIELD_REF, 0); fieldRef.setDeclarationSignature(signature); fieldRef.setName(fieldName.toCharArray()); fieldRef.setReplaceRange(completionOffset - prefixLength, completionOffset); fieldRef.setRequiredProposals(new CompletionProposal[] { newTypeImport(field.getDeclaringType()) }); AccessibleCompletionProposal res = new AccessibleCompletionProposal(TYPE_IMPORT, completionOffset); res.setCompletion(completion.toCharArray()); res.setSignature(signature);//from w w w. j av a 2s. co m res.setRelevance(relevance); return res; }
From source file:org.python.pydev.editor.codecompletion.JavaElementToken.java
License:Open Source License
@Override public IImageHandle getImage() { if (this.image != null) { return this.image; }/* www. j ava2 s. c o m*/ CompletionProposalLabelProvider provider = new CompletionProposalLabelProvider(); CompletionProposal generatedProposal = CompletionProposal.create(completionProposalKind, 0); generatedProposal.setFlags(completionProposalFlags); if (HAS_ADDITIONAL_FLAGS) { generatedProposal.setAdditionalFlags(completionProposalAdditionalFlags); } generatedProposal.setDeclarationSignature(completionPropsoalSignature); generatedProposal.setSignature(completionPropsoalSignature); //uses: kind, flags, signature to create an image. ImageDescriptor descriptor = provider.createImageDescriptor(generatedProposal); Image computed = descriptor.createImage(); return new IImageHandle() { @Override public Object getImageData() { return computed.getImageData(); } @Override public Object getImage() { return computed; } }; }
From source file:org.python.pydev.editor.codecompletion.revisited.javaintegration.JavaElementToken.java
License:Open Source License
@Override public Image getImage() { if (this.image != null) { return this.image; }//from ww w.j ava 2s . c o m CompletionProposalLabelProvider provider = new CompletionProposalLabelProvider(); CompletionProposal generatedProposal = CompletionProposal.create(completionProposalKind, 0); generatedProposal.setFlags(completionProposalFlags); if (HAS_ADDITIONAL_FLAGS) { generatedProposal.setAdditionalFlags(completionProposalAdditionalFlags); } generatedProposal.setDeclarationSignature(completionPropsoalSignature); generatedProposal.setSignature(completionPropsoalSignature); //uses: kind, flags, signature to create an image. ImageDescriptor descriptor = provider.createImageDescriptor(generatedProposal); return descriptor.createImage(); }
From source file:org.springframework.ide.eclipse.quickfix.jdt.computers.RequestMappingParamTypeProposalComputer.java
License:Open Source License
private List<ICompletionProposal> getProposals(MethodDeclaration methodDecl, String filter, int offset, ASTNode toBeRemoved, JavaContentAssistInvocationContext context) { List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>(); for (Class<?> paramType : PARAM_TYPE_CLASSES) { if (paramType.getSimpleName().toLowerCase().startsWith(filter.toLowerCase())) { // proposals // .add(new // RequestMappingParamTypeCompletionProposal(methodDecl, // paramType, toBeRemoved, context)); CompletionProposal proposal = CompletionProposal.create(CompletionProposal.TYPE_REF, context.getInvocationOffset()); proposal.setCompletion(paramType.getCanonicalName().toCharArray()); proposal.setDeclarationSignature(paramType.getPackage().getName().toCharArray()); proposal.setFlags(paramType.getModifiers()); proposal.setRelevance(Integer.MAX_VALUE); proposal.setReplaceRange(context.getInvocationOffset() - filter.length(), context.getInvocationOffset()); proposal.setSignature(// w w w . j ava 2s. co m Signature.createTypeSignature(paramType.getCanonicalName(), true).toCharArray()); LazyJavaTypeCompletionProposal typeProposal = new LazyJavaTypeCompletionProposal(proposal, context); typeProposal.setRelevance(Integer.MAX_VALUE); proposals.add(typeProposal); } } return proposals; }
From source file:org.springsource.ide.eclipse.commons.completions.externaltype.ExternalTypesProposalComputer.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext _context, IProgressMonitor monitor) {//w w w . j a va2 s .c o m if (_context instanceof JavaContentAssistInvocationContext) { final JavaContentAssistInvocationContext context = (JavaContentAssistInvocationContext) _context; try { final String idPrefix = context.computeIdentifierPrefix().toString(); //System.out.println("IdPrefix = "+idPrefix); //Only compute proposals if we actually have something to look for. This avoids adding our suggestions // for completions like 'foo.^". if (idPrefix != null && !"".equals(idPrefix)) { final ArrayList<ICompletionProposal> completions = new ArrayList<ICompletionProposal>(); final ExternalTypeIndexer index = ExternalTypeIndexManager.indexFor(context.getProject()); index.getByPrefix(idPrefix, new Requestor<ExternalType>() { public boolean receive(ExternalType type) { //TODO: limit number of results. If there's too many user can't look // at all of them anyway. try { if (type.getName().startsWith(idPrefix)) { IJavaProject project = context.getProject(); if (project.findType(type.getFullyQualifiedName()) == null) { CompletionProposal proposal = CompletionProposal .create(CompletionProposal.TYPE_REF, context.getInvocationOffset()); proposal.setCompletion(type.getFullyQualifiedName().toCharArray()); proposal.setDeclarationSignature(type.getPackage().toCharArray()); proposal.setFlags(Flags.AccPublic); //TODO: This is some kind of bit mask and it should be derived from the type information. //proposal.setRelevance(relevance); proposal.setReplaceRange(context.getInvocationOffset() - idPrefix.length(), context.getInvocationOffset()); proposal.setSignature( Signature.createTypeSignature(type.getFullyQualifiedName(), true) .toCharArray()); completions.add( new ExternalTypeCompletionProposal(proposal, context, type, index)); } } } catch (Exception e) { CompletionsActivator.log(e); } return true; } }); return completions; } } catch (Exception e) { CompletionsActivator.log(e); } } return NO_PROPOSALS; }