class TestCase::LocalVar {
our $VAR_PREC : int;
INIT {
$VAR_PREC = 11;
}
static method local_var_name : int () {
my $name = 1;
my $my_name = 2;
my ${name_brace} = 3;
my $_name = 4;
my $NAME = 5;
unless ($name == 1) {
return 0;
}
unless ($my_name == 2) {
return 0;
}
unless (${name_brace} == 3) {
return 0;
}
unless ($name_brace == 3) {
return 0;
}
unless ($_name == 4) {
return 0;
}
unless ($NAME == 5) {
return 0;
}
return 1;
}
static method var_brace : int () {
my ${var} = 5;
unless (${var} == 5) {
return 0;
}
return 1;
}
static method local_var_upper_case : int () {
my $VAR1 = 1;
unless ($VAR1 == 1) {
return 0;
}
return 1;
}
static method local_var_high_precidence_than_class_var : int () {
my $VAR_PREC = 3;
unless ($VAR_PREC == 3) {
return 0;
}
return 1;
}
static method local_var_high_precidence_than_capture_var : int () {
my $var = 13;
my $cb = [$var : int] method : int () {
my $var = 5;
return $var;
};
unless ($cb->() == 5) {
return 0;
}
return 1;
}
}