* src/vm/classcache.cpp,
[cacao.git] / src / vm / references.h
index 25569b8942f58b2ba934938f47c852898ddc1cf9..a24d975f38bbf33ff2e84a694ea61f141f6524ff 100644 (file)
@@ -1,9 +1,7 @@
 /* src/vm/references.h - references to classes/fields/methods
 
-   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   J. Wenninger, Institut f. Computersprachen - TU Wien
+   Copyright (C) 1996-2005, 2006, 2007, 2008
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
-
-   Authors: Edwin Steiner
-            Christian Thalinger
-
-   $Id: references.h 6012 2006-11-16 19:45:15Z twisti $
-
 */
 
 #ifndef _REFERENCES_H_
@@ -58,23 +49,23 @@ typedef union classref_or_classinfo {
 } classref_or_classinfo;
 
 
-/* parseddesc *****************************************************************/
+/* parseddesc_t ***************************************************************/
 
 typedef union parseddesc {
        struct typedesc   *fd;        /* parsed field descriptor                  */
        struct methoddesc *md;        /* parsed method descriptor                 */
        void              *any;       /* used for simple test against NULL        */
-} parseddesc;
+} parseddesc_t;
 
 
 #include "config.h"
 #include "vm/types.h"
 
-#include "vm/class.h"
+#include "vm/class.hpp"
 #include "vm/descriptor.h"
-#include "vm/field.h"
+#include "vm/field.hpp"
 #include "vm/global.h"
-#include "vm/method.h"
+#include "vm/method.hpp"
 #include "vm/utf8.h"
 
 
@@ -99,16 +90,16 @@ typedef union parseddesc {
 
 /* constant_FMIref ************************************************************/
 
-struct constant_FMIref{     /* Fieldref, Methodref and InterfaceMethodref     */
+struct constant_FMIref{      /* Fieldref, Methodref and InterfaceMethodref    */
        union {
                s4                 index;     /* used only within the loader          */
                constant_classref *classref;  /* class having this field/meth./intfm. */
                fieldinfo         *field;     /* resolved field                       */
                methodinfo        *method;    /* resolved method                      */
        } p;
-       utf       *name;        /* field/method/interfacemethod name              */
-       utf       *descriptor;  /* field/method/intfmeth. type descriptor string  */
-       parseddesc parseddesc;  /* parsed descriptor                              */
+       utf         *name;       /* field/method/interfacemethod name             */
+       utf         *descriptor; /* field/method/intfmeth. type descriptor string */
+       parseddesc_t parseddesc; /* parsed descriptor                             */
 };
 
 
@@ -141,12 +132,12 @@ struct constant_FMIref{     /* Fieldref, Methodref and InterfaceMethodref     */
 
 /* macro for accessing the class name of a method reference                   */
 #define METHODREF_CLASSNAME(fmiref) \
-       (IS_FMIREF_RESOLVED(fmiref) ? (fmiref)->p.method->class->name \
+       (IS_FMIREF_RESOLVED(fmiref) ? (fmiref)->p.method->clazz->name \
                                                                : (fmiref)->p.classref->name)
 
-/* macro for accessing the class name of a method reference                   */
+/* macro for accessing the class name of a field reference                   */
 #define FIELDREF_CLASSNAME(fmiref) \
-       (IS_FMIREF_RESOLVED(fmiref) ? (fmiref)->p.field->class->name \
+       (IS_FMIREF_RESOLVED(fmiref) ? (fmiref)->p.field->clazz->name \
                                                                : (fmiref)->p.classref->name)
 
 /* initialize a constant_classref with referer `ref` and name `classname`     */