Ignore:
Timestamp:
Jun 24, 2007, 2:05:40 PM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r170 r181  
    9494    string _paramStr;
    9595
    96 private:
     96protected:
    9797    bool isMacro;
    9898
     
    113113
    114114public:
     115
     116    void Serialize( bool isRead )
     117    {
     118
     119    }
    115120
    116121    UserProc( const string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport ):
     
    127132    {
    128133    }
    129     ~UserProc();
     134    ~UserProc()
     135    {
     136        BOOST_FOREACH( Parameter *pParam, realParams ){
     137            delete pParam;
     138        }
     139    }
    130140
    131141    string GetFullName() const;
     
    136146    }
    137147
    138     virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine, bool isStatic );
     148    virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine, bool isStatic ) = 0;
    139149
    140150    int GetSecondParmNum() const
     
    246256        return *pCompilingUserProc;
    247257    }
    248 };
    249 
    250 class GlobalProc : public UserProc
    251 {
    252     const NamespaceScopes namespaceScopes;
    253     const NamespaceScopesCollection importedNamespaces;
    254 public:
    255     // ハッシュリスト用
    256     GlobalProc *pNextData;
    257 
    258     GlobalProc( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name, Kind kind, bool isMacro, bool isCdecl, bool isExport ):
    259       UserProc( name, kind, isMacro, isCdecl, isExport ),
    260       namespaceScopes( namespaceScopes ),
    261       importedNamespaces( importedNamespaces ),
    262       pNextData( NULL )
    263     {}
    264     ~GlobalProc(){}
    265 /*
    266     GlobalProc *Create( const NamespaceScopes &namespaceScopes, char *buffer,int nowLine );
    267     bool AddGlobalProc( const NamespaceScopes &namespaceScopes, char *buffer,int nowLine );
    268 */
    269     virtual const NamespaceScopes &GetNamespaceScopes() const;
    270     virtual const NamespaceScopesCollection &GetImportedNamespaces() const
    271     {
    272         return importedNamespaces;
    273     }
    274 
    275     virtual bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const string &name ) const;
    276     virtual bool IsEqualSymbol( const GlobalProc &globalProc ) const;
    277     virtual bool IsEqualSymbol( const string &name ) const;
    278258};
    279259
     
    309289    }
    310290
    311     virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine );
     291    virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine ) = 0;
    312292
    313293    const string &GetDllFileName() const
     
    339319    ~ProcPointer(){}
    340320
    341     virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine );
    342 };
     321    virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine ) = 0;
     322};
     323class ProcPointers : public vector<ProcPointer *>
     324{
     325public:
     326    ProcPointers()
     327    {
     328    }
     329    ~ProcPointers()
     330    {
     331    }
     332
     333    virtual int Add( const string &typeExpression ) = 0;
     334};
Note: See TracChangeset for help on using the changeset viewer.