IdentifierInfo *NamespcName,
AttributeList *AttrList);
+ /// ActOnNamespaceAliasDef - This is called when a namespace alias definition
+ /// is parsed.
+ virtual DeclTy *ActOnNamespaceAliasDef(Scope *CurScope,
+ SourceLocation AliasLoc,
+ IdentifierInfo *Alias,
+ const CXXScopeSpec &SS,
+ SourceLocation NamespaceLoc,
+ IdentifierInfo *NamespaceName) {
+ return 0;
+ }
+
/// ActOnParamDefaultArgument - Parse default argument for function parameter
virtual void ActOnParamDefaultArgument(DeclTy *param,
SourceLocation EqualLoc,
ExpectAndConsume(tok::semi, diag::err_expected_semi_after,
"namespace name", tok::semi);
- return 0;
+ return Actions.ActOnNamespaceAliasDef(CurScope, AliasLoc, Alias, SS,
+ NamespaceLoc, NamespaceName);
}
/// ParseLinkage - We know that the current token is a string_literal
SourceLocation IdentLoc,
IdentifierInfo *NamespcName,
AttributeList *AttrList);
-
+
void PushUsingDirective(Scope *S, UsingDirectiveDecl *UDir);
+ virtual DeclTy *ActOnNamespaceAliasDef(Scope *CurScope,
+ SourceLocation AliasLoc,
+ IdentifierInfo *Alias,
+ const CXXScopeSpec &SS,
+ SourceLocation NamespaceLoc,
+ IdentifierInfo *NamespaceName);
+
/// AddCXXDirectInitializerToDecl - This action is called immediately after
/// ActOnDeclarator, when a C++ direct initializer is present.
/// e.g: "int x(1);"
S->PushUsingDirective(UDir);
}
+Sema::DeclTy *Sema::ActOnNamespaceAliasDef(Scope *CurScope,
+ SourceLocation AliasLoc,
+ IdentifierInfo *Alias,
+ const CXXScopeSpec &SS,
+ SourceLocation NamespaceLoc,
+ IdentifierInfo *NamespaceName) {
+ return 0;
+}
+
/// AddCXXDirectInitializerToDecl - This action is called immediately after
/// ActOnDeclarator, when a C++ direct initializer is present.
/// e.g: "int x(1);"