]> git.saurik.com Git - cycript.git/blobdiff - ObjectiveC/Output.mm
Add static size and alignment properties to Type.
[cycript.git] / ObjectiveC / Output.mm
index 3f360a8d589c7d8fc2a014933602814fe7341d0c..43172e25e7cf56729da38d11d1945db339f4def5 100644 (file)
@@ -1,5 +1,5 @@
 /* Cycript - Optimizing JavaScript Compiler/Runtime
- * Copyright (C) 2009-2010  Jay Freeman (saurik)
+ * Copyright (C) 2009-2012  Jay Freeman (saurik)
 */
 
 /* GNU Lesser General Public License, Version 3 {{{ */
@@ -61,7 +61,7 @@ void CYClass::Output(CYOutput &out, CYFlags flags) const {
     out << "return $cyc;";
     out << "}(";
     if (super_ != NULL)
-        super_->Output(out, CYPA, CYNoFlags);
+        super_->Output(out, CYAssign::Precedence_, CYNoFlags);
     else
         out << "null";
     out << "))";
@@ -85,7 +85,7 @@ void CYImport::Output(CYOutput &out, CYFlags flags) const {
 void CYMessage::Output(CYOutput &out, bool replace) const {
     out << (instance_ ? '-' : '+');
 
-    for (CYMessageParameter *parameter(parameters_); parameter != NULL; parameter = parameter->next_)
+    CYForEach (parameter, parameters_)
         if (parameter->tag_ != NULL) {
             out << ' ' << *parameter->tag_;
             if (parameter->name_ != NULL)
@@ -95,8 +95,13 @@ void CYMessage::Output(CYOutput &out, bool replace) const {
     out << code_;
 }
 
+void CYBox::Output(CYOutput &out, CYFlags flags) const {
+    out << '@';
+    value_->Output(out, Precedence(), CYRight(flags));
+}
+
 void CYProtocol::Output(CYOutput &out) const {
-    name_->Output(out, CYPA, CYNoFlags);
+    name_->Output(out, CYAssign::Precedence_, CYNoFlags);
     if (next_ != NULL)
         out << ',' << ' ' << *next_;
 }
@@ -113,7 +118,7 @@ void CYSelectorPart::Output(CYOutput &out) const {
 }
 
 void CYSend::Output(CYOutput &out, CYFlags flags) const {
-    for (CYArgument *argument(arguments_); argument != NULL; argument = argument->next_)
+    CYForEach (argument, arguments_)
         if (argument->name_ != NULL) {
             out << ' ' << *argument->name_;
             if (argument->value_ != NULL)
@@ -123,7 +128,7 @@ void CYSend::Output(CYOutput &out, CYFlags flags) const {
 
 void CYSendDirect::Output(CYOutput &out, CYFlags flags) const {
     out << '[';
-    self_->Output(out, CYPA, CYNoFlags);
+    self_->Output(out, CYAssign::Precedence_, CYNoFlags);
     CYSend::Output(out, flags);
     out << ']';
 }