[svn:parrot] r42169 - in trunk/t: op pmc
chromatic at svn.parrot.org
chromatic at svn.parrot.org
Fri Oct 30 03:14:05 UTC 2009
Author: chromatic
Date: Fri Oct 30 03:13:04 2009
New Revision: 42169
URL: https://trac.parrot.org/parrot/changeset/42169
Log:
[t] Rewrote several PASM tests to PIR and a few PIR tests to declare vtable
overrides with :vtable attribute rather than implicit leading underscores.
Modified:
trunk/t/op/gc.t
trunk/t/pmc/freeze.t
trunk/t/pmc/object-meths.t
trunk/t/pmc/objects.t
Modified: trunk/t/op/gc.t
==============================================================================
--- trunk/t/op/gc.t Fri Oct 30 01:05:48 2009 (r42168)
+++ trunk/t/op/gc.t Fri Oct 30 03:13:04 2009 (r42169)
@@ -182,7 +182,7 @@
ok(1, "leaving do_inc")
.end
-.sub __increment :method
+.sub increment :vtable :method
ok(1, "in __increment")
sweep 1
.end
Modified: trunk/t/pmc/freeze.t
==============================================================================
--- trunk/t/pmc/freeze.t Fri Oct 30 01:05:48 2009 (r42168)
+++ trunk/t/pmc/freeze.t Fri Oct 30 03:13:04 2009 (r42169)
@@ -1,5 +1,5 @@
#! perl
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
use strict;
@@ -765,7 +765,7 @@
.end
.namespace ['Conure']
-.sub __init :method
+.sub init :method :vtable
$P0 = new ['Integer']
$P0 = 37
setattribute self, 'temperature', $P0
Modified: trunk/t/pmc/object-meths.t
==============================================================================
--- trunk/t/pmc/object-meths.t Fri Oct 30 01:05:48 2009 (r42168)
+++ trunk/t/pmc/object-meths.t Fri Oct 30 03:13:04 2009 (r42169)
@@ -1,5 +1,5 @@
#! perl
-# Copyright (C) 2001-2007, Parrot Foundation.
+# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
use strict;
@@ -142,71 +142,73 @@
ok 2
OUTPUT
-pasm_output_is( <<'CODE', <<'OUTPUT', "constructor - init attr" );
- newclass P1, "Foo"
- addattribute P1, ".i"
- new P3, ['Foo']
- print "ok 2\n"
- print P3
- print "\n"
+pir_output_is( <<'CODE', <<'OUTPUT', "constructor - init attr" );
+.sub 'main' :main
+ newclass $P1, "Foo"
+ addattribute $P1, ".i"
+ new $P3, ['Foo']
+ say "ok 2"
+ say $P3
end
+.end
+
.namespace ["Foo"]
-.pcc_sub __init:
- get_params "0", P2
- print "ok 1\n"
- new P10, ['Integer']
- set P10, 42
- setattribute P2, ".i", P10
- set_returns ""
- returncc
-.pcc_sub __get_string:
- get_params "0", P2
- getattribute P10, P2, ".i"
- set_returns "0", P10
- returncc
+
+.sub 'init' :vtable :method
+ say "ok 1"
+ new $P10, ['Integer']
+ set $P10, 42
+ setattribute self, ".i", $P10
+ .return()
+.end
+
+.sub 'get_string' :vtable :method
+ getattribute $P10, self, ".i"
+ .return( $P10 )
+.end
CODE
ok 1
ok 2
42
OUTPUT
-pasm_output_is( <<'CODE', <<'OUTPUT', "constructor - parents" );
- newclass P1, "Foo"
- subclass P2, P1, "Bar"
- subclass P3, P2, "Baz"
- new P3, ['Baz']
- new P3, ['Bar']
- get_global P0, "_sub"
- invokecc P0
- print "done\n"
+pir_output_is( <<'CODE', <<'OUTPUT', "constructor - parents" );
+.sub 'main' :main
+ newclass $P1, "Foo"
+ subclass $P2, $P1, "Bar"
+ subclass $P3, $P2, "Baz"
+ new $P3, ['Baz']
+ new $P3, ['Bar']
+ _sub()
+ say "done"
end
+.end
- .namespace ["Foo"]
-.pcc_sub __init:
- get_params "0", P2
- print "foo_init\n"
- typeof S0, P2
- print S0
- print "\n"
- returncc
+.namespace ["Foo"]
- .namespace ["Bar"]
-.pcc_sub __init:
- get_params "0", P2
- print "bar_init\n"
- returncc
+.sub 'init' :vtable :method
+ say "foo_init"
+ typeof $S0, self
+ say $S0
+.end
- .namespace ["Baz"]
-.pcc_sub __init:
- get_params "0", P2
- print "baz_init\n"
- returncc
+.namespace ["Bar"]
- .namespace [] # main again
-.pcc_sub _sub:
- print "in sub\n"
- returncc
+.sub 'init' :vtable :method
+ say "bar_init"
+.end
+
+.namespace ["Baz"]
+
+.sub 'init' :vtable :method
+ say "baz_init"
+.end
+
+.namespace [] # main again
+.sub '_sub'
+ say "in sub"
+.end
CODE
foo_init
Baz
@@ -443,7 +445,7 @@
/Method 'nada' not found for invocant of class 'Foo'/
OUTPUT
-pasm_output_is( <<'CODE', <<'OUTPUT', "constructor - diamond parents" );
+pir_output_is( <<'CODE', <<'OUTPUT', "constructor - diamond parents" );
#
# A B A E
# \ / \ /
@@ -451,116 +453,103 @@
# \ /
# \ /
# F
- newclass P1, "A"
- newclass P2, "B"
- subclass P3, P1, "C"
- addparent P3, P2
-
- subclass P4, P1, "D"
- newclass P5, "E"
- addparent P4, P5
-
- subclass P6, P3, "F"
- addparent P6, P4
- new P10, 'ResizableIntegerArray'
- local_branch P10, _check_isa
-
- print "new F\n"
- new P16, ['F']
- print "done\n"
- end
+.sub 'main' :main
+ newclass $P1, "A"
+ newclass $P2, "B"
+ subclass $P3, $P1, "C"
+ addparent $P3, $P2
+
+ subclass $P4, $P1, "D"
+ newclass $P5, "E"
+ addparent $P4, $P5
+
+ subclass $P6, $P3, "F"
+ addparent $P6, $P4
-_check_isa:
print "F isa D "
- isa I0, P6, "D"
- print I0
- print "\n"
+ isa $I0, $P6, "D"
+ say $I0
print "D isa F "
- isa I0, P4, "F"
- print I0
- print "\n"
+ isa $I0, $P4, "F"
+ say $I0
print "F isa C "
- isa I0, P6, "C"
- print I0
- print "\n"
+ isa $I0, $P6, "C"
+ say $I0
print "C isa F "
- isa I0, P3, "F"
- print I0
- print "\n"
+ isa $I0, $P3, "F"
+ say $I0
print "F isa E "
- isa I0, P6, "E"
- print I0
- print "\n"
+ isa $I0, $P6, "E"
+ say $I0
print "E isa F "
- isa I0, P5, "F"
- print I0
- print "\n"
+ isa $I0, $P5, "F"
+ say $I0
print "F isa A "
- isa I0, P6, "A"
- print I0
- print "\n"
+ isa $I0, $P6, "A"
+ say $I0
print "A isa F "
- isa I0, P1, "F"
- print I0
- print "\n"
+ isa $I0, $P1, "F"
+ say $I0
print "F isa B "
- isa I0, P6, "B"
- print I0
- print "\n"
+ isa $I0, $P6, "B"
+ say $I0
print "B isa F "
- isa I0, P2, "F"
- print I0
- print "\n"
+ isa $I0, $P2, "F"
+ say $I0
print "C isa A "
- isa I0, P3, "A"
- print I0
- print "\n"
+ isa $I0, $P3, "A"
+ say $I0
print "A isa C "
- isa I0, P1, "C"
- print I0
- print "\n"
+ isa $I0, $P1, "C"
+ say $I0
print "D isa A "
- isa I0, P4, "A"
- print I0
- print "\n"
+ isa $I0, $P4, "A"
+ say $I0
print "A isa D "
- isa I0, P1, "D"
- print I0
- print "\n"
- local_return P10
+ isa $I0, $P1, "D"
+ say $I0
+ say "new F"
+ new $P16, ['F']
+ say "done"
+.end
.namespace ["A"]
-.pcc_sub __init:
- get_params "0", P2
- print "A init\n"
- returncc
+
+.sub 'init' :vtable :method
+ say "A init"
+.end
+
.namespace ["B"]
-.pcc_sub __init:
- get_params "0", P2
- print "B init\n"
- returncc
+
+.sub 'init' :vtable :method
+ say "B init"
+.end
+
.namespace ["C"]
-.pcc_sub __init:
- get_params "0", P2
- print "C init\n"
- returncc
+
+.sub 'init' :vtable :method
+ say "C init"
+.end
+
.namespace ["D"]
-.pcc_sub __init:
- get_params "0", P2
- print "D init\n"
- returncc
+
+.sub 'init' :vtable :method
+ say "D init"
+.end
+
.namespace ["E"]
-.pcc_sub __init:
- get_params "0", P2
- print "E init\n"
- returncc
+
+.sub 'init' :vtable :method
+ say "E init"
+.end
+
.namespace ["F"]
-.pcc_sub __init:
- get_params "0", P2
- print "F init\n"
- returncc
+
+.sub 'init' :vtable :method
+ say "F init"
+.end
CODE
F isa D 1
D isa F 0
Modified: trunk/t/pmc/objects.t
==============================================================================
--- trunk/t/pmc/objects.t Fri Oct 30 01:05:48 2009 (r42168)
+++ trunk/t/pmc/objects.t Fri Oct 30 03:13:04 2009 (r42169)
@@ -1,5 +1,5 @@
#! parrot
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
=head1 NAME
@@ -1381,7 +1381,7 @@
$P1 = new 'Foo41'
$S1 = $P1
- is( $S1, 'Hello world', '__get_string method' )
+ is( $S1, 'Hello world', 'get_string method' )
$P1 = new 'Bar41'
$S1 = $P1
@@ -1390,7 +1390,7 @@
.namespace [ 'Foo41' ]
-.sub '__get_string' :method
+.sub 'get_string' :vtable :method
.return('Hello world')
.end
More information about the parrot-commits
mailing list