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

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

Introduction

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

Prototype

public void setFlags(int flags) 

Source Link

Document

Sets the modifier flags relevant in the context.

Usage

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();
                    }// w  w  w  . j a  v 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:de.ovgu.featureide.core.mpl.MPLPlugin.java

License:Open Source License

public List<CompletionProposal> extendedModules_getCompl(IFeatureProject project, String featureName) {
    final LinkedList<CompletionProposal> ret_List = new LinkedList<CompletionProposal>();

    InterfaceProject interfaceProject = getInterfaceProject(project.getProject());
    if (interfaceProject != null) {
        final ProjectSignatures signatures = interfaceProject.getProjectSignatures();
        if (signatures != null) {
            SignatureIterator it = signatures.createIterator();
            it.addFilter(new ContextFilter(featureName, interfaceProject));
            //            Iterator<AbstractSignature> it = signatures.getIterator(new ContextFilter(featureName, interfaceProject));

            while (it.hasNext()) {
                AbstractSignature curMember = it.next();
                CompletionProposal pr = null;

                if (curMember instanceof AbstractMethodSignature) {
                    pr = CompletionProposal.create(CompletionProposal.METHOD_REF, 0);
                    pr.setSignature(Signature.createMethodSignature(new char[][] { {} }, new char[] {}));
                } else if (curMember instanceof AbstractFieldSignature) {
                    pr = CompletionProposal.create(CompletionProposal.FIELD_REF, 0);
                    //                  pr.setDeclarationSignature(Signature.createTypeSignature(cur.getSignature().getFullName(), true).toCharArray());
                } else if (curMember instanceof AbstractClassSignature) {
                    pr = CompletionProposal.create(CompletionProposal.TYPE_REF, 0);
                    pr.setSignature(Signature.createTypeSignature(curMember.getFullName(), true).toCharArray());
                }/*from  w w w  . ja v a2s. c o m*/

                if (pr != null) {
                    //                  pr2.setDeclarationSignature(Signature.createTypeSignature(cur.getSignature().getFullName(), true).toCharArray());
                    pr.setFlags(Flags.AccPublic);
                    pr.setName(curMember.getName().toCharArray());
                    pr.setCompletion(curMember.getName().toCharArray());

                    ret_List.add(pr);
                }
            }
        } else {
            interfaceProject.loadSignatures(false);
        }
    }
    return ret_List;
}

From source file:org.bonitasoft.studio.contract.ui.property.constraint.edit.editor.contentassist.ContractInputProposalsCodeVisitorSupport.java

License:Open Source License

private ICompletionProposal createProposalFor(final ContentAssistInvocationContext context,
        final CharSequence prefix, final ContractInput input) {
    final String name = input.getName();
    final CompletionProposal proposal = CompletionProposal.create(CompletionProposal.FIELD_REF,
            context.getInvocationOffset());
    proposal.setCompletion(name.substring(prefix.length()).toCharArray());
    proposal.setName(name.toCharArray());
    proposal.setFlags(Flags.AccPublic);
    proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset());
    final String completion = String.valueOf(proposal.getCompletion());
    final int start = proposal.getReplaceStart();
    final int end = proposal.getReplaceEnd();
    final int length = end - start;

    final ContractInputLabelProvider labelProvider = new ContractInputLabelProvider();
    final Image image = labelProvider.getImage(input);
    return new JavaCompletionProposal(completion, start, length, image, labelProvider.getStyledString(input),
            100, false);/*  w ww  .  j  a  va 2  s . co  m*/
}

From source file:org.bonitasoft.studio.groovy.ui.contentassist.VariablesCompletionProposalProvider.java

License:Open Source License

