aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/cplusplus/AST.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/AST.h')
-rw-r--r--src/shared/cplusplus/AST.h17
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;