Author: tene
Date: Tue Dec 16 13:59:39 2008
New Revision: 33984
Added:
trunk/languages/perl6/src/classes/Exception.pir
Modified:
trunk/languages/perl6/config/makefiles/root.in
trunk/languages/perl6/src/classes/Failure.pir
Log:
[rakudo]
* move Exception clas sinto a new file
* add resume() and rethrow() to Exception
Modified: trunk/languages/perl6/config/makefiles/root.in
==============================================================================
--- trunk/languages/perl6/config/makefiles/root.in (original)
+++ trunk/languages/perl6/config/makefiles/root.in Tue Dec 16 13:59:39 2008
@@ -75,6 +75,7 @@
src/classes/Method.pir \
src/classes/Junction.pir \
src/classes/Failure.pir \
+ src/classes/Exception.pir \
src/classes/Nil.pir \
src/classes/Role.pir \
src/classes/Pair.pir \
Added: trunk/languages/perl6/src/classes/Exception.pir
==============================================================================
--- (empty file)
+++ trunk/languages/perl6/src/classes/Exception.pir Tue Dec 16 13:59:39 2008
@@ -0,0 +1,30 @@
+# $Id$
+
+
+.namespace [ 'Exception' ]
+
+.sub '' :anon :init :load
+ .local pmc p6meta, failureproto, exceptionproto
+ p6meta = get_hll_global ['Perl6Object'], '$!P6META'
+ exceptionproto = p6meta.'new_class'('Perl6Exception', 'parent'=>'Any
Exception', 'attr'=>'$!exception', 'name'=>'Exception')
+ p6meta.'register'('Exception', 'protoobject'=>exceptionproto)
+.end
+
+=head2 Methods
+
+=cut
+
+.sub 'resume' :method
+ .local pmc resume
+ resume = self['resume']
+ resume()
+.end
+
+.sub 'rethrow' :method
+ rethrow self
+.end
+
+
+.sub 'perl' :method
+ .return ('undef')
+.end
Modified: trunk/languages/perl6/src/classes/Failure.pir
==============================================================================
--- trunk/languages/perl6/src/classes/Failure.pir (original)
+++ trunk/languages/perl6/src/classes/Failure.pir Tue Dec 16 13:59:39 2008
@@ -8,8 +8,6 @@
p6meta = get_hll_global ['Perl6Object'], '$!P6META'
failureproto = p6meta.'new_class'('Failure', 'parent'=>'Undef Any',
'attr'=>'$!exception')
p6meta.'register'('Undef', 'parent'=>failureproto,
'protoobject'=>failureproto)
- exceptionproto = p6meta.'new_class'('Perl6Exception', 'parent'=>'Any
Exception', 'attr'=>'$!exception', 'name'=>'Exception')
- p6meta.'register'('Exception', 'protoobject'=>exceptionproto)
$P0 = box 1
set_hll_global '$WARNINGS', $P0