1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<!--NewPage--> 3<HTML> 4<HEAD> 5<!-- Generated by javadoc (build 1.6.0_26) on Tue Jan 10 12:29:35 EST 2012 --> 6<TITLE> 7Code (dexmaker) 8</TITLE> 9 10<META NAME="date" CONTENT="2012-01-10"> 11 12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> 13 14<SCRIPT type="text/javascript"> 15function windowTitle() 16{ 17 if (location.href.indexOf('is-external=true') == -1) { 18 parent.document.title="Code (dexmaker)"; 19 } 20} 21</SCRIPT> 22<NOSCRIPT> 23</NOSCRIPT> 24 25</HEAD> 26 27<BODY BGCOLOR="white" onload="windowTitle();"> 28<HR> 29 30 31<!-- ========= START OF TOP NAVBAR ======= --> 32<A NAME="navbar_top"><!-- --></A> 33<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 34<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 35<TR> 36<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 37<A NAME="navbar_top_firstrow"><!-- --></A> 38<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 39 <TR ALIGN="center" VALIGN="top"> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 41 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 42 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 45 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 46 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 47 </TR> 48</TABLE> 49</TD> 50<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 51</EM> 52</TD> 53</TR> 54 55<TR> 56<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 57 <A HREF="../../../com/google/dexmaker/BinaryOp.html" title="enum in com.google.dexmaker"><B>PREV CLASS</B></A> 58 <A HREF="../../../com/google/dexmaker/Comparison.html" title="enum in com.google.dexmaker"><B>NEXT CLASS</B></A></FONT></TD> 59<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 60 <A HREF="../../../index.html?com/google/dexmaker/Code.html" target="_top"><B>FRAMES</B></A> 61 <A HREF="Code.html" target="_top"><B>NO FRAMES</B></A> 62 <SCRIPT type="text/javascript"> 63 <!-- 64 if(window==top) { 65 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 66 } 67 //--> 68</SCRIPT> 69<NOSCRIPT> 70 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 71</NOSCRIPT> 72 73 74</FONT></TD> 75</TR> 76<TR> 77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 78 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> 79<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 80DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> 81</TR> 82</TABLE> 83<A NAME="skip-navbar_top"></A> 84<!-- ========= END OF TOP NAVBAR ========= --> 85 86<HR> 87<!-- ======== START OF CLASS DATA ======== --> 88<H2> 89<FONT SIZE="-1"> 90com.google.dexmaker</FONT> 91<BR> 92Class Code</H2> 93<PRE> 94<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> 95 <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.google.dexmaker.Code</B> 96</PRE> 97<HR> 98<DL> 99<DT><PRE>public final class <B>Code</B><DT>extends <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></DL> 100</PRE> 101 102<P> 103Builds a sequence of instructions. 104 105 <h3>Locals</h3> 106 All data manipulation takes place in local variables. Each parameter gets its 107 own local by default; access these using <A HREF="../../../com/google/dexmaker/Code.html#getParameter(int, com.google.dexmaker.TypeId)"><CODE>getParameter()</CODE></A>. Non-static methods and constructors also have a <code>this</code> 108 parameter; it's available as <A HREF="../../../com/google/dexmaker/Code.html#getThis(com.google.dexmaker.TypeId)"><CODE>getThis()</CODE></A>. Allocate a new local 109 variable using <A HREF="../../../com/google/dexmaker/Code.html#newLocal(com.google.dexmaker.TypeId)"><CODE>newLocal()</CODE></A>, and assign a default value to it 110 with <A HREF="../../../com/google/dexmaker/Code.html#loadConstant(com.google.dexmaker.Local, T)"><CODE>loadConstant()</CODE></A>. Copy a value from one local to 111 another with <A HREF="../../../com/google/dexmaker/Code.html#move(com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>move()</CODE></A>. 112 113 <p>Every local variable has a fixed type. This is either a primitive type (of 114 any size) or a reference type. This class emits instructions appropriate to 115 the types they operate on. Not all operations are local on all types; 116 attempting to emit such an operation will fail with an unchecked exception. 117 118 <h3>Math and Bit Operations</h3> 119 Transform a single value into another related value using <A HREF="../../../com/google/dexmaker/Code.html#op(com.google.dexmaker.UnaryOp, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>op(UnaryOp, Local, Local)</CODE></A>. Transform two values 120 into a third value using <A HREF="../../../com/google/dexmaker/Code.html#op(com.google.dexmaker.BinaryOp, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>op(BinaryOp, 121 Local, Local, Local)</CODE></A>. In either overload the first <code>Local</code> parameter 122 is where the result will be sent; the other <code>Local</code> parameters are the 123 inputs. 124 125 <h3>Comparisons</h3> 126 There are three different comparison operations each with different 127 constraints: 128 <ul> 129 <li><A HREF="../../../com/google/dexmaker/Code.html#compareLongs(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>compareLongs()</CODE></A> compares two locals each 130 containing a <code>long</code> primitive. This is the only operation that 131 can compare longs. The result of the comparison is written to another 132 <code>int</code> local.</li> 133 <li><A HREF="../../../com/google/dexmaker/Code.html#compareFloatingPoint(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local, int)"><CODE>compareFloatingPoint()</CODE></A> compares two 134 locals; both <code>float</code> primitives or both <code>double</code> 135 primitives. This is the only operation that can compare floating 136 point values. This comparison takes an extra parameter that sets 137 the desired result if either parameter is <code>NaN</code>. The result of 138 the comparison is wrtten to another <code>int</code> local. 139 <li><A HREF="../../../com/google/dexmaker/Code.html#compare(com.google.dexmaker.Comparison, com.google.dexmaker.Label, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>compare()</CODE></A> compares two locals. The <A HREF="../../../com/google/dexmaker/Comparison.html#EQ"><CODE>Comparison.EQ</CODE></A> and <A HREF="../../../com/google/dexmaker/Comparison.html#NE"><CODE>Comparison.NE</CODE></A> options compare either 140 <code>int</code> primitives or references. The other options compare only 141 <code>int</code> primitives. This comparison takes a <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker"><CODE>Label</CODE></A> that 142 will be jumped to if the comparison is true. If the comparison is 143 false the next instruction in sequence will be executed. 144 </ul> 145 There's no single operation to compare longs and jump, or to compare ints and 146 store the result in a local. Accomplish these goals by chaining multiple 147 operations together. 148 149 <h3>Branches, Labels and Returns</h3> 150 Basic control flow is expressed using jumps and labels. Each label must be 151 marked exactly once and may be jumped to any number of times. Create a label 152 using its constructor: <code>new Label()</code>, and mark it using <A HREF="../../../com/google/dexmaker/Code.html#mark(com.google.dexmaker.Label)"><CODE>mark(Label)</CODE></A>. All jumps to a label will execute instructions starting from 153 that label. You can jump to a label that hasn't yet been marked (jumping 154 forward) or to a label that has already been marked (jumping backward). Jump 155 unconditionally with <A HREF="../../../com/google/dexmaker/Code.html#jump(com.google.dexmaker.Label)"><CODE>jump(Label)</CODE></A> or conditionally based on a 156 comparison using <A HREF="../../../com/google/dexmaker/Code.html#compare(com.google.dexmaker.Comparison, com.google.dexmaker.Label, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>compare()</CODE></A>. 157 158 <p>Most methods should contain either a return instruction. Void methods 159 should use <A HREF="../../../com/google/dexmaker/Code.html#returnVoid()"><CODE>returnVoid()</CODE></A>; non-void methods should use <A HREF="../../../com/google/dexmaker/Code.html#returnValue(com.google.dexmaker.Local)"><CODE>returnValue()</CODE></A> with a local whose return type matches the 160 method's return type. Constructors are considered void methods and should 161 call <A HREF="../../../com/google/dexmaker/Code.html#returnVoid()"><CODE>returnVoid()</CODE></A>. Methods may make multiple returns. Methods 162 containing no return statements must either loop infinitely or throw 163 unconditionally; it is not legal to end a sequence of instructions without a 164 jump, return or throw. 165 166 <h3>Throwing and Catching</h3> 167 This API uses labels to handle thrown exceptions, errors and throwables. Call 168 <A HREF="../../../com/google/dexmaker/Code.html#addCatchClause(com.google.dexmaker.TypeId, com.google.dexmaker.Label)"><CODE>addCatchClause()</CODE></A> to register the target label and 169 throwable class. All statements that follow will jump to that catch clause if 170 they throw a <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A> assignable to that type. Use <A HREF="../../../com/google/dexmaker/Code.html#removeCatchClause(com.google.dexmaker.TypeId)"><CODE>removeCatchClause()</CODE></A> to unregister the throwable class. 171 172 <p>Throw an throwable by first assigning it to a local and then calling 173 <A HREF="../../../com/google/dexmaker/Code.html#throwValue(com.google.dexmaker.Local)"><CODE>throwValue()</CODE></A>. Control flow will jump to the nearest label 174 assigned to a type assignable to the thrown type. In this context, "nearest" 175 means the label requiring the fewest stack frames to be popped. 176 177 <h3>Calling methods</h3> 178 A method's caller must know its return type, name, parameters, and invoke 179 kind. Lookup a method on a type using <A HREF="../../../com/google/dexmaker/TypeId.html#getMethod(com.google.dexmaker.TypeId, java.lang.String, com.google.dexmaker.TypeId...)"><CODE>TypeId.getMethod()</CODE></A>. This is more onerous than Java language invokes, which 180 can infer the target method using the target object and parameters. There are 181 four invoke kinds: 182 <ul> 183 <li><A HREF="../../../com/google/dexmaker/Code.html#invokeStatic(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><CODE>invokeStatic()</CODE></A> is used for static methods.</li> 184 <li><A HREF="../../../com/google/dexmaker/Code.html#invokeDirect(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><CODE>invokeDirect()</CODE></A> is used for private instance 185 methods and for constructors to call their superclass's 186 constructor.</li> 187 <li><A HREF="../../../com/google/dexmaker/Code.html#invokeInterface(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><CODE>invokeInterface()</CODE></A> is used to invoke a method 188 whose declaring type is an interface.</li> 189 <li><A HREF="../../../com/google/dexmaker/Code.html#invokeVirtual(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><CODE>invokeVirtual()</CODE></A> is used to invoke any other 190 method. The target must not be static, private, a constructor, or an 191 interface method.</li> 192 <li><A HREF="../../../com/google/dexmaker/Code.html#invokeSuper(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><CODE>invokeSuper()</CODE></A> is used to invoke the closest 193 superclass's virtual method. The target must not be static, private, 194 a constructor method, or an interface method.</li> 195 <li><A HREF="../../../com/google/dexmaker/Code.html#newInstance(com.google.dexmaker.Local, com.google.dexmaker.MethodId, com.google.dexmaker.Local...)"><CODE>newInstance()</CODE></A> is used to invoke a 196 constructor.</li> 197 </ul> 198 All invoke methods take a local for the return value. For void methods this 199 local is unused and may be null. 200 201 <h3>Field Access</h3> 202 Read static fields using <A HREF="../../../com/google/dexmaker/Code.html#sget(com.google.dexmaker.FieldId, com.google.dexmaker.Local)"><CODE>sget()</CODE></A>; write them using <A HREF="../../../com/google/dexmaker/Code.html#sput(com.google.dexmaker.FieldId, com.google.dexmaker.Local)"><CODE>sput()</CODE></A>. For instance values you'll need to specify the declaring 203 instance; use <A HREF="../../../com/google/dexmaker/Code.html#getThis(com.google.dexmaker.TypeId)"><CODE>getThis()</CODE></A> in an instance method to use <code>this</code>. Read instance values using <A HREF="../../../com/google/dexmaker/Code.html#iget(com.google.dexmaker.FieldId, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>iget()</CODE></A> and write them with 204 <A HREF="../../../com/google/dexmaker/Code.html#iput(com.google.dexmaker.FieldId, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>iput()</CODE></A>. 205 206 <h3>Array Access</h3> 207 Allocate an array using <A HREF="../../../com/google/dexmaker/Code.html#newArray(com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>newArray()</CODE></A>. Read an array's length 208 with <A HREF="../../../com/google/dexmaker/Code.html#arrayLength(com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>arrayLength()</CODE></A> and its elements with <A HREF="../../../com/google/dexmaker/Code.html#aget(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>aget()</CODE></A>. Write an array's elements with <A HREF="../../../com/google/dexmaker/Code.html#aput(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>aput()</CODE></A>. 209 210 <h3>Types</h3> 211 Use <A HREF="../../../com/google/dexmaker/Code.html#cast(com.google.dexmaker.Local, com.google.dexmaker.Local)"><CODE>cast()</CODE></A> to perform either a <strong>numeric cast</strong> or 212 a <strong>type cast</strong>. Interrogate the type of a value in a local 213 using <A HREF="../../../com/google/dexmaker/Code.html#instanceOfType(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.TypeId)"><CODE>instanceOfType()</CODE></A>. 214 215 <h3>Synchronization</h3> 216 Acquire a monitor using <A HREF="../../../com/google/dexmaker/Code.html#monitorEnter(com.google.dexmaker.Local)"><CODE>monitorEnter()</CODE></A>; release it with 217 <A HREF="../../../com/google/dexmaker/Code.html#monitorExit(com.google.dexmaker.Local)"><CODE>monitorExit()</CODE></A>. It is the caller's responsibility to 218 guarantee that enter and exit calls are balanced, even in the presence of 219 exceptions thrown. 220 221 <strong>Warning:</strong> Even if a method has the <code>synchronized</code> flag, 222 dex requires instructions to acquire and release monitors manually. A method 223 declared with <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Modifier.html?is-external=true#SYNCHRONIZED" title="class or interface in java.lang.reflect"><CODE>SYNCHRONIZED</CODE></A> 224 but without manual calls to <code>monitorEnter()</code> and <code>monitorExit()</code> 225 will not be synchronized when executed. 226<P> 227 228<P> 229<HR> 230 231<P> 232 233<!-- ========== METHOD SUMMARY =========== --> 234 235<A NAME="method_summary"><!-- --></A> 236<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 237<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 238<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 239<B>Method Summary</B></FONT></TH> 240</TR> 241<TR BGCOLOR="white" CLASS="TableRowColor"> 242<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 243<CODE> void</CODE></FONT></TD> 244<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#addCatchClause(com.google.dexmaker.TypeId, com.google.dexmaker.Label)">addCatchClause</A></B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><? extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>> toCatch, 245 <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> catchClause)</CODE> 246 247<BR> 248 Registers <code>catchClause</code> as a branch target for all instructions 249 in this frame that throw a class assignable to <code>toCatch</code>.</TD> 250</TR> 251<TR BGCOLOR="white" CLASS="TableRowColor"> 252<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 253<CODE> void</CODE></FONT></TD> 254<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#aget(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)">aget</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> target, 255 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> array, 256 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> index)</CODE> 257 258<BR> 259 Assigns <code>target</code> to the element of <code>array</code> at index <code>index</code>.</TD> 260</TR> 261<TR BGCOLOR="white" CLASS="TableRowColor"> 262<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 263<CODE> void</CODE></FONT></TD> 264<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#aput(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)">aput</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> array, 265 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> index, 266 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> source)</CODE> 267 268<BR> 269 Sets the element at <code>index</code> in <code>array</code> the value in <code>source</code>.</TD> 270</TR> 271<TR BGCOLOR="white" CLASS="TableRowColor"> 272<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 273<CODE> 274<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 275<TR ALIGN="right" VALIGN=""> 276<TD NOWRAP><FONT SIZE="-1"> 277<CODE><T> void</CODE></FONT></TD> 278</TR> 279</TABLE> 280</CODE></FONT></TD> 281<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#arrayLength(com.google.dexmaker.Local, com.google.dexmaker.Local)">arrayLength</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> target, 282 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> array)</CODE> 283 284<BR> 285 Sets <code>target</code> to the length of the array in <code>array</code>.</TD> 286</TR> 287<TR BGCOLOR="white" CLASS="TableRowColor"> 288<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 289<CODE> void</CODE></FONT></TD> 290<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#cast(com.google.dexmaker.Local, com.google.dexmaker.Local)">cast</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> target, 291 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> source)</CODE> 292 293<BR> 294 Performs either a numeric cast or a type cast.</TD> 295</TR> 296<TR BGCOLOR="white" CLASS="TableRowColor"> 297<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 298<CODE> 299<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 300<TR ALIGN="right" VALIGN=""> 301<TD NOWRAP><FONT SIZE="-1"> 302<CODE><T> void</CODE></FONT></TD> 303</TR> 304</TABLE> 305</CODE></FONT></TD> 306<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#compare(com.google.dexmaker.Comparison, com.google.dexmaker.Label, com.google.dexmaker.Local, com.google.dexmaker.Local)">compare</A></B>(<A HREF="../../../com/google/dexmaker/Comparison.html" title="enum in com.google.dexmaker">Comparison</A> comparison, 307 <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> trueLabel, 308 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> a, 309 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> b)</CODE> 310 311<BR> 312 Compare ints or references.</TD> 313</TR> 314<TR BGCOLOR="white" CLASS="TableRowColor"> 315<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 316<CODE> 317<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 318<TR ALIGN="right" VALIGN=""> 319<TD NOWRAP><FONT SIZE="-1"> 320<CODE><T extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</A>> 321<BR> 322void</CODE></FONT></TD> 323</TR> 324</TABLE> 325</CODE></FONT></TD> 326<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#compareFloatingPoint(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local, int)">compareFloatingPoint</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> target, 327 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> a, 328 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> b, 329 int nanValue)</CODE> 330 331<BR> 332 Compare floats or doubles.</TD> 333</TR> 334<TR BGCOLOR="white" CLASS="TableRowColor"> 335<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 336<CODE> void</CODE></FONT></TD> 337<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#compareLongs(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)">compareLongs</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> target, 338 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</A>> a, 339 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</A>> b)</CODE> 340 341<BR> 342 Compare longs.</TD> 343</TR> 344<TR BGCOLOR="white" CLASS="TableRowColor"> 345<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 346<CODE> 347<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 348<TR ALIGN="right" VALIGN=""> 349<TD NOWRAP><FONT SIZE="-1"> 350<CODE><T> <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T></CODE></FONT></TD> 351</TR> 352</TABLE> 353</CODE></FONT></TD> 354<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#getParameter(int, com.google.dexmaker.TypeId)">getParameter</A></B>(int index, 355 <A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><T> type)</CODE> 356 357<BR> 358 Returns the local for the parameter at index <code>index</code> and of type 359 <code>type</code>.</TD> 360</TR> 361<TR BGCOLOR="white" CLASS="TableRowColor"> 362<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 363<CODE> 364<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 365<TR ALIGN="right" VALIGN=""> 366<TD NOWRAP><FONT SIZE="-1"> 367<CODE><T> <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T></CODE></FONT></TD> 368</TR> 369</TABLE> 370</CODE></FONT></TD> 371<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#getThis(com.google.dexmaker.TypeId)">getThis</A></B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><T> type)</CODE> 372 373<BR> 374 Returns the local for <code>this</code> of type <code>type</code>.</TD> 375</TR> 376<TR BGCOLOR="white" CLASS="TableRowColor"> 377<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 378<CODE> 379<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 380<TR ALIGN="right" VALIGN=""> 381<TD NOWRAP><FONT SIZE="-1"> 382<CODE><D,V> void</CODE></FONT></TD> 383</TR> 384</TABLE> 385</CODE></FONT></TD> 386<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#iget(com.google.dexmaker.FieldId, com.google.dexmaker.Local, com.google.dexmaker.Local)">iget</A></B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><D,V> fieldId, 387 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> target, 388 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><D> instance)</CODE> 389 390<BR> 391 Copies the value in instance field <code>fieldId</code> of <code>instance</code> to 392 <code>target</code>.</TD> 393</TR> 394<TR BGCOLOR="white" CLASS="TableRowColor"> 395<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 396<CODE> void</CODE></FONT></TD> 397<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#instanceOfType(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.TypeId)">instanceOfType</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> target, 398 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> source, 399 <A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><?> type)</CODE> 400 401<BR> 402 Tests if the value in <code>source</code> is assignable to <code>type</code>.</TD> 403</TR> 404<TR BGCOLOR="white" CLASS="TableRowColor"> 405<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 406<CODE> 407<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 408<TR ALIGN="right" VALIGN=""> 409<TD NOWRAP><FONT SIZE="-1"> 410<CODE><D,R> void</CODE></FONT></TD> 411</TR> 412</TABLE> 413</CODE></FONT></TD> 414<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#invokeDirect(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)">invokeDirect</A></B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 415 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 416 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 417 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</CODE> 418 419<BR> 420 Calls <code>method</code> of <code>instance</code> using <code>args</code> and assigns 421 the result to <code>target</code>.</TD> 422</TR> 423<TR BGCOLOR="white" CLASS="TableRowColor"> 424<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 425<CODE> 426<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 427<TR ALIGN="right" VALIGN=""> 428<TD NOWRAP><FONT SIZE="-1"> 429<CODE><D,R> void</CODE></FONT></TD> 430</TR> 431</TABLE> 432</CODE></FONT></TD> 433<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#invokeInterface(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)">invokeInterface</A></B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 434 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 435 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 436 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</CODE> 437 438<BR> 439 Calls the interface method <code>method</code> of <code>instance</code> using 440 <code>args</code> and assigns the result to <code>target</code>.</TD> 441</TR> 442<TR BGCOLOR="white" CLASS="TableRowColor"> 443<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 444<CODE> 445<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 446<TR ALIGN="right" VALIGN=""> 447<TD NOWRAP><FONT SIZE="-1"> 448<CODE><R> void</CODE></FONT></TD> 449</TR> 450</TABLE> 451</CODE></FONT></TD> 452<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#invokeStatic(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local...)">invokeStatic</A></B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><?,R> method, 453 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 454 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</CODE> 455 456<BR> 457 Calls the static method <code>method</code> using <code>args</code> and assigns the 458 result to <code>target</code>.</TD> 459</TR> 460<TR BGCOLOR="white" CLASS="TableRowColor"> 461<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 462<CODE> 463<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 464<TR ALIGN="right" VALIGN=""> 465<TD NOWRAP><FONT SIZE="-1"> 466<CODE><D,R> void</CODE></FONT></TD> 467</TR> 468</TABLE> 469</CODE></FONT></TD> 470<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#invokeSuper(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)">invokeSuper</A></B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 471 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 472 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 473 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</CODE> 474 475<BR> 476 Calls the closest superclass's virtual method <code>method</code> of <code>instance</code> using <code>args</code> and assigns the result to <code>target</code>.</TD> 477</TR> 478<TR BGCOLOR="white" CLASS="TableRowColor"> 479<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 480<CODE> 481<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 482<TR ALIGN="right" VALIGN=""> 483<TD NOWRAP><FONT SIZE="-1"> 484<CODE><D,R> void</CODE></FONT></TD> 485</TR> 486</TABLE> 487</CODE></FONT></TD> 488<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#invokeVirtual(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)">invokeVirtual</A></B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 489 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 490 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 491 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</CODE> 492 493<BR> 494 Calls the non-private instance method <code>method</code> of <code>instance</code> 495 using <code>args</code> and assigns the result to <code>target</code>.</TD> 496</TR> 497<TR BGCOLOR="white" CLASS="TableRowColor"> 498<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 499<CODE> 500<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 501<TR ALIGN="right" VALIGN=""> 502<TD NOWRAP><FONT SIZE="-1"> 503<CODE><D,V> void</CODE></FONT></TD> 504</TR> 505</TABLE> 506</CODE></FONT></TD> 507<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#iput(com.google.dexmaker.FieldId, com.google.dexmaker.Local, com.google.dexmaker.Local)">iput</A></B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><D,V> fieldId, 508 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><D> instance, 509 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> source)</CODE> 510 511<BR> 512 Copies the value in <code>source</code> to the instance field <code>fieldId</code> 513 of <code>instance</code>.</TD> 514</TR> 515<TR BGCOLOR="white" CLASS="TableRowColor"> 516<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 517<CODE> void</CODE></FONT></TD> 518<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#jump(com.google.dexmaker.Label)">jump</A></B>(<A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> target)</CODE> 519 520<BR> 521 Transfers flow control to the instructions at <code>target</code>.</TD> 522</TR> 523<TR BGCOLOR="white" CLASS="TableRowColor"> 524<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 525<CODE> 526<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 527<TR ALIGN="right" VALIGN=""> 528<TD NOWRAP><FONT SIZE="-1"> 529<CODE><T> void</CODE></FONT></TD> 530</TR> 531</TABLE> 532</CODE></FONT></TD> 533<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#loadConstant(com.google.dexmaker.Local, T)">loadConstant</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 534 T value)</CODE> 535 536<BR> 537 Copies the constant value <code>value</code> to <code>target</code>.</TD> 538</TR> 539<TR BGCOLOR="white" CLASS="TableRowColor"> 540<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 541<CODE> void</CODE></FONT></TD> 542<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#mark(com.google.dexmaker.Label)">mark</A></B>(<A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> label)</CODE> 543 544<BR> 545 Start defining instructions for the named label.</TD> 546</TR> 547<TR BGCOLOR="white" CLASS="TableRowColor"> 548<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 549<CODE> void</CODE></FONT></TD> 550<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#monitorEnter(com.google.dexmaker.Local)">monitorEnter</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> monitor)</CODE> 551 552<BR> 553 Awaits the lock on <code>monitor</code>, and acquires it.</TD> 554</TR> 555<TR BGCOLOR="white" CLASS="TableRowColor"> 556<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 557<CODE> void</CODE></FONT></TD> 558<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#monitorExit(com.google.dexmaker.Local)">monitorExit</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> monitor)</CODE> 559 560<BR> 561 Releases the held lock on <code>monitor</code>.</TD> 562</TR> 563<TR BGCOLOR="white" CLASS="TableRowColor"> 564<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 565<CODE> 566<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 567<TR ALIGN="right" VALIGN=""> 568<TD NOWRAP><FONT SIZE="-1"> 569<CODE><T> void</CODE></FONT></TD> 570</TR> 571</TABLE> 572</CODE></FONT></TD> 573<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#move(com.google.dexmaker.Local, com.google.dexmaker.Local)">move</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 574 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> source)</CODE> 575 576<BR> 577 Copies the value in <code>source</code> to <code>target</code>.</TD> 578</TR> 579<TR BGCOLOR="white" CLASS="TableRowColor"> 580<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 581<CODE> 582<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 583<TR ALIGN="right" VALIGN=""> 584<TD NOWRAP><FONT SIZE="-1"> 585<CODE><T> void</CODE></FONT></TD> 586</TR> 587</TABLE> 588</CODE></FONT></TD> 589<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#newArray(com.google.dexmaker.Local, com.google.dexmaker.Local)">newArray</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 590 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> length)</CODE> 591 592<BR> 593 Assigns <code>target</code> to a newly allocated array of length <code>length</code>.</TD> 594</TR> 595<TR BGCOLOR="white" CLASS="TableRowColor"> 596<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 597<CODE> 598<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 599<TR ALIGN="right" VALIGN=""> 600<TD NOWRAP><FONT SIZE="-1"> 601<CODE><T> void</CODE></FONT></TD> 602</TR> 603</TABLE> 604</CODE></FONT></TD> 605<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#newInstance(com.google.dexmaker.Local, com.google.dexmaker.MethodId, com.google.dexmaker.Local...)">newInstance</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 606 <A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><T,<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</A>> constructor, 607 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</CODE> 608 609<BR> 610 Calls the constructor <code>constructor</code> using <code>args</code> and assigns 611 the new instance to <code>target</code>.</TD> 612</TR> 613<TR BGCOLOR="white" CLASS="TableRowColor"> 614<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 615<CODE> 616<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 617<TR ALIGN="right" VALIGN=""> 618<TD NOWRAP><FONT SIZE="-1"> 619<CODE><T> <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T></CODE></FONT></TD> 620</TR> 621</TABLE> 622</CODE></FONT></TD> 623<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#newLocal(com.google.dexmaker.TypeId)">newLocal</A></B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><T> type)</CODE> 624 625<BR> 626 Allocates a new local variable of type <code>type</code>.</TD> 627</TR> 628<TR BGCOLOR="white" CLASS="TableRowColor"> 629<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 630<CODE> 631<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 632<TR ALIGN="right" VALIGN=""> 633<TD NOWRAP><FONT SIZE="-1"> 634<CODE><T> void</CODE></FONT></TD> 635</TR> 636</TABLE> 637</CODE></FONT></TD> 638<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#op(com.google.dexmaker.BinaryOp, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)">op</A></B>(<A HREF="../../../com/google/dexmaker/BinaryOp.html" title="enum in com.google.dexmaker">BinaryOp</A> op, 639 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 640 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> a, 641 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> b)</CODE> 642 643<BR> 644 Executes <code>op</code> and sets <code>target</code> to the result.</TD> 645</TR> 646<TR BGCOLOR="white" CLASS="TableRowColor"> 647<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 648<CODE> 649<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 650<TR ALIGN="right" VALIGN=""> 651<TD NOWRAP><FONT SIZE="-1"> 652<CODE><T> void</CODE></FONT></TD> 653</TR> 654</TABLE> 655</CODE></FONT></TD> 656<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#op(com.google.dexmaker.UnaryOp, com.google.dexmaker.Local, com.google.dexmaker.Local)">op</A></B>(<A HREF="../../../com/google/dexmaker/UnaryOp.html" title="enum in com.google.dexmaker">UnaryOp</A> op, 657 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 658 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> source)</CODE> 659 660<BR> 661 Executes <code>op</code> and sets <code>target</code> to the result.</TD> 662</TR> 663<TR BGCOLOR="white" CLASS="TableRowColor"> 664<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 665<CODE> <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A></CODE></FONT></TD> 666<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#removeCatchClause(com.google.dexmaker.TypeId)">removeCatchClause</A></B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><? extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>> toCatch)</CODE> 667 668<BR> 669 Deregisters the catch clause label for <code>toCatch</code> and returns it.</TD> 670</TR> 671<TR BGCOLOR="white" CLASS="TableRowColor"> 672<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 673<CODE> void</CODE></FONT></TD> 674<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#returnValue(com.google.dexmaker.Local)">returnValue</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> result)</CODE> 675 676<BR> 677 Returns the value in <code>result</code> to the calling method.</TD> 678</TR> 679<TR BGCOLOR="white" CLASS="TableRowColor"> 680<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 681<CODE> void</CODE></FONT></TD> 682<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#returnVoid()">returnVoid</A></B>()</CODE> 683 684<BR> 685 Returns from a <code>void</code> method.</TD> 686</TR> 687<TR BGCOLOR="white" CLASS="TableRowColor"> 688<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 689<CODE> 690<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 691<TR ALIGN="right" VALIGN=""> 692<TD NOWRAP><FONT SIZE="-1"> 693<CODE><V> void</CODE></FONT></TD> 694</TR> 695</TABLE> 696</CODE></FONT></TD> 697<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#sget(com.google.dexmaker.FieldId, com.google.dexmaker.Local)">sget</A></B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><?,V> fieldId, 698 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> target)</CODE> 699 700<BR> 701 Copies the value in <code>target</code> to the static field <code>fieldId</code>.</TD> 702</TR> 703<TR BGCOLOR="white" CLASS="TableRowColor"> 704<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 705<CODE> 706<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> 707<TR ALIGN="right" VALIGN=""> 708<TD NOWRAP><FONT SIZE="-1"> 709<CODE><V> void</CODE></FONT></TD> 710</TR> 711</TABLE> 712</CODE></FONT></TD> 713<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#sput(com.google.dexmaker.FieldId, com.google.dexmaker.Local)">sput</A></B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><?,V> fieldId, 714 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> source)</CODE> 715 716<BR> 717 Copies the value in <code>source</code> to the static field <code>fieldId</code>.</TD> 718</TR> 719<TR BGCOLOR="white" CLASS="TableRowColor"> 720<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 721<CODE> void</CODE></FONT></TD> 722<TD><CODE><B><A HREF="../../../com/google/dexmaker/Code.html#throwValue(com.google.dexmaker.Local)">throwValue</A></B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>> toThrow)</CODE> 723 724<BR> 725 Throws the throwable in <code>toThrow</code>.</TD> 726</TR> 727</TABLE> 728 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 729<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 730<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 731<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> 732</TR> 733<TR BGCOLOR="white" CLASS="TableRowColor"> 734<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> 735</TR> 736</TABLE> 737 738<P> 739 740<!-- ============ METHOD DETAIL ========== --> 741 742<A NAME="method_detail"><!-- --></A> 743<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 744<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 745<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 746<B>Method Detail</B></FONT></TH> 747</TR> 748</TABLE> 749 750<A NAME="newLocal(com.google.dexmaker.TypeId)"><!-- --></A><H3> 751newLocal</H3> 752<PRE> 753public <T> <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> <B>newLocal</B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><T> type)</PRE> 754<DL> 755<DD>Allocates a new local variable of type <code>type</code>. It is an error to 756 allocate a local after instructions have been emitted. 757<P> 758<DD><DL> 759</DL> 760</DD> 761</DL> 762<HR> 763 764<A NAME="getParameter(int, com.google.dexmaker.TypeId)"><!-- --></A><H3> 765getParameter</H3> 766<PRE> 767public <T> <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> <B>getParameter</B>(int index, 768 <A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><T> type)</PRE> 769<DL> 770<DD>Returns the local for the parameter at index <code>index</code> and of type 771 <code>type</code>. 772<P> 773<DD><DL> 774</DL> 775</DD> 776</DL> 777<HR> 778 779<A NAME="getThis(com.google.dexmaker.TypeId)"><!-- --></A><H3> 780getThis</H3> 781<PRE> 782public <T> <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> <B>getThis</B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><T> type)</PRE> 783<DL> 784<DD>Returns the local for <code>this</code> of type <code>type</code>. It is an error 785 to call <code>getThis()</code> if this is a static method. 786<P> 787<DD><DL> 788</DL> 789</DD> 790</DL> 791<HR> 792 793<A NAME="mark(com.google.dexmaker.Label)"><!-- --></A><H3> 794mark</H3> 795<PRE> 796public void <B>mark</B>(<A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> label)</PRE> 797<DL> 798<DD>Start defining instructions for the named label. 799<P> 800<DD><DL> 801</DL> 802</DD> 803</DL> 804<HR> 805 806<A NAME="jump(com.google.dexmaker.Label)"><!-- --></A><H3> 807jump</H3> 808<PRE> 809public void <B>jump</B>(<A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> target)</PRE> 810<DL> 811<DD>Transfers flow control to the instructions at <code>target</code>. It is an 812 error to jump to a label not marked on this <code>Code</code>. 813<P> 814<DD><DL> 815</DL> 816</DD> 817</DL> 818<HR> 819 820<A NAME="addCatchClause(com.google.dexmaker.TypeId, com.google.dexmaker.Label)"><!-- --></A><H3> 821addCatchClause</H3> 822<PRE> 823public void <B>addCatchClause</B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><? extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>> toCatch, 824 <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> catchClause)</PRE> 825<DL> 826<DD>Registers <code>catchClause</code> as a branch target for all instructions 827 in this frame that throw a class assignable to <code>toCatch</code>. This 828 includes methods invoked from this frame. Deregister the clause using 829 <A HREF="../../../com/google/dexmaker/Code.html#removeCatchClause(com.google.dexmaker.TypeId)"><CODE>removeCatchClause()</CODE></A>. It is an error to 830 register a catch clause without also <A HREF="../../../com/google/dexmaker/Code.html#mark(com.google.dexmaker.Label)"><CODE>marking it</CODE></A> in the same 831 <code>Code</code> instance. 832<P> 833<DD><DL> 834</DL> 835</DD> 836</DL> 837<HR> 838 839<A NAME="removeCatchClause(com.google.dexmaker.TypeId)"><!-- --></A><H3> 840removeCatchClause</H3> 841<PRE> 842public <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> <B>removeCatchClause</B>(<A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><? extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>> toCatch)</PRE> 843<DL> 844<DD>Deregisters the catch clause label for <code>toCatch</code> and returns it. 845<P> 846<DD><DL> 847</DL> 848</DD> 849</DL> 850<HR> 851 852<A NAME="throwValue(com.google.dexmaker.Local)"><!-- --></A><H3> 853throwValue</H3> 854<PRE> 855public void <B>throwValue</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>> toThrow)</PRE> 856<DL> 857<DD>Throws the throwable in <code>toThrow</code>. 858<P> 859<DD><DL> 860</DL> 861</DD> 862</DL> 863<HR> 864 865<A NAME="loadConstant(com.google.dexmaker.Local,java.lang.Object)"><!-- --></A><A NAME="loadConstant(com.google.dexmaker.Local, T)"><!-- --></A><H3> 866loadConstant</H3> 867<PRE> 868public <T> void <B>loadConstant</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 869 T value)</PRE> 870<DL> 871<DD>Copies the constant value <code>value</code> to <code>target</code>. The constant 872 must be a primitive, String, Class, TypeId, or null. 873<P> 874<DD><DL> 875</DL> 876</DD> 877</DL> 878<HR> 879 880<A NAME="move(com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 881move</H3> 882<PRE> 883public <T> void <B>move</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 884 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> source)</PRE> 885<DL> 886<DD>Copies the value in <code>source</code> to <code>target</code>. 887<P> 888<DD><DL> 889</DL> 890</DD> 891</DL> 892<HR> 893 894<A NAME="op(com.google.dexmaker.UnaryOp, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 895op</H3> 896<PRE> 897public <T> void <B>op</B>(<A HREF="../../../com/google/dexmaker/UnaryOp.html" title="enum in com.google.dexmaker">UnaryOp</A> op, 898 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 899 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> source)</PRE> 900<DL> 901<DD>Executes <code>op</code> and sets <code>target</code> to the result. 902<P> 903<DD><DL> 904</DL> 905</DD> 906</DL> 907<HR> 908 909<A NAME="op(com.google.dexmaker.BinaryOp, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 910op</H3> 911<PRE> 912public <T> void <B>op</B>(<A HREF="../../../com/google/dexmaker/BinaryOp.html" title="enum in com.google.dexmaker">BinaryOp</A> op, 913 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 914 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> a, 915 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> b)</PRE> 916<DL> 917<DD>Executes <code>op</code> and sets <code>target</code> to the result. 918<P> 919<DD><DL> 920</DL> 921</DD> 922</DL> 923<HR> 924 925<A NAME="compare(com.google.dexmaker.Comparison, com.google.dexmaker.Label, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 926compare</H3> 927<PRE> 928public <T> void <B>compare</B>(<A HREF="../../../com/google/dexmaker/Comparison.html" title="enum in com.google.dexmaker">Comparison</A> comparison, 929 <A HREF="../../../com/google/dexmaker/Label.html" title="class in com.google.dexmaker">Label</A> trueLabel, 930 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> a, 931 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> b)</PRE> 932<DL> 933<DD>Compare ints or references. If the comparison is true, execution jumps to 934 <code>trueLabel</code>. If it is false, execution continues to the next 935 instruction. 936<P> 937<DD><DL> 938</DL> 939</DD> 940</DL> 941<HR> 942 943<A NAME="compareFloatingPoint(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local, int)"><!-- --></A><H3> 944compareFloatingPoint</H3> 945<PRE> 946public <T extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</A>> void <B>compareFloatingPoint</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> target, 947 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> a, 948 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> b, 949 int nanValue)</PRE> 950<DL> 951<DD>Compare floats or doubles. This stores -1 in <code>target</code> if <code>a < b</code>, 0 in <code>target</code> if <code>a == b</code> and 1 in target if <code>a > b</code>. This stores <code>nanValue</code> in <code>target</code> if either value 952 is <code>NaN</code>. 953<P> 954<DD><DL> 955</DL> 956</DD> 957</DL> 958<HR> 959 960<A NAME="compareLongs(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 961compareLongs</H3> 962<PRE> 963public void <B>compareLongs</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> target, 964 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</A>> a, 965 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</A>> b)</PRE> 966<DL> 967<DD>Compare longs. This stores -1 in <code>target</code> if <code>a < b</code>, 0 in <code>target</code> if <code>a == b</code> and 1 in target if <code>a > b</code>. 968<P> 969<DD><DL> 970</DL> 971</DD> 972</DL> 973<HR> 974 975<A NAME="iget(com.google.dexmaker.FieldId, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 976iget</H3> 977<PRE> 978public <D,V> void <B>iget</B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><D,V> fieldId, 979 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> target, 980 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><D> instance)</PRE> 981<DL> 982<DD>Copies the value in instance field <code>fieldId</code> of <code>instance</code> to 983 <code>target</code>. 984<P> 985<DD><DL> 986</DL> 987</DD> 988</DL> 989<HR> 990 991<A NAME="iput(com.google.dexmaker.FieldId, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 992iput</H3> 993<PRE> 994public <D,V> void <B>iput</B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><D,V> fieldId, 995 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><D> instance, 996 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> source)</PRE> 997<DL> 998<DD>Copies the value in <code>source</code> to the instance field <code>fieldId</code> 999 of <code>instance</code>. 1000<P> 1001<DD><DL> 1002</DL> 1003</DD> 1004</DL> 1005<HR> 1006 1007<A NAME="sget(com.google.dexmaker.FieldId, com.google.dexmaker.Local)"><!-- --></A><H3> 1008sget</H3> 1009<PRE> 1010public <V> void <B>sget</B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><?,V> fieldId, 1011 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> target)</PRE> 1012<DL> 1013<DD>Copies the value in <code>target</code> to the static field <code>fieldId</code>. 1014<P> 1015<DD><DL> 1016</DL> 1017</DD> 1018</DL> 1019<HR> 1020 1021<A NAME="sput(com.google.dexmaker.FieldId, com.google.dexmaker.Local)"><!-- --></A><H3> 1022sput</H3> 1023<PRE> 1024public <V> void <B>sput</B>(<A HREF="../../../com/google/dexmaker/FieldId.html" title="class in com.google.dexmaker">FieldId</A><?,V> fieldId, 1025 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><V> source)</PRE> 1026<DL> 1027<DD>Copies the value in <code>source</code> to the static field <code>fieldId</code>. 1028<P> 1029<DD><DL> 1030</DL> 1031</DD> 1032</DL> 1033<HR> 1034 1035<A NAME="newInstance(com.google.dexmaker.Local, com.google.dexmaker.MethodId, com.google.dexmaker.Local...)"><!-- --></A><H3> 1036newInstance</H3> 1037<PRE> 1038public <T> void <B>newInstance</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 1039 <A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><T,<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</A>> constructor, 1040 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</PRE> 1041<DL> 1042<DD>Calls the constructor <code>constructor</code> using <code>args</code> and assigns 1043 the new instance to <code>target</code>. 1044<P> 1045<DD><DL> 1046</DL> 1047</DD> 1048</DL> 1049<HR> 1050 1051<A NAME="invokeStatic(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><!-- --></A><H3> 1052invokeStatic</H3> 1053<PRE> 1054public <R> void <B>invokeStatic</B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><?,R> method, 1055 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 1056 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</PRE> 1057<DL> 1058<DD>Calls the static method <code>method</code> using <code>args</code> and assigns the 1059 result to <code>target</code>. 1060<P> 1061<DD><DL> 1062<DT><B>Parameters:</B><DD><CODE>target</CODE> - the local to receive the method's return value, or <code>null</code> if the return type is <code>void</code> or if its value not needed.</DL> 1063</DD> 1064</DL> 1065<HR> 1066 1067<A NAME="invokeVirtual(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><!-- --></A><H3> 1068invokeVirtual</H3> 1069<PRE> 1070public <D,R> void <B>invokeVirtual</B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 1071 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 1072 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 1073 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</PRE> 1074<DL> 1075<DD>Calls the non-private instance method <code>method</code> of <code>instance</code> 1076 using <code>args</code> and assigns the result to <code>target</code>. 1077<P> 1078<DD><DL> 1079<DT><B>Parameters:</B><DD><CODE>method</CODE> - a non-private, non-static, method declared on a class. May 1080 not be an interface method or a constructor.<DD><CODE>target</CODE> - the local to receive the method's return value, or <code>null</code> if the return type is <code>void</code> or if its value not needed.</DL> 1081</DD> 1082</DL> 1083<HR> 1084 1085<A NAME="invokeDirect(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><!-- --></A><H3> 1086invokeDirect</H3> 1087<PRE> 1088public <D,R> void <B>invokeDirect</B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 1089 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 1090 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 1091 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</PRE> 1092<DL> 1093<DD>Calls <code>method</code> of <code>instance</code> using <code>args</code> and assigns 1094 the result to <code>target</code>. 1095<P> 1096<DD><DL> 1097<DT><B>Parameters:</B><DD><CODE>method</CODE> - either a private method or the superclass's constructor in 1098 a constructor's call to <code>super()</code>.<DD><CODE>target</CODE> - the local to receive the method's return value, or <code>null</code> if the return type is <code>void</code> or if its value not needed.</DL> 1099</DD> 1100</DL> 1101<HR> 1102 1103<A NAME="invokeSuper(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><!-- --></A><H3> 1104invokeSuper</H3> 1105<PRE> 1106public <D,R> void <B>invokeSuper</B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 1107 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 1108 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 1109 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</PRE> 1110<DL> 1111<DD>Calls the closest superclass's virtual method <code>method</code> of <code>instance</code> using <code>args</code> and assigns the result to <code>target</code>. 1112<P> 1113<DD><DL> 1114<DT><B>Parameters:</B><DD><CODE>target</CODE> - the local to receive the method's return value, or <code>null</code> if the return type is <code>void</code> or if its value not needed.</DL> 1115</DD> 1116</DL> 1117<HR> 1118 1119<A NAME="invokeInterface(com.google.dexmaker.MethodId, com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local...)"><!-- --></A><H3> 1120invokeInterface</H3> 1121<PRE> 1122public <D,R> void <B>invokeInterface</B>(<A HREF="../../../com/google/dexmaker/MethodId.html" title="class in com.google.dexmaker">MethodId</A><D,R> method, 1123 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? super R> target, 1124 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><? extends D> instance, 1125 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?>... args)</PRE> 1126<DL> 1127<DD>Calls the interface method <code>method</code> of <code>instance</code> using 1128 <code>args</code> and assigns the result to <code>target</code>. 1129<P> 1130<DD><DL> 1131<DT><B>Parameters:</B><DD><CODE>method</CODE> - a method declared on an interface.<DD><CODE>target</CODE> - the local to receive the method's return value, or <code>null</code> if the return type is <code>void</code> or if its value not needed.</DL> 1132</DD> 1133</DL> 1134<HR> 1135 1136<A NAME="instanceOfType(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.TypeId)"><!-- --></A><H3> 1137instanceOfType</H3> 1138<PRE> 1139public void <B>instanceOfType</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> target, 1140 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> source, 1141 <A HREF="../../../com/google/dexmaker/TypeId.html" title="class in com.google.dexmaker">TypeId</A><?> type)</PRE> 1142<DL> 1143<DD>Tests if the value in <code>source</code> is assignable to <code>type</code>. If it 1144 is, <code>target</code> is assigned to 1; otherwise <code>target</code> is assigned 1145 to 0. 1146<P> 1147<DD><DL> 1148</DL> 1149</DD> 1150</DL> 1151<HR> 1152 1153<A NAME="cast(com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 1154cast</H3> 1155<PRE> 1156public void <B>cast</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> target, 1157 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> source)</PRE> 1158<DL> 1159<DD>Performs either a numeric cast or a type cast. 1160 1161 <h3>Numeric Casts</h3> 1162 Converts a primitive to a different representation. Numeric casts may 1163 be lossy. For example, converting the double <code>1.8d</code> to an integer 1164 yields <code>1</code>, losing the fractional part. Converting the integer 1165 <code>0x12345678</code> to a short yields <code>0x5678</code>, losing the high 1166 bytes. The following numeric casts are supported: 1167 1168 <p><table border="1"> 1169 <tr><th>From</th><th>To</th></tr> 1170 <tr><td>int</td><td>byte, char, short, long, float, double</td></tr> 1171 <tr><td>long</td><td>int, float, double</td></tr> 1172 <tr><td>float</td><td>int, long, double</td></tr> 1173 <tr><td>double</td><td>int, long, float</td></tr> 1174 </table> 1175 1176 <p>For some primitive conversions it will be necessary to chain multiple 1177 cast operations. For example, to go from float to short one would first 1178 cast float to int and then int to short. 1179 1180 <p>Numeric casts never throw <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang"><CODE>ClassCastException</CODE></A>. 1181 1182 <h3>Type Casts</h3> 1183 Checks that a reference value is assignable to the target type. If it is 1184 assignable it is copied to the target local. If it is not assignable a 1185 <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang"><CODE>ClassCastException</CODE></A> is thrown. 1186<P> 1187<DD><DL> 1188</DL> 1189</DD> 1190</DL> 1191<HR> 1192 1193<A NAME="arrayLength(com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 1194arrayLength</H3> 1195<PRE> 1196public <T> void <B>arrayLength</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> target, 1197 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> array)</PRE> 1198<DL> 1199<DD>Sets <code>target</code> to the length of the array in <code>array</code>. 1200<P> 1201<DD><DL> 1202</DL> 1203</DD> 1204</DL> 1205<HR> 1206 1207<A NAME="newArray(com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 1208newArray</H3> 1209<PRE> 1210public <T> void <B>newArray</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><T> target, 1211 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> length)</PRE> 1212<DL> 1213<DD>Assigns <code>target</code> to a newly allocated array of length <code>length</code>. The array's type is the same as <code>target</code>'s type. 1214<P> 1215<DD><DL> 1216</DL> 1217</DD> 1218</DL> 1219<HR> 1220 1221<A NAME="aget(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 1222aget</H3> 1223<PRE> 1224public void <B>aget</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> target, 1225 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> array, 1226 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> index)</PRE> 1227<DL> 1228<DD>Assigns <code>target</code> to the element of <code>array</code> at index <code>index</code>. 1229<P> 1230<DD><DL> 1231</DL> 1232</DD> 1233</DL> 1234<HR> 1235 1236<A NAME="aput(com.google.dexmaker.Local, com.google.dexmaker.Local, com.google.dexmaker.Local)"><!-- --></A><H3> 1237aput</H3> 1238<PRE> 1239public void <B>aput</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> array, 1240 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</A>> index, 1241 <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> source)</PRE> 1242<DL> 1243<DD>Sets the element at <code>index</code> in <code>array</code> the value in <code>source</code>. 1244<P> 1245<DD><DL> 1246</DL> 1247</DD> 1248</DL> 1249<HR> 1250 1251<A NAME="returnVoid()"><!-- --></A><H3> 1252returnVoid</H3> 1253<PRE> 1254public void <B>returnVoid</B>()</PRE> 1255<DL> 1256<DD>Returns from a <code>void</code> method. After a return it is an error to 1257 define further instructions after a return without first <A HREF="../../../com/google/dexmaker/Code.html#mark(com.google.dexmaker.Label)"><CODE>marking</CODE></A> an existing unmarked label. 1258<P> 1259<DD><DL> 1260</DL> 1261</DD> 1262</DL> 1263<HR> 1264 1265<A NAME="returnValue(com.google.dexmaker.Local)"><!-- --></A><H3> 1266returnValue</H3> 1267<PRE> 1268public void <B>returnValue</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> result)</PRE> 1269<DL> 1270<DD>Returns the value in <code>result</code> to the calling method. After a return 1271 it is an error to define further instructions after a return without 1272 first <A HREF="../../../com/google/dexmaker/Code.html#mark(com.google.dexmaker.Label)"><CODE>marking</CODE></A> an existing unmarked label. 1273<P> 1274<DD><DL> 1275</DL> 1276</DD> 1277</DL> 1278<HR> 1279 1280<A NAME="monitorEnter(com.google.dexmaker.Local)"><!-- --></A><H3> 1281monitorEnter</H3> 1282<PRE> 1283public void <B>monitorEnter</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> monitor)</PRE> 1284<DL> 1285<DD>Awaits the lock on <code>monitor</code>, and acquires it. 1286<P> 1287<DD><DL> 1288</DL> 1289</DD> 1290</DL> 1291<HR> 1292 1293<A NAME="monitorExit(com.google.dexmaker.Local)"><!-- --></A><H3> 1294monitorExit</H3> 1295<PRE> 1296public void <B>monitorExit</B>(<A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker">Local</A><?> monitor)</PRE> 1297<DL> 1298<DD>Releases the held lock on <code>monitor</code>. 1299<P> 1300<DD><DL> 1301</DL> 1302</DD> 1303</DL> 1304<!-- ========= END OF CLASS DATA ========= --> 1305<HR> 1306 1307 1308<!-- ======= START OF BOTTOM NAVBAR ====== --> 1309<A NAME="navbar_bottom"><!-- --></A> 1310<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 1311<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 1312<TR> 1313<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 1314<A NAME="navbar_bottom_firstrow"><!-- --></A> 1315<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 1316 <TR ALIGN="center" VALIGN="top"> 1317 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 1318 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 1319 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 1320 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 1321 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 1322 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 1323 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 1324 </TR> 1325</TABLE> 1326</TD> 1327<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 1328</EM> 1329</TD> 1330</TR> 1331 1332<TR> 1333<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 1334 <A HREF="../../../com/google/dexmaker/BinaryOp.html" title="enum in com.google.dexmaker"><B>PREV CLASS</B></A> 1335 <A HREF="../../../com/google/dexmaker/Comparison.html" title="enum in com.google.dexmaker"><B>NEXT CLASS</B></A></FONT></TD> 1336<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 1337 <A HREF="../../../index.html?com/google/dexmaker/Code.html" target="_top"><B>FRAMES</B></A> 1338 <A HREF="Code.html" target="_top"><B>NO FRAMES</B></A> 1339 <SCRIPT type="text/javascript"> 1340 <!-- 1341 if(window==top) { 1342 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 1343 } 1344 //--> 1345</SCRIPT> 1346<NOSCRIPT> 1347 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 1348</NOSCRIPT> 1349 1350 1351</FONT></TD> 1352</TR> 1353<TR> 1354<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 1355 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> 1356<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 1357DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> 1358</TR> 1359</TABLE> 1360<A NAME="skip-navbar_bottom"></A> 1361<!-- ======== END OF BOTTOM NAVBAR ======= --> 1362 1363<HR> 1364 1365</BODY> 1366</HTML> 1367