Rémi Bernon (@rbernon) commented about tools/widl/parser.y:
runtimeclass: tRUNTIMECLASS typename { $$ = type_runtimeclass_declare($2, current_namespace); } ;
-runtimeclass_def: attributes runtimeclass '{' class_interfaces '}' semicolon_opt
{ $$ = type_runtimeclass_define($2, $1, $4); }
+base
- : %empty { $$ = NULL; }
- | tRUNTIMECLASS runtimeclass { $$ = $2; }
- ;
+runtimeclass_def: attributes runtimeclass inherit base '{' class_interfaces '}' semicolon_opt
;{ $$ = type_runtimeclass_define($2, $1, $6); }
I don't see the `runtimeclass A : runtimeclass B` pattern anywhere in the SDK. Should it really be supported?
If not you only need to add `inherit` there. If it is, I'd suggest to duplicate the `inherit` rule and name it `class_inherit` instead of `base`, to be more explicit.