| line | true | false | branch | 
 
| 124 | 1 | 52 | if (my $handler = delete $args{'handler'}) | 
 
| 148 | 9 | 19 | ref $self ? : | 
 
| 162 | 0 | 14 | ref $self ? : | 
 
| 179 | 0 | 2 | unless ref $q | 
 
| 181 | 0 | 2 | unless ref $a | 
 
| 196 | 0 | 42 | unless ref $q | 
 
| 198 | 0 | 42 | unless ref $a | 
 
| 223 | 13 | 2 | if ($self->_Verb_test) { } | 
 
| 229 | 0 | 15 | if ($commas) | 
 
| 234 | 0 | 15 | if ($self->_test_token(8)) | 
 
| 246 | 33 | 14 | unless ($self->update) | 
 
| 248 | 0 | 33 | unless (defined $t) | 
 
| 259 | 1 | 46 | if ($self->baseURI) | 
 
| 280 | 28 | 21 | if ($self->_optional_token(42, 'SELECT')) { } | 
 
|  | 3 | 18 | elsif ($self->_optional_token(42, 'CONSTRUCT')) { } | 
 
|  | 1 | 17 | elsif ($self->_optional_token(42, 'DESCRIBE')) { } | 
 
|  | 4 | 13 | elsif ($self->_optional_token(42, 'ASK')) { } | 
 
|  | 0 | 13 | elsif ($self->_test_token(42, 'CREATE')) { } | 
 
|  | 0 | 13 | elsif ($self->_test_token(42, 'DROP')) { } | 
 
|  | 0 | 13 | elsif ($self->_test_token(42, 'LOAD')) { } | 
 
|  | 0 | 13 | elsif ($self->_test_token(42, 'CLEAR')) { } | 
 
|  | 9 | 4 | elsif ($self->_test_token(42, qr/^(WITH|INSERT|DELETE)/u)) { } | 
 
|  | 0 | 4 | elsif ($self->_test_token(42, 'COPY')) { } | 
 
|  | 0 | 4 | elsif ($self->_test_token(42, 'MOVE')) { } | 
 
|  | 3 | 1 | elsif ($self->_test_token(42, 'ADD')) { } | 
 
|  | 0 | 1 | elsif ($self->_test_token(24)) { } | 
 
| 293 | 0 | 0 | unless ($self->update) | 
 
| 299 | 0 | 0 | unless ($self->update) | 
 
| 305 | 0 | 0 | unless ($self->update) | 
 
| 311 | 0 | 0 | unless ($self->update) | 
 
| 317 | 0 | 9 | unless ($self->update) | 
 
| 322 | 0 | 9 | if ($self->_optional_token(42, "WITH")) | 
 
| 327 | 3 | 6 | if ($self->_optional_token(42, 'INSERT')) { } | 
 
|  | 6 | 0 | elsif ($self->_optional_token(42, 'DELETE')) { } | 
 
| 328 | 1 | 2 | if ($self->_optional_token(42, 'DATA')) { } | 
 
| 329 | 0 | 1 | unless ($self->update) | 
 
| 337 | 1 | 5 | if ($self->_optional_token(42, 'DATA')) { } | 
 
| 338 | 0 | 1 | unless ($self->update) | 
 
| 357 | 0 | 0 | if $self->_Query_test | 
 
| 360 | 0 | 1 | if ($self->update and not $self->_peek_token) | 
 
| 368 | 35 | 11 | if $read_query | 
 
| 369 | 2 | 9 | if ($self->_optional_token(24)) | 
 
| 370 | 2 | 0 | if ($self->_Query_test) | 
 
| 379 | 0 | 44 | if ($t) | 
 
| 384 | 2 | 42 | if ($count == 0 or $count > 1) | 
 
| 390 | 0 | 0 | if ($seen{$b->value}++) | 
 
| 403 | 4 | 4 | if ($group eq 'NAMED') { } | 
 
| 412 | 9 | 35 | if ($update) { } | 
 
| 432 | 0 | 47 | if ($self->_optional_token(42, "BASE")) | 
 
| 444 | 0 | 15 | if (scalar @args > 1) | 
 
| 450 | 0 | 15 | if (@base) | 
 
| 459 | 0 | 47 | if defined $base | 
 
| 497 | 0 | 2 | if ($graph) | 
 
| 505 | 0 | 0 | if ($self->_optional_token(42, "NAMED")) | 
 
| 510 | 0 | 0 | if ($named) { } | 
 
| 518 | 0 | 1 | if ($graph) { } | 
 
| 543 | 0 | 1 | if ($t->has_blanks) { } | 
 
| 546 | 0 | 0 | if ($term->does('Attean::API::Blank')) { } | 
 
| 547 | 0 | 0 | if (my $b = $fresh_blank_map{$term->value}) { } | 
 
| 574 | 0 | 5 | if ($self->_optional_token(42, 'WHERE')) { } | 
 
| 575 | 0 | 0 | if ($graph) | 
 
| 585 | 0 | 0 | if (scalar @blanks > 0) | 
 
