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:

Reply via email to