Move WebIDL methods to traits implemented by JSRef types.

This commit is contained in:
Josh Matthews 2014-04-10 21:29:54 -04:00
parent dfdda0098a
commit 76783b029e
106 changed files with 3644 additions and 1912 deletions

View file

@ -22,192 +22,372 @@ pub struct TestBinding {
pub window: JS<Window>,
}
impl TestBinding {
pub fn BooleanAttribute(&self) -> bool { false }
pub fn SetBooleanAttribute(&self, _: bool) {}
pub fn ByteAttribute(&self) -> i8 { 0 }
pub fn SetByteAttribute(&self, _: i8) {}
pub fn OctetAttribute(&self) -> u8 { 0 }
pub fn SetOctetAttribute(&self, _: u8) {}
pub fn ShortAttribute(&self) -> i16 { 0 }
pub fn SetShortAttribute(&self, _: i16) {}
pub fn UnsignedShortAttribute(&self) -> u16 { 0 }
pub fn SetUnsignedShortAttribute(&self, _: u16) {}
pub fn LongAttribute(&self) -> i32 { 0 }
pub fn SetLongAttribute(&self, _: i32) {}
pub fn UnsignedLongAttribute(&self) -> u32 { 0 }
pub fn SetUnsignedLongAttribute(&self, _: u32) {}
pub fn LongLongAttribute(&self) -> i64 { 0 }
pub fn SetLongLongAttribute(&self, _: i64) {}
pub fn UnsignedLongLongAttribute(&self) -> u64 { 0 }
pub fn SetUnsignedLongLongAttribute(&self, _: u64) {}
pub fn FloatAttribute(&self) -> f32 { 0. }
pub fn SetFloatAttribute(&self, _: f32) {}
pub fn DoubleAttribute(&self) -> f64 { 0. }
pub fn SetDoubleAttribute(&self, _: f64) {}
pub fn StringAttribute(&self) -> DOMString { ~"" }
pub fn SetStringAttribute(&self, _: DOMString) {}
pub fn ByteStringAttribute(&self) -> ByteString { ByteString::new(vec!()) }
pub fn SetByteStringAttribute(&self, _: ByteString) {}
pub fn EnumAttribute(&self) -> TestEnum { _empty }
pub fn SetEnumAttribute(&self, _: TestEnum) {}
pub fn InterfaceAttribute(&self) -> Unrooted<Blob> {
pub trait TestBindingMethods {
fn BooleanAttribute(&self) -> bool;
fn SetBooleanAttribute(&self, _: bool);
fn ByteAttribute(&self) -> i8;
fn SetByteAttribute(&self, _: i8);
fn OctetAttribute(&self) -> u8;
fn SetOctetAttribute(&self, _: u8);
fn ShortAttribute(&self) -> i16;
fn SetShortAttribute(&self, _: i16);
fn UnsignedShortAttribute(&self) -> u16;
fn SetUnsignedShortAttribute(&self, _: u16);
fn LongAttribute(&self) -> i32;
fn SetLongAttribute(&self, _: i32);
fn UnsignedLongAttribute(&self) -> u32;
fn SetUnsignedLongAttribute(&self, _: u32);
fn LongLongAttribute(&self) -> i64;
fn SetLongLongAttribute(&self, _: i64);
fn UnsignedLongLongAttribute(&self) -> u64;
fn SetUnsignedLongLongAttribute(&self, _: u64);
fn FloatAttribute(&self) -> f32;
fn SetFloatAttribute(&self, _: f32);
fn DoubleAttribute(&self) -> f64;
fn SetDoubleAttribute(&self, _: f64);
fn StringAttribute(&self) -> DOMString;
fn SetStringAttribute(&self, _: DOMString);
fn ByteStringAttribute(&self) -> ByteString;
fn SetByteStringAttribute(&self, _: ByteString);
fn EnumAttribute(&self) -> TestEnum;
fn SetEnumAttribute(&self, _: TestEnum);
fn InterfaceAttribute(&self) -> Unrooted<Blob>;
fn SetInterfaceAttribute(&self, _: &JSRef<Blob>);
fn AnyAttribute(&self, _: *JSContext) -> JSVal;
fn SetAnyAttribute(&self, _: *JSContext, _: JSVal);
fn GetBooleanAttributeNullable(&self) -> Option<bool>;
fn SetBooleanAttributeNullable(&self, _: Option<bool>);
fn GetByteAttributeNullable(&self) -> Option<i8>;
fn SetByteAttributeNullable(&self, _: Option<i8>);
fn GetOctetAttributeNullable(&self) -> Option<u8>;
fn SetOctetAttributeNullable(&self, _: Option<u8>);
fn GetShortAttributeNullable(&self) -> Option<i16>;
fn SetShortAttributeNullable(&self, _: Option<i16>);
fn GetUnsignedShortAttributeNullable(&self) -> Option<u16>;
fn SetUnsignedShortAttributeNullable(&self, _: Option<u16>);
fn GetLongAttributeNullable(&self) -> Option<i32>;
fn SetLongAttributeNullable(&self, _: Option<i32>);
fn GetUnsignedLongAttributeNullable(&self) -> Option<u32>;
fn SetUnsignedLongAttributeNullable(&self, _: Option<u32>);
fn GetLongLongAttributeNullable(&self) -> Option<i64>;
fn SetLongLongAttributeNullable(&self, _: Option<i64>);
fn GetUnsignedLongLongAttributeNullable(&self) -> Option<u64>;
fn SetUnsignedLongLongAttributeNullable(&self, _: Option<u64>);
fn GetFloatAttributeNullable(&self) -> Option<f32>;
fn SetFloatAttributeNullable(&self, _: Option<f32>);
fn GetDoubleAttributeNullable(&self) -> Option<f64>;
fn SetDoubleAttributeNullable(&self, _: Option<f64>);
fn GetByteStringAttributeNullable(&self) -> Option<ByteString>;
fn SetByteStringAttributeNullable(&self, _: Option<ByteString>);
fn GetStringAttributeNullable(&self) -> Option<DOMString>;
fn SetStringAttributeNullable(&self, _: Option<DOMString>);
fn GetEnumAttributeNullable(&self) -> Option<TestEnum>;
fn GetInterfaceAttributeNullable(&self) -> Option<Unrooted<Blob>>;
fn SetInterfaceAttributeNullable(&self, _: Option<JSRef<Blob>>);
fn PassBoolean(&self, _: bool);
fn PassByte(&self, _: i8);
fn PassOctet(&self, _: u8);
fn PassShort(&self, _: i16);
fn PassUnsignedShort(&self, _: u16);
fn PassLong(&self, _: i32);
fn PassUnsignedLong(&self, _: u32);
fn PassLongLong(&self, _: i64);
fn PassUnsignedLongLong(&self, _: u64);
fn PassFloat(&self, _: f32);
fn PassDouble(&self, _: f64);
fn PassString(&self, _: DOMString);
fn PassByteString(&self, _: ByteString);
fn PassEnum(&self, _: TestEnum);
fn PassInterface(&self, _: &JSRef<Blob>);
fn PassUnion(&self, _: HTMLElementOrLong);
fn PassAny(&self, _: *JSContext, _: JSVal);
fn PassNullableBoolean(&self, _: Option<bool>);
fn PassNullableByte(&self, _: Option<i8>);
fn PassNullableOctet(&self, _: Option<u8>);
fn PassNullableShort(&self, _: Option<i16>);
fn PassNullableUnsignedShort(&self, _: Option<u16>);
fn PassNullableLong(&self, _: Option<i32>);
fn PassNullableUnsignedLong(&self, _: Option<u32>);
fn PassNullableLongLong(&self, _: Option<i64>);
fn PassNullableUnsignedLongLong(&self, _: Option<u64>);
fn PassNullableFloat(&self, _: Option<f32>);
fn PassNullableDouble(&self, _: Option<f64>);
fn PassNullableString(&self, _: Option<DOMString>);
fn PassNullableByteString(&self, _: Option<ByteString>) {}
// fn PassNullableEnum(&self, _: Option<TestEnum>);
fn PassNullableInterface(&self, _: Option<JSRef<Blob>>);
fn PassNullableUnion(&self, _: Option<HTMLElementOrLong>);
fn PassNullableAny(&self, _: *JSContext, _: Option<JSVal>);
fn PassOptionalBoolean(&self, _: Option<bool>);
fn PassOptionalByte(&self, _: Option<i8>);
fn PassOptionalOctet(&self, _: Option<u8>);
fn PassOptionalShort(&self, _: Option<i16>);
fn PassOptionalUnsignedShort(&self, _: Option<u16>);
fn PassOptionalLong(&self, _: Option<i32>);
fn PassOptionalUnsignedLong(&self, _: Option<u32>);
fn PassOptionalLongLong(&self, _: Option<i64>);
fn PassOptionalUnsignedLongLong(&self, _: Option<u64>);
fn PassOptionalFloat(&self, _: Option<f32>);
fn PassOptionalDouble(&self, _: Option<f64>);
fn PassOptionalString(&self, _: Option<DOMString>);
fn PassOptionalByteString(&self, _: Option<ByteString>) {}
fn PassOptionalEnum(&self, _: Option<TestEnum>);
fn PassOptionalInterface(&self, _: Option<JSRef<Blob>>);
fn PassOptionalUnion(&self, _: Option<HTMLElementOrLong>);
fn PassOptionalAny(&self, _: *JSContext, _: Option<JSVal>);
fn PassOptionalNullableBoolean(&self, _: Option<Option<bool>>);
fn PassOptionalNullableByte(&self, _: Option<Option<i8>>);
fn PassOptionalNullableOctet(&self, _: Option<Option<u8>>);
fn PassOptionalNullableShort(&self, _: Option<Option<i16>>);
fn PassOptionalNullableUnsignedShort(&self, _: Option<Option<u16>>);
fn PassOptionalNullableLong(&self, _: Option<Option<i32>>);
fn PassOptionalNullableUnsignedLong(&self, _: Option<Option<u32>>);
fn PassOptionalNullableLongLong(&self, _: Option<Option<i64>>);
fn PassOptionalNullableUnsignedLongLong(&self, _: Option<Option<u64>>);
fn PassOptionalNullableFloat(&self, _: Option<Option<f32>>);
fn PassOptionalNullableDouble(&self, _: Option<Option<f64>>);
fn PassOptionalNullableString(&self, _: Option<Option<DOMString>>);
fn PassOptionalNullableByteString(&self, _: Option<Option<ByteString>>) {}
// fn PassOptionalNullableEnum(&self, _: Option<Option<TestEnum>>);
fn PassOptionalNullableInterface(&self, _: Option<Option<JS<Blob>>>);
fn PassOptionalNullableUnion(&self, _: Option<Option<HTMLElementOrLong>>);
fn PassOptionalBooleanWithDefault(&self, _: bool);
fn PassOptionalByteWithDefault(&self, _: i8);
fn PassOptionalOctetWithDefault(&self, _: u8);
fn PassOptionalShortWithDefault(&self, _: i16);
fn PassOptionalUnsignedShortWithDefault(&self, _: u16);
fn PassOptionalLongWithDefault(&self, _: i32);
fn PassOptionalUnsignedLongWithDefault(&self, _: u32);
fn PassOptionalLongLongWithDefault(&self, _: i64);
fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64);
fn PassOptionalStringWithDefault(&self, _: DOMString);
fn PassOptionalEnumWithDefault(&self, _: TestEnum);
fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>);
fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>);
fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>);
fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>);
fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>);
fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>);
fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>);
fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>);
fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>);
fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>);
fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>);
fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>);
fn PassOptionalNullableByteStringWithDefault(&self, _: Option<ByteString>) {}
// fn PassOptionalNullableEnumWithDefault(&self, _: Option<TestEnum>);
fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JSRef<Blob>>);
fn PassOptionalNullableUnionWithDefault(&self, _: Option<HTMLElementOrLong>);
fn PassOptionalAnyWithDefault(&self, _: *JSContext, _: JSVal);
fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option<bool>);
fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option<i8>);
fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option<u8>);
fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option<i16>);
fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option<u16>);
fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option<i32>);
fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option<u32>);
fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option<i64>);
fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option<u64>);
// fn PassOptionalNullableFloatWithNonNullDefault(&self, _: Option<f32>);
// fn PassOptionalNullableDoubleWithNonNullDefault(&self, _: Option<f64>);
fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>);
// fn PassOptionalNullableEnumWithNonNullDefault(&self, _: Option<TestEnum>);
}
impl<'a> TestBindingMethods for JSRef<'a, TestBinding> {
fn BooleanAttribute(&self) -> bool { false }
fn SetBooleanAttribute(&self, _: bool) {}
fn ByteAttribute(&self) -> i8 { 0 }
fn SetByteAttribute(&self, _: i8) {}
fn OctetAttribute(&self) -> u8 { 0 }
fn SetOctetAttribute(&self, _: u8) {}
fn ShortAttribute(&self) -> i16 { 0 }
fn SetShortAttribute(&self, _: i16) {}
fn UnsignedShortAttribute(&self) -> u16 { 0 }
fn SetUnsignedShortAttribute(&self, _: u16) {}
fn LongAttribute(&self) -> i32 { 0 }
fn SetLongAttribute(&self, _: i32) {}
fn UnsignedLongAttribute(&self) -> u32 { 0 }
fn SetUnsignedLongAttribute(&self, _: u32) {}
fn LongLongAttribute(&self) -> i64 { 0 }
fn SetLongLongAttribute(&self, _: i64) {}
fn UnsignedLongLongAttribute(&self) -> u64 { 0 }
fn SetUnsignedLongLongAttribute(&self, _: u64) {}
fn FloatAttribute(&self) -> f32 { 0. }
fn SetFloatAttribute(&self, _: f32) {}
fn DoubleAttribute(&self) -> f64 { 0. }
fn SetDoubleAttribute(&self, _: f64) {}
fn StringAttribute(&self) -> DOMString { ~"" }
fn SetStringAttribute(&self, _: DOMString) {}
fn ByteStringAttribute(&self) -> ByteString { ByteString::new(vec!()) }
fn SetByteStringAttribute(&self, _: ByteString) {}
fn EnumAttribute(&self) -> TestEnum { _empty }
fn SetEnumAttribute(&self, _: TestEnum) {}
fn InterfaceAttribute(&self) -> Unrooted<Blob> {
let roots = RootCollection::new();
let window = self.window.root(&roots);
Blob::new(&*window)
}
pub fn SetInterfaceAttribute(&self, _: &JSRef<Blob>) {}
pub fn AnyAttribute(&self, _: *JSContext) -> JSVal { NullValue() }
pub fn SetAnyAttribute(&self, _: *JSContext, _: JSVal) {}
fn SetInterfaceAttribute(&self, _: &JSRef<Blob>) {}
fn AnyAttribute(&self, _: *JSContext) -> JSVal { NullValue() }
fn SetAnyAttribute(&self, _: *JSContext, _: JSVal) {}
pub fn GetBooleanAttributeNullable(&self) -> Option<bool> { Some(false) }
pub fn SetBooleanAttributeNullable(&self, _: Option<bool>) {}
pub fn GetByteAttributeNullable(&self) -> Option<i8> { Some(0) }
pub fn SetByteAttributeNullable(&self, _: Option<i8>) {}
pub fn GetOctetAttributeNullable(&self) -> Option<u8> { Some(0) }
pub fn SetOctetAttributeNullable(&self, _: Option<u8>) {}
pub fn GetShortAttributeNullable(&self) -> Option<i16> { Some(0) }
pub fn SetShortAttributeNullable(&self, _: Option<i16>) {}
pub fn GetUnsignedShortAttributeNullable(&self) -> Option<u16> { Some(0) }
pub fn SetUnsignedShortAttributeNullable(&self, _: Option<u16>) {}
pub fn GetLongAttributeNullable(&self) -> Option<i32> { Some(0) }
pub fn SetLongAttributeNullable(&self, _: Option<i32>) {}
pub fn GetUnsignedLongAttributeNullable(&self) -> Option<u32> { Some(0) }
pub fn SetUnsignedLongAttributeNullable(&self, _: Option<u32>) {}
pub fn GetLongLongAttributeNullable(&self) -> Option<i64> { Some(0) }
pub fn SetLongLongAttributeNullable(&self, _: Option<i64>) {}
pub fn GetUnsignedLongLongAttributeNullable(&self) -> Option<u64> { Some(0) }
pub fn SetUnsignedLongLongAttributeNullable(&self, _: Option<u64>) {}
pub fn GetFloatAttributeNullable(&self) -> Option<f32> { Some(0.) }
pub fn SetFloatAttributeNullable(&self, _: Option<f32>) {}
pub fn GetDoubleAttributeNullable(&self) -> Option<f64> { Some(0.) }
pub fn SetDoubleAttributeNullable(&self, _: Option<f64>) {}
pub fn GetByteStringAttributeNullable(&self) -> Option<ByteString> { Some(ByteString::new(vec!())) }
pub fn SetByteStringAttributeNullable(&self, _: Option<ByteString>) {}
pub fn GetStringAttributeNullable(&self) -> Option<DOMString> { Some(~"") }
pub fn SetStringAttributeNullable(&self, _: Option<DOMString>) {}
pub fn GetEnumAttributeNullable(&self) -> Option<TestEnum> { Some(_empty) }
pub fn GetInterfaceAttributeNullable(&self) -> Option<Unrooted<Blob>> {
fn GetBooleanAttributeNullable(&self) -> Option<bool> { Some(false) }
fn SetBooleanAttributeNullable(&self, _: Option<bool>) {}
fn GetByteAttributeNullable(&self) -> Option<i8> { Some(0) }
fn SetByteAttributeNullable(&self, _: Option<i8>) {}
fn GetOctetAttributeNullable(&self) -> Option<u8> { Some(0) }
fn SetOctetAttributeNullable(&self, _: Option<u8>) {}
fn GetShortAttributeNullable(&self) -> Option<i16> { Some(0) }
fn SetShortAttributeNullable(&self, _: Option<i16>) {}
fn GetUnsignedShortAttributeNullable(&self) -> Option<u16> { Some(0) }
fn SetUnsignedShortAttributeNullable(&self, _: Option<u16>) {}
fn GetLongAttributeNullable(&self) -> Option<i32> { Some(0) }
fn SetLongAttributeNullable(&self, _: Option<i32>) {}
fn GetUnsignedLongAttributeNullable(&self) -> Option<u32> { Some(0) }
fn SetUnsignedLongAttributeNullable(&self, _: Option<u32>) {}
fn GetLongLongAttributeNullable(&self) -> Option<i64> { Some(0) }
fn SetLongLongAttributeNullable(&self, _: Option<i64>) {}
fn GetUnsignedLongLongAttributeNullable(&self) -> Option<u64> { Some(0) }
fn SetUnsignedLongLongAttributeNullable(&self, _: Option<u64>) {}
fn GetFloatAttributeNullable(&self) -> Option<f32> { Some(0.) }
fn SetFloatAttributeNullable(&self, _: Option<f32>) {}
fn GetDoubleAttributeNullable(&self) -> Option<f64> { Some(0.) }
fn SetDoubleAttributeNullable(&self, _: Option<f64>) {}
fn GetByteStringAttributeNullable(&self) -> Option<ByteString> { Some(ByteString::new(vec!())) }
fn SetByteStringAttributeNullable(&self, _: Option<ByteString>) {}
fn GetStringAttributeNullable(&self) -> Option<DOMString> { Some(~"") }
fn SetStringAttributeNullable(&self, _: Option<DOMString>) {}
fn GetEnumAttributeNullable(&self) -> Option<TestEnum> { Some(_empty) }
fn GetInterfaceAttributeNullable(&self) -> Option<Unrooted<Blob>> {
let roots = RootCollection::new();
let window = self.window.root(&roots);
Some(Blob::new(&(*window)))
}
pub fn SetInterfaceAttributeNullable(&self, _: Option<JSRef<Blob>>) {}
fn SetInterfaceAttributeNullable(&self, _: Option<JSRef<Blob>>) {}
pub fn PassBoolean(&self, _: bool) {}
pub fn PassByte(&self, _: i8) {}
pub fn PassOctet(&self, _: u8) {}
pub fn PassShort(&self, _: i16) {}
pub fn PassUnsignedShort(&self, _: u16) {}
pub fn PassLong(&self, _: i32) {}
pub fn PassUnsignedLong(&self, _: u32) {}
pub fn PassLongLong(&self, _: i64) {}
pub fn PassUnsignedLongLong(&self, _: u64) {}
pub fn PassFloat(&self, _: f32) {}
pub fn PassDouble(&self, _: f64) {}
pub fn PassString(&self, _: DOMString) {}
pub fn PassByteString(&self, _: ByteString) {}
pub fn PassEnum(&self, _: TestEnum) {}
pub fn PassInterface(&self, _: &JSRef<Blob>) {}
pub fn PassUnion(&self, _: HTMLElementOrLong) {}
pub fn PassAny(&self, _: *JSContext, _: JSVal) {}
fn PassBoolean(&self, _: bool) {}
fn PassByte(&self, _: i8) {}
fn PassOctet(&self, _: u8) {}
fn PassShort(&self, _: i16) {}
fn PassUnsignedShort(&self, _: u16) {}
fn PassLong(&self, _: i32) {}
fn PassUnsignedLong(&self, _: u32) {}
fn PassLongLong(&self, _: i64) {}
fn PassUnsignedLongLong(&self, _: u64) {}
fn PassFloat(&self, _: f32) {}
fn PassDouble(&self, _: f64) {}
fn PassString(&self, _: DOMString) {}
fn PassByteString(&self, _: ByteString) {}
fn PassEnum(&self, _: TestEnum) {}
fn PassInterface(&self, _: &JSRef<Blob>) {}
fn PassUnion(&self, _: HTMLElementOrLong) {}
fn PassAny(&self, _: *JSContext, _: JSVal) {}
pub fn PassNullableBoolean(&self, _: Option<bool>) {}
pub fn PassNullableByte(&self, _: Option<i8>) {}
pub fn PassNullableOctet(&self, _: Option<u8>) {}
pub fn PassNullableShort(&self, _: Option<i16>) {}
pub fn PassNullableUnsignedShort(&self, _: Option<u16>) {}
pub fn PassNullableLong(&self, _: Option<i32>) {}
pub fn PassNullableUnsignedLong(&self, _: Option<u32>) {}
pub fn PassNullableLongLong(&self, _: Option<i64>) {}
pub fn PassNullableUnsignedLongLong(&self, _: Option<u64>) {}
pub fn PassNullableFloat(&self, _: Option<f32>) {}
pub fn PassNullableDouble(&self, _: Option<f64>) {}
pub fn PassNullableString(&self, _: Option<DOMString>) {}
pub fn PassNullableByteString(&self, _: Option<ByteString>) {}
// pub fn PassNullableEnum(&self, _: Option<TestEnum>) {}
pub fn PassNullableInterface(&self, _: Option<JSRef<Blob>>) {}
pub fn PassNullableUnion(&self, _: Option<HTMLElementOrLong>) {}
pub fn PassNullableAny(&self, _: *JSContext, _: Option<JSVal>) {}
fn PassNullableBoolean(&self, _: Option<bool>) {}
fn PassNullableByte(&self, _: Option<i8>) {}
fn PassNullableOctet(&self, _: Option<u8>) {}
fn PassNullableShort(&self, _: Option<i16>) {}
fn PassNullableUnsignedShort(&self, _: Option<u16>) {}
fn PassNullableLong(&self, _: Option<i32>) {}
fn PassNullableUnsignedLong(&self, _: Option<u32>) {}
fn PassNullableLongLong(&self, _: Option<i64>) {}
fn PassNullableUnsignedLongLong(&self, _: Option<u64>) {}
fn PassNullableFloat(&self, _: Option<f32>) {}
fn PassNullableDouble(&self, _: Option<f64>) {}
fn PassNullableString(&self, _: Option<DOMString>) {}
fn PassNullableByteString(&self, _: Option<ByteString>) {}
// fn PassNullableEnum(&self, _: Option<TestEnum>) {}
fn PassNullableInterface(&self, _: Option<JSRef<Blob>>) {}
fn PassNullableUnion(&self, _: Option<HTMLElementOrLong>) {}
fn PassNullableAny(&self, _: *JSContext, _: Option<JSVal>) {}
pub fn PassOptionalBoolean(&self, _: Option<bool>) {}
pub fn PassOptionalByte(&self, _: Option<i8>) {}
pub fn PassOptionalOctet(&self, _: Option<u8>) {}
pub fn PassOptionalShort(&self, _: Option<i16>) {}
pub fn PassOptionalUnsignedShort(&self, _: Option<u16>) {}
pub fn PassOptionalLong(&self, _: Option<i32>) {}
pub fn PassOptionalUnsignedLong(&self, _: Option<u32>) {}
pub fn PassOptionalLongLong(&self, _: Option<i64>) {}
pub fn PassOptionalUnsignedLongLong(&self, _: Option<u64>) {}
pub fn PassOptionalFloat(&self, _: Option<f32>) {}
pub fn PassOptionalDouble(&self, _: Option<f64>) {}
pub fn PassOptionalString(&self, _: Option<DOMString>) {}
pub fn PassOptionalByteString(&self, _: Option<ByteString>) {}
pub fn PassOptionalEnum(&self, _: Option<TestEnum>) {}
pub fn PassOptionalInterface(&self, _: Option<JSRef<Blob>>) {}
pub fn PassOptionalUnion(&self, _: Option<HTMLElementOrLong>) {}
pub fn PassOptionalAny(&self, _: *JSContext, _: Option<JSVal>) {}
fn PassOptionalBoolean(&self, _: Option<bool>) {}
fn PassOptionalByte(&self, _: Option<i8>) {}
fn PassOptionalOctet(&self, _: Option<u8>) {}
fn PassOptionalShort(&self, _: Option<i16>) {}
fn PassOptionalUnsignedShort(&self, _: Option<u16>) {}
fn PassOptionalLong(&self, _: Option<i32>) {}
fn PassOptionalUnsignedLong(&self, _: Option<u32>) {}
fn PassOptionalLongLong(&self, _: Option<i64>) {}
fn PassOptionalUnsignedLongLong(&self, _: Option<u64>) {}
fn PassOptionalFloat(&self, _: Option<f32>) {}
fn PassOptionalDouble(&self, _: Option<f64>) {}
fn PassOptionalString(&self, _: Option<DOMString>) {}
fn PassOptionalByteString(&self, _: Option<ByteString>) {}
fn PassOptionalEnum(&self, _: Option<TestEnum>) {}
fn PassOptionalInterface(&self, _: Option<JSRef<Blob>>) {}
fn PassOptionalUnion(&self, _: Option<HTMLElementOrLong>) {}
fn PassOptionalAny(&self, _: *JSContext, _: Option<JSVal>) {}
pub fn PassOptionalNullableBoolean(&self, _: Option<Option<bool>>) {}
pub fn PassOptionalNullableByte(&self, _: Option<Option<i8>>) {}
pub fn PassOptionalNullableOctet(&self, _: Option<Option<u8>>) {}
pub fn PassOptionalNullableShort(&self, _: Option<Option<i16>>) {}
pub fn PassOptionalNullableUnsignedShort(&self, _: Option<Option<u16>>) {}
pub fn PassOptionalNullableLong(&self, _: Option<Option<i32>>) {}
pub fn PassOptionalNullableUnsignedLong(&self, _: Option<Option<u32>>) {}
pub fn PassOptionalNullableLongLong(&self, _: Option<Option<i64>>) {}
pub fn PassOptionalNullableUnsignedLongLong(&self, _: Option<Option<u64>>) {}
pub fn PassOptionalNullableFloat(&self, _: Option<Option<f32>>) {}
pub fn PassOptionalNullableDouble(&self, _: Option<Option<f64>>) {}
pub fn PassOptionalNullableString(&self, _: Option<Option<DOMString>>) {}
pub fn PassOptionalNullableByteString(&self, _: Option<Option<ByteString>>) {}
// pub fn PassOptionalNullableEnum(&self, _: Option<Option<TestEnum>>) {}
pub fn PassOptionalNullableInterface(&self, _: Option<Option<JS<Blob>>>) {}
pub fn PassOptionalNullableUnion(&self, _: Option<Option<HTMLElementOrLong>>) {}
fn PassOptionalNullableBoolean(&self, _: Option<Option<bool>>) {}
fn PassOptionalNullableByte(&self, _: Option<Option<i8>>) {}
fn PassOptionalNullableOctet(&self, _: Option<Option<u8>>) {}
fn PassOptionalNullableShort(&self, _: Option<Option<i16>>) {}
fn PassOptionalNullableUnsignedShort(&self, _: Option<Option<u16>>) {}
fn PassOptionalNullableLong(&self, _: Option<Option<i32>>) {}
fn PassOptionalNullableUnsignedLong(&self, _: Option<Option<u32>>) {}
fn PassOptionalNullableLongLong(&self, _: Option<Option<i64>>) {}
fn PassOptionalNullableUnsignedLongLong(&self, _: Option<Option<u64>>) {}
fn PassOptionalNullableFloat(&self, _: Option<Option<f32>>) {}
fn PassOptionalNullableDouble(&self, _: Option<Option<f64>>) {}
fn PassOptionalNullableString(&self, _: Option<Option<DOMString>>) {}
fn PassOptionalNullableByteString(&self, _: Option<Option<ByteString>>) {}
// fn PassOptionalNullableEnum(&self, _: Option<Option<TestEnum>>) {}
fn PassOptionalNullableInterface(&self, _: Option<Option<JS<Blob>>>) {}
fn PassOptionalNullableUnion(&self, _: Option<Option<HTMLElementOrLong>>) {}
pub fn PassOptionalBooleanWithDefault(&self, _: bool) {}
pub fn PassOptionalByteWithDefault(&self, _: i8) {}
pub fn PassOptionalOctetWithDefault(&self, _: u8) {}
pub fn PassOptionalShortWithDefault(&self, _: i16) {}
pub fn PassOptionalUnsignedShortWithDefault(&self, _: u16) {}
pub fn PassOptionalLongWithDefault(&self, _: i32) {}
pub fn PassOptionalUnsignedLongWithDefault(&self, _: u32) {}
pub fn PassOptionalLongLongWithDefault(&self, _: i64) {}
pub fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {}
pub fn PassOptionalStringWithDefault(&self, _: DOMString) {}
pub fn PassOptionalEnumWithDefault(&self, _: TestEnum) {}
fn PassOptionalBooleanWithDefault(&self, _: bool) {}
fn PassOptionalByteWithDefault(&self, _: i8) {}
fn PassOptionalOctetWithDefault(&self, _: u8) {}
fn PassOptionalShortWithDefault(&self, _: i16) {}
fn PassOptionalUnsignedShortWithDefault(&self, _: u16) {}
fn PassOptionalLongWithDefault(&self, _: i32) {}
fn PassOptionalUnsignedLongWithDefault(&self, _: u32) {}
fn PassOptionalLongLongWithDefault(&self, _: i64) {}
fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {}
fn PassOptionalStringWithDefault(&self, _: DOMString) {}
fn PassOptionalEnumWithDefault(&self, _: TestEnum) {}
pub fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>) {}
pub fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>) {}
pub fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>) {}
pub fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>) {}
pub fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>) {}
pub fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>) {}
pub fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>) {}
pub fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>) {}
pub fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>) {}
pub fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>) {}
pub fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>) {}
pub fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>) {}
pub fn PassOptionalNullableByteStringWithDefault(&self, _: Option<ByteString>) {}
// pub fn PassOptionalNullableEnumWithDefault(&self, _: Option<TestEnum>) {}
pub fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JSRef<Blob>>) {}
pub fn PassOptionalNullableUnionWithDefault(&self, _: Option<HTMLElementOrLong>) {}
pub fn PassOptionalAnyWithDefault(&self, _: *JSContext, _: JSVal) {}
fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>) {}
fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>) {}
fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>) {}
fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>) {}
fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>) {}
fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>) {}
fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>) {}
fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>) {}
fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>) {}
fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>) {}
fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>) {}
fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>) {}
fn PassOptionalNullableByteStringWithDefault(&self, _: Option<ByteString>) {}
// fn PassOptionalNullableEnumWithDefault(&self, _: Option<TestEnum>) {}
fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JSRef<Blob>>) {}
fn PassOptionalNullableUnionWithDefault(&self, _: Option<HTMLElementOrLong>) {}
fn PassOptionalAnyWithDefault(&self, _: *JSContext, _: JSVal) {}
pub fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option<bool>) {}
pub fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option<i8>) {}
pub fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option<u8>) {}
pub fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option<i16>) {}
pub fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option<u16>) {}
pub fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option<i32>) {}
pub fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option<u32>) {}
pub fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option<i64>) {}
pub fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option<u64>) {}
// pub fn PassOptionalNullableFloatWithNonNullDefault(&self, _: Option<f32>) {}
// pub fn PassOptionalNullableDoubleWithNonNullDefault(&self, _: Option<f64>) {}
pub fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>) {}
// pub fn PassOptionalNullableEnumWithNonNullDefault(&self, _: Option<TestEnum>) {}
fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option<bool>) {}
fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option<i8>) {}
fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option<u8>) {}
fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option<i16>) {}
fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option<u16>) {}
fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option<i32>) {}
fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option<u32>) {}
fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option<i64>) {}
fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option<u64>) {}
// fn PassOptionalNullableFloatWithNonNullDefault(&self, _: Option<f32>) {}
// fn PassOptionalNullableDoubleWithNonNullDefault(&self, _: Option<f64>) {}
fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>) {}
// fn PassOptionalNullableEnumWithNonNullDefault(&self, _: Option<TestEnum>) {}
}
impl Reflectable for TestBinding {