Ignore:
Timestamp:
Jun 19, 2007, 4:02:00 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/jenga/include/smoothie/Class.h

    r171 r172  
    138138        return dynamicMembers;
    139139    }
     140    const Members &GetStaticMembers() const
     141    {
     142        return staticMembers;
     143    }
     144    Members &GetDynamicMembers()
     145    {
     146        return dynamicMembers;
     147    }
     148    Members &GetStaticMembers()
     149    {
     150        return staticMembers;
     151    }
    140152
    141153    const Methods &GetMethods() const
     
    144156    }
    145157    const Methods &GetStaticMethods() const
     158    {
     159        return staticMethods;
     160    }
     161    Methods &GetMethods()
     162    {
     163        return methods;
     164    }
     165    Methods &GetStaticMethods()
    146166    {
    147167        return staticMethods;
     
    266286};
    267287
     288#define MAX_CLASS_HASH 65535
    268289class Classes
    269290{
     291    int hash(const char *name) const;
     292    void DestroyClass(CClass *pobj_c);
     293public:
     294    CClass *pobj_ClassHash[MAX_CLASS_HASH];
     295
     296    Classes();
     297    ~Classes();
     298
     299    const CClass *Find( const string &fullName ) const;
     300    const CClass *Find( const NamespaceScopes &namespaceScopes, const string &name ) const;
     301
     302    CClass *AddClass( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const char *name,int nowLine);
     303
     304    void ActionVtblSchedule(LONG_PTR ImageBase, LONG_PTR MemPos_CodeSection);
     305
     306private:
     307    void AddMethod(CClass *pobj_c, Prototype::Accessibility accessibility, BOOL bStatic, bool isConst, bool isAbstract,
     308        bool isVirtual, bool isOverride, char *buffer, int nowLine);
     309    BOOL MemberVar_LoopRefCheck(const CClass &objClass);
     310public:
     311    void GetAllClassInfo(void);
     312    void Compile_System_InitializeUserTypes();
     313
     314
     315    /////////////////////////////
     316    // 特殊クラス
     317    /////////////////////////////
     318    CClass *pStringClass;
     319    CClass *pObjectClass;
     320    CClass *GetStringClassPtr() const;
     321    CClass *GetObjectClassPtr() const;
     322
     323
     324    /////////////////////////////
     325    // 現在コンパイル中の情報
     326    /////////////////////////////
     327private:
     328    const CClass *pCompilingClass;
     329    const CMethod *pCompilingMethod;
     330public:
     331    //コンパイル開始の通知を受け取るメソッド
     332    void StartCompile( UserProc *pUserProc );
     333
     334    //現在コンパイル中のメソッド情報を取得
     335    const CClass *GetNowCompilingClass() const;
     336    const CMethod *GetNowCompilingMethodInfo();
     337
     338
     339    /////////////////////
     340    // イテレータ
     341    /////////////////////
     342private:
     343    CClass **ppobj_IteClass;
     344    int iIteMaxNum;
     345    int iIteNextNum;
     346public:
     347    void Iterator_Init(void);
     348    void Iterator_Reset(void);
     349    BOOL Iterator_HasNext(void);
     350    CClass *Iterator_GetNext(void);
     351    int Iterator_GetMaxCount(void);
    270352};
Note: See TracChangeset for help on using the changeset viewer.