abstract class org.jruby.ext.nkf.RubyNKF$Converter
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.ext.nkf.RubyNKF$Converter
super_class: java.lang.Object
{
protected org.jruby.runtime.ThreadContext context;
descriptor: Lorg/jruby/runtime/ThreadContext;
flags: (0x0004) ACC_PROTECTED
protected java.util.Map<java.lang.String, org.jruby.ext.nkf.RubyNKF$NKFCharset> options;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;>;
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=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.jruby.ext.nkf.RubyNKF$Converter.context:Lorg/jruby/runtime/ThreadContext;
2: aload 0
aload 2
putfield org.jruby.ext.nkf.RubyNKF$Converter.options:Ljava/util/Map;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/nkf/RubyNKF$Converter;
0 4 1 ctx Lorg/jruby/runtime/ThreadContext;
0 4 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
static boolean isMimeText(org.jruby.util.ByteList, java.util.Map<java.lang.String, org.jruby.ext.nkf.RubyNKF$NKFCharset>);
descriptor: (Lorg/jruby/util/ByteList;Ljava/util/Map;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.util.ByteList.length:()I
bipush 6
if_icmpgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "mime-decode"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
getstatic org.jruby.ext.nkf.RubyNKF$NKFCharset.NOCONV:Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
if_acmpne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.ext.nkf.RubyNKF.BEGIN_MIME_STRING:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.indexOf:(Lorg/jruby/util/ByteList;)I
ifge 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getstatic org.jruby.ext.nkf.RubyNKF.END_MIME_STRING:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.lastIndexOf:(Lorg/jruby/util/ByteList;)I
ifge 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 str Lorg/jruby/util/ByteList;
0 9 1 options Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;>;
Signature: (Lorg/jruby/util/ByteList;Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;>;)Z
MethodParameters:
Name Flags
str
options
private static org.jruby.RubyString encodeMimeString(org.jruby.Ruby, org.jruby.RubyString, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokestatic org.jruby.util.Pack.pack:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
aload 0
invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
invokevirtual org.jruby.RubyString.chomp:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 runtime Lorg/jruby/Ruby;
0 2 1 str Lorg/jruby/RubyString;
0 2 2 format Lorg/jruby/util/ByteList;
1 2 3 array Lorg/jruby/RubyArray;
MethodParameters:
Name Flags
runtime
str
format
abstract org.jruby.RubyString convert(org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
str
org.jruby.util.ByteList convert_byte(org.jruby.util.ByteList, java.lang.String, org.jruby.ext.nkf.RubyNKF$NKFCharset);
descriptor: (Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;)Lorg/jruby/util/ByteList;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.jruby.ext.nkf.RubyNKF$NKFCharset.getCharset:()Ljava/lang/String;
astore 4
start local 4 1: aload 2
ifnonnull 3
2: aload 1
invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jcodings.Encoding.toString:()Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 4
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 1
invokevirtual org.jruby.util.ByteList.dup:()Lorg/jruby/util/ByteList;
areturn
5: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.String.getBytes:()[B
astore 5
start local 5 6: aload 0
getfield org.jruby.ext.nkf.RubyNKF$Converter.context:Lorg/jruby/runtime/ThreadContext;
aload 2
invokevirtual java.lang.String.getBytes:()[B
aload 5
iconst_0
aload 0
getfield org.jruby.ext.nkf.RubyNKF$Converter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
invokestatic org.jruby.util.io.EncodingUtils.econvOpenOpts:(Lorg/jruby/runtime/ThreadContext;[B[BILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/transcode/EConv;
astore 6
start local 6 7: aload 6
ifnonnull 9
8: aload 0
getfield org.jruby.ext.nkf.RubyNKF$Converter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
new java.lang.StringBuilder
dup
ldc "invalid encoding pair: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
athrow
9: StackMap locals: byte[] org.jcodings.transcode.EConv
StackMap stack:
aload 0
getfield org.jruby.ext.nkf.RubyNKF$Converter.context:Lorg/jruby/runtime/ThreadContext;
aload 6
aload 1
iconst_2
invokestatic org.jruby.util.io.EncodingUtils.econvStrConvert:(Lorg/jruby/runtime/ThreadContext;Lorg/jcodings/transcode/EConv;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
astore 7
start local 7 10: aload 7
aload 0
getfield org.jruby.ext.nkf.RubyNKF$Converter.context:Lorg/jruby/runtime/ThreadContext;
getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
aload 5
invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
11: aload 7
areturn
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 12 0 this Lorg/jruby/ext/nkf/RubyNKF$Converter;
0 12 1 str Lorg/jruby/util/ByteList;
0 12 2 inputCharset Ljava/lang/String;
0 12 3 output Lorg/jruby/ext/nkf/RubyNKF$NKFCharset;
1 12 4 outputCharset Ljava/lang/String;
6 12 5 outCharsetBytes [B
7 12 6 ec Lorg/jcodings/transcode/EConv;
10 12 7 converted Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
str
inputCharset
output
}
SourceFile: "RubyNKF.java"
NestHost: org.jruby.ext.nkf.RubyNKF
InnerClasses:
public final Entry = org.jcodings.EncodingDB$Entry of org.jcodings.EncodingDB
abstract Converter = org.jruby.ext.nkf.RubyNKF$Converter of org.jruby.ext.nkf.RubyNKF
public final NKFCharset = org.jruby.ext.nkf.RubyNKF$NKFCharset of org.jruby.ext.nkf.RubyNKF