summaryrefslogtreecommitdiff
path: root/AspectC++/ClangASTConsumer.cc
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2021-02-07 14:42:31 -0500
committerReinhard Tartler <siretart@tauware.de>2021-02-07 14:42:31 -0500
commit767449b5d9d9d8c41cc648d1f4f7c27cb4b9116f (patch)
tree536b79e85d82d799c0d17eb4977e071e31d3c6f3 /AspectC++/ClangASTConsumer.cc
parent9b45eec8ae8f4b9af2c4bb5e3c89a17e13cc4db6 (diff)
New upstream version 2.2+git20210207
Diffstat (limited to 'AspectC++/ClangASTConsumer.cc')
-rw-r--r--AspectC++/ClangASTConsumer.cc75
1 files changed, 19 insertions, 56 deletions
diff --git a/AspectC++/ClangASTConsumer.cc b/AspectC++/ClangASTConsumer.cc
index d6c10ff..69a63e5 100644
--- a/AspectC++/ClangASTConsumer.cc
+++ b/AspectC++/ClangASTConsumer.cc
@@ -100,17 +100,14 @@ bool ClangASTConsumer::VisitType(clang::Type *Ty) {
if (CXXRecordDecl *RD = Ty->getAsCXXRecordDecl())
if (ClassTemplateSpecializationDecl *CTSD =
dyn_cast<ClassTemplateSpecializationDecl>(RD))
-#if CLANG_VERSION_NUMBER <= VERSION_NUMBER_3_5_2
- if (!_parent_map.count(CTSD) && _seen_specs.insert(CTSD))
-#else // C++ 11 interface
if (!_parent_map.count(CTSD) && _seen_specs.insert(CTSD).second)
-#endif
return TraverseCXXRecordDecl(CTSD);
return true;
}
bool ClangASTConsumer::VisitNamespaceDecl(NamespaceDecl *D) {
+
ACM_Name *parent = _parent_map[D->getDeclContext()];
TU_Namespace *nameSp = _model.register_namespace(D, parent);
_parent_map[D] = nameSp;
@@ -184,8 +181,6 @@ bool ClangASTConsumer::VisitFunctionDecl(FunctionDecl *D) {
}
bool ClangASTConsumer::VisitVarDecl( VarDecl *VD ) {
-// cout << "DUMP VarDecl " << VD->getNameAsString () << endl;
-// VD->dump();
// if this is an injected variable that represents an argument of an
// annotation, handle it accordingly
@@ -443,10 +438,10 @@ bool ClangASTConsumer::TraverseImplicitCastExpr( clang::ImplicitCastExpr *ICE )
bool ClangASTConsumer::TraverseUnaryAddrOf( clang::UnaryOperator *UO ) {
if( !_expr_stack.considerSubtree() )
- return RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryAddrOf( UO );
+ return RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryOperator( UO );
if( ! _model.conf().data_joinpoints() ) {
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryAddrOf( UO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryOperator( UO );
handle_built_in_operator_traverse( UO );
return result;
}
@@ -454,7 +449,7 @@ bool ClangASTConsumer::TraverseUnaryAddrOf( clang::UnaryOperator *UO ) {
SingleRefContext ctx( *this, UO, UO->getSubExpr() );
_expr_stack.push( ctx );
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryAddrOf( UO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryOperator( UO );
TU_Builtin *op = handle_built_in_operator_traverse( UO );
if( op )
@@ -487,10 +482,10 @@ bool ClangASTConsumer::TraverseReturnStmt( clang::ReturnStmt *RS ) {
bool ClangASTConsumer::TraverseUnaryDeref( clang::UnaryOperator *UO ) {
if( !_expr_stack.considerSubtree() )
- return RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryDeref( UO );
+ return RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryOperator( UO );
if( ! _model.conf().data_joinpoints() ) {
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryDeref( UO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryOperator( UO );
handle_built_in_operator_traverse( UO );
return result;
}
@@ -498,7 +493,7 @@ bool ClangASTConsumer::TraverseUnaryDeref( clang::UnaryOperator *UO ) {
DummyContext ctx( *this );
_expr_stack.push( ctx );
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryDeref( UO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseUnaryOperator( UO );
handle_built_in_operator_traverse( UO );
assert( &_expr_stack.peek() == &ctx );
@@ -518,10 +513,10 @@ bool ClangASTConsumer::TraverseUnaryDeref( clang::UnaryOperator *UO ) {
bool ClangASTConsumer::TraverseBinComma( clang::BinaryOperator *BO ) {
if( !_expr_stack.considerSubtree() )
- return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinComma( BO );
+ return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
if( ! _model.conf().data_joinpoints() ) {
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinComma( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
// disable short-circuit evalaluating operator
// handle_built_in_operator_traverse( BO );
return result;
@@ -530,7 +525,7 @@ bool ClangASTConsumer::TraverseBinComma( clang::BinaryOperator *BO ) {
BinaryForwardContext ctx( *this, BO->getLHS(), BO->getRHS(), BinaryForwardContext::SEI_RHS );
_expr_stack.push( ctx );
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinComma( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
// disable left-to-right evalaluating operator
// handle_built_in_operator_traverse( BO );
@@ -542,10 +537,10 @@ bool ClangASTConsumer::TraverseBinComma( clang::BinaryOperator *BO ) {
bool ClangASTConsumer::TraverseBinAssign( clang::BinaryOperator *BO ) {
if( !_expr_stack.considerSubtree() )
- return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinAssign( BO );
+ return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
if( ! _model.conf().data_joinpoints() ) {
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinAssign( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
handle_built_in_operator_traverse( BO );
return result;
}
@@ -553,7 +548,7 @@ bool ClangASTConsumer::TraverseBinAssign( clang::BinaryOperator *BO ) {
AssignmentContext ctx( *this, BO );
_expr_stack.push( ctx );
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinAssign( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
TU_Builtin *op = handle_built_in_operator_traverse( BO );
if( op )
@@ -566,24 +561,12 @@ bool ClangASTConsumer::TraverseBinAssign( clang::BinaryOperator *BO ) {
return result;
}
-#if FRONTEND_CLANG < 38
-bool ClangASTConsumer::hookTraverseCompoundAssign( FwdCall_CAssign fwd, clang::CompoundAssignOperator *CAO ) {
-#else
bool ClangASTConsumer::hookTraverseCompoundAssign( FwdCall_CAssign fwd, clang::CompoundAssignOperator *CAO, DataRecursionQueue *Q ) {
-#endif
if( !_expr_stack.considerSubtree() )
-#if FRONTEND_CLANG < 38
- return (this->*fwd)( CAO );
-#else
return (this->*fwd)( CAO, Q );
-#endif
if( ! _model.conf().data_joinpoints() ) {
-#if FRONTEND_CLANG < 38
- bool result = (this->*fwd)( CAO );
-#else
bool result = (this->*fwd)( CAO, Q );
-#endif
handle_built_in_operator_traverse( CAO );
return result;
}
@@ -591,11 +574,7 @@ bool ClangASTConsumer::hookTraverseCompoundAssign( FwdCall_CAssign fwd, clang::C
AssignmentContext ctx( *this, CAO );
_expr_stack.push( ctx );
-#if FRONTEND_CLANG < 38
- bool result = (this->*fwd)( CAO );
-#else
bool result = (this->*fwd)( CAO, Q );
-#endif
TU_Builtin *op = handle_built_in_operator_traverse( CAO );
if( op )
@@ -608,24 +587,12 @@ bool ClangASTConsumer::hookTraverseCompoundAssign( FwdCall_CAssign fwd, clang::C
return result;
}
-#if FRONTEND_CLANG < 38
-bool ClangASTConsumer::hookTraversePrePost( FwdCall_PrePost fwd, clang::UnaryOperator *UO ) {
-#else
bool ClangASTConsumer::hookTraversePrePost( FwdCall_PrePost fwd, clang::UnaryOperator *UO, DataRecursionQueue *Q ) {
-#endif
if( !_expr_stack.considerSubtree() )
-#if FRONTEND_CLANG < 38
- return (this->*fwd)( UO );
-#else
return (this->*fwd)( UO, Q );
-#endif
if( ! _model.conf().data_joinpoints() ) {
-#if FRONTEND_CLANG < 38
- bool result = (this->*fwd)( UO );
-#else
bool result = (this->*fwd)( UO, Q );
-#endif
handle_built_in_operator_traverse( UO );
return result;
}
@@ -633,11 +600,7 @@ bool ClangASTConsumer::hookTraversePrePost( FwdCall_PrePost fwd, clang::UnaryOpe
AssignmentContext ctx( *this, UO );
_expr_stack.push( ctx );
-#if FRONTEND_CLANG < 38
- bool result = (this->*fwd)( UO );
-#else
bool result = (this->*fwd)( UO, Q );
-#endif
TU_Builtin *op = handle_built_in_operator_traverse( UO );
if( op )
@@ -675,10 +638,10 @@ bool ClangASTConsumer::TraverseConditionalOperator( clang::ConditionalOperator*
bool ClangASTConsumer::TraverseBinPtrMemD( clang::BinaryOperator *BO ) {
if( !_expr_stack.considerSubtree() )
- return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinPtrMemD( BO );
+ return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
if( ! _model.conf().data_joinpoints() ) {
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinPtrMemD( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
handle_built_in_operator_traverse( BO );
return result;
}
@@ -686,7 +649,7 @@ bool ClangASTConsumer::TraverseBinPtrMemD( clang::BinaryOperator *BO ) {
DummyContext ctx( *this );
_expr_stack.push( ctx );
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinPtrMemD( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
handle_built_in_operator_traverse( BO );
assert( &_expr_stack.peek() == &ctx );
@@ -697,10 +660,10 @@ bool ClangASTConsumer::TraverseBinPtrMemD( clang::BinaryOperator *BO ) {
bool ClangASTConsumer::TraverseBinPtrMemI( clang::BinaryOperator *BO ) {
if( !_expr_stack.considerSubtree() )
- return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinPtrMemI( BO );
+ return RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
if( ! _model.conf().data_joinpoints() ) {
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinPtrMemI( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
handle_built_in_operator_traverse( BO );
return result;
}
@@ -708,7 +671,7 @@ bool ClangASTConsumer::TraverseBinPtrMemI( clang::BinaryOperator *BO ) {
DummyContext ctx( *this );
_expr_stack.push( ctx );
- bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinPtrMemI( BO );
+ bool result = RecursiveASTVisitor<ClangASTConsumer>::TraverseBinaryOperator( BO );
handle_built_in_operator_traverse( BO );
assert( &_expr_stack.peek() == &ctx );