forked from OSchip/llvm-project
Fixed TypedefDecl and TemplateTypeParameter source range.
llvm-svn: 127119
This commit is contained in:
parent
7c6c9e971c
commit
b3185b00c5
|
@ -1911,6 +1911,8 @@ class TypeDecl : public NamedDecl {
|
|||
/// ASTContext::getTypedefType, ASTContext::getTagDeclType, and
|
||||
/// ASTContext::getTemplateTypeParmType, and TemplateTypeParmDecl.
|
||||
mutable const Type *TypeForDecl;
|
||||
/// LocStart - The start of the source range for this declaration.
|
||||
SourceLocation LocStart;
|
||||
friend class ASTContext;
|
||||
friend class DeclContext;
|
||||
friend class TagDecl;
|
||||
|
@ -1918,15 +1920,24 @@ class TypeDecl : public NamedDecl {
|
|||
friend class TagType;
|
||||
|
||||
protected:
|
||||
TypeDecl(Kind DK, DeclContext *DC, SourceLocation L,
|
||||
IdentifierInfo *Id)
|
||||
: NamedDecl(DK, DC, L, Id), TypeForDecl(0) {}
|
||||
TypeDecl(Kind DK, DeclContext *DC, SourceLocation L, IdentifierInfo *Id,
|
||||
SourceLocation StartL = SourceLocation())
|
||||
: NamedDecl(DK, DC, L, Id), TypeForDecl(0), LocStart(StartL) {}
|
||||
|
||||
public:
|
||||
// Low-level accessor
|
||||
const Type *getTypeForDecl() const { return TypeForDecl; }
|
||||
void setTypeForDecl(const Type *TD) { TypeForDecl = TD; }
|
||||
|
||||
SourceLocation getLocStart() const { return LocStart; }
|
||||
void setLocStart(SourceLocation L) { LocStart = L; }
|
||||
SourceRange getSourceRange() const {
|
||||
if (LocStart.isValid())
|
||||
return SourceRange(LocStart, getLocation());
|
||||
else
|
||||
return SourceRange(getLocation());
|
||||
}
|
||||
|
||||
// Implement isa/cast/dyncast/etc.
|
||||
static bool classof(const Decl *D) { return classofKind(D->getKind()); }
|
||||
static bool classof(const TypeDecl *D) { return true; }
|
||||
|
@ -1938,9 +1949,9 @@ class TypedefDecl : public TypeDecl, public Redeclarable<TypedefDecl> {
|
|||
/// UnderlyingType - This is the type the typedef is set to.
|
||||
TypeSourceInfo *TInfo;
|
||||
|
||||
TypedefDecl(DeclContext *DC, SourceLocation L,
|
||||
TypedefDecl(DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc,
|
||||
IdentifierInfo *Id, TypeSourceInfo *TInfo)
|
||||
: TypeDecl(Typedef, DC, L, Id), TInfo(TInfo) {}
|
||||
: TypeDecl(Typedef, DC, IdLoc, Id, StartLoc), TInfo(TInfo) {}
|
||||
|
||||
protected:
|
||||
typedef Redeclarable<TypedefDecl> redeclarable_base;
|
||||
|
@ -1956,8 +1967,8 @@ public:
|
|||
}
|
||||
|
||||
static TypedefDecl *Create(ASTContext &C, DeclContext *DC,
|
||||
SourceLocation L, IdentifierInfo *Id,
|
||||
TypeSourceInfo *TInfo);
|
||||
SourceLocation StartLoc, SourceLocation IdLoc,
|
||||
IdentifierInfo *Id, TypeSourceInfo *TInfo);
|
||||
|
||||
TypeSourceInfo *getTypeSourceInfo() const {
|
||||
return TInfo;
|
||||
|
@ -1984,8 +1995,6 @@ public:
|
|||
static bool classofKind(Kind K) { return K == Typedef; }
|
||||
};
|
||||
|
||||
class TypedefDecl;
|
||||
|
||||
/// TagDecl - Represents the declaration of a struct/union/class/enum.
|
||||
class TagDecl
|
||||
: public TypeDecl, public DeclContext, public Redeclarable<TagDecl> {
|
||||
|
|
|
@ -944,9 +944,10 @@ class TemplateTypeParmDecl : public TypeDecl {
|
|||
/// \brief The default template argument, if any.
|
||||
TypeSourceInfo *DefaultArgument;
|
||||
|
||||
TemplateTypeParmDecl(DeclContext *DC, SourceLocation L, IdentifierInfo *Id,
|
||||
TemplateTypeParmDecl(DeclContext *DC, SourceLocation KeyLoc,
|
||||
SourceLocation IdLoc, IdentifierInfo *Id,
|
||||
bool Typename, QualType Type, bool ParameterPack)
|
||||
: TypeDecl(TemplateTypeParm, DC, L, Id), Typename(Typename),
|
||||
: TypeDecl(TemplateTypeParm, DC, IdLoc, Id, KeyLoc), Typename(Typename),
|
||||
InheritedDefault(false), ParameterPack(ParameterPack), DefaultArgument() {
|
||||
TypeForDecl = Type.getTypePtrOrNull();
|
||||
}
|
||||
|
@ -956,7 +957,9 @@ class TemplateTypeParmDecl : public TypeDecl {
|
|||
|
||||
public:
|
||||
static TemplateTypeParmDecl *Create(const ASTContext &C, DeclContext *DC,
|
||||
SourceLocation L, unsigned D, unsigned P,
|
||||
SourceLocation KeyLoc,
|
||||
SourceLocation NameLoc,
|
||||
unsigned D, unsigned P,
|
||||
IdentifierInfo *Id, bool Typename,
|
||||
bool ParameterPack);
|
||||
static TemplateTypeParmDecl *Create(const ASTContext &C, EmptyShell Empty);
|
||||
|
|
|
@ -107,7 +107,9 @@ ASTContext::getCanonicalTemplateTemplateParmDecl(
|
|||
if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*P))
|
||||
CanonParams.push_back(
|
||||
TemplateTypeParmDecl::Create(*this, getTranslationUnitDecl(),
|
||||
SourceLocation(), TTP->getDepth(),
|
||||
SourceLocation(),
|
||||
SourceLocation(),
|
||||
TTP->getDepth(),
|
||||
TTP->getIndex(), 0, false,
|
||||
TTP->isParameterPack()));
|
||||
else if (NonTypeTemplateParmDecl *NTTP
|
||||
|
|
|
@ -2032,8 +2032,10 @@ Decl *ASTNodeImporter::VisitTypedefDecl(TypedefDecl *D) {
|
|||
|
||||
// Create the new typedef node.
|
||||
TypeSourceInfo *TInfo = Importer.Import(D->getTypeSourceInfo());
|
||||
SourceLocation StartL = Importer.Import(D->getLocStart());
|
||||
TypedefDecl *ToTypedef = TypedefDecl::Create(Importer.getToContext(), DC,
|
||||
Loc, Name.getAsIdentifierInfo(),
|
||||
StartL, Loc,
|
||||
Name.getAsIdentifierInfo(),
|
||||
TInfo);
|
||||
ToTypedef->setAccess(D->getAccess());
|
||||
ToTypedef->setLexicalDeclContext(LexicalDC);
|
||||
|
@ -3444,6 +3446,7 @@ Decl *ASTNodeImporter::VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D) {
|
|||
// FIXME: Import default argument.
|
||||
return TemplateTypeParmDecl::Create(Importer.getToContext(),
|
||||
Importer.getToContext().getTranslationUnitDecl(),
|
||||
Importer.Import(D->getLocStart()),
|
||||
Importer.Import(D->getLocation()),
|
||||
D->getDepth(),
|
||||
D->getIndex(),
|
||||
|
|
|
@ -2274,9 +2274,9 @@ SourceRange EnumConstantDecl::getSourceRange() const {
|
|||
}
|
||||
|
||||
TypedefDecl *TypedefDecl::Create(ASTContext &C, DeclContext *DC,
|
||||
SourceLocation L, IdentifierInfo *Id,
|
||||
TypeSourceInfo *TInfo) {
|
||||
return new (C) TypedefDecl(DC, L, Id, TInfo);
|
||||
SourceLocation StartLoc, SourceLocation IdLoc,
|
||||
IdentifierInfo *Id, TypeSourceInfo *TInfo) {
|
||||
return new (C) TypedefDecl(DC, StartLoc, IdLoc, Id, TInfo);
|
||||
}
|
||||
|
||||
FileScopeAsmDecl *FileScopeAsmDecl::Create(ASTContext &C, DeclContext *DC,
|
||||
|
|
|
@ -415,17 +415,18 @@ ClassTemplateDecl::getInjectedClassNameSpecialization() {
|
|||
|
||||
TemplateTypeParmDecl *
|
||||
TemplateTypeParmDecl::Create(const ASTContext &C, DeclContext *DC,
|
||||
SourceLocation L, unsigned D, unsigned P,
|
||||
IdentifierInfo *Id, bool Typename,
|
||||
bool ParameterPack) {
|
||||
SourceLocation KeyLoc, SourceLocation NameLoc,
|
||||
unsigned D, unsigned P, IdentifierInfo *Id,
|
||||
bool Typename, bool ParameterPack) {
|
||||
QualType Type = C.getTemplateTypeParmType(D, P, ParameterPack, Id);
|
||||
return new (C) TemplateTypeParmDecl(DC, L, Id, Typename, Type, ParameterPack);
|
||||
return new (C) TemplateTypeParmDecl(DC, KeyLoc, NameLoc, Id, Typename,
|
||||
Type, ParameterPack);
|
||||
}
|
||||
|
||||
TemplateTypeParmDecl *
|
||||
TemplateTypeParmDecl::Create(const ASTContext &C, EmptyShell Empty) {
|
||||
return new (C) TemplateTypeParmDecl(0, SourceLocation(), 0, false,
|
||||
QualType(), false);
|
||||
return new (C) TemplateTypeParmDecl(0, SourceLocation(), SourceLocation(),
|
||||
0, false, QualType(), false);
|
||||
}
|
||||
|
||||
SourceLocation TemplateTypeParmDecl::getDefaultArgumentLoc() const {
|
||||
|
@ -436,10 +437,10 @@ SourceLocation TemplateTypeParmDecl::getDefaultArgumentLoc() const {
|
|||
|
||||
SourceRange TemplateTypeParmDecl::getSourceRange() const {
|
||||
if (hasDefaultArgument() && !defaultArgumentWasInherited())
|
||||
return SourceRange(getLocation(),
|
||||
return SourceRange(getLocStart(),
|
||||
DefaultArgument->getTypeLoc().getEndLoc());
|
||||
else
|
||||
return SourceRange(getLocation());
|
||||
return TypeDecl::getSourceRange();
|
||||
}
|
||||
|
||||
unsigned TemplateTypeParmDecl::getDepth() const {
|
||||
|
|
|
@ -3149,7 +3149,7 @@ QualType RewriteObjC::getProtocolType() {
|
|||
TypeSourceInfo *TInfo
|
||||
= Context->getTrivialTypeSourceInfo(Context->getObjCIdType());
|
||||
ProtocolTypeDecl = TypedefDecl::Create(*Context, TUDecl,
|
||||
SourceLocation(),
|
||||
SourceLocation(), SourceLocation(),
|
||||
&Context->Idents.get("Protocol"),
|
||||
TInfo);
|
||||
}
|
||||
|
|
|
@ -66,12 +66,14 @@ void Sema::ActOnTranslationUnitScope(Scope *S) {
|
|||
// Install [u]int128_t for 64-bit targets.
|
||||
TInfo = Context.getTrivialTypeSourceInfo(Context.Int128Ty);
|
||||
PushOnScopeChains(TypedefDecl::Create(Context, CurContext,
|
||||
SourceLocation(),
|
||||
SourceLocation(),
|
||||
&Context.Idents.get("__int128_t"),
|
||||
TInfo), TUScope);
|
||||
|
||||
TInfo = Context.getTrivialTypeSourceInfo(Context.UnsignedInt128Ty);
|
||||
PushOnScopeChains(TypedefDecl::Create(Context, CurContext,
|
||||
SourceLocation(),
|
||||
SourceLocation(),
|
||||
&Context.Idents.get("__uint128_t"),
|
||||
TInfo), TUScope);
|
||||
|
@ -87,7 +89,8 @@ void Sema::ActOnTranslationUnitScope(Scope *S) {
|
|||
QualType SelT = Context.getPointerType(Context.ObjCBuiltinSelTy);
|
||||
TypeSourceInfo *SelInfo = Context.getTrivialTypeSourceInfo(SelT);
|
||||
TypedefDecl *SelTypedef
|
||||
= TypedefDecl::Create(Context, CurContext, SourceLocation(),
|
||||
= TypedefDecl::Create(Context, CurContext,
|
||||
SourceLocation(), SourceLocation(),
|
||||
&Context.Idents.get("SEL"), SelInfo);
|
||||
PushOnScopeChains(SelTypedef, TUScope);
|
||||
Context.setObjCSelType(Context.getTypeDeclType(SelTypedef));
|
||||
|
@ -109,7 +112,8 @@ void Sema::ActOnTranslationUnitScope(Scope *S) {
|
|||
T = Context.getObjCObjectPointerType(T);
|
||||
TypeSourceInfo *IdInfo = Context.getTrivialTypeSourceInfo(T);
|
||||
TypedefDecl *IdTypedef
|
||||
= TypedefDecl::Create(Context, CurContext, SourceLocation(),
|
||||
= TypedefDecl::Create(Context, CurContext,
|
||||
SourceLocation(), SourceLocation(),
|
||||
&Context.Idents.get("id"), IdInfo);
|
||||
PushOnScopeChains(IdTypedef, TUScope);
|
||||
Context.setObjCIdType(Context.getTypeDeclType(IdTypedef));
|
||||
|
@ -121,7 +125,8 @@ void Sema::ActOnTranslationUnitScope(Scope *S) {
|
|||
T = Context.getObjCObjectPointerType(T);
|
||||
TypeSourceInfo *ClassInfo = Context.getTrivialTypeSourceInfo(T);
|
||||
TypedefDecl *ClassTypedef
|
||||
= TypedefDecl::Create(Context, CurContext, SourceLocation(),
|
||||
= TypedefDecl::Create(Context, CurContext,
|
||||
SourceLocation(), SourceLocation(),
|
||||
&Context.Idents.get("Class"), ClassInfo);
|
||||
PushOnScopeChains(ClassTypedef, TUScope);
|
||||
Context.setObjCClassType(Context.getTypeDeclType(ClassTypedef));
|
||||
|
|
|
@ -5867,6 +5867,7 @@ TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
|
|||
|
||||
// Scope manipulation handled by caller.
|
||||
TypedefDecl *NewTD = TypedefDecl::Create(Context, CurContext,
|
||||
D.getSourceRange().getBegin(),
|
||||
D.getIdentifierLoc(),
|
||||
D.getIdentifier(),
|
||||
TInfo);
|
||||
|
|
|
@ -525,8 +525,8 @@ Decl *Sema::ActOnTypeParameter(Scope *S, bool Typename, bool Ellipsis,
|
|||
|
||||
TemplateTypeParmDecl *Param
|
||||
= TemplateTypeParmDecl::Create(Context, Context.getTranslationUnitDecl(),
|
||||
Loc, Depth, Position, ParamName, Typename,
|
||||
Ellipsis);
|
||||
KeyLoc, Loc, Depth, Position, ParamName,
|
||||
Typename, Ellipsis);
|
||||
Param->setAccess(AS_public);
|
||||
if (Invalid)
|
||||
Param->setInvalidDecl();
|
||||
|
|
|
@ -3019,7 +3019,8 @@ Sema::DeduceAutoType(QualType Type, Expr *Init, QualType &Result) {
|
|||
|
||||
// Build template<class TemplParam> void Func(FuncParam);
|
||||
QualType TemplArg = Context.getTemplateTypeParmType(0, 0, false);
|
||||
TemplateTypeParmDecl TemplParam(0, Loc, 0, false, TemplArg, false);
|
||||
TemplateTypeParmDecl TemplParam(0, SourceLocation(), Loc, 0, false,
|
||||
TemplArg, false);
|
||||
NamedDecl *TemplParamPtr = &TemplParam;
|
||||
FixedSizeTemplateParameterList<1> TemplateParams(Loc, Loc, &TemplParamPtr,
|
||||
Loc);
|
||||
|
|
|
@ -145,8 +145,8 @@ Decl *TemplateDeclInstantiator::VisitTypedefDecl(TypedefDecl *D) {
|
|||
|
||||
// Create the new typedef
|
||||
TypedefDecl *Typedef
|
||||
= TypedefDecl::Create(SemaRef.Context, Owner, D->getLocation(),
|
||||
D->getIdentifier(), DI);
|
||||
= TypedefDecl::Create(SemaRef.Context, Owner, D->getLocStart(),
|
||||
D->getLocation(), D->getIdentifier(), DI);
|
||||
if (Invalid)
|
||||
Typedef->setInvalidDecl();
|
||||
|
||||
|
@ -1450,7 +1450,8 @@ Decl *TemplateDeclInstantiator::VisitTemplateTypeParmDecl(
|
|||
const TemplateTypeParmType *TTPT = T->getAs<TemplateTypeParmType>();
|
||||
|
||||
TemplateTypeParmDecl *Inst =
|
||||
TemplateTypeParmDecl::Create(SemaRef.Context, Owner, D->getLocation(),
|
||||
TemplateTypeParmDecl::Create(SemaRef.Context, Owner,
|
||||
D->getLocStart(), D->getLocation(),
|
||||
TTPT->getDepth() - TemplateArgs.getNumLevels(),
|
||||
TTPT->getIndex(), D->getIdentifier(),
|
||||
D->wasDeclaredWithTypename(),
|
||||
|
|
|
@ -230,6 +230,7 @@ void ASTDeclReader::VisitNamedDecl(NamedDecl *ND) {
|
|||
|
||||
void ASTDeclReader::VisitTypeDecl(TypeDecl *TD) {
|
||||
VisitNamedDecl(TD);
|
||||
TD->setLocStart(ReadSourceLocation(Record, Idx));
|
||||
// Delay type reading until after we have fully initialized the decl.
|
||||
TypeIDForTypeDecl = Record[Idx++];
|
||||
}
|
||||
|
@ -1422,7 +1423,8 @@ Decl *ASTReader::ReadDeclRecord(unsigned Index, DeclID ID) {
|
|||
D = Context->getTranslationUnitDecl();
|
||||
break;
|
||||
case DECL_TYPEDEF:
|
||||
D = TypedefDecl::Create(*Context, 0, SourceLocation(), 0, 0);
|
||||
D = TypedefDecl::Create(*Context, 0, SourceLocation(), SourceLocation(),
|
||||
0, 0);
|
||||
break;
|
||||
case DECL_ENUM:
|
||||
D = EnumDecl::Create(*Context, Decl::EmptyShell());
|
||||
|
|
|
@ -157,6 +157,7 @@ void ASTDeclWriter::VisitNamedDecl(NamedDecl *D) {
|
|||
|
||||
void ASTDeclWriter::VisitTypeDecl(TypeDecl *D) {
|
||||
VisitNamedDecl(D);
|
||||
Writer.AddSourceLocation(D->getLocStart(), Record);
|
||||
Writer.AddTypeRef(QualType(D->getTypeForDecl(), 0), Record);
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ struct X0 {};
|
|||
// CHECK: c-index-api-loadTU-test.m:66:31: ParmDecl=arg:66:31 (Definition) Extent=[66:28 - 66:34]
|
||||
// CHECK: c-index-api-loadTU-test.m:66:28: TypeRef=id:0:0 Extent=[66:28 - 66:30]
|
||||
// CHECK: c-index-api-loadTU-test.m:69:16: StructDecl=X0:69:16 Extent=[69:9 - 69:18]
|
||||
// CHECK: c-index-api-loadTU-test.m:69:19: TypedefDecl=X1:69:19 (Definition) Extent=[69:19 - 69:21]
|
||||
// CHECK: c-index-api-loadTU-test.m:69:19: TypedefDecl=X1:69:19 (Definition) Extent=[69:1 - 69:21]
|
||||
// CHECK: c-index-api-loadTU-test.m:69:16: TypeRef=struct X0:71:8 Extent=[69:16 - 69:18]
|
||||
// CHECK: c-index-api-loadTU-test.m:70:8: StructDecl=X0:70:8 Extent=[70:1 - 70:10]
|
||||
// CHECK: c-index-api-loadTU-test.m:71:8: StructDecl=X0:71:8 (Definition) Extent=[71:1 - 71:14]
|
||||
|
|
|
@ -102,7 +102,7 @@ struct SuperPair : Pair<int, int>, Pair<T, U> { };
|
|||
|
||||
// RUN: c-index-test -test-load-source all %s | FileCheck -check-prefix=CHECK-LOAD %s
|
||||
// CHECK-LOAD: index-templates.cpp:4:6: FunctionTemplate=f:4:6 Extent=[3:1 - 4:22]
|
||||
// CHECK-LOAD: index-templates.cpp:3:19: TemplateTypeParameter=T:3:19 (Definition) Extent=[3:19 - 3:20]
|
||||
// CHECK-LOAD: index-templates.cpp:3:19: TemplateTypeParameter=T:3:19 (Definition) Extent=[3:10 - 3:20]
|
||||
// CHECK-LOAD: index-templates.cpp:3:24: NonTypeTemplateParameter=Value:3:24 (Definition) Extent=[3:22 - 3:29]
|
||||
// FIXME: Need the template type parameter here
|
||||
// CHECK-LOAD: index-templates.cpp:3:66: TemplateTemplateParameter=X:3:66 (Definition) Extent=[3:31 - 3:67]
|
||||
|
@ -111,14 +111,14 @@ struct SuperPair : Pair<int, int>, Pair<T, U> { };
|
|||
// FIXME: Need the template type parameter here
|
||||
// CHECK-LOAD: index-templates.cpp:4:13: DeclRefExpr=Value:3:24 Extent=[4:13 - 4:18]
|
||||
// CHECK-LOAD: index-templates.cpp:6:28: ClassTemplate=allocator:6:28 Extent=[6:1 - 6:37]
|
||||
// CHECK-LOAD: index-templates.cpp:6:19: TemplateTypeParameter=T:6:19 (Definition) Extent=[6:19 - 6:20]
|
||||
// CHECK-LOAD: index-templates.cpp:6:19: TemplateTypeParameter=T:6:19 (Definition) Extent=[6:10 - 6:20]
|
||||
// CHECK-LOAD: index-templates.cpp:9:7: ClassTemplate=vector:9:7 (Definition) Extent=[8:1 - 11:2]
|
||||
// CHECK-LOAD: index-templates.cpp:8:19: TemplateTypeParameter=T:8:19 (Definition) Extent=[8:19 - 8:20]
|
||||
// CHECK-LOAD: index-templates.cpp:8:31: TemplateTypeParameter=Alloc:8:31 (Definition) Extent=[8:31 - 8:51]
|
||||
// CHECK-LOAD: index-templates.cpp:8:19: TemplateTypeParameter=T:8:19 (Definition) Extent=[8:10 - 8:20]
|
||||
// CHECK-LOAD: index-templates.cpp:8:31: TemplateTypeParameter=Alloc:8:31 (Definition) Extent=[8:22 - 8:51]
|
||||
// CHECK-LOAD: index-templates.cpp:8:39: TemplateRef=allocator:6:28 Extent=[8:39 - 8:48]
|
||||
// CHECK-LOAD: index-templates.cpp:10:8: CXXMethod=clear:10:8 Extent=[10:8 - 10:15]
|
||||
// CHECK-LOAD: index-templates.cpp:14:7: ClassTemplatePartialSpecialization=vector:14:7 (Definition) [Specialization of vector:9:7] Extent=[13:1 - 14:21]
|
||||
// CHECK-LOAD: index-templates.cpp:13:19: TemplateTypeParameter=T:13:19 (Definition) Extent=[13:19 - 13:20]
|
||||
// CHECK-LOAD: index-templates.cpp:13:19: TemplateTypeParameter=T:13:19 (Definition) Extent=[13:10 - 13:20]
|
||||
// CHECK-LOAD: index-templates.cpp:16:8: StructDecl=Z1:16:8 (Definition) Extent=[16:1 - 16:14]
|
||||
// CHECK-LOAD: index-templates.cpp:18:16: ClassDecl=vector:18:16 (Definition) [Specialization of vector:9:7] Extent=[18:1 - 18:26]
|
||||
// CHECK-LOAD: index-templates.cpp:18:23: TypeRef=struct Z1:16:8 Extent=[18:23 - 18:25]
|
||||
|
@ -128,8 +128,8 @@ struct SuperPair : Pair<int, int>, Pair<T, U> { };
|
|||
// CHECK-LOAD: index-templates.cpp:23:14: TypeRef=struct Z2:20:8 Extent=[23:14 - 23:16]
|
||||
// CHECK-LOAD: index-templates.cpp:24:8: CXXMethod=clear:24:8 Extent=[24:8 - 24:15]
|
||||
// CHECK-LOAD: index-templates.cpp:28:8: ClassTemplate=Y:28:8 (Definition) Extent=[27:1 - 31:2]
|
||||
// CHECK-LOAD: index-templates.cpp:27:19: TemplateTypeParameter=T:27:19 (Definition) Extent=[27:19 - 27:20]
|
||||
// CHECK-LOAD: index-templates.cpp:27:31: TemplateTypeParameter=U:27:31 (Definition) Extent=[27:31 - 27:32]
|
||||
// CHECK-LOAD: index-templates.cpp:27:19: TemplateTypeParameter=T:27:19 (Definition) Extent=[27:10 - 27:20]
|
||||
// CHECK-LOAD: index-templates.cpp:27:31: TemplateTypeParameter=U:27:31 (Definition) Extent=[27:22 - 27:32]
|
||||
// CHECK-LOAD: index-templates.cpp:29:21: UsingDeclaration=type:29:21 Extent=[29:3 - 29:25]
|
||||
// CHECK-LOAD: index-templates.cpp:30:12: UsingDeclaration=operator Z2:30:12 Extent=[30:3 - 30:23]
|
||||
// CHECK-LOAD: index-templates.cpp:30:21: TypeRef=struct Z2:20:8 Extent=[30:21 - 30:23]
|
||||
|
@ -137,7 +137,7 @@ struct SuperPair : Pair<int, int>, Pair<T, U> { };
|
|||
// CHECK-LOAD: index-templates.cpp:35:31: UnexposedExpr= Extent=[35:31 - 35:32]
|
||||
// CHECK-LOAD: index-templates.cpp:35:31: UnexposedExpr= Extent=[35:31 - 35:32]
|
||||
// CHECK-LOAD: index-templates.cpp:37:8: ClassTemplate=array:37:8 (Definition) Extent=[36:1 - 37:17]
|
||||
// CHECK-LOAD: index-templates.cpp:36:19: TemplateTypeParameter=T:36:19 (Definition) Extent=[36:19 - 36:20]
|
||||
// CHECK-LOAD: index-templates.cpp:36:19: TemplateTypeParameter=T:36:19 (Definition) Extent=[36:10 - 36:20]
|
||||
// CHECK-LOAD: index-templates.cpp:36:31: NonTypeTemplateParameter=Dimensions:36:31 (Definition) Extent=[36:22 - 36:56]
|
||||
// CHECK-LOAD: index-templates.cpp:36:44: DeclRefExpr=OneDimension:35:16 Extent=[36:44 - 36:56]
|
||||
// CHECK-LOAD: index-templates.cpp:40:8: ClassTemplate=storage:40:8 (Definition) Extent=[39:1 - 40:19]
|
||||
|
@ -145,15 +145,15 @@ struct SuperPair : Pair<int, int>, Pair<T, U> { };
|
|||
// CHECK-LOAD: index-templates.cpp:39:19: TemplateTypeParameter=:39:19 (Definition) Extent=[39:19 - 39:27]
|
||||
// CHECK-LOAD: index-templates.cpp:39:37: NonTypeTemplateParameter=:39:37 (Definition) Extent=[39:29 - 39:38]
|
||||
// CHECK-LOAD: index-templates.cpp:39:61: TemplateRef=array:37:8 Extent=[39:61 - 39:66]
|
||||
// CHECK-LOAD: index-templates.cpp:42:18: TypedefDecl=Unsigned:42:18 (Definition) Extent=[42:18 - 42:26]
|
||||
// CHECK-LOAD: index-templates.cpp:42:18: TypedefDecl=Unsigned:42:18 (Definition) Extent=[42:1 - 42:26]
|
||||
// CHECK-LOAD: index-templates.cpp:45:8: ClassTemplate=value_c:45:8 Extent=[44:1 - 45:15]
|
||||
// CHECK-LOAD: index-templates.cpp:44:19: TemplateTypeParameter=T:44:19 (Definition) Extent=[44:19 - 44:20]
|
||||
// CHECK-LOAD: index-templates.cpp:44:19: TemplateTypeParameter=T:44:19 (Definition) Extent=[44:10 - 44:20]
|
||||
// CHECK-LOAD: index-templates.cpp:44:31: NonTypeTemplateParameter=Value:44:31 (Definition) Extent=[44:22 - 44:36]
|
||||
// CHECK-LOAD: index-templates.cpp:44:22: TypeRef=Unsigned:42:18 Extent=[44:22 - 44:30]
|
||||
// CHECK-LOAD: index-templates.cpp:47:16: ClassDecl=vector:47:16 (Definition) [Specialization of vector:14:7] Extent=[47:1 - 47:28]
|
||||
// CHECK-LOAD: index-templates.cpp:49:8: StructDecl=Z4:49:8 (Definition) Extent=[49:1 - 51:2]
|
||||
// CHECK-LOAD: index-templates.cpp:50:26: FunctionTemplate=getAs:50:26 Extent=[50:3 - 50:33]
|
||||
// CHECK-LOAD: index-templates.cpp:50:21: TemplateTypeParameter=T:50:21 (Definition) Extent=[50:21 - 50:22]
|
||||
// CHECK-LOAD: index-templates.cpp:50:21: TemplateTypeParameter=T:50:21 (Definition) Extent=[50:12 - 50:22]
|
||||
// CHECK-LOAD: index-templates.cpp:53:6: FunctionDecl=template_exprs:53:6 (Definition)
|
||||
// CHECK-LOAD: index-templates.cpp:54:3: CallExpr=f:4:6 Extent=[54:3 - 54:68]
|
||||
// CHECK-LOAD: index-templates.cpp:54:3: UnexposedExpr=f:4:6 Extent=[54:3 - 54:35]
|
||||
|
@ -174,34 +174,34 @@ struct SuperPair : Pair<int, int>, Pair<T, U> { };
|
|||
// CHECK-LOAD: index-templates.cpp:85:23: TypeRef=second_type:83:13 Extent=[85:23 - 85:34]
|
||||
// CHECK-LOAD: index-templates.cpp:85:35: DeclRefExpr=u:82:23 Extent=[85:35 - 85:36]
|
||||
// CHECK-LOAD: index-templates.cpp:101:8: ClassTemplate=SuperPair:101:8 (Definition) Extent=[100:1 - 101:50]
|
||||
// CHECK-LOAD: index-templates.cpp:100:19: TemplateTypeParameter=T:100:19 (Definition) Extent=[100:19 - 100:20]
|
||||
// CHECK-LOAD: index-templates.cpp:100:31: TemplateTypeParameter=U:100:31 (Definition) Extent=[100:31 - 100:32]
|
||||
// CHECK-LOAD: index-templates.cpp:100:19: TemplateTypeParameter=T:100:19 (Definition) Extent=[100:10 - 100:20]
|
||||
// CHECK-LOAD: index-templates.cpp:100:31: TemplateTypeParameter=U:100:31 (Definition) Extent=[100:22 - 100:32]
|
||||
// CHECK-LOAD: index-templates.cpp:101:20: C++ base class specifier=Pair<int, int>:98:16 [access=public isVirtual=false] Extent=[101:20 - 101:34]
|
||||
// CHECK-LOAD: index-templates.cpp:101:36: C++ base class specifier=Pair<T, U>:76:8 [access=public isVirtual=false] Extent=[101:36 - 101:46]
|
||||
|
||||
|
||||
// RUN: c-index-test -test-load-source-usrs all %s | FileCheck -check-prefix=CHECK-USRS %s
|
||||
// CHECK-USRS: index-templates.cpp c:@FT@>3#T#Nt0.0#t>2#T#Nt1.0f#>t0.22S0_# Extent=[3:1 - 4:22]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@79 Extent=[3:19 - 3:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@70 Extent=[3:10 - 3:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@82 Extent=[3:22 - 3:29]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@91 Extent=[3:31 - 3:67]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@136@FT@>3#T#Nt0.0#t>2#T#Nt1.0f#>t0.22S0_#@x Extent=[4:8 - 4:21]
|
||||
// CHECK-USRS: index-templates.cpp c:@CT>1#T@allocator Extent=[6:1 - 6:37]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@171 Extent=[6:19 - 6:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@162 Extent=[6:10 - 6:20]
|
||||
// CHECK-USRS: index-templates.cpp c:@CT>2#T#T@vector Extent=[8:1 - 11:2]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@210 Extent=[8:19 - 8:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@222 Extent=[8:31 - 8:51]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@201 Extent=[8:10 - 8:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@213 Extent=[8:22 - 8:51]
|
||||
// CHECK-USRS: index-templates.cpp c:@CT>2#T#T@vector@F@clear# Extent=[10:8 - 10:15]
|
||||
// CHECK-USRS: index-templates.cpp c:@CP>1#T@vector>#*t0.0#>@CT>1#T@allocator1S0_ Extent=[13:1 - 14:21]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@298 Extent=[13:19 - 13:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@289 Extent=[13:10 - 13:20]
|
||||
// CHECK-USRS: index-templates.cpp c:@S@Z1 Extent=[16:1 - 16:14]
|
||||
// CHECK-USRS: index-templates.cpp c:@C@vector>#$@S@Z1#$@C@allocator>#S0_ Extent=[18:1 - 18:26]
|
||||
// CHECK-USRS: index-templates.cpp c:@S@Z2 Extent=[20:1 - 20:14]
|
||||
// CHECK-USRS: index-templates.cpp c:@C@vector>#$@S@Z2#$@C@allocator>#S0_ Extent=[22:1 - 25:2]
|
||||
// CHECK-USRS: index-templates.cpp c:@C@vector>#$@S@Z2#$@C@allocator>#S0_@F@clear# Extent=[24:8 - 24:15]
|
||||
// CHECK-USRS: index-templates.cpp c:@ST>2#T#T@Y Extent=[27:1 - 31:2]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@452 Extent=[27:19 - 27:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@464 Extent=[27:31 - 27:32]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@443 Extent=[27:10 - 27:20]
|
||||
// CHECK-USRS: index-templates.cpp c:index-templates.cpp@455 Extent=[27:22 - 27:32]
|
||||
// CHECK-USRS-NOT: type
|
||||
// CHECK-USRS: index-templates.cpp c:@S@Z3 Extent=[33:1 - 33:14]
|
||||
// CHECK-USRS: index-templates.cpp c:@F@f#$@S@map>#$@S@Z4#$@S@Pair>#I#S1_#$@S@compare>#$@S@Pair>#S1_#S2_#$@C@allocator>#S4_#
|
||||
|
|
|
@ -33,7 +33,7 @@ void test_members(int aval, int bval) {
|
|||
|
||||
// RUN: c-index-test -test-load-source all %s -fblocks | FileCheck %s
|
||||
|
||||
// CHECK: load-exprs.c:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:13 - 1:14]
|
||||
// CHECK: load-exprs.c:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:1 - 1:14]
|
||||
// CHECK: load-exprs.c:2:8: StructDecl=X:2:8 (Definition) Extent=[2:1 - 2:23]
|
||||
// CHECK: load-exprs.c:2:16: FieldDecl=a:2:16 (Definition) Extent=[2:16 - 2:17]
|
||||
// CHECK: load-exprs.c:2:19: FieldDecl=b:2:19 (Definition) Extent=[2:19 - 2:20]
|
||||
|
|
|
@ -118,7 +118,7 @@ void casts(int *ip) {
|
|||
}
|
||||
|
||||
// RUN: c-index-test -test-load-source all %s | FileCheck %s
|
||||
// CHECK: load-stmts.cpp:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:13 - 1:14]
|
||||
// CHECK: load-stmts.cpp:1:13: TypedefDecl=T:1:13 (Definition) Extent=[1:1 - 1:14]
|
||||
// CHECK: load-stmts.cpp:2:8: StructDecl=X:2:8 (Definition) Extent=[2:1 - 2:23]
|
||||
// CHECK: load-stmts.cpp:2:16: FieldDecl=a:2:16 (Definition) Extent=[2:16 - 2:17]
|
||||
// CHECK: load-stmts.cpp:2:19: FieldDecl=b:2:19 (Definition) Extent=[2:19 - 2:20]
|
||||
|
@ -174,7 +174,7 @@ void casts(int *ip) {
|
|||
// CHECK: load-stmts.cpp:51:3: CallExpr= Extent=[51:3 - 51:10]
|
||||
// CHECK: load-stmts.cpp:51:3: NamespaceRef=N:41:11 Extent=[51:3 - 51:4]
|
||||
// CHECK: load-stmts.cpp:51:8: DeclRefExpr=t:50:29 Extent=[51:8 - 51:9]
|
||||
// CHECK: load-stmts.cpp:52:13: TypedefDecl=type:52:13 (Definition) Extent=[52:13 - 52:17]
|
||||
// CHECK: load-stmts.cpp:52:13: TypedefDecl=type:52:13 (Definition) Extent=[52:3 - 52:17]
|
||||
// CHECK: load-stmts.cpp:53:3: CallExpr= Extent=[53:3 - 53:16]
|
||||
// CHECK: load-stmts.cpp:53:3: NamespaceRef=N:41:11 Extent=[53:3 - 53:4]
|
||||
// CHECK: load-stmts.cpp:53:8: TypeRef=type:52:13 Extent=[53:8 - 53:12]
|
||||
|
|
|
@ -161,7 +161,7 @@ int foo(uint c) {
|
|||
}
|
||||
|
||||
// RUN: c-index-test -test-load-source all %s | FileCheck %s
|
||||
// CHECK: 1:22: TypedefDecl=uint:1:22 (Definition) Extent=[1:22 - 1:26]
|
||||
// CHECK: 1:22: TypedefDecl=uint:1:22 (Definition) Extent=[1:1 - 1:26]
|
||||
// CHECK: 2:5: FunctionDecl=foo:2:5 (Definition) Extent=[2:5 - 161:2]
|
||||
// CHECK: 2:14: ParmDecl=c:2:14 (Definition) Extent=[2:9 - 2:15]
|
||||
// CHECK: 2:9: TypeRef=uint:1:22 Extent=[2:9 - 2:13]
|
||||
|
|
|
@ -6,5 +6,5 @@
|
|||
A a;
|
||||
B b;
|
||||
|
||||
// CHECK: a.h:3:13: TypedefDecl=A:3:13 (Definition) Extent=[3:13 - 3:14]
|
||||
// CHECK: b.h:1:15: TypedefDecl=B:1:15 (Definition) Extent=[1:15 - 1:16]
|
||||
// CHECK: a.h:3:13: TypedefDecl=A:3:13 (Definition) Extent=[3:1 - 3:14]
|
||||
// CHECK: b.h:1:15: TypedefDecl=B:1:15 (Definition) Extent=[1:1 - 1:16]
|
||||
|
|
|
@ -201,10 +201,10 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK-tokens: Punctuation: "{" [3:15 - 3:16] Namespace=std:3:11 (Definition)
|
||||
// CHECK-tokens: Keyword: "template" [4:3 - 4:11] ClassTemplate=pair:4:44 (Definition)
|
||||
// CHECK-tokens: Punctuation: "<" [4:12 - 4:13] ClassTemplate=pair:4:44 (Definition)
|
||||
// CHECK-tokens: Keyword: "class" [4:14 - 4:19] ClassTemplate=pair:4:44 (Definition)
|
||||
// CHECK-tokens: Keyword: "class" [4:14 - 4:19] TemplateTypeParameter=_T1:4:20 (Definition)
|
||||
// CHECK-tokens: Identifier: "_T1" [4:20 - 4:23] TemplateTypeParameter=_T1:4:20 (Definition)
|
||||
// CHECK-tokens: Punctuation: "," [4:23 - 4:24] ClassTemplate=pair:4:44 (Definition)
|
||||
// CHECK-tokens: Keyword: "class" [4:25 - 4:30] ClassTemplate=pair:4:44 (Definition)
|
||||
// CHECK-tokens: Keyword: "class" [4:25 - 4:30] TemplateTypeParameter=_T2:4:31 (Definition)
|
||||
// CHECK-tokens: Identifier: "_T2" [4:31 - 4:34] TemplateTypeParameter=_T2:4:31 (Definition)
|
||||
// CHECK-tokens: Punctuation: ">" [4:35 - 4:36] ClassTemplate=pair:4:44 (Definition)
|
||||
// CHECK-tokens: Keyword: "struct" [4:37 - 4:43] ClassTemplate=pair:4:44 (Definition)
|
||||
|
@ -802,10 +802,10 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK-tokens: Punctuation: "{" [82:16 - 82:17] Namespace=llvm:82:11 (Definition)
|
||||
// CHECK-tokens: Keyword: "template" [83:1 - 83:9] ClassTemplate=StringSwitch:83:47 (Definition)
|
||||
// CHECK-tokens: Punctuation: "<" [83:10 - 83:11] ClassTemplate=StringSwitch:83:47 (Definition)
|
||||
// CHECK-tokens: Keyword: "typename" [83:12 - 83:20] ClassTemplate=StringSwitch:83:47 (Definition)
|
||||
// CHECK-tokens: Keyword: "typename" [83:12 - 83:20] TemplateTypeParameter=T:83:21 (Definition)
|
||||
// CHECK-tokens: Identifier: "T" [83:21 - 83:22] TemplateTypeParameter=T:83:21 (Definition)
|
||||
// CHECK-tokens: Punctuation: "," [83:22 - 83:23] ClassTemplate=StringSwitch:83:47 (Definition)
|
||||
// CHECK-tokens: Keyword: "typename" [83:24 - 83:32] ClassTemplate=StringSwitch:83:47 (Definition)
|
||||
// CHECK-tokens: Keyword: "typename" [83:24 - 83:32] TemplateTypeParameter=R:83:33 (Definition)
|
||||
// CHECK-tokens: Identifier: "R" [83:33 - 83:34] TemplateTypeParameter=R:83:33 (Definition)
|
||||
// CHECK-tokens: Punctuation: "=" [83:35 - 83:36] TemplateTypeParameter=R:83:33 (Definition)
|
||||
// CHECK-tokens: Identifier: "T" [83:37 - 83:38] TemplateTypeParameter=R:83:33 (Definition)
|
||||
|
@ -1524,13 +1524,13 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK-tokens: Punctuation: "}" [186:1 - 186:2] UnexposedStmt=
|
||||
|
||||
// RUN: c-index-test -test-load-source all %s 2>&1 | FileCheck %s
|
||||
// CHECK: 1:27: TypedefDecl=__darwin_size_t:1:27 (Definition) Extent=[1:27 - 1:42]
|
||||
// CHECK: 2:25: TypedefDecl=size_t:2:25 (Definition) Extent=[2:25 - 2:31]
|
||||
// CHECK: 1:27: TypedefDecl=__darwin_size_t:1:27 (Definition) Extent=[1:1 - 1:42]
|
||||
// CHECK: 2:25: TypedefDecl=size_t:2:25 (Definition) Extent=[2:1 - 2:31]
|
||||
// CHECK: 2:9: TypeRef=__darwin_size_t:1:27 Extent=[2:9 - 2:24]
|
||||
// CHECK: 3:11: Namespace=std:3:11 (Definition) Extent=[3:11 - 5:2]
|
||||
// CHECK: 4:44: ClassTemplate=pair:4:44 (Definition) Extent=[4:3 - 4:64]
|
||||
// CHECK: 4:20: TemplateTypeParameter=_T1:4:20 (Definition) Extent=[4:20 - 4:23]
|
||||
// CHECK: 4:31: TemplateTypeParameter=_T2:4:31 (Definition) Extent=[4:31 - 4:34]
|
||||
// CHECK: 4:20: TemplateTypeParameter=_T1:4:20 (Definition) Extent=[4:14 - 4:23]
|
||||
// CHECK: 4:31: TemplateTypeParameter=_T2:4:31 (Definition) Extent=[4:25 - 4:34]
|
||||
// CHECK: 4:55: FieldDecl=second:4:55 (Definition) Extent=[4:55 - 4:61]
|
||||
// CHECK: 6:8: UnexposedDecl=:6:8 (Definition) Extent=[6:8 - 9:2]
|
||||
// CHECK: 7:7: FunctionDecl=memcmp:7:7 Extent=[7:7 - 7:49]
|
||||
|
@ -1626,7 +1626,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK: 37:11: Namespace=llvm:37:11 (Definition) Extent=[37:11 - 64:2]
|
||||
// CHECK: 38:7: ClassDecl=StringRef:38:7 (Definition) Extent=[38:1 - 63:2]
|
||||
// CHECK: 39:1: UnexposedDecl=:39:1 (Definition) Extent=[39:1 - 39:8]
|
||||
// CHECK: 40:23: TypedefDecl=iterator:40:23 (Definition) Extent=[40:23 - 40:31]
|
||||
// CHECK: 40:23: TypedefDecl=iterator:40:23 (Definition) Extent=[40:3 - 40:31]
|
||||
// CHECK: 41:23: VarDecl=npos:41:23 Extent=[41:16 - 41:40]
|
||||
// CHECK: 41:16: TypeRef=size_t:2:25 Extent=[41:16 - 41:22]
|
||||
// CHECK: 41:30: UnexposedExpr= Extent=[41:30 - 41:40]
|
||||
|
@ -1772,7 +1772,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK: 68:15: CXXMethod=getNameStart:68:15 (Definition) Extent=[68:15 - 71:4]
|
||||
// CHECK: 68:36: UnexposedStmt= Extent=[68:36 - 71:4]
|
||||
// CHECK: 69:5: UnexposedStmt= Extent=[69:5 - 69:65]
|
||||
// CHECK: 69:54: TypedefDecl=actualtype:69:54 (Definition) Extent=[69:54 - 69:64]
|
||||
// CHECK: 69:54: TypedefDecl=actualtype:69:54 (Definition) Extent=[69:5 - 69:64]
|
||||
// CHECK: 69:18: TemplateRef=pair:4:44 Extent=[69:18 - 69:22]
|
||||
// CHECK: 69:25: TypeRef=class clang::IdentifierInfo:66:7 Extent=[69:25 - 69:39]
|
||||
// CHECK: 70:5: UnexposedStmt= Extent=[70:5 - 70:47]
|
||||
|
@ -1784,7 +1784,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK: 72:12: CXXMethod=getLength:72:12 (Definition) Extent=[72:12 - 76:4]
|
||||
// CHECK: 72:30: UnexposedStmt= Extent=[72:30 - 76:4]
|
||||
// CHECK: 73:5: UnexposedStmt= Extent=[73:5 - 73:65]
|
||||
// CHECK: 73:54: TypedefDecl=actualtype:73:54 (Definition) Extent=[73:54 - 73:64]
|
||||
// CHECK: 73:54: TypedefDecl=actualtype:73:54 (Definition) Extent=[73:5 - 73:64]
|
||||
// CHECK: 73:18: TemplateRef=pair:4:44 Extent=[73:18 - 73:22]
|
||||
// CHECK: 73:25: TypeRef=class clang::IdentifierInfo:66:7 Extent=[73:25 - 73:39]
|
||||
// CHECK: 74:5: UnexposedStmt= Extent=[74:5 - 74:61]
|
||||
|
@ -1833,8 +1833,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) {
|
|||
// CHECK: 78:44: MemberRefExpr=getLength:72:12 Extent=[78:44 - 78:53]
|
||||
// CHECK: 82:11: Namespace=llvm:82:11 (Definition) Extent=[82:11 - 96:2]
|
||||
// CHECK: 83:47: ClassTemplate=StringSwitch:83:47 (Definition) Extent=[83:1 - 95:2]
|
||||
// CHECK: 83:21: TemplateTypeParameter=T:83:21 (Definition) Extent=[83:21 - 83:22]
|
||||
// CHECK: 83:33: TemplateTypeParameter=R:83:33 (Definition) Extent=[83:33 - 83:38]
|
||||
// CHECK: 83:21: TemplateTypeParameter=T:83:21 (Definition) Extent=[83:12 - 83:22]
|
||||
// CHECK: 83:33: TemplateTypeParameter=R:83:33 (Definition) Extent=[83:24 - 83:38]
|
||||
// CHECK: 84:13: FieldDecl=Str:84:13 (Definition) Extent=[84:13 - 84:16]
|
||||
// CHECK: 84:3: TypeRef=class llvm::StringRef:38:7 Extent=[84:3 - 84:12]
|
||||
// CHECK: 85:12: FieldDecl=Result:85:12 (Definition) Extent=[85:12 - 85:18]
|
||||
|
|
|
@ -71,7 +71,7 @@ namespace foo_alias3 = foo;
|
|||
// CHECK: usrs.cpp c:@N@foo@F@bar#I# Extent=[3:8 - 3:18]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@36@N@foo@F@bar#I#@z Extent=[3:12 - 3:17]
|
||||
// CHECK: usrs.cpp c:@N@bar Extent=[5:11 - 8:2]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@76@N@bar@T@QType Extent=[6:15 - 6:20]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@64@N@bar@T@QType Extent=[6:3 - 6:20]
|
||||
// CHECK: usrs.cpp c:@N@bar@F@bar#I# Extent=[7:8 - 7:20]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@94@N@bar@F@bar#I#@z Extent=[7:12 - 7:19]
|
||||
// CHECK: usrs.cpp c:@C@ClsA Extent=[10:1 - 14:2]
|
||||
|
|
|
@ -92,7 +92,7 @@ int test_multi_declaration(void) {
|
|||
// CHECK: usrs.m c:@SA@MyStruct Extent=[15:9 - 18:2]
|
||||
// CHECK: usrs.m c:@SA@MyStruct@FI@wa Extent=[16:7 - 16:9]
|
||||
// CHECK: usrs.m c:@SA@MyStruct@FI@moo Extent=[17:7 - 17:10]
|
||||
// CHECK: usrs.m c:usrs.m@219@T@MyStruct Extent=[18:3 - 18:11]
|
||||
// CHECK: usrs.m c:usrs.m@179@T@MyStruct Extent=[15:1 - 18:11]
|
||||
// CHECK: usrs.m c:@E@Pizza Extent=[20:1 - 23:2]
|
||||
// CHECK: usrs.m c:@E@Pizza@CHEESE Extent=[21:3 - 21:9]
|
||||
// CHECK: usrs.m c:@E@Pizza@MUSHROOMS Extent=[22:3 - 22:12]
|
||||
|
@ -156,7 +156,7 @@ int test_multi_declaration(void) {
|
|||
// CHECK-source: usrs.m:15:9: StructDecl=:15:9 (Definition) Extent=[15:9 - 18:2]
|
||||
// CHECK-source: usrs.m:16:7: FieldDecl=wa:16:7 (Definition) Extent=[16:7 - 16:9]
|
||||
// CHECK-source: usrs.m:17:7: FieldDecl=moo:17:7 (Definition) Extent=[17:7 - 17:10]
|
||||
// CHECK-source: usrs.m:18:3: TypedefDecl=MyStruct:18:3 (Definition) Extent=[18:3 - 18:11]
|
||||
// CHECK-source: usrs.m:18:3: TypedefDecl=MyStruct:18:3 (Definition) Extent=[15:1 - 18:11]
|
||||
// CHECK-source: usrs.m:15:9: TypeRef=MyStruct:15:9 Extent=[15:9 - 15:15]
|
||||
// CHECK-source: usrs.m:20:6: EnumDecl=Pizza:20:6 (Definition) Extent=[20:1 - 23:2]
|
||||
// CHECK-source: usrs.m:21:3: EnumConstantDecl=CHEESE:21:3 (Definition) Extent=[21:3 - 21:9]
|
||||
|
|
Loading…
Reference in New Issue