public abstract class org.aspectj.weaver.patterns.PerClause extends org.aspectj.weaver.patterns.Pointcut
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.aspectj.weaver.patterns.PerClause
  super_class: org.aspectj.weaver.patterns.Pointcut
{
  protected org.aspectj.weaver.ResolvedType inAspect;
    descriptor: Lorg/aspectj/weaver/ResolvedType;
    flags: (0x0004) ACC_PROTECTED

  public static final org.aspectj.weaver.patterns.PerClause$Kind SINGLETON;
    descriptor: Lorg/aspectj/weaver/patterns/PerClause$Kind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.aspectj.weaver.patterns.PerClause$Kind PERCFLOW;
    descriptor: Lorg/aspectj/weaver/patterns/PerClause$Kind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.aspectj.weaver.patterns.PerClause$Kind PEROBJECT;
    descriptor: Lorg/aspectj/weaver/patterns/PerClause$Kind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.aspectj.weaver.patterns.PerClause$Kind FROMSUPER;
    descriptor: Lorg/aspectj/weaver/patterns/PerClause$Kind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.aspectj.weaver.patterns.PerClause$Kind PERTYPEWITHIN;
    descriptor: Lorg/aspectj/weaver/patterns/PerClause$Kind;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 62
            new org.aspectj.weaver.patterns.PerClause$Kind
            dup
            ldc "issingleton"
            iconst_1
            invokespecial org.aspectj.weaver.patterns.PerClause$Kind.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.PerClause.SINGLETON:Lorg/aspectj/weaver/patterns/PerClause$Kind;
         1: .line 63
            new org.aspectj.weaver.patterns.PerClause$Kind
            dup
            ldc "percflow"
            iconst_2
            invokespecial org.aspectj.weaver.patterns.PerClause$Kind.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.PerClause.PERCFLOW:Lorg/aspectj/weaver/patterns/PerClause$Kind;
         2: .line 64
            new org.aspectj.weaver.patterns.PerClause$Kind
            dup
            ldc "perobject"
            iconst_3
            invokespecial org.aspectj.weaver.patterns.PerClause$Kind.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.PerClause.PEROBJECT:Lorg/aspectj/weaver/patterns/PerClause$Kind;
         3: .line 65
            new org.aspectj.weaver.patterns.PerClause$Kind
            dup
            ldc "fromsuper"
            iconst_4
            invokespecial org.aspectj.weaver.patterns.PerClause$Kind.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.PerClause.FROMSUPER:Lorg/aspectj/weaver/patterns/PerClause$Kind;
         4: .line 66
            new org.aspectj.weaver.patterns.PerClause$Kind
            dup
            ldc "pertypewithin"
            iconst_5
            invokespecial org.aspectj.weaver.patterns.PerClause$Kind.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.PerClause.PERTYPEWITHIN:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PerClause this
         0: .line 22
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.Pointcut.<init>:()V
            return
        end local 0 // org.aspectj.weaver.patterns.PerClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerClause;

  public static org.aspectj.weaver.patterns.PerClause readPerClause(org.aspectj.weaver.VersionedDataInputStream, org.aspectj.weaver.ISourceContext);
    descriptor: (Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.VersionedDataInputStream s
        start local 1 // org.aspectj.weaver.ISourceContext context
         0: .line 26
            aload 0 /* s */
            invokestatic org.aspectj.weaver.patterns.PerClause$Kind.read:(Lorg/aspectj/weaver/VersionedDataInputStream;)Lorg/aspectj/weaver/patterns/PerClause$Kind;
            astore 2 /* kind */
        start local 2 // org.aspectj.weaver.patterns.PerClause$Kind kind
         1: .line 27
            aload 2 /* kind */
            getstatic org.aspectj.weaver.patterns.PerClause.SINGLETON:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            if_acmpne 2
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.PerSingleton.readPerClause:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         2: .line 28
      StackMap locals: org.aspectj.weaver.patterns.PerClause$Kind
      StackMap stack:
            aload 2 /* kind */
            getstatic org.aspectj.weaver.patterns.PerClause.PERCFLOW:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            if_acmpne 3
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.PerCflow.readPerClause:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         3: .line 29
      StackMap locals:
      StackMap stack:
            aload 2 /* kind */
            getstatic org.aspectj.weaver.patterns.PerClause.PEROBJECT:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            if_acmpne 4
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.PerObject.readPerClause:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         4: .line 30
      StackMap locals:
      StackMap stack:
            aload 2 /* kind */
            getstatic org.aspectj.weaver.patterns.PerClause.FROMSUPER:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            if_acmpne 5
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.PerFromSuper.readPerClause:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         5: .line 31
      StackMap locals:
      StackMap stack:
            aload 2 /* kind */
            getstatic org.aspectj.weaver.patterns.PerClause.PERTYPEWITHIN:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            if_acmpne 6
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.PerTypeWithin.readPerClause:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         6: .line 33
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.aspectj.weaver.patterns.PerClause$Kind kind
        end local 1 // org.aspectj.weaver.ISourceContext context
        end local 0 // org.aspectj.weaver.VersionedDataInputStream s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0        s  Lorg/aspectj/weaver/VersionedDataInputStream;
            0    7     1  context  Lorg/aspectj/weaver/ISourceContext;
            1    7     2     kind  Lorg/aspectj/weaver/patterns/PerClause$Kind;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      s        
      context  

  public final org.aspectj.weaver.patterns.Pointcut concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.aspectj.weaver.patterns.PerClause this
        start local 1 // org.aspectj.weaver.ResolvedType inAspect
        start local 2 // org.aspectj.weaver.ResolvedType declaringType
        start local 3 // org.aspectj.weaver.IntMap bindings
         0: .line 37
            new java.lang.RuntimeException
            dup
            ldc "unimplemented: wrong concretize"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.aspectj.weaver.IntMap bindings
        end local 2 // org.aspectj.weaver.ResolvedType declaringType
        end local 1 // org.aspectj.weaver.ResolvedType inAspect
        end local 0 // org.aspectj.weaver.patterns.PerClause this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/aspectj/weaver/patterns/PerClause;
            0    1     1       inAspect  Lorg/aspectj/weaver/ResolvedType;
            0    1     2  declaringType  Lorg/aspectj/weaver/ResolvedType;
            0    1     3       bindings  Lorg/aspectj/weaver/IntMap;
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      bindings       

  public abstract org.aspectj.weaver.patterns.PerClause concretize(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      inAspect  

  public abstract org.aspectj.weaver.patterns.PerClause$Kind getKind();
    descriptor: ()Lorg/aspectj/weaver/patterns/PerClause$Kind;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String toDeclarationString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "PerClause.java"
NestMembers:
  org.aspectj.weaver.patterns.PerClause$Kind  org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix
InnerClasses:
  public Kind = org.aspectj.weaver.patterns.PerClause$Kind of org.aspectj.weaver.patterns.PerClause
  public KindAnnotationPrefix = org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix of org.aspectj.weaver.patterns.PerClause