summaryrefslogtreecommitdiff
path: root/objectivec/objc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'objectivec/objc.cpp')
-rw-r--r--objectivec/objc.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/objectivec/objc.cpp b/objectivec/objc.cpp
index 4e36c9ed..1da2cb34 100644
--- a/objectivec/objc.cpp
+++ b/objectivec/objc.cpp
@@ -340,6 +340,14 @@ std::vector<QualifiedNameOrType> ObjCProcessor::ParseEncodedType(const std::stri
qualifiedName = "objc_class_t";
break;
case '?':
+ if (last == '@')
+ {
+ // A pointer to a Clang block is encoded as `@?`. For now we continue to represent this
+ // as `id` as we cannot represent block types.
+ last = c;
+ continue;
+ }
+ [[fallthrough]];
case 'T':
nameOrType.type = Type::PointerType(8, Type::VoidType());
break;