blob: be245f7ef5cdff74dfbf734f629427887ad4b60d [file] [log] [blame]
Alexander Kornienko90ff6072012-12-20 02:09:13 +00001// RUN: %clang_cc1 -Wno-unused -fblocks -ast-dump -ast-dump-filter Test %s | FileCheck -strict-whitespace %s
2
3@interface A
4@end
5
6@interface TestObjCImplementation : A
7@end
8
9@implementation TestObjCImplementation : A {
10 struct X {
11 int i;
12 } X;
13}
14- (void) foo {
15}
16@end
17// CHECK: ObjCImplementationDecl{{.*}} TestObjCImplementation
18// CHECK-NEXT: super ObjCInterface{{.*}} 'A'
19// CHECK-NEXT: ObjCInterface{{.*}} 'TestObjCImplementation'
20// CHECK-NEXT: CXXCtorInitializer{{.*}} 'X'
21// CHECK-NEXT: CXXConstructExpr
22// CHECK-NEXT: ObjCIvarDecl{{.*}} X
23// CHECK-NEXT: ObjCMethodDecl{{.*}} foo
Richard Trieu4b259c82016-06-09 22:03:04 +000024
25// @() boxing expressions.
26template <typename T>
27struct BoxingTest {
28 static id box(T value) {
29 return @(value);
30 }
31};
32
33// CHECK: ObjCBoxedExpr{{.*}} '<dependent type>'{{$}}