Skip to content

Commit 4f02273

Browse files
committed
bogus warning suppression
1 parent 7484f3a commit 4f02273

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

STD_P5.pm6

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -816,12 +816,11 @@ token p5term:fatarrow { <fatarrow> }
816816

817817
token p5term:variable { <variable>
818818
[
819-
|| { if $<variable><sigil>.Str ne '$'
820-
{ $*VAR = $<variable> } }
819+
|| <?{ $<variable><sigil>.Str ne '$' }>
821820
|| <?before '['> { $<variable><really> = '@' }
822821
|| <?before '{'> { $<variable><really> = '%' }
823-
|| { $*VAR = $<variable> }
824-
]
822+
]?
823+
{ $*VAR = $<variable> }
825824
}
826825

827826
token p5term:package_declarator { <package_declarator=p5package_declarator> }
@@ -1077,15 +1076,7 @@ token name {
10771076
}
10781077

10791078
token morename {
1080-
:my $*QSIGIL ::= '';
1081-
'::'
1082-
[
1083-
<?before '(' | <alpha> >
1084-
[
1085-
| <identifier>
1086-
| :dba('indirect name') '(' ~ ')' <EXPR>
1087-
]
1088-
]?
1079+
'::' <identifier>?
10891080
}
10901081

10911082
token subname {
@@ -2336,7 +2327,9 @@ token p5term:blocklist
23362327
{
23372328
# :my $name;
23382329
# :my $pos;
2339-
$<identifier> = ['map'|'grep'|'sort'] <.ws> [<?before '{'> <block> <.ws>]? <arglist>
2330+
$<identifier> = ['map'|'grep'|'sort'] <.ws>
2331+
[ :my $*IN_SORT = $<identifier>.Str eq 'sort'; <?before '{'> <block> <.ws>]?
2332+
<arglist>
23402333
# { self.add_mystery($name,$pos,substr($*ORIG,$pos,1)) unless $<args><invocant>; }
23412334
<O(|%term)>
23422335
}
@@ -2685,14 +2678,14 @@ method check_variable ($variable) {
26852678
my $here = self.cursor($variable.from);
26862679
self.deb("check_variable $name") if $*DEBUG +& DEBUG::symtab;
26872680
if $variable<really> { $name = $variable<really> ~ substr($name,1) }
2688-
my ($sigil, $first) = $name ~~ /(\$|\@|\%|\&)(.?)/;
2681+
my ($sigil, $first) = $name ~~ /(\$|\@|\%|\&|\*)(.?)/;
26892682
return self if $first eq '{';
26902683
my $ok = 0;
26912684
$ok ||= $*IN_DECL;
26922685
$ok ||= $first lt 'A';
2693-
$ok ||= $first eq '¢';
2686+
$ok ||= $sigil eq '*';
26942687
$ok ||= self.is_known($name);
2695-
$ok ||= $name ~~ /.\:\:/ && $name !~~ /MY|UNIT|OUTER|SETTING|CORE/;
2688+
$ok ||= ($*IN_SORT and $name eq '$a' || $name eq '$b');
26962689
if not $ok {
26972690
my $id = $name;
26982691
$id ~~ s/^\W\W?//;

0 commit comments

Comments
 (0)