diff options
Diffstat (limited to 'src/shared/cplusplus/AST.h')
| -rw-r--r-- | src/shared/cplusplus/AST.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index c719f311608..1766891cd7b 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -81,6 +81,17 @@ public: unsigned lastToken() const { + _Tp lv = lastValue(); + + if (lv) + return lv->lastToken(); + + // ### assert(0); + return 0; + } + + _Tp lastValue() const + { _Tp lastValue = 0; for (const List *it = this; it; it = it->next) { @@ -88,11 +99,7 @@ public: lastValue = it->value; } - if (lastValue) - return lastValue->lastToken(); - - // ### assert(0); - return 0; + return lastValue; } _Tp value; |
