Ignore:
Timestamp:
Jul 21, 2008, 2:25:54 PM (16 years ago)
Author:
dai_9181
Message:
  • コンストラクタ、デストラクタの直接呼出しをエラー扱いにした。
    • コンストラクタ … New演算子にて、呼ばれるものとする。また、コンストラクタの1ステップ目にて、基底クラスのコンストラクタ呼び出しを許可する。
    • デストラクタ … Delete演算子にて呼ばれるものとする。また、デストラクタ内にて、基底クラスのコンストラクタ呼び出しが自動的に行われるものとする。

※まずは32bit版のみ対応。速やかに64bit版にマージすること。

Location:
trunk/ab5.0/abdev/BasicCompiler_Common
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/Subroutine.cpp

    r699 r702  
    106106}
    107107
    108 bool CallProc( int kind, const void *pProc, const char *fullCallName, const char *lpszParms, const Type &baseType, Type &resultType, bool isCallOn )
     108bool CallProc( int kind, const void *pProc, const char *fullCallName, const char *lpszParms, const Type &baseType, Type &resultType, bool isCallOn, int dwCallProcFlags )
    109109{
    110110    //GetSubHash内でエラー提示が行われた場合
     
    144144
    145145        if( isCallOn ){
    146             if( !Opcode_CallProc(lpszParms,pUserProc,0,ObjectName ) ){
     146            if( !Opcode_CallProc(lpszParms,pUserProc,dwCallProcFlags,ObjectName ) ){
    147147                return false;
    148148            }
  • trunk/ab5.0/abdev/BasicCompiler_Common/common.h

    r699 r702  
    349349int GetProc(char *name,void **ppInfo);
    350350void SplitObjectName(const char *name,char *ObjectName, ReferenceKind &referenceFind );
    351 bool CallProc( int kind, const void *pProc, const char *fullCallName, const char *lpszParms, const Type &baseType, Type &resultType, bool isCallOn = true );
     351bool CallProc( int kind, const void *pProc, const char *fullCallName, const char *lpszParms, const Type &baseType, Type &resultType, bool isCallOn = true, int dwCallProcFlags = 0 );
    352352bool CallPropertyMethod( const char *variable, const char *rightSide, Type &resultType);
    353353bool GetReturnTypeOfPropertyMethod( const char *variable, const char *rightSide, Type &resultType );
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/Messenger.cpp

    r687 r702  
    251251    if(errorCode==143) sprintf(msg,"\"%s\" ジェネリクス型に型パラメータが指定されていません。",tempKeyWord);
    252252    if(errorCode==144) sprintf(msg,"Thisの変数ポインタを取得することはできません。",tempKeyWord);
     253    if(errorCode==145) sprintf(msg,"コンストラクタを直接呼び出すことはできません。。",tempKeyWord);
     254    if(errorCode==146) sprintf(msg,"デストラクタを直接呼び出すことはできません。。",tempKeyWord);
    253255
    254256    //Enum関連
Note: See TracChangeset for help on using the changeset viewer.