blob: 186f22e433596ffe1007fd45e613c846dcb082ab [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_12) on Fri May 30 11:15:54 CDT 2008 -->
<TITLE>
ASTRequestor
</TITLE>
<META NAME="keywords" CONTENT="org.eclipse.wst.jsdt.core.dom.ASTRequestor class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ASTRequestor";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ASTRequestor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTParser.html" title="class in org.eclipse.wst.jsdt.core.dom"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTVisitor.html" title="class in org.eclipse.wst.jsdt.core.dom"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/wst/jsdt/core/dom/ASTRequestor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ASTRequestor.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.eclipse.wst.jsdt.core.dom</FONT>
<BR>
Class ASTRequestor</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.eclipse.wst.jsdt.core.dom.ASTRequestor</B>
</PRE>
<HR>
<DL>
<DT><PRE>public abstract class <B>ASTRequestor</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
An AST requestor handles ASTs for javaScript units passed to
<code>ASTParser.createASTs</code>.
<p>
<code>ASTRequestor.acceptAST</code> is called for each of the
javaScript units passed to <code>ASTParser.createASTs</code>.
After all the javaScript units have been processed,
<code>ASTRequestor.acceptBindings</code> is called for each
of the binding keys passed to <code>ASTParser.createASTs</code>.
</p>
<p>
This class is intended to be subclassed by clients.
AST requestors are serially reusable, but neither reentrant nor
thread-safe.
</p>
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><CODE>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.</CODE></DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTRequestor.html#acceptAST(org.eclipse.wst.jsdt.core.IJavaScriptUnit, org.eclipse.wst.jsdt.core.dom.JavaScriptUnit)">acceptAST</A></B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/IJavaScriptUnit.html" title="interface in org.eclipse.wst.jsdt.core">IJavaScriptUnit</A>&nbsp;source,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/JavaScriptUnit.html" title="class in org.eclipse.wst.jsdt.core.dom">JavaScriptUnit</A>&nbsp;ast)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Accepts an AST corresponding to the javaScript unit.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTRequestor.html#acceptBinding(java.lang.String, org.eclipse.wst.jsdt.core.dom.IBinding)">acceptBinding</A></B>(java.lang.String&nbsp;bindingKey,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/IBinding.html" title="interface in org.eclipse.wst.jsdt.core.dom">IBinding</A>&nbsp;binding)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Accepts a binding corresponding to the binding key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/IBinding.html" title="interface in org.eclipse.wst.jsdt.core.dom">IBinding</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTRequestor.html#createBindings(java.lang.String[])">createBindings</A></B>(java.lang.String[]&nbsp;bindingKeys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves bindings for the given binding keys.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="acceptAST(org.eclipse.wst.jsdt.core.IJavaScriptUnit, org.eclipse.wst.jsdt.core.dom.JavaScriptUnit)"><!-- --></A><H3>
acceptAST</H3>
<PRE>
public void <B>acceptAST</B>(<A HREF="../../../../../../org/eclipse/wst/jsdt/core/IJavaScriptUnit.html" title="interface in org.eclipse.wst.jsdt.core">IJavaScriptUnit</A>&nbsp;source,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/JavaScriptUnit.html" title="class in org.eclipse.wst.jsdt.core.dom">JavaScriptUnit</A>&nbsp;ast)</PRE>
<DL>
<DD>Accepts an AST corresponding to the javaScript unit.
That is, <code>ast</code> is an AST for <code>source</code>.
<p>
The default implementation of this method does nothing.
Clients should override to process the resulting AST.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>source</CODE> - the javaScript unit the ast is coming from<DD><CODE>ast</CODE> - the requested abtract syntax tree</DL>
</DD>
</DL>
<HR>
<A NAME="acceptBinding(java.lang.String, org.eclipse.wst.jsdt.core.dom.IBinding)"><!-- --></A><H3>
acceptBinding</H3>
<PRE>
public void <B>acceptBinding</B>(java.lang.String&nbsp;bindingKey,
<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/IBinding.html" title="interface in org.eclipse.wst.jsdt.core.dom">IBinding</A>&nbsp;binding)</PRE>
<DL>
<DD>Accepts a binding corresponding to the binding key.
That is, <code>binding</code> is the binding for
<code>bindingKey</code>; <code>binding</code> is <code>null</code>
if the key cannot be resolved.
<p>
The default implementation of this method does nothing.
Clients should override to process the resulting binding.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bindingKey</CODE> - the key of the requested binding<DD><CODE>binding</CODE> - the requested binding, or <code>null</code> if none</DL>
</DD>
</DL>
<HR>
<A NAME="createBindings(java.lang.String[])"><!-- --></A><H3>
createBindings</H3>
<PRE>
public final <A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/IBinding.html" title="interface in org.eclipse.wst.jsdt.core.dom">IBinding</A>[] <B>createBindings</B>(java.lang.String[]&nbsp;bindingKeys)</PRE>
<DL>
<DD>Resolves bindings for the given binding keys.
The given binding keys must have been obtained earlier
using <A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/IBinding.html#getKey()"><CODE>IBinding.getKey()</CODE></A>.
<p>
If a binding key cannot be resolved, <code>null</code> is put in the resulting array.
Bindings can only be resolved in the dynamic scope of a <code>ASTParser.createASTs</code>,
and only if <code>ASTParser.resolveBindings(true)</code> was specified.
</p>
<p>
Caveat: During an <code>acceptAST</code> callback, there are implementation
limitations concerning the look up of binding keys representing local elements.
In some cases, the binding is unavailable, and <code>null</code> will be returned.
This is only an issue during an <code>acceptAST</code> 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 <code>acceptAST</code> callbacks, or for top-level types and their
members even within <code>acceptAST</code> callbacks.
</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bindingKeys</CODE> - the binding keys to look up
<DT><B>Returns:</B><DD>a list of bindings paralleling the <code>bindingKeys</code> parameter,
with <code>null</code> entries for keys that could not be resolved</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ASTRequestor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTParser.html" title="class in org.eclipse.wst.jsdt.core.dom"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/eclipse/wst/jsdt/core/dom/ASTVisitor.html" title="class in org.eclipse.wst.jsdt.core.dom"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/eclipse/wst/jsdt/core/dom/ASTRequestor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ASTRequestor.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>