Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes
CppImport::ExpressionVisitor Class Reference

The expression visitor translates clang expression to envision expression. More...

Inheritance diagram for CppImport::ExpressionVisitor:

Public Member Functions

 ExpressionVisitor (ClangAstVisitor *visitor, ClangHelpers &clang, CppImportLogger *log)
 
void setUtilities (CppImportUtilities *utils)
 This function should be called directly after instantiating this visitor. More...
 
QList< OOModel::Expression * > translateArguments (clang::Expr **arguments, int numArguments)
 
OOModel::ExpressiontranslateExpression (clang::Stmt *s)
 Translates the expression s. More...
 
bool TraverseArraySubscriptExpr (clang::ArraySubscriptExpr *arraySubsrciptExpr)
 
bool TraverseBinAdd (clang::BinaryOperator *binOp)
 
bool TraverseBinAddAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinAnd (clang::BinaryOperator *binOp)
 
bool TraverseBinAndAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinAssign (clang::BinaryOperator *binOp)
 
bool TraverseBinComma (clang::BinaryOperator *binOp)
 
bool TraverseBinDiv (clang::BinaryOperator *binOp)
 
bool TraverseBinDivAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinEQ (clang::BinaryOperator *binOp)
 
bool TraverseBinGE (clang::BinaryOperator *binOp)
 
bool TraverseBinGT (clang::BinaryOperator *binOp)
 
bool TraverseBinLAnd (clang::BinaryOperator *binOp)
 
bool TraverseBinLE (clang::BinaryOperator *binOp)
 
bool TraverseBinLOr (clang::BinaryOperator *binOp)
 
bool TraverseBinLT (clang::BinaryOperator *binOp)
 
bool TraverseBinMul (clang::BinaryOperator *binOp)
 
bool TraverseBinMulAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinNE (clang::BinaryOperator *binOp)
 
bool TraverseBinOr (clang::BinaryOperator *binOp)
 
bool TraverseBinOrAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinPtrMemD (clang::BinaryOperator *binOp)
 
bool TraverseBinPtrMemI (clang::BinaryOperator *binOp)
 
bool TraverseBinRem (clang::BinaryOperator *binOp)
 
bool TraverseBinRemAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinShlAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinShrAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinSub (clang::BinaryOperator *binOp)
 
bool TraverseBinSubAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseBinXor (clang::BinaryOperator *binOp)
 
bool TraverseBinXorAssign (clang::CompoundAssignOperator *binOp)
 
bool TraverseCallExpr (clang::CallExpr *callExpr)
 
bool TraverseCharacterLiteral (clang::CharacterLiteral *charLiteral)
 
bool TraverseConditionalOperator (clang::ConditionalOperator *conditionalOperator)
 
bool TraverseCStyleCastExpr (clang::CStyleCastExpr *castExpr)
 
bool TraverseCXXBoolLiteralExpr (clang::CXXBoolLiteralExpr *boolLitExpr)
 
bool TraverseCXXConstCastExpr (clang::CXXConstCastExpr *castExpr)
 
bool TraverseCXXConstructExpr (clang::CXXConstructExpr *constructExpr)
 
bool TraverseCXXDeleteExpr (clang::CXXDeleteExpr *deleteExpr)
 
bool TraverseCXXDependentScopeMemberExpr (clang::CXXDependentScopeMemberExpr *dependentScopeMember)
 
bool TraverseCXXDynamicCastExpr (clang::CXXDynamicCastExpr *castExpr)
 
bool TraverseCXXFunctionalCastExpr (clang::CXXFunctionalCastExpr *castExpr)
 
bool TraverseCXXMemberCallExpr (clang::CXXMemberCallExpr *callExpr)
 
bool TraverseCXXNewExpr (clang::CXXNewExpr *newExpr)
 
bool TraverseCXXNullPtrLiteralExpr (clang::CXXNullPtrLiteralExpr *)
 
bool TraverseCXXOperatorCallExpr (clang::CXXOperatorCallExpr *callExpr)
 
bool TraverseCXXReinterpretCastExpr (clang::CXXReinterpretCastExpr *castExpr)
 
bool TraverseCXXStaticCastExpr (clang::CXXStaticCastExpr *castExpr)
 
bool TraverseCXXTemporaryObjectExpr (clang::CXXTemporaryObjectExpr *tempObjectExpr)
 
bool TraverseCXXThisExpr (clang::CXXThisExpr *thisExpr)
 
bool TraverseCXXThrowExpr (clang::CXXThrowExpr *throwExpr)
 
bool TraverseCXXTypeidExpr (clang::CXXTypeidExpr *typeIdExpr)
 
bool TraverseCXXUnresolvedConstructExpr (clang::CXXUnresolvedConstructExpr *unresolvedConstruct)
 
bool TraverseDeclRefExpr (clang::DeclRefExpr *declRefExpr)
 
bool TraverseDependentScopeDeclRefExpr (clang::DependentScopeDeclRefExpr *dependentScope)
 
bool TraverseFloatingLiteral (clang::FloatingLiteral *floatLiteral)
 
bool TraverseInitListExpr (clang::InitListExpr *initListExpr)
 
bool TraverseIntegerLiteral (clang::IntegerLiteral *intLit)
 
bool TraverseLambdaExpr (clang::LambdaExpr *lambdaExpr)
 
bool TraverseMemberExpr (clang::MemberExpr *memberExpr)
 
bool TraverseParenExpr (clang::ParenExpr *parenthesizedExpr)
 
bool TraverseStmt (clang::Stmt *S)
 
bool TraverseStringLiteral (clang::StringLiteral *stringLiteral)
 
bool TraverseUnaryAddrOf (clang::UnaryOperator *uOp)
 
bool TraverseUnaryDeref (clang::UnaryOperator *uOp)
 
bool TraverseUnaryExprOrTypeTraitExpr (clang::UnaryExprOrTypeTraitExpr *typeTrait)
 
bool TraverseUnaryExtension (clang::UnaryOperator *uOp)
 
bool TraverseUnaryImag (clang::UnaryOperator *uOp)
 
bool TraverseUnaryLNot (clang::UnaryOperator *uOp)
 
bool TraverseUnaryMinus (clang::UnaryOperator *uOp)
 
bool TraverseUnaryNot (clang::UnaryOperator *uOp)
 
bool TraverseUnaryPlus (clang::UnaryOperator *uOp)
 
bool TraverseUnaryPostDec (clang::UnaryOperator *uOp)
 
bool TraverseUnaryPostInc (clang::UnaryOperator *uOp)
 
bool TraverseUnaryPreDec (clang::UnaryOperator *uOp)
 
bool TraverseUnaryPreInc (clang::UnaryOperator *uOp)
 
bool TraverseUnaryReal (clang::UnaryOperator *uOp)
 
bool TraverseUnresolvedMemberExpr (clang::UnresolvedMemberExpr *unresolvedMember)
 
bool VisitExpr (clang::Expr *e)
 
bool WalkUpFromOverloadExpr (clang::OverloadExpr *overloadExpr)
 

Public Attributes

ClangAstVisitorbaseVisitor_ {}
 

Private Types

using Base = clang::RecursiveASTVisitor< ExpressionVisitor >
 

Private Member Functions

OOModel::ReferenceExpressioncreateQualifiedReferenceWithTemplateArguments (clang::SourceRange sourceRange, const clang::NestedNameSpecifierLoc qualifier, const clang::TemplateArgumentLoc *templateArgs=nullptr, unsigned numTArgs=0, clang::Expr *base=nullptr)
 Abstracts common code between all kinds of MemberExpr and DeclRefExpr. More...
 
bool TraverseAssignment (clang::BinaryOperator *binaryOperator)
 Helper Function for all assign operations as clang has for each operator an own Traverse method. More...
 
bool TraverseBinaryOp (clang::BinaryOperator *binaryOperator)
 Helper Function for all binary operations as clang has for each operator an own Traverse method. More...
 
bool TraverseExplCastExpr (clang::ExplicitCastExpr *castExpr, OOModel::CastExpression::CastKind kind)
 Helper Function for all kind of casts. More...
 
bool TraverseUnaryOp (clang::UnaryOperator *unaryOperator)
 Helper Function for all unary operations as clang has for each operator an own Traverse method. More...
 

Private Attributes

ClangHelpersclang_
 
const QString className_ {"ExpressionVisitor"}
 
CppImportLoggerlog_ {}
 
QStack< OOModel::Expression * > ooExprStack_
 
CppImportUtilitiesutils_ {}
 

Detailed Description

The expression visitor translates clang expression to envision expression.

The way to interact it with it is to call TraverseStmt(someExpr) and then get the translated expression with the getLastExpression method

Member Typedef Documentation

◆ Base

using CppImport::ExpressionVisitor::Base = clang::RecursiveASTVisitor<ExpressionVisitor>
private

Constructor & Destructor Documentation

◆ ExpressionVisitor()

CppImport::ExpressionVisitor::ExpressionVisitor ( ClangAstVisitor visitor,
ClangHelpers clang,
CppImportLogger log 
)

Member Function Documentation

◆ createQualifiedReferenceWithTemplateArguments()

OOModel::ReferenceExpression * CppImport::ExpressionVisitor::createQualifiedReferenceWithTemplateArguments ( clang::SourceRange  sourceRange,
const clang::NestedNameSpecifierLoc  qualifier,
const clang::TemplateArgumentLoc *  templateArgs = nullptr,
unsigned  numTArgs = 0,
clang::Expr *  base = nullptr 
)
private

Abstracts common code between all kinds of MemberExpr and DeclRefExpr.

Creates a reference expression with the name specified and sets prefixes and type arguments if specified.

◆ setUtilities()

void CppImport::ExpressionVisitor::setUtilities ( CppImportUtilities utils)

This function should be called directly after instantiating this visitor.

The two classes have a dependency on each other.

◆ translateArguments()

QList< OOModel::Expression * > CppImport::ExpressionVisitor::translateArguments ( clang::Expr **  arguments,
int  numArguments 
)

◆ translateExpression()

OOModel::Expression * CppImport::ExpressionVisitor::translateExpression ( clang::Stmt *  s)

Translates the expression s.

Note that s should be an expression it is only declared as stmt for ease of use. Returns the translated expression or an error expression if it could not translate it.

◆ TraverseArraySubscriptExpr()

bool CppImport::ExpressionVisitor::TraverseArraySubscriptExpr ( clang::ArraySubscriptExpr *  arraySubsrciptExpr)

◆ TraverseAssignment()

bool CppImport::ExpressionVisitor::TraverseAssignment ( clang::BinaryOperator *  binaryOperator)
private

Helper Function for all assign operations as clang has for each operator an own Traverse method.

◆ TraverseBinAdd()

bool CppImport::ExpressionVisitor::TraverseBinAdd ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinAddAssign()

bool CppImport::ExpressionVisitor::TraverseBinAddAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinAnd()

bool CppImport::ExpressionVisitor::TraverseBinAnd ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinAndAssign()

bool CppImport::ExpressionVisitor::TraverseBinAndAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinaryOp()

bool CppImport::ExpressionVisitor::TraverseBinaryOp ( clang::BinaryOperator *  binaryOperator)
private

Helper Function for all binary operations as clang has for each operator an own Traverse method.

◆ TraverseBinAssign()

bool CppImport::ExpressionVisitor::TraverseBinAssign ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinComma()

bool CppImport::ExpressionVisitor::TraverseBinComma ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinDiv()

bool CppImport::ExpressionVisitor::TraverseBinDiv ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinDivAssign()

bool CppImport::ExpressionVisitor::TraverseBinDivAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinEQ()

bool CppImport::ExpressionVisitor::TraverseBinEQ ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinGE()

bool CppImport::ExpressionVisitor::TraverseBinGE ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinGT()

bool CppImport::ExpressionVisitor::TraverseBinGT ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinLAnd()

bool CppImport::ExpressionVisitor::TraverseBinLAnd ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinLE()

bool CppImport::ExpressionVisitor::TraverseBinLE ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinLOr()

bool CppImport::ExpressionVisitor::TraverseBinLOr ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinLT()

bool CppImport::ExpressionVisitor::TraverseBinLT ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinMul()

bool CppImport::ExpressionVisitor::TraverseBinMul ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinMulAssign()

bool CppImport::ExpressionVisitor::TraverseBinMulAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinNE()

bool CppImport::ExpressionVisitor::TraverseBinNE ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinOr()

bool CppImport::ExpressionVisitor::TraverseBinOr ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinOrAssign()

bool CppImport::ExpressionVisitor::TraverseBinOrAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinPtrMemD()

bool CppImport::ExpressionVisitor::TraverseBinPtrMemD ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinPtrMemI()

bool CppImport::ExpressionVisitor::TraverseBinPtrMemI ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinRem()

bool CppImport::ExpressionVisitor::TraverseBinRem ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinRemAssign()

bool CppImport::ExpressionVisitor::TraverseBinRemAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinShlAssign()

bool CppImport::ExpressionVisitor::TraverseBinShlAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinShrAssign()

bool CppImport::ExpressionVisitor::TraverseBinShrAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinSub()

bool CppImport::ExpressionVisitor::TraverseBinSub ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinSubAssign()

bool CppImport::ExpressionVisitor::TraverseBinSubAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseBinXor()

bool CppImport::ExpressionVisitor::TraverseBinXor ( clang::BinaryOperator *  binOp)
inline

◆ TraverseBinXorAssign()

bool CppImport::ExpressionVisitor::TraverseBinXorAssign ( clang::CompoundAssignOperator *  binOp)
inline

◆ TraverseCallExpr()

bool CppImport::ExpressionVisitor::TraverseCallExpr ( clang::CallExpr *  callExpr)

◆ TraverseCharacterLiteral()

bool CppImport::ExpressionVisitor::TraverseCharacterLiteral ( clang::CharacterLiteral *  charLiteral)

◆ TraverseConditionalOperator()

bool CppImport::ExpressionVisitor::TraverseConditionalOperator ( clang::ConditionalOperator *  conditionalOperator)

◆ TraverseCStyleCastExpr()

bool CppImport::ExpressionVisitor::TraverseCStyleCastExpr ( clang::CStyleCastExpr *  castExpr)
inline

◆ TraverseCXXBoolLiteralExpr()

bool CppImport::ExpressionVisitor::TraverseCXXBoolLiteralExpr ( clang::CXXBoolLiteralExpr *  boolLitExpr)

◆ TraverseCXXConstCastExpr()

bool CppImport::ExpressionVisitor::TraverseCXXConstCastExpr ( clang::CXXConstCastExpr *  castExpr)
inline

◆ TraverseCXXConstructExpr()

bool CppImport::ExpressionVisitor::TraverseCXXConstructExpr ( clang::CXXConstructExpr *  constructExpr)

◆ TraverseCXXDeleteExpr()

bool CppImport::ExpressionVisitor::TraverseCXXDeleteExpr ( clang::CXXDeleteExpr *  deleteExpr)

◆ TraverseCXXDependentScopeMemberExpr()

bool CppImport::ExpressionVisitor::TraverseCXXDependentScopeMemberExpr ( clang::CXXDependentScopeMemberExpr *  dependentScopeMember)

◆ TraverseCXXDynamicCastExpr()

bool CppImport::ExpressionVisitor::TraverseCXXDynamicCastExpr ( clang::CXXDynamicCastExpr *  castExpr)
inline

◆ TraverseCXXFunctionalCastExpr()

bool CppImport::ExpressionVisitor::TraverseCXXFunctionalCastExpr ( clang::CXXFunctionalCastExpr *  castExpr)
inline

◆ TraverseCXXMemberCallExpr()

bool CppImport::ExpressionVisitor::TraverseCXXMemberCallExpr ( clang::CXXMemberCallExpr *  callExpr)

◆ TraverseCXXNewExpr()

bool CppImport::ExpressionVisitor::TraverseCXXNewExpr ( clang::CXXNewExpr *  newExpr)

◆ TraverseCXXNullPtrLiteralExpr()

bool CppImport::ExpressionVisitor::TraverseCXXNullPtrLiteralExpr ( clang::CXXNullPtrLiteralExpr *  nullLitExpr)

◆ TraverseCXXOperatorCallExpr()

bool CppImport::ExpressionVisitor::TraverseCXXOperatorCallExpr ( clang::CXXOperatorCallExpr *  callExpr)

◆ TraverseCXXReinterpretCastExpr()

bool CppImport::ExpressionVisitor::TraverseCXXReinterpretCastExpr ( clang::CXXReinterpretCastExpr *  castExpr)
inline

◆ TraverseCXXStaticCastExpr()

bool CppImport::ExpressionVisitor::TraverseCXXStaticCastExpr ( clang::CXXStaticCastExpr *  castExpr)
inline

◆ TraverseCXXTemporaryObjectExpr()

bool CppImport::ExpressionVisitor::TraverseCXXTemporaryObjectExpr ( clang::CXXTemporaryObjectExpr *  tempObjectExpr)

◆ TraverseCXXThisExpr()

bool CppImport::ExpressionVisitor::TraverseCXXThisExpr ( clang::CXXThisExpr *  thisExpr)

◆ TraverseCXXThrowExpr()

bool CppImport::ExpressionVisitor::TraverseCXXThrowExpr ( clang::CXXThrowExpr *  throwExpr)

◆ TraverseCXXTypeidExpr()

bool CppImport::ExpressionVisitor::TraverseCXXTypeidExpr ( clang::CXXTypeidExpr *  typeIdExpr)

◆ TraverseCXXUnresolvedConstructExpr()

bool CppImport::ExpressionVisitor::TraverseCXXUnresolvedConstructExpr ( clang::CXXUnresolvedConstructExpr *  unresolvedConstruct)

◆ TraverseDeclRefExpr()

bool CppImport::ExpressionVisitor::TraverseDeclRefExpr ( clang::DeclRefExpr *  declRefExpr)

◆ TraverseDependentScopeDeclRefExpr()

bool CppImport::ExpressionVisitor::TraverseDependentScopeDeclRefExpr ( clang::DependentScopeDeclRefExpr *  dependentScope)

◆ TraverseExplCastExpr()

bool CppImport::ExpressionVisitor::TraverseExplCastExpr ( clang::ExplicitCastExpr *  castExpr,
OOModel::CastExpression::CastKind  kind 
)
private

Helper Function for all kind of casts.

◆ TraverseFloatingLiteral()

bool CppImport::ExpressionVisitor::TraverseFloatingLiteral ( clang::FloatingLiteral *  floatLiteral)

◆ TraverseInitListExpr()

bool CppImport::ExpressionVisitor::TraverseInitListExpr ( clang::InitListExpr *  initListExpr)

◆ TraverseIntegerLiteral()

bool CppImport::ExpressionVisitor::TraverseIntegerLiteral ( clang::IntegerLiteral *  intLit)

◆ TraverseLambdaExpr()

bool CppImport::ExpressionVisitor::TraverseLambdaExpr ( clang::LambdaExpr *  lambdaExpr)

◆ TraverseMemberExpr()

bool CppImport::ExpressionVisitor::TraverseMemberExpr ( clang::MemberExpr *  memberExpr)

◆ TraverseParenExpr()

bool CppImport::ExpressionVisitor::TraverseParenExpr ( clang::ParenExpr *  parenthesizedExpr)

◆ TraverseStmt()

bool CppImport::ExpressionVisitor::TraverseStmt ( clang::Stmt *  S)

◆ TraverseStringLiteral()

bool CppImport::ExpressionVisitor::TraverseStringLiteral ( clang::StringLiteral *  stringLiteral)

◆ TraverseUnaryAddrOf()

bool CppImport::ExpressionVisitor::TraverseUnaryAddrOf ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryDeref()

bool CppImport::ExpressionVisitor::TraverseUnaryDeref ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryExprOrTypeTraitExpr()

bool CppImport::ExpressionVisitor::TraverseUnaryExprOrTypeTraitExpr ( clang::UnaryExprOrTypeTraitExpr *  typeTrait)

◆ TraverseUnaryExtension()

bool CppImport::ExpressionVisitor::TraverseUnaryExtension ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryImag()

bool CppImport::ExpressionVisitor::TraverseUnaryImag ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryLNot()

bool CppImport::ExpressionVisitor::TraverseUnaryLNot ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryMinus()

bool CppImport::ExpressionVisitor::TraverseUnaryMinus ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryNot()

bool CppImport::ExpressionVisitor::TraverseUnaryNot ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryOp()

bool CppImport::ExpressionVisitor::TraverseUnaryOp ( clang::UnaryOperator *  unaryOperator)
private

Helper Function for all unary operations as clang has for each operator an own Traverse method.

◆ TraverseUnaryPlus()

bool CppImport::ExpressionVisitor::TraverseUnaryPlus ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryPostDec()

bool CppImport::ExpressionVisitor::TraverseUnaryPostDec ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryPostInc()

bool CppImport::ExpressionVisitor::TraverseUnaryPostInc ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryPreDec()

bool CppImport::ExpressionVisitor::TraverseUnaryPreDec ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryPreInc()

bool CppImport::ExpressionVisitor::TraverseUnaryPreInc ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnaryReal()

bool CppImport::ExpressionVisitor::TraverseUnaryReal ( clang::UnaryOperator *  uOp)
inline

◆ TraverseUnresolvedMemberExpr()

bool CppImport::ExpressionVisitor::TraverseUnresolvedMemberExpr ( clang::UnresolvedMemberExpr *  unresolvedMember)

◆ VisitExpr()

bool CppImport::ExpressionVisitor::VisitExpr ( clang::Expr *  e)

◆ WalkUpFromOverloadExpr()

bool CppImport::ExpressionVisitor::WalkUpFromOverloadExpr ( clang::OverloadExpr *  overloadExpr)

Member Data Documentation

◆ baseVisitor_

ClangAstVisitor* CppImport::ExpressionVisitor::baseVisitor_ {}

◆ clang_

ClangHelpers& CppImport::ExpressionVisitor::clang_
private

◆ className_

const QString CppImport::ExpressionVisitor::className_ {"ExpressionVisitor"}
private

◆ log_

CppImportLogger* CppImport::ExpressionVisitor::log_ {}
private

◆ ooExprStack_

QStack<OOModel::Expression*> CppImport::ExpressionVisitor::ooExprStack_
private

◆ utils_

CppImportUtilities* CppImport::ExpressionVisitor::utils_ {}
private