public class org.aspectj.weaver.ltw.LTWWorld extends org.aspectj.weaver.bcel.BcelWorld implements org.aspectj.weaver.reflect.IReflectionWorld
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.ltw.LTWWorld
  super_class: org.aspectj.weaver.bcel.BcelWorld
{
  private org.aspectj.weaver.reflect.AnnotationFinder annotationFinder;
    descriptor: Lorg/aspectj/weaver/reflect/AnnotationFinder;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.weaver.loadtime.IWeavingContext weavingContext;
    descriptor: Lorg/aspectj/weaver/loadtime/IWeavingContext;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String classLoaderString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String classLoaderParentString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  protected static final java.lang.Class concurrentMapClass;
    descriptor: Ljava/lang/Class;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final boolean ShareBootstrapTypes;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static java.util.Map bootstrapTypes;
    descriptor: Ljava/util/Map;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private boolean typeCompletionInProgress;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.List typesForCompletion;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            aconst_null
            putstatic org.aspectj.weaver.ltw.LTWWorld.concurrentMapClass:Ljava/lang/Class;
         1: .line 165
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.ClassLoader, org.aspectj.weaver.loadtime.IWeavingContext, org.aspectj.bridge.IMessageHandler, org.aspectj.weaver.ICrossReferenceHandler);
    descriptor: (Ljava/lang/ClassLoader;Lorg/aspectj/weaver/loadtime/IWeavingContext;Lorg/aspectj/bridge/IMessageHandler;Lorg/aspectj/weaver/ICrossReferenceHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // java.lang.ClassLoader loader
        start local 2 // org.aspectj.weaver.loadtime.IWeavingContext weavingContext
        start local 3 // org.aspectj.bridge.IMessageHandler handler
        start local 4 // org.aspectj.weaver.ICrossReferenceHandler xrefHandler
         0: .line 74
            aload 0 /* this */
            aload 1 /* loader */
            aload 3 /* handler */
            aload 4 /* xrefHandler */
            invokespecial org.aspectj.weaver.bcel.BcelWorld.<init>:(Ljava/lang/ClassLoader;Lorg/aspectj/bridge/IMessageHandler;Lorg/aspectj/weaver/ICrossReferenceHandler;)V
         1: .line 219
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.ltw.LTWWorld.typeCompletionInProgress:Z
         2: .line 220
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.aspectj.weaver.ltw.LTWWorld.typesForCompletion:Ljava/util/List;
         3: .line 75
            aload 0 /* this */
            aload 2 /* weavingContext */
            putfield org.aspectj.weaver.ltw.LTWWorld.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
         4: .line 77
            aload 0 /* this */
            aload 1 /* loader */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            putfield org.aspectj.weaver.ltw.LTWWorld.classLoaderString:Ljava/lang/String;
         5: .line 78
            goto 8
      StackMap locals: org.aspectj.weaver.ltw.LTWWorld java.lang.ClassLoader org.aspectj.weaver.loadtime.IWeavingContext org.aspectj.bridge.IMessageHandler org.aspectj.weaver.ICrossReferenceHandler
      StackMap stack: java.lang.Throwable
         6: pop
         7: .line 80
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* loader */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* loader */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.aspectj.weaver.ltw.LTWWorld.classLoaderString:Ljava/lang/String;
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* loader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            ifnonnull 9
            ldc "<NullParent>"
            goto 10
      StackMap locals:
      StackMap stack: org.aspectj.weaver.ltw.LTWWorld
         9: aload 1 /* loader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals: org.aspectj.weaver.ltw.LTWWorld java.lang.ClassLoader org.aspectj.weaver.loadtime.IWeavingContext org.aspectj.bridge.IMessageHandler org.aspectj.weaver.ICrossReferenceHandler
      StackMap stack: org.aspectj.weaver.ltw.LTWWorld java.lang.String
        10: putfield org.aspectj.weaver.ltw.LTWWorld.classLoaderParentString:Ljava/lang/String;
        11: .line 83
            aload 0 /* this */
            invokestatic org.aspectj.util.LangUtil.is15VMOrGreater:()Z
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.setBehaveInJava5Way:(Z)V
        12: .line 84
            aload 0 /* this */
            aload 1 /* loader */
            aload 0 /* this */
            invokestatic org.aspectj.weaver.reflect.ReflectionWorld.makeAnnotationFinderIfAny:(Ljava/lang/ClassLoader;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/reflect/AnnotationFinder;
            putfield org.aspectj.weaver.ltw.LTWWorld.annotationFinder:Lorg/aspectj/weaver/reflect/AnnotationFinder;
        13: .line 85
            return
        end local 4 // org.aspectj.weaver.ICrossReferenceHandler xrefHandler
        end local 3 // org.aspectj.bridge.IMessageHandler handler
        end local 2 // org.aspectj.weaver.loadtime.IWeavingContext weavingContext
        end local 1 // java.lang.ClassLoader loader
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0   14     1          loader  Ljava/lang/ClassLoader;
            0   14     2  weavingContext  Lorg/aspectj/weaver/loadtime/IWeavingContext;
            0   14     3         handler  Lorg/aspectj/bridge/IMessageHandler;
            0   14     4     xrefHandler  Lorg/aspectj/weaver/ICrossReferenceHandler;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Throwable
    MethodParameters:
                Name  Flags
      loader          
      weavingContext  
      handler         
      xrefHandler     

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
         0: .line 88
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
            invokeinterface org.aspectj.weaver.loadtime.IWeavingContext.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;

  protected org.aspectj.weaver.ReferenceTypeDelegate resolveDelegate(org.aspectj.weaver.ReferenceType);
    descriptor: (Lorg/aspectj/weaver/ReferenceType;)Lorg/aspectj/weaver/ReferenceTypeDelegate;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.ReferenceType ty
         0: .line 107
            aload 0 /* this */
            aload 1 /* ty */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.resolveIfBootstrapDelegate:(Lorg/aspectj/weaver/ReferenceType;)Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 2 /* bootstrapLoaderDelegate */
        start local 2 // org.aspectj.weaver.ReferenceTypeDelegate bootstrapLoaderDelegate
         1: .line 108
            aload 2 /* bootstrapLoaderDelegate */
            ifnull 3
         2: .line 109
            aload 2 /* bootstrapLoaderDelegate */
            areturn
         3: .line 112
      StackMap locals: org.aspectj.weaver.ReferenceTypeDelegate
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ty */
            invokespecial org.aspectj.weaver.bcel.BcelWorld.resolveDelegate:(Lorg/aspectj/weaver/ReferenceType;)Lorg/aspectj/weaver/ReferenceTypeDelegate;
            areturn
        end local 2 // org.aspectj.weaver.ReferenceTypeDelegate bootstrapLoaderDelegate
        end local 1 // org.aspectj.weaver.ReferenceType ty
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    4     0                     this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    4     1                       ty  Lorg/aspectj/weaver/ReferenceType;
            1    4     2  bootstrapLoaderDelegate  Lorg/aspectj/weaver/ReferenceTypeDelegate;
    MethodParameters:
      Name  Flags
      ty    

  protected org.aspectj.weaver.ReferenceTypeDelegate resolveIfBootstrapDelegate(org.aspectj.weaver.ReferenceType);
    descriptor: (Lorg/aspectj/weaver/ReferenceType;)Lorg/aspectj/weaver/ReferenceTypeDelegate;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.ReferenceType ty
         0: .line 145
            aconst_null
            areturn
        end local 1 // org.aspectj.weaver.ReferenceType ty
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    1     1    ty  Lorg/aspectj/weaver/ReferenceType;
    MethodParameters:
      Name  Flags
      ty    

  private org.aspectj.weaver.ReferenceTypeDelegate resolveReflectionTypeDelegate(org.aspectj.weaver.ReferenceType, java.lang.ClassLoader);
    descriptor: (Lorg/aspectj/weaver/ReferenceType;Ljava/lang/ClassLoader;)Lorg/aspectj/weaver/ReferenceTypeDelegate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.ReferenceType ty
        start local 2 // java.lang.ClassLoader resolutionLoader
         0: .line 152
            aload 1 /* ty */
            aload 0 /* this */
            aload 2 /* resolutionLoader */
            invokestatic org.aspectj.weaver.reflect.ReflectionBasedReferenceTypeDelegateFactory.createDelegate:(Lorg/aspectj/weaver/ReferenceType;Lorg/aspectj/weaver/World;Ljava/lang/ClassLoader;)Lorg/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegate;
            astore 3 /* res */
        start local 3 // org.aspectj.weaver.ReferenceTypeDelegate res
         1: .line 153
            aload 3 /* res */
            areturn
        end local 3 // org.aspectj.weaver.ReferenceTypeDelegate res
        end local 2 // java.lang.ClassLoader resolutionLoader
        end local 1 // org.aspectj.weaver.ReferenceType ty
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    2     1                ty  Lorg/aspectj/weaver/ReferenceType;
            0    2     2  resolutionLoader  Ljava/lang/ClassLoader;
            1    2     3               res  Lorg/aspectj/weaver/ReferenceTypeDelegate;
    MethodParameters:
                  Name  Flags
      ty                
      resolutionLoader  

  public void loadedClass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // java.lang.Class clazz
         0: .line 163
            return
        end local 1 // java.lang.Class clazz
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    1     1  clazz  Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      clazz  

  public org.aspectj.weaver.reflect.AnnotationFinder getAnnotationFinder();
    descriptor: ()Lorg/aspectj/weaver/reflect/AnnotationFinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
         0: .line 168
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.annotationFinder:Lorg/aspectj/weaver/reflect/AnnotationFinder;
            areturn
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;

  public org.aspectj.weaver.ResolvedType resolve(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/aspectj/weaver/ResolvedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // java.lang.Class aClass
         0: .line 177
            aload 0 /* this */
            aload 1 /* aClass */
            invokestatic org.aspectj.weaver.reflect.ReflectionWorld.resolve:(Lorg/aspectj/weaver/World;Ljava/lang/Class;)Lorg/aspectj/weaver/ResolvedType;
            areturn
        end local 1 // java.lang.Class aClass
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    1     1  aClass  Ljava/lang/Class;
    MethodParameters:
        Name  Flags
      aClass  

  private static java.util.Map makeConcurrentMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 181
            getstatic org.aspectj.weaver.ltw.LTWWorld.concurrentMapClass:Ljava/lang/Class;
            ifnull 5
         1: .line 183
            getstatic org.aspectj.weaver.ltw.LTWWorld.concurrentMapClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.util.Map
         2: areturn
         3: .line 184
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            pop
            goto 5
         4: .line 185
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
         5: .line 189
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.InstantiationException
           1     2       4  Class java.lang.IllegalAccessException

  private static java.lang.Class makeConcurrentMapClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 193
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.util.concurrent.ConcurrentHashMap"
            aastore
            dup
            iconst_1
         1: .line 194
            ldc "edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap"
            aastore
            dup
            iconst_2
         2: .line 195
            ldc "EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap"
            aastore
         3: .line 193
            astore 0 /* betterChoices */
        start local 0 // java.lang.String[] betterChoices
         4: .line 196
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         5: goto 11
         6: .line 198
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* betterChoices */
            iload 1 /* i */
            aaload
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
         7: areturn
         8: .line 199
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
            goto 10
         9: .line 201
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
        10: .line 196
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 1 /* i */
            aload 0 /* betterChoices */
            arraylength
            if_icmplt 6
        end local 1 // int i
        12: .line 206
            aconst_null
            areturn
        end local 0 // java.lang.String[] betterChoices
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            4   13     0  betterChoices  [Ljava/lang/String;
            5   12     1              i  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.ClassNotFoundException
           6     7       9  Class java.lang.SecurityException

  public boolean isRunMinimalMemory();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
         0: .line 211
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.isRunMinimalMemorySet:()Z
            ifeq 2
         1: .line 212
            aload 0 /* this */
            invokespecial org.aspectj.weaver.bcel.BcelWorld.isRunMinimalMemory:()Z
            ireturn
         2: .line 214
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;

  protected void completeBinaryType(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.ResolvedType ret
         0: .line 224
            aload 0 /* this */
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.isLocallyDefined:(Ljava/lang/String;)Z
            ifeq 17
         1: .line 225
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.typeCompletionInProgress:Z
            ifeq 4
         2: .line 226
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.typesForCompletion:Ljava/util/List;
            aload 1 /* ret */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 227
            goto 19
         4: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.ltw.LTWWorld.typeCompletionInProgress:Z
         5: .line 230
            aload 0 /* this */
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.completeHierarchyForType:(Lorg/aspectj/weaver/ResolvedType;)V
         6: .line 231
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 232
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.ltw.LTWWorld.typeCompletionInProgress:Z
         9: .line 233
            aload 2
            athrow
        10: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.ltw.LTWWorld.typeCompletionInProgress:Z
        11: .line 234
            goto 15
        12: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.typesForCompletion:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedType
            astore 2 /* rt */
        start local 2 // org.aspectj.weaver.ResolvedType rt
        13: .line 236
            aload 0 /* this */
            aload 2 /* rt */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.completeHierarchyForType:(Lorg/aspectj/weaver/ResolvedType;)V
        14: .line 237
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.typesForCompletion:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        end local 2 // org.aspectj.weaver.ResolvedType rt
        15: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.typesForCompletion:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 12
        16: .line 240
            goto 19
        17: .line 241
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ResolvedType.needsModifiableDelegate:()Z
            ifne 19
        18: .line 242
            aload 0 /* this */
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.completeNonLocalType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/ResolvedType;
            astore 1 /* ret */
        19: .line 245
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.ResolvedType ret
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0   20     1   ret  Lorg/aspectj/weaver/ResolvedType;
           13   15     2    rt  Lorg/aspectj/weaver/ResolvedType;
      Exception table:
        from    to  target  type
           4     7       7  any
    MethodParameters:
      Name  Flags
      ret   

  private void completeHierarchyForType(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.ResolvedType ret
         0: .line 248
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.typeNotExposedToWeaver:Lorg/aspectj/weaver/Lint$Kind;
            iconst_1
            invokevirtual org.aspectj.weaver.Lint$Kind.setSuppressed:(Z)V
         1: .line 249
            aload 0 /* this */
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.weaveInterTypeDeclarations:(Lorg/aspectj/weaver/ResolvedType;)V
         2: .line 250
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.typeNotExposedToWeaver:Lorg/aspectj/weaver/Lint$Kind;
            iconst_0
            invokevirtual org.aspectj.weaver.Lint$Kind.setSuppressed:(Z)V
         3: .line 251
            return
        end local 1 // org.aspectj.weaver.ResolvedType ret
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    4     1   ret  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
      Name  Flags
      ret   

  protected boolean needsCompletion();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
         0: .line 254
            iconst_1
            ireturn
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;

  public boolean isLocallyDefined(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // java.lang.String classname
         0: .line 259
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
            aload 1 /* classname */
            invokeinterface org.aspectj.weaver.loadtime.IWeavingContext.isLocallyDefined:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String classname
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    1     1  classname  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      classname  

  protected org.aspectj.weaver.ResolvedType completeNonLocalType(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/ResolvedType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.ResolvedType ret
         0: .line 263
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 2
         1: .line 264
            aload 1 /* ret */
            areturn
         2: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            astore 2 /* toResolve */
        start local 2 // org.aspectj.weaver.ResolvedType toResolve
         3: .line 267
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ResolvedType.isParameterizedType:()Z
            ifne 4
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.ResolvedType.isGenericType:()Z
            ifeq 5
         4: .line 268
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 2 /* toResolve */
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 2 /* toResolve */
         5: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* toResolve */
            checkcast org.aspectj.weaver.ReferenceType
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.resolveReflectionTypeDelegate:(Lorg/aspectj/weaver/ReferenceType;Ljava/lang/ClassLoader;)Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 3 /* rtd */
        start local 3 // org.aspectj.weaver.ReferenceTypeDelegate rtd
         6: .line 271
            aload 1 /* ret */
            checkcast org.aspectj.weaver.ReferenceType
            aload 3 /* rtd */
            invokevirtual org.aspectj.weaver.ReferenceType.setDelegate:(Lorg/aspectj/weaver/ReferenceTypeDelegate;)V
         7: .line 272
            aload 1 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.ReferenceTypeDelegate rtd
        end local 2 // org.aspectj.weaver.ResolvedType toResolve
        end local 1 // org.aspectj.weaver.ResolvedType ret
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    8     1        ret  Lorg/aspectj/weaver/ResolvedType;
            3    8     2  toResolve  Lorg/aspectj/weaver/ResolvedType;
            6    8     3        rtd  Lorg/aspectj/weaver/ReferenceTypeDelegate;
    MethodParameters:
      Name  Flags
      ret   

  public void storeClass(org.aspectj.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/JavaClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.apache.bcel.classfile.JavaClass clazz
         0: .line 277
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.ltw.LTWWorld.ensureRepositorySetup:()V
         1: .line 278
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.delegate:Lorg/aspectj/apache/bcel/util/Repository;
            aload 1 /* clazz */
            invokeinterface org.aspectj.apache.bcel.util.Repository.storeClass:(Lorg/aspectj/apache/bcel/classfile/JavaClass;)V
         2: .line 279
            return
        end local 1 // org.aspectj.apache.bcel.classfile.JavaClass clazz
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    3     1  clazz  Lorg/aspectj/apache/bcel/classfile/JavaClass;
    MethodParameters:
       Name  Flags
      clazz  

  public void accept(org.aspectj.weaver.Dump$IVisitor);
    descriptor: (Lorg/aspectj/weaver/Dump$IVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
        start local 1 // org.aspectj.weaver.Dump$IVisitor visitor
         0: .line 283
            aload 1 /* visitor */
            ldc "Class loader:"
            invokeinterface org.aspectj.weaver.Dump$IVisitor.visitObject:(Ljava/lang/Object;)V
         1: .line 284
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.classLoaderString:Ljava/lang/String;
            invokeinterface org.aspectj.weaver.Dump$IVisitor.visitObject:(Ljava/lang/Object;)V
         2: .line 285
            aload 1 /* visitor */
            ldc "Class loader parent:"
            invokeinterface org.aspectj.weaver.Dump$IVisitor.visitObject:(Ljava/lang/Object;)V
         3: .line 286
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.aspectj.weaver.ltw.LTWWorld.classLoaderParentString:Ljava/lang/String;
            invokeinterface org.aspectj.weaver.Dump$IVisitor.visitObject:(Ljava/lang/Object;)V
         4: .line 287
            aload 0 /* this */
            aload 1 /* visitor */
            invokespecial org.aspectj.weaver.bcel.BcelWorld.accept:(Lorg/aspectj/weaver/Dump$IVisitor;)V
         5: .line 288
            return
        end local 1 // org.aspectj.weaver.Dump$IVisitor visitor
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/aspectj/weaver/ltw/LTWWorld;
            0    6     1  visitor  Lorg/aspectj/weaver/Dump$IVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public boolean isLoadtimeWeaving();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.ltw.LTWWorld this
         0: .line 291
            iconst_1
            ireturn
        end local 0 // org.aspectj.weaver.ltw.LTWWorld this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/ltw/LTWWorld;
}
SourceFile: "LTWWorld.java"
InnerClasses:
  public abstract IVisitor = org.aspectj.weaver.Dump$IVisitor of org.aspectj.weaver.Dump
  public Kind = org.aspectj.weaver.Lint$Kind of org.aspectj.weaver.Lint