예제 #1
0
파일: decl.cpp 프로젝트: darwin/inferno
bool StructDef::printStructureStreamHelper(std::ostream& out) const
{
    if (isUnion())
        out << "union ";
    else
        out << "struct ";

    if (tag)
        out << "__cpustruct_" << *tag << " ";

    out << "{\n"; 

    for (int j=0; j < nComponents; j++)
    {
        if(!components[j]->printStructureStreamInternals(out))
          return false;

        Decl *decl = components[j]->next;
        while (decl != NULL)
        {
            out << ", ";
            if(!decl->printStructureStreamInternals(out))
              return false;
            decl = decl->next;
        }

        out << ";\n";
    }

    out << "}\n";
    return true;
}