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 * Denotes that an instruction may start the process of loading and resolving
21 * the referenced class in the Virtual Machine.
22 *
23 * @version $Id: LoadClass.java 386056 2006-03-15 11:31:56Z tcurdt $
24 * @author <A HREF="mailto:m.dahm@gmx.de">M. Dahm</A>
25 */
26 public interface LoadClass {
27
28 /***
29 * Returns the ObjectType of the referenced class or interface
30 * that may be loaded and resolved.
31 * @return object type that may be loaded or null if a primitive is
32 * referenced
33 */
34 public ObjectType getLoadClassType( ConstantPoolGen cpg );
35
36
37 /***
38 * Returns the type associated with this instruction.
39 * LoadClass instances are always typed, but this type
40 * does not always refer to the type of the class or interface
41 * that it possibly forces to load. For example, GETFIELD would
42 * return the type of the field and not the type of the class
43 * where the field is defined.
44 * If no class is forced to be loaded, <B>null</B> is returned.
45 * An example for this is an ANEWARRAY instruction that creates
46 * an int[][].
47 * @see #getLoadClassType(ConstantPoolGen)
48 */
49 public Type getType( ConstantPoolGen cpg );
50 }