<!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:37 GMT 2011 --> <TITLE> ToItemCompiler </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="ToItemCompiler"; } } </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/ToBooleanCompiler.html" title="class in com.saxonica.bytecode"><B>PREV CLASS</B></A> <A HREF="../../../com/saxonica/bytecode/ToIteratorCompiler.html" title="class in com.saxonica.bytecode"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?com/saxonica/bytecode/ToItemCompiler.html" target="_top"><B>FRAMES</B></A> <A HREF="ToItemCompiler.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 | FIELD | <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</FONT> <BR> Class ToItemCompiler</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 "><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html" title="class in com.saxonica.bytecode">com.saxonica.bytecode.ExpressionCompiler</A> <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.saxonica.bytecode.ToItemCompiler</B> </PRE> <DL> <DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../com/saxonica/bytecode/ArithmeticCompiler.html" title="class in com.saxonica.bytecode">ArithmeticCompiler</A>, <A HREF="../../../com/saxonica/bytecode/BaseURICompiler.html" title="class in com.saxonica.bytecode">BaseURICompiler</A>, <A HREF="../../../com/saxonica/bytecode/CastExpressionCompiler.html" title="class in com.saxonica.bytecode">CastExpressionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/CastToUnionCompiler.html" title="class in com.saxonica.bytecode">CastToUnionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/ComponentCompiler.html" title="class in com.saxonica.bytecode">ComponentCompiler</A>, <A HREF="../../../com/saxonica/bytecode/ContextItemCompiler.html" title="class in com.saxonica.bytecode">ContextItemCompiler</A>, <A HREF="../../../com/saxonica/bytecode/CountCompiler.html" title="class in com.saxonica.bytecode">CountCompiler</A>, <A HREF="../../../com/saxonica/bytecode/DateTimeConstructorCompiler.html" title="class in com.saxonica.bytecode">DateTimeConstructorCompiler</A>, <A HREF="../../../com/saxonica/bytecode/DocCompiler.html" title="class in com.saxonica.bytecode">DocCompiler</A>, <A HREF="../../../com/saxonica/bytecode/FirstItemExpressionCompiler.html" title="class in com.saxonica.bytecode">FirstItemExpressionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/FunctionItemExpressionCompiler.html" title="class in com.saxonica.bytecode">FunctionItemExpressionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/IdentityComparisonCompiler.html" title="class in com.saxonica.bytecode">IdentityComparisonCompiler</A>, <A HREF="../../../com/saxonica/bytecode/ItemAtCompiler.html" title="class in com.saxonica.bytecode">ItemAtCompiler</A>, <A HREF="../../../com/saxonica/bytecode/LastCompiler.html" title="class in com.saxonica.bytecode">LastCompiler</A>, <A HREF="../../../com/saxonica/bytecode/LastItemExpressionCompiler.html" title="class in com.saxonica.bytecode">LastItemExpressionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/MinimaxCompiler.html" title="class in com.saxonica.bytecode">MinimaxCompiler</A>, <A HREF="../../../com/saxonica/bytecode/NamespaceUriFnCompiler.html" title="class in com.saxonica.bytecode">NamespaceUriFnCompiler</A>, <A HREF="../../../com/saxonica/bytecode/NegateExpressionCompiler.html" title="class in com.saxonica.bytecode">NegateExpressionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/NodeNameFnCompiler.html" title="class in com.saxonica.bytecode">NodeNameFnCompiler</A>, <A HREF="../../../com/saxonica/bytecode/NumberFnCompiler.html" title="class in com.saxonica.bytecode">NumberFnCompiler</A>, <A HREF="../../../com/saxonica/bytecode/PartialApplyCompiler.html" title="class in com.saxonica.bytecode">PartialApplyCompiler</A>, <A HREF="../../../com/saxonica/bytecode/PositionCompiler.html" title="class in com.saxonica.bytecode">PositionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/QNameFnCompiler.html" title="class in com.saxonica.bytecode">QNameFnCompiler</A>, <A HREF="../../../com/saxonica/bytecode/RootExpressionCompiler.html" title="class in com.saxonica.bytecode">RootExpressionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/RootFunctionCompiler.html" title="class in com.saxonica.bytecode">RootFunctionCompiler</A>, <A HREF="../../../com/saxonica/bytecode/RoundingCompiler.html" title="class in com.saxonica.bytecode">RoundingCompiler</A>, <A HREF="../../../com/saxonica/bytecode/SingletonAtomizerCompiler.html" title="class in com.saxonica.bytecode">SingletonAtomizerCompiler</A>, <A HREF="../../../com/saxonica/bytecode/StringLengthCompiler.html" title="class in com.saxonica.bytecode">StringLengthCompiler</A>, <A HREF="../../../com/saxonica/bytecode/SumCompiler.html" title="class in com.saxonica.bytecode">SumCompiler</A>, <A HREF="../../../com/saxonica/bytecode/ToStringCompiler.html" title="class in com.saxonica.bytecode">ToStringCompiler</A>, <A HREF="../../../com/saxonica/bytecode/TupleExpressionCompiler.html" title="class in com.saxonica.bytecode">TupleExpressionCompiler</A></DD> </DL> <HR> <DL> <DT><PRE>public abstract class <B>ToItemCompiler</B><DT>extends <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html" title="class in com.saxonica.bytecode">ExpressionCompiler</A></DL> </PRE> <P> Abstract superclass for expression compilers that handle expressions returning a single item (or nothing). The compilers for such expressions must implement the compileToItem() method; they may optionally implement other methods such as compileToIterator(). <P> <P> <HR> <P> <!-- ======== 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/ToItemCompiler.html#ToItemCompiler()">ToItemCompiler</A></B>()</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/ToItemCompiler.html#compileToBoolean(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToBoolean</A></B>(<A HREF="../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> expression)</CODE> <BR> Generate bytecode to evaluate the expression as a boolean Precondition: none.</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/ToItemCompiler.html#compileToIterator(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToIterator</A></B>(<A HREF="../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> expression)</CODE> <BR> Generate bytecode to evaluate the expression as a <A HREF="../../../net/sf/saxon/om/SequenceIterator.html" title="interface in net.sf.saxon.om"><CODE>SequenceIterator</CODE></A> Precondition: none.</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/ToItemCompiler.html#compileToPush(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToPush</A></B>(<A HREF="../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> expression)</CODE> <BR> Generate bytecode to evaluate the expression in push mode Precondition: none.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../com/saxonica/bytecode/ToItemCompiler.html#returnZeroLengthStringIfNull(net.sf.saxon.expr.Expression, com.saxonica.bytecode.util.Generator, com.saxonica.bytecode.util.GeneratedMethodInfo, com.saxonica.bytecode.util.LabelInfo, int)">returnZeroLengthStringIfNull</A></B>(<A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> arg, <A HREF="../../../com/saxonica/bytecode/util/Generator.html" title="class in com.saxonica.bytecode.util">Generator</A> ga, <A HREF="../../../com/saxonica/bytecode/util/GeneratedMethodInfo.html" title="class in com.saxonica.bytecode.util">GeneratedMethodInfo</A> methodInfo, <A HREF="../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> returnLabel, int extraPops)</CODE> <BR> Utility method for use by subclasses to generate code that causes an empty string to be returned if the first argument is an empty sequence.</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_com.saxonica.bytecode.ExpressionCompiler"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class com.saxonica.bytecode.<A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html" title="class in com.saxonica.bytecode">ExpressionCompiler</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#allocateStatic(com.saxonica.bytecode.util.CompilerService, java.lang.Object)">allocateStatic</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileItemFromInt(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileItemFromInt</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileItemFromString(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileItemFromString</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToItem(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToItem</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToLoop(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression, com.saxonica.bytecode.util.LoopBodyGenerator)">compileToLoop</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToPrimitive(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression, java.lang.Class, com.saxonica.bytecode.util.OnEmpty)">compileToPrimitive</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#generateMethod(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression, org.objectweb.asm.ClassVisitor)">generateMethod</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#getConfiguration()">getConfiguration</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#handleEmptyStringResult(com.saxonica.bytecode.util.OnEmpty, com.saxonica.bytecode.util.Generator, com.saxonica.bytecode.util.GeneratedMethodInfo, com.saxonica.bytecode.util.LabelInfo)">handleEmptyStringResult</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#setConfiguration(net.sf.saxon.Configuration)">setConfiguration</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#throwXPathException(com.saxonica.bytecode.util.CompilerService, com.saxonica.bytecode.util.MessageBuilder, java.lang.String, javax.xml.transform.SourceLocator, boolean)">throwXPathException</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#throwXPathException(com.saxonica.bytecode.util.CompilerService, java.lang.String, java.lang.String, javax.xml.transform.SourceLocator, boolean)">throwXPathException</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#unboxItem(com.saxonica.bytecode.util.Generator, java.lang.Class)">unboxItem</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#verify(org.objectweb.asm.ClassWriter, java.lang.String, boolean)">verify</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#visitAnnotation(com.saxonica.bytecode.util.CompilerService, java.lang.String)">visitAnnotation</A>, <A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#visitLineNumber(com.saxonica.bytecode.util.CompilerService, com.saxonica.bytecode.util.Generator, net.sf.saxon.expr.Expression)">visitLineNumber</A></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="ToItemCompiler()"><!-- --></A><H3> ToItemCompiler</H3> <PRE> public <B>ToItemCompiler</B>()</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="compileToIterator(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)"><!-- --></A><H3> compileToIterator</H3> <PRE> public void <B>compileToIterator</B>(<A HREF="../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> expression) throws <A HREF="../../../com/saxonica/bytecode/util/CannotCompileException.html" title="class in com.saxonica.bytecode.util">CannotCompileException</A></PRE> <DL> <DD><B>Description copied from class: <CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToIterator(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">ExpressionCompiler</A></CODE></B></DD> <DD>Generate bytecode to evaluate the expression as a <A HREF="../../../net/sf/saxon/om/SequenceIterator.html" title="interface in net.sf.saxon.om"><CODE>SequenceIterator</CODE></A> Precondition: none. Postcondition: at execution time, the stack contains a SequenceIterator representing the result of the expression <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToIterator(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToIterator</A></CODE> in class <CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html" title="class in com.saxonica.bytecode">ExpressionCompiler</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>expression</CODE> - the expression to be compiled <DT><B>Throws:</B> <DD><CODE><A HREF="../../../com/saxonica/bytecode/util/CannotCompileException.html" title="class in com.saxonica.bytecode.util">CannotCompileException</A></CODE></DL> </DD> </DL> <HR> <A NAME="compileToBoolean(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)"><!-- --></A><H3> compileToBoolean</H3> <PRE> public void <B>compileToBoolean</B>(<A HREF="../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> expression) throws <A HREF="../../../com/saxonica/bytecode/util/CannotCompileException.html" title="class in com.saxonica.bytecode.util">CannotCompileException</A></PRE> <DL> <DD><B>Description copied from class: <CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToBoolean(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">ExpressionCompiler</A></CODE></B></DD> <DD>Generate bytecode to evaluate the expression as a boolean Precondition: none. Postcondition: at execution time, the stack contains an integer (0=false, 1=true) representing the result of the expression <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToBoolean(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToBoolean</A></CODE> in class <CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html" title="class in com.saxonica.bytecode">ExpressionCompiler</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>expression</CODE> - the expression to be compiled <DT><B>Throws:</B> <DD><CODE><A HREF="../../../com/saxonica/bytecode/util/CannotCompileException.html" title="class in com.saxonica.bytecode.util">CannotCompileException</A></CODE></DL> </DD> </DL> <HR> <A NAME="compileToPush(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)"><!-- --></A><H3> compileToPush</H3> <PRE> public void <B>compileToPush</B>(<A HREF="../../../com/saxonica/bytecode/util/CompilerService.html" title="class in com.saxonica.bytecode.util">CompilerService</A> compiler, <A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> expression) throws <A HREF="../../../com/saxonica/bytecode/util/CannotCompileException.html" title="class in com.saxonica.bytecode.util">CannotCompileException</A></PRE> <DL> <DD><B>Description copied from class: <CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToPush(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">ExpressionCompiler</A></CODE></B></DD> <DD>Generate bytecode to evaluate the expression in push mode Precondition: none. Postcondition: at execution time, the stack is unchanged, and the value of the expression has been written to the current receiver <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html#compileToPush(com.saxonica.bytecode.util.CompilerService, net.sf.saxon.expr.Expression)">compileToPush</A></CODE> in class <CODE><A HREF="../../../com/saxonica/bytecode/ExpressionCompiler.html" title="class in com.saxonica.bytecode">ExpressionCompiler</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>compiler</CODE> - the compiler service<DD><CODE>expression</CODE> - the expression to be compiled <DT><B>Throws:</B> <DD><CODE><A HREF="../../../com/saxonica/bytecode/util/CannotCompileException.html" title="class in com.saxonica.bytecode.util">CannotCompileException</A></CODE></DL> </DD> </DL> <HR> <A NAME="returnZeroLengthStringIfNull(net.sf.saxon.expr.Expression, com.saxonica.bytecode.util.Generator, com.saxonica.bytecode.util.GeneratedMethodInfo, com.saxonica.bytecode.util.LabelInfo, int)"><!-- --></A><H3> returnZeroLengthStringIfNull</H3> <PRE> protected void <B>returnZeroLengthStringIfNull</B>(<A HREF="../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> arg, <A HREF="../../../com/saxonica/bytecode/util/Generator.html" title="class in com.saxonica.bytecode.util">Generator</A> ga, <A HREF="../../../com/saxonica/bytecode/util/GeneratedMethodInfo.html" title="class in com.saxonica.bytecode.util">GeneratedMethodInfo</A> methodInfo, <A HREF="../../../com/saxonica/bytecode/util/LabelInfo.html" title="class in com.saxonica.bytecode.util">LabelInfo</A> returnLabel, int extraPops)</PRE> <DL> <DD>Utility method for use by subclasses to generate code that causes an empty string to be returned if the first argument is an empty sequence. Precondition: the value of the first argument is on the stack, either as a string or as an item Postcondition: either the control has jumped to the return label with a zero-length string on the stack, or control drops through with the value of the first argument still on the stack (as supplied). <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>arg</CODE> - the first argument<DD><CODE>ga</CODE> - the Generator<DD><CODE>methodInfo</CODE> - the method information<DD><CODE>returnLabel</CODE> - the label to jump to on completion<DD><CODE>extraPops</CODE> - items (other than the string being tested) that need to be popped of the stack if jumping to the return label</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/ToBooleanCompiler.html" title="class in com.saxonica.bytecode"><B>PREV CLASS</B></A> <A HREF="../../../com/saxonica/bytecode/ToIteratorCompiler.html" title="class in com.saxonica.bytecode"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?com/saxonica/bytecode/ToItemCompiler.html" target="_top"><B>FRAMES</B></A> <A HREF="ToItemCompiler.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 | FIELD | <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>