Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.core.dom
Class ASTRequestor


java.lang.Object
  extended by 
org.eclipse.jdt.core.dom.ASTRequestor

public abstract class ASTRequestor
extends Object

An AST requestor handles ASTs for compilation units passed to ASTParser.createASTs.

ASTRequestor.acceptAST is called for each of the compilation units passed to ASTParser.createASTs. After all the compilation units have been processed, ASTRequestor.acceptBindings is called for each of the binding keys passed to ASTParser.createASTs.

This class is intended to be subclassed by clients. AST requestors are serially reusable, but neither reentrant nor thread-safe.

Since:
3.1
See Also:
ASTParser.createASTs(ICompilationUnit[], String[], ASTRequestor, org.eclipse.core.runtime.IProgressMonitor)

Constructor Summary
protected ASTRequestor ()
          Creates a new instance.
 
Method Summary
 void acceptAST ( ICompilationUnit source, CompilationUnit ast)
          Accepts an AST corresponding to the compilation unit.
 void acceptBinding ( String bindingKey, IBinding binding)
          Accepts a binding corresponding to the binding key.
  IBinding[] createBindings ( String[] bindingKeys)
          Resolves bindings for the given binding keys.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASTRequestor

protected ASTRequestor()
Creates a new instance.

Method Detail

acceptAST

public void acceptAST(
ICompilationUnit source,
                      
CompilationUnit ast)
Accepts an AST corresponding to the compilation unit. That is, ast is an AST for source.

The default implementation of this method does nothing. Clients should override to process the resulting AST.

Parameters:
source - the compilation unit the ast is coming from
ast - the requested abtract syntax tree

acceptBinding

public void acceptBinding(
String bindingKey,
                          
IBinding binding)
Accepts a binding corresponding to the binding key. That is, binding is the binding for bindingKey; binding is null if the key cannot be resolved.

The default implementation of this method does nothing. Clients should override to process the resulting binding.

Parameters:
bindingKey - the key of the requested binding
binding - the requested binding, or null if none

createBindings

public final 
IBinding[] createBindings(
String[] bindingKeys)
Resolves bindings for the given binding keys. The given binding keys must have been obtained earlier using IBinding.getKey().

If a binding key cannot be resolved, null is put in the resulting array. Bindings can only be resolved in the dynamic scope of a ASTParser.createASTs, and only if ASTParser.resolveBindings(true) was specified.

Caveat: During an acceptAST callback, there are implementation limitations concerning the look up of binding keys representing local elements. In some cases, the binding is unavailable, and null will be returned. This is only an issue during an acceptAST callback, and only when the binding key represents a local element (e.g., local variable, local class, method declared in anonymous class). There is no such limitation outside of acceptAST callbacks, or for top-level types and their members even within acceptAST callbacks.

Parameters:
bindingKeys - the binding keys to look up
Returns:
a list of bindings paralleling the bindingKeys parameter, with null entries for keys that could not be resolved

Eclipse JDT
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire