forked from OSchip/llvm-project
improve of note message and minor refactoring of my last
patch (r181847). llvm-svn: 181896
This commit is contained in:
parent
0684076858
commit
478536b1c1
|
@ -500,7 +500,7 @@ def note_while_in_implementation : Note<
|
|||
def note_class_declared : Note<
|
||||
"class is declared here">;
|
||||
def note_receiver_class_declared : Note<
|
||||
"receiver is object of the class that is declared here">;
|
||||
"receiver is instance of class declared here">;
|
||||
def note_receiver_is_id : Note<
|
||||
"receiver is treated with 'id' type for purpose of method lookup">;
|
||||
def note_suppressed_class_declare : Note<
|
||||
|
|
|
@ -1227,10 +1227,8 @@ bool Sema::CheckMessageArgumentTypes(QualType ReceiverType,
|
|||
SelectorLocs.back());
|
||||
// Find the class to which we are sending this message.
|
||||
if (ReceiverType->isObjCObjectPointerType()) {
|
||||
QualType ClassType =
|
||||
ReceiverType->getAs<ObjCObjectPointerType>()->getPointeeType();
|
||||
if (const ObjCObjectType *ClassTPtr = ClassType->getAs<ObjCObjectType>())
|
||||
if (ObjCInterfaceDecl *Class = ClassTPtr->getInterface())
|
||||
if (ObjCInterfaceDecl *Class =
|
||||
ReceiverType->getAs<ObjCObjectPointerType>()->getInterfaceDecl())
|
||||
Diag(Class->getLocation(), diag::note_receiver_class_declared);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ int testPropertySynthesized(PublicClass *p) {
|
|||
}
|
||||
|
||||
// Test definition not available edge case.
|
||||
@interface DefNotAvailClass : NSObject // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface DefNotAvailClass : NSObject // expected-note {{receiver is instance of class declared here}}
|
||||
@end
|
||||
id testDefNotAvailableInlined(DefNotAvailClass *C) {
|
||||
return [C mem]; // expected-warning {{instance method '-mem' not found}}
|
||||
|
|
|
@ -9,13 +9,13 @@ typedef struct _NSZone NSZone;
|
|||
@protocol NSObject - (BOOL)isEqual:(id)object; @end
|
||||
@interface NSObject <NSObject> {} @end
|
||||
extern id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone *zone);
|
||||
@class NSArray; // expected-note {{receiver is object of the class that is declared here}}
|
||||
@class NSArray; // expected-note {{receiver is instance of class declared here}}
|
||||
@class NSMutableArray, NSIndexSet, NSView, NSPredicate, NSString, NSViewAnimation, NSTimer; // expected-note{{forward declaration of class here}}
|
||||
@interface FooBazController : NSObject {}
|
||||
@end
|
||||
typedef struct {} TazVersion;
|
||||
@class TazNode;
|
||||
@interface TazGuttenberg : NSObject {} typedef NSUInteger BugsBunnyType; @end // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface TazGuttenberg : NSObject {} typedef NSUInteger BugsBunnyType; @end // expected-note {{receiver is instance of class declared here}}
|
||||
@interface FooBaz : NSObject {}
|
||||
@property (nonatomic) BugsBunnyType matchType;
|
||||
@property (nonatomic, retain) NSArray *papyrus; @end
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
// expected-note@Inputs/category_left.h:14 {{previous definition}}
|
||||
// expected-warning@Inputs/category_right.h:11 {{duplicate definition of category}}
|
||||
// expected-note@Inputs/category_top.h:1 {{receiver is object of the class that is declared here}}
|
||||
// expected-note@Inputs/category_top.h:1 {{receiver is instance of class declared here}}
|
||||
|
||||
@interface Foo(Source)
|
||||
-(void)source;
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
#else
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// expected-note@30 {{receiver is object of the class that is declared here}}
|
||||
// expected-note@30 {{receiver is instance of class declared here}}
|
||||
void f(I* i) {
|
||||
[i meth]; // expected-warning {{not found}}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ id objc_getClass(const char *s);
|
|||
- (int) instance_func0;
|
||||
@end
|
||||
|
||||
@interface Derived: Object // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface Derived: Object // expected-note {{receiver is instance of class declared here}}
|
||||
+ (int) class_func1;
|
||||
+ (int) class_func2;
|
||||
+ (int) class_func3;
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct _NSZone NSZone;
|
|||
typedef struct {} NSFastEnumerationState;
|
||||
@protocol NSFastEnumeration - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; @end
|
||||
@interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> - (NSUInteger)count; @end
|
||||
@interface NSMutableDictionary : NSDictionary - (void)removeObjectForKey:(id)aKey; @end // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface NSMutableDictionary : NSDictionary - (void)removeObjectForKey:(id)aKey; @end // expected-note {{receiver is instance of class declared here}}
|
||||
extern NSString * const NSTaskDidTerminateNotification;
|
||||
|
||||
@interface XCPropertyExpansionContext : NSObject <NSCopying> { // expected-note {{required for direct or indirect protocol 'NSCopying'}}
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
// No @interface declaration for DTFilterOutputStream3
|
||||
@implementation DTFilterOutputStream3 // expected-warning {{cannot find interface declaration for 'DTFilterOutputStream3'}} \
|
||||
// expected-note {{receiver is object of the class that is declared here}}
|
||||
// expected-note {{receiver is instance of class declared here}}
|
||||
- (id)initWithNextOutputStream:(id <DTOutputStreams>) outputStream {
|
||||
id <DTOutputStreams> nextOutputStream = [self nextOutputStream]; // expected-warning {{method '-nextOutputStream' not found (return type defaults to 'id')}}
|
||||
self = nextOutputStream; // expected-warning {{assigning to 'DTFilterOutputStream3 *' from incompatible type 'id<DTOutputStreams>'}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -fobjc-default-synthesize-properties -verify -Wno-objc-root-class %s
|
||||
// rdar://13178483
|
||||
|
||||
@class NSMutableDictionary; // expected-note {{receiver is object of the class that is declared here}}
|
||||
@class NSMutableDictionary; // expected-note {{receiver is instance of class declared here}}
|
||||
|
||||
@interface LaunchdJobs
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
- (instancetype)otherMethodInProto2; // expected-note{{overridden method returns an instance of its class type}}
|
||||
@end
|
||||
|
||||
@interface Subclass1 : Root // expected-note 4 {{receiver is object of the class that is declared here}}
|
||||
@interface Subclass1 : Root // expected-note 4 {{receiver is instance of class declared here}}
|
||||
- (instancetype)initSubclass1;
|
||||
- (void)methodOnSubclass1;
|
||||
+ (instancetype)allocSubclass1;
|
||||
|
|
|
@ -107,7 +107,7 @@ void foo5(id p) {
|
|||
// expected-warning {{instance method '-bar' not found}}
|
||||
}
|
||||
|
||||
@interface I1 // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface I1 // expected-note {{receiver is instance of class declared here}}
|
||||
-(void)unavail_meth __attribute__((unavailable)); // expected-note {{marked unavailable here}}
|
||||
@end
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
||||
|
||||
@interface Foo // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface Foo // expected-note {{receiver is instance of class declared here}}
|
||||
@end
|
||||
|
||||
void test() {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify -Wno-objc-root-class %s
|
||||
|
||||
@interface I0 // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface I0 // expected-note {{receiver is instance of class declared here}}
|
||||
@end
|
||||
|
||||
@implementation I0 // expected-note {{implementation started here}}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
@interface MutableNSData : NSData @end
|
||||
|
||||
@interface Base : NSData <P1> // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface Base : NSData <P1> // expected-note {{receiver is instance of class declared here}}
|
||||
@property(readonly) id ref;
|
||||
@property(readonly) Base *p_base;
|
||||
@property(readonly) NSData *nsdata;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@protocol P
|
||||
@end
|
||||
|
||||
@interface INTF<P> // expected-note {{receiver is object of the class that is declared here}}
|
||||
@interface INTF<P> // expected-note {{receiver is instance of class declared here}}
|
||||
- (void)IMeth;
|
||||
@end
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
- (instancetype)otherMethodInProto2; // expected-note{{overridden method returns an instance of its class type}}
|
||||
@end
|
||||
|
||||
@interface Subclass1 : Root // expected-note 4 {{receiver is object of the class that is declared here}}
|
||||
@interface Subclass1 : Root // expected-note 4 {{receiver is instance of class declared here}}
|
||||
- (instancetype)initSubclass1;
|
||||
- (void)methodOnSubclass1;
|
||||
+ (instancetype)allocSubclass1;
|
||||
|
|
Loading…
Reference in New Issue