forked from OSchip/llvm-project
108 lines
3.3 KiB
Plaintext
108 lines
3.3 KiB
Plaintext
// RUN: rm -rf %t
|
|
// RUN: mkdir %t
|
|
// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out
|
|
// RUN: FileCheck %s < %t/out
|
|
// rdar://13647476
|
|
|
|
//! NSObject is root of all.
|
|
@interface NSObject
|
|
@end
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ NSObject is root of all.])))]
|
|
|
|
//! An umbrella class for super classes.
|
|
@interface SuperClass
|
|
@end
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ An umbrella class for super classes.])))]
|
|
|
|
@interface SubClass : SuperClass
|
|
@end
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ An umbrella class for super classes.])))]
|
|
|
|
@interface SubSubClass : SubClass
|
|
@end
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ An umbrella class for super classes.])))]
|
|
|
|
@interface SubSubClass (Private)
|
|
@end
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ An umbrella class for super classes.])))]
|
|
|
|
//! Something valuable to the organization.
|
|
class Asset {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ Something valuable to the organization.])))]
|
|
|
|
//! An individual human or human individual.
|
|
class Person : public Asset {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ An individual human or human individual.])))]
|
|
|
|
class Student : public Person {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ An individual human or human individual.])))]
|
|
|
|
//! Every thing is a part
|
|
class Parts {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ Every thing is a part])))]
|
|
|
|
class Window : public virtual Parts {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ Every thing is a part])))]
|
|
|
|
class Door : public virtual Parts {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ Every thing is a part])))]
|
|
|
|
class House : public Window, Door {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ Every thing is a part])))]
|
|
|
|
//! Any Material
|
|
class Material : virtual Parts {
|
|
};
|
|
|
|
class Building : Window, public Material {
|
|
};
|
|
// CHECK: CommentAST=[
|
|
// CHECK-NEXT: (CXComment_FullComment
|
|
// CHECK-NEXT: (CXComment_Paragraph
|
|
// CHECK-NEXT: (CXComment_Text Text=[ Any Material])))]
|
|
|
|
|