Auto merge of #11883 - Ms2ger:bindings-refactor, r=jdm

Some bindings improvements.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11883)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-06-27 18:07:07 -05:00 committed by GitHub
commit 00af25b685
3 changed files with 6 additions and 13 deletions

View file

@ -4574,8 +4574,7 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod):
"unforgeables. Figure out how that should work!")
set += ("if RUST_JSID_IS_STRING(id) {\n" +
CGIndenter(CGProxyNamedSetter(self.descriptor)).define() +
" (*opresult).code_ = 0; /* SpecialCodes::OkCode */\n" +
" return true;\n" +
" return (*opresult).succeed();\n" +
"} else {\n" +
" return false;\n" +
"}\n")
@ -4587,11 +4586,9 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod):
" //return js::IsInNonStrictPropertySet(cx)\n" +
" // ? opresult.succeed()\n" +
" // : ThrowErrorMessage(cx, MSG_NO_NAMED_SETTER, \"${name}\");\n" +
" (*opresult).code_ = 0; /* SpecialCodes::OkCode */\n" +
" return true;\n" +
" return (*opresult).succeed();\n" +
" }\n" +
" (*opresult).code_ = 0; /* SpecialCodes::OkCode */\n" +
" return true;\n"
" return (*opresult).succeed();\n"
"}\n") % (self.descriptor.name, self.descriptor.name)
set += "return proxyhandler::define_property(%s);" % ", ".join(a.name for a in self.args)
return set
@ -4753,9 +4750,7 @@ class CGDOMJSProxyHandler_hasOwn(CGAbstractExternMethod):
return indexed + """\
let expando = RootedObject::new(cx, get_expando_object(proxy));
if !expando.ptr.is_null() {
let mut b = true;
let ok = JS_HasPropertyById(cx, expando.handle(), id, &mut b);
*bp = b;
let ok = JS_HasPropertyById(cx, expando.handle(), id, bp);
if !ok || *bp {
return ok;
}