]> git.saurik.com Git - cycript.git/blobdiff - Replace.cpp
Add extern "C" expression, for Functor's toCYON().
[cycript.git] / Replace.cpp
index 6f33f8f584dbe08ea0f2ba983805f3e257cdd8c4..de9489ea63e62b5f00aca3906ca2107e3406fe70 100644 (file)
@@ -388,8 +388,12 @@ CYTarget *CYExtend::Replace(CYContext &context) {
     return object_.Replace(context, lhs_);
 }
 
-CYStatement *CYExternal::Replace(CYContext &context) {
-    return $E($ CYAssign($V(typed_->identifier_), $C1(typed_->Replace(context), $C2($V("dlsym"), $V("RTLD_DEFAULT"), $S(typed_->identifier_->Word())))));
+CYStatement *CYExternalDefinition::Replace(CYContext &context) {
+    return $E($ CYAssign($V(typed_->identifier_), $ CYExternalExpression(abi_, typed_)));
+}
+
+CYTarget *CYExternalExpression::Replace(CYContext &context) {
+    return $C1(typed_->Replace(context), $C2($V("dlsym"), $V("RTLD_DEFAULT"), $S(typed_->identifier_->Word())));
 }
 
 CYNumber *CYFalse::Number(CYContext &context) {