Author: dgregor
Date: Mon Oct 18 16:34:55 2010
New Revision: 116754

URL: http://llvm.org/viewvc/llvm-project?rev=116754&view=rev
Log:
Provide code completion for types after the '^' that starts a block
literal. 

Modified:
    cfe/trunk/lib/Parse/ParseExpr.cpp
    cfe/trunk/test/Index/complete-blocks.m

Modified: cfe/trunk/lib/Parse/ParseExpr.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseExpr.cpp?rev=116754&r1=116753&r2=116754&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseExpr.cpp (original)
+++ cfe/trunk/lib/Parse/ParseExpr.cpp Mon Oct 18 16:34:55 2010
@@ -1743,6 +1743,11 @@
 /// [clang]   specifier-qualifier-list block-declarator
 ///
 void Parser::ParseBlockId() {
+  if (Tok.is(tok::code_completion)) {
+    Actions.CodeCompleteOrdinaryName(getCurScope(), Sema::PCC_Type);
+    ConsumeCodeCompletionToken();
+  }
+  
   // Parse the specifier-qualifier-list piece.
   DeclSpec DS;
   ParseSpecifierQualifierList(DS);

Modified: cfe/trunk/test/Index/complete-blocks.m
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/complete-blocks.m?rev=116754&r1=116753&r2=116754&view=diff
==============================================================================
--- cfe/trunk/test/Index/complete-blocks.m (original)
+++ cfe/trunk/test/Index/complete-blocks.m Mon Oct 18 16:34:55 2010
@@ -43,3 +43,9 @@
 // CHECK-CC3: ObjCInstanceMethodDecl:{ResultType id}{TypedText 
method3:}{Placeholder ^int(void)b} (20)
 // RUN: c-index-test -code-completion-at=%s:33:6 %s | FileCheck 
-check-prefix=CHECK-CC4 %s
 // CHECK-CC4: ObjCInstanceMethodDecl:{ResultType id}{TypedText 
method4:}{Placeholder ^(void)arg} (20)
+// RUN: c-index-test -code-completion-at=%s:25:15 %s | FileCheck 
-check-prefix=CHECK-CC5 %s
+// CHECK-CC5: TypedefDecl:{TypedText block_t} (50)
+// CHECK-CC5: TypedefDecl:{TypedText Class} (50)
+// CHECK-CC5-NOT: test_A
+// CHECK-CC5: {TypedText union} (50)
+


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to