Example usage for org.eclipse.jdt.core.dom ASTParser createBindings

List of usage examples for org.eclipse.jdt.core.dom ASTParser createBindings

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom ASTParser createBindings.

Prototype

public IBinding[] createBindings(IJavaElement[] elements, IProgressMonitor monitor) 

Source Link

Document

Creates bindings for a batch of Java elements.

Usage

From source file:ch.uzh.ifi.seal.permo.lib.core.eclipse.AstUtil.java

License:Apache License

/**
 * Uses an {@link ASTParser} to create the {@link IMethodBinding} of the given {@link IMethod}.
 * // www  .j a v  a  2 s. c  o  m
 * Further info: http://wiki.eclipse.org/JDT/FAQ#From_an_IJavaElement_to_an_IBinding
 * 
 * @param method
 *          the {@link IMethod}
 * @return the create {@link IMethodBinding}.
 */
public static IMethodBinding createBinding(final IMethod method) {
    final ASTParser parser = ASTParser.newParser(AST.JLS8);
    parser.setProject(method.getJavaProject());
    final IBinding[] bindings = parser.createBindings(new IJavaElement[] { method }, new NullProgressMonitor());
    if (bindings.length > 0 && bindings[0] instanceof IMethodBinding) {
        return (IMethodBinding) bindings[0];
    }
    return null;
}

From source file:cideplus.ui.astview.ASTView.java

License:Open Source License

protected void performParseBindingFromElement() {
    InputDialog dialog = new InputDialog(getSite().getShell(), "Parse Binding from Java Element",
            "IJavaElement#getHandleIdentifier():", "", null);
    if (dialog.open() != Window.OK)
        return;/*  w  ww . j  a v  a 2 s  .c o  m*/

    String handleIdentifier = dialog.getValue();
    IJavaElement handle = JavaCore.create(handleIdentifier);

    Object viewerInput = fViewer.getInput();
    ASTAttribute item;
    if (handle == null) {
        item = new Error(viewerInput, "handleIdentifier not resolved: " + handleIdentifier, null);
    } else if (!handle.exists()) {
        item = new Error(viewerInput, "element does not exist: " + handleIdentifier, null);
    } else if (handle.getJavaProject() == null) {
        item = new Error(viewerInput, "getJavaProject() is null: " + handleIdentifier, null);
    } else {
        IJavaProject project = handle.getJavaProject();
        ASTParser parser = ASTParser.newParser(fCurrentASTLevel);
        parser.setProject(project);
        IBinding[] bindings = parser.createBindings(new IJavaElement[] { handle }, null);
        String name = handleIdentifier + ": " + Binding.getBindingLabel(bindings[0]);
        item = new Binding(viewerInput, name, bindings[0], true);
    }
    fViewer.add(viewerInput, item);
    fViewer.setSelection(new StructuredSelection(item), true);
}

From source file:coloredide.astview.ASTView.java

License:Open Source License

protected void performCreateBindingFromElement() {
    InputDialog dialog = new InputDialog(getSite().getShell(), "Create Binding from Java Element",
            "IJavaElement#getHandleIdentifier():", "", null);
    if (dialog.open() != Window.OK)
        return;//from   w  ww .ja  v a2  s  . co m

    String handleIdentifier = dialog.getValue();
    IJavaElement handle = JavaCore.create(handleIdentifier);

    Object viewerInput = fViewer.getInput();
    ASTAttribute item;
    if (handle == null) {
        item = new Error(viewerInput, "handleIdentifier not resolved: " + handleIdentifier, null);
    } else if (!handle.exists()) {
        item = new Error(viewerInput, "element does not exist: " + handleIdentifier, null);
    } else if (handle.getJavaProject() == null) {
        item = new Error(viewerInput, "getJavaProject() is null: " + handleIdentifier, null);
    } else {
        IJavaProject project = handle.getJavaProject();
        ASTParser parser = ASTParser.newParser(ColoredIDEPlugin.AST_VERSION);
        parser.setProject(project);
        IBinding[] bindings = parser.createBindings(new IJavaElement[] { handle }, null);
        item = new Binding(viewerInput, handleIdentifier, bindings[0], true);
    }
    fViewer.add(viewerInput, item);
    fViewer.setSelection(new StructuredSelection(item), true);
}

From source file:com.google.gdt.eclipse.core.JavaASTUtils.java

License:Open Source License

public static ITypeBinding resolveType(IJavaProject javaProject, String qualifiedTypeName)
        throws JavaModelException {
    IType type = javaProject.findType(qualifiedTypeName);
    if (type == null || !type.exists()) {
        return null;
    }/*from ww w  .  j  av a 2s .c  o m*/

    ASTParser parser = ASTParser.newParser(AST.JLS3);
    parser.setProject(javaProject);
    IBinding[] bindings = parser.createBindings(new IJavaElement[] { type }, null);
    if (bindings == null) {
        return null;
    }

    return (ITypeBinding) bindings[0];
}

