void AstEnumDeclaration::Unparse(Ostream& os, LexStream* lex_stream) { unsigned i; if (debug_unparse) os << "/*AstEnumDeclaration:#" << id << "*/"; if (lex_stream -> IsDeprecated(LeftToken())) os << "/**@deprecated*/ "; if (modifiers_opt) modifiers_opt -> Unparse(os, lex_stream); os << lex_stream -> NameString(enum_token) << ' ' << lex_stream -> NameString(class_body -> identifier_token) << ' '; if (NumInterfaces()) { os << "extends "; Interface(0) -> Unparse(os, lex_stream); for (i = 1; i < NumInterfaces(); i++) { os << ", "; Interface(i) -> Unparse(os, lex_stream); } } os << '{' << endl; for (i = 0; i < NumEnumConstants(); i++) { EnumConstant(i) -> Unparse(os, lex_stream); os << ',' << endl; } class_body -> Unparse(os, lex_stream, true); if (debug_unparse) os << "/*:AstEnumDeclaration#" << id << "*/"; }
inline EnumConstant EnumTypeDecl() { // Dummy constant with the size of a value of type EnumType. // This is not displayed in the UI. return EnumConstant("(enum size bytes)", sizeof(EnumType)); }