class org.jruby.ext.nkf.RubyNKF$MimeConverter extends org.jruby.ext.nkf.RubyNKF$Converter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.jruby.ext.nkf.RubyNKF$MimeConverter
super_class: org.jruby.ext.nkf.RubyNKF$Converter
{
public void <init>(org.jruby.runtime.ThreadContext, java.util.Map<java.lang.String, org.jruby.ext.nkf.RubyNKF$NKFCharset>);
descriptor: (Lorg/jruby/runtime/ThreadContext;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jruby.ext.nkf.RubyNKF$Converter.<init>:(Lorg/jruby/runtime/ThreadContext;Ljava/util/Map;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/nkf/RubyNKF$MimeConverter;
0 2 1 ctx Lorg/jruby/runtime/ThreadContext;
0 2 2 opt Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;>;
Signature: (Lorg/jruby/runtime/ThreadContext;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;>;)V
MethodParameters:
Name Flags
ctx
opt
private java.lang.String detectCharset(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.UTF8:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
ifne 2
1: getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.UTF8:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.JIS:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
ifne 4
3: getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.JIS:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.EUC:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
ifne 6
5: getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.EUC:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.ASCII:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/nkf/RubyNKF$MimeConverter;
0 7 1 charset Ljava/lang/String;
MethodParameters:
Name Flags
charset
private org.jruby.util.ByteList decodeMimeString(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/jruby/util/ByteList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ldc "^=\\?|\\?|\\?=$"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
iconst_1
aaload
invokevirtual org.jruby.ext.nkf.RubyNKF$MimeConverter.detectCharset:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 2: aload 2
iconst_2
aaload
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 3: new org.jruby.util.ByteList
dup
aload 2
iconst_3
aaload
invokevirtual java.lang.String.getBytes:()[B
getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
astore 5
start local 5 4: bipush 66
iload 4
if_icmpeq 5
bipush 98
iload 4
if_icmpne 7
5: StackMap locals: org.jruby.ext.nkf.RubyNKF$MimeConverter java.lang.String java.lang.String[] java.lang.String int org.jruby.util.ByteList
StackMap stack:
aload 0
getfield org.jruby.ext.nkf.RubyNKF$MimeConverter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 5
getstatic org.jruby.ext.nkf.RubyNKF.PACK_BASE64:Lorg/jruby/util/ByteList;
invokestatic org.jruby.util.Pack.unpack:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
astore 6
start local 6 6: goto 8
end local 6 7: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ext.nkf.RubyNKF$MimeConverter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 5
getstatic org.jruby.ext.nkf.RubyNKF.PACK_QENCODE:Lorg/jruby/util/ByteList;
invokestatic org.jruby.util.Pack.unpack:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
astore 6
start local 6 8: StackMap locals: org.jruby.RubyArray
StackMap stack:
aload 6
iconst_0
invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
checkcast org.jruby.RubyString
astore 7
start local 7 9: aload 7
invokevirtual org.jruby.RubyString.asString:()Lorg/jruby/RubyString;
invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
astore 8
start local 8 10: aload 0
aload 8
aload 3
aload 0
getfield org.jruby.ext.nkf.RubyNKF$MimeConverter.options:Ljava/util/Map;
ldc "output"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ext.nkf.RubyNKF$NKFCharset
invokevirtual org.jruby.ext.nkf.RubyNKF$MimeConverter.convert_byte:(Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;)Lorg/jruby/util/ByteList;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ext/nkf/RubyNKF$MimeConverter;
0 11 1 str Ljava/lang/String;
1 11 2 mime [Ljava/lang/String;
2 11 3 charset Ljava/lang/String;
3 11 4 encode I
4 11 5 body Lorg/jruby/util/ByteList;
6 7 6 array Lorg/jruby/RubyArray;
8 11 6 array Lorg/jruby/RubyArray;
9 11 7 s Lorg/jruby/RubyString;
10 11 8 decodeStr Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
str
org.jruby.RubyString makeRubyString(java.util.ArrayList<org.jruby.util.ByteList>);
descriptor: (Ljava/util/ArrayList;)Lorg/jruby/RubyString;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new org.jruby.util.ByteList
dup
invokespecial org.jruby.util.ByteList.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.jruby.ext.nkf.RubyNKF$MimeConverter java.util.ArrayList org.jruby.util.ByteList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.util.ByteList
astore 3
start local 3 3: aload 2
aload 3
invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield org.jruby.ext.nkf.RubyNKF$MimeConverter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 2
invokevirtual org.jruby.Ruby.newString:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ext/nkf/RubyNKF$MimeConverter;
0 6 1 list Ljava/util/ArrayList<Lorg/jruby/util/ByteList;>;
1 6 2 r Lorg/jruby/util/ByteList;
3 4 3 l Lorg/jruby/util/ByteList;
Signature: (Ljava/util/ArrayList<Lorg/jruby/util/ByteList;>;)Lorg/jruby/RubyString;
MethodParameters:
Name Flags
list
org.jruby.RubyString convert(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ext.nkf.RubyNKF$MimeConverter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
aload 1
invokestatic org.jruby.runtime.Helpers.decodeByteList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ldc "\\s"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 7
5: StackMap locals: org.jruby.ext.nkf.RubyNKF$MimeConverter org.jruby.util.ByteList java.lang.String java.lang.String[] java.util.ArrayList int
StackMap stack:
aload 4
aload 0
aload 3
iload 5
aaload
invokevirtual org.jruby.ext.nkf.RubyNKF$MimeConverter.decodeMimeString:(Ljava/lang/String;)Lorg/jruby/util/ByteList;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 3
arraylength
if_icmplt 5
end local 5 8: aload 0
aload 4
invokevirtual org.jruby.ext.nkf.RubyNKF$MimeConverter.makeRubyString:(Ljava/util/ArrayList;)Lorg/jruby/RubyString;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ext/nkf/RubyNKF$MimeConverter;
0 9 1 str Lorg/jruby/util/ByteList;
1 9 2 s Ljava/lang/String;
2 9 3 token [Ljava/lang/String;
3 9 4 raw_data Ljava/util/ArrayList<Lorg/jruby/util/ByteList;>;
4 8 5 i I
MethodParameters:
Name Flags
str
}
SourceFile: "RubyNKF.java"
NestHost: org.jruby.ext.nkf.RubyNKF
InnerClasses:
abstract Converter = org.jruby.ext.nkf.RubyNKF$Converter of org.jruby.ext.nkf.RubyNKF
MimeConverter = org.jruby.ext.nkf.RubyNKF$MimeConverter of org.jruby.ext.nkf.RubyNKF
public final NKFCharset = org.jruby.ext.nkf.RubyNKF$NKFCharset of org.jruby.ext.nkf.RubyNKF