public class org.bson.codecs.PatternCodec implements org.bson.codecs.Codec<java.util.regex.Pattern>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bson.codecs.PatternCodec
super_class: java.lang.Object
{
private static final int GLOBAL_FLAG;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/codecs/PatternCodec;
public void encode(org.bson.BsonWriter, java.util.regex.Pattern, org.bson.codecs.EncoderContext);
descriptor: (Lorg/bson/BsonWriter;Ljava/util/regex/Pattern;Lorg/bson/codecs/EncoderContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
new org.bson.BsonRegularExpression
dup
aload 2
invokevirtual java.util.regex.Pattern.pattern:()Ljava/lang/String;
aload 2
invokestatic org.bson.codecs.PatternCodec.getOptionsAsString:(Ljava/util/regex/Pattern;)Ljava/lang/String;
invokespecial org.bson.BsonRegularExpression.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface org.bson.BsonWriter.writeRegularExpression:(Lorg/bson/BsonRegularExpression;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/codecs/PatternCodec;
0 2 1 writer Lorg/bson/BsonWriter;
0 2 2 value Ljava/util/regex/Pattern;
0 2 3 encoderContext Lorg/bson/codecs/EncoderContext;
MethodParameters:
Name Flags
writer final
value final
encoderContext final
public java.util.regex.Pattern decode(org.bson.BsonReader, org.bson.codecs.DecoderContext);
descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/util/regex/Pattern;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.bson.BsonReader.readRegularExpression:()Lorg/bson/BsonRegularExpression;
astore 3
start local 3 1: aload 3
invokevirtual org.bson.BsonRegularExpression.getPattern:()Ljava/lang/String;
aload 3
invokestatic org.bson.codecs.PatternCodec.getOptionsAsInt:(Lorg/bson/BsonRegularExpression;)I
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bson/codecs/PatternCodec;
0 2 1 reader Lorg/bson/BsonReader;
0 2 2 decoderContext Lorg/bson/codecs/DecoderContext;
1 2 3 regularExpression Lorg/bson/BsonRegularExpression;
MethodParameters:
Name Flags
reader final
decoderContext final
public java.lang.Class<java.util.regex.Pattern> getEncoderClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Ljava/util/regex/Pattern;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/codecs/PatternCodec;
Signature: ()Ljava/lang/Class<Ljava/util/regex/Pattern;>;
private static java.lang.String getOptionsAsString(java.util.regex.Pattern);
descriptor: (Ljava/util/regex/Pattern;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Pattern.flags:()I
istore 1
start local 1 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: invokestatic org.bson.codecs.PatternCodec$RegexFlag.values:()[Lorg/bson/codecs/PatternCodec$RegexFlag;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: java.util.regex.Pattern int java.lang.StringBuilder top int int org.bson.codecs.PatternCodec$RegexFlag[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 0
invokevirtual java.util.regex.Pattern.flags:()I
aload 3
getfield org.bson.codecs.PatternCodec$RegexFlag.javaFlag:I
iand
ifle 7
5: aload 2
aload 3
getfield org.bson.codecs.PatternCodec$RegexFlag.flagChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: iload 1
aload 3
getfield org.bson.codecs.PatternCodec$RegexFlag.javaFlag:I
isub
istore 1
end local 3 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 3
9: iload 1
ifle 11
10: new java.lang.IllegalArgumentException
dup
ldc "some flags could not be recognized."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.util.regex.Pattern int java.lang.StringBuilder
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 pattern Ljava/util/regex/Pattern;
1 12 1 flags I
2 12 2 buf Ljava/lang/StringBuilder;
4 7 3 flag Lorg/bson/codecs/PatternCodec$RegexFlag;
MethodParameters:
Name Flags
pattern final
private static int getOptionsAsInt(org.bson.BsonRegularExpression);
descriptor: (Lorg/bson/BsonRegularExpression;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual org.bson.BsonRegularExpression.getOptions:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
invokevirtual java.lang.String.length:()I
ifne 4
3: StackMap locals: int java.lang.String
StackMap stack:
iload 1
ireturn
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 2
5: iconst_0
istore 3
start local 3 6: goto 14
7: StackMap locals: int
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.bson.codecs.PatternCodec$RegexFlag.getByCharacter:(C)Lorg/bson/codecs/PatternCodec$RegexFlag;
astore 4
start local 4 8: aload 4
ifnull 12
9: iload 1
aload 4
getfield org.bson.codecs.PatternCodec$RegexFlag.javaFlag:I
ior
istore 1
10: aload 4
getfield org.bson.codecs.PatternCodec$RegexFlag.unsupported:Ljava/lang/String;
pop
11: goto 13
12: StackMap locals: org.bson.codecs.PatternCodec$RegexFlag
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unrecognized flag ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 4 13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 7
end local 3 15: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 regularExpression Lorg/bson/BsonRegularExpression;
1 16 1 optionsInt I
2 16 2 optionsString Ljava/lang/String;
6 15 3 i I
8 13 4 flag Lorg/bson/codecs/PatternCodec$RegexFlag;
MethodParameters:
Name Flags
regularExpression final
public java.lang.Object decode(org.bson.BsonReader, org.bson.codecs.DecoderContext);
descriptor: (Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual org.bson.codecs.PatternCodec.decode:(Lorg/bson/BsonReader;Lorg/bson/codecs/DecoderContext;)Ljava/util/regex/Pattern;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void encode(org.bson.BsonWriter, java.lang.Object, org.bson.codecs.EncoderContext);
descriptor: (Lorg/bson/BsonWriter;Ljava/lang/Object;Lorg/bson/codecs/EncoderContext;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast java.util.regex.Pattern
aload 3
invokevirtual org.bson.codecs.PatternCodec.encode:(Lorg/bson/BsonWriter;Ljava/util/regex/Pattern;Lorg/bson/codecs/EncoderContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/bson/codecs/Codec<Ljava/util/regex/Pattern;>;
SourceFile: "PatternCodec.java"
NestMembers:
org.bson.codecs.PatternCodec$RegexFlag
InnerClasses:
private final RegexFlag = org.bson.codecs.PatternCodec$RegexFlag of org.bson.codecs.PatternCodec