class javax.management.MatchQueryExp extends javax.management.QueryEval implements javax.management.QueryExp
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.management.MatchQueryExp
  super_class: javax.management.QueryEval
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -7156603696948215014

  private javax.management.AttributeValueExp exp;
    descriptor: Ljavax/management/AttributeValueExp;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MatchQueryExp this
         0: .line 56
            aload 0 /* this */
            invokespecial javax.management.QueryEval.<init>:()V
         1: .line 57
            return
        end local 0 // javax.management.MatchQueryExp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/MatchQueryExp;

  public void <init>(javax.management.AttributeValueExp, javax.management.StringValueExp);
    descriptor: (Ljavax/management/AttributeValueExp;Ljavax/management/StringValueExp;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.management.MatchQueryExp this
        start local 1 // javax.management.AttributeValueExp a
        start local 2 // javax.management.StringValueExp s
         0: .line 63
            aload 0 /* this */
            invokespecial javax.management.QueryEval.<init>:()V
         1: .line 64
            aload 0 /* this */
            aload 1 /* a */
            putfield javax.management.MatchQueryExp.exp:Ljavax/management/AttributeValueExp;
         2: .line 65
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual javax.management.StringValueExp.getValue:()Ljava/lang/String;
            putfield javax.management.MatchQueryExp.pattern:Ljava/lang/String;
         3: .line 66
            return
        end local 2 // javax.management.StringValueExp s
        end local 1 // javax.management.AttributeValueExp a
        end local 0 // javax.management.MatchQueryExp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/MatchQueryExp;
            0    4     1     a  Ljavax/management/AttributeValueExp;
            0    4     2     s  Ljavax/management/StringValueExp;
    MethodParameters:
      Name  Flags
      a     
      s     

  public javax.management.AttributeValueExp getAttribute();
    descriptor: ()Ljavax/management/AttributeValueExp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MatchQueryExp this
         0: .line 73
            aload 0 /* this */
            getfield javax.management.MatchQueryExp.exp:Ljavax/management/AttributeValueExp;
            areturn
        end local 0 // javax.management.MatchQueryExp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/MatchQueryExp;

  public java.lang.String getPattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MatchQueryExp this
         0: .line 80
            aload 0 /* this */
            getfield javax.management.MatchQueryExp.pattern:Ljava/lang/String;
            areturn
        end local 0 // javax.management.MatchQueryExp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/MatchQueryExp;

  public boolean apply(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.management.MatchQueryExp this
        start local 1 // javax.management.ObjectName name
         0: .line 101
            aload 0 /* this */
            getfield javax.management.MatchQueryExp.exp:Ljavax/management/AttributeValueExp;
            aload 1 /* name */
            invokevirtual javax.management.AttributeValueExp.apply:(Ljavax/management/ObjectName;)Ljavax/management/ValueExp;
            astore 2 /* val */
        start local 2 // javax.management.ValueExp val
         1: .line 102
            aload 2 /* val */
            instanceof javax.management.StringValueExp
            ifne 3
         2: .line 103
            iconst_0
            ireturn
         3: .line 105
      StackMap locals: javax.management.ValueExp
      StackMap stack:
            aload 2 /* val */
            checkcast javax.management.StringValueExp
            invokevirtual javax.management.StringValueExp.getValue:()Ljava/lang/String;
            aload 0 /* this */
            getfield javax.management.MatchQueryExp.pattern:Ljava/lang/String;
            invokestatic javax.management.MatchQueryExp.wildmatch:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 2 // javax.management.ValueExp val
        end local 1 // javax.management.ObjectName name
        end local 0 // javax.management.MatchQueryExp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/MatchQueryExp;
            0    4     1  name  Ljavax/management/ObjectName;
            1    4     2   val  Ljavax/management/ValueExp;
    Exceptions:
      throws javax.management.BadStringOperationException, javax.management.BadBinaryOpValueExpException, javax.management.BadAttributeValueExpException, javax.management.InvalidApplicationException
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.management.MatchQueryExp this
         0: .line 112
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield javax.management.MatchQueryExp.exp:Ljavax/management/AttributeValueExp;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " like "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new javax.management.StringValueExp
            dup
            aload 0 /* this */
            getfield javax.management.MatchQueryExp.pattern:Ljava/lang/String;
            invokestatic javax.management.MatchQueryExp.likeTranslate:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.management.StringValueExp.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // javax.management.MatchQueryExp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/MatchQueryExp;

  private static java.lang.String likeTranslate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 116
            aload 0 /* s */
            bipush 63
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            bipush 42
            bipush 37
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static boolean wildmatch(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String p
         0: .line 128
            iconst_0
            istore 3 /* si */
        start local 3 // int si
         1: iconst_0
            istore 4 /* pi */
        start local 4 // int pi
         2: .line 129
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 5 /* slen */
        start local 5 // int slen
         3: .line 130
            aload 1 /* p */
            invokevirtual java.lang.String.length:()I
            istore 6 /* plen */
        start local 6 // int plen
         4: .line 132
            goto 48
         5: .line 133
      StackMap locals: java.lang.String java.lang.String top int int int int
      StackMap stack:
            aload 1 /* p */
            iload 4 /* pi */
            iinc 4 /* pi */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         6: .line 134
            iload 2 /* c */
            bipush 63
            if_icmpne 9
         7: .line 135
            iinc 3 /* si */ 1
            iload 3 /* si */
            iload 5 /* slen */
            if_icmple 48
         8: .line 136
            iconst_0
            ireturn
         9: .line 137
      StackMap locals: java.lang.String java.lang.String int int int int int
      StackMap stack:
            iload 2 /* c */
            bipush 91
            if_icmpne 34
        10: .line 138
            iload 3 /* si */
            iload 5 /* slen */
            if_icmplt 12
        11: .line 139
            iconst_0
            ireturn
        12: .line 140
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* wantit */
        start local 7 // boolean wantit
        13: .line 141
            iconst_0
            istore 8 /* seenit */
        start local 8 // boolean seenit
        14: .line 142
            aload 1 /* p */
            iload 4 /* pi */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 33
            if_icmpne 28
        15: .line 143
            iconst_0
            istore 7 /* wantit */
        16: .line 144
            iinc 4 /* pi */ 1
        17: .line 146
            goto 28
        18: .line 147
      StackMap locals: int int
      StackMap stack:
            aload 1 /* p */
            iload 4 /* pi */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 26
        19: .line 148
            iload 4 /* pi */
            iconst_1
            iadd
            iload 6 /* plen */
            if_icmpge 26
        20: .line 149
            aload 1 /* p */
            iload 4 /* pi */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 93
            if_icmpeq 26
        21: .line 150
            aload 0 /* s */
            iload 3 /* si */
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* p */
            iload 4 /* pi */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            if_icmplt 24
        22: .line 151
            aload 0 /* s */
            iload 3 /* si */
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* p */
            iload 4 /* pi */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpgt 24
        23: .line 152
            iconst_1
            istore 8 /* seenit */
        24: .line 154
      StackMap locals:
      StackMap stack:
            iinc 4 /* pi */ 1
        25: .line 155
            goto 28
        26: .line 156
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            aload 0 /* s */
            iload 3 /* si */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 28
        27: .line 157
            iconst_1
            istore 8 /* seenit */
        28: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            iload 4 /* pi */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 2 /* c */
            bipush 93
            if_icmpeq 29
            iinc 4 /* pi */ 1
            iload 4 /* pi */
            iload 6 /* plen */
            if_icmplt 18
        29: .line 161
      StackMap locals:
      StackMap stack:
            iload 4 /* pi */
            iload 6 /* plen */
            if_icmpge 30
            iload 7 /* wantit */
            iload 8 /* seenit */
            if_icmpeq 31
        30: .line 162
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        31: .line 164
      StackMap locals:
      StackMap stack:
            iinc 4 /* pi */ 1
        32: .line 165
            iinc 3 /* si */ 1
        end local 8 // boolean seenit
        end local 7 // boolean wantit
        33: .line 166
            goto 48
      StackMap locals:
      StackMap stack:
        34: iload 2 /* c */
            bipush 42
            if_icmpne 42
        35: .line 167
            iload 4 /* pi */
            iload 6 /* plen */
            if_icmplt 37
        36: .line 168
            iconst_1
            ireturn
        37: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 3 /* si */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aload 1 /* p */
            iload 4 /* pi */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic javax.management.MatchQueryExp.wildmatch:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 39
        38: .line 171
            iconst_1
            ireturn
        39: .line 172
      StackMap locals:
      StackMap stack:
            iinc 3 /* si */ 1
            iload 3 /* si */
            iload 5 /* slen */
        40: .line 169
            if_icmplt 37
        41: .line 173
            iconst_0
            ireturn
        42: .line 174
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 92
            if_icmpne 46
        43: .line 175
            iload 4 /* pi */
            iload 6 /* plen */
            if_icmpge 45
            iload 3 /* si */
            iload 5 /* slen */
            if_icmpge 45
        44: .line 176
            aload 1 /* p */
            iload 4 /* pi */
            iinc 4 /* pi */ 1
            invokevirtual java.lang.String.charAt:(I)C
            aload 0 /* s */
            iload 3 /* si */
            iinc 3 /* si */ 1
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 48
        45: .line 177
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        46: .line 179
      StackMap locals:
      StackMap stack:
            iload 3 /* si */
            iload 5 /* slen */
            if_icmpge 47
            iload 2 /* c */
            aload 0 /* s */
            iload 3 /* si */
            iinc 3 /* si */ 1
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 48
        47: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // char c
        48: .line 132
      StackMap locals: java.lang.String java.lang.String top int int int int
      StackMap stack:
            iload 4 /* pi */
            iload 6 /* plen */
            if_icmplt 5
        49: .line 184
            iload 3 /* si */
            iload 5 /* slen */
            if_icmpne 50
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        50: iconst_0
            ireturn
        end local 6 // int plen
        end local 5 // int slen
        end local 4 // int pi
        end local 3 // int si
        end local 1 // java.lang.String p
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   51     0       s  Ljava/lang/String;
            0   51     1       p  Ljava/lang/String;
            6   48     2       c  C
            1   51     3      si  I
            2   51     4      pi  I
            3   51     5    slen  I
            4   51     6    plen  I
           13   33     7  wantit  Z
           14   33     8  seenit  Z
    MethodParameters:
      Name  Flags
      s     
      p     
}
SourceFile: "MatchQueryExp.java"