Re: r293134 - [index] When indexing an ObjC method declaration use its base name for the location.
Thanks! > On Jan 27, 2017, at 9:07 AM, Hans Wennborgwrote: > > Merged in r293303. > > Thanks, > Hans > > On Fri, Jan 27, 2017 at 8:19 AM, Argyrios Kyrtzidis via cfe-commits > wrote: >> *bump* >> >>> On Jan 25, 2017, at 6:36 PM, Argyrios Kyrtzidis wrote: >>> >>> Hi Hans, >>> >>> Could this go into the stable branch ? >>> On Jan 25, 2017, at 6:11 PM, Argyrios Kyrtzidis via cfe-commits wrote: Author: akirtzidis Date: Wed Jan 25 20:11:50 2017 New Revision: 293134 URL: http://llvm.org/viewvc/llvm-project?rev=293134=rev Log: [index] When indexing an ObjC method declaration use its base name for the location. Instead of using the location of the beginning '-'/'+'. This is consistent with location used for function decls and ObjC method calls where we use the base name as the location as well. Modified: cfe/trunk/lib/Index/IndexDecl.cpp cfe/trunk/test/Index/Core/index-source.m cfe/trunk/test/Index/Core/index-subkinds.m cfe/trunk/test/Index/index-decls.m cfe/trunk/test/Index/index-module.m cfe/trunk/tools/libclang/CXIndexDataConsumer.cpp cfe/trunk/tools/libclang/CXIndexDataConsumer.h Modified: cfe/trunk/lib/Index/IndexDecl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/IndexDecl.cpp?rev=293134=293133=293134=diff == --- cfe/trunk/lib/Index/IndexDecl.cpp (original) +++ cfe/trunk/lib/Index/IndexDecl.cpp Wed Jan 25 20:11:50 2017 @@ -92,7 +92,13 @@ public: Relations.emplace_back((unsigned)SymbolRole::RelationAccessorOf, AssociatedProp); -if (!IndexCtx.handleDecl(D, (unsigned)SymbolRole::Dynamic, Relations)) +// getLocation() returns beginning token of a method declaration, but for +// indexing purposes we want to point to the base name. +SourceLocation MethodLoc = D->getSelectorStartLoc(); +if (MethodLoc.isInvalid()) + MethodLoc = D->getLocation(); + +if (!IndexCtx.handleDecl(D, MethodLoc, (unsigned)SymbolRole::Dynamic, Relations)) return false; IndexCtx.indexTypeSourceInfo(D->getReturnTypeSourceInfo(), D); bool hasIBActionAndFirst = D->hasAttr(); Modified: cfe/trunk/test/Index/Core/index-source.m URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/Core/index-source.m?rev=293134=293133=293134=diff == --- cfe/trunk/test/Index/Core/index-source.m (original) +++ cfe/trunk/test/Index/Core/index-source.m Wed Jan 25 20:11:50 2017 @@ -3,10 +3,10 @@ @interface Base // CHECK: [[@LINE-1]]:12 | class/ObjC | Base | c:objc(cs)Base | _OBJC_CLASS_$_Base | Decl | rel: 0 -(void)meth; -// CHECK: [[@LINE-1]]:1 | instance-method/ObjC | meth | c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 +// CHECK: [[@LINE-1]]:8 | instance-method/ObjC | meth | c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 // CHECK-NEXT: RelChild | Base | c:objc(cs)Base +(Base*)class_meth; -// CHECK: [[@LINE-1]]:1 | class-method/ObjC | class_meth | c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | rel: 1 +// CHECK: [[@LINE-1]]:9 | class-method/ObjC | class_meth | c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | rel: 1 // CHECK: [[@LINE-2]]:3 | class/ObjC | Base | c:objc(cs)Base | _OBJC_CLASS_$_Base | Ref,RelCont | rel: 1 // CHECK-NEXT: RelCont | class_meth | c:objc(cs)Base(cm)class_meth @@ -92,7 +92,7 @@ extern int setjmp(jmp_buf); @class I1; @interface I1 -// CHECK: [[@LINE+1]]:1 | instance-method/ObjC | meth | c:objc(cs)I1(im)meth | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 +// CHECK: [[@LINE+1]]:8 | instance-method/ObjC | meth | c:objc(cs)I1(im)meth | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 -(void)meth; @end @@ -117,7 +117,7 @@ extern int setjmp(jmp_buf); // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 @synthesize prop = _prop; -// CHECK: [[@LINE+5]]:1 | instance-method(IB)/ObjC | doAction:foo: | c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | rel: 1 +// CHECK: [[@LINE+5]]:12 | instance-method(IB)/ObjC | doAction:foo: | c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | rel: 1 // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 // CHECK: [[@LINE+3]]:22 | class/ObjC | I1 | c:objc(cs)I1 | _OBJC_CLASS_$_I1 | Ref,RelCont,RelIBType | rel: 1 // CHECK-NEXT: RelCont,RelIBType |
Re: r293134 - [index] When indexing an ObjC method declaration use its base name for the location.
Merged in r293303. Thanks, Hans On Fri, Jan 27, 2017 at 8:19 AM, Argyrios Kyrtzidis via cfe-commitswrote: > *bump* > >> On Jan 25, 2017, at 6:36 PM, Argyrios Kyrtzidis wrote: >> >> Hi Hans, >> >> Could this go into the stable branch ? >> >>> On Jan 25, 2017, at 6:11 PM, Argyrios Kyrtzidis via cfe-commits >>> wrote: >>> >>> Author: akirtzidis >>> Date: Wed Jan 25 20:11:50 2017 >>> New Revision: 293134 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=293134=rev >>> Log: >>> [index] When indexing an ObjC method declaration use its base name for the >>> location. >>> >>> Instead of using the location of the beginning '-'/'+'. >>> This is consistent with location used for function decls and ObjC method >>> calls where we use the base name as the location as well. >>> >>> Modified: >>> cfe/trunk/lib/Index/IndexDecl.cpp >>> cfe/trunk/test/Index/Core/index-source.m >>> cfe/trunk/test/Index/Core/index-subkinds.m >>> cfe/trunk/test/Index/index-decls.m >>> cfe/trunk/test/Index/index-module.m >>> cfe/trunk/tools/libclang/CXIndexDataConsumer.cpp >>> cfe/trunk/tools/libclang/CXIndexDataConsumer.h >>> >>> Modified: cfe/trunk/lib/Index/IndexDecl.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/IndexDecl.cpp?rev=293134=293133=293134=diff >>> == >>> --- cfe/trunk/lib/Index/IndexDecl.cpp (original) >>> +++ cfe/trunk/lib/Index/IndexDecl.cpp Wed Jan 25 20:11:50 2017 >>> @@ -92,7 +92,13 @@ public: >>> Relations.emplace_back((unsigned)SymbolRole::RelationAccessorOf, >>> AssociatedProp); >>> >>> -if (!IndexCtx.handleDecl(D, (unsigned)SymbolRole::Dynamic, Relations)) >>> +// getLocation() returns beginning token of a method declaration, but >>> for >>> +// indexing purposes we want to point to the base name. >>> +SourceLocation MethodLoc = D->getSelectorStartLoc(); >>> +if (MethodLoc.isInvalid()) >>> + MethodLoc = D->getLocation(); >>> + >>> +if (!IndexCtx.handleDecl(D, MethodLoc, (unsigned)SymbolRole::Dynamic, >>> Relations)) >>> return false; >>>IndexCtx.indexTypeSourceInfo(D->getReturnTypeSourceInfo(), D); >>>bool hasIBActionAndFirst = D->hasAttr(); >>> >>> Modified: cfe/trunk/test/Index/Core/index-source.m >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/Core/index-source.m?rev=293134=293133=293134=diff >>> == >>> --- cfe/trunk/test/Index/Core/index-source.m (original) >>> +++ cfe/trunk/test/Index/Core/index-source.m Wed Jan 25 20:11:50 2017 >>> @@ -3,10 +3,10 @@ >>> @interface Base >>> // CHECK: [[@LINE-1]]:12 | class/ObjC | Base | c:objc(cs)Base | >>> _OBJC_CLASS_$_Base | Decl | rel: 0 >>> -(void)meth; >>> -// CHECK: [[@LINE-1]]:1 | instance-method/ObjC | meth | >>> c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 >>> +// CHECK: [[@LINE-1]]:8 | instance-method/ObjC | meth | >>> c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 >>> // CHECK-NEXT: RelChild | Base | c:objc(cs)Base >>> +(Base*)class_meth; >>> -// CHECK: [[@LINE-1]]:1 | class-method/ObjC | class_meth | >>> c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | >>> rel: 1 >>> +// CHECK: [[@LINE-1]]:9 | class-method/ObjC | class_meth | >>> c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | >>> rel: 1 >>> // CHECK: [[@LINE-2]]:3 | class/ObjC | Base | c:objc(cs)Base | >>> _OBJC_CLASS_$_Base | Ref,RelCont | rel: 1 >>> // CHECK-NEXT: RelCont | class_meth | c:objc(cs)Base(cm)class_meth >>> >>> @@ -92,7 +92,7 @@ extern int setjmp(jmp_buf); >>> >>> @class I1; >>> @interface I1 >>> -// CHECK: [[@LINE+1]]:1 | instance-method/ObjC | meth | >>> c:objc(cs)I1(im)meth | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 >>> +// CHECK: [[@LINE+1]]:8 | instance-method/ObjC | meth | >>> c:objc(cs)I1(im)meth | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 >>> -(void)meth; >>> @end >>> >>> @@ -117,7 +117,7 @@ extern int setjmp(jmp_buf); >>> // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 >>> @synthesize prop = _prop; >>> >>> -// CHECK: [[@LINE+5]]:1 | instance-method(IB)/ObjC | doAction:foo: | >>> c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | >>> rel: 1 >>> +// CHECK: [[@LINE+5]]:12 | instance-method(IB)/ObjC | doAction:foo: | >>> c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | >>> rel: 1 >>> // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 >>> // CHECK: [[@LINE+3]]:22 | class/ObjC | I1 | c:objc(cs)I1 | >>> _OBJC_CLASS_$_I1 | Ref,RelCont,RelIBType | rel: 1 >>> // CHECK-NEXT: RelCont,RelIBType | doAction:foo: | >>> c:objc(cs)I2(im)doAction:foo: >>> @@ -127,11 +127,11 @@ extern int setjmp(jmp_buf); >>> >>> @interface I3 >>> @property (readwrite) id prop; >>> -// CHECK: [[@LINE+3]]:1 |
Re: r293134 - [index] When indexing an ObjC method declaration use its base name for the location.
*bump* > On Jan 25, 2017, at 6:36 PM, Argyrios Kyrtzidiswrote: > > Hi Hans, > > Could this go into the stable branch ? > >> On Jan 25, 2017, at 6:11 PM, Argyrios Kyrtzidis via cfe-commits >> wrote: >> >> Author: akirtzidis >> Date: Wed Jan 25 20:11:50 2017 >> New Revision: 293134 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=293134=rev >> Log: >> [index] When indexing an ObjC method declaration use its base name for the >> location. >> >> Instead of using the location of the beginning '-'/'+'. >> This is consistent with location used for function decls and ObjC method >> calls where we use the base name as the location as well. >> >> Modified: >> cfe/trunk/lib/Index/IndexDecl.cpp >> cfe/trunk/test/Index/Core/index-source.m >> cfe/trunk/test/Index/Core/index-subkinds.m >> cfe/trunk/test/Index/index-decls.m >> cfe/trunk/test/Index/index-module.m >> cfe/trunk/tools/libclang/CXIndexDataConsumer.cpp >> cfe/trunk/tools/libclang/CXIndexDataConsumer.h >> >> Modified: cfe/trunk/lib/Index/IndexDecl.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/IndexDecl.cpp?rev=293134=293133=293134=diff >> == >> --- cfe/trunk/lib/Index/IndexDecl.cpp (original) >> +++ cfe/trunk/lib/Index/IndexDecl.cpp Wed Jan 25 20:11:50 2017 >> @@ -92,7 +92,13 @@ public: >> Relations.emplace_back((unsigned)SymbolRole::RelationAccessorOf, >> AssociatedProp); >> >> -if (!IndexCtx.handleDecl(D, (unsigned)SymbolRole::Dynamic, Relations)) >> +// getLocation() returns beginning token of a method declaration, but >> for >> +// indexing purposes we want to point to the base name. >> +SourceLocation MethodLoc = D->getSelectorStartLoc(); >> +if (MethodLoc.isInvalid()) >> + MethodLoc = D->getLocation(); >> + >> +if (!IndexCtx.handleDecl(D, MethodLoc, (unsigned)SymbolRole::Dynamic, >> Relations)) >> return false; >>IndexCtx.indexTypeSourceInfo(D->getReturnTypeSourceInfo(), D); >>bool hasIBActionAndFirst = D->hasAttr(); >> >> Modified: cfe/trunk/test/Index/Core/index-source.m >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/Core/index-source.m?rev=293134=293133=293134=diff >> == >> --- cfe/trunk/test/Index/Core/index-source.m (original) >> +++ cfe/trunk/test/Index/Core/index-source.m Wed Jan 25 20:11:50 2017 >> @@ -3,10 +3,10 @@ >> @interface Base >> // CHECK: [[@LINE-1]]:12 | class/ObjC | Base | c:objc(cs)Base | >> _OBJC_CLASS_$_Base | Decl | rel: 0 >> -(void)meth; >> -// CHECK: [[@LINE-1]]:1 | instance-method/ObjC | meth | >> c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 >> +// CHECK: [[@LINE-1]]:8 | instance-method/ObjC | meth | >> c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 >> // CHECK-NEXT: RelChild | Base | c:objc(cs)Base >> +(Base*)class_meth; >> -// CHECK: [[@LINE-1]]:1 | class-method/ObjC | class_meth | >> c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | rel: >> 1 >> +// CHECK: [[@LINE-1]]:9 | class-method/ObjC | class_meth | >> c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | rel: >> 1 >> // CHECK: [[@LINE-2]]:3 | class/ObjC | Base | c:objc(cs)Base | >> _OBJC_CLASS_$_Base | Ref,RelCont | rel: 1 >> // CHECK-NEXT: RelCont | class_meth | c:objc(cs)Base(cm)class_meth >> >> @@ -92,7 +92,7 @@ extern int setjmp(jmp_buf); >> >> @class I1; >> @interface I1 >> -// CHECK: [[@LINE+1]]:1 | instance-method/ObjC | meth | >> c:objc(cs)I1(im)meth | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 >> +// CHECK: [[@LINE+1]]:8 | instance-method/ObjC | meth | >> c:objc(cs)I1(im)meth | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 >> -(void)meth; >> @end >> >> @@ -117,7 +117,7 @@ extern int setjmp(jmp_buf); >> // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 >> @synthesize prop = _prop; >> >> -// CHECK: [[@LINE+5]]:1 | instance-method(IB)/ObjC | doAction:foo: | >> c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | >> rel: 1 >> +// CHECK: [[@LINE+5]]:12 | instance-method(IB)/ObjC | doAction:foo: | >> c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | >> rel: 1 >> // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 >> // CHECK: [[@LINE+3]]:22 | class/ObjC | I1 | c:objc(cs)I1 | _OBJC_CLASS_$_I1 >> | Ref,RelCont,RelIBType | rel: 1 >> // CHECK-NEXT: RelCont,RelIBType | doAction:foo: | >> c:objc(cs)I2(im)doAction:foo: >> @@ -127,11 +127,11 @@ extern int setjmp(jmp_buf); >> >> @interface I3 >> @property (readwrite) id prop; >> -// CHECK: [[@LINE+3]]:1 | instance-method/acc-get/ObjC | prop | >> c:objc(cs)I3(im)prop | -[I3 prop] | Decl,Dyn,RelChild,RelAcc | rel: 2 >> +// CHECK: [[@LINE+3]]:6 | instance-method/acc-get/ObjC | prop | >> c:objc(cs)I3(im)prop | -[I3 prop] | Decl,Dyn,RelChild,RelAcc | rel: 2
Re: r293134 - [index] When indexing an ObjC method declaration use its base name for the location.
Hi Hans, Could this go into the stable branch ? > On Jan 25, 2017, at 6:11 PM, Argyrios Kyrtzidis via cfe-commits >wrote: > > Author: akirtzidis > Date: Wed Jan 25 20:11:50 2017 > New Revision: 293134 > > URL: http://llvm.org/viewvc/llvm-project?rev=293134=rev > Log: > [index] When indexing an ObjC method declaration use its base name for the > location. > > Instead of using the location of the beginning '-'/'+'. > This is consistent with location used for function decls and ObjC method > calls where we use the base name as the location as well. > > Modified: >cfe/trunk/lib/Index/IndexDecl.cpp >cfe/trunk/test/Index/Core/index-source.m >cfe/trunk/test/Index/Core/index-subkinds.m >cfe/trunk/test/Index/index-decls.m >cfe/trunk/test/Index/index-module.m >cfe/trunk/tools/libclang/CXIndexDataConsumer.cpp >cfe/trunk/tools/libclang/CXIndexDataConsumer.h > > Modified: cfe/trunk/lib/Index/IndexDecl.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Index/IndexDecl.cpp?rev=293134=293133=293134=diff > == > --- cfe/trunk/lib/Index/IndexDecl.cpp (original) > +++ cfe/trunk/lib/Index/IndexDecl.cpp Wed Jan 25 20:11:50 2017 > @@ -92,7 +92,13 @@ public: > Relations.emplace_back((unsigned)SymbolRole::RelationAccessorOf, > AssociatedProp); > > -if (!IndexCtx.handleDecl(D, (unsigned)SymbolRole::Dynamic, Relations)) > +// getLocation() returns beginning token of a method declaration, but for > +// indexing purposes we want to point to the base name. > +SourceLocation MethodLoc = D->getSelectorStartLoc(); > +if (MethodLoc.isInvalid()) > + MethodLoc = D->getLocation(); > + > +if (!IndexCtx.handleDecl(D, MethodLoc, (unsigned)SymbolRole::Dynamic, > Relations)) > return false; > IndexCtx.indexTypeSourceInfo(D->getReturnTypeSourceInfo(), D); > bool hasIBActionAndFirst = D->hasAttr(); > > Modified: cfe/trunk/test/Index/Core/index-source.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/Core/index-source.m?rev=293134=293133=293134=diff > == > --- cfe/trunk/test/Index/Core/index-source.m (original) > +++ cfe/trunk/test/Index/Core/index-source.m Wed Jan 25 20:11:50 2017 > @@ -3,10 +3,10 @@ > @interface Base > // CHECK: [[@LINE-1]]:12 | class/ObjC | Base | c:objc(cs)Base | > _OBJC_CLASS_$_Base | Decl | rel: 0 > -(void)meth; > -// CHECK: [[@LINE-1]]:1 | instance-method/ObjC | meth | > c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 > +// CHECK: [[@LINE-1]]:8 | instance-method/ObjC | meth | > c:objc(cs)Base(im)meth | -[Base meth] | Decl,Dyn,RelChild | rel: 1 > // CHECK-NEXT: RelChild | Base | c:objc(cs)Base > +(Base*)class_meth; > -// CHECK: [[@LINE-1]]:1 | class-method/ObjC | class_meth | > c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | rel: 1 > +// CHECK: [[@LINE-1]]:9 | class-method/ObjC | class_meth | > c:objc(cs)Base(cm)class_meth | +[Base class_meth] | Decl,Dyn,RelChild | rel: 1 > // CHECK: [[@LINE-2]]:3 | class/ObjC | Base | c:objc(cs)Base | > _OBJC_CLASS_$_Base | Ref,RelCont | rel: 1 > // CHECK-NEXT: RelCont | class_meth | c:objc(cs)Base(cm)class_meth > > @@ -92,7 +92,7 @@ extern int setjmp(jmp_buf); > > @class I1; > @interface I1 > -// CHECK: [[@LINE+1]]:1 | instance-method/ObjC | meth | c:objc(cs)I1(im)meth > | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 > +// CHECK: [[@LINE+1]]:8 | instance-method/ObjC | meth | c:objc(cs)I1(im)meth > | -[I1 meth] | Decl,Dyn,RelChild | rel: 1 > -(void)meth; > @end > > @@ -117,7 +117,7 @@ extern int setjmp(jmp_buf); > // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 > @synthesize prop = _prop; > > -// CHECK: [[@LINE+5]]:1 | instance-method(IB)/ObjC | doAction:foo: | > c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | rel: > 1 > +// CHECK: [[@LINE+5]]:12 | instance-method(IB)/ObjC | doAction:foo: | > c:objc(cs)I2(im)doAction:foo: | -[I2 doAction:foo:] | Def,Dyn,RelChild | rel: > 1 > // CHECK-NEXT: RelChild | I2 | c:objc(cs)I2 > // CHECK: [[@LINE+3]]:22 | class/ObjC | I1 | c:objc(cs)I1 | _OBJC_CLASS_$_I1 > | Ref,RelCont,RelIBType | rel: 1 > // CHECK-NEXT: RelCont,RelIBType | doAction:foo: | > c:objc(cs)I2(im)doAction:foo: > @@ -127,11 +127,11 @@ extern int setjmp(jmp_buf); > > @interface I3 > @property (readwrite) id prop; > -// CHECK: [[@LINE+3]]:1 | instance-method/acc-get/ObjC | prop | > c:objc(cs)I3(im)prop | -[I3 prop] | Decl,Dyn,RelChild,RelAcc | rel: 2 > +// CHECK: [[@LINE+3]]:6 | instance-method/acc-get/ObjC | prop | > c:objc(cs)I3(im)prop | -[I3 prop] | Decl,Dyn,RelChild,RelAcc | rel: 2 > // CHECK-NEXT: RelChild | I3 | c:objc(cs)I3 > // CHECK-NEXT: RelAcc | prop | c:objc(cs)I3(py)prop > -(id)prop; > -// CHECK: [[@LINE+3]]:1 | instance-method/acc-set/ObjC | setProp: | >