| 589 | 0 | 0 | if ($s->does('Attean::API::QuadPattern')) { } | 
 
| 614 | 0 | 5 | if ($self->_optional_token(42, "INSERT")) | 
 
| 621 | 0 | 5 | if ($graph) | 
 
| 622 | 0 | 0 | $_->does('Attean::API::QuadPattern') ? : | 
 
| 623 | 0 | 0 | $_->does('Attean::API::QuadPattern') ? : | 
 
| 629 | 3 | 6 | if ($self->_optional_token(42, "NAMED")) | 
 
| 634 | 3 | 6 | if ($named) { } | 
 
| 643 | 0 | 5 | if ($graph) { } | 
 
| 657 | 0 | 5 | if (scalar @insert_triples) | 
 
| 660 | 5 | 0 | if (scalar @delete_triples) | 
 
| 663 | 0 | 5 | if (scalar @blanks > 0) | 
 
| 675 | 9 | 9 | if $self->_TriplesBlock_test | 
 
| 676 | 0 | 9 | if $self->_test_token(42, "GRAPH") | 
 
| 696 | 9 | 0 | if ($self->_TriplesBlock_test) { } | 
 
| 702 | 0 | 9 | if ($graph) | 
 
| 726 | 0 | 0 | $self->_optional_token(42, 'SILENT') ? : | 
 
| 729 | 0 | 0 | if ($self->_optional_token(42, 'INTO')) { } | 
 
| 745 | 0 | 0 | $self->_optional_token(42, 'SILENT') ? : | 
 
| 757 | 0 | 0 | $self->_optional_token(42, 'SILENT') ? : | 
 
| 758 | 0 | 0 | if ($self->_optional_token(42, 'GRAPH')) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(42, 'DEFAULT')) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(42, 'NAMED')) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(42, 'ALL')) { } | 
 
| 779 | 0 | 0 | $self->_optional_token(42, 'SILENT') ? : | 
 
| 780 | 0 | 0 | if ($self->_optional_token(42, 'GRAPH')) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(42, 'DEFAULT')) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(42, 'NAMED')) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(42, 'ALL')) { } | 
 
| 800 | 3 | 3 | if ($self->_optional_token(42, 'DEFAULT')) { } | 
 
| 814 | 0 | 3 | $self->_optional_token(42, 'SILENT') ? : | 
 
| 817 | 0 | 3 | if ($op eq 'COPY') { } | 
 
|  | 0 | 3 | elsif ($op eq 'MOVE') { } | 
 
| 823 | 3 | 0 | if (my $from = $self->__graph) | 
 
| 827 | 0 | 3 | if (my $to = $self->__graph) | 
 
| 838 | 0 | 28 | if ($self->_optional_token(42, qr/^(DISTINCT)/u)) { } | 
 
|  | 1 | 27 | elsif ($self->_optional_token(42, qr/^(REDUCED)/u)) { } | 
 
| 852 | 1 | 27 | if ($self->_optional_token(42, "VALUES")) | 
 
| 857 | 0 | 1 | if ($self->_optional_token(46)) { } | 
 
| 860 | 1 | 0 | if ($self->_optional_token(17)) | 
 
| 867 | 1 | 0 | if ($parens) | 
 
| 873 | 0 | 1 | if (not $parens and $count == 0) { } | 
 
|  | 0 | 2 | elsif (not $parens and $count > 1) { } | 
 
| 881 | 0 | 1 | if ($self->_optional_token(46)) { } | 
 
| 884 | 1 | 0 | if (not $short or $short and $self->_test_token(17)) { } | 
 
| 901 | 0 | 1 | unless $bindings->{'terms'} | 
 
| 906 | 2 | 0 | if (&blessed($r->[$i])) | 
 
| 930 | 25 | 7 | if ($self->_test_token(53)) { } | 
 
| 938 | 1 | 6 | if (scalar @s > 1) { } | 
 
| 952 | 7 | 0 | if ($v->does("Attean::API::Variable")) | 
 
| 954 | 0 | 7 | if ($seen{$name}++) | 
 
| 961 | 0 | 29 | if ($count == 0) | 
 
| 984 | 1 | 10 | if $self->_test_token(17) | 
 
| 991 | 1 | 6 | if ($self->_test_token(17)) { } | 
 
| 1005 | 3 | 0 | if ($self->_test_token(15)) | 
 
| 1010 | 0 | 3 | if ($shortcut) { } | 
 
| 1020 | 0 | 3 | if (&blessed($triples) and $triples->isa("Attean::Algebra::BGP")) | 
 
| 1042 | 0 | 1 | if ($self->_optional_token(53)) { } | 
 
| 1055 | 1 | 0 | if ($self->_WhereClause_test) { } | 
 
| 1066 | 0 | 1 | $star ? : | 
 
| 1098 | 4 | 4 | if ($self->_test_token(42, 'NAMED')) { } | 
 
| 1132 | 1 | 0 | if $self->_test_token(42, "WHERE") | 
 
| 1133 | 0 | 0 | if $self->_test_token(15) | 
 
