Author: jonathan
Date: Wed Aug 6 07:51:49 2008
New Revision: 30060
Added:
trunk/languages/perl6/src/pmc/perl6multisub.pmc (contents, props changed)
trunk/languages/perl6/t/pmc/perl6multisub-basic.t (contents, props changed)
Modified:
trunk/languages/perl6/config/makefiles/root.in
Log:
[rakudo] Stub in empty Perl6MultiSub PMC deriving from MultiSub, add it to the
Makefile and add a sanity test to make sure we can instantiate it.
Modified: trunk/languages/perl6/config/makefiles/root.in
==============================================================================
--- trunk/languages/perl6/config/makefiles/root.in (original)
+++ trunk/languages/perl6/config/makefiles/root.in Wed Aug 6 07:51:49 2008
@@ -101,8 +101,9 @@
$(PERL) build/gen_mutable_pmc.pl $(PMC_DIR)/mutable_pmc.template \
$(PMC_DIR)/mutable.pmc
-PMCS = perl6str mutable perl6scalar mutablevar
-PMC_SOURCES = $(PMC_DIR)/perl6str.pmc $(PMC_DIR)/mutable.pmc
$(PMC_DIR)/perl6scalar.pmc $(PMC_DIR)/mutablevar.pmc
+PMCS = perl6str mutable perl6scalar mutablevar perl6multisub
+PMC_SOURCES = $(PMC_DIR)/perl6str.pmc $(PMC_DIR)/mutable.pmc
$(PMC_DIR)/perl6scalar.pmc \
+ $(PMC_DIR)/mutablevar.pmc $(PMC_DIR)/perl6multisub.pmc
PERL6_GROUP = $(PMC_DIR)/perl6_group$(LOAD_EXT)
# targets for building a standalone perl6.
Added: trunk/languages/perl6/src/pmc/perl6multisub.pmc
==============================================================================
--- (empty file)
+++ trunk/languages/perl6/src/pmc/perl6multisub.pmc Wed Aug 6 07:51:49 2008
@@ -0,0 +1,31 @@
+/*
+$Id$
+Copyright (C) 2008, The Perl Foundation.
+
+=head1 NAME
+
+src/pmc/perl6multiub.pmc - Perl 6 MultiSub PMC
+
+=head1 DESCRIPTION
+
+Subclass of MultiSub that overrides invoke to implement the Perl 6 multiple
+dispatch algorithm, along with providing various other pieces.
+
+=head2 Methods
+
+=cut
+
+*/
+
+#include "parrot/parrot.h"
+
+pmclass Perl6MultiSub extends MultiSub need_ext dynpmc group perl6_group {
+
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Added: trunk/languages/perl6/t/pmc/perl6multisub-basic.t
==============================================================================
--- (empty file)
+++ trunk/languages/perl6/t/pmc/perl6multisub-basic.t Wed Aug 6 07:51:49 2008
@@ -0,0 +1,43 @@
+#! ../../parrot
+# Copyright (C) 2007-2008, The Perl Foundation.
+# $Id$
+
+=head1 NAME
+
+t/pmc/perl6multisub-basic.t - Basics tests for the perl6multisub PMC
+
+=head1 SYNOPSIS
+
+ % prove t/pmc/perl6multisub-basic.t
+
+=head1 DESCRIPTION
+
+A few basic sanity tests for the Perl 6 MultiSub PMC.
+
+=cut
+
+.loadlib 'perl6_group'
+
+.sub main :main
+ .include 'include/test_more.pir'
+ load_bytecode "perl6.pbc"
+
+ plan(1)
+
+ 'instantiate'()
+.end
+
+
+.sub 'instantiate'
+ # Check we can instantiate a multi.
+ $P0 = new "Perl6MultiSub"
+ $I0 = defined $P0
+ ok($I0, "instantiated Perl6MultiSub")
+.end
+
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir: