Как получить базовый класс из этого примера с Clang?

Вот очень простой пример кода, и что я хотел бы иметь:

class B{
    // Implementation of class B
};
class D : public B{
    // Implementation of class D
};
int main(){
    try{
        // Code for try statement
    }
    catch(D & d){
        // Handler for D 
    } 
    catch(B & b){
        // Handler for B 
    } 
    return 0; 
} 

В настоящее время я могу получитьCXXRecordDecl класса B и класса D, в обработчиках (я могу получить их изgetCaughtType метод вCXXCatchStmt учебный класс).

То, что я хотел бы сделать, это иметь возможность доступаCXXRecordDecl класса B из класса D, так как мы имеемclass D : public B.

Я пробовал следующие методы, доступные вclass CXXRecordDecl на моемCXXRecordDecl изclass D:

getCanonicalDecl () : возвращает класс DgetInstantiatedFromMemberClass () : возвращаетсяnullptrgetDefinition () : возвращает класс D

У меня сейчас нет идей. У кого-нибудь есть идея?

Ответы на вопрос(1)

Ваш ответ на вопрос