}
void CYBoolean::Output(CYOutput &out, CYFlags flags) const {
- out << (Value() ? "true" : "false");
+ out << '!' << (Value() ? "0" : "1");
+ if ((flags & CYNoInteger) != 0)
+ out << '.';
}
void CYBreak::Output(CYOutput &out, CYFlags flags) 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);
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)
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 << '[';
} }
void CYNull::Output(CYOutput &out, CYFlags flags) const {
- CYWord::Output(out);
+ out << "null";
}
void CYNumber::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_;
}
}
void CYRubyProc::Output(CYOutput &out, CYFlags flags) const {
- // XXX: this is not outputting the parameters
- out << '{' << '\n';
+ out << '{' << ' ' << '|' << parameters_ << '|' << '\n';
++out.indent_;
out << code_;
--out.indent_;
}
void CYThis::Output(CYOutput &out, CYFlags flags) const {
- CYWord::Output(out);
+ out << "this";
}
namespace cy {