X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/3fe16be7c02b11754e3d367ffd228beb14da2555..47f55bc70a0eef068c8a27ca0618a11c512dbf20:/Output.cpp diff --git a/Output.cpp b/Output.cpp index 51134c7..6022514 100644 --- a/Output.cpp +++ b/Output.cpp @@ -194,19 +194,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 +517,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 +742,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);