Author: akirtzidis
Date: Wed Mar 5 00:47:57 2014
New Revision: 202941
URL: http://llvm.org/viewvc/llvm-project?rev=202941&view=rev
Log:
[AST] A "Class<P>" type should not have '*' when printed out.
rdar://14309030
Modified:
cfe/trunk/lib/AST/TypePrinter.cpp
cfe/trunk/test/Index/complete-method-decls.m
cfe/trunk/test/SemaObjC/compare-qualified-class.m
Modified: cfe/trunk/lib/AST/TypePrinter.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/TypePrinter.cpp?rev=202941&r1=202940&r2=202941&view=diff
==============================================================================
--- cfe/trunk/lib/AST/TypePrinter.cpp (original)
+++ cfe/trunk/lib/AST/TypePrinter.cpp Wed Mar 5 00:47:57 2014
@@ -1302,7 +1302,9 @@ void TypePrinter::printObjCObjectPointer
OS << '>';
}
- if (!T->isObjCIdType() && !T->isObjCQualifiedIdType()) {
+ if (!T->isObjCIdType() && !T->isObjCQualifiedIdType() &&
+ !T->isObjCClassType() && !T->isObjCQualifiedClassType() &&
+ !T->isObjCSelType()) {
OS << " *"; // Don't forget the implicit pointer.
} else {
spaceBeforePlaceHolder(OS);
Modified: cfe/trunk/test/Index/complete-method-decls.m
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/complete-method-decls.m?rev=202941&r1=202940&r2=202941&view=diff
==============================================================================
--- cfe/trunk/test/Index/complete-method-decls.m (original)
+++ cfe/trunk/test/Index/complete-method-decls.m Wed Mar 5 00:47:57 2014
@@ -72,6 +72,14 @@
- (oneway void)method:(in id x) {}
@end
+@interface I1
+-(Class<P1>)meth;
+@end
+
+@implementation I1
+-
+@end
+
// RUN: c-index-test -code-completion-at=%s:17:3 %s | FileCheck
-check-prefix=CHECK-CC1 %s
// CHECK-CC1: ObjCInstanceMethodDecl:{LeftParen (}{Text id}{RightParen
)}{TypedText abc} (40)
// CHECK-CC1: ObjCInstanceMethodDecl:{LeftParen (}{Text int}{RightParen
)}{TypedText getInt} (40)
@@ -182,3 +190,6 @@
// RUN: c-index-test -code-completion-at=%s:72:2 %s | FileCheck
-check-prefix=CHECK-ONEWAY %s
// CHECK-ONEWAY: ObjCInstanceMethodDecl:{LeftParen (}{Text oneway }{Text
void}{RightParen )}{TypedText method}{TypedText :}{LeftParen (}{Text in }{Text
id}{RightParen )}{Text x} (40)
+
+// RUN: c-index-test -code-completion-at=%s:80:2 %s | FileCheck
-check-prefix=CHECK-CLASSTY %s
+// CHECK-CLASSTY: ObjCInstanceMethodDecl:{LeftParen (}{Text
Class<P1>}{RightParen )}{TypedText meth}
Modified: cfe/trunk/test/SemaObjC/compare-qualified-class.m
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/compare-qualified-class.m?rev=202941&r1=202940&r2=202941&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/compare-qualified-class.m (original)
+++ cfe/trunk/test/SemaObjC/compare-qualified-class.m Wed Mar 5 00:47:57 2014
@@ -25,6 +25,6 @@ int main () {
return classA == classB || classA == classC ||
classC == classA ||
- classA == classD; // expected-warning {{comparison of distinct
pointer types ('Class<SomeProtocol> *' and 'Class<SomeProtocol1> *')}}
+ classA == classD; // expected-warning {{comparison of distinct
pointer types ('Class<SomeProtocol>' and 'Class<SomeProtocol1>')}}
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits