1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  package org.apache.bcel.generic;
18  
19  /*** 
20   * ARRAYLENGTH -  Get length of array
21   * <PRE>Stack: ..., arrayref -> ..., length</PRE>
22   *
23   * @version $Id: ARRAYLENGTH.java 386056 2006-03-15 11:31:56Z tcurdt $
24   * @author  <A HREF="mailto:m.dahm@gmx.de">M. Dahm</A>
25   */
26  public class ARRAYLENGTH extends Instruction implements ExceptionThrower, StackProducer {
27  
28      /*** Get length of array
29       */
30      public ARRAYLENGTH() {
31          super(org.apache.bcel.Constants.ARRAYLENGTH, (short) 1);
32      }
33  
34  
35      /*** @return exceptions this instruction may cause
36       */
37      public Class[] getExceptions() {
38          return new Class[] {
39              org.apache.bcel.ExceptionConstants.NULL_POINTER_EXCEPTION
40          };
41      }
42  
43  
44      /***
45       * Call corresponding visitor method(s). The order is:
46       * Call visitor methods of implemented interfaces first, then
47       * call methods according to the class hierarchy in descending order,
48       * i.e., the most specific visitXXX() call comes last.
49       *
50       * @param v Visitor object
51       */
52      public void accept( Visitor v ) {
53          v.visitExceptionThrower(this);
54          v.visitStackProducer(this);
55          v.visitARRAYLENGTH(this);
56      }
57  }