diff --git a/src/libclang/enum_parser.cpp b/src/libclang/enum_parser.cpp index 19952f6..37670b3 100644 --- a/src/libclang/enum_parser.cpp +++ b/src/libclang/enum_parser.cpp @@ -20,9 +20,10 @@ namespace detail::tokenizer tokenizer(context.tu, context.file, cur); detail::token_stream stream(tokenizer, cur); - // , - // or: = , + // [], + // or: [] = , auto& name = stream.get().value(); + detail::skip_attribute(stream); std::unique_ptr value; if (detail::skip_if(stream, "=")) @@ -45,10 +46,12 @@ namespace detail::tokenizer tokenizer(context.tu, context.file, cur); detail::token_stream stream(tokenizer, cur); - // enum [class] name [: type] { + // [] enum [class] [] name [: type] { + detail::skip_attribute(stream); detail::skip(stream, "enum"); - auto scoped = detail::skip_if(stream, "class"); - auto& name = stream.get().value(); + auto scoped = detail::skip_if(stream, "class"); + detail::skip_attribute(stream); + auto& name = stream.get().value(); std::unique_ptr type; if (detail::skip_if(stream, ":"))