浏览代码

cppparser: Backport enum scope fix to 1.10

From bc039a0476b31fa624ce548629b7e05cccd2d570
rdb 2 年之前
父节点
当前提交
8cbf93162a
共有 2 个文件被更改,包括 1779 次插入1772 次删除
  1. 1769 1771
      dtool/src/cppparser/cppBison.cxx.prebuilt
  2. 10 1
      dtool/src/cppparser/cppBison.yxx

文件差异内容过多而无法显示
+ 1769 - 1771
dtool/src/cppparser/cppBison.cxx.prebuilt


+ 10 - 1
dtool/src/cppparser/cppBison.yxx

@@ -2896,8 +2896,17 @@ base_specification:
         ;
         ;
 
 
 enum:
 enum:
-        enum_decl '{' enum_body '}'
+        enum_decl
 {
 {
+  if (current_enum->_scope != nullptr) {
+    push_scope(current_enum->_scope);
+  }
+}
+        '{' enum_body '}'
+{
+  if (current_enum->_scope != nullptr) {
+    pop_scope();
+  }
   $$ = current_enum;
   $$ = current_enum;
   current_enum = nullptr;
   current_enum = nullptr;
 }
 }

部分文件因为文件数量过多而无法显示