Author: chromatic
Date: Fri Feb 22 22:57:24 2008
New Revision: 26005
Modified:
branches/pdd17pmc/include/parrot/oo_private.h
branches/pdd17pmc/src/pmc/class.pmc
branches/pdd17pmc/src/pmc/object.pmc
Log:
[PMC] Ported Object PMC to PDD 17 attribute declaration.
The Class PMC now refers to the generated pmc_object.h file.
Modified: branches/pdd17pmc/include/parrot/oo_private.h
==============================================================================
--- branches/pdd17pmc/include/parrot/oo_private.h (original)
+++ branches/pdd17pmc/include/parrot/oo_private.h Fri Feb 22 22:57:24 2008
@@ -1,5 +1,5 @@
/* oo_private.h
- * Copyright (C) 2007, The Perl Foundation.
+ * Copyright (C) 2007-2008, The Perl Foundation.
* SVN Info
* $Id$
* Overview:
@@ -16,15 +16,6 @@
#include "parrot/parrot.h"
-/* Object PMC's underlying struct. */
-typedef struct Parrot_Object {
- PMC *_class; /* The class this is an instance of. */
- PMC *attrib_store; /* The attributes store - a resizable PMC array. */
-} Parrot_Object;
-
-/* Macro to access underlying structure of an Object PMC. */
-#define PARROT_OBJECT(o) ((Parrot_Object *) PMC_data(o))
-
/*
* Class private flags
*/
Modified: branches/pdd17pmc/src/pmc/class.pmc
==============================================================================
--- branches/pdd17pmc/src/pmc/class.pmc (original)
+++ branches/pdd17pmc/src/pmc/class.pmc Fri Feb 22 22:57:24 2008
@@ -95,6 +95,7 @@
#define PARROT_IN_OBJECTS_C /* To get the vtable.h imports we want. */
#include "parrot/parrot.h"
#include "parrot/oo_private.h"
+#include "pmc_object.h"
#include "pmc_namespace.h"
/* This function builds the attribute index (table to map class name and
Modified: branches/pdd17pmc/src/pmc/object.pmc
==============================================================================
--- branches/pdd17pmc/src/pmc/object.pmc (original)
+++ branches/pdd17pmc/src/pmc/object.pmc Fri Feb 22 22:57:24 2008
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, The Perl Foundation.
+Copyright (C) 2001-2008, The Perl Foundation.
$Id$
=head1 NAME
@@ -91,6 +91,8 @@
}
pmclass Object need_ext {
+ ATTR PMC *_class; /* The class this is an instance of. */
+ ATTR PMC *attrib_store; /* The attributes store - a resizable PMC array. */
/*