📄 instruction.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc on Sat Dec 15 07:40:15 EST 2001 --><TITLE>bcel API: Class Instruction</TITLE><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"></HEAD><BODY BGCOLOR="white"><!-- ========== START OF NAVBAR ========== --><A NAME="navbar_top"><!-- --></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Instruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../org/apache/bcel/generic/INSTANCEOF.html"><B>PREV CLASS</B></A> <A HREF="../../../../org/apache/bcel/generic/InstructionConstants.Clinit.html"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A> <A HREF="Instruction.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: INNER | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><!-- =========== END OF NAVBAR =========== --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">org.apache.bcel.generic</FONT><BR>Class Instruction</H2><PRE>java.lang.Object | +--<B>org.apache.bcel.generic.Instruction</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable, java.io.Serializable</DD></DL><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/bcel/generic/ACONST_NULL.html">ACONST_NULL</A>, <A HREF="../../../../org/apache/bcel/generic/ArithmeticInstruction.html">ArithmeticInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/ArrayInstruction.html">ArrayInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/ARRAYLENGTH.html">ARRAYLENGTH</A>, <A HREF="../../../../org/apache/bcel/generic/ATHROW.html">ATHROW</A>, <A HREF="../../../../org/apache/bcel/generic/BIPUSH.html">BIPUSH</A>, <A HREF="../../../../org/apache/bcel/generic/BranchInstruction.html">BranchInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/BREAKPOINT.html">BREAKPOINT</A>, <A HREF="../../../../org/apache/bcel/generic/ConversionInstruction.html">ConversionInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/CPInstruction.html">CPInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/DCMPG.html">DCMPG</A>, <A HREF="../../../../org/apache/bcel/generic/DCMPL.html">DCMPL</A>, <A HREF="../../../../org/apache/bcel/generic/DCONST.html">DCONST</A>, <A HREF="../../../../org/apache/bcel/generic/FCMPG.html">FCMPG</A>, <A HREF="../../../../org/apache/bcel/generic/FCMPL.html">FCMPL</A>, <A HREF="../../../../org/apache/bcel/generic/FCONST.html">FCONST</A>, <A HREF="../../../../org/apache/bcel/generic/ICONST.html">ICONST</A>, <A HREF="../../../../org/apache/bcel/generic/IMPDEP1.html">IMPDEP1</A>, <A HREF="../../../../org/apache/bcel/generic/IMPDEP2.html">IMPDEP2</A>, <A HREF="../../../../org/apache/bcel/generic/LCMP.html">LCMP</A>, <A HREF="../../../../org/apache/bcel/generic/LCONST.html">LCONST</A>, <A HREF="../../../../org/apache/bcel/generic/LocalVariableInstruction.html">LocalVariableInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/MONITORENTER.html">MONITORENTER</A>, <A HREF="../../../../org/apache/bcel/generic/MONITOREXIT.html">MONITOREXIT</A>, <A HREF="../../../../org/apache/bcel/generic/NEWARRAY.html">NEWARRAY</A>, <A HREF="../../../../org/apache/bcel/generic/NOP.html">NOP</A>, <A HREF="../../../../org/apache/bcel/generic/RET.html">RET</A>, <A HREF="../../../../org/apache/bcel/generic/ReturnInstruction.html">ReturnInstruction</A>, <A HREF="../../../../org/apache/bcel/generic/SIPUSH.html">SIPUSH</A>, <A HREF="../../../../org/apache/bcel/generic/StackInstruction.html">StackInstruction</A></DD></DL><HR><DL><DT>public abstract class <B>Instruction</B><DT>extends java.lang.Object<DT>implements java.lang.Cloneable, java.io.Serializable</DL><P>Abstract super class for all Java byte codes.<P><DL><DT><B>Version: </B><DD>$Id: Instruction.java,v 1.1.1.1 2001/10/29 20:00:18 jvanzyl Exp $</DD><DT><B>Author: </B><DD><A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A></DD><DT><B>See Also: </B><DD><A HREF="../../../../serialized-form.html#org.apache.bcel.generic.Instruction">Serialized Form</A></DL><HR><P><!-- ======== INNER CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Field Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected short</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#length">length</A></B></CODE><BR> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected short</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#opcode">opcode</A></B></CODE><BR> </TD></TR></TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#Instruction(short, short)">Instruction</A></B>(short opcode, short length)</CODE><BR> </TD></TR></TABLE> <!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>abstract void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#accept(org.apache.bcel.generic.Visitor)">accept</A></B>(<A HREF="../../../../org/apache/bcel/generic/Visitor.html">Visitor</A> v)</CODE><BR> Call corresponding visitor method(s).</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#consumeStack(org.apache.bcel.generic.ConstantPoolGen)">consumeStack</A></B>(<A HREF="../../../../org/apache/bcel/generic/ConstantPoolGen.html">ConstantPoolGen</A> cpg)</CODE><BR> This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../../../org/apache/bcel/generic/Instruction.html">Instruction</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#copy()">copy</A></B>()</CODE><BR> Use with caution, since `BranchInstruction's have a `target' reference which is not copied correctly (only basic types are).</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#dump(java.io.DataOutputStream)">dump</A></B>(java.io.DataOutputStream out)</CODE><BR> Dump instruction as byte code to stream out.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#getLength()">getLength</A></B>()</CODE><BR> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> short</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#getOpcode()">getOpcode</A></B>()</CODE><BR> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#initFromFile(org.apache.bcel.util.ByteSequence, boolean)">initFromFile</A></B>(<A HREF="../../../../org/apache/bcel/util/ByteSequence.html">ByteSequence</A> bytes, boolean wide)</CODE><BR> Read needed data (e.g.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#produceStack(org.apache.bcel.generic.ConstantPoolGen)">produceStack</A></B>(<A HREF="../../../../org/apache/bcel/generic/ConstantPoolGen.html">ConstantPoolGen</A> cpg)</CODE><BR> This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static <A HREF="../../../../org/apache/bcel/generic/Instruction.html">Instruction</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#readInstruction(org.apache.bcel.util.ByteSequence)">readInstruction</A></B>(<A HREF="../../../../org/apache/bcel/util/ByteSequence.html">ByteSequence</A> bytes)</CODE><BR> Read an instruction from (byte code) input stream and return the appropiate object.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> java.lang.String</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#toString()">toString</A></B>()</CODE><BR> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> java.lang.String</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#toString(boolean)">toString</A></B>(boolean verbose)</CODE><BR> Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")"</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> java.lang.String</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/bcel/generic/Instruction.html#toString(org.apache.bcel.classfile.ConstantPool)">toString</A></B>(<A HREF="../../../../org/apache/bcel/classfile/ConstantPool.html">ConstantPool</A> cp)</CODE><BR> </TD></TR></TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"><TD><B>Methods inherited from class java.lang.Object</B></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD></TR></TABLE> <P><!-- ============ FIELD DETAIL =========== --><A NAME="field_detail"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=1><FONT SIZE="+2"><B>Field Detail</B></FONT></TD></TR></TABLE><A NAME="length"><!-- --></A><H3>length</H3><PRE>protected short <B>length</B></PRE><DL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -