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); }
```suggestion:-1+0 runtimeclass_def: attributes runtimeclass inherit '{' class_interfaces '}' semicolon_opt { if (type_get_type($3) != TYPE_RUNTIMECLASS) error_loc("%s is not a runtimeclass\n", $3->name); $$ = type_runtimeclass_define($2, $1, $5); } ```
Assuming base isn't needed.