From source file:org.eclipse.core.tools.nls.MessageBundleRefactoring.java

License:Open Source License

private ITypeBinding computeAccessorClassBinding(IProgressMonitor monitor) {
    ASTParser parser = ASTParser.newParser(AST.JLS3);
    parser.setProject(fAccessorClass.getJavaProject());
    return (ITypeBinding) parser.createBindings(new IJavaElement[] { fAccessorClass }, monitor)[0];
}

From source file:org.eclipse.core.tools.search.FindUnusedMembers.java

License:Open Source License

private void doSearchCU(ICompilationUnit cu, IProgressMonitor monitor) throws CoreException {
    IType[] allTypes = cu.getAllTypes();
    monitor.beginTask("Processing " + cu.getElementName(), allTypes.length + 1); //$NON-NLS-1$
    try {/*ww  w  .j  a  v a  2s. c  o m*/

        ASTParser astParser = ASTParser.newParser(AST.JLS3);
        astParser.setResolveBindings(true);
        astParser.setProject(cu.getJavaProject());

        IBinding[] bindings = astParser.createBindings(allTypes, new NullProgressMonitor());
        for (int i = 0; i < bindings.length; i++) {
            if (monitor.isCanceled())
                throw new OperationCanceledException();
            ITypeBinding typeBinding = (ITypeBinding) bindings[i];
            monitor.subTask("Processing '" + typeBinding.getQualifiedName() + "'"); //$NON-NLS-1$//$NON-NLS-2$
            doSearchType(typeBinding, new NullProgressMonitor());
        }
    } finally {
        monitor.done();
    }
}

From source file:org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools.java

License:Open Source License

/**
 * Create an {@link IBinding} for the specified {@link IMember}
 * with its bindings resolved.  May return null.
 *//* ww w.  j  ava  2s. c  o m*/
public static IBinding createBinding(IMember member) {
    ASTParser parser = newParser();
    parser.setProject(member.getJavaProject());
    return parser.createBindings(new IJavaElement[] { member }, null)[0];
}

From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderTest.java

License:Open Source License

@SuppressWarnings("deprecation")
private boolean isParameterNamesAvailable() throws Exception {
    ASTParser parser = ASTParser.newParser(AST.JLS3);
    parser.setIgnoreMethodBodies(true);/* ww  w. ja va  2 s  .co m*/
    IJavaProject javaProject = projectProvider.getJavaProject(resourceSet);
    parser.setProject(javaProject);
    IType type = javaProject.findType("org.eclipse.xtext.common.types.testSetups.TestEnum");
    IBinding[] bindings = parser.createBindings(new IJavaElement[] { type }, null);
    ITypeBinding typeBinding = (ITypeBinding) bindings[0];
    IMethodBinding[] methods = typeBinding.getDeclaredMethods();
    for (IMethodBinding method : methods) {
        if (method.isConstructor()) {
            IMethod element = (IMethod) method.getJavaElement();
            if (element.exists()) {
                String[] parameterNames = element.getParameterNames();
                if (parameterNames.length == 1 && parameterNames[0].equals("string")) {
                    return true;
                }
            } else {
                return false;
            }
        }
    }
    return false;
}

From source file:org.eclipse.xtext.common.types.access.jdt.TypeURIHelper.java

License:Open Source License

public URI getFullURI(IJavaElement javaElement) {
    @SuppressWarnings("all")
    ASTParser parser = ASTParser.newParser(AST.JLS3);
    parser.setProject(javaElement.getJavaProject());
    IBinding[] bindings = parser.createBindings(new IJavaElement[] { javaElement }, null);
    if (bindings[0] != null) {
        return getFullURI(bindings[0]);
    }//from   www. j  a  va 2 s . c  om
    return null;
}

From source file:org.eclipselabs.nullness.FieldCache.java

License:Open Source License

private Boolean computeNonNullState(FieldSelector selector) {
    try {/*from  w  w w  .ja  v  a 2s. co  m*/
        IType type = project.findType(selector.owner);
        if (type != null) {
            ASTParser parser = ASTParser.newParser(AST.JLS4);
            parser.setProject(project);
            parser.setIgnoreMethodBodies(false);
            IBinding[] bindings = parser.createBindings(new IJavaElement[] { type }, null);
            if (bindings[0] != null) {
                ITypeBinding typeBinding = (ITypeBinding) bindings[0];
                return computeNonNullState(typeBinding, selector.name);
            }
        }
        return null;
    } catch (Exception e) {
        return Boolean.FALSE;
    }
}