]> granicus.if.org Git - clang/commitdiff
Some tweaks suggested by Argiris
authorDouglas Gregor <dgregor@apple.com>
Wed, 19 Nov 2008 19:09:45 +0000 (19:09 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 19 Nov 2008 19:09:45 +0000 (19:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59661 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Parse/Action.h
lib/Parse/ParseExprCXX.cpp
lib/Sema/Sema.h
lib/Sema/SemaExprCXX.cpp

index d662529217061a8c861785e9371711c7f4af7f99..d00fbd33616c2aed23545623e27452a9b5817522 100644 (file)
@@ -469,24 +469,24 @@ public:
   /// similar to ActOnIdentifierExpr, except that instead of providing
   /// an identifier the parser provides the kind of overloaded
   /// operator that was parsed.
-  virtual ExprResult ActOnOperatorFunctionIdExpr(Scope *S, 
-                                                 SourceLocation OperatorLoc,
-                                                 OverloadedOperatorKind Op,
-                                                 bool HasTrailingLParen,
-                                                 const CXXScopeSpec *SS = 0) {
+  virtual ExprResult ActOnCXXOperatorFunctionIdExpr(Scope *S, 
+                                                    SourceLocation OperatorLoc,
+                                                    OverloadedOperatorKind Op,
+                                                    bool HasTrailingLParen,
+                                                    const CXXScopeSpec &SS) {
     return 0;
   }
   
-  /// ActOnConversionFunctionExpr - Parse a C++ conversion function
+  /// ActOnCXXConversionFunctionExpr - Parse a C++ conversion function
   /// name (e.g., @c operator void const *) as an expression. This is
   /// very similar to ActOnIdentifierExpr, except that instead of
   /// providing an identifier the parser provides the type of the
   /// conversion function.
-  virtual ExprResult ActOnConversionFunctionExpr(Scope *S, 
-                                                 SourceLocation OperatorLoc,
-                                                 TypeTy *Type,
-                                                 bool HasTrailingLParen,
-                                                 const CXXScopeSpec *SS = 0) {
+  virtual ExprResult ActOnCXXConversionFunctionExpr(Scope *S, 
+                                                    SourceLocation OperatorLoc,
+                                                    TypeTy *Type,
+                                                    bool HasTrailingLParen,
+                                                    const CXXScopeSpec &SS) {
     return 0;
   }
 
index 90caa859a1cf72f9d5a89dca9ce5e9db168fc591..46c7a135e0fb6c7936920ca7a4d52e7e63ab0b10 100644 (file)
@@ -150,12 +150,12 @@ Parser::ExprResult Parser::ParseCXXIdExpression() {
   case tok::kw_operator: {
     SourceLocation OperatorLoc = Tok.getLocation();
     if (OverloadedOperatorKind Op = TryParseOperatorFunctionId()) {
-      return Actions.ActOnOperatorFunctionIdExpr(CurScope, OperatorLoc, Op, 
-                                                 Tok.is(tok::l_paren), &SS);
+      return Actions.ActOnCXXOperatorFunctionIdExpr(CurScope, OperatorLoc, Op, 
+                                                    Tok.is(tok::l_paren), SS);
     } else if (TypeTy *Type = ParseConversionFunctionId()) {
-      return Actions.ActOnConversionFunctionExpr(CurScope, OperatorLoc,
-                                                 Type, Tok.is(tok::l_paren), 
-                                                 &SS);
+      return Actions.ActOnCXXConversionFunctionExpr(CurScope, OperatorLoc,
+                                                    Type, Tok.is(tok::l_paren), 
+                                                    SS);
     }
      
     // We already complained about a bad conversion-function-id,
index 983fa306d2bcc564b912adea90c6860ff6e231a9..85acc3eb8f9ca90cc18cd00b4e7f76c654769bf1 100644 (file)
@@ -612,16 +612,16 @@ public:
                                          IdentifierInfo &II,
                                          bool HasTrailingLParen,
                                          const CXXScopeSpec *SS = 0);
-  virtual ExprResult ActOnOperatorFunctionIdExpr(Scope *S, 
-                                                 SourceLocation OperatorLoc,
-                                                 OverloadedOperatorKind Op,
-                                                 bool HasTrailingLParen,
-                                                 const CXXScopeSpec *SS = 0);
-  virtual ExprResult ActOnConversionFunctionExpr(Scope *S, 
-                                                 SourceLocation OperatorLoc,
-                                                 TypeTy *Ty,
-                                                 bool HasTrailingLParen,
-                                                 const CXXScopeSpec *SS);
+  virtual ExprResult ActOnCXXOperatorFunctionIdExpr(Scope *S, 
+                                                    SourceLocation OperatorLoc,
+                                                    OverloadedOperatorKind Op,
+                                                    bool HasTrailingLParen,
+                                                    const CXXScopeSpec &SS);
+  virtual ExprResult ActOnCXXConversionFunctionExpr(Scope *S, 
+                                                    SourceLocation OperatorLoc,
+                                                    TypeTy *Ty,
+                                                    bool HasTrailingLParen,
+                                                    const CXXScopeSpec &SS);
   ExprResult ActOnDeclarationNameExpr(Scope *S, SourceLocation Loc,
                                       DeclarationName Name,
                                       bool HasTrailingLParen,
index 94fca0077924c98da2e276b123a3977ea5bffafe..0186fc3f1453353b6460317dd593f3b1ea80738a 100644 (file)
 #include "clang/Basic/Diagnostic.h"
 using namespace clang;
 
-/// ActOnConversionFunctionExpr - Parse a C++ conversion function
+/// ActOnCXXConversionFunctionExpr - Parse a C++ conversion function
 /// name (e.g., operator void const *) as an expression. This is
 /// very similar to ActOnIdentifierExpr, except that instead of
 /// providing an identifier the parser provides the type of the
 /// conversion function.
-Sema::ExprResult Sema::ActOnConversionFunctionExpr(Scope *S, 
-                                                   SourceLocation OperatorLoc,
-                                                   TypeTy *Ty,
-                                                   bool HasTrailingLParen,
-                                                   const CXXScopeSpec *SS) {
+Sema::ExprResult 
+Sema::ActOnCXXConversionFunctionExpr(Scope *S, SourceLocation OperatorLoc,
+                                     TypeTy *Ty, bool HasTrailingLParen,
+                                     const CXXScopeSpec &SS) {
   QualType ConvType = QualType::getFromOpaquePtr(Ty);
   QualType ConvTypeCanon = Context.getCanonicalType(ConvType);
   DeclarationName ConvName 
     = Context.DeclarationNames.getCXXConversionFunctionName(ConvTypeCanon);
   return ActOnDeclarationNameExpr(S, OperatorLoc, ConvName, HasTrailingLParen, 
-                                  SS);
+                                  &SS);
 }
 
-/// ActOnOperatorFunctionIdExpr - Parse a C++ overloaded operator
+/// ActOnCXXOperatorFunctionIdExpr - Parse a C++ overloaded operator
 /// name (e.g., @c operator+ ) as an expression. This is very
 /// similar to ActOnIdentifierExpr, except that instead of providing
 /// an identifier the parser provides the kind of overloaded
 /// operator that was parsed.
-Sema::ExprResult Sema::ActOnOperatorFunctionIdExpr(Scope *S, 
-                                                   SourceLocation OperatorLoc,
-                                                   OverloadedOperatorKind Op,
-                                                   bool HasTrailingLParen,
-                                                   const CXXScopeSpec *SS) {
+Sema::ExprResult 
+Sema::ActOnCXXOperatorFunctionIdExpr(Scope *S, SourceLocation OperatorLoc,
+                                     OverloadedOperatorKind Op,
+                                     bool HasTrailingLParen,
+                                     const CXXScopeSpec &SS) {
   DeclarationName Name = Context.DeclarationNames.getCXXOperatorName(Op);
-  return ActOnDeclarationNameExpr(S, OperatorLoc, Name, HasTrailingLParen, SS);
+  return ActOnDeclarationNameExpr(S, OperatorLoc, Name, HasTrailingLParen, &SS);
 }
 
 /// ActOnCXXTypeidOfType - Parse typeid( type-id ).