- if ($pos and $pos->[0] == $line and $elt eq $meth
- and $elt->snext_sibling eq $obj) {
- push @violations, [ $obj, $meth, $elt ];
- undef $err;
+ my $tag = join "\0", $pos->[0], $elt, $tag_obj->($elt->snext_sibling);
+ if (my $errs = $errs_tags{$tag}) {
+ push @violations, do { my $e = pop @$errs; push @$e, $elt; $e };
+ delete $errs_tags{$tag} unless @$errs;
+ return 1 unless %errs_tags;