Skip to content

Commit 1d1ea2f

Browse files
committed
Get packages meta-objects to set a hash in their .WHO (can promote it to some more full-on Stash type later, probably, but this is fine for now.) (Foo.WHO)<$x> := 42 style stuff now works fine.
1 parent 7462ede commit 1d1ea2f

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

src/metamodel/how/NQPClassHOW.pm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ knowhow NQPClassHOW {
5252
# to go with it, and return that.
5353
method new_type(:$name = '<anon>', :$repr = 'P6opaque') {
5454
my $metaclass := self.new(:name($name));
55-
pir::repr_type_object_for__PPS($metaclass, $repr);
55+
pir::set_who__0PP(
56+
pir::repr_type_object_for__PPS($metaclass, $repr),
57+
{});
5658
}
5759

5860
method add_method($obj, $name, $code_obj) {

src/metamodel/how/NQPModuleHOW.pm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ knowhow NQPModuleHOW {
1616
# to go with it, and return that.
1717
method new_type(:$name = '<anon>', :$repr = 'P6opaque') {
1818
my $metaclass := self.new(:name($name));
19-
pir::repr_type_object_for__PPS($metaclass, $repr);
19+
pir::set_who__0PP(
20+
pir::repr_type_object_for__PPS($metaclass, $repr),
21+
{});
2022
}
2123

2224
method add_method($obj, $name, $code_obj) {

src/metamodel/how/NQPNativeHOW.pm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ knowhow NQPNativeHOW {
1717
# XXX Should check that this is an inlineable REPR.
1818
method new_type(:$name = '<anon>', :$repr!) {
1919
my $metaclass := self.new(:name($name));
20-
pir::repr_type_object_for__PPS($metaclass, $repr);
20+
pir::set_who__0PP(
21+
pir::repr_type_object_for__PPS($metaclass, $repr),
22+
{});
2123
}
2224

2325
method add_method($obj, $name, $code_obj) {

src/metamodel/how/NQPParametricRoleHOW.pm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ knowhow NQPParametricRoleHOW {
4646
# to go with it, and return that.
4747
method new_type(:$name = '<anon>', :$repr = 'P6opaque') {
4848
my $metarole := self.new(:name($name));
49-
pir::repr_type_object_for__PPS($metarole, $repr);
49+
pir::set_who__0PP(
50+
pir::repr_type_object_for__PPS($metarole, $repr),
51+
{});
5052
}
5153

5254
method set_body_block($obj, $body_block) {

0 commit comments

Comments
 (0)