Move handling of postfix-expression suffixes out of ParseCXXThis and into ParseCastExpression.

No functionality change, this follows the convention of how postfix-expressions are handled.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54849 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Argyrios Kyrtzidis 2008-08-16 19:34:46 +00:00
Родитель 5d796aa789
Коммит 289d77302a
2 изменённых файлов: 4 добавлений и 7 удалений

Просмотреть файл

@ -540,7 +540,9 @@ Parser::ExprResult Parser::ParseCastExpression(bool isUnaryExpression) {
case tok::kw_static_cast:
return ParseCXXCasts();
case tok::kw_this:
return ParseCXXThis();
Res = ParseCXXThis();
// This can be followed by postfix-expr pieces.
return ParsePostfixExpressionSuffix(Res);
case tok::at: {
SourceLocation AtLoc = ConsumeToken();
return ParseObjCAtExpression(AtLoc);

Просмотреть файл

@ -112,10 +112,5 @@ Parser::ExprResult Parser::ParseThrowExpression() {
Parser::ExprResult Parser::ParseCXXThis() {
assert(Tok.is(tok::kw_this) && "Not 'this'!");
SourceLocation ThisLoc = ConsumeToken();
ExprResult Res = Actions.ActOnCXXThis(ThisLoc);
if (Res.isInvalid)
return Res;
return ParsePostfixExpressionSuffix(Res);
return Actions.ActOnCXXThis(ThisLoc);
}