From 76f4136c86441cb969954bdcd9de104fecef44d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20M=C3=BCller?= Date: Thu, 23 Feb 2017 21:37:17 +0100 Subject: [PATCH] Skip attributes in enum --- src/libclang/enum_parser.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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, ":"))