mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Support variadic interface arguments (fixes #8159)
We use a RootedVec value in codegen, of which we use the `r()` method to pass `&[&T]` to the interface methods.
This commit is contained in:
parent
e66a361e08
commit
acb13dc899
7 changed files with 105 additions and 63 deletions
|
@ -157,14 +157,12 @@ class Descriptor(DescriptorProvider):
|
|||
ty = "%sBinding::%s" % (ifaceName, ifaceName)
|
||||
self.returnType = "Rc<%s>" % ty
|
||||
self.argumentType = "???"
|
||||
self.memberType = "???"
|
||||
self.nativeType = ty
|
||||
else:
|
||||
self.needsRooting = True
|
||||
self.returnType = "Root<%s>" % ifaceName
|
||||
self.argumentType = "&%s" % ifaceName
|
||||
self.memberType = "Root<%s>" % ifaceName
|
||||
self.nativeType = "Root<%s>" % ifaceName
|
||||
self.nativeType = "*const %s" % ifaceName
|
||||
|
||||
self.concreteType = ifaceName
|
||||
self.register = desc.get('register', True)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue