forked from OSchip/llvm-project
52 lines
1.5 KiB
Objective-C
52 lines
1.5 KiB
Objective-C
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
|
|
|
|
@interface X1
|
|
@end
|
|
@implementation X1 // expected-note {{implementation started here}}
|
|
@interface Y1 // expected-error {{missing '@end'}}
|
|
@end
|
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
|
|
|
@interface X2
|
|
@end
|
|
@implementation X2 // expected-note {{implementation started here}}
|
|
@protocol Y2 // expected-error {{missing '@end'}}
|
|
@end
|
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
|
|
|
@interface X6 // expected-note {{class started here}}
|
|
@interface X7 // expected-error {{missing '@end'}}
|
|
@end
|
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
|
|
|
@protocol P1 // expected-note {{protocol started here}}
|
|
@interface P2 // expected-error {{missing '@end'}}
|
|
@end
|
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
|
|
|
@interface X4 // expected-note {{class started here}}
|
|
@implementation X4 // expected-error {{missing '@end'}}
|
|
@end
|
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
|
|
|
@interface I
|
|
@end
|
|
@implementation I
|
|
@protocol P; // forward declarations of protocols in @implementations is allowed
|
|
@class C; // forward declarations of classes in @implementations is allowed
|
|
- (C<P>*) MyMeth {}
|
|
@end
|
|
|
|
@interface I2 {}
|
|
@protocol P2; // expected-error {{illegal interface qualifier}}
|
|
@class C2; // expected-error {{illegal interface qualifier}}
|
|
@end
|
|
|
|
@interface I3
|
|
@end
|
|
@implementation I3
|
|
- Meth {}
|
|
+ Cls {}
|
|
@protocol P3;
|
|
@end
|