Created
August 4, 2011 12:25
-
-
Save tadzik/1125058 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/Perl6/Actions.pm b/src/Perl6/Actions.pm | |
index 59ad479..150aa71 100644 | |
--- a/src/Perl6/Actions.pm | |
+++ b/src/Perl6/Actions.pm | |
@@ -1054,6 +1054,7 @@ class Perl6::Actions is HLL::Actions { | |
# Compose. | |
$*ST.pkg_compose($*PACKAGE); | |
+ # Document | |
document($*PACKAGE, $*DOC); | |
make PAST::Stmts.new( | |
@@ -1256,6 +1257,8 @@ class Perl6::Actions is HLL::Actions { | |
} | |
my $code := $*ST.create_code_object($block, 'Sub', $signature, | |
$*MULTINESS eq 'proto'); | |
+ | |
+ # Document it | |
document($code, $*DOC); | |
# Install PAST block so that it gets capture_lex'd correctly and also | |
@@ -3833,12 +3836,11 @@ class Perl6::Actions is HLL::Actions { | |
} | |
sub document($what, $with) { | |
- if $with { | |
+ unless %*COMPILING<%?OPTIONS><setting> eq 'NULL' { | |
my $true := $*ST.add_constant('Int', 'int', 1)<compile_time_value>; | |
- my $doc := | |
- $*ST.add_constant('Str', 'str', $with)<compile_time_value>; | |
+ my $doc := $*ST.add_constant('Str', 'str', $with)<compile_time_value>; | |
$*ST.apply_trait('&trait_mod:<is>', $what, $doc, :docs($true)); | |
-} | |
+ } | |
} | |
} | |
diff --git a/src/core/traits.pm b/src/core/traits.pm | |
index de13409..fbf8f14 100644 | |
--- a/src/core/traits.pm | |
+++ b/src/core/traits.pm | |
@@ -55,8 +55,11 @@ multi trait_mod:<is>(Routine:D \$r, :$export!) { | |
} | |
multi trait_mod:<is>(Any:D $docee, Mu:D $doc, :$docs!) { | |
- my $d = $doc; #XXX Bug | |
- $docee does role { method WHY() { $d } } | |
+ $docee does role { | |
+ has $.WHY; | |
+ method set_docs($d) { $!WHY = $d } | |
+ } | |
+ $docee.set_docs($doc); | |
} | |
multi trait_mod:<is>(Any:U $docee, Mu:D $doc, :$docs!) { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
./perl6 --setting=NULL --target=pir --output=src/gen/CORE.setting.pir src/gen/CORE.setting
Method 'Bool' not found for invocant of class 'Attribute'
current instr.: '_block3486' pc 55134 (src/gen/perl6-metamodel.pir:17751) (src/gen/Metamodel.pm:1962)
called from Sub 'nqp;Perl6;Actions;_block1071' pc 11393 (src/gen/perl6-actions.pir:3226) (src/Perl6/Actions.pm:975)
... call repeated 1 times
called from Sub 'nqp;Perl6;Actions;make_variable_from_parts' pc 11075 (src/gen/perl6-actions.pir:3104) (src/Perl6/Actions.pm:924)
called from Sub 'nqp;Perl6;Actions;make_variable' pc 9949 (src/gen/perl6-actions.pir:2674) (src/Perl6/Actions.pm:910)
called from Sub 'nqp;Perl6;Actions;variable' pc 48860 (src/gen/perl6-actions.pir:0) (src/Perl6/Actions.pm:904)
called from Sub 'nqp;Regex;Cursor;!reduce' pc 2703 (src/Regex/Cursor.pir:1023)
called from Sub 'nqp;Regex;Cursor;!cursor_pass' pc 2116 (src/Regex/Cursor.pir:660)
called from Sub 'nqp;Perl6;Grammar;variable' pc 124835 (src/gen/perl6-grammar.pir:34492) (src/Perl6/Grammar.pm:968)
called from Sub 'nqp;Perl6;Grammar;term:sym' pc 92362 (src/gen/perl6-grammar.pir:25177) (src/Perl6/Grammar.pm:714)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4055 (src/Regex/Cursor.pir:94)
called from Sub 'nqp;Perl6;Grammar;term' pc 175696 (src/gen/perl6-grammar.pir:48282) (src/Perl6/Grammar.pm:1570)
called from Sub 'nqp;Perl6;Grammar;termish' pc 207185 (src/gen/perl6-grammar.pir:56883) (src/Perl6/Grammar.pm:1910)
called from Sub 'nqp;HLL;Grammar;EXPR' pc 24261 (src/stage2/gen/NQPHLL.pir:6573) (src/stage2/gen/NQPHLL.pm:558)
called from Sub 'nqp;Perl6;Grammar;EXPR' pc 208078 (src/gen/perl6-grammar.pir:57175) (src/Perl6/Grammar.pm:1931)
called from Sub 'nqp;Perl6;Grammar;statement' pc 59976 (src/gen/perl6-grammar.pir:16259) (src/Perl6/Grammar.pm:440)
called from Sub 'nqp;Perl6;Grammar;statementlist' pc 58857 (src/gen/perl6-grammar.pir:0) (src/Perl6/Grammar.pm:427)
called from Sub 'nqp;Perl6;Grammar;blockoid' pc 63549 (src/gen/perl6-grammar.pir:17333) (src/Perl6/Grammar.pm:493)
called from Sub 'nqp;Perl6;Grammar;method_def' pc 153389 (src/gen/perl6-grammar.pir:42489) (src/Perl6/Grammar.pm:1308)
called from Sub 'nqp;Perl6;Grammar;routine_declarator:sym' pc 148968 (src/gen/perl6-grammar.pir:41348) (src/Perl6/Grammar.pm:1270)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4018 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;routine_declarator' pc 148275 (src/gen/perl6-grammar.pir:41184) (src/Perl6/Grammar.pm:1266)
called from Sub 'nqp;Perl6;Grammar;term:sym<routine_declarator>' pc 93187 (src/gen/perl6-grammar.pir:25412) (src/Perl6/Grammar.pm:717)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4018 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;term' pc 175696 (src/gen/perl6-grammar.pir:48282) (src/Perl6/Grammar.pm:1570)
called from Sub 'nqp;Perl6;Grammar;termish' pc 207185 (src/gen/perl6-grammar.pir:56883) (src/Perl6/Grammar.pm:1910)
called from Sub 'nqp;HLL;Grammar;EXPR' pc 24261 (src/stage2/gen/NQPHLL.pir:6573) (src/stage2/gen/NQPHLL.pm:558)
called from Sub 'nqp;Perl6;Grammar;EXPR' pc 208078 (src/gen/perl6-grammar.pir:57175) (src/Perl6/Grammar.pm:1931)
called from Sub 'nqp;Perl6;Grammar;statement' pc 59976 (src/gen/perl6-grammar.pir:16259) (src/Perl6/Grammar.pm:440)
called from Sub 'nqp;Perl6;Grammar;statementlist' pc 58857 (src/gen/perl6-grammar.pir:0) (src/Perl6/Grammar.pm:427)
called from Sub 'nqp;Perl6;Grammar;blockoid' pc 63549 (src/gen/perl6-grammar.pir:17333) (src/Perl6/Grammar.pm:493)
called from Sub 'nqp;Perl6;Grammar;package_def' pc 135661 (src/gen/perl6-grammar.pir:0) (src/Perl6/Grammar.pm:1155)
called from Sub 'nqp;Perl6;Grammar;package_declarator:sym' pc 131019 (src/gen/perl6-grammar.pir:36171) (src/Perl6/Grammar.pm:1029)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4018 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;package_declarator' pc 128933 (src/gen/perl6-grammar.pir:35694) (src/Perl6/Grammar.pm:1005)
called from Sub 'nqp;Perl6;Grammar;term:sym<package_declarator>' pc 92637 (src/gen/perl6-grammar.pir:25276) (src/Perl6/Grammar.pm:715)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4018 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;term' pc 175696 (src/gen/perl6-grammar.pir:48282) (src/Perl6/Grammar.pm:1570)
called from Sub 'nqp;Perl6;Grammar;termish' pc 207185 (src/gen/perl6-grammar.pir:56883) (src/Perl6/Grammar.pm:1910)
called from Sub 'nqp;HLL;Grammar;EXPR' pc 24261 (src/stage2/gen/NQPHLL.pir:6573) (src/stage2/gen/NQPHLL.pm:558)
called from Sub 'nqp;Perl6;Grammar;EXPR' pc 208078 (src/gen/perl6-grammar.pir:57175) (src/Perl6/Grammar.pm:1931)
called from Sub 'nqp;Perl6;Grammar;statement' pc 59976 (src/gen/perl6-grammar.pir:16259) (src/Perl6/Grammar.pm:440)
called from Sub 'nqp;Perl6;Grammar;statementlist' pc 58857 (src/gen/perl6-grammar.pir:0) (src/Perl6/Grammar.pm:427)
called from Sub 'nqp;Perl6;Grammar;blockoid' pc 63549 (src/gen/perl6-grammar.pir:17333) (src/Perl6/Grammar.pm:493)
called from Sub 'nqp;Perl6;Grammar;routine_def' pc 151177 (src/gen/perl6-grammar.pir:41988) (src/Perl6/Grammar.pm:1289)
called from Sub 'nqp;Perl6;Grammar;multi_declarator:sym' pc 140186 (src/gen/perl6-grammar.pir:38993) (src/Perl6/Grammar.pm:1197)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4018 (src/Regex/Cursor.pir:81)
called from Sub 'nqp;Perl6;Grammar;multi_declarator' pc 139769 (src/gen/perl6-grammar.pir:38850) (src/Perl6/Grammar.pm:1194)
called from Sub 'nqp;Perl6;Grammar;term:sym<multi_declarator>' pc 93494 (src/gen/perl6-grammar.pir:25507) (src/Perl6/Grammar.pm:718)
called from Sub 'nqp;Regex;Cursor;!protoregex' pc 4055 (src/Regex/Cursor.pir:94)
called from Sub 'nqp;Perl6;Grammar;term' pc 175696 (src/gen/perl6-grammar.pir:48282) (src/Perl6/Grammar.pm:1570)
called from Sub 'nqp;Perl6;Grammar;termish' pc 207185 (src/gen/perl6-grammar.pir:56883) (src/Perl6/Grammar.pm:1910)
called from Sub 'nqp;HLL;Grammar;EXPR' pc 24261 (src/stage2/gen/NQPHLL.pir:6573) (src/stage2/gen/NQPHLL.pm:558)
called from Sub 'nqp;Perl6;Grammar;EXPR' pc 208078 (src/gen/perl6-grammar.pir:57175) (src/Perl6/Grammar.pm:1931)
called from Sub 'nqp;Perl6;Grammar;statement' pc 59976 (src/gen/perl6-grammar.pir:16259) (src/Perl6/Grammar.pm:440)
called from Sub 'nqp;Perl6;Grammar;statementlist' pc 58857 (src/gen/perl6-grammar.pir:0) (src/Perl6/Grammar.pm:427)
called from Sub 'nqp;Perl6;Grammar;comp_unit' pc 56670 (src/gen/perl6-grammar.pir:15157) (src/Perl6/Grammar.pm:397)
called from Sub 'nqp;Perl6;Grammar;TOP' pc 31112 (src/gen/perl6-grammar.pir:7576) (src/Perl6/Grammar.pm:31)
called from Sub 'nqp;Regex;Cursor;parse' pc 1781 (src/Regex/Cursor.pir:470)
called from Sub 'nqp;HLL;Compiler;parse' pc 37463 (src/stage2/gen/NQPHLL.pir:12166) (src/stage2/gen/NQPHLL.pm:1456)
called from Sub 'nqp;HLL;Compiler;_block1981' pc 37013 (src/stage2/gen/NQPHLL.pir:11968) (src/stage2/gen/NQPHLL.pm:1432)
called from Sub 'nqp;HLL;Compiler;compile' pc 36890 (src/stage2/gen/NQPHLL.pir:11897) (src/stage2/gen/NQPHLL.pm:1430)
called from Sub 'nqp;HLL;Compiler;eval' pc 33794 (src/stage2/gen/NQPHLL.pir:10607) (src/stage2/gen/NQPHLL.pm:1251)
called from Sub 'nqp;HLL;Compiler;evalfiles' pc 36268 (src/stage2/gen/NQPHLL.pir:11607) (src/stage2/gen/NQPHLL.pm:1416)
called from Sub 'nqp;HLL;Compiler;command_eval' pc 35175 (src/stage2/gen/NQPHLL.pir:11160) (src/stage2/gen/NQPHLL.pm:1361)
called from Sub 'nqp;Perl6;Compiler;command_eval' pc 862 (src/gen/perl6-compiler.pir:312) (src/Perl6/Compiler.nqp:13)
called from Sub 'nqp;HLL;Compiler;command_line' pc 34847 (src/stage2/gen/NQPHLL.pir:11051) (src/stage2/gen/NQPHLL.pm:1346)
called from Sub 'MAIN' pc 715 (src/gen/perl6.pir:257) (src/main.nqp src/gen/main-version.nqp:28)
called from Sub '_block1000' pc 100 (src/gen/perl6.pir:69) (src/main.nqp src/gen/main-version.nqp:1)
make: *** [CORE.setting.pbc] Error 1