Wherever a type is used/returned from the Action module, use TypeTy instead of DeclTy or void.
No functionality change. llvm-svn: 54265
This commit is contained in:
parent
85324837ce
commit
25d05e88a5
|
@ -96,7 +96,7 @@ public:
|
|||
|
||||
/// isTypeName - Return non-null if the specified identifier is a typedef name
|
||||
/// in the current scope.
|
||||
virtual DeclTy *isTypeName(const IdentifierInfo &II, Scope *S) = 0;
|
||||
virtual TypeTy *isTypeName(const IdentifierInfo &II, Scope *S) = 0;
|
||||
|
||||
/// ActOnDeclarator - This callback is invoked when a declarator is parsed and
|
||||
/// 'Init' specifies the initializer if any. This is for things like:
|
||||
|
@ -583,7 +583,7 @@ public:
|
|||
/// ActOnBaseSpecifier - Parsed a base specifier
|
||||
virtual void ActOnBaseSpecifier(DeclTy *classdecl, SourceRange SpecifierRange,
|
||||
bool Virtual, AccessSpecifier Access,
|
||||
DeclTy *basetype, SourceLocation BaseLoc) {
|
||||
TypeTy *basetype, SourceLocation BaseLoc) {
|
||||
}
|
||||
|
||||
/// ActOnStartCXXClassDef - This is called at the start of a class/struct/union
|
||||
|
@ -829,7 +829,7 @@ public:
|
|||
|
||||
/// isTypeName - This looks at the IdentifierInfo::FETokenInfo field to
|
||||
/// determine whether the name is a typedef or not in this scope.
|
||||
virtual DeclTy *isTypeName(const IdentifierInfo &II, Scope *S);
|
||||
virtual TypeTy *isTypeName(const IdentifierInfo &II, Scope *S);
|
||||
|
||||
/// ActOnDeclarator - If this is a typedef declarator, we modify the
|
||||
/// IdentifierInfo::FETokenInfo field to keep track of this fact, until S is
|
||||
|
|
|
@ -118,7 +118,7 @@ private:
|
|||
/// TypeRep - This contains action-specific information about a specific TST.
|
||||
/// For example, for a typedef or struct, it might contain the declaration for
|
||||
/// these.
|
||||
void *TypeRep;
|
||||
Action::TypeTy *TypeRep;
|
||||
|
||||
// attributes.
|
||||
AttributeList *AttrList;
|
||||
|
@ -242,7 +242,7 @@ public:
|
|||
bool SetTypeSpecComplex(TSC C, SourceLocation Loc, const char *&PrevSpec);
|
||||
bool SetTypeSpecSign(TSS S, SourceLocation Loc, const char *&PrevSpec);
|
||||
bool SetTypeSpecType(TST T, SourceLocation Loc, const char *&PrevSpec,
|
||||
void *TypeRep = 0);
|
||||
Action::TypeTy *TypeRep = 0);
|
||||
|
||||
bool SetTypeQual(TQ T, SourceLocation Loc, const char *&PrevSpec,
|
||||
const LangOptions &Lang);
|
||||
|
|
|
@ -173,7 +173,7 @@ bool DeclSpec::SetTypeSpecSign(TSS S, SourceLocation Loc,
|
|||
}
|
||||
|
||||
bool DeclSpec::SetTypeSpecType(TST T, SourceLocation Loc,
|
||||
const char *&PrevSpec, void *Rep) {
|
||||
const char *&PrevSpec, Action::TypeTy *Rep) {
|
||||
if (TypeSpecType != TST_unspecified)
|
||||
return BadSpecifier( (TST)TypeSpecType, PrevSpec);
|
||||
TypeSpecType = T;
|
||||
|
|
|
@ -51,7 +51,7 @@ void MinimalAction:: ActOnTranslationUnitScope(SourceLocation Loc, Scope *S) {
|
|||
/// isTypeName - This looks at the IdentifierInfo::FETokenInfo field to
|
||||
/// determine whether the name is a type name (objc class name or typedef) or
|
||||
/// not in this scope.
|
||||
Action::DeclTy *
|
||||
Action::TypeTy *
|
||||
MinimalAction::isTypeName(const IdentifierInfo &II, Scope *S) {
|
||||
if (TypeNameInfo *TI = II.getFETokenInfo<TypeNameInfo>())
|
||||
if (TI->isTypeName)
|
||||
|
|
|
@ -411,7 +411,7 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS) {
|
|||
goto DoneWithDeclSpec;
|
||||
|
||||
// It has to be available as a typedef too!
|
||||
void *TypeRep = Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope);
|
||||
TypeTy *TypeRep = Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope);
|
||||
if (TypeRep == 0)
|
||||
goto DoneWithDeclSpec;
|
||||
|
||||
|
|
|
@ -322,7 +322,7 @@ bool Parser::ParseBaseSpecifier(DeclTy *ClassDecl)
|
|||
}
|
||||
|
||||
// We have an identifier; check whether it is actually a type.
|
||||
DeclTy *BaseType = Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope);
|
||||
TypeTy *BaseType = Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope);
|
||||
if (!BaseType) {
|
||||
Diag(Tok.getLocation(), diag::err_expected_class_name);
|
||||
return true;
|
||||
|
|
|
@ -210,7 +210,7 @@ private:
|
|||
//===--------------------------------------------------------------------===//
|
||||
// Symbol table / Decl tracking callbacks: SemaDecl.cpp.
|
||||
//
|
||||
virtual DeclTy *isTypeName(const IdentifierInfo &II, Scope *S);
|
||||
virtual TypeTy *isTypeName(const IdentifierInfo &II, Scope *S);
|
||||
virtual DeclTy *ActOnDeclarator(Scope *S, Declarator &D, DeclTy *LastInGroup);
|
||||
virtual DeclTy *ActOnParamDeclarator(Scope *S, Declarator &D);
|
||||
virtual void ActOnParamDefaultArgument(DeclTy *param,
|
||||
|
@ -587,7 +587,7 @@ public:
|
|||
/// ActOnBaseSpecifier - Parsed a base specifier
|
||||
virtual void ActOnBaseSpecifier(DeclTy *classdecl, SourceRange SpecifierRange,
|
||||
bool Virtual, AccessSpecifier Access,
|
||||
DeclTy *basetype, SourceLocation BaseLoc);
|
||||
TypeTy *basetype, SourceLocation BaseLoc);
|
||||
|
||||
virtual void ActOnStartCXXClassDef(Scope *S, DeclTy *TagDecl,
|
||||
SourceLocation LBrace);
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "llvm/ADT/DenseSet.h"
|
||||
using namespace clang;
|
||||
|
||||
Sema::DeclTy *Sema::isTypeName(const IdentifierInfo &II, Scope *S) {
|
||||
Sema::TypeTy *Sema::isTypeName(const IdentifierInfo &II, Scope *S) {
|
||||
Decl *IIDecl = LookupDecl(&II, Decl::IDNS_Ordinary, S, false);
|
||||
|
||||
if (IIDecl && (isa<TypedefDecl>(IIDecl) ||
|
||||
|
|
|
@ -264,7 +264,7 @@ void Sema::CheckCXXDefaultArguments(FunctionDecl *FD) {
|
|||
/// 'public bar' and 'virtual private baz' are each base-specifiers.
|
||||
void Sema::ActOnBaseSpecifier(DeclTy *classdecl, SourceRange SpecifierRange,
|
||||
bool Virtual, AccessSpecifier Access,
|
||||
DeclTy *basetype, SourceLocation BaseLoc) {
|
||||
TypeTy *basetype, SourceLocation BaseLoc) {
|
||||
RecordDecl *Decl = (RecordDecl*)classdecl;
|
||||
QualType BaseType = Context.getTypeDeclType((TypeDecl*)basetype);
|
||||
|
||||
|
|
Loading…
Reference in New Issue