Implement support for default values for enumeration arguments.

This commit is contained in:
Ms2ger 2014-04-18 10:21:50 +02:00
parent d53841b016
commit 4d20d1716d
3 changed files with 7 additions and 7 deletions

View file

@ -751,11 +751,11 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
if defaultValue is not None:
assert(defaultValue.type.tag() == IDLType.Tags.domstring)
template = "" #XXXjdm unfinished
#template = handleDefault(template,
# ("${declName} = %sValues::%s;" %
# (enum,
# getEnumValueName(defaultValue.value))))
template = handleDefault(template,
("${declName} = %sValues::%s;" %
(enum,
getEnumValueName(defaultValue.value))))
return (template, CGGeneric(enum), None, isOptional, None)
if type.isCallback():

View file

@ -120,7 +120,7 @@ impl TestBinding {
pub fn PassOptionalLongLongWithDefault(&self, _: i64) {}
pub fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {}
pub fn PassOptionalStringWithDefault(&self, _: DOMString) {}
// pub fn PassOptionalEnumWithDefault(&self, _: TestEnum) {}
pub fn PassOptionalEnumWithDefault(&self, _: TestEnum) {}
pub fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>) {}
pub fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>) {}

View file

@ -77,7 +77,7 @@ interface TestBinding {
void passOptionalLongLongWithDefault(optional long long arg = -12);
void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
void passOptionalStringWithDefault(optional DOMString arg = "");
// void passOptionalEnumWithDefault(optional TestEnum arg = "foo");
void passOptionalEnumWithDefault(optional TestEnum arg = "foo");
void passOptionalNullableBooleanWithDefault(optional boolean? arg = null);
void passOptionalNullableByteWithDefault(optional byte? arg = null);