| 1170 | 0 | 0 | if ($self->_TriplesBlock_test) | 
 
| 1196 | 0 | 2 | unless ($self->_BindingValue_test) | 
 
| 1209 | 2 | 4 | if $self->_IRIref_test | 
 
| 1210 | 0 | 4 | if $self->_test_token(42, "UNDEF") | 
 
| 1211 | 3 | 1 | if $self->_test_literal_token | 
 
| 1212 | 0 | 1 | if $self->_IRIref_test | 
 
| 1213 | 0 | 1 | if $self->_test_token(3) | 
 
| 1214 | 0 | 1 | if $self->_test_token(46) | 
 
| 1215 | 0 | 1 | if $self->_test_token(32) | 
 
| 1221 | 0 | 5 | if ($self->_optional_token(42, 'UNDEF')) { } | 
 
|  | 0 | 5 | elsif ($self->_test_token(32)) { } | 
 
| 1233 | 0 | 2 | if $self->_BuiltInCall_test | 
 
| 1234 | 0 | 2 | if $self->_IRIref_test | 
 
| 1235 | 0 | 2 | if $self->_test_token(17) | 
 
| 1236 | 0 | 2 | if $self->_test_token(54) | 
 
| 1242 | 0 | 2 | if ($self->_optional_token(17)) { } | 
 
|  | 0 | 2 | elsif ($self->_IRIref_test) { } | 
 
|  | 0 | 2 | elsif ($self->_BuiltInCall_test) { } | 
 
| 1245 | 0 | 0 | if ($self->_optional_token(42, 'AS')) { } | 
 
| 1273 | 2 | 31 | if ($self->_test_token(42, "GROUP")) | 
 
| 1277 | 1 | 32 | if ($self->_test_token(42, "RANK")) | 
 
| 1281 | 1 | 32 | if ($self->_test_token(42, "HAVING")) | 
 
| 1285 | 1 | 32 | if ($self->_OrderClause_test) | 
 
| 1289 | 2 | 31 | if ($self->_LimitOffsetClauses_test) | 
 
| 1300 | 0 | 2 | if ($self->{'build'}{'star'}) | 
 
| 1318 | 2 | 0 | if ($var->does("Attean::API::Variable")) | 
 
| 1359 | 1 | 0 | $dir eq 'ASC' ? : | 
 
| 1387 | 1 | 32 | if $self->_test_token(42, "LIMIT") | 
 
| 1388 | 1 | 31 | if $self->_test_token(42, "OFFSET") | 
 
| 1394 | 1 | 1 | if ($self->_LimitClause_test) { } | 
 
| 1396 | 1 | 0 | if ($self->_OffsetClause_test) | 
 
| 1401 | 0 | 1 | if ($self->_LimitClause_test) | 
 
| 1410 | 1 | 32 | if $self->_test_token(42, "ORDER") | 
 
| 1433 | 0 | 2 | if $self->_test_token(42, "ASC") | 
 
| 1434 | 0 | 2 | if $self->_test_token(42, "DESC") | 
 
| 1435 | 0 | 2 | if $self->_test_token(54) | 
 
| 1436 | 0 | 2 | if $self->_Constraint_test | 
 
| 1443 | 1 | 1 | if (my $t = $self->_optional_token(42, qr/^(ASC|DESC)/u)) { } | 
 
|  | 1 | 0 | elsif ($self->_test_token(54)) { } | 
 
| 1490 | 1 | 53 | if ($self->_SubSelect_test) { } | 
 
| 1505 | 41 | 12 | if ($self->_TriplesBlock_test) | 
 
| 1513 | 13 | 4 | if ($self->_GraphPatternNotTriples_test) { } | 
 
|  | 4 | 0 | elsif ($self->_test_token(42, 'FILTER')) { } | 
 
| 1525 | 0 | 17 | if ($need_dot or $self->_test_token(8)) | 
 
| 1527 | 0 | 0 | if ($got_pattern) { } | 
 
| 1535 | 1 | 16 | if ($self->_TriplesBlock_test) | 
 
| 1537 | 0 | 1 | if (&blessed($peek) and $peek->isa('Attean::Algebra::BGP')) { } | 
 
| 1541 | 0 | 0 | if ($rhs->isa('Attean::Algebra::BGP')) { } | 
 
| 1554 | 0 | 17 | if &refaddr($t) == &refaddr($cur) | 
 
| 1562 | 4 | 49 | if (@filters) | 
 
| 1573 | 1 | 12 | unless $data | 
 
| 1575 | 2 | 10 | if ($class =~ /^Attean::Algebra::(LeftJoin|Minus)$/u) { } | 
 
|  | 0 | 10 | elsif ($class eq 'Attean::Algebra::Table') { } | 
 
|  | 2 | 8 | elsif ($class eq 'Attean::Algebra::Extend') { } | 
 
|  | 2 | 6 | elsif ($class eq 'Attean::Algebra::Service') { } | 
 
|  | 6 | 0 | elsif ($class =~ /Attean::Algebra::(Union|Graph|Join)$/u) { } | 
 
| 1581 | 0 | 2 | unless ($ggp) | 
 
| 1596 | 0 | 2 | unless ($ggp) | 
 
| 1601 | 0 | 2 | if (exists $in_scope{$var->value}) | 
 
| 1608 | 0 | 2 | if ($endpoint->does('Attean::API::Variable')) { } | 
 
| 1640 | 0 | 1 | if ($self->{'baseURI'}) | 
 
| 1645 | 0 | 1 | if (my $t = $self->_optional_token(42, qr/^(DISTINCT|REDUCED)/u)) | 
 
| 1656 | 0 | 1 | if ($self->{'build'}{'options'}{'orderby'}) | 
 
| 1671 | 0 | 1 | if ($self->_optional_token(42, "VALUES")) | 
 
| 1674 | 0 | 0 | if ($self->_optional_token(17)) | 
 
| 1681 | 0 | 0 | if ($parens) | 
 
| 1685 | 0 | 0 | if (not $parens and $count == 0) { } | 
 
|  | 0 | 0 | elsif (not $parens and $count > 1) { } | 
 
| 1693 | 0 | 0 | if (not $short or $short and $self->_test_token(17)) { } | 
 
| 1715 | 0 | 0 | if (&blessed($r->[$i])) | 
 
| 1744 | 50 | 59 | if $self->_test_token(54) | 
 
| 1745 | 0 | 59 | if $self->_test_token(46) | 
 
| 1746 | 0 | 59 | if $self->_test_token(37) | 
 
| 1747 | 0 | 59 | if $self->_test_token(3) | 
 
| 1748 | 1 | 58 | if $self->_test_token(17) | 
 
| 1749 | 0 | 58 | if $self->_test_token(16) | 
 
| 1750 | 2 | 56 | if $self->_test_token(32) | 
 
| 1751 | 10 | 46 | if $self->_IRIref_test | 
 
| 1752 | 0 | 46 | if $self->_test_literal_token | 
 
| 1758 | 10 | 74 | if $self->_test_token(25) | 
 
| 1759 | 0 | 74 | if $self->_test_token(27) | 
 
| 1760 | 1 | 73 | if $self->_test_token(26) | 
 
| 1761 | 1 | 72 | if $self->_test_token(28) | 
 
| 1762 | 0 | 72 | if $self->_test_token(7) | 
 
| 1763 | 0 | 72 | if $self->_test_token(9) | 
 
| 1764 | 0 | 72 | if $self->_test_token(12) | 
 
| 1765 | 0 | 72 | if $self->_test_token(4) | 
 
| 1789 | 0 | 9 | if ($got_dot) | 
 
| 1794 | 0 | 9 | if ($self->_TriplesBlock_test) | 
 
| 1804 | 3 | 14 | if $self->_test_token(15) | 
 
| 1806 | 0 | 14 | unless $t | 
 
| 1807 | 0 | 14 | unless $t->type == 42 | 
 
| 1813 | 0 | 13 | if ($self->_test_token(42, 'VALUES')) { } | 
 
|  | 2 | 11 | elsif ($self->_test_token(42, 'SERVICE')) { } | 
 
|  | 1 | 10 | elsif ($self->_test_token(42, 'MINUS')) { } | 
 
|  | 2 | 8 | elsif ($self->_test_token(42, 'BIND')) { } | 
 
|  | 1 | 7 | elsif ($self->_test_token(42, 'HINT')) { } | 
 
|  | 1 | 6 | elsif ($self->_test_token(42, 'OPTIONAL')) { } | 
 
|  | 3 | 3 | elsif ($self->_test_token(15)) { } | 
 
| 1838 | 0 | 0 | if ($self->_optional_token(17)) | 
 
| 1845 | 0 | 0 | if ($parens) | 
 
| 1850 | 0 | 0 | if (not $parens and $count == 0) { } | 
 
|  | 0 | 0 | elsif (not $parens and $count > 1) { } | 
 
| 1859 | 0 | 0 | if (not $short or $short and $self->_test_token(17)) { } | 
 
| 1880 | 0 | 0 | $_->does('Attean::API::TriplePattern') ? : | 
 
| 1920 | 0 | 2 | $self->_optional_token(42, 'SILENT') ? : | 
 
| 1922 | 0 | 2 | if ($self->_test_token(54)) { } | 
 
| 1931 | 0 | 2 | $silent ? : | 
 
| 1944 | 0 | 4 | if (@filters) | 
 
| 1950 | 0 | 0 | unless ($ggp) | 
 
| 1985 | 0 | 3 | if ($self->{'__data_pattern'}) | 
 
| 1986 | 0 | 0 | if ($self->{'__graph_nesting_level'}++) | 
 
| 1994 | 2 | 1 | if ($graph->does('Attean::API::IRI')) { } | 
 
| 2000 | 0 | 3 | if ($self->{'__data_pattern'}) | 
 
| 2020 | 1 | 2 | if ($self->_test_token(42, 'UNION')) { } | 
 
| 2046 | 0 | 2 | if $self->_test_token(17) | 
 
