line |
true |
false |
branch |
74
|
0 |
10 |
unless $self->SUPER::init(@_)
|
99
|
0 |
0 |
unless defined $self
|
101
|
0 |
0 |
scalar @nodeset ? :
|
116
|
52 |
13 |
if ($self->_is_a($results, 'HTML::Object::XPath::NodeSet')) { }
|
133
|
32 |
0 |
if ($self->_is_a($results, 'HTML::Object::XPath::NodeSet')) { }
|
135
|
32 |
0 |
wantarray ? :
|
140
|
0 |
0 |
wantarray ? :
|
152
|
0 |
0 |
if ($self->_is_a($results, 'HTML::Object::XPath::NodeSet')) { }
|
|
0 |
0 |
elsif ($self->_is_a($results, 'HTML::Object::XPath::Boolean')) { }
|
|
0 |
0 |
elsif ($self->_is_a($results, 'HTML::Object::XPath::Node')) { }
|
177
|
0 |
0 |
if ($self->_is_a($results, 'HTML::Object::XPath::NodeSet')) { }
|
|
0 |
0 |
elsif ($self->_is_a($results, 'HTML::Object::XPath::Boolean')) { }
|
|
0 |
0 |
elsif ($self->_is_a($results, 'HTML::Object::XPath::Node')) { }
|
201
|
18 |
13 |
if ($self->_is_a($results, "HTML::Object::XPath::NodeSet"))
|
214
|
2 |
0 |
if ($self->_is_a($results, "HTML::Object::XPath::NodeSet"))
|
229
|
0 |
0 |
$self->{'uses_namespaces'} ? :
|
|
0 |
0 |
$node ? :
|
246
|
1 |
2 |
if grep {"$node" eq "$_";} @nodes
|
300
|
0 |
56 |
if ($self->debug)
|
311
|
0 |
25 |
if ($$tokens[$self->{'_tokpos'}] eq ")")
|
328
|
0 |
807 |
if $@
|
470
|
0 |
120 |
if ($self->debug)
|
490
|
57 |
91 |
if ($test =~ m[^(//?|\.\.?)$]) { }
|
|
22 |
69 |
elsif ($self->_is_step($tokens)) { }
|
505
|
10 |
59 |
if ($self->_match($tokens, qr"//?"))
|
509
|
3 |
7 |
if ($self->{'_curr_match'} eq "//")
|
528
|
26 |
43 |
if ($self->_match($tokens, $HTML::Object::XPath::LITERAL_RE)) { }
|
|
3 |
40 |
elsif ($self->_match($tokens, qr/$HTML::Object::XPath::REGEXP_RE$HTML::Object::XPath::REGEXP_MOD_RE?/)) { }
|
|
12 |
28 |
elsif ($self->_match($tokens, $HTML::Object::XPath::NUMBER_RE)) { }
|
|
3 |
25 |
elsif ($self->_match($tokens, qr/\(/)) { }
|
|
0 |
25 |
elsif ($self->_match($tokens, qr/\$$HTML::Object::XPath::QNAME_RE/)) { }
|
|
25 |
0 |
elsif ($self->_match($tokens, $HTML::Object::XPath::QNAME_RE)) { }
|
541
|
0 |
3 |
if ($mod)
|
610
|
0 |
148 |
if ($self->_match($tokens, qr/-/)) { }
|
655
|
0 |
96 |
unless defined $token
|
658
|
27 |
69 |
if ($token eq 'processing-instruction' or $token =~ /^\@($HTML::Object::XPath::NC_WILD_RE|$HTML::Object::XPath::QNAME_RE|$HTML::Object::XPath::QN_WILD_RE)$/o or $token =~ /^($HTML::Object::XPath::NC_WILD_RE|$HTML::Object::XPath::QNAME_RE|$HTML::Object::XPath::QN_WILD_RE)$/o and ($$tokens[$self->{'_tokpos'} + 1] || '') ne '(' or $token =~ /^$HTML::Object::XPath::NODE_TYPE_RE$/o or $token =~ /^$HTML::Object::XPath::AXIS_NAME_RE($HTML::Object::XPath::NC_WILD_RE|$HTML::Object::XPath::QNAME_RE|$HTML::Object::XPath::QN_WILD_RE|$HTML::Object::XPath::NODE_TYPE_RE)$/o) { }
|
679
|
5 |
74 |
if ($self->_match($tokens, qr"/")) { }
|
|
43 |
31 |
elsif ($self->_match($tokens, qr"//")) { }
|
685
|
5 |
0 |
if ($self->_is_step($tokens))
|
696
|
19 |
24 |
if (not $optimised) { }
|
726
|
561 |
1825 |
unless $self->{'_tokpos'} < scalar @$tokens
|
730
|
339 |
1486 |
if ($$tokens[$self->{'_tokpos'}] =~ /^$match$/) { }
|
738
|
0 |
1486 |
if ($fatal) { }
|
757
|
18 |
32 |
if ($$tokens[$tokpos + 1] and $$tokens[$tokpos + 1] eq '[') { }
|
|
0 |
32 |
elsif ($tokens->[$tokpos] =~ /^\.\.?$/) { }
|
770
|
1 |
31 |
if ($step->axis ne "child")
|
793
|
12 |
56 |
if $HTML::Object::XPath::CACHE->{$context}
|
801
|
0 |
56 |
if ($self->{'_tokpos'} < $tokens->length)
|
813
|
0 |
56 |
if ($self->debug)
|
828
|
7 |
16 |
if ($self->{'_curr_match'} eq "//")
|
831
|
0 |
7 |
if (not $optimised) { }
|
841
|
7 |
16 |
if (@steps > 1 and $steps[-1]->axis eq "self" and $steps[-1]->test == $self->_class_for("Step")->TEST_NT_NODE)
|
858
|
40 |
104 |
if ($self->_match($tokens, qr/\./)) { }
|
|
1 |
103 |
elsif ($self->_match($tokens, qr/\.\./)) { }
|
874
|
0 |
103 |
if ($token eq 'processing-instruction') { }
|
|
32 |
71 |
elsif ($token =~ /^\@($HTML::Object::XPath::NC_WILD_RE|$HTML::Object::XPath::QNAME_RE|$HTML::Object::XPath::QN_WILD_RE)$/o) { }
|
|
0 |
71 |
elsif ($token =~ /^($HTML::Object::XPath::NC_NAME_RE):\*$/o) { }
|
|
11 |
60 |
elsif ($token =~ /^$HTML::Object::XPath::QN_WILD_RE$/o) { }
|
|
53 |
7 |
elsif ($token =~ /^$HTML::Object::XPath::QNAME_RE$/o) { }
|
|
0 |
7 |
elsif ($token eq 'comment()') { }
|
|
0 |
7 |
elsif ($token eq 'text()') { }
|
|
0 |
7 |
elsif ($token eq 'node()') { }
|
|
0 |
7 |
elsif ($token eq 'processing-instruction()') { }
|
|
7 |
0 |
elsif ($token =~ /^$HTML::Object::XPath::AXIS_NAME_RE($HTML::Object::XPath::NC_WILD_RE|$HTML::Object::XPath::QNAME_RE|$HTML::Object::XPath::QN_WILD_RE|$HTML::Object::XPath::NODE_TYPE_RE)$/o) { }
|
890
|
3 |
29 |
if ($token eq '@*') { }
|
|
0 |
29 |
elsif ($token =~ /^\@($HTML::Object::XPath::NC_NAME_RE):\*$/o) { }
|
|
29 |
0 |
elsif ($token =~ /^\@($HTML::Object::XPath::QNAME_RE)$/o) { }
|
982
|
0 |
7 |
if ($token eq 'processing-instruction') { }
|
|
0 |
7 |
elsif ($token =~ /^($HTML::Object::XPath::NC_NAME_RE):\*$/o) { }
|
|
1 |
6 |
elsif ($token =~ /^$HTML::Object::XPath::QN_WILD_RE$/o) { }
|
|
6 |
0 |
elsif ($token =~ /^$HTML::Object::XPath::QNAME_RE$/o) { }
|
|
0 |
0 |
elsif ($token eq 'comment()') { }
|
|
0 |
0 |
elsif ($token eq 'text()') { }
|
|
0 |
0 |
elsif ($token eq 'node()') { }
|
|
0 |
0 |
elsif ($token eq 'processing-instruction()') { }
|
997
|
0 |
0 |
$axis eq 'attribute' ? :
|
1009
|
0 |
1 |
$axis eq 'attribute' ? :
|
1021
|
0 |
6 |
$axis eq 'attribute' ? :
|
1092
|
3 |
519 |
if ($expected eq 'RE' and $path =~ /\G\s*($HTML::Object::XPath::REGEXP_RE $HTML::Object::XPath::REGEXP_MOD_RE?)\s*/cgosx) { }
|
|
463 |
56 |
elsif ($path =~ m{\G
|
1122
|
3 |
460 |
$token =~ /^[=!]~$/ ? :
|
1130
|
410 |
56 |
if (length $token)
|
1137
|
0 |
56 |
if (pos $path < length $path)
|