From 7badc531ce479ad904e0c1dcd098177acb1eb3a2 Mon Sep 17 00:00:00 2001 From: peri4 Date: Thu, 6 Apr 2023 21:11:01 +0300 Subject: [PATCH] support PICodeParser "enum class" --- libs/main/code/picodeparser.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/main/code/picodeparser.cpp b/libs/main/code/picodeparser.cpp index c0f98f55..1318bc39 100644 --- a/libs/main/code/picodeparser.cpp +++ b/libs/main/code/picodeparser.cpp @@ -480,6 +480,12 @@ bool PICodeParser::parseFileContent(PIString & fc, bool main) { tmp = pfc.takeCWord(); pfc.trim(); MetaMap meta = maybeMeta(pfc); + if (tmp == s_class || tmp == s_struct) { + tmp = pfc.takeCWord(); + pfc.trim(); + MetaMap smeta = maybeMeta(pfc); + meta << smeta; + } parseEnum(0, cur_namespace + tmp, pfc.takeRange('{', '}'), meta); pfc.takeSymbol(); continue; @@ -646,6 +652,12 @@ void PICodeParser::parseClass(Entity * parent, PIString & fc, bool is_namespace) tmp = fc.takeCWord(); fc.trim(); MetaMap meta = maybeMeta(fc); + if (tmp == s_class || tmp == s_struct) { + tmp = fc.takeCWord(); + fc.trim(); + MetaMap smeta = maybeMeta(fc); + meta << smeta; + } parseEnum(ce, cur_namespace + tmp, fc.takeRange('{', '}'), meta); fc.takeSymbol(); continue;