Skip to content

Instantly share code, notes, and snippets.

@timo
Created March 28, 2012 22:09
Show Gist options
  • Save timo/2230981 to your computer and use it in GitHub Desktop.
Save timo/2230981 to your computer and use it in GitHub Desktop.
called from Sub 'Stringy' pc 28 ((file unknown):26524566) (src/gen/CORE.setting:673)
called from Sub 'infix:<~>' pc 34 ((file unknown):453) (src/gen/CORE.setting:960)
called from Sub 'Str' pc 87 ((file unknown):27026035) (src/gen/CORE.setting:670)
called from Sub 'nqp;Perl6;World;Str' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'Stringy' pc 28 ((file unknown):26524566) (src/gen/CORE.setting:673)
called from Sub 'infix:<~>' pc 34 ((file unknown):453) (src/gen/CORE.setting:960)
called from Sub 'Str' pc 87 ((file unknown):27026035) (src/gen/CORE.setting:670)
called from Sub 'nqp;Perl6;World;Str' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'Stringy' pc 28 ((file unknown):26524566) (src/gen/CORE.setting:673)
called from Sub 'nqp;Perl6;World;Stringy' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'infix:<~>' pc 34 ((file unknown):453) (src/gen/CORE.setting:960)
called from Sub 'Str' pc 87 ((file unknown):27026035) (src/gen/CORE.setting:670)
called from Sub 'nqp;Perl6;World;Str' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'at_key' pc 105 ((file unknown):623779662) (src/gen/CORE.setting:5648)
called from Sub 'nqp;Perl6;World;at_key' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'postcircumfix:<{ }>' pc 32 ((file unknown):27026026) (src/gen/CORE.setting:1184)
called from Sub 'nqp;Perl6;World;postcircumfix:<{ }>' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub '_block28669' pc 642 ((file unknown):1072) (src/gen/CORE.setting:594)
called from Sub '_block28662' pc 589 ((file unknown):1039) (src/gen/CORE.setting:589)
called from Sub '_block28649' pc 326 ((file unknown):891) (src/gen/CORE.setting:585)
called from Sub 'BUILDALL' pc 126 ((file unknown):792) (src/gen/CORE.setting:578)
called from Sub 'nqp;Perl6;World;BUILDALL' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'bless' pc 83 ((file unknown):27026055) (src/gen/CORE.setting:568)
called from Sub 'nqp;Perl6;World;bless' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'new' pc 67 ((file unknown):27026030) (src/gen/CORE.setting:553)
called from Sub 'nqp;Perl6;World;new' pc 13364 (src/gen/perl6-symboltable.pir:5628) (src/Perl6/World.pm:639)
called from Sub 'nqp;Perl6;World;_block2207' pc 31467 (src/gen/perl6-symboltable.pir:13460) (src/Perl6/World.pm:1646)
called from Sub 'nqp;Perl6;World;throw' pc 30755 (src/gen/perl6-symboltable.pir:13134) (src/Perl6/World.pm:1627)
called from Sub 'nqp;Perl6;Grammar;_block2984' pc 152066 (src/gen/perl6-grammar.pir:47222) (src/Perl6/Grammar.pm:1227)
called from Sub 'nqp;Perl6;Grammar;_block2980' pc 150339 (src/gen/perl6-grammar.pir:46494) (src/Perl6/Grammar.pm:1210)
called from Sub 'nqp;Perl6;Grammar;package_def' pc 148735 (src/gen/perl6-grammar.pir:46058) (src/Perl6/Grammar.pm:1208)
called from Sub 'nqp;Perl6;Grammar;package_declarator:sym<class>' pc 143125 (src/gen/perl6-grammar.pir:44555) (src/Perl6/Grammar.pm:1141)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4591 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;package_declarator' pc 141835 (src/gen/perl6-grammar.pir:44167) (src/Perl6/Grammar.pm:1127)
called from Sub 'nqp;Perl6;Grammar;term:sym<package_declarator>' pc 102764 (src/gen/perl6-grammar.pir:32356) (src/Perl6/Grammar.pm:831)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4591 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;term' pc 198247 (src/gen/perl6-grammar.pir:60359) (src/Perl6/Grammar.pm:1897)
called from Sub 'nqp;Perl6;Grammar;termish' pc 231251 (src/gen/perl6-grammar.pir:70273) (src/Perl6/Grammar.pm:2257)
called from Sub 'nqp;HLL;Grammar;EXPR' pc 22658 (src/stage2/gen/NQPHLL.pir:7394) (src/stage2/gen/NQPHLL.pm:558)
called from Sub 'nqp;Perl6;Grammar;EXPR' pc 232624 (src/gen/perl6-grammar.pir:70732) (src/Perl6/Grammar.pm:2281)
called from Sub 'nqp;Perl6;Grammar;statement' pc 67494 (src/gen/perl6-grammar.pir:22101) (src/Perl6/Grammar.pm:524)
called from Sub 'nqp;Perl6;Grammar;statementlist' pc 66351 (src/gen/perl6-grammar.pir:21798) (src/Perl6/Grammar.pm:510)
called from Sub 'nqp;Perl6;Grammar;comp_unit' pc 64112 (src/gen/perl6-grammar.pir:20909) (src/Perl6/Grammar.pm:480)
called from Sub 'nqp;Perl6;Grammar;TOP' pc 31132 (src/gen/perl6-grammar.pir:10625) (src/Perl6/Grammar.pm:36)
called from Sub 'nqp;Regex;Cursor;parse' pc 2354 (src/Regex/Cursor.pir:523)
called from Sub 'nqp;HLL;Compiler;parse' pc 36606 (src/stage2/gen/NQPHLL.pir:14120) (src/stage2/gen/NQPHLL.pm:1497)
called from Sub 'nqp;HLL;Compiler;_block2040' pc 36105 (src/stage2/gen/NQPHLL.pir:13890) (src/stage2/gen/NQPHLL.pm:1473)
called from Sub 'nqp;HLL;Compiler;compile' pc 35972 (src/stage2/gen/NQPHLL.pir:13819) (src/stage2/gen/NQPHLL.pm:1471)
called from Sub 'nqp;HLL;Compiler;eval' pc 32160 (src/stage2/gen/NQPHLL.pir:11948) (src/stage2/gen/NQPHLL.pm:1256)
called from Sub 'nqp;HLL;Compiler;evalfiles' pc 35359 (src/stage2/gen/NQPHLL.pir:13518) (src/stage2/gen/NQPHLL.pm:1457)
called from Sub 'nqp;HLL;Compiler;_block1868' pc 34069 (src/stage2/gen/NQPHLL.pir:12887) (src/stage2/gen/NQPHLL.pm:1387)
called from Sub 'nqp;HLL;Compiler;command_eval' pc 33637 (src/stage2/gen/NQPHLL.pir:12701) (src/stage2/gen/NQPHLL.pm:1402)
called from Sub 'nqp;Perl6;Compiler;command_eval' pc 1181 (src/gen/perl6-compiler.pir:477) (src/Perl6/Compiler.nqp:18)
called from Sub 'nqp;HLL;Compiler;command_line' pc 33259 (src/stage2/gen/NQPHLL.pir:12525) (src/stage2/gen/NQPHLL.pm:1353)
called from Sub 'MAIN' pc 966 (src/gen/perl6.pir:369) (src/main.nqp src/gen/main-version.nqp:32)
called from Sub '_block1000' pc 105 (src/gen/perl6.pir:73) (src/main.nqp src/gen/main-version.nqp:1)
make: *** [CORE.setting.pbc] Error 1
make 206.03s user 3.38s system 97% cpu 3:35.39 total
diff --git a/src/core/Exception.pm b/src/core/Exception.pm
index fd5502a..63b2d62 100644
--- a/src/core/Exception.pm
+++ b/src/core/Exception.pm
@@ -382,6 +382,10 @@ my class X::Syntax::Augment::Role does X::Syntax {
method message() { "Cannot augment a role, since roles are immutable" };
}
+my class X::Does::TypeObject is Exception {
+ method message() { "Cannot use 'does' operator with a type object." };
+}
+
my class X::Syntax::Comment::Embedded does X::Syntax {
method message() { "Opening bracket required for #` comment" }
}
diff --git a/src/core/operators.pm b/src/core/operators.pm
index d555ff2..aef02f8 100644
--- a/src/core/operators.pm
+++ b/src/core/operators.pm
@@ -3,6 +3,8 @@
## generic string operators are in Stringy.pm
## Int/Rat/Num operators are in {Int|Rat|Num}.pm
+class X::Does::TypeObject { ... }
+
sub infix:<=>(Mu \$a, Mu \$b) is rw {
pir::perl6_container_store__0PP($a, $b)
}
@@ -20,14 +22,14 @@ multi infix:<does>(Mu:D \$obj, Mu:U \$role, :$value! is parcel) is rw {
$obj.HOW.mixin($obj, $role).BUILD_LEAST_DERIVED({ @attrs[0].Str.substr(2) => $value });
}
multi infix:<does>(Mu:U \$obj, Mu:U \$role) is rw {
- die "Cannot use 'does' operator with a type object"
+ die(X::Does::TypeObject.new())
}
multi infix:<does>(Mu:D \$obj, @roles) is rw {
# XXX Mutability check.
$obj.HOW.mixin($obj, |@roles).BUILD_LEAST_DERIVED({});
}
multi infix:<does>(Mu:U \$obj, @roles) is rw {
- die "Cannot use 'does' operator with a type object"
+ die(X::Does::TypeObject.new())
}
proto infix:<but>(|$) { * }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment