diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index ac452311fac22948ac9f04695fd96c04ec4544e6..d29342b30a69ee629ecadc08da930376e65bd83d 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -711,6 +711,9 @@ public: SpecifierAST *cv_qualifier_seq; ExceptionSpecificationAST *exception_specification; +public: // annotations + Function *symbol; + public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp index 13120fec589265f83e4989b174a00f10c72e9779..beb2ed0bca769f0f556ec2a6076a4a2d73926cf3 100644 --- a/src/shared/cplusplus/CheckDeclarator.cpp +++ b/src/shared/cplusplus/CheckDeclarator.cpp @@ -158,6 +158,7 @@ bool CheckDeclarator::visit(NestedDeclaratorAST *ast) bool CheckDeclarator::visit(FunctionDeclaratorAST *ast) { Function *fun = control()->newFunction(ast->firstToken()); + ast->symbol = fun; fun->setReturnType(_fullySpecifiedType); if (ast->parameters) {