Changeset 173 in dev for trunk/jenga/src/smoothie/Type.cpp


Ignore:
Timestamp:
Jun 20, 2007, 3:38:44 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/jenga/src/smoothie/Type.cpp

    r172 r173  
    9393    // Object型だったとき
    9494    if( typeName == "Object" ){
    95         type.SetType( DEF_OBJECT, pobj_DBClass->GetObjectClassPtr() );
     95        type.SetType( DEF_OBJECT, Smoothie::meta.classes.GetObjectClassPtr() );
    9696        return true;
    9797    }
     
    9999    // String型だったとき
    100100    if( typeName == "String" ){
    101         type.SetType( DEF_OBJECT, pobj_DBClass->GetStringClassPtr() );
     101        type.SetType( DEF_OBJECT, Smoothie::meta.classes.GetStringClassPtr() );
    102102        return true;
    103103    }
     
    114114
    115115    //クラス
    116     const CClass *pobj_c = pobj_DBClass->Find( typeName );
     116    const CClass *pobj_c = Smoothie::meta.classes.Find( typeName );
    117117    if(pobj_c){
    118118        type.pClass = pobj_c;
     
    539539
    540540Type Type::String(){
    541     return Type( DEF_OBJECT, *pobj_DBClass->GetStringClassPtr() );
     541    return Type( DEF_OBJECT, *Smoothie::meta.classes.GetStringClassPtr() );
    542542}*/
    543543
     544int Type::GetBasicTypeFromSimpleName( const char *variable ){
     545    extern char DefIntVari[26],DefSngVari[26],DefStrVari[26],divNum,dsvNum,dStrvNum;
     546    int i;
     547    char name[VN_SIZE];
     548
     549    //構造体メンバの場合を考慮
     550    for(i=lstrlen(variable);i>0;i--){
     551        if(variable[i]=='.'){
     552            i++;
     553            break;
     554        }
     555    }
     556
     557    for(;;i++){
     558        if(variable[i]=='('||variable[i]=='\0'){
     559            name[i]=0;
     560            break;
     561        }
     562        name[i]=variable[i];
     563    }
     564    //変数名から選択
     565    i--;
     566    if(name[i]=='#') return DEF_DOUBLE;
     567    if(name[i]=='!') return DEF_SINGLE;
     568    if(name[i]=='%') return DEF_INTEGER;
     569    return DEF_DOUBLE;
     570}
     571
     572
    544573const string BlittableType::GetCreateStaticMethodFullName() const
    545574{
Note: See TracChangeset for help on using the changeset viewer.