Ignore:
Timestamp:
Mar 19, 2011, 10:47:28 PM (14 years ago)
Author:
イグトランス (egtra)
Message:

compilerにおいて、各クラスのコピー禁止を明確化、ならびにコピー可能なものにムーブコンストラクタ・ムーブ代入演算子を追加。

Location:
branches/egtra/ab5.0/abdev/BasicCompiler_Common/include
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/BreakPoint.h

    r743 r817  
    99    BreakPointsPerFile(const char *lpszFileName,int iLineNum);
    1010
     11    BreakPointsPerFile(BreakPointsPerFile&& y)
     12        : filename(std::move(y.filename))
     13        , lines(std::move(y.lines))
     14    {
     15    }
     16
     17    BreakPointsPerFile(BreakPointsPerFile const& y)
     18        : filename(y.filename)
     19        , lines(y.lines)
     20    {
     21    }
     22
     23    BreakPointsPerFile& operator =(BreakPointsPerFile&& y)
     24    {
     25        filename = std::move(y.filename);
     26        lines = std::move(y.lines);
     27        return *this;
     28    }
     29
     30    BreakPointsPerFile& operator =(BreakPointsPerFile const& y)
     31    {
     32        return *this = std::move(BreakPointsPerFile(y));
     33    }
     34
    1135    void add(int iLineNum);
    1236    void remove(int iLineNum);
    1337
    1438    void update( char *nativeCodeBuffer, const SourceLines &sourceLines );
     39
    1540};
    1641typedef std::vector<BreakPointsPerFile> BreakPointsPerFiles;
     
    2752
    2853    char *update( char *nativeCodeBuffer, int SizeOf_CodeSection, const SourceLines &sourceLines );
     54
     55private:
     56    BreakPointManager(BreakPointManager const&);
     57    BreakPointManager& operator =(BreakPointManager const&);
    2958};
    3059
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/CodeGenerator.h

    r641 r817  
    3333        return typeSize;
    3434    }
     35
     36private:
     37    PertialSchedule(PertialSchedule const&);
     38    PertialSchedule& operator =(PertialSchedule const&);
    3539};
    3640typedef std::vector<const PertialSchedule *> PertialSchedules;
     
    6872        return sourceCodePos;
    6973    }
     74
     75private:
     76    GotoLabelSchedule(GotoLabelSchedule const&);
     77    GotoLabelSchedule& operator =(GotoLabelSchedule const&);
    7078};
    7179typedef std::vector<const GotoLabelSchedule *> GotoLabelSchedules;
     
    9098        , address( nativeCodePos )
    9199    {
     100    }
     101
     102    GotoLabel(GotoLabel&& y)
     103        : name(std::move(y.name))
     104        , line(std::move(y.line))
     105        , address(std::move(y.address))
     106    {
     107    }
     108
     109    GotoLabel(GotoLabel const& y)
     110        : name(y.name)
     111        , line(y.line)
     112        , address(y.address)
     113    {
     114    }
     115
     116    GotoLabel& operator =(GotoLabel&& y)
     117    {
     118        name = std::move(y.name);
     119        line = std::move(y.line);
     120        address = std::move(y.address);
     121        return *this;
     122    }
     123
     124    GotoLabel& operator =(GotoLabel const& y)
     125    {
     126        return *this = std::move(GotoLabel(y));
    92127    }
    93128};
     
    147182    void Break();
    148183    void RunScheduleOfBreak();
     184
     185private:
     186    LexicalScope(LexicalScope const&);
     187    LexicalScope& operator =(LexicalScope const&);
    149188};
    150189
     
    184223    //Returnステートメント用のデストラクタ呼び出し
    185224    void CallDestructorsOfReturn( int BaseLevel = 0 );
     225
     226private:
     227    LexicalScopes(LexicalScopes const&);
     228    LexicalScopes& operator =(LexicalScopes const&);
    186229};
    187230
     
    534577        pNativeCode->Put( c6 );
    535578    }
     579
     580private:
     581    CodeGenerator(CodeGenerator const&);
     582    CodeGenerator& operator =(CodeGenerator const&);
    536583};
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h

    r812 r817  
    215215    bool IsCompilingClass();
    216216    const CClass &GetCompilingClass();
     217
     218private:
     219    Compiler(Compiler const&);
     220    Compiler& operator =(Compiler const&);
    217221};
    218222
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Configuration.h

    r477 r817  
    2727        ar & BOOST_SERIALIZATION_NVP( abdevRootRelativePath );
    2828    }
     29
     30    Configuration(Configuration const&);
     31    Configuration& operator =(Configuration const&);
    2932};
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/DataTableGenerator.h

    r589 r817  
    1717    }
    1818
     19private:
     20    DataTableGenerator();
     21    DataTableGenerator(DataTableGenerator const&);
     22    DataTableGenerator& operator =(DataTableGenerator const&);
    1923};
    2024
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Debugger.h

    r467 r817  
    2424        return isRunning;
    2525    }
     26
     27private:
     28    Debugger(Debugger const&);
     29    Debugger& operator =(Debugger const&);
    2630};
    2731
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Enum.h

    r750 r817  
    66    std::string value;
    77    int sourceIndex;
     8
    89public:
    910    EnumMember( const std::string &name, const std::string &value, int sourceIndex )
     
    1314    {
    1415    }
     16
     17    EnumMember(EnumMember&& y)
     18        : name(std::move(y.name))
     19        , value(std::move(y.value))
     20        , sourceIndex(std::move(y.sourceIndex))
     21    {
     22    }
     23
     24    EnumMember(EnumMember const& y)
     25        : name(y.name)
     26        , value(y.value)
     27        , sourceIndex(y.sourceIndex)
     28    {
     29    }
     30
     31    EnumMember& operator =(EnumMember&& y)
     32    {
     33        name = std::move(y.name);
     34        value = std::move(y.value);
     35        sourceIndex = std::move(y.sourceIndex);
     36        return *this;
     37    }
     38
     39    EnumMember& operator =(EnumMember const& y)
     40    {
     41        return *this = std::move(EnumMember(y));
     42    }
     43
    1544    const std::string &GetName() const
    1645    {
     
    3968        : Symbol( namespaceScopes, name )
    4069    {
     70    }
     71
     72    EnumInfo(EnumInfo&& y)
     73        : Symbol(std::move(y))
     74        , bConst(std::move(y.bConst))
     75        , members(std::move(y.members))
     76    {
     77    }
     78
     79    EnumInfo(EnumInfo const& y)
     80        : Symbol(y)
     81        , bConst(y.bConst)
     82        , members(y.members)
     83    {
     84    }
     85
     86    EnumInfo& operator =(EnumInfo&& y)
     87    {
     88        Symbol::operator =(std::move(y));
     89        bConst = std::move(y.bConst);
     90        members = std::move(y.members);
     91        return *this;
     92    }
     93
     94    EnumInfo& operator =(EnumInfo const& y)
     95    {
     96        return *this = std::move(EnumInfo(y));
    4197    }
    4298
     
    80136        return NULL;
    81137    };
     138
     139    EnumInfoCollection() {}
     140
     141private:
     142    EnumInfoCollection(EnumInfoCollection const&);
     143    EnumInfoCollection& operator =(EnumInfoCollection const&);
    82144};
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Linker.h

    r357 r817  
    5454    // データテーブルをセット
    5555    void SetDataTable( DataTable &dataTable );
     56
     57private:
     58    Linker(Linker const&);
     59    Linker& operator =(Linker const&);
    5660};
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Messenger.h

    r812 r817  
    2424    {
    2525    }
     26
    2627    ErrorInfo( int errorCode, const std::string &keyword, int sourceIndex );
     28
     29    ErrorInfo(ErrorInfo&& y)
     30        : errorCode(std::move(y.errorCode))
     31        , keyword(std::move(y.keyword))
     32        , sourceFilePath(std::move(y.sourceFilePath))
     33        , sourceLineNum(std::move(y.sourceLineNum))
     34        , errorLineNum(std::move(y.errorLineNum))
     35    {
     36    }
     37
     38    ErrorInfo(ErrorInfo const& y)
     39        : errorCode(y.errorCode)
     40        , keyword(y.keyword)
     41        , sourceFilePath(y.sourceFilePath)
     42        , sourceLineNum(y.sourceLineNum)
     43        , errorLineNum(y.errorLineNum)
     44    {
     45    }
     46
     47    ErrorInfo& operator =(ErrorInfo&& y)
     48    {
     49        errorCode = std::move(y.errorCode);
     50        keyword = std::move(y.keyword);
     51        sourceFilePath = std::move(y.sourceFilePath);
     52        sourceLineNum = std::move(y.sourceLineNum);
     53        errorLineNum = std::move(y.errorLineNum);
     54        return *this;
     55    }
     56
     57    ErrorInfo& operator =(ErrorInfo const& y)
     58    {
     59        return *this = std::move(ErrorInfo(y));
     60    }
    2761
    2862    int GetErrorCode() const
     
    6397
    6498public:
     99    ErrorMessenger() {}
     100
    65101    void Output( const ErrorInfo &errorInfo );
    66102    void Output( int errorCode, const std::string &keyword, int sourceIndex = -1 );
     
    75111
    76112    void ShowErrorLine( int errorLineNum );
     113
     114private:
     115    ErrorMessenger(ErrorMessenger const&);
     116    ErrorMessenger& operator =(ErrorMessenger const&);
    77117};
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Program.h

    r719 r817  
    9696
    9797    int GetExitCode() const;
     98
     99private:
     100    Program(Program const&);
     101    Program& operator =(Program const&);
    98102};
    99103
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/logger.h

    r523 r817  
    2828        ar & BOOST_SERIALIZATION_NVP( stopStep );
    2929    }
     30
     31    LoggerSetting(LoggerSetting const&);
     32    LoggerSetting operator =(LoggerSetting const&);
    3033};
    3134
Note: See TracChangeset for help on using the changeset viewer.