Example usage for org.eclipse.jdt.core.dom BindingResolver BindingResolver

List of usage examples for org.eclipse.jdt.core.dom BindingResolver BindingResolver

Introduction

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

Prototype

BindingResolver() 

Source Link

Document

Creates a binding resolver.

Usage

From source file:org.eclipse.jdt.core.dom.CompilationUnitResolver.java

License:Open Source License

public static CompilationUnit convert(CompilationUnitDeclaration compilationUnitDeclaration, char[] source,
        int apiLevel, Map options, boolean needToResolveBindings, WorkingCopyOwner owner,
        DefaultBindingResolver.BindingTables bindingTables, int flags, IProgressMonitor monitor,
        boolean fromJavaProject) {
    BindingResolver resolver = null;/*from   w w w  .java2 s.c  o m*/
    AST ast = AST.newAST(apiLevel);
    ast.setDefaultNodeFlag(ASTNode.ORIGINAL);
    CompilationUnit compilationUnit = null;
    ASTConverter converter = new ASTConverter(options, needToResolveBindings, monitor);
    if (needToResolveBindings) {
        resolver = new DefaultBindingResolver(compilationUnitDeclaration.scope, owner, bindingTables,
                (flags & ICompilationUnit.ENABLE_BINDINGS_RECOVERY) != 0, fromJavaProject);
        ast.setFlag(flags | AST.RESOLVED_BINDINGS);
    } else {
        resolver = new BindingResolver();
        ast.setFlag(flags);
    }
    ast.setBindingResolver(resolver);
    converter.setAST(ast);
    compilationUnit = converter.convert(compilationUnitDeclaration, source);
    compilationUnit.setLineEndTable(compilationUnitDeclaration.compilationResult.getLineSeparatorPositions());
    ast.setDefaultNodeFlag(0);
    ast.setOriginalModificationCount(ast.modificationCount());
    return compilationUnit;
}