public abstract class ASTRequestor
extends java.lang.Object
ASTParser.createASTs.
ASTRequestor.acceptAST is called for each of the
javaScript units passed to ASTParser.createASTs.
After all the javaScript 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.
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.| Modifier | Constructor and Description |
|---|---|
protected |
ASTRequestor()
Creates a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
acceptAST(IJavaScriptUnit source,
JavaScriptUnit ast)
Accepts an AST corresponding to the javaScript unit.
|
void |
acceptBinding(java.lang.String bindingKey,
IBinding binding)
Accepts a binding corresponding to the binding key.
|
IBinding[] |
createBindings(java.lang.String[] bindingKeys)
Resolves bindings for the given binding keys.
|
public void acceptAST(IJavaScriptUnit source, JavaScriptUnit ast)
ast is an AST for source.
The default implementation of this method does nothing. Clients should override to process the resulting AST.
source - the javaScript unit the ast is coming fromast - the requested abtract syntax treepublic void acceptBinding(java.lang.String bindingKey,
IBinding binding)
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.
bindingKey - the key of the requested bindingbinding - the requested binding, or null if nonepublic final IBinding[] createBindings(java.lang.String[] bindingKeys)
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.
bindingKeys - the binding keys to look upbindingKeys parameter,
with null entries for keys that could not be resolvedCopyright (c) IBM Corp. and others 2000, 2016. All Rights Reserved.