| line |
true |
false |
branch |
|
49
|
71 |
0 |
if $node |
|
59
|
0 |
100 |
unless $token |
|
61
|
27 |
73 |
if ($token->{'type'} eq "TEXT") |
|
66
|
2 |
71 |
if ($token->{'type'} eq "COMMENT") |
|
71
|
46 |
25 |
if ($token->{'type'} eq "VAR_START") |
|
75
|
25 |
0 |
if ($token->{'type'} eq "STMT_START") |
|
107
|
0 |
25 |
unless ($keyword and $keyword->{'type'} eq "NAME") |
|
113
|
13 |
12 |
if ($kw eq 'if') { } |
|
|
5 |
7 |
elsif ($kw eq 'for') { } |
|
|
2 |
5 |
elsif ($kw eq 'block') { } |
|
|
0 |
5 |
elsif ($kw eq 'extends') { } |
|
|
2 |
3 |
elsif ($kw eq 'include') { } |
|
|
0 |
3 |
elsif ($kw eq 'import') { } |
|
|
0 |
3 |
elsif ($kw eq 'from') { } |
|
|
2 |
1 |
elsif ($kw eq 'set') { } |
|
|
1 |
0 |
elsif ($kw eq 'macro') { } |
|
|
0 |
0 |
elsif ($kw eq 'call') { } |
|
|
0 |
0 |
elsif ($kw eq 'filter') { } |
|
|
0 |
0 |
elsif ($kw eq 'raw') { } |
|
|
0 |
0 |
elsif ($kw eq 'with') { } |
|
|
0 |
0 |
elsif ($kw eq 'autoescape') { } |
|
|
0 |
0 |
elsif ($kw =~ /^(endif|endfor|endblock|endmacro|endcall|endfilter|endraw|endwith|endautoescape|elif|else)$/u) { } |
|
161
|
2 |
34 |
if ($self->_is_stmt_keyword("elif")) |
|
175
|
5 |
29 |
if ($self->_is_stmt_keyword("else")) |
|
187
|
13 |
16 |
if ($self->_is_stmt_keyword("endif")) |
|
196
|
16 |
0 |
if ($node) |
|
197
|
7 |
9 |
if (@branches) { } |
|
231
|
0 |
5 |
if (not $in_token or $in_token->{'type'} ne "OPERATOR" and $in_token->{'type'} ne "NAME" or $in_token->{'value'} ne "in") |
|
241
|
0 |
5 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "if") |
|
248
|
0 |
5 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "recursive") |
|
260
|
0 |
14 |
if ($self->_is_stmt_keyword("else")) |
|
268
|
5 |
9 |
if ($self->_is_stmt_keyword("endfor")) |
|
276
|
9 |
0 |
if ($node) |
|
277
|
0 |
9 |
if ($in_else) { } |
|
305
|
0 |
2 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "scoped") |
|
314
|
2 |
2 |
if ($self->_is_stmt_keyword("endblock")) |
|
318
|
0 |
2 |
if ($self->_check("NAME")) |
|
326
|
2 |
0 |
if $node |
|
361
|
0 |
2 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "ignore") |
|
363
|
0 |
0 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "missing") |
|
371
|
0 |
2 |
if ($self->_check("NAME")) |
|
373
|
0 |
0 |
if ($ctx eq "with" or $ctx eq "without") |
|
375
|
0 |
0 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "context") |
|
377
|
0 |
0 |
$ctx eq 'with' ? : |
|
406
|
0 |
0 |
if ($self->_check("NAME")) |
|
408
|
0 |
0 |
if ($ctx eq "with" or $ctx eq "without") |
|
410
|
0 |
0 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "context") |
|
412
|
0 |
0 |
$ctx eq 'with' ? : |
|
443
|
0 |
0 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "as") |
|
452
|
0 |
0 |
if ($self->_check("NAME")) |
|
454
|
0 |
0 |
if ($ctx eq "with" or $ctx eq "without") |
|
456
|
0 |
0 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "context") |
|
458
|
0 |
0 |
$ctx eq 'with' ? : |
|
490
|
2 |
0 |
if ($self->_check('ASSIGN')) { } |
|
508
|
0 |
0 |
if ($self->_is_stmt_keyword("endset")) |
|
516
|
0 |
0 |
if $node |
|
537
|
1 |
0 |
unless ($self->_check("RPAREN")) |
|
541
|
0 |
1 |
if ($self->_check("ASSIGN")) |
|
553
|
1 |
2 |
if ($self->_is_stmt_keyword("endmacro")) |
|
561
|
2 |
0 |
if $node |
|
580
|
0 |
0 |
if ($self->_check("LPAREN")) |
|
582
|
0 |
0 |
unless ($self->_check("RPAREN")) |
|
596
|
0 |
0 |
if ($self->_is_stmt_keyword("endcall")) |
|
604
|
0 |
0 |
if $node |
|
625
|
0 |
0 |
if ($self->_is_stmt_keyword("endfilter")) |
|
633
|
0 |
0 |
if $node |
|
654
|
0 |
0 |
if ($self->_is_stmt_keyword("endraw")) |
|
680
|
0 |
0 |
unless ($self->_check("STMT_END")) |
|
693
|
0 |
0 |
if ($self->_is_stmt_keyword("endwith")) |
|
701
|
0 |
0 |
if $node |
|
721
|
0 |
0 |
if ($self->_is_stmt_keyword("endautoescape")) |
|
729
|
0 |
0 |
if $node |
|
752
|
2 |
85 |
if ($self->_check("NAME") and $self->_current->{'value'} eq "if") |
|
756
|
2 |
0 |
if ($self->_check('NAME') and $self->_current->{'value'} eq 'else') { } |
|
810
|
1 |
93 |
if ($self->_check("OPERATOR") and $self->_current->{'value'} eq "not") |
|
826
|
4 |
4 |
if ($op =~ /^(==|!=|<|>|<=|>=|in|is)$/u) { } |
|
830
|
0 |
4 |
if ($op eq 'is' and $self->_check('OPERATOR') and $self->_current->{'value'} eq 'not') { } |
|
|
0 |
4 |
elsif ($op eq 'not' and $self->_check('OPERATOR') and $self->_current->{'value'} eq 'in') { } |
|
855
|
2 |
8 |
if ($op =~ /^[+\-~]$/u) { } |
|
874
|
0 |
9 |
if ($op =~ m[^[*/%]$]u or $op eq '//' or $op eq '**') { } |
|
889
|
0 |
99 |
if ($self->_check("OPERATOR") and $self->_current->{'value'} =~ /^[+\-]$/u) |
|
909
|
2 |
12 |
if ($self->_check("LPAREN")) |
|
911
|
2 |
0 |
unless ($self->_check("RPAREN")) |
|
914
|
0 |
2 |
if ($self->_check('NAME') and $self->_peek and $self->_peek->{'type'} eq 'ASSIGN') { } |
|
939
|
8 |
102 |
if ($self->_check('DOT')) { } |
|
|
1 |
101 |
elsif ($self->_check('LBRACKET')) { } |
|
|
2 |
99 |
elsif ($self->_check('LPAREN')) { } |
|
952
|
2 |
0 |
unless ($self->_check("RPAREN")) |
|
955
|
0 |
2 |
if ($self->_check('NAME') and $self->_peek and $self->_peek->{'type'} eq 'ASSIGN') { } |
|
981
|
76 |
23 |
if ($token->{'type'} eq "NAME") |
|
986
|
2 |
74 |
if ($name =~ /^(true|True)$/u) { } |
|
|
2 |
72 |
elsif ($name =~ /^(false|False)$/u) { } |
|
|
0 |
72 |
elsif ($name =~ /^(none|None)$/u) { } |
|
998
|
13 |
10 |
if ($token->{'type'} eq "NUMBER") |
|
1006
|
6 |
4 |
if ($token->{'type'} eq "STRING") |
|
1019
|
0 |
4 |
if ($token->{'type'} eq "LPAREN") |
|
1021
|
0 |
0 |
if ($self->_check("RPAREN")) |
|
1028
|
0 |
0 |
if ($self->_check("COMMA")) |
|
1033
|
0 |
0 |
if $self->_check("RPAREN") |
|
1045
|
2 |
2 |
if ($token->{'type'} eq "LBRACKET") |
|
1048
|
2 |
0 |
unless ($self->_check("RBRACKET")) |
|
1058
|
2 |
0 |
if ($token->{'type'} eq "LBRACE") |
|
1061
|
2 |
0 |
unless ($self->_check("RBRACE")) |
|
1090
|
482 |
0 |
if $self->{'pos'} < @{$self->{'tokens'};} |
|
1103
|
0 |
246 |
if (not $token or $token->{'type'} ne $type) |
|
1113
|
0 |
0 |
if (not $token or $token->{'type'} ne "NAME" or $token->{'value'} ne $keyword) |
|
1130
|
70 |
64 |
unless $token and $token->{'type'} eq "STMT_START" |