Changeset 429 in dev for trunk/abdev


Ignore:
Timestamp:
Mar 11, 2008, 4:01:03 PM (17 years ago)
Author:
dai_9181
Message:

PareOrBracket列挙型を導入。

Location:
trunk/abdev
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/NumOpe.cpp

    r415 r429  
    249249    char methodName[VN_SIZE], lpPtrOffset[VN_SIZE], parameter[VN_SIZE], dummy[1];
    250250    ReferenceKind refType;
    251     bool isParameterInBracket = false;
     251    PareOrBracket pareOrBracket = None;
    252252    lstrcpy( methodName, member );
    253     GetVarFormatString( methodName, parameter, lpPtrOffset, dummy, refType, &isParameterInBracket );
     253    GetVarFormatString( methodName, parameter, lpPtrOffset, dummy, refType, &pareOrBracket );
    254254
    255255    objClass.EnumDynamicMethodsOrInterfaceMethods( methodName, userProcs );
     
    264264                && parameter[0]                             // 実引数は1つ以上
    265265                && pUserProc->ReturnType().IsObject()       // 戻り値がクラス型の場合
    266                 && isParameterInBracket )                   // 実引数は[]で囲まれている
     266                && pareOrBracket == Bracket )               // 実引数は[]で囲まれている
    267267            {
    268268                // プロパティ値として返ってきたオブジェクトインスタンスのインデクサを呼び出す
     
    317317           
    318318            return true;
     319        }
     320    }
     321    else if( pareOrBracket == Pare )
     322    {
     323        // 関数ポインタ
     324        SetError();
     325
     326        ///////////////////////////////////////////////////////////////////
     327        // メンバを検索
     328        ///////////////////////////////////////////////////////////////////
     329        if( GetMemberType( leftType, methodName, resultType, 0, false ) ){
     330            // メンバが見つかったとき
    319331        }
    320332    }
  • trunk/abdev/BasicCompiler_Common/VariableOpe.cpp

    r409 r429  
    290290
    291291
    292 BOOL GetVarFormatString( char *buffer,char *array,char *array2,char *NestMember,ReferenceKind &refType, bool *pIsParameterInBracket ){
     292BOOL GetVarFormatString( char *buffer,char *array,char *array2,char *NestMember,ReferenceKind &refType, PareOrBracket *pPareOrBracket ){
    293293    extern int cp;
    294294    int i,i2,i3;
     
    318318            }
    319319
    320             if( pIsParameterInBracket )
     320            if( pPareOrBracket )
    321321            {
    322322                // []なのか、()なのかを伝える
    323323                if( cPare_Open == '[' )
    324324                {
    325                     *pIsParameterInBracket = true;
     325                    *pPareOrBracket = Bracket;
    326326                }
    327327                else
    328328                {
    329                     *pIsParameterInBracket = false;
     329                    *pPareOrBracket = Pare;
    330330                }
    331331            }
  • trunk/abdev/BasicCompiler_Common/VariableOpe.h

    r403 r429  
    33class Type;
    44class CClass;
     5
     6enum PareOrBracket
     7{
     8    None = 0,
     9    Pare,           // (...)
     10    Bracket,        // [...]
     11};
    512
    613BOOL IsPtrType(int type);
     
    1623Type GetStringTypeInfo();
    1724void GetWithName(char *buffer);
    18 BOOL GetVarFormatString(char *buffer,char *array,char *array2,char *NestMember, ReferenceKind &refType, bool *pIsParameterInBracket = NULL );
     25BOOL GetVarFormatString(char *buffer,char *array,char *array2,char *NestMember, ReferenceKind &refType, PareOrBracket *pPareOrBracket = NULL );
    1926void GetArrayElement( const char *buffer,char *variable,char *array_element);
    2027BOOL CheckVarNameError(char *name,int nowLine);
Note: See TracChangeset for help on using the changeset viewer.