Bugfix in Javascript generator: detect member setter/getters correctly.
This commit is contained in:
parent
c53e3e4dab
commit
09a210e037
1 changed files with 3 additions and 1 deletions
|
|
@ -667,16 +667,18 @@ int JSEmitter::emitWrapperFunction(Node *n) {
|
||||||
String *kind = Getattr(n, "kind");
|
String *kind = Getattr(n, "kind");
|
||||||
|
|
||||||
if (kind) {
|
if (kind) {
|
||||||
bool is_member = GetFlag(n, "ismember");
|
|
||||||
if (Cmp(kind, "function") == 0) {
|
if (Cmp(kind, "function") == 0) {
|
||||||
|
bool is_member = GetFlag(n, "ismember");
|
||||||
bool is_static = GetFlag(state.function(), IS_STATIC);
|
bool is_static = GetFlag(state.function(), IS_STATIC);
|
||||||
ret = emitFunction(n, is_member, is_static);
|
ret = emitFunction(n, is_member, is_static);
|
||||||
} else if (Cmp(kind, "variable") == 0) {
|
} else if (Cmp(kind, "variable") == 0) {
|
||||||
bool is_static = GetFlag(state.variable(), IS_STATIC);
|
bool is_static = GetFlag(state.variable(), IS_STATIC);
|
||||||
bool is_setter = GetFlag(n, "wrap:issetter");
|
bool is_setter = GetFlag(n, "wrap:issetter");
|
||||||
if (is_setter) {
|
if (is_setter) {
|
||||||
|
bool is_member = GetFlag(n, "memberset");
|
||||||
ret = emitSetter(n, is_member, is_static);
|
ret = emitSetter(n, is_member, is_static);
|
||||||
} else {
|
} else {
|
||||||
|
bool is_member = GetFlag(n, "memberget");
|
||||||
ret = emitGetter(n, is_member, is_static);
|
ret = emitGetter(n, is_member, is_static);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue