}
void CYExternal::Output(CYOutput &out, CYFlags flags) const {
- out << "extern" << abi_ << typed_ << ';';
+ out << "extern" << abi_ << typed_;
+ out.Terminate();
}
void CYFatArrow::Output(CYOutput &out, CYFlags flags) const {
void CYTypeDefinition::Output(CYOutput &out, CYFlags flags) const {
out << "typedef" << ' ' << *typed_;
+ out.Terminate();
}
void CYTypeExpression::Output(CYOutput &out, CYFlags flags) const {
out << "signed" << specifier_;
}
+void CYTypeStruct::Output(CYOutput &out) const {
+ out << "struct" << ' ';
+ if (name_ != NULL)
+ out << *name_ << ' ';
+ out << '{' << '\n';
+ ++out.indent_;
+ CYForEach (field, fields_) {
+ out << '\t' << *field->typed_;
+ out.Terminate();
+ out << '\n';
+ }
+ --out.indent_;
+ out << '}';
+}
+
void CYTypeUnsigned::Output(CYOutput &out) const {
out << "unsigned" << specifier_;
}