diff options
Diffstat (limited to 'shared/cplusplus/AST.cpp')
-rw-r--r-- | shared/cplusplus/AST.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/shared/cplusplus/AST.cpp b/shared/cplusplus/AST.cpp index 7774d4d71f..c495ea1881 100644 --- a/shared/cplusplus/AST.cpp +++ b/shared/cplusplus/AST.cpp @@ -1940,15 +1940,12 @@ void SimpleDeclarationAST::accept0(ASTVisitor *visitor) unsigned SimpleDeclarationAST::firstToken() const { - for (SpecifierAST *it = decl_specifier_seq; it; it = it->next) { - if (! it->next) - return it->firstToken(); - } - for (DeclaratorListAST *it = declarators; it; it = it->next) { - if (! it->next) - return it->firstToken(); - } - return semicolon_token; + if (decl_specifier_seq) + return decl_specifier_seq->firstToken(); + else if (declarators) + return declarators->firstToken(); + else + return semicolon_token; } unsigned SimpleDeclarationAST::lastToken() const |