mirror of
https://github.com/servo/servo.git
synced 2025-06-13 02:44:29 +00:00
Inline CGAbstractBindingMethod.getThis.
There's no good reason to keep this separate; it's only called once, and inlining the function makes the code a little clearer. This commit does not make any change to the generated code.
This commit is contained in:
parent
82afae123e
commit
a6a06e0ffc
1 changed files with 6 additions and 9 deletions
|
@ -2493,21 +2493,18 @@ class CGAbstractBindingMethod(CGAbstractExternMethod):
|
|||
# we're someone's consequential interface. But for this-unwrapping, we
|
||||
# know that we're the real deal. So fake a descriptor here for
|
||||
# consumption by FailureFatalCastableObjectUnwrapper.
|
||||
unwrapThis = CGIndenter(CGGeneric(
|
||||
"this = " + str(CastableObjectUnwrapper(
|
||||
unwrapThis = str(CastableObjectUnwrapper(
|
||||
FakeCastableDescriptor(self.descriptor),
|
||||
"obj", self.unwrapFailureCode)) + ";\n"))
|
||||
return CGList([ self.getThis(), unwrapThis,
|
||||
self.generate_code() ], "\n").define()
|
||||
|
||||
def getThis(self):
|
||||
return CGIndenter(
|
||||
"obj", self.unwrapFailureCode))
|
||||
unwrapThis = CGIndenter(
|
||||
CGGeneric("let obj: *JSObject = JS_THIS_OBJECT(cx, vp as *mut JSVal);\n"
|
||||
"if obj.is_null() {\n"
|
||||
" return false as JSBool;\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"let this: JS<%s>;" % self.descriptor.concreteType))
|
||||
"let this: JS<%s>;\n"
|
||||
"this = %s;\n" % (self.descriptor.concreteType, unwrapThis)))
|
||||
return CGList([ unwrapThis, self.generate_code() ], "\n").define()
|
||||
|
||||
def generate_code(self):
|
||||
assert(False) # Override me
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue