1   package org.apache.commons.javaflow.bytecode.transformation.rewrite;
2   
3   import org.apache.commons.javaflow.Continuation;
4   
5   public final class ClassAccess3 implements Runnable {
6   
7       /*
8          L0 (0)
9           GETSTATIC ClassAccess2.class$0 : Class
10          DUP
11          IFNONNULL L1
12          POP
13         
14         L2 (5)
15          LDC "asm.data.ClassAccess2"
16          INVOKESTATIC Class.forName(String) : Class
17         
18         L3 (8)
19          DUP
20          PUTSTATIC ClassAccess2.class$0 : Class
21          GOTO L1
22         
23         L4 (12)
24          NEW NoClassDefFoundError
25          DUP_X1
26          SWAP
27          INVOKEVIRTUAL Throwable.getMessage() : String
28          INVOKESPECIAL NoClassDefFoundError.<init>(String) : void
29          ATHROW
30         
31         L1 (19)
32          ASTORE 1: clazz1
33         L5 (21)
34          INVOKESTATIC Continuation.suspend() : void
35         L6 (23)
36          RETURN
37  
38         L7 (25)
39          TRYCATCHBLOCK L2 L3 L4 ClassNotFoundException
40       */
41    
42      static Class class$0;
43    
44      public void run() {
45          // final Class clazz1 = ClassAccess2.class;
46          // final Class clazz2 = this.getClass();
47          // if(class$0==null) {
48            try {
49              class$0 = Class.forName("asm.data.ClassAccess2");
50            } catch(ClassNotFoundException ex) {
51              throw new NoClassDefFoundError(ex.getMessage());
52            }
53          // }
54          
55          Continuation.suspend();
56      }
57  
58  }