blob: b25ab8d91e3d0fd7f4f5c8c2721892d9c73be24e [file] [log] [blame]
//===------------- MSCorlib.h - The MSCorlib interface --------------------===//
//
// N3
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef N3_MSCORLIB_H
#define N3_MSCORLIB_H
namespace n3 {
class N3;
class VMClass;
class VMClassArray;
class VMField;
class VMMethod;
class MSCorlib {
public:
static void initialise(N3* vm);
static void loadStringClass(N3* vm);
static void loadBootstrap(N3* vm);
static const char* libsPath;
static VMMethod* ctorClrType;
static VMClass* clrType;
static VMField* typeClrType;
static VMMethod* ctorAssemblyReflection;
static VMClass* assemblyReflection;
static VMClass* typedReference;
static VMField* assemblyAssemblyReflection;
static VMClass* propertyType;
static VMClass* methodType;
static VMMethod* ctorPropertyType;
static VMMethod* ctorMethodType;
static VMField* propertyPropertyType;
static VMField* methodMethodType;
static VMClass* resourceStreamType;
static VMMethod* ctorResourceStreamType;
static VMClass* pVoid;
static VMClass* pBoolean;
static VMClass* pChar;
static VMClass* pSInt8;
static VMClass* pUInt8;
static VMClass* pSInt16;
static VMClass* pUInt16;
static VMClass* pSInt32;
static VMClass* pUInt32;
static VMClass* pSInt64;
static VMClass* pUInt64;
static VMClass* pFloat;
static VMClass* pDouble;
static VMClass* pIntPtr;
static VMClass* pUIntPtr;
static VMClass* pString;
static VMClass* pObject;
static VMClass* pValue;
static VMClass* pEnum;
static VMClass* pArray;
static VMClass* pDelegate;
static VMClass* pException;
static VMClassArray* arrayChar;
static VMClassArray* arrayString;
static VMClassArray* arrayByte;
static VMClassArray* arrayObject;
static VMField* ctorBoolean;
static VMField* ctorUInt8;
static VMField* ctorSInt8;
static VMField* ctorChar;
static VMField* ctorSInt16;
static VMField* ctorUInt16;
static VMField* ctorSInt32;
static VMField* ctorUInt32;
static VMField* ctorSInt64;
static VMField* ctorUInt64;
static VMField* ctorIntPtr;
static VMField* ctorUIntPtr;
static VMField* ctorDouble;
static VMField* ctorFloat;
};
} // end namespace n3
#endif // N3_MSCORLIB_H