public class org.jruby.lexer.yacc.HeredocTerm extends org.jruby.lexer.yacc.StrTerm
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.lexer.yacc.HeredocTerm
super_class: org.jruby.lexer.yacc.StrTerm
{
private final org.jruby.util.ByteList nd_lit;
descriptor: Lorg/jruby/util/ByteList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int flags;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final int nth;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int line;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.jruby.util.ByteList lastLine;
descriptor: Lorg/jruby/util/ByteList;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>(org.jruby.util.ByteList, int, int, int, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/util/ByteList;IIILorg/jruby/util/ByteList;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial org.jruby.lexer.yacc.StrTerm.<init>:()V
1: aload 0
aload 1
putfield org.jruby.lexer.yacc.HeredocTerm.nd_lit:Lorg/jruby/util/ByteList;
2: aload 0
iload 2
putfield org.jruby.lexer.yacc.HeredocTerm.flags:I
3: aload 0
iload 3
putfield org.jruby.lexer.yacc.HeredocTerm.nth:I
4: aload 0
iload 4
putfield org.jruby.lexer.yacc.HeredocTerm.line:I
5: aload 0
aload 5
putfield org.jruby.lexer.yacc.HeredocTerm.lastLine:Lorg/jruby/util/ByteList;
6: return
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 7 0 this Lorg/jruby/lexer/yacc/HeredocTerm;
0 7 1 marker Lorg/jruby/util/ByteList;
0 7 2 func I
0 7 3 nth I
0 7 4 line I
0 7 5 lastLine Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
marker
func
nth
line
lastLine
public int getFlags();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.flags:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/lexer/yacc/HeredocTerm;
protected int error(org.jruby.lexer.yacc.RubyLexer, int, org.jruby.util.ByteList, org.jruby.util.ByteList);
descriptor: (Lorg/jruby/lexer/yacc/RubyLexer;ILorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
new java.lang.StringBuilder
dup
ldc "can't find string \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.jruby.util.ByteList.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" anywhere before EOF"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.jruby.lexer.yacc.RubyLexer.compile_error:(Ljava/lang/String;)V
1: iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/lexer/yacc/HeredocTerm;
0 2 1 lexer Lorg/jruby/lexer/yacc/RubyLexer;
0 2 2 len I
0 2 3 str Lorg/jruby/util/ByteList;
0 2 4 eos Lorg/jruby/util/ByteList;
MethodParameters:
Name Flags
lexer
len
str
eos
protected int restore(org.jruby.lexer.yacc.RubyLexer);
descriptor: (Lorg/jruby/lexer/yacc/RubyLexer;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.jruby.lexer.yacc.RubyLexer.heredoc_restore:(Lorg/jruby/lexer/yacc/HeredocTerm;)V
1: aload 1
new org.jruby.lexer.yacc.StringTerm
dup
aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.flags:I
ldc 32768
ior
iconst_0
iconst_0
aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.line:I
invokespecial org.jruby.lexer.yacc.StringTerm.<init>:(IIII)V
invokevirtual org.jruby.lexer.yacc.RubyLexer.setStrTerm:(Lorg/jruby/lexer/yacc/StrTerm;)V
2: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/lexer/yacc/HeredocTerm;
0 3 1 lexer Lorg/jruby/lexer/yacc/RubyLexer;
MethodParameters:
Name Flags
lexer
public int parseString(org.jruby.lexer.yacc.RubyLexer);
descriptor: (Lorg/jruby/lexer/yacc/RubyLexer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.nd_lit:Lorg/jruby/util/ByteList;
astore 3
start local 3 2: aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.nd_lit:Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.length:()I
iconst_1
isub
istore 4
start local 4 3: aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.flags:I
bipush 32
iand
ifeq 4
iconst_1
goto 5
StackMap locals: org.jruby.util.ByteList org.jruby.util.ByteList int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.nextc:()I
istore 6
start local 6 7: iload 6
iconst_m1
if_icmpne 8
aload 0
aload 1
iload 4
aload 2
aload 3
invokevirtual org.jruby.lexer.yacc.HeredocTerm.error:(Lorg/jruby/lexer/yacc/RubyLexer;ILorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
ireturn
8: StackMap locals: int int
StackMap stack:
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.was_bol:()Z
ifeq 13
aload 1
aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.nd_lit:Lorg/jruby/util/ByteList;
iload 5
invokevirtual org.jruby.lexer.yacc.RubyLexer.whole_match_p:(Lorg/jruby/util/ByteList;Z)Z
ifeq 13
9: aload 1
aload 0
invokevirtual org.jruby.lexer.yacc.RubyLexer.heredoc_restore:(Lorg/jruby/lexer/yacc/HeredocTerm;)V
10: aload 1
aconst_null
invokevirtual org.jruby.lexer.yacc.RubyLexer.setStrTerm:(Lorg/jruby/lexer/yacc/StrTerm;)V
11: aload 1
iconst_2
invokevirtual org.jruby.lexer.yacc.RubyLexer.setState:(I)V
12: sipush 373
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.flags:I
iconst_2
iand
ifne 42
14: StackMap locals:
StackMap stack:
aload 1
getfield org.jruby.lexer.yacc.RubyLexer.lex_lastline:Lorg/jruby/util/ByteList;
astore 7
start local 7 15: iconst_0
istore 8
start local 8 16: aload 1
getfield org.jruby.lexer.yacc.RubyLexer.lex_pend:I
istore 9
start local 9 17: iload 9
iload 8
if_icmple 24
18: aload 1
iload 9
iconst_1
isub
invokevirtual org.jruby.lexer.yacc.RubyLexer.p:(I)I
tableswitch { // 10 - 13
10: 19
11: 24
12: 24
13: 23
default: 24
}
19: StackMap locals: org.jruby.util.ByteList int int
StackMap stack:
iinc 9 -1
20: iload 9
iload 8
if_icmpeq 21
aload 1
iload 9
iconst_1
isub
invokevirtual org.jruby.lexer.yacc.RubyLexer.p:(I)I
bipush 13
if_icmpne 24
21: StackMap locals:
StackMap stack:
iinc 9 1
22: goto 24
23: StackMap locals:
StackMap stack:
iinc 9 -1
24: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getHeredocIndent:()I
ifle 30
25: iconst_0
istore 10
start local 10 26: goto 28
StackMap locals: int
StackMap stack:
27: iinc 10 1
StackMap locals:
StackMap stack:
28: iload 8
iload 10
iadd
iload 9
if_icmpge 29
aload 1
aload 1
iload 8
iload 10
iadd
invokevirtual org.jruby.lexer.yacc.RubyLexer.p:(I)I
invokevirtual org.jruby.lexer.yacc.RubyLexer.update_heredoc_indent:(I)Z
ifne 27
end local 10 29: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual org.jruby.lexer.yacc.RubyLexer.setHeredocLineIndent:(I)V
30: StackMap locals:
StackMap stack:
aload 2
ifnull 33
31: aload 2
aload 7
iload 8
iload 9
iload 8
isub
invokevirtual org.jruby.util.ByteList.makeShared:(II)Lorg/jruby/util/ByteList;
invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
32: goto 34
33: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
aload 7
iload 8
iload 9
iload 8
isub
invokevirtual org.jruby.util.ByteList.makeShared:(II)Lorg/jruby/util/ByteList;
invokespecial org.jruby.util.ByteList.<init>:(Lorg/jruby/util/ByteList;)V
astore 2
34: StackMap locals:
StackMap stack:
iload 9
aload 1
getfield org.jruby.lexer.yacc.RubyLexer.lex_pend:I
if_icmpge 35
aload 2
bipush 10
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
35: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.lex_goto_eol:()V
36: aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getHeredocIndent:()I
ifle 39
37: aload 1
aload 1
aload 2
iconst_0
invokevirtual org.jruby.lexer.yacc.RubyLexer.createStr:(Lorg/jruby/util/ByteList;I)Lorg/jruby/ast/StrNode;
invokevirtual org.jruby.lexer.yacc.RubyLexer.setValue:(Ljava/lang/Object;)V
38: sipush 378
ireturn
39: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.nextc:()I
iconst_m1
if_icmpne 40
aload 0
aload 1
iload 4
aconst_null
aload 3
invokevirtual org.jruby.lexer.yacc.HeredocTerm.error:(Lorg/jruby/lexer/yacc/RubyLexer;ILorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
ireturn
end local 9 end local 8 end local 7 40: StackMap locals:
StackMap stack:
aload 1
aload 3
iload 5
invokevirtual org.jruby.lexer.yacc.RubyLexer.whole_match_p:(Lorg/jruby/util/ByteList;Z)Z
ifeq 14
41: goto 68
42: StackMap locals:
StackMap stack:
new org.jruby.util.ByteList
dup
invokespecial org.jruby.util.ByteList.<init>:()V
astore 7
start local 7 43: aload 7
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
44: iload 6
bipush 35
if_icmpne 53
45: aload 1
sipush 372
sipush 371
invokevirtual org.jruby.lexer.yacc.RubyLexer.peekVariableName:(II)I
istore 8
start local 8 46: aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getHeredocLineIndent:()I
istore 9
start local 9 47: iload 9
iconst_m1
if_icmpeq 51
48: aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getHeredocIndent:()I
iload 9
if_icmple 50
49: aload 1
iload 9
invokevirtual org.jruby.lexer.yacc.RubyLexer.setHeredocIndent:(I)V
50: StackMap locals: org.jruby.util.ByteList int int
StackMap stack:
aload 1
iconst_m1
invokevirtual org.jruby.lexer.yacc.RubyLexer.setHeredocLineIndent:(I)V
51: StackMap locals:
StackMap stack:
iload 8
ifeq 52
iload 8
ireturn
52: StackMap locals:
StackMap stack:
aload 7
bipush 35
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
end local 9 end local 8 53: StackMap locals:
StackMap stack:
aload 1
iload 6
invokevirtual org.jruby.lexer.yacc.RubyLexer.pushback:(I)V
54: new org.jruby.lexer.yacc.StringTerm
dup
aload 0
getfield org.jruby.lexer.yacc.HeredocTerm.flags:I
iconst_0
bipush 10
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getRubySourceline:()I
invokespecial org.jruby.lexer.yacc.StringTerm.<init>:(IIII)V
aload 1
aload 7
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getEncoding:()Lorg/jcodings/Encoding;
invokevirtual org.jruby.lexer.yacc.StringTerm.parseStringIntoBuffer:(Lorg/jruby/lexer/yacc/RubyLexer;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;)I
dup
istore 6
iconst_m1
if_icmpne 57
55: aload 1
getfield org.jruby.lexer.yacc.RubyLexer.eofp:Z
ifeq 56
aload 0
aload 1
iload 4
aload 2
aload 3
invokevirtual org.jruby.lexer.yacc.HeredocTerm.error:(Lorg/jruby/lexer/yacc/RubyLexer;ILorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
ireturn
56: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.jruby.lexer.yacc.HeredocTerm.restore:(Lorg/jruby/lexer/yacc/RubyLexer;)I
ireturn
57: StackMap locals:
StackMap stack:
iload 6
bipush 10
if_icmpeq 60
58: aload 1
aload 1
aload 7
iconst_0
invokevirtual org.jruby.lexer.yacc.RubyLexer.createStr:(Lorg/jruby/util/ByteList;I)Lorg/jruby/ast/StrNode;
invokevirtual org.jruby.lexer.yacc.RubyLexer.setValue:(Ljava/lang/Object;)V
59: sipush 378
ireturn
60: StackMap locals:
StackMap stack:
aload 7
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.nextc:()I
invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
pop
61: aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.getHeredocIndent:()I
ifle 65
62: aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.lex_goto_eol:()V
63: aload 1
aload 1
aload 7
iconst_0
invokevirtual org.jruby.lexer.yacc.RubyLexer.createStr:(Lorg/jruby/util/ByteList;I)Lorg/jruby/ast/StrNode;
invokevirtual org.jruby.lexer.yacc.RubyLexer.setValue:(Ljava/lang/Object;)V
64: sipush 378
ireturn
65: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.lexer.yacc.RubyLexer.nextc:()I
dup
istore 6
iconst_m1
if_icmpne 66
aload 0
aload 1
iload 4
aload 2
aload 3
invokevirtual org.jruby.lexer.yacc.HeredocTerm.error:(Lorg/jruby/lexer/yacc/RubyLexer;ILorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)I
ireturn
66: StackMap locals:
StackMap stack:
aload 1
aload 3
iload 5
invokevirtual org.jruby.lexer.yacc.RubyLexer.whole_match_p:(Lorg/jruby/util/ByteList;Z)Z
ifeq 53
67: aload 7
astore 2
end local 7 68: StackMap locals:
StackMap stack:
aload 1
iload 6
invokevirtual org.jruby.lexer.yacc.RubyLexer.pushback:(I)V
69: aload 1
aload 1
aload 2
iconst_0
invokevirtual org.jruby.lexer.yacc.RubyLexer.createStr:(Lorg/jruby/util/ByteList;I)Lorg/jruby/ast/StrNode;
invokevirtual org.jruby.lexer.yacc.RubyLexer.setValue:(Ljava/lang/Object;)V
70: sipush 378
ireturn
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 71 0 this Lorg/jruby/lexer/yacc/HeredocTerm;
0 71 1 lexer Lorg/jruby/lexer/yacc/RubyLexer;
1 71 2 str Lorg/jruby/util/ByteList;
2 71 3 eos Lorg/jruby/util/ByteList;
3 71 4 len I
6 71 5 indent Z
7 71 6 c I
15 40 7 lbuf Lorg/jruby/util/ByteList;
16 40 8 p I
17 40 9 pend I
26 29 10 i I
43 68 7 tok Lorg/jruby/util/ByteList;
46 53 8 token I
47 53 9 heredoc_line_indent I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
lexer
}
SourceFile: "HeredocTerm.java"