]> git.saurik.com Git - cycript.git/blobdiff - Output.cpp
Parse (but ignore) ECMAScript 6 "spread elements".
[cycript.git] / Output.cpp
index c06f757d406b767913251ff570bfc93ef63ea630..2ff5ad784c299bd1b894ea8cb4f017bf8032ae9f 100644 (file)
@@ -183,13 +183,6 @@ void Catch::Output(CYOutput &out) const {
 
 } }
 
-void CYComment::Output(CYOutput &out, CYFlags flags) const {
-    out << '\r';
-    out(value_);
-    out.right_ = true;
-    out << '\r';
-}
-
 void CYCompound::Output(CYOutput &out, CYFlags flags) const {
     if (next_ == NULL)
         expression_->Output(out, flags);
@@ -298,12 +291,16 @@ void CYDoWhile::Output(CYOutput &out, CYFlags flags) const {
     out << "while" << ' ' << '(' << *test_ << ')';
 }
 
-void CYElement::Output(CYOutput &out) const {
+void CYElementSpread::Output(CYOutput &out) const {
+    out << "..." << value_;
+}
+
+void CYElementValue::Output(CYOutput &out) const {
     if (value_ != NULL)
         value_->Output(out, CYAssign::Precedence_, CYNoFlags);
     if (next_ != NULL || value_ == NULL) {
         out << ',';
-        if (next_ != NULL && next_->value_ != NULL)
+        if (next_ != NULL && !next_->Elision())
             out << ' ';
     }
     if (next_ != NULL)
@@ -510,6 +507,10 @@ void CYStatement::Output(CYOutput &out) const {
     Multiple(out);
 }
 
+void CYTemplate::Output(CYOutput &out, CYFlags flags) const {
+    _assert(false);
+}
+
 void CYTypeArrayOf::Output(CYOutput &out, CYIdentifier *identifier) const {
     next_->Output(out, Precedence(), identifier);
     out << '[';
@@ -653,7 +654,7 @@ void CYPrefix::Output(CYOutput &out, CYFlags flags) const {
     rhs_->Output(out, Precedence(), CYRight(flags));
 }
 
-void CYProgram::Output(CYOutput &out) const {
+void CYScript::Output(CYOutput &out) const {
     out << code_;
 }