#pragma once #include "TypeDef.h" #include "Namespace.h" #include "Procedure.h" #include "Class.h" // プロジェクト中に存在するメタ情報 class Meta{ Classes *pClasses; ProcPointers *pProcPointers; public: Meta( Classes *pNewClasses, ProcPointers *pNewProcPointers ) : pClasses( pNewClasses ) , pProcPointers( pNewProcPointers ) { } ~Meta() { delete pClasses; delete pProcPointers; } // 名前空間 NamespaceScopesCollection namespaceScopesCollection; // クラス Classes &GetClasses() { return *pClasses; } void SetClasses( Classes *pClasses ) { this->pClasses = pClasses; } // TypeDef TypeDefCollection typeDefs; // 関数ポインタ ProcPointers &GetProcPointers() { return *pProcPointers; } // blittable型 BlittableTypes blittableTypes; };