Fix generator for Javascript enums.
This commit is contained in:
parent
3c593f56de
commit
953f2f91dc
1 changed files with 16 additions and 2 deletions
|
|
@ -12,6 +12,7 @@
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
#include "cparse.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables extra debugging information in typemaps.
|
* Enables extra debugging information in typemaps.
|
||||||
|
|
@ -1109,7 +1110,20 @@ int JSEmitter::emitConstant(Node *n) {
|
||||||
String *iname = Getattr(n, "sym:name");
|
String *iname = Getattr(n, "sym:name");
|
||||||
String *wname = Swig_name_wrapper(name);
|
String *wname = Swig_name_wrapper(name);
|
||||||
String *rawval = Getattr(n, "rawval");
|
String *rawval = Getattr(n, "rawval");
|
||||||
String *value = rawval ? rawval : Getattr(n, "value");
|
String *value;
|
||||||
|
|
||||||
|
// HACK: there are several cases.
|
||||||
|
// - rawval is set for numerical constants as
|
||||||
|
// #define MS_NOOVERRIDE -1111
|
||||||
|
// - value is set for
|
||||||
|
// - cppvalue needs to be used for c++
|
||||||
|
if (rawval) {
|
||||||
|
value = rawval;
|
||||||
|
} else if (Getattr(n, "cppvalue")) {
|
||||||
|
value = Getattr(n, "cppvalue");
|
||||||
|
} else {
|
||||||
|
value = Getattr(n, "value");
|
||||||
|
}
|
||||||
|
|
||||||
Template t_getter(getTemplate("js_getter"));
|
Template t_getter(getTemplate("js_getter"));
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue