Merge pull request #12601 from cv3d:fix/js
* JS: Support enum types in constructors * JS: Avoid unary expression on enum-based consts
This commit is contained in:
parent
295b988657
commit
84ae8097b1
@ -381,8 +381,8 @@ class JSWrapperGenerator(object):
|
||||
if candidate_name not in ns.enums:
|
||||
name = candidate_name
|
||||
break;
|
||||
val = '_'.join(classes + [name])
|
||||
cname = name.replace('.', '::')
|
||||
type_dict[normalize_class_name(name)] = cname
|
||||
if name in ns.enums:
|
||||
print("Generator warning: enum %s (cname=%s) already exists" \
|
||||
% (name, cname))
|
||||
@ -826,7 +826,8 @@ class JSWrapperGenerator(object):
|
||||
for variant in method.variants:
|
||||
args = []
|
||||
for arg in variant.args:
|
||||
args.append(arg.tp)
|
||||
arg_type = type_dict[arg.tp] if arg.tp in type_dict else arg.tp
|
||||
args.append(arg_type)
|
||||
# print('Constructor: ', class_info.name, len(variant.args))
|
||||
args_num = len(variant.args)
|
||||
if args_num in class_info.constructor_arg_num:
|
||||
|
||||
@ -176,7 +176,7 @@ enum_template = Template("""
|
||||
""")
|
||||
|
||||
const_template = Template("""
|
||||
constant("$js_name", +$value);
|
||||
constant("$js_name", static_cast<long>($value));
|
||||
""")
|
||||
|
||||
vector_template = Template("""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user