Changeset 71 in dev for BasicCompiler_Common


Ignore:
Timestamp:
Mar 15, 2007, 5:00:34 AM (17 years ago)
Author:
dai_9181
Message:

Parameter.cpp→ParamImpl.cpp
CParameter→ParamImpl

Type.cpp、Type.hを用意した。

Location:
BasicCompiler_Common
Files:
3 added
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Class.cpp

    r68 r71  
    389389}
    390390
    391 //デフォルト コピーコンストラクタ メソッドを取得
    392 CMethod *CClass::GetCopyConstructorMethod() const
    393 {
    394     if( CopyConstructorMemberSubIndex == -1 ) return NULL;
    395     return methods[CopyConstructorMemberSubIndex];
    396 }
    397 
    398391//デストラクタ メソッドを取得
    399392CMethod *CClass::GetDestructorMethod() const
     
    858851        if(psi->ParmNum==0) fConstructor=1;
    859852
    860         // TODO: 消す
    861         //コピーコンストラクタ
    862         if(psi->ParmNum==1){
    863             if(psi->pParmInfo[0].type==DEF_OBJECT&&
    864                 psi->pParmInfo[0].u.pobj_c==pobj_c) fConstructor=2;
    865         }
    866 
    867853        //強制的にConst修飾子をつける
    868854        isConst = true;
     
    888874    if( fConstructor == 1 )
    889875        pobj_c->ConstructorMemberSubIndex = (int)pobj_c->methods.size();
    890     else if( fConstructor == 2 )
    891         pobj_c->CopyConstructorMemberSubIndex = (int)pobj_c->methods.size();
    892876    else if( bDestructor )
    893877        pobj_c->DestructorMemberSubIndex = (int)pobj_c->methods.size();
     
    10321016
    10331017            pobj_c->ConstructorMemberSubIndex=-1;
    1034             pobj_c->CopyConstructorMemberSubIndex=-1;
    10351018            pobj_c->DestructorMemberSubIndex=-1;
    10361019
     
    11881171
    11891172            pobj_c->ConstructorMemberSubIndex=-1;
    1190             pobj_c->CopyConstructorMemberSubIndex=-1;
    11911173            pobj_c->DestructorMemberSubIndex=-1;
    11921174
  • BasicCompiler_Common/Class.h

    r67 r71  
    7373    std::vector<CMethod *> methods;
    7474    int ConstructorMemberSubIndex;
    75     int CopyConstructorMemberSubIndex;
    7675    int DestructorMemberSubIndex;
    7776
     
    139138    //デフォルト コンストラクタ メソッドを取得
    140139    CMethod *GetConstructorMethod() const;
    141 
    142     //デフォルト コピーコンストラクタ メソッドを取得
    143     CMethod *GetCopyConstructorMethod() const;
    144140
    145141    //デストラクタ メソッドを取得
  • BasicCompiler_Common/Overload.cpp

    r64 r71  
    2424        ////////////////////////
    2525
    26         CParameter *pobj_parameter=0;
     26        ParamImpl *pobj_parameter=0;
    2727
    2828        char MethodName[VN_SIZE];
     
    3737*/
    3838        //パラメータオブジェクトを生成
    39         pobj_parameter=new CParameter(Parameter);
     39        pobj_parameter=new ParamImpl(Parameter);
    4040        if(pReturnTypeInfo) pobj_parameter->SetReturnType(pReturnTypeInfo);
    4141
     
    6565
    6666
    67         CParameter *pobj_Parameter=new CParameter(ppi,ParmNum);
     67        ParamImpl *pobj_Parameter=new ParamImpl(ppi,ParmNum);
    6868        if(pReturnTypeInfo) pobj_Parameter->SetReturnType(pReturnTypeInfo);
    6969
  • BasicCompiler_Common/ParamImpl.cpp

    r70 r71  
    77#endif
    88
    9 CParameter::CParameter(const char *buffer){
     9ParamImpl::ParamImpl(const char *buffer){
    1010    ///////////////////////////
    1111    // パラメータ文字列を整理
     
    6161    ReturnTypeInfo.u.lpIndex=-1;
    6262}
    63 CParameter::CParameter(const PARAMETER_INFO *pParamInfo,const int ParmNum){
     63ParamImpl::ParamImpl(const PARAMETER_INFO *pParamInfo,const int ParmNum){
    6464    int i;
    6565    for(i=0;i<ParmNum;i++){
     
    7373    ReturnTypeInfo.u.lpIndex=-1;
    7474}
    75 CParameter::~CParameter(){
     75ParamImpl::~ParamImpl(){
    7676    int i2;
    7777
     
    8484}
    8585
    86 void CParameter::SetReturnType(TYPEINFO *pTypeInfo){
     86void ParamImpl::SetReturnType(TYPEINFO *pTypeInfo){
    8787    ReturnTypeInfo=*pTypeInfo;
    8888}
    8989
    90 BOOL CParameter::_overload_check(PARAMETER_INFO *ppi,int pi_num,TYPEINFO *pReturnTypeInfo,int overload_level){
     90BOOL ParamImpl::_overload_check(PARAMETER_INFO *ppi,int pi_num,TYPEINFO *pReturnTypeInfo,int overload_level){
    9191    //パラメータを識別してオーバーロードを解決
    9292
     
    143143}
    144144
    145 SUBINFO *CParameter::OverloadSolutionWithReturnType( const char *name, std::vector<SUBINFO *> &subs ){
     145SUBINFO *ParamImpl::OverloadSolutionWithReturnType( const char *name, std::vector<SUBINFO *> &subs ){
    146146    int sw=0;
    147147    SUBINFO *psi;
     
    178178    return psi;
    179179}
    180 SUBINFO *CParameter::OverloadSolution( const char *name, std::vector<SUBINFO *> &subs ){
     180SUBINFO *ParamImpl::OverloadSolution( const char *name, std::vector<SUBINFO *> &subs ){
    181181    int sw=0;
    182182    SUBINFO *psi;
     
    226226}
    227227
    228 BOOL CParameter::ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
     228BOOL ParamImpl::ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum){
    229229    if(ParmsNum>pi_num){
    230230        if(ppi[pi_num-1].type!=DEF_ELLIPSE){
     
    259259}
    260260
    261 void CParameter::MacroParameterSupport(PARAMETER_INFO *ppi){
     261void ParamImpl::MacroParameterSupport(PARAMETER_INFO *ppi){
    262262    int i;
    263263    for(i=0;i<ParmsNum;i++){
  • BasicCompiler_Common/common.h

    r70 r71  
    1111#include <shlobj.h>
    1212#include <vector>
     13#include <string>
    1314
    1415//boost libraries
     
    1617
    1718#define foreach BOOST_FOREACH
     19
     20using namespace std;
    1821
    1922#ifdef _AMD64_
     
    140143
    141144
    142 //クラス管理用のクラス
     145// クラス管理用のクラス
    143146#include "Class.h"
    144147
    145 //列挙体管理用のクラス
     148// 列挙体管理用のクラス
    146149#include "Enum.h"
    147150
    148 //定数管理用のクラス
     151// 定数管理用のクラス
    149152#include "Const.h"
     153
     154// パラメータ管理用のクラス
     155#include "Parameter.h"
     156
    150157
    151158
     
    209216};
    210217
    211 //パラメータ
    212218struct PARAMETER_INFO{
    213219    char *name;
     
    244250    int RealParmNum;
    245251    int RealSecondParmNum;
     252
     253    /*
     254    //パラメータ
     255    Parameters params;
     256    int SecondParmNum;
     257    Parameters realParams;
     258    int RealSecondParmNum;*/
    246259
    247260    //戻り値
Note: See TracChangeset for help on using the changeset viewer.