Nested C class setters restored in c++out mode for Octave
Suitable casts are required so that assignment of instances of nested classes
work as the nested class is duplicated in the global namespace, eg:
struct Outer {
struct Nested {
int bar;
} bar_instance;
};
Outer.bar_instance can now be assigned to.
This commit is contained in:
parent
cf3696e8f9
commit
e95ac82651
5 changed files with 41 additions and 6 deletions
|
|
@ -3513,7 +3513,7 @@ cpp_class_decl : storage_class cpptype idcolon inherit LBRACE {
|
|||
while (p) {
|
||||
Setattr(p, "storage", $1);
|
||||
Setattr(p, "type" ,ty);
|
||||
if (!cparse_cplusplus && currentOuterClass && (!Getattr(currentOuterClass, "name") || CPlusPlusOut)) {
|
||||
if (!cparse_cplusplus && currentOuterClass && (!Getattr(currentOuterClass, "name"))) {
|
||||
SetFlag(p, "hasconsttype");
|
||||
SetFlag(p, "feature:immutable");
|
||||
}
|
||||
|
|
@ -3674,7 +3674,7 @@ cpp_class_decl : storage_class cpptype idcolon inherit LBRACE {
|
|||
while (n) {
|
||||
Setattr(n,"storage",$1);
|
||||
Setattr(n, "type", ty);
|
||||
if (!cparse_cplusplus && currentOuterClass && (!Getattr(currentOuterClass, "name") || CPlusPlusOut)) {
|
||||
if (!cparse_cplusplus && currentOuterClass && (!Getattr(currentOuterClass, "name"))) {
|
||||
SetFlag(n,"hasconsttype");
|
||||
SetFlag(n,"feature:immutable");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue