#pragma once #include #include #include class Compiler { // ネイティブコード NativeCode nativeCode; // 名前空間サポート NamespaceSupporter namespaceSupporter; // メタ情報 MetaImpl metaImpl; public: NativeCode &GetNativeCode() { return nativeCode; } NamespaceSupporter &GetNamespaceSupporter() { return namespaceSupporter; } MetaImpl &GetMeta() { return metaImpl; } static bool StringToType( const std::string &typeName, Type &type ); static const std::string TypeToString( const Type &type ); // コンパイル中のクラス const CClass *pCompilingClass; }; extern Compiler compiler;