<!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.6.0_18) on Fri Dec 09 20:47:40 GMT 2011 --> <TITLE> Generator </TITLE> <META NAME="date" CONTENT="2011-12-09"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="Generator"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= 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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/saxonica/bytecode/util/GeneratedMethodInfo.LocalSlotInfo.html" title="class in com.saxonica.bytecode.util"><B>PREV CLASS</B></A> <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/saxonica/bytecode/util/Generator.html" target="_top"><B>FRAMES</B></A> <A HREF="Generator.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | <A HREF="#fields_inherited_from_class_org.objectweb.asm.commons.GeneratorAdapter">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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"> com.saxonica.bytecode.util</FONT> <BR> Class Generator</H2> <PRE> <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.objectweb.asm.MethodAdapter <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.objectweb.asm.commons.LocalVariablesSorter <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.objectweb.asm.commons.GeneratorAdapter <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.saxonica.bytecode.util.Generator</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD>org.objectweb.asm.MethodVisitor</DD> </DL> <HR> <DL> <DT><PRE>public class <B>Generator</B><DT>extends org.objectweb.asm.commons.GeneratorAdapter</DL> </PRE> <P> This class is an extension of the ASM-supplied GeneratorAdapter library, containing additional utility and shortcut methods for bytecode generation <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> </TABLE> <A NAME="fields_inherited_from_class_org.objectweb.asm.commons.GeneratorAdapter"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Fields inherited from class org.objectweb.asm.commons.GeneratorAdapter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>ADD, AND, DIV, EQ, GE, GT, LE, LT, MUL, NE, NEG, OR, REM, SHL, SHR, SUB, USHR, XOR</CODE></TD> </TR> </TABLE> <A NAME="fields_inherited_from_class_org.objectweb.asm.commons.LocalVariablesSorter"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Fields inherited from class org.objectweb.asm.commons.LocalVariablesSorter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>firstLocal, nextLocal</CODE></TD> </TR> </TABLE> <A NAME="fields_inherited_from_class_org.objectweb.asm.MethodAdapter"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Fields inherited from class org.objectweb.asm.MethodAdapter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>mv</CODE></TD> </TR> </TABLE> <!-- ======== 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><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#Generator(int, org.objectweb.asm.commons.Method, org.objectweb.asm.ClassVisitor)">Generator</A></B>(int access, org.objectweb.asm.commons.Method method, org.objectweb.asm.ClassVisitor cv)</CODE> <BR> </TD> </TR> </TABLE> <!-- ========== 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> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#addComment(com.saxonica.bytecode.util.CompilerService, java.lang.String)">addComment</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE> <BR> Add a comment (in the form of an unused label) to the code listing</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#checkClass(java.lang.Class)">checkClass</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</CODE> <BR> Generate a "checking" cast instruction, given a Class the check against.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#concatenateStrings(int)">concatenateStrings</A></B>(int n)</CODE> <BR> Generate code to concatenate a sequence of string objects.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#getInstanceField(java.lang.Class, java.lang.String)">getInstanceField</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> fieldName)</CODE> <BR> Helper method to get an instance-level field of an object</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> org.objectweb.asm.Type</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#getLocalType(int)">getLocalType</A></B>(int local)</CODE> <BR> Returns the type of the given local variable.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#getStaticField(java.lang.Class, java.lang.String, java.lang.Class)">getStaticField</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> fieldName, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> fieldClass)</CODE> <BR> Helper method to generate code that gets a static field</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#goTo(com.saxonica.bytecode.util.LabelInfo)">goTo</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> labelInfo)</CODE> <BR> Generate code to go to a LabelInfo</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#ifFalse(com.saxonica.bytecode.util.LabelInfo)">ifFalse</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</CODE> <BR> Generate code to test whether the object on top of stack is NOT an instance of a given class</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#ifInstance(java.lang.Class, com.saxonica.bytecode.util.LabelInfo)">ifInstance</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</CODE> <BR> Generate code to test whether the object on top of stack is an instance of a given class</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#ifNotInstance(java.lang.Class, com.saxonica.bytecode.util.LabelInfo)">ifNotInstance</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</CODE> <BR> Generate code to test whether the object on top of stack is NOT an instance of a given class</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#ifNotSameObject(com.saxonica.bytecode.util.LabelInfo)">ifNotSameObject</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</CODE> <BR> Generate code to test whether the two object references on top of stack refer to different objects</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#ifSameObject(com.saxonica.bytecode.util.LabelInfo)">ifSameObject</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</CODE> <BR> Generate code to test whether the two object references on top of stack refer to the same object</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#ifTrue(com.saxonica.bytecode.util.LabelInfo)">ifTrue</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</CODE> <BR> Generate code to test whether the object on top of stack is the boolean true</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#invokeConstructor(java.lang.Class, java.lang.Class...)">invokeConstructor</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>... argTypes)</CODE> <BR> Helper method to generate code that invokes a constructor.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#invokeDefaultConstructor(java.lang.Class)">invokeDefaultConstructor</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</CODE> <BR> Helper method for a zero-argument constructor.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#invokeInstanceMethod(java.lang.Class, java.lang.String, java.lang.Class...)">invokeInstanceMethod</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> methodName, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>... argTypes)</CODE> <BR> Helper method to generate code that invokes an instance method</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#invokeStaticMethod(java.lang.Class, java.lang.String, java.lang.Class...)">invokeStaticMethod</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> methodName, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>... argTypes)</CODE> <BR> Helper method to generate code that invokes a static method</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#loadArgOrLocal(int)">loadArgOrLocal</A></B>(int slot)</CODE> <BR> Load a local variable or method argument</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#loadLocal(int)">loadLocal</A></B>(int local)</CODE> <BR> Generates the instruction to load the given local variable on the stack.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#newInstance(java.lang.Class)">newInstance</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</CODE> <BR> Helper method to generate code that creates a new instance of a class</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#newLocal(java.lang.Class)">newLocal</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</CODE> <BR> Helper method to generate a local bytecode variable</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#pushNull()">pushNull</A></B>()</CODE> <BR> Push "null" onto the stack</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#showIntVariable(com.saxonica.bytecode.util.CompilerService, java.lang.String, int)">showIntVariable</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name, int slot)</CODE> <BR> Generate code to output the value of a run-time variable (which must hold an int)</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#showLongVariable(com.saxonica.bytecode.util.CompilerService, java.lang.String, int)">showLongVariable</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name, int slot)</CODE> <BR> Generate code to output the value of a run-time variable (which must hold a long)</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#showMessage(com.saxonica.bytecode.util.CompilerService, java.lang.String)">showMessage</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE> <BR> Generate code to output a simple diagnostic message at run-time</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#showObject(com.saxonica.bytecode.util.CompilerService, java.lang.String)">showObject</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> label)</CODE> <BR> Generate code to output the value of of the object on the top of the bytecode stack</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#showObjectVariable(com.saxonica.bytecode.util.CompilerService, java.lang.String, int)">showObjectVariable</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name, int slot)</CODE> <BR> Generate code to output the value of a run-time bytecode variable (which must hold an object)</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#storeArgOrLocal(int)">storeArgOrLocal</A></B>(int slot)</CODE> <BR> Generate code to store the value from top of stack into a local variable or method argument slot</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#storeLocal(int)">storeLocal</A></B>(int local)</CODE> <BR> Generates the instruction to store the top stack value in the given local variable.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/bytecode/util/Generator.html#visitTryCatchBlock(com.saxonica.bytecode.util.LabelInfo, com.saxonica.bytecode.util.LabelInfo, com.saxonica.bytecode.util.LabelInfo, java.lang.String)">visitTryCatchBlock</A></B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> start, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> end, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> handler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> type)</CODE> <BR> Process a try/catch block</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_org.objectweb.asm.commons.GeneratorAdapter"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class org.objectweb.asm.commons.GeneratorAdapter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>arrayLength, arrayLoad, arrayStore, box, cast, catchException, checkCast, dup, dup2, dup2X1, dup2X2, dupX1, dupX2, endMethod, getField, getStatic, goTo, ifCmp, ifICmp, ifNonNull, ifNull, ifZCmp, iinc, instanceOf, invokeConstructor, invokeDynamic, invokeInterface, invokeStatic, invokeVirtual, loadArg, loadArgArray, loadArgs, loadArgs, loadLocal, loadThis, mark, mark, math, monitorEnter, monitorExit, newArray, newInstance, newLabel, not, pop, pop2, push, push, push, push, push, push, push, putField, putStatic, ret, returnValue, setLocalType, storeArg, storeLocal, swap, swap, tableSwitch, tableSwitch, throwException, throwException, unbox, valueOf</CODE></TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_org.objectweb.asm.commons.LocalVariablesSorter"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class org.objectweb.asm.commons.LocalVariablesSorter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>newLocal, newLocalMapping, visitFrame, visitIincInsn, visitLocalVariable, visitMaxs, visitVarInsn</CODE></TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_org.objectweb.asm.MethodAdapter"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class org.objectweb.asm.MethodAdapter</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLookupSwitchInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn</CODE></TD> </TR> </TABLE> <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.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> </TR> </TABLE> <P> <!-- ========= 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="Generator(int, org.objectweb.asm.commons.Method, org.objectweb.asm.ClassVisitor)"><!-- --></A><H3> Generator</H3> <PRE> public <B>Generator</B>(int access, org.objectweb.asm.commons.Method method, org.objectweb.asm.ClassVisitor cv)</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="ifInstance(java.lang.Class, com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> ifInstance</H3> <PRE> public void <B>ifInstance</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</PRE> <DL> <DD>Generate code to test whether the object on top of stack is an instance of a given class <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class to be tested<DD><CODE>label</CODE> - the label to jump to if the current object is an instance of the class. If it is not an instance, control passes to the next instruction</DL> </DD> </DL> <HR> <A NAME="ifNotInstance(java.lang.Class, com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> ifNotInstance</H3> <PRE> public void <B>ifNotInstance</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</PRE> <DL> <DD>Generate code to test whether the object on top of stack is NOT an instance of a given class <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class to be tested<DD><CODE>label</CODE> - the label to jump to if the current object is an instance of the class. If it is not an instance, control passes to the next instruction</DL> </DD> </DL> <HR> <A NAME="goTo(com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> goTo</H3> <PRE> public void <B>goTo</B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> labelInfo)</PRE> <DL> <DD>Generate code to go to a LabelInfo <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>labelInfo</CODE> - the label to jump to</DL> </DD> </DL> <HR> <A NAME="pushNull()"><!-- --></A><H3> pushNull</H3> <PRE> public void <B>pushNull</B>()</PRE> <DL> <DD>Push "null" onto the stack <P> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="ifTrue(com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> ifTrue</H3> <PRE> public void <B>ifTrue</B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</PRE> <DL> <DD>Generate code to test whether the object on top of stack is the boolean true <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>label</CODE> - the label to jump to if the value on top of stack is true (non-zero)</DL> </DD> </DL> <HR> <A NAME="ifFalse(com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> ifFalse</H3> <PRE> public void <B>ifFalse</B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</PRE> <DL> <DD>Generate code to test whether the object on top of stack is NOT an instance of a given class <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>label</CODE> - the label to jump to if the current object is false (zero)</DL> </DD> </DL> <HR> <A NAME="ifSameObject(com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> ifSameObject</H3> <PRE> public void <B>ifSameObject</B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</PRE> <DL> <DD>Generate code to test whether the two object references on top of stack refer to the same object <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>label</CODE> - the label to jump to if the two object references are equal</DL> </DD> </DL> <HR> <A NAME="ifNotSameObject(com.saxonica.bytecode.util.LabelInfo)"><!-- --></A><H3> ifNotSameObject</H3> <PRE> public void <B>ifNotSameObject</B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> label)</PRE> <DL> <DD>Generate code to test whether the two object references on top of stack refer to different objects <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>label</CODE> - the label to jump to if the two object references are different</DL> </DD> </DL> <HR> <A NAME="checkClass(java.lang.Class)"><!-- --></A><H3> checkClass</H3> <PRE> public void <B>checkClass</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</PRE> <DL> <DD>Generate a "checking" cast instruction, given a Class the check against. <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class to be tested</DL> </DD> </DL> <HR> <A NAME="addComment(com.saxonica.bytecode.util.CompilerService, java.lang.String)"><!-- --></A><H3> addComment</H3> <PRE> public void <B>addComment</B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE> <DL> <DD>Add a comment (in the form of an unused label) to the code listing <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>message</CODE> - the comment to be added to the code</DL> </DD> </DL> <HR> <A NAME="showMessage(com.saxonica.bytecode.util.CompilerService, java.lang.String)"><!-- --></A><H3> showMessage</H3> <PRE> public void <B>showMessage</B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE> <DL> <DD>Generate code to output a simple diagnostic message at run-time <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>message</CODE> - the message to be output at run-time</DL> </DD> </DL> <HR> <A NAME="showObject(com.saxonica.bytecode.util.CompilerService, java.lang.String)"><!-- --></A><H3> showObject</H3> <PRE> public void <B>showObject</B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> label)</PRE> <DL> <DD>Generate code to output the value of of the object on the top of the bytecode stack <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>label</CODE> - a label used to prefix the message to be output at run-time</DL> </DD> </DL> <HR> <A NAME="showObjectVariable(com.saxonica.bytecode.util.CompilerService, java.lang.String, int)"><!-- --></A><H3> showObjectVariable</H3> <PRE> public void <B>showObjectVariable</B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name, int slot)</PRE> <DL> <DD>Generate code to output the value of a run-time bytecode variable (which must hold an object) <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>name</CODE> - a label used to prefix the message to be output at run-time, typically the variable name<DD><CODE>slot</CODE> - the slot number on the bytecode stack whose value is to be displayed</DL> </DD> </DL> <HR> <A NAME="showLongVariable(com.saxonica.bytecode.util.CompilerService, java.lang.String, int)"><!-- --></A><H3> showLongVariable</H3> <PRE> public void <B>showLongVariable</B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name, int slot)</PRE> <DL> <DD>Generate code to output the value of a run-time variable (which must hold a long) <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>name</CODE> - a label used to prefix the message to be output at run-time, typically the variable name<DD><CODE>slot</CODE> - the slot number on the bytecode stack whose value is to be displayed</DL> </DD> </DL> <HR> <A NAME="showIntVariable(com.saxonica.bytecode.util.CompilerService, java.lang.String, int)"><!-- --></A><H3> showIntVariable</H3> <PRE> public void <B>showIntVariable</B>(<A HREF="../../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name, int slot)</PRE> <DL> <DD>Generate code to output the value of a run-time variable (which must hold an int) <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>name</CODE> - a label used to prefix the message to be output at run-time, typically the variable name<DD><CODE>slot</CODE> - the slot number on the bytecode stack whose value is to be displayed</DL> </DD> </DL> <HR> <A NAME="getStaticField(java.lang.Class, java.lang.String, java.lang.Class)"><!-- --></A><H3> getStaticField</H3> <PRE> public void <B>getStaticField</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> fieldName, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> fieldClass)</PRE> <DL> <DD>Helper method to generate code that gets a static field <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class on which the field is defined<DD><CODE>fieldName</CODE> - the name of the field to be fetched<DD><CODE>fieldClass</CODE> - the class of the field to be fetched</DL> </DD> </DL> <HR> <A NAME="invokeStaticMethod(java.lang.Class, java.lang.String, java.lang.Class...)"><!-- --></A><H3> invokeStaticMethod</H3> <PRE> public void <B>invokeStaticMethod</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> methodName, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>... argTypes)</PRE> <DL> <DD>Helper method to generate code that invokes a static method <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class on which the method is defined<DD><CODE>methodName</CODE> - the name of the method to be invoked<DD><CODE>argTypes</CODE> - the classes of the arguments to the method <DT><B>Throws:</B> <DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang">AssertionError</A></CODE> - if no suitable method is defined on this class</DL> </DD> </DL> <HR> <A NAME="invokeInstanceMethod(java.lang.Class, java.lang.String, java.lang.Class...)"><!-- --></A><H3> invokeInstanceMethod</H3> <PRE> public void <B>invokeInstanceMethod</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> methodName, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>... argTypes)</PRE> <DL> <DD>Helper method to generate code that invokes an instance method <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the instance class on which the method is defined<DD><CODE>methodName</CODE> - the name of the method to be invoked<DD><CODE>argTypes</CODE> - the classes of the arguments to the method <DT><B>Throws:</B> <DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang">AssertionError</A></CODE> - if no suitable method is defined on this interface</DL> </DD> </DL> <HR> <A NAME="getInstanceField(java.lang.Class, java.lang.String)"><!-- --></A><H3> getInstanceField</H3> <PRE> public void <B>getInstanceField</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> fieldName)</PRE> <DL> <DD>Helper method to get an instance-level field of an object <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the instance class on which the method is defined<DD><CODE>fieldName</CODE> - the name of the field to be obtained <DT><B>Throws:</B> <DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang">AssertionError</A></CODE> - if no suitable method is defined on this interface</DL> </DD> </DL> <HR> <A NAME="invokeDefaultConstructor(java.lang.Class)"><!-- --></A><H3> invokeDefaultConstructor</H3> <PRE> public void <B>invokeDefaultConstructor</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</PRE> <DL> <DD>Helper method for a zero-argument constructor. Generates code to invoke the constructor, leaving the constructed instance on the top of the bytecode stack <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class of object to be constructed</DL> </DD> </DL> <HR> <A NAME="newInstance(java.lang.Class)"><!-- --></A><H3> newInstance</H3> <PRE> public void <B>newInstance</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</PRE> <DL> <DD>Helper method to generate code that creates a new instance of a class <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class to be instantiated</DL> </DD> </DL> <HR> <A NAME="invokeConstructor(java.lang.Class, java.lang.Class...)"><!-- --></A><H3> invokeConstructor</H3> <PRE> public void <B>invokeConstructor</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>... argTypes)</PRE> <DL> <DD>Helper method to generate code that invokes a constructor. Precondition: the target of the method and all its argments are on the stack (the target must first be created using the newInstance() instruction). Postcondition: the above items are removed from the stack <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class on which the method is defined<DD><CODE>argTypes</CODE> - the classes of the arguments to the constructor <DT><B>Throws:</B> <DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/AssertionError.html?is-external=true" title="class or interface in java.lang">AssertionError</A></CODE> - if no suitable constructor is defined on this class</DL> </DD> </DL> <HR> <A NAME="newLocal(java.lang.Class)"><!-- --></A><H3> newLocal</H3> <PRE> public int <B>newLocal</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> theClass)</PRE> <DL> <DD>Helper method to generate a local bytecode variable <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>theClass</CODE> - the class of the variable <DT><B>Returns:</B><DD>the slot number allocated to the variable</DL> </DD> </DL> <HR> <A NAME="loadLocal(int)"><!-- --></A><H3> loadLocal</H3> <PRE> public void <B>loadLocal</B>(int local)</PRE> <DL> <DD>Generates the instruction to load the given local variable on the stack. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE>loadLocal</CODE> in class <CODE>org.objectweb.asm.commons.GeneratorAdapter</CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>local</CODE> - a local variable identifier, as returned by <CODE>newLocal()</CODE>.</DL> </DD> </DL> <HR> <A NAME="loadArgOrLocal(int)"><!-- --></A><H3> loadArgOrLocal</H3> <PRE> public void <B>loadArgOrLocal</B>(int slot)</PRE> <DL> <DD>Load a local variable or method argument <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>slot</CODE> - the slot number to be loaded, which may represent either a method argument or a local variable</DL> </DD> </DL> <HR> <A NAME="storeLocal(int)"><!-- --></A><H3> storeLocal</H3> <PRE> public void <B>storeLocal</B>(int local)</PRE> <DL> <DD>Generates the instruction to store the top stack value in the given local variable. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE>storeLocal</CODE> in class <CODE>org.objectweb.asm.commons.GeneratorAdapter</CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>local</CODE> - a local variable identifier, as returned by <CODE>newLocal()</CODE>.</DL> </DD> </DL> <HR> <A NAME="storeArgOrLocal(int)"><!-- --></A><H3> storeArgOrLocal</H3> <PRE> public void <B>storeArgOrLocal</B>(int slot)</PRE> <DL> <DD>Generate code to store the value from top of stack into a local variable or method argument slot <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>slot</CODE> - the slot number to be used, which may represent either a method argument or a local variable</DL> </DD> </DL> <HR> <A NAME="getLocalType(int)"><!-- --></A><H3> getLocalType</H3> <PRE> public org.objectweb.asm.Type <B>getLocalType</B>(int local)</PRE> <DL> <DD>Returns the type of the given local variable. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE>getLocalType</CODE> in class <CODE>org.objectweb.asm.commons.GeneratorAdapter</CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>local</CODE> - a local variable identifier, as returned by <CODE>newLocal()</CODE>. <DT><B>Returns:</B><DD>the type of the given local variable.</DL> </DD> </DL> <HR> <A NAME="visitTryCatchBlock(com.saxonica.bytecode.util.LabelInfo, com.saxonica.bytecode.util.LabelInfo, com.saxonica.bytecode.util.LabelInfo, java.lang.String)"><!-- --></A><H3> visitTryCatchBlock</H3> <PRE> public void <B>visitTryCatchBlock</B>(<A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> start, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> end, <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> handler, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> type)</PRE> <DL> <DD>Process a try/catch block <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>start</CODE> - the label for the start of the try block<DD><CODE>end</CODE> - the label for the end of the try block<DD><CODE>handler</CODE> - the label for the catch block<DD><CODE>type</CODE> - the type</DL> </DD> </DL> <HR> <A NAME="concatenateStrings(int)"><!-- --></A><H3> concatenateStrings</H3> <PRE> public void <B>concatenateStrings</B>(int n)</PRE> <DL> <DD>Generate code to concatenate a sequence of string objects. The strings must be on the stack, in order. On completion, the concatenated string is on the top of the bytecode stack <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>n</CODE> - the number of strings to be concatenated</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> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/saxonica/bytecode/util/GeneratedMethodInfo.LocalSlotInfo.html" title="class in com.saxonica.bytecode.util"><B>PREV CLASS</B></A> <A HREF="../../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/saxonica/bytecode/util/Generator.html" target="_top"><B>FRAMES</B></A> <A HREF="Generator.html" target="_top"><B>NO FRAMES</B></A> <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: NESTED | <A HREF="#fields_inherited_from_class_org.objectweb.asm.commons.GeneratorAdapter">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> Copyright (c) 2004-2011 Saxonica Limited. All rights reserved. </BODY> </HTML>