Ignore:
Timestamp:
Jul 13, 2007, 2:49:56 AM (17 years ago)
Author:
dai_9181
Message:

UserProc/DllProc/ProcPointerクラスをSymbolクラスからの派生にした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/include/Symbol.h

    r206 r208  
    77
    88#include <jenga/include/smoothie/Namespace.h>
     9#include <jenga/include/smoothie/LexicalAnalysis.h>
    910
    1011using namespace std;
     
    1819private:
    1920    friend class boost::serialization::access;
    20     template<class Archive> void serialize(Archive& ar, const unsigned int version)
     21    BOOST_SERIALIZATION_SPLIT_MEMBER();
     22    template<class Archive> void load(Archive& ar, const unsigned int version)
    2123    {
     24        trace_for_serialize( "serializing(load) - Symbol" );
     25
    2226        ar & BOOST_SERIALIZATION_NVP( namespaceScopes );
    23         ar & BOOST_SERIALIZATION_NVP( name );
     27
     28        std::string _name;
     29        ar & BOOST_SERIALIZATION_NVP( _name );
     30        this->name = Operator_NaturalStringToCalcMarkString( _name );
     31    }
     32    template<class Archive> void save(Archive& ar, const unsigned int version) const
     33    {
     34        trace_for_serialize( "serializing(save) - Symbol" );
     35
     36        ar & BOOST_SERIALIZATION_NVP( namespaceScopes );
     37
     38        std::string _name = Operator_CalcMarkStringToNaturalString( name );
     39        ar & BOOST_SERIALIZATION_NVP( _name );
    2440    }
    2541
     
    4157    }
    4258
    43     const NamespaceScopes &GetNamespaceScopes() const
     59    virtual const NamespaceScopes &GetNamespaceScopes() const
    4460    {
    4561        return namespaceScopes;
     
    5369    bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const string &name ) const;
    5470    bool IsEqualSymbol( const Symbol &symbol ) const;
    55     bool IsEqualSymbol( const string &name ) const;
     71    bool IsEqualSymbol( const char *fullName ) const;
     72    bool IsEqualSymbol( const string &fullName ) const
     73    {
     74        return IsEqualSymbol( fullName.c_str() );
     75    }
    5676};
Note: See TracChangeset for help on using the changeset viewer.