1 /* -*- Mode: C; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
4 // Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
5 // ---------------------------------------------------------------------------
6 // SquirrelJME is under the Mozilla Public License Version 2.0.
7 // See license.mkd for licensing and copyright information.
8 // -------------------------------------------------------------------------*/
11 * Classes as they appear to the runtime virtual machine.
16 #ifndef SQUIRRELJME_CLASSYVM_H
17 #define SQUIRRELJME_CLASSYVM_H
19 #include "sjme/nvm/classy.h"
23 #ifndef SJME_CXX_IS_EXTERNED
24 #define SJME_CXX_IS_EXTERNED
25 #define SJME_CXX_SQUIRRELJME_CLASSYVM_H
28 #endif /* #ifdef SJME_CXX_IS_EXTERNED */
29 #endif /* #ifdef __cplusplus */
31 /*--------------------------------------------------------------------------*/
34 * Base structure for the class loader.
38 typedef struct sjme_vmClass_loaderBase sjme_vmClass_loaderBase
;
41 * Virtual machine equivalent to Java's @c ClassLoader .
45 typedef sjme_vmClass_loaderBase
* sjme_vmClass_loader
;
47 struct sjme_vmClass_loaderBase
49 /** Common NanoCoat storage. */
50 sjme_nvm_commonBase common
;
53 /*--------------------------------------------------------------------------*/
57 #ifdef SJME_CXX_SQUIRRELJME_CLASSYVM_H
59 #undef SJME_CXX_SQUIRRELJME_CLASSYVM_H
60 #undef SJME_CXX_IS_EXTERNED
61 #endif /* #ifdef SJME_CXX_SQUIRRELJME_CLASSYVM_H */
62 #endif /* #ifdef __cplusplus */
64 #endif /* SQUIRRELJME_CLASSYVM_H */