]> git.saurik.com Git - cycript.git/blobdiff - Output.cpp
Use OS X (not Simulator) build for x86_64 on OS X.
[cycript.git] / Output.cpp
index 51134c767d46e4d113508e5bfe0c1400a4ac384d..3794c498856b3bda78ea26562f9934d6c2aaf386 100644 (file)
@@ -118,8 +118,7 @@ void CYArgument::Output(CYOutput &out) const {
     if (value_ != NULL)
         value_->Output(out, CYAssign::Precedence_, CYNoFlags);
     if (next_ != NULL) {
-        if (next_->name_ == NULL)
-            out << ',';
+        out << ',';
         out << ' ' << *next_;
     }
 }
@@ -194,19 +193,13 @@ void CYComment::Output(CYOutput &out, CYFlags flags) const {
 }
 
 void CYCompound::Output(CYOutput &out, CYFlags flags) const {
-    if (CYExpression *expression = expressions_)
-        if (CYExpression *next = expression->next_) {
-            expression->Output(out, CYLeft(flags));
-            CYFlags center(CYCenter(flags));
-            while (next != NULL) {
-                expression = next;
-                out << ',' << ' ';
-                next = expression->next_;
-                CYFlags right(next != NULL ? center : CYRight(flags));
-                expression->Output(out, right);
-            }
-        } else
-            expression->Output(out, flags);
+    if (next_ == NULL)
+        expression_->Output(out, flags);
+    else {
+        expression_->Output(out, CYLeft(flags));
+        out << ',' << ' ';
+        next_->Output(out, CYRight(flags));
+    }
 }
 
 void CYCondition::Output(CYOutput &out, CYFlags flags) const {
@@ -523,7 +516,7 @@ void CYTypeModifier::Output(CYOutput &out, int precedence, CYIdentifier *identif
 }
 
 void CYTypedIdentifier::Output(CYOutput &out) const {
-    type_->Output(out, 0, CYNoFlags);
+    specifier_->Output(out);
     modifier_->Output(out, 0, identifier_);
 }
 
@@ -748,6 +741,34 @@ void Try::Output(CYOutput &out, CYFlags flags) const {
 
 } }
 
+void CYTypeError::Output(CYOutput &out) const {
+    out << "@error";
+}
+
+void CYTypeLong::Output(CYOutput &out) const {
+    out << "long" << specifier_;
+}
+
+void CYTypeShort::Output(CYOutput &out) const {
+    out << "short" << specifier_;
+}
+
+void CYTypeSigned::Output(CYOutput &out) const {
+    out << "signed" << specifier_;
+}
+
+void CYTypeUnsigned::Output(CYOutput &out) const {
+    out << "unsigned" << specifier_;
+}
+
+void CYTypeVariable::Output(CYOutput &out) const {
+    out << *name_;
+}
+
+void CYTypeVoid::Output(CYOutput &out) const {
+    out << "void";
+}
+
 void CYVar::Output(CYOutput &out, CYFlags flags) const {
     out << "var";
     declarations_->Output(out, flags);