Author: akirtzidis
Date: Wed Oct 17 19:16:56 2012
New Revision: 166160
URL: http://llvm.org/viewvc/llvm-project?rev=166160&view=rev
Log:
[libclang] Add a test for annotation of module headers
Added:
cfe/trunk/test/Index/annotate-module.m
Added: cfe/trunk/test/Index/annotate-module.m
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/annotate-module.m?rev=166160&view=auto
==============================================================================
--- cfe/trunk/test/Index/annotate-module.m (added)
+++ cfe/trunk/test/Index/annotate-module.m Wed Oct 17 19:16:56 2012
@@ -0,0 +1,42 @@
+
+#include <DependsOnModule/DependsOnModule.h>
+@__experimental_modules_import DependsOnModule;
+int glob;
+
+// RUN: rm -rf %t.cache
+// RUN: c-index-test -test-annotate-tokens=%s:2:1:5:1 %s -fmodule-cache-path
%t.cache -fmodules -F %S/../Modules/Inputs \
+// RUN: | FileCheck %s
+
+// CHECK: Punctuation: "#" [2:1 - 2:2] inclusion
directive=[[INC_DIR:DependsOnModule[/\\]DependsOnModule\.h
\(.*/Modules/Inputs/DependsOnModule\.framework[/\\]Headers[/\\]DependsOnModule.h\)]]
+// CHECK-NEXT: Identifier: "include" [2:2 - 2:9] inclusion
directive=[[INC_DIR]]
+// CHECK-NEXT: Punctuation: "<" [2:10 - 2:11] inclusion directive=[[INC_DIR]]
+// CHECK-NEXT: Identifier: "DependsOnModule" [2:11 - 2:26] inclusion
directive=[[INC_DIR]]
+// CHECK-NEXT: Punctuation: "/" [2:26 - 2:27] inclusion directive=[[INC_DIR]]
+// CHECK-NEXT: Identifier: "DependsOnModule" [2:27 - 2:42] inclusion
directive=[[INC_DIR]]
+// CHECK-NEXT: Punctuation: "." [2:42 - 2:43] inclusion directive=[[INC_DIR]]
+// CHECK-NEXT: Identifier: "h" [2:43 - 2:44] inclusion directive=[[INC_DIR]]
+// CHECK-NEXT: Punctuation: ">" [2:44 - 2:45] inclusion directive=[[INC_DIR]]
+// CHECK-NEXT: Punctuation: "@" [3:1 - 3:2] ModuleImport=DependsOnModule:3:1
+// CHECK-NEXT: Keyword: "__experimental_modules_import" [3:2 - 3:31]
ModuleImport=DependsOnModule:3:1
+// CHECK-NEXT: Identifier: "DependsOnModule" [3:32 - 3:47]
ModuleImport=DependsOnModule:3:1
+// CHECK-NEXT: Punctuation: ";" [3:47 - 3:48]
+// CHECK-NEXT: Keyword: "int" [4:1 - 4:4] VarDecl=glob:4:5
+// CHECK-NEXT: Identifier: "glob" [4:5 - 4:9] VarDecl=glob:4:5
+// CHECK-NEXT: Punctuation: ";" [4:9 - 4:10]
+
+// RUN: c-index-test
-test-annotate-tokens=%S/../Modules/Inputs/Module.framework/Headers/Sub.h:1:1:3:1
%s -fmodule-cache-path %t.cache -fmodules -F %S/../Modules/Inputs \
+// RUN: | FileCheck %s -check-prefix=CHECK-MOD
+
+// CHECK-MOD: Punctuation: "#" [1:1 - 1:2] inclusion
directive=[[INC_DIR:Module[/\\]Sub2\.h
\(.*/Modules/Inputs/Module\.framework[/\\]Headers[/\\]Sub2.h\)]]
+// CHECK-MOD-NEXT: Identifier: "include" [1:2 - 1:9] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Punctuation: "<" [1:10 - 1:11] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Identifier: "Module" [1:11 - 1:17] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Punctuation: "/" [1:17 - 1:18] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Identifier: "Sub2" [1:18 - 1:22] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Punctuation: "." [1:22 - 1:23] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Identifier: "h" [1:23 - 1:24] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Punctuation: ">" [1:24 - 1:25] inclusion
directive=[[INC_DIR]]
+// CHECK-MOD-NEXT: Keyword: "int" [2:1 - 2:4] VarDecl=Module_Sub:2:6
+// CHECK-MOD-NEXT: Punctuation: "*" [2:5 - 2:6] VarDecl=Module_Sub:2:6
+// CHECK-MOD-NEXT: Identifier: "Module_Sub" [2:6 - 2:16] VarDecl=Module_Sub:2:6
+// CHECK-MOD-NEXT: Punctuation: ";" [2:16 - 2:17]
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits