Weldon,
I confused this$ and class$ fields in your example.
Here is another example where class$ method is generated and used:

public class Test2 {
       public static void main(String[] args) {
           Class cls = Test2.class;
       }
}

and javap output is:

public class Test2 extends java.lang.Object{
static java.lang.Class class$Test2;

public Test2();
 Code:
  0:    aload_0
  1:    invokespecial    #6; //Method java/lang/Object."<init>":()V
  4:    return

public static void main(java.lang.String[]);
 Code:
  0:    getstatic    #7; //Field class$Test2:Ljava/lang/Class;
  3:    ifnonnull    18
  6:    ldc    #8; //String Test2
  8:    invokestatic    #9; //Method
class$:(Ljava/lang/String;)Ljava/lang/Class;
  11:    dup
  12:    putstatic    #7; //Field class$Test2:Ljava/lang/Class;
  15:    goto    21
  18:    getstatic    #7; //Field class$Test2:Ljava/lang/Class;
  21:    astore_1
  22:    return

static java.lang.Class class$(java.lang.String);
 Code:
  0:    aload_0
  1:    invokestatic    #1; //Method
java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
  4:    areturn
  5:    astore_1
  6:    new    #3; //class NoClassDefFoundError
  9:    dup
  10:    aload_1
  11:    invokevirtual    #4; //Method
java/lang/ClassNotFoundException.getMessage:()Ljava/lang/String;
  14:    invokespecial    #5; //Method
java/lang/NoClassDefFoundError."<init>":(Ljava/lang/String;)V
  17:    athrow
 Exception table:
  from   to  target type
    0     4     5   Class java/lang/ClassNotFoundException


}



On 5/22/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote:



--
Mikhail Fursov
Intel Middleware Products Division

Reply via email to