#pragma once #include "Source.h" #include "ObjectModule.h" #include "LexicalScoping.h" class Smoothie{ static bool isUnicode; public: static bool IsUnicode() { return isUnicode; } static void SetUnicodeMark( bool isUnicode ) { Smoothie::isUnicode = isUnicode; } static Meta &GetMeta(); class Lexical{ public: static string baseProjectDirPath; static BasicSource source; }; // コンパイル中に一時的に利用する class Temp{ public: // 現在の名前空間 static NamespaceScopes liveingNamespaceScopes; // 現在インポートされている名前空間 static NamespaceScopesCollection importedNamespaces; // コンパイル中のクラス static const CClass *pCompilingClass; // レキシカルスコープの状態 static CLexicalScopes *pLexicalScopes; }; static bool isFullCompile; };