/www/tags/NOV_07_2009/htdocs/api/org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html
HTML | 657 lines | 578 code | 69 blank | 10 comment | 0 complexity | 4f3121d39b0032bbedcd60d3f3d70ff2 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
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.5.0_14) on Tue Jul 22 07:13:50 GMT-08:00 2008 -->
6<TITLE>
7CodeVisitor (jEdit API)
8</TITLE>
9
10<META NAME="keywords" CONTENT="org.gjt.sp.jedit.bsh.org.objectweb.asm.CodeVisitor interface">
11
12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../../stylesheet.css" TITLE="Style">
13
14
15<NOSCRIPT>
16</NOSCRIPT>
17
18</HEAD>
19
20<BODY BGCOLOR="white" >
21
22
23<!-- ========= START OF TOP NAVBAR ======= -->
24<A NAME="navbar_top"><!-- --></A>
25<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
26<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
27<TR>
28<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
29<A NAME="navbar_top_firstrow"><!-- --></A>
30<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
31 <TR ALIGN="center" VALIGN="top">
32 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
33 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
34 <TD BGCOLOR="#00008B" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
35 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CodeVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
36 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
37 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
38 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
39 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
40 </TR>
41</TABLE>
42</TD>
43<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
44</EM>
45</TD>
46</TR>
47
48<TR>
49<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
50 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/ClassWriter.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><B>PREV CLASS</B></A>
51 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeWriter.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><B>NEXT CLASS</B></A></FONT></TD>
52<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
53 <A HREF="../../../../../../../../index.html?org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html" target="_top"><B>FRAMES</B></A>
54 <A HREF="CodeVisitor.html" target="_top"><B>NO FRAMES</B></A>
55
56<NOSCRIPT>
57 <A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
58</NOSCRIPT>
59
60
61</FONT></TD>
62</TR>
63<TR>
64<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
65 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
66<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
67DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
68</TR>
69</TABLE>
70<A NAME="skip-navbar_top"></A>
71<!-- ========= END OF TOP NAVBAR ========= -->
72
73<HR>
74<!-- ======== START OF CLASS DATA ======== -->
75<H2>
76<FONT SIZE="-1">
77org.gjt.sp.jedit.bsh.org.objectweb.asm</FONT>
78<BR>
79Interface CodeVisitor</H2>
80<DL>
81<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeWriter.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">CodeWriter</A></DD>
82</DL>
83<HR>
84<DL>
85<DT><PRE>public interface <B>CodeVisitor</B></DL>
86</PRE>
87
88<P>
89A visitor to visit the bytecode instructions of a Java method. The methods
90 of this visitor must be called in the sequential order of the bytecode
91 instructions of the visited code. The <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitMaxs(int, int)"><CODE>visitMaxs</CODE></A> method
92 must be called after all the instructions have been visited. The <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitTryCatchBlock(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, java.lang.String)"><CODE>visitTryCatchBlock</CODE></A>, <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLocalVariable(java.lang.String, java.lang.String, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, int)"><CODE>visitLocalVariable</CODE></A> and <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLineNumber(int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><CODE>visitLineNumber</CODE></A> methods may
93 be called in any order, at any time (provided the labels passed as arguments
94 have already been visited with <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLabel(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><CODE>visitLabel</CODE></A>).
95<P>
96
97<P>
98<HR>
99
100<P>
101
102<!-- ========== METHOD SUMMARY =========== -->
103
104<A NAME="method_summary"><!-- --></A>
105<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
106<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
107<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
108<B>Method Summary</B></FONT></TH>
109</TR>
110<TR BGCOLOR="white" CLASS="TableRowColor">
111<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
112<CODE> void</CODE></FONT></TD>
113<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitFieldInsn(int, java.lang.String, java.lang.String, java.lang.String)">visitFieldInsn</A></B>(int opcode,
114 java.lang.String owner,
115 java.lang.String name,
116 java.lang.String desc)</CODE>
117
118<BR>
119 Visits a field instruction.</TD>
120</TR>
121<TR BGCOLOR="white" CLASS="TableRowColor">
122<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
123<CODE> void</CODE></FONT></TD>
124<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitIincInsn(int, int)">visitIincInsn</A></B>(int var,
125 int increment)</CODE>
126
127<BR>
128 Visits an IINC instruction.</TD>
129</TR>
130<TR BGCOLOR="white" CLASS="TableRowColor">
131<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
132<CODE> void</CODE></FONT></TD>
133<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitInsn(int)">visitInsn</A></B>(int opcode)</CODE>
134
135<BR>
136 Visits a zero operand instruction.</TD>
137</TR>
138<TR BGCOLOR="white" CLASS="TableRowColor">
139<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
140<CODE> void</CODE></FONT></TD>
141<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitIntInsn(int, int)">visitIntInsn</A></B>(int opcode,
142 int operand)</CODE>
143
144<BR>
145 Visits an instruction with a single int operand.</TD>
146</TR>
147<TR BGCOLOR="white" CLASS="TableRowColor">
148<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
149<CODE> void</CODE></FONT></TD>
150<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitJumpInsn(int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)">visitJumpInsn</A></B>(int opcode,
151 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> label)</CODE>
152
153<BR>
154 Visits a jump instruction.</TD>
155</TR>
156<TR BGCOLOR="white" CLASS="TableRowColor">
157<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
158<CODE> void</CODE></FONT></TD>
159<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLabel(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)">visitLabel</A></B>(<A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> label)</CODE>
160
161<BR>
162 Visits a label.</TD>
163</TR>
164<TR BGCOLOR="white" CLASS="TableRowColor">
165<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
166<CODE> void</CODE></FONT></TD>
167<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLdcInsn(java.lang.Object)">visitLdcInsn</A></B>(java.lang.Object cst)</CODE>
168
169<BR>
170 Visits a LDC instruction.</TD>
171</TR>
172<TR BGCOLOR="white" CLASS="TableRowColor">
173<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
174<CODE> void</CODE></FONT></TD>
175<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLineNumber(int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)">visitLineNumber</A></B>(int line,
176 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> start)</CODE>
177
178<BR>
179 Visits a line number declaration.</TD>
180</TR>
181<TR BGCOLOR="white" CLASS="TableRowColor">
182<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
183<CODE> void</CODE></FONT></TD>
184<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLocalVariable(java.lang.String, java.lang.String, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, int)">visitLocalVariable</A></B>(java.lang.String name,
185 java.lang.String desc,
186 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> start,
187 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> end,
188 int index)</CODE>
189
190<BR>
191 Visits a local variable declaration.</TD>
192</TR>
193<TR BGCOLOR="white" CLASS="TableRowColor">
194<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
195<CODE> void</CODE></FONT></TD>
196<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLookupSwitchInsn(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, int[], org.gjt.sp.jedit.bsh.org.objectweb.asm.Label[])">visitLookupSwitchInsn</A></B>(<A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> dflt,
197 int[] keys,
198 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A>[] labels)</CODE>
199
200<BR>
201 Visits a LOOKUPSWITCH instruction.</TD>
202</TR>
203<TR BGCOLOR="white" CLASS="TableRowColor">
204<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
205<CODE> void</CODE></FONT></TD>
206<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitMaxs(int, int)">visitMaxs</A></B>(int maxStack,
207 int maxLocals)</CODE>
208
209<BR>
210 Visits the maximum stack size and the maximum number of local variables of
211 the method.</TD>
212</TR>
213<TR BGCOLOR="white" CLASS="TableRowColor">
214<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
215<CODE> void</CODE></FONT></TD>
216<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)">visitMethodInsn</A></B>(int opcode,
217 java.lang.String owner,
218 java.lang.String name,
219 java.lang.String desc)</CODE>
220
221<BR>
222 Visits a method instruction.</TD>
223</TR>
224<TR BGCOLOR="white" CLASS="TableRowColor">
225<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
226<CODE> void</CODE></FONT></TD>
227<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitMultiANewArrayInsn(java.lang.String, int)">visitMultiANewArrayInsn</A></B>(java.lang.String desc,
228 int dims)</CODE>
229
230<BR>
231 Visits a MULTIANEWARRAY instruction.</TD>
232</TR>
233<TR BGCOLOR="white" CLASS="TableRowColor">
234<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
235<CODE> void</CODE></FONT></TD>
236<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitTableSwitchInsn(int, int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label[])">visitTableSwitchInsn</A></B>(int min,
237 int max,
238 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> dflt,
239 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A>[] labels)</CODE>
240
241<BR>
242 Visits a TABLESWITCH instruction.</TD>
243</TR>
244<TR BGCOLOR="white" CLASS="TableRowColor">
245<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
246<CODE> void</CODE></FONT></TD>
247<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitTryCatchBlock(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, java.lang.String)">visitTryCatchBlock</A></B>(<A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> start,
248 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> end,
249 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> handler,
250 java.lang.String type)</CODE>
251
252<BR>
253 Visits a try catch block.</TD>
254</TR>
255<TR BGCOLOR="white" CLASS="TableRowColor">
256<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
257<CODE> void</CODE></FONT></TD>
258<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitTypeInsn(int, java.lang.String)">visitTypeInsn</A></B>(int opcode,
259 java.lang.String desc)</CODE>
260
261<BR>
262 Visits a type instruction.</TD>
263</TR>
264<TR BGCOLOR="white" CLASS="TableRowColor">
265<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
266<CODE> void</CODE></FONT></TD>
267<TD><CODE><B><A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitVarInsn(int, int)">visitVarInsn</A></B>(int opcode,
268 int var)</CODE>
269
270<BR>
271 Visits a local variable instruction.</TD>
272</TR>
273</TABLE>
274
275<P>
276
277<!-- ============ METHOD DETAIL ========== -->
278
279<A NAME="method_detail"><!-- --></A>
280<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
281<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
282<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
283<B>Method Detail</B></FONT></TH>
284</TR>
285</TABLE>
286
287<A NAME="visitInsn(int)"><!-- --></A><H3>
288visitInsn</H3>
289<PRE>
290void <B>visitInsn</B>(int opcode)</PRE>
291<DL>
292<DD>Visits a zero operand instruction.
293<P>
294<DD><DL>
295<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the instruction to be visited. This opcode is
296 either NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2,
297 ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1,
298 FCONST_2, DCONST_0, DCONST_1,
299
300 IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD,
301 IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE,
302 SASTORE,
303
304 POP, POP2, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP,
305
306 IADD, LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL,
307 DMUL, IDIV, LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG,
308 FNEG, DNEG, ISHL, LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR,
309 LOR, IXOR, LXOR,
310
311 I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C,
312 I2S,
313
314 LCMP, FCMPL, FCMPG, DCMPL, DCMPG,
315
316 IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN,
317
318 ARRAYLENGTH,
319
320 ATHROW,
321
322 MONITORENTER, or MONITOREXIT.</DL>
323</DD>
324</DL>
325<HR>
326
327<A NAME="visitIntInsn(int, int)"><!-- --></A><H3>
328visitIntInsn</H3>
329<PRE>
330void <B>visitIntInsn</B>(int opcode,
331 int operand)</PRE>
332<DL>
333<DD>Visits an instruction with a single int operand.
334<P>
335<DD><DL>
336<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the instruction to be visited. This opcode is
337 either BIPUSH, SIPUSH or NEWARRAY.<DD><CODE>operand</CODE> - the operand of the instruction to be visited.</DL>
338</DD>
339</DL>
340<HR>
341
342<A NAME="visitVarInsn(int, int)"><!-- --></A><H3>
343visitVarInsn</H3>
344<PRE>
345void <B>visitVarInsn</B>(int opcode,
346 int var)</PRE>
347<DL>
348<DD>Visits a local variable instruction. A local variable instruction is an
349 instruction that loads or stores the value of a local variable.
350<P>
351<DD><DL>
352<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the local variable instruction to be visited.
353 This opcode is either ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE,
354 LSTORE, FSTORE, DSTORE, ASTORE or RET.<DD><CODE>var</CODE> - the operand of the instruction to be visited. This operand is
355 the index of a local variable.</DL>
356</DD>
357</DL>
358<HR>
359
360<A NAME="visitTypeInsn(int, java.lang.String)"><!-- --></A><H3>
361visitTypeInsn</H3>
362<PRE>
363void <B>visitTypeInsn</B>(int opcode,
364 java.lang.String desc)</PRE>
365<DL>
366<DD>Visits a type instruction. A type instruction is an instruction that
367 takes a type descriptor as parameter.
368<P>
369<DD><DL>
370<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the type instruction to be visited. This opcode
371 is either NEW, ANEWARRAY, CHECKCAST or INSTANCEOF.<DD><CODE>desc</CODE> - the operand of the instruction to be visited. This operand is
372 must be a fully qualified class name in internal form, or the type
373 descriptor of an array type (see <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Type.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><CODE>Type</CODE></A>).</DL>
374</DD>
375</DL>
376<HR>
377
378<A NAME="visitFieldInsn(int, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
379visitFieldInsn</H3>
380<PRE>
381void <B>visitFieldInsn</B>(int opcode,
382 java.lang.String owner,
383 java.lang.String name,
384 java.lang.String desc)</PRE>
385<DL>
386<DD>Visits a field instruction. A field instruction is an instruction that
387 loads or stores the value of a field of an object.
388<P>
389<DD><DL>
390<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the type instruction to be visited. This opcode
391 is either GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.<DD><CODE>owner</CODE> - the internal name of the field's owner class (see <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Type.html#getInternalName()"><CODE>getInternalName</CODE></A>).<DD><CODE>name</CODE> - the field's name.<DD><CODE>desc</CODE> - the field's descriptor (see <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Type.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><CODE>Type</CODE></A>).</DL>
392</DD>
393</DL>
394<HR>
395
396<A NAME="visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
397visitMethodInsn</H3>
398<PRE>
399void <B>visitMethodInsn</B>(int opcode,
400 java.lang.String owner,
401 java.lang.String name,
402 java.lang.String desc)</PRE>
403<DL>
404<DD>Visits a method instruction. A method instruction is an instruction that
405 invokes a method.
406<P>
407<DD><DL>
408<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the type instruction to be visited. This opcode
409 is either INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or
410 INVOKEINTERFACE.<DD><CODE>owner</CODE> - the internal name of the method's owner class (see <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Type.html#getInternalName()"><CODE>getInternalName</CODE></A>).<DD><CODE>name</CODE> - the method's name.<DD><CODE>desc</CODE> - the method's descriptor (see <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Type.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><CODE>Type</CODE></A>).</DL>
411</DD>
412</DL>
413<HR>
414
415<A NAME="visitJumpInsn(int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><!-- --></A><H3>
416visitJumpInsn</H3>
417<PRE>
418void <B>visitJumpInsn</B>(int opcode,
419 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> label)</PRE>
420<DL>
421<DD>Visits a jump instruction. A jump instruction is an instruction that may
422 jump to another instruction.
423<P>
424<DD><DL>
425<DT><B>Parameters:</B><DD><CODE>opcode</CODE> - the opcode of the type instruction to be visited. This opcode
426 is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, IF_ICMPNE,
427 IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, IF_ACMPNE,
428 GOTO, JSR, IFNULL or IFNONNULL.<DD><CODE>label</CODE> - the operand of the instruction to be visited. This operand is
429 a label that designates the instruction to which the jump instruction
430 may jump.</DL>
431</DD>
432</DL>
433<HR>
434
435<A NAME="visitLabel(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><!-- --></A><H3>
436visitLabel</H3>
437<PRE>
438void <B>visitLabel</B>(<A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> label)</PRE>
439<DL>
440<DD>Visits a label. A label designates the instruction that will be visited
441 just after it.
442<P>
443<DD><DL>
444<DT><B>Parameters:</B><DD><CODE>label</CODE> - a <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><CODE>Label</CODE></A> object.</DL>
445</DD>
446</DL>
447<HR>
448
449<A NAME="visitLdcInsn(java.lang.Object)"><!-- --></A><H3>
450visitLdcInsn</H3>
451<PRE>
452void <B>visitLdcInsn</B>(java.lang.Object cst)</PRE>
453<DL>
454<DD>Visits a LDC instruction.
455<P>
456<DD><DL>
457<DT><B>Parameters:</B><DD><CODE>cst</CODE> - the constant to be loaded on the stack. This parameter must be
458 a non null <CODE>Integer</CODE>, a <CODE>Float</CODE>, a <CODE>Long</CODE>, a <CODE>Double</CODE> or a <CODE>String</CODE>.</DL>
459</DD>
460</DL>
461<HR>
462
463<A NAME="visitIincInsn(int, int)"><!-- --></A><H3>
464visitIincInsn</H3>
465<PRE>
466void <B>visitIincInsn</B>(int var,
467 int increment)</PRE>
468<DL>
469<DD>Visits an IINC instruction.
470<P>
471<DD><DL>
472<DT><B>Parameters:</B><DD><CODE>var</CODE> - index of the local variable to be incremented.<DD><CODE>increment</CODE> - amount to increment the local variable by.</DL>
473</DD>
474</DL>
475<HR>
476
477<A NAME="visitTableSwitchInsn(int, int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label[])"><!-- --></A><H3>
478visitTableSwitchInsn</H3>
479<PRE>
480void <B>visitTableSwitchInsn</B>(int min,
481 int max,
482 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> dflt,
483 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A>[] labels)</PRE>
484<DL>
485<DD>Visits a TABLESWITCH instruction.
486<P>
487<DD><DL>
488<DT><B>Parameters:</B><DD><CODE>min</CODE> - the minimum key value.<DD><CODE>max</CODE> - the maximum key value.<DD><CODE>dflt</CODE> - beginning of the default handler block.<DD><CODE>labels</CODE> - beginnings of the handler blocks. <tt>labels[i]</tt> is the
489 beginning of the handler block for the <tt>min + i</tt> key.</DL>
490</DD>
491</DL>
492<HR>
493
494<A NAME="visitLookupSwitchInsn(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, int[], org.gjt.sp.jedit.bsh.org.objectweb.asm.Label[])"><!-- --></A><H3>
495visitLookupSwitchInsn</H3>
496<PRE>
497void <B>visitLookupSwitchInsn</B>(<A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> dflt,
498 int[] keys,
499 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A>[] labels)</PRE>
500<DL>
501<DD>Visits a LOOKUPSWITCH instruction.
502<P>
503<DD><DL>
504<DT><B>Parameters:</B><DD><CODE>dflt</CODE> - beginning of the default handler block.<DD><CODE>keys</CODE> - the values of the keys.<DD><CODE>labels</CODE> - beginnings of the handler blocks. <tt>labels[i]</tt> is the
505 beginning of the handler block for the <tt>keys[i]</tt> key.</DL>
506</DD>
507</DL>
508<HR>
509
510<A NAME="visitMultiANewArrayInsn(java.lang.String, int)"><!-- --></A><H3>
511visitMultiANewArrayInsn</H3>
512<PRE>
513void <B>visitMultiANewArrayInsn</B>(java.lang.String desc,
514 int dims)</PRE>
515<DL>
516<DD>Visits a MULTIANEWARRAY instruction.
517<P>
518<DD><DL>
519<DT><B>Parameters:</B><DD><CODE>desc</CODE> - an array type descriptor (see <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Type.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><CODE>Type</CODE></A>).<DD><CODE>dims</CODE> - number of dimensions of the array to allocate.</DL>
520</DD>
521</DL>
522<HR>
523
524<A NAME="visitTryCatchBlock(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, java.lang.String)"><!-- --></A><H3>
525visitTryCatchBlock</H3>
526<PRE>
527void <B>visitTryCatchBlock</B>(<A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> start,
528 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> end,
529 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> handler,
530 java.lang.String type)</PRE>
531<DL>
532<DD>Visits a try catch block.
533<P>
534<DD><DL>
535<DT><B>Parameters:</B><DD><CODE>start</CODE> - beginning of the exception handler's scope (inclusive).<DD><CODE>end</CODE> - end of the exception handler's scope (exclusive).<DD><CODE>handler</CODE> - beginning of the exception handler's code.<DD><CODE>type</CODE> - internal name of the type of exceptions handled by the handler,
536 or <tt>null</tt> to catch any exceptions (for "finally" blocks).
537<DT><B>Throws:</B>
538<DD><CODE>java.lang.IllegalArgumentException</CODE> - if one of the labels has not already been
539 visited by this visitor (by the <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLabel(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><CODE>visitLabel</CODE></A>
540 method).</DL>
541</DD>
542</DL>
543<HR>
544
545<A NAME="visitMaxs(int, int)"><!-- --></A><H3>
546visitMaxs</H3>
547<PRE>
548void <B>visitMaxs</B>(int maxStack,
549 int maxLocals)</PRE>
550<DL>
551<DD>Visits the maximum stack size and the maximum number of local variables of
552 the method.
553<P>
554<DD><DL>
555<DT><B>Parameters:</B><DD><CODE>maxStack</CODE> - maximum stack size of the method.<DD><CODE>maxLocals</CODE> - maximum number of local variables for the method.</DL>
556</DD>
557</DL>
558<HR>
559
560<A NAME="visitLocalVariable(java.lang.String, java.lang.String, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label, int)"><!-- --></A><H3>
561visitLocalVariable</H3>
562<PRE>
563void <B>visitLocalVariable</B>(java.lang.String name,
564 java.lang.String desc,
565 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> start,
566 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> end,
567 int index)</PRE>
568<DL>
569<DD>Visits a local variable declaration.
570<P>
571<DD><DL>
572<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of a local variable.<DD><CODE>desc</CODE> - the type descriptor of this local variable.<DD><CODE>start</CODE> - the first instruction corresponding to the scope of this
573 local variable (inclusive).<DD><CODE>end</CODE> - the last instruction corresponding to the scope of this
574 local variable (exclusive).<DD><CODE>index</CODE> - the local variable's index.
575<DT><B>Throws:</B>
576<DD><CODE>java.lang.IllegalArgumentException</CODE> - if one of the labels has not already been
577 visited by this visitor (by the <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLabel(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><CODE>visitLabel</CODE></A>
578 method).</DL>
579</DD>
580</DL>
581<HR>
582
583<A NAME="visitLineNumber(int, org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><!-- --></A><H3>
584visitLineNumber</H3>
585<PRE>
586void <B>visitLineNumber</B>(int line,
587 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/Label.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm">Label</A> start)</PRE>
588<DL>
589<DD>Visits a line number declaration.
590<P>
591<DD><DL>
592<DT><B>Parameters:</B><DD><CODE>line</CODE> - a line number. This number refers to the source file
593 from which the class was compiled.<DD><CODE>start</CODE> - the first instruction corresponding to this line number.
594<DT><B>Throws:</B>
595<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <tt>start</tt> has not already been
596 visited by this visitor (by the <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html#visitLabel(org.gjt.sp.jedit.bsh.org.objectweb.asm.Label)"><CODE>visitLabel</CODE></A>
597 method).</DL>
598</DD>
599</DL>
600<!-- ========= END OF CLASS DATA ========= -->
601<HR>
602
603
604<!-- ======= START OF BOTTOM NAVBAR ====== -->
605<A NAME="navbar_bottom"><!-- --></A>
606<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
607<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
608<TR>
609<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
610<A NAME="navbar_bottom_firstrow"><!-- --></A>
611<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
612 <TR ALIGN="center" VALIGN="top">
613 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
614 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
615 <TD BGCOLOR="#00008B" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
616 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CodeVisitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
617 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
618 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
619 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
620 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
621 </TR>
622</TABLE>
623</TD>
624<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
625</EM>
626</TD>
627</TR>
628
629<TR>
630<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
631 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/ClassWriter.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><B>PREV CLASS</B></A>
632 <A HREF="../../../../../../../../org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeWriter.html" title="class in org.gjt.sp.jedit.bsh.org.objectweb.asm"><B>NEXT CLASS</B></A></FONT></TD>
633<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
634 <A HREF="../../../../../../../../index.html?org/gjt/sp/jedit/bsh/org/objectweb/asm/CodeVisitor.html" target="_top"><B>FRAMES</B></A>
635 <A HREF="CodeVisitor.html" target="_top"><B>NO FRAMES</B></A>
636
637<NOSCRIPT>
638 <A HREF="../../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
639</NOSCRIPT>
640
641
642</FONT></TD>
643</TR>
644<TR>
645<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
646 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
647<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
648DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
649</TR>
650</TABLE>
651<A NAME="skip-navbar_bottom"></A>
652<!-- ======== END OF BOTTOM NAVBAR ======= -->
653
654<HR>
655
656</BODY>
657</HTML>