Ignore:
Timestamp:
Sep 28, 2007, 3:27:35 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Type.cpp

    r332 r335  
    512512        if( pUserProc )
    513513        {
    514             // 基底クラスでの自己解決
    515             const CClass *pClass = &classType.GetClass();
    516             while( pClass->HasSuperClass() )
     514            if( classType.IsObject() )
    517515            {
    518                 if( pUserProc->GetParentClassPtr() == &pClass->GetSuperClass() )
     516                // 基底クラスでの自己解決
     517                const CClass *pClass = &classType.GetClass();
     518                while( pClass->HasSuperClass() )
    519519                {
    520                     if( pClass->GetSuperClassActualTypeParameters().size() )
     520                    if( pUserProc->GetParentClassPtr() == &pClass->GetSuperClass() )
    521521                    {
    522                         // TODO: 適切な形に実装し直す(暫定的にトップの型を持ってきている)
    523                         typeParameter = pClass->GetSuperClassActualTypeParameters()[0];
     522                        if( pClass->GetSuperClassActualTypeParameters().size() )
     523                        {
     524                            // TODO: 適切な形に実装し直す(暫定的にトップの型を持ってきている)
     525                            typeParameter = pClass->GetSuperClassActualTypeParameters()[0];
     526                        }
    524527                    }
     528                    pClass = &pClass->GetSuperClass();
    525529                }
    526                 pClass = &pClass->GetSuperClass();
    527530            }
    528531        }
Note: See TracChangeset for help on using the changeset viewer.