private JavaCompletionProposal getProposalFor(final ContentAssistInvocationContext context,
        final CompletionProposalLabelProvider fLabelProvider, final CharSequence prefix, final String name,
        final String typeName) {
    final CompletionProposal proposal = CompletionProposal.create(CompletionProposal.FIELD_REF,
            context.getInvocationOffset());
    proposal.setCompletion(name.substring(prefix.length()).toCharArray());
    proposal.setName(name.toCharArray());
    proposal.setFlags(Flags.AccPublic);
    proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset());
    //        Class type = BonitaSyntaxHighlighting.getTypeForKeyWord(keyWord) ;
    if (typeName != null) {
        proposal.setSignature(Signature.createTypeSignature(typeName, true).toCharArray());
    }/*from  w w w.j a va 2s . c  o m*/
    String completion = String.valueOf(proposal.getCompletion());
    int start = proposal.getReplaceStart();
    int end = proposal.getReplaceEnd();
    int length = end - start;

    StyledString label = fLabelProvider.createStyledLabel(proposal);
    final Image image = JavaPlugin.getImageDescriptorRegistry()
            .get(fLabelProvider.createImageDescriptor(proposal));
    return new JavaCompletionProposal(completion, start, length, image, label, 100, false);

    //        final CompletionProposal proposal = CompletionProposal.create(CompletionProposal.FIELD_REF, context.getInvocationOffset());
    //        proposal.setCompletion(name.toCharArray());
    //        proposal.setName(name.toCharArray());
    //        proposal.setFlags(Flags.AccPublic);
    //        proposal.setReplaceRange(context.getInvocationOffset() - prefix.length(), context.getInvocationOffset() + name.length() - prefix.length());
    //        if (typeName != null) {
    //            proposal.setSignature(Signature.createTypeSignature(typeName, true).toCharArray());
    //        }
    //        final String completion = String.valueOf(proposal.getCompletion());
    //        final int start = proposal.getReplaceStart();
    //        final int end = proposal.getReplaceEnd();
    //        final int length = end - start;
    //
    //        final StyledString label = fLabelProvider.createStyledLabel(proposal);
    //
    //        final BonitaConstantsCompletionProposal javaProposal = new BonitaConstantsCompletionProposal(
    //                ((JavaContentAssistInvocationContext) context).getCompilationUnit(), completion, start, length, image, label, 1000, false,
    //                (JavaContentAssistInvocationContext) context);
    //        return javaProposal;
}

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   w  w  w. j  a  va2  s. c om*/
            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.ajdt.internal.core.contentassist.ProposalRequestorWrapper.java

License:Open Source License

protected boolean shouldAccept(CompletionProposal proposal) {
    if (proposal.getKind() == CompletionProposal.FIELD_REF
            || proposal.getKind() == CompletionProposal.METHOD_REF) {

        if (world == null) {
            world = new AJWorldFacade(unit.getJavaProject().getProject());
        }/*  w ww.ja va 2s  .c  o m*/

        ITDInfo info = world.findITDInfoFromTargetType(proposal.getDeclarationSignature(), proposal.getName());
        if (info != null) {
            if (info.accessibility == Accessibility.PUBLIC) {
                // accessible everywhere
                return true;
            } else if (info.accessibility == Accessibility.PACKAGE) {
                // accessible only in package of declaring aspect
                if (((IPackageFragment) unit.getParent()).getElementName().equals(info.packageDeclaredIn)) {
                    int oldFlags = proposal.getFlags();
                    oldFlags |= Flags.AccDefault;
                    oldFlags &= ~Flags.AccPublic;
                    proposal.setFlags(oldFlags);
                    return true;
                }
            } else if (info.accessibility == Accessibility.PRIVATE) {
                // accessible only in declaring aspect's compilation unit
                if (unit.getElementName().startsWith(info.topLevelAspectName + ".")
                        && ((IPackageFragment) unit.getParent()).getElementName()
                                .equals(info.packageDeclaredIn)) {

                    int oldFlags = proposal.getFlags();
                    oldFlags |= Flags.AccPrivate;
                    oldFlags &= ~Flags.AccPublic;
                    proposal.setFlags(oldFlags);
                    return true;
                }

            }
            return false;
        } else {
            // not an ITD
            return true;
        }
    } else if (proposal.getKind() == CompletionProposal.LOCAL_VARIABLE_REF) {
        // check to see if this is the proposal that has been added by the context switch for ITDs
        if (contextSwitchIgnore(proposal)) {
            return false;
        }
    } else if (proposal.getKind() == CompletionProposal.TYPE_REF) {
        // check to see if this is an ITIT type that should not be see
        char[] typeName = (char[]) ReflectionUtils.getPrivateField(InternalCompletionProposal.class, "typeName",
                (InternalCompletionProposal) proposal);
        if (typeName != null && CharOperation.contains('$', typeName)) {
            return false;
        }
    }
    return true;
}

From source file:org.eclipse.jst.jsp.ui.internal.contentassist.JavaTypeNameRequestor.java

License:Open Source License

private Image calculateImage(int modifiers) {
    CompletionProposal p = CompletionProposal.create(CompletionProposal.TYPE_REF, getJSPOffset());
    p.setFlags(modifiers);

    //https://bugs.eclipse.org/bugs/show_bug.cgi?id=102206
    char[] sig = new char[] { Signature.C_UNRESOLVED };
    p.setSignature(sig);// ww w  .  ja  va 2s. c  o  m

    ImageDescriptor descriptor = fLabelProvider.createImageDescriptor(p);
    Image image = JSPEditorPluginImageHelper.getInstance().getImage(descriptor);
    return image;
}

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;
    }//from  w  w  w. j  ava  2 s.co  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;
    }/*ww w.  ja  v  a  2  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);
    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. ja v a2  s  .co  m*/
                    Signature.createTypeSignature(paramType.getCanonicalName(), true).toCharArray());
            LazyJavaTypeCompletionProposal typeProposal = new LazyJavaTypeCompletionProposal(proposal, context);
            typeProposal.setRelevance(Integer.MAX_VALUE);
            proposals.add(typeProposal);
        }
    }

    return proposals;
}