]> git.saurik.com Git - cycript.git/blobdiff - Replace.cpp
Fix a few poor syntax assumptions in C-like types.
[cycript.git] / Replace.cpp
index 155aa58f2d464cfcd83432c0d03e8a6b700809d6..ea2191270ab4fb32f294dd73914526a49624aadf 100644 (file)
@@ -959,6 +959,19 @@ CYExpression *CYTypedIdentifier::Replace(CYContext &context) {
     return modifier_->Replace(context, specifier_->Replace(context));
 }
 
+CYTypeFunctionWith *CYTypedIdentifier::Function() {
+    CYTypeModifier **modifier(&modifier_);
+    if (*modifier == NULL)
+        return NULL;
+    while ((*modifier)->next_ != NULL)
+        modifier = &(*modifier)->next_;
+    CYTypeFunctionWith *function((*modifier)->Function());
+    if (function == NULL)
+        return NULL;
+    *modifier = NULL;
+    return function;
+}
+
 CYArgument *CYTypedParameter::Argument(CYContext &context) { $T(NULL)
     return $ CYArgument(typed_->Replace(context), next_->Argument(context));
 }