]> git.saurik.com Git - cycript.git/blobdiff - Output.cpp
Support tokenization errors.
[cycript.git] / Output.cpp
index ec0120d82d9a6decb736a3c51b17132f32dbf5f6..edd262fdd819dc5b87f9b1a53128ce157e2a369c 100644 (file)
@@ -28,6 +28,13 @@ void CYArgument::Output(std::ostream &out, bool send) const {
     }
 }
 
+void CYArray::Output(std::ostream &out) const {
+    out << '[';
+    if (elements_ != NULL)
+        elements_->Output(out);
+    out << ']';
+}
+
 void CYBoolean::Output(std::ostream &out) const {
     out << (Value() ? "true" : "false");
 }
@@ -107,21 +114,13 @@ void CYDoWhile::Output(std::ostream &out) const {
     out << "while" << *test_ << ';';
 }
 
-void CYElement::Output(std::ostream &out, bool raw) const {
-    if (!raw)
-        out << '[';
+void CYElement::Output(std::ostream &out) const {
     if (value_ != NULL)
         value_->Output(out, true);
-    if (next_ != NULL) {
+    if (next_ != NULL || value_ == NULL)
         out << ',';
-        next_->Output(out, true);
-    }
-    if (!raw)
-        out << ']';
-}
-
-void CYElement::Output(std::ostream &out) const {
-    Output(out, false);
+    if (next_ != NULL)
+        next_->Output(out);
 }
 
 void CYEmpty::Output(std::ostream &out) const {
@@ -249,6 +248,13 @@ void CYNumber::Output(std::ostream &out) const {
     out << Value();
 }
 
+void CYObject::Output(std::ostream &out) const {
+    out << '{';
+    if (property_ != NULL)
+        property_->Output(out);
+    out << '}';
+}
+
 void CYParameter::Output(std::ostream &out) const {
     out << *name_;
     if (next_ != NULL) {
@@ -265,20 +271,12 @@ void CYPrefix::Output(std::ostream &out) const {
     out << Operator() << *rhs_;
 }
 
-void CYProperty::Output(std::ostream &out, bool raw) const {
-    if (!raw)
-        out << '{';
+void CYProperty::Output(std::ostream &out) const {
     out << *name_ << ':' << *value_;
     if (next_ != NULL) {
         out << ',';
-        next_->Output(out, true);
+        next_->Output(out);
     }
-    if (!raw)
-        out << '}';
-}
-
-void CYProperty::Output(std::ostream &out) const {
-    Output(out, false);
 }
 
 void CYReturn::Output(std::ostream &out) const {
@@ -288,9 +286,15 @@ void CYReturn::Output(std::ostream &out) const {
     out << ';';
 }
 
+void CYSelector::Output(std::ostream &out) const {
+    out << '"';
+    out << "<unimplemented>";
+    out << '"';
+}
+
 void CYSource::Show(std::ostream &out) const {
     for (const CYSource *next(this); next != NULL; next = next->next_)
-        next->Output(out);
+        next->Output(out, false);
 }
 
 void CYSource::Output(std::ostream &out, bool block) const {