blob: b5335582d247bdd98beccb358cf94370420d728f [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_18) on Sun Apr 01 21:18:25 PDT 2012 -->
<TITLE>
MethodGenerator.LocalVariableRegistry
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xalan.xsltc.compiler.util.MethodGenerator.LocalVariableRegistry class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="MethodGenerator.LocalVariableRegistry";
}
</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/MethodGenerator.LocalVariableRegistry.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-all.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/apache/xalan/xsltc/compiler/util/MethodGenerator.Chunk.html" title="class in org.apache.xalan.xsltc.compiler.util"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodType.html" title="class in org.apache.xalan.xsltc.compiler.util"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MethodGenerator.LocalVariableRegistry.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;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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.apache.xalan.xsltc.compiler.util</FONT>
<BR>
Class MethodGenerator.LocalVariableRegistry</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.xalan.xsltc.compiler.util.MethodGenerator.LocalVariableRegistry</B>
</PRE>
<DL>
<DT><B>Enclosing class:</B><DD><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.html" title="class in org.apache.xalan.xsltc.compiler.util">MethodGenerator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>protected class <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.html#line.269"><B>MethodGenerator.LocalVariableRegistry</B></A><DT>extends java.lang.Object</DL>
</PRE>
<P>
Keeps track of all local variables used in the method.
<p>The
<CODE>MethodGen#addLocalVariable(String,Type,InstructionHandle,InstructionHandle)</CODE></code>
and
<CODE>MethodGen#addLocalVariable(String,Type,int,InstructionHandle,InstructionHandle)</CODE></code>
methods of <CODE>MethodGen</CODE> will only keep track of
<CODE>LocalVariableGen</CODE> object until it'ss removed by a call to
<CODE>MethodGen#removeLocalVariable(LocalVariableGen)</CODE>.</p>
<p>In order to support efficient copying of local variables to outlined
methods by
<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.html#outline(InstructionHandle, InstructionHandle, java.lang.String, org.apache.xalan.xsltc.compiler.util.ClassGenerator)"><CODE>MethodGenerator.outline(InstructionHandle,InstructionHandle,String,ClassGenerator)</CODE></A>,
this class keeps track of all local variables defined by the method.</p>
<P>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.HashMap</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#_nameToLVGMap">_nameToLVGMap</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a name to a <CODE>LocalVariableGen</CODE></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.ArrayList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#_variables">_variables</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A <code>java.lang.ArrayList</code> of all
<CODE>LocalVariableGen</CODE>s created for this method, indexed by the
slot number of the local variable.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#MethodGenerator.LocalVariableRegistry()">MethodGenerator.LocalVariableRegistry</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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>protected &nbsp;LocalVariableGen[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#getLocals(boolean)">getLocals</A></B>(boolean&nbsp;includeRemoved)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets all <CODE>LocalVariableGen</CODE> objects for this method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;LocalVariableGen</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#lookUpByName(java.lang.String)">lookUpByName</A></B>(java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the name of a variable, finds a <CODE>LocalVariableGen</CODE>
corresponding to it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;LocalVariableGen</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#lookupRegisteredLocalVariable(int, int)">lookupRegisteredLocalVariable</A></B>(int&nbsp;slot,
int&nbsp;offset)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find which <CODE>LocalVariableGen</CODE>, if any, is registered for a
particular JVM local stack frame slot at a particular position in the
byte code for the method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#registerByName(LocalVariableGen)">registerByName</A></B>(LocalVariableGen&nbsp;lvg)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set up a mapping of the name of the specified
<CODE>LocalVariableGen</CODE> object to the <code>LocalVariableGen</code>
itself.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#registerLocalVariable(LocalVariableGen)">registerLocalVariable</A></B>(LocalVariableGen&nbsp;lvg)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a <CODE>org.apache.bcel.generic.LocalVariableGen</CODE>
for this method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#removeByNameTracking(LocalVariableGen)">removeByNameTracking</A></B>(LocalVariableGen&nbsp;lvg)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the mapping from the name of the specified
<CODE>LocalVariableGen</CODE> to itself.</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>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="_variables"><!-- --></A><H3>
_variables</H3>
<PRE>
protected java.util.ArrayList <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.284"><B>_variables</B></A></PRE>
<DL>
<DD><p>A <code>java.lang.ArrayList</code> of all
<CODE>LocalVariableGen</CODE>s created for this method, indexed by the
slot number of the local variable. The JVM stack frame of local
variables is divided into "slots". A single slot can be used to
store more than one variable in a method, without regard to type, so
long as the byte code keeps the ranges of the two disjoint.</p>
<p>If only one registration of use of a particular slot occurs, the
corresponding entry of <code>_variables</code> contains the
<code>LocalVariableGen</code>; if more than one occurs, the
corresponding entry contains all such <code>LocalVariableGen</code>s
registered for the same slot; and if none occurs, the entry will be
<code>null</code>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="_nameToLVGMap"><!-- --></A><H3>
_nameToLVGMap</H3>
<PRE>
protected java.util.HashMap <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.289"><B>_nameToLVGMap</B></A></PRE>
<DL>
<DD>Maps a name to a <CODE>LocalVariableGen</CODE>
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="MethodGenerator.LocalVariableRegistry()"><!-- --></A><H3>
MethodGenerator.LocalVariableRegistry</H3>
<PRE>
protected <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.269"><B>MethodGenerator.LocalVariableRegistry</B></A>()</PRE>
<DL>
</DL>
<!-- ============ 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="registerLocalVariable(LocalVariableGen)"><!-- --></A><H3>
registerLocalVariable</H3>
<PRE>
protected void <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.303"><B>registerLocalVariable</B></A>(LocalVariableGen&nbsp;lvg)</PRE>
<DL>
<DD>Registers a <CODE>org.apache.bcel.generic.LocalVariableGen</CODE>
for this method.
<p><b>Preconditions:</b>
<ul>
<li>The range of instructions for <code>lvg</code> does not
overlap with the range of instructions for any
<code>LocalVariableGen</code> with the same slot index previously
registered for this method. <b><em>(Unchecked.)</em></b></li>
</ul></p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lvg</CODE> - The variable to be registered</DL>
</DD>
</DL>
<HR>
<A NAME="lookupRegisteredLocalVariable(int, int)"><!-- --></A><H3>
lookupRegisteredLocalVariable</H3>
<PRE>
protected LocalVariableGen <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.356"><B>lookupRegisteredLocalVariable</B></A>(int&nbsp;slot,
int&nbsp;offset)</PRE>
<DL>
<DD><p>Find which <CODE>LocalVariableGen</CODE>, if any, is registered for a
particular JVM local stack frame slot at a particular position in the
byte code for the method.</p>
<p><b>Preconditions:</b>
<ul>
<li>The <CODE>InstructionList#setPositions()</CODE> has been called for
the <CODE>InstructionList</CODE> associated with this
<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.html" title="class in org.apache.xalan.xsltc.compiler.util"><CODE>MethodGenerator</CODE></A>.</li>
</ul></p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>slot</CODE> - the JVM local stack frame slot number<DD><CODE>offset</CODE> - the position in the byte code
<DT><B>Returns:</B><DD>the <code>LocalVariableGen</code> for the local variable
stored in the relevant slot at the relevant offset; <code>null</code>
if there is none.</DL>
</DD>
</DL>
<HR>
<A NAME="registerByName(LocalVariableGen)"><!-- --></A><H3>
registerByName</H3>
<PRE>
protected void <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.408"><B>registerByName</B></A>(LocalVariableGen&nbsp;lvg)</PRE>
<DL>
<DD><p>Set up a mapping of the name of the specified
<CODE>LocalVariableGen</CODE> object to the <code>LocalVariableGen</code>
itself.</p>
<p>This is a bit of a hack. XSLTC is relying on the fact that the
name that is being looked up won't be duplicated, which isn't
guaranteed. It replaces code which used to call
<CODE>MethodGen#getLocalVariables()</CODE> and looped through the
<code>LocalVariableGen</code> objects it contained to find the one
with the specified name. However, <code>getLocalVariables()</code>
has the side effect of setting the start and end for any
<code>LocalVariableGen</code> which did not already have them
set, which causes problems for outlining..</p>
<p>See also <A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#lookUpByName(java.lang.String)"><CODE>lookUpByName(String)</CODE></A> and
<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#removeByNameTracking(LocalVariableGen)"><CODE>removeByNameTracking(LocalVariableGen)</CODE></A></P
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lvg</CODE> - a <code>LocalVariableGen</code></DL>
</DD>
</DL>
<HR>
<A NAME="removeByNameTracking(LocalVariableGen)"><!-- --></A><H3>
removeByNameTracking</H3>
<PRE>
protected void <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.436"><B>removeByNameTracking</B></A>(LocalVariableGen&nbsp;lvg)</PRE>
<DL>
<DD>Remove the mapping from the name of the specified
<CODE>LocalVariableGen</CODE> to itself.
See also <A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#registerByName(LocalVariableGen)"><CODE>registerByName(LocalVariableGen)</CODE></A> and
<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#lookUpByName(java.lang.String)"><CODE>lookUpByName(String)</CODE></A>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lvg</CODE> - a <code>LocalVariableGen</code></DL>
</DD>
</DL>
<HR>
<A NAME="lookUpByName(java.lang.String)"><!-- --></A><H3>
lookUpByName</H3>
<PRE>
protected LocalVariableGen <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.460"><B>lookUpByName</B></A>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD><p>Given the name of a variable, finds a <CODE>LocalVariableGen</CODE>
corresponding to it.</p>
<p>See also <A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#registerByName(LocalVariableGen)"><CODE>registerByName(LocalVariableGen)</CODE></A> and
<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#removeByNameTracking(LocalVariableGen)"><CODE>removeByNameTracking(LocalVariableGen)</CODE></A></p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> -
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>
<A NAME="getLocals(boolean)"><!-- --></A><H3>
getLocals</H3>
<PRE>
protected LocalVariableGen[] <A HREF="../../../../../../src-html/org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html#line.494"><B>getLocals</B></A>(boolean&nbsp;includeRemoved)</PRE>
<DL>
<DD><p>Gets all <CODE>LocalVariableGen</CODE> objects for this method.</p>
<p>When the <code>includeRemoved</code> argument has the value
<code>false</code>, this method replaces uses of
<CODE>MethodGen#getLocalVariables()</CODE> which has
a side-effect of setting the start and end range for any
<code>LocalVariableGen</code> if either was <code>null</code>. That
side-effect causes problems for outlining of code in XSLTC.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>includeRemoved</CODE> - Specifies whether all local variables ever
declared should be returned (<code>true</code>) or only those not
removed (<code>false</code>)
<DT><B>Returns:</B><DD>an array of <code>LocalVariableGen</code> containing all the
local variables</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/MethodGenerator.LocalVariableRegistry.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-all.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/apache/xalan/xsltc/compiler/util/MethodGenerator.Chunk.html" title="class in org.apache.xalan.xsltc.compiler.util"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/xalan/xsltc/compiler/util/MethodType.html" title="class in org.apache.xalan.xsltc.compiler.util"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/apache/xalan/xsltc/compiler/util/MethodGenerator.LocalVariableRegistry.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MethodGenerator.LocalVariableRegistry.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;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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>