class TestCase::Simple : public {
interface TestCase::CommonInterface;
use TestCase::EnumA;
use TestCase::Minimal;
has x : public int;
has y : public int;
has values1 : public int[];
has values2 : public long[];
has message : public byte[];
# has c : TestCase::Simple;
# has d : TestCase::Simple[];
has private_field : int;
has title : public int;
has minimal : rw public TestCase::Minimal;
method shared1 : string () {
return "TestCase::Simple->shared1";
}
method shared2 : string () {
return "TestCase::Simple->shared2";
}
static method new : TestCase::Simple () {
return new TestCase::Simple;
}
static method get2 : int () {
1;
my $var1 : int;
my $var2 : int;
return 0;
}
static method get3 : int () { return 0; }
static method get4 : int ($foo : int) { return 0; }
static method get7 : int ($foo : int, $bar : int) { return 0; }
method sum4 : int () {
my $title : int;
# $title->();
# $title->(1);
# $title->(1, 2);
$self->{x};
$self->sum5();
$self->{x} = 3;
my $char : byte = 'a';
return 0;
}
method sum5 : int () {
$self->{x};
return 0;
}
static method file : string () {
my $file = __FILE__;
return $file;
}
}