📄 subroutine.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:18 EST 2001 --><TITLE>bcel API: Interface Subroutine</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/Subroutine.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/verifier/structurals/InstructionContext.html"><B>PREV CLASS</B></A> NEXT CLASS</FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html" TARGET="_top"><B>FRAMES</B></A> <A HREF="Subroutine.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: INNER | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <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.verifier.structurals</FONT><BR>Interface Subroutine</H2><HR><DL><DT>public interface <B>Subroutine</B></DL><P>This interface defines properties of JVM bytecode subroutines. Note that it is 'abused' to maintain the top-level code in a consistent fashion, too.<P><DL><DT><B>Version: </B><DD>$Id: Subroutine.java,v 1.1.1.1 2001/10/29 20:00:42 jvanzyl Exp $</DD><DT><B>Author: </B><DD><A HREF="http://www.inf.fu-berlin.de/~ehaase"/>Enver Haase</A></DD></DL><HR><P><!-- ======== INNER CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><!-- ======== CONSTRUCTOR SUMMARY ======== --><!-- ========== 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> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#contains(org.apache.bcel.generic.InstructionHandle)">contains</A></B>(<A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A> inst)</CODE><BR> Returns if the given InstructionHandle refers to an instruction that is part of this subroutine.</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/verifier/structurals/Subroutine.html#getAccessedLocalsIndices()">getAccessedLocalsIndices</A></B>()</CODE><BR> Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are not included.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A>[]</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#getEnteringJsrInstructions()">getEnteringJsrInstructions</A></B>()</CODE><BR> Returns all the JsrInstructions that have the first instruction of this subroutine as their target.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A>[]</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#getInstructions()">getInstructions</A></B>()</CODE><BR> Returns all instructions that together form this subroutine.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#getLeavingRET()">getLeavingRET</A></B>()</CODE><BR> Returns the one and only RET that leaves the subroutine.</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/verifier/structurals/Subroutine.html#getRecursivelyAccessedLocalsIndices()">getRecursivelyAccessedLocalsIndices</A></B>()</CODE><BR> Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are included.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html">Subroutine</A>[]</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#subSubs()">subSubs</A></B>()</CODE><BR> Returns the subroutines that are directly called from this subroutine.</TD></TR></TABLE> <P><!-- ============ FIELD DETAIL =========== --><!-- ========= CONSTRUCTOR DETAIL ======== --><!-- ============ METHOD DETAIL ========== --><A NAME="method_detail"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=1><FONT SIZE="+2"><B>Method Detail</B></FONT></TD></TR></TABLE><A NAME="getEnteringJsrInstructions()"><!-- --></A><H3>getEnteringJsrInstructions</H3><PRE>public <A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A>[] <B>getEnteringJsrInstructions</B>()</PRE><DL><DD>Returns all the JsrInstructions that have the first instruction of this subroutine as their target. <B>Must not be invoked on the 'top-level subroutine'.</B></DL><HR><A NAME="getLeavingRET()"><!-- --></A><H3>getLeavingRET</H3><PRE>public <A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A> <B>getLeavingRET</B>()</PRE><DL><DD>Returns the one and only RET that leaves the subroutine. Note that JustIce has a pretty rigid notion of a subroutine. <B>Must not be invoked on the 'top-level subroutine'.</B><DD><DL><DT><B>See Also: </B><DD><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutines.html"><CODE>Subroutines</CODE></A></DL></DD></DL><HR><A NAME="getInstructions()"><!-- --></A><H3>getInstructions</H3><PRE>public <A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A>[] <B>getInstructions</B>()</PRE><DL><DD>Returns all instructions that together form this subroutine. Note that an instruction is part of exactly one subroutine (the top-level code is considered to be a special subroutine) - else it is not reachable at all (dead code).</DL><HR><A NAME="contains(org.apache.bcel.generic.InstructionHandle)"><!-- --></A><H3>contains</H3><PRE>public boolean <B>contains</B>(<A HREF="../../../../../org/apache/bcel/generic/InstructionHandle.html">InstructionHandle</A> inst)</PRE><DL><DD>Returns if the given InstructionHandle refers to an instruction that is part of this subroutine. This is a convenience method that saves iteration over the InstructionHandle objects returned by getInstructions().<DD><DL><DT><B>See Also: </B><DD><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#getInstructions()"><CODE>getInstructions()</CODE></A></DL></DD></DL><HR><A NAME="getAccessedLocalsIndices()"><!-- --></A><H3>getAccessedLocalsIndices</H3><PRE>public int[] <B>getAccessedLocalsIndices</B>()</PRE><DL><DD>Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are not included.<DD><DL><DT><B>See Also: </B><DD><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#getRecursivelyAccessedLocalsIndices()"><CODE>getRecursivelyAccessedLocalsIndices()</CODE></A></DL></DD></DL><HR><A NAME="getRecursivelyAccessedLocalsIndices()"><!-- --></A><H3>getRecursivelyAccessedLocalsIndices</H3><PRE>public int[] <B>getRecursivelyAccessedLocalsIndices</B>()</PRE><DL><DD>Returns an int[] containing the indices of the local variable slots accessed by this Subroutine (read-accessed, write-accessed or both); local variables referenced by subroutines of this subroutine are included.<DD><DL><DT><B>See Also: </B><DD><A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html#getAccessedLocalsIndices()"><CODE>getAccessedLocalsIndices()</CODE></A></DL></DD></DL><HR><A NAME="subSubs()"><!-- --></A><H3>subSubs</H3><PRE>public <A HREF="../../../../../org/apache/bcel/verifier/structurals/Subroutine.html">Subroutine</A>[] <B>subSubs</B>()</PRE><DL><DD>Returns the subroutines that are directly called from this subroutine.</DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ========== START OF NAVBAR ========== --><A NAME="navbar_bottom"><!-- --></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_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/Subroutine.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/verifier/structurals/InstructionContext.html"><B>PREV CLASS</B></A> NEXT CLASS</FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html" TARGET="_top"><B>FRAMES</B></A> <A HREF="Subroutine.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: INNER | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><!-- =========== END OF NAVBAR =========== --><HR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -