|  line  | 
 !l  | 
 l&&!r  | 
 l&&r  | 
 condition  | 
 
| 
76
 | 
 26  | 
 0  | 
 8  | 
 $operator and $operator ne '='  | 
 
| 
240
 | 
 10  | 
 25  | 
 2  | 
 @reframe_path_back == 1 and @filter_path_forward == 1  | 
 
| 
278
 | 
 39  | 
 0  | 
 15  | 
 $operator and $operator ne '='  | 
 
| 
432
 | 
 0  | 
 2  | 
 103878  | 
 ref $subject and $subject->isa($self->subject_class_name)  | 
 
| 
547
 | 
 584  | 
 654  | 
 3181  | 
 @id_props == 1 and $id_props[0] eq 'id'  | 
 
| 
 | 
 1238  | 
 3181  | 
 0  | 
 @id_props == 1 and $id_props[0] eq 'id' and not $id_prop_is_real  | 
 
| 
550
 | 
 584  | 
 654  | 
 3181  | 
 @id_props == 1 and $id_props[0] eq 'id'  | 
 
| 
620
 | 
 0  | 
 2504  | 
 5045  | 
 @$id_translations and @{$id_translations->[0];} == 1  | 
 
| 
849
 | 
 0  | 
 0  | 
 6  | 
 ref $page and ref $page eq 'ARRAY'  | 
 
| 
861
 | 
 7474  | 
 75  | 
 0  | 
 defined $hints and ref $hints ne 'ARRAY'  | 
 
| 
873
 | 
 7209  | 
 7  | 
 333  | 
 $is_no_filters && !(defined $limit || $offset)  | 
 
| 
886
 | 
 17819  | 
 0  | 
 1748  | 
 $op and $op ne 'eq'  | 
 
| 
 | 
 17819  | 
 0  | 
 1748  | 
 $op and $op ne 'eq' and $op ne '=='  | 
 
| 
 | 
 0  | 
 124  | 
 1624  | 
 $op and $op ne 'eq' and $op ne '==' and $op ne '='  | 
|  line  | 
 l  | 
 !l  | 
 condition  | 
 
| 
84
 | 
 1  | 
 2  | 
 $old_constant_values ||= [@{$self->_constant_values;}]  | 
 
| 
404
 | 
 0  | 
 0  | 
 $sub_group_filters{$sub_group} ||= []  | 
 
| 
410
 | 
 0  | 
 0  | 
 $sub_group_sub_filters{$sub_group} ||= []  | 
 
| 
641
 | 
 846  | 
 9588  | 
 $op ||= ''  | 
 
| 
643
 | 
 98  | 
 10336  | 
 $key_op_hash->{$property} ||= {}  | 
 
| 
651
 | 
 104  | 
 867  | 
 $op ||= ''  | 
 
| 
654
 | 
 78  | 
 893  | 
 $$key_op_hash{$alias->[0]} ||= {}  | 
 
| 
687
 | 
 786  | 
 6447  | 
 $op ||= ''  | 
 
| 
689
 | 
 10  | 
 7223  | 
 $key_op_hash->{$property} ||= {}  | 
 
| 
694
 | 
 793  | 
 0  | 
 $key_op_hash->{'id'} ||= {}  | 
 
| 
706
 | 
 0  | 
 26  | 
 $key_op_hash->{$_} ||= {}  | 
 
| 
746
 | 
 7  | 
 896  | 
 $key_op_hash->{'id'} ||= {}  | 
 
| 
771
 | 
 178  | 
 19769  | 
 $key_positions{$key} ||= []  | 
 
| 
884
 | 
 1748  | 
 17819  | 
 $op ||= ''  | 
|  line  | 
 l  | 
 !l&&r  | 
 !l&&!r  | 
 condition  | 
 
| 
74
 | 
 8  | 
 0  | 
 26  | 
 $flat ne $name or @$add_keys  | 
 
| 
 | 
 8  | 
 0  | 
 26  | 
 $flat ne $name or @$add_keys or @$add_values  | 
 
| 
89
 | 
 6  | 
 0  | 
 0  | 
 $flat ne $name or @$add_keys  | 
 
| 
 | 
 6  | 
 0  | 
 0  | 
 $flat ne $name or @$add_keys or @$add_values  | 
 
| 
109
 | 
 6  | 
 0  | 
 9  | 
 $found_unflattened_params or @extra_keys  | 
 
| 
283
 | 
 1  | 
 1  | 
 0  | 
 $old_key eq '-order_by' or $old_key eq '-group_by'  | 
 
| 
 | 
 2  | 
 0  | 
 0  | 
 $old_key eq '-order_by' or $old_key eq '-group_by' or $old_key eq '-hints'  | 
 
| 
 | 
 1  | 
 0  | 
 0  | 
 $old_key eq '-order_by' or $old_key eq '-group_by' or $old_key eq '-hints' or $old_key eq '-recurse'  | 
 
| 
393
 | 
 103587  | 
 291  | 
 0  | 
 $self->{'_filter_breakdown'} ||= do {
	my(@underlying) = $self->get_underlying_rule_templates;
my(@primary, %sub_group_filters);
my %sub_group_sub_filters;
for (my $n = 0; $n < @underlying; ++$n) {
	my $underlying = $underlying[$n];
my $sub_group = $underlying->sub_group;
if ($sub_group) {
	if (substr($sub_group, -1) ne '?') {
	my $list = ($sub_group_filters{$sub_group} ||= []);
push @$list, $underlying, $n;
}
else {
	chop $sub_group;
my $list = ($sub_group_sub_filters{$sub_group} ||= []);
push @$list, $underlying, $n;
};
}
else {
	push @primary, $underlying, $n;
};
};
+{'primary', \@primary, 'sub_group_filters', \%sub_group_filters, 'sub_group_sub_filters', \%sub_group_sub_filters}
}  | 
 
| 
525
 | 
 2419  | 
 5785  | 
 295  | 
 $logic_detail ||= join(',', @$keys)  | 
 
| 
526
 | 
 2386  | 
 6113  | 
 0  | 
 $constant_value_id ||= UR::BoolExpr::Util::values_to_value_id(@$constant_values)  | 
 
| 
532
 | 
 0  | 
 7549  | 
 0  | 
 $subject_class_meta ||= $subject_class_name->__meta__  | 
 
| 
535
 | 
 4985  | 
 2564  | 
 0  | 
 $subject_class_meta->{'cache'}{'UR::BoolExpr::Template::get'} ||= do {
	my $id_related = {};
my $id_translations = [];
my $id_pos = {};
my $id_prop_is_real;
foreach my $iclass ($subject_class_name, $subject_class_meta->ancestry_class_names) {
	last if $iclass eq 'UR::Object';
next unless $iclass->isa('UR::Object');
my $iclass_meta = $iclass->__meta__;
my(@id_props) = $iclass_meta->id_property_names;
next unless @id_props;
$id_prop_is_real = 1 if grep {$_ eq 'id';} @id_props;
next if @id_props == 1 and $id_props[0] eq 'id' and not $id_prop_is_real;
@$id_related{@id_props} = @id_props;
push @$id_translations, \@id_props;
@$id_pos{@id_props} = 0 .. $#id_props unless @id_props == 1 and $id_props[0] eq 'id';
};
[$id_related, $id_translations, $id_pos]
}  | 
 
| 
598
 | 
 1638  | 
 16029  | 
 0  | 
 $name ||= $key  | 
 
| 
640
 | 
 852  | 
 9582  | 
 0  | 
 $property ||= $key  | 
 
| 
646
 | 
 2834  | 
 0  | 
 7600  | 
 $property eq 'id' or $id_related->{$property}  | 
 
| 
686
 | 
 786  | 
 6447  | 
 0  | 
 $property ||= $key  | 
 
| 
714
 | 
 31  | 
 97  | 
 5182  | 
 $id_op ||= $op  | 
 
| 
715
 | 
 5183  | 
 0  | 
 127  | 
 $op eq '' or $op eq 'eq'  | 
 
| 
 | 
 5183  | 
 63  | 
 64  | 
 $op eq '' or $op eq 'eq' or $op eq '='  | 
 
| 
 | 
 63  | 
 45  | 
 19  | 
 $op eq '' or $op eq 'eq' or $op eq '=' or $op eq 'in'  | 
 
| 
805
 | 
 72  | 
 3  | 
 296  | 
 $key eq '-hints' or $key eq '-hint'  | 
 
| 
 | 
 27  | 
 88  | 
 181  | 
 $key eq '-order_by' or $key eq '-order'  | 
 
| 
 | 
 45  | 
 6  | 
 130  | 
 $key eq '-group_by' or $key eq '-group'  | 
 
| 
846
 | 
 0  | 
 0  | 
 6  | 
 defined $limit or defined $offset  | 
 
| 
883
 | 
 1754  | 
 17813  | 
 0  | 
 $property ||= $keys[$n]  |