| 2047 | 0 | 2 | if $self->_BuiltInCall_test | 
 
| 2048 | 0 | 2 | if $self->_IRIref_test | 
 
| 2054 | 4 | 1 | if ($self->_test_token(17)) { } | 
 
|  | 0 | 1 | elsif ($self->_BuiltInCall_test) { } | 
 
| 2073 | 0 | 1 | if (my $func = "Attean"->get_global_aggregate($iri)) | 
 
| 2079 | 0 | 1 | if ($iri->value =~ m[^http://www[.]w3[.]org/2001/XMLSchema#(?:integer|decimal|float|double|boolean|string|dateTime)$]u) { } | 
 
| 2092 | 0 | 1 | if $self->_test_token(46) | 
 
| 2098 | 0 | 2 | if ($self->_optional_token(46)) { } | 
 
| 2103 | 2 | 0 | unless ($self->_test_token(23)) | 
 
| 2122 | 3 | 0 | if ($self->_ConstructTriples_test) | 
 
| 2141 | 0 | 0 | if ($self->_ConstructTriples_test) | 
 
| 2151 | 1 | 2 | if ($self->_TriplesNode_test) { } | 
 
| 2178 | 0 | 51 | if ($self->_TriplesNode_test) { } | 
 
| 2208 | 0 | 0 | if ($self->_Verb_test) | 
 
| 2222 | 0 | 1 | if ($self->_Verb_test) | 
 
| 2230 | 25 | 28 | if ($self->_VerbPath_test) { } | 
 
| 2240 | 9 | 0 | if ($self->_VerbPath_test or $self->_test_token(54)) | 
 
| 2241 | 9 | 0 | if ($self->_VerbPath_test) { } | 
 
| 2258 | 0 | 0 | if ($self->_Verb_test) | 
 
| 2282 | 2 | 62 | if ($self->_optional_token(33)) | 
 
| 2297 | 2 | 14 | if $self->_test_token(1) | 
 
| 2298 | 1 | 13 | if $self->_test_token(54) | 
 
| 2299 | 10 | 3 | if $self->_IRIref_test | 
 
| 2305 | 6 | 13 | if ($self->_optional_token(1)) { } | 
 
| 2327 | 36 | 35 | if $self->_IRIref_test | 
 
| 2328 | 0 | 35 | if $self->_test_token(41) | 
 
| 2329 | 0 | 35 | if $self->_test_token(48) | 
 
| 2330 | 0 | 35 | if $self->_test_token(38) | 
 
| 2331 | 0 | 35 | if $self->_test_token(17) | 
 
| 2332 | 7 | 28 | if $self->_test_token(1) | 
 
| 2369 | 1 | 0 | if ($self->_optional_token(52)) { } | 
 
| 2387 | 1 | 34 | if ($self->_PathMod_test) | 
 
| 2391 | 1 | 0 | if (defined $mod) { } | 
 
| 2405 | 0 | 35 | if ($self->_optional_token(41)) { } | 
 
| 2417 | 1 | 34 | if $self->_test_token(53) | 
 
| 2418 | 0 | 34 | if $self->_test_token(51) | 
 
| 2419 | 0 | 34 | if $self->_test_token(50) | 
 
| 2420 | 0 | 34 | if $self->_test_token(15) | 
 
| 2426 | 1 | 0 | if ($self->_test_token(53) or $self->_test_token(51) or $self->_test_token(50)) | 
 
| 2429 | 1 | 0 | if ($t->type == 53) { } | 
 
|  | 0 | 0 | elsif ($t->type == 51) { } | 
 
| 2471 | 29 | 6 | if ($self->_IRIref_test) { } | 
 
|  | 6 | 0 | elsif ($self->_optional_token(1)) { } | 
 
|  | 0 | 0 | elsif ($self->_optional_token(38)) { } | 
 
| 2490 | 0 | 0 | if ($self->_optional_token(17)) { } | 
 
| 2493 | 0 | 0 | if ($self->_PathOneInPropertyClass_test) | 
 
| 2512 | 0 | 0 | if $self->_IRIref_test | 
 
| 2513 | 0 | 0 | if $self->_test_token(1) | 
 
| 2514 | 0 | 0 | if $self->_test_token(41) | 
 
| 2521 | 0 | 0 | if ($self->_optional_token(41)) | 
 
| 2524 | 0 | 0 | if ($self->_optional_token(1)) { } | 
 
| 2526 | 0 | 0 | if ($rev) { } | 
 
| 2533 | 0 | 0 | if ($rev) | 
 
| 2545 | 1 | 121 | if $self->_test_token(17) | 
 
| 2546 | 0 | 121 | if $self->_test_token(16) | 
 
| 2552 | 1 | 0 | if ($self->_test_token(17)) { } | 
 
| 2562 | 0 | 0 | if (my $where = $self->{'__no_bnodes'}) | 
 
| 2622 | 1 | 1 | if $self->_test_token(54) | 
 
| 2623 | 0 | 1 | if $self->_IRIref_test | 
 
| 2624 | 0 | 1 | if $self->_test_token(3) | 
 
| 2625 | 0 | 1 | if $self->_test_token(16) | 
 
| 2626 | 0 | 1 | if $self->_test_token(17) | 
 
| 2627 | 0 | 1 | if $self->_test_token(37) | 
 
| 2628 | 0 | 1 | if $self->_test_token(46) | 
 
| 2629 | 0 | 1 | if $self->_test_token(32) | 
 
| 2635 | 0 | 68 | if ($self->_TriplesNode_test) { } | 
 
| 2656 | 81 | 40 | if ($self->_test_token(54)) { } | 
 
|  | 3 | 37 | elsif ($self->_test_token(32)) { } | 
 
| 2667 | 3 | 3 | if ($self->_test_token(54)) { } | 
 
| 2677 | 0 | 1 | if $self->_IRIref_test | 
 
| 2678 | 0 | 1 | if $self->_test_token(54) | 
 
| 2684 | 5 | 12 | if ($self->_test_token(54)) { } | 
 
| 2694 | 0 | 141 | if ($self->{'__data_pattern'}) | 
 
| 2705 | 0 | 46 | if ($self->_test_token(4)) { } | 
 
|  | 1 | 45 | elsif ($self->_test_token(46)) { } | 
 
|  | 0 | 45 | elsif ($self->_test_token(37) or $self->_test_token(3)) { } | 
 
|  | 11 | 34 | elsif ($self->_test_token(12) or $self->_test_token(7) or $self->_test_token(9) or $self->_test_token(45) or $self->_test_token(50)) { } | 
 
|  | 9 | 25 | elsif ($self->_test_literal_token) { } | 
 
| 2745 | 0 | 11 | if (scalar @list > 1) { } | 
 
| 2754 | 0 | 11 | if (scalar @{$self->{'_stack'};} == 0) | 
 
| 2772 | 1 | 10 | if (scalar @list > 1) { } | 
 
| 2796 | 3 | 9 | if ($type == 10 or $type == 47 or $type == 43 or $type == 39 or $type == 44 or $type == 40) { } | 
 
|  | 0 | 9 | elsif ($self->_test_token(42, qr/^(NOT|IN)/u)) { } | 
 
| 2807 | 0 | 0 | $not ? : | 
 
| 2817 | 0 | 0 | if ($self->_optional_token(46)) { } | 
 
| 2822 | 0 | 0 | unless ($self->_test_token(23)) | 
 
| 2849 | 0 | 1 | $t->type == 45 ? : | 
 
| 2865 | 0 | 0 | $t->type == 53 ? : | 
 
| 2876 | 1 | 15 | if ($self->_optional_token(38)) { } | 
 
|  | 1 | 14 | elsif ($self->_optional_token(50)) { } | 
 
|  | 1 | 13 | elsif ($self->_optional_token(45)) { } | 
 
| 2886 | 1 | 0 | if (&blessed($expr) and $expr->isa('Attean::ValueExpression') and $expr->value->does('Attean::API::NumericLiteral')) { } | 
 
| 2900 | 1 | 0 | if (&blessed($expr) and $expr->isa('Attean::ValueExpression') and $expr->value->does('Attean::API::NumericLiteral')) { } | 
 
| 2921 | 0 | 16 | if ($self->_test_token(17)) { } | 
 
|  | 2 | 14 | elsif ($self->_BuiltInCall_test) { } | 
 
|  | 1 | 13 | elsif ($self->_IRIref_test) { } | 
 
|  | 8 | 5 | elsif ($self->_test_token(54)) { } | 
 
|  | 0 | 5 | elsif ($self->_test_token(4)) { } | 
 
|  | 4 | 1 | elsif ($self->_test_token(12) or $self->_test_token(7) or $self->_test_token(9) or $self->_test_token(50) or $self->_test_token(45)) { } | 
 
|  | 1 | 0 | elsif ($self->_test_token(32)) { } | 
 
| 2928 | 0 | 1 | if ($v->does("Attean::API::IRI")) | 
 
| 2973 | 1 | 1 | if ($self->_test_token(54)) { } | 
 
|  | 0 | 1 | elsif ($self->_test_token(32)) { } | 
 
| 2981 | 0 | 1 | if ($term->does("Attean::API::Blank")) | 
 
| 3005 | 0 | 1 | if (scalar @_) { } | 
 
| 3014 | 0 | 1 | if ($self->_optional_token(42, "DISTINCT")) | 
 
| 3020 | 0 | 1 | if ($self->_optional_token(53)) { } | 
 
| 3025 | 0 | 1 | if ($op eq "GROUP_CONCAT") | 
 
| 3030 | 0 | 0 | if ($self->_optional_token(24)) | 
 
| 3038 | 1 | 0 | &blessed($_) ? : | 
 
| 3039 | 0 | 1 | if ($distinct) | 
 
| 3063 | 1 | 22 | unless $t | 
 
| 3064 | 4 | 18 | if ($self->{'__aggregate_call_ok'}) | 
 
| 3065 | 1 | 3 | if $self->_test_token(42, qr/^(MIN|MAX|COUNT|AVG|SUM|SAMPLE|GROUP_CONCAT)$/iou) | 
 
| 3067 | 0 | 21 | if $self->_test_token(42, "NOT") | 
 
| 3068 | 0 | 21 | if $self->_test_token(42, "EXISTS") | 
 
| 3069 | 0 | 21 | if $self->_test_token(42, qr/^(ABS|CEIL|FLOOR|ROUND|CONCAT|SUBSTR|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|CONTAINS|STRSTARTS|STRENDS|RAND|MD5|SHA1|SHA224|SHA256|SHA384|SHA512|HOURS|MINUTES|SECONDS|DAY|MONTH|YEAR|TIMEZONE|TZ|NOW)$/iu) | 
 
| 3070 | 0 | 21 | if $self->_test_token(42, qr/^(TRIPLE|ISTRIPLE|SUBJECT|PREDICATE|OBJECT)$/iu) | 
 
| 3077 | 1 | 1 | if ($self->{'__aggregate_call_ok'} and $self->_test_token(42, qr/^(MIN|MAX|COUNT|AVG|SUM|SAMPLE|GROUP_CONCAT)\b/iou)) { } | 
 
|  | 0 | 1 | elsif ($self->_test_token(42, qr/^(NOT|EXISTS)/u)) { } | 
 
|  | 0 | 1 | elsif ($self->_test_token(42, qr/^(COALESCE|BNODE|CONCAT|SUBSTR|RAND|NOW)/iu)) { } | 
 
|  | 0 | 1 | elsif ($self->_test_token(42, 'REGEX')) { } | 
 
| 3086 | 0 | 0 | if ($not) | 
 
| 3102 | 0 | 1 | if ($op =~ /^(STR)?UUID$/iu) { } | 
 
|  | 0 | 1 | elsif ($op =~ /^(STR|URI|IRI|LANG|DATATYPE|isIRI|isURI|isBLANK|isLITERAL|isNumeric|ABS|CEIL|FLOOR|ROUND|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|MD5|SHA1|SHA224|SHA256|SHA384|SHA512|HOURS|MINUTES|SECONDS|DAY|MONTH|YEAR|TIMEZONE|TZ|ISTRIPLE|SUBJECT|PREDICATE|OBJECT)$/iu) { } | 
 
|  | 0 | 1 | elsif ($op =~ /^(STRDT|STRLANG|LANGMATCHES|sameTerm|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER)$/iu) { } | 
 
|  | 0 | 1 | elsif ($op =~ /^(IF|REPLACE|TRIPLE)$/iu) { } | 
 
| 3166 | 0 | 0 | if ($self->_optional_token(5)) | 
 
| 3184 | 1 | 0 | if ($self->_ArgList_test) | 
 
| 3186 | 0 | 1 | if (my $func = "Attean"->get_global_aggregate($iri->value)) | 
 
| 3191 | 0 | 1 | if ($iri->value =~ m[^http://www[.]w3[.]org/2001/XMLSchema#(?:integer|decimal|float|double|boolean|string|dateTime)$]u) { } | 
 
| 3208 | 2 | 7 | if ($self->_test_token(14)) { } | 
 
|  | 0 | 7 | elsif ($self->_test_token(11)) { } | 
 
| 3231 | 0 | 15 | if ($self->_optional_token(50)) { } | 
 
|  | 0 | 15 | elsif ($self->_optional_token(45)) { } | 
 
| 3239 | 1 | 14 | if (my $db = $self->_optional_token(9)) { } | 
 
|  | 1 | 13 | elsif (my $dc = $self->_optional_token(7)) { } | 
 
| 3251 | 0 | 15 | if ($sign) | 
 
| 3282 | 7 | 2 | if ($string = $self->_optional_token(25)) { } | 
 
|  | 1 | 1 | elsif ($string = $self->_optional_token(26)) { } | 
 
|  | 1 | 0 | elsif ($string = $self->_optional_token(28)) { } | 
 
|  | 0 | 0 | elsif ($string = $self->_optional_token(27)) { } | 
 
| 3309 | 49 | 155 | if $self->_test_token(13) | 
 
| 3310 | 39 | 116 | if $self->_test_token(20) | 
 
| 3317 | 62 | 28 | if (my $t = $self->_optional_token(13)) { } | 
 
| 3320 | 4 | 58 | $base ? : | 
 
| 3336 | 0 | 28 | unless ($self->namespaces->namespace_uri($ns)) | 
 
| 3342 | 0 | 28 | $base ? : | 
 
| 3349 | 0 | 6 | if ($self->_test_token(32)) { } | 
 
| 3367 | 0 | 3 | if ($self->{'__data_pattern'}) | 
 
| 3369 | 0 | 0 | if ($term->does("Attean::API::Blank")) | 
 
| 3388 | 0 | 0 | if (my $where = $self->{'__no_bnodes'}) | 
 
| 3391 | 0 | 0 | if (my $b = $self->_optional_token(3)) { } | 
 
| 3411 | 0 | 29 | if (my $computed_group_vars = delete $self->{'build'}{'__group_vars'}) | 
 
| 3424 | 26 | 3 | unless $aggdata | 
 
| 3425 | 2 | 27 | if (scalar @aggkeys or scalar @$groupby) | 
 
| 3435 | 1 | 1 | if (my $having = delete $self->{'build'}{'__having'}) | 
 
| 3444 | 2 | 27 | if ($has_aggregation) | 
 
| 3449 | 2 | 0 | if ($g->isa('Attean::ValueExpression') and $g->value->does('Attean::API::Variable')) { } | 
 
| 3461 | 25 | 4 | if ($star) { } | 
 
| 3464 | 0 | 25 | if ($has_aggregation) | 
 
| 3471 | 3 | 2 | if ($has_aggregation) | 
 
| 3472 | 2 | 1 | $v->does('Attean::API::Variable') ? : | 
 
| 3475 | 1 | 1 | unless (exists $agg_vars{$name} or exists $group_vars{$name}) | 
 
| 3482 | 3 | 1 | if ($v->does('Attean::API::Variable')) { } | 
 
| 3494 | 0 | 1 | if (exists $in_scope{$name}) | 
 
| 3503 | 0 | 28 | if ($having_expr) | 
 
| 3509 | 1 | 27 | if ($self->{'build'}{'options'}{'orderby'}) | 
 
| 3526 | 27 | 1 | if (scalar @$vars) | 
 
| 3532 | 1 | 27 | if (my $level = $self->{'build'}{'options'}{'distinct'}) | 
 
| 3535 | 0 | 1 | $level == 1 ? : | 
 
| 3541 | 1 | 27 | if (exists $self->{'build'}{'options'}{'offset'} and exists $self->{'build'}{'options'}{'limit'}) { } | 
 
|  | 1 | 26 | elsif (exists $self->{'build'}{'options'}{'offset'}) { } | 
 
|  | 0 | 26 | elsif (exists $self->{'build'}{'options'}{'limit'}) { } | 
 
| 3627 | 4 | 89 | if (&blessed($build->{'base'})) { } | 
 
|  | 0 | 89 | elsif (defined $build->{'base'}) { } | 
 
| 3642 | 2 | 71 | if ($o->isa("AtteanX::Parser::SPARQL::ObjectWrapper")) | 
 
| 3643 | 0 | 2 | if (&reftype($p) eq "ARRAY" and $p->[0] eq "PATH") | 
 
| 3652 | 2 | 71 | if ($annot) | 
 
| 3677 | 0 | 2 | if ($op eq "!") | 
 
| 3682 | 1 | 2 | if (ref $nodes[$i] eq 'ARRAY') { } | 
 
|  | 2 | 0 | elsif ($nodes[$i]->does('Attean::API::IRI')) { } | 
 
| 3690 | 1 | 1 | if ($op eq '*') { } | 
 
|  | 0 | 1 | elsif ($op eq '+') { } | 
 
|  | 0 | 1 | elsif ($op eq '?') { } | 
 
|  | 0 | 1 | elsif ($op eq '^') { } | 
 
|  | 1 | 0 | elsif ($op eq '/') { } | 
 
|  | 0 | 0 | elsif ($op eq '|') { } | 
 
| 3714 | 1 | 61 | if &reftype(scalar $_->predicate) eq "ARRAY" | 
 
| 3716 | 0 | 51 | if ($self->log->is_trace and scalar @patterns > scalar(@paths) + scalar(@triples)) | 
 
| 3722 | 1 | 50 | if (@paths) { } | 
 
| 3730 | 0 | 1 | if (scalar @triples) { } | 
 
| 3764 | 0 | 3 | $base ? : | 
 
| 3770 | 3 | 56 | if (0 == scalar @parts) { } | 
 
|  | 55 | 1 | elsif (1 == scalar @parts) { } | 
 
| 3783 | 268 | 5032 | unless $t | 
 
| 3786 | 0 | 0 | unless $t | 
 
| 3795 | 217 | 4907 | unless $t | 
 
| 3796 | 3369 | 1538 | if $t->type != $type | 
 
| 3797 | 573 | 965 | if (@_) | 
 
| 3799 | 30 | 543 | if (ref $value eq 'Regexp') { } | 
 
| 3800 | 14 | 16 | unless $t->value =~ /$value/u | 
 
| 3802 | 344 | 199 | unless $t->value eq $value | 
 
| 3810 | 228 | 763 | if ($self->_test_token(@_)) | 
 
| 3822 | 0 | 0 | unless $t | 
 
| 3830 | 479 | 1 | if ($self->_test_token($type, @_)) { } | 
 
| 3835 | 0 | 1 | &blessed($t) ? : | 
 
| 3836 | 1 | 0 | if (@_) { } | 
 
| 3838 | 0 | 1 | if ($t) { } | 
 
| 3854 | 1 | 0 | &blessed($t) ? : | 
 
| 3856 | 1 | 0 | if ($t and $t->start_line > 0) { } | 
 
| 3864 | 0 | 0 | if ($n) |