mirror of
https://github.com/servo/servo.git
synced 2025-06-18 13:24:29 +00:00
Merge pull request #3443 from Ms2ger/uniontypes
Remove the glob import for UnionTypes; r=jdm
This commit is contained in:
commit
fd5c6e8512
1 changed files with 10 additions and 7 deletions
|
@ -422,6 +422,12 @@ def typeIsSequenceOrHasSequenceMember(type):
|
||||||
def typeNeedsRooting(type, descriptorProvider):
|
def typeNeedsRooting(type, descriptorProvider):
|
||||||
return type.isGeckoInterface() and descriptorProvider.getDescriptor(type.name).needsRooting
|
return type.isGeckoInterface() and descriptorProvider.getDescriptor(type.name).needsRooting
|
||||||
|
|
||||||
|
|
||||||
|
def union_native_type(t):
|
||||||
|
name = t.unroll().name
|
||||||
|
return 'UnionTypes::%s::%s' % (name, name)
|
||||||
|
|
||||||
|
|
||||||
def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
|
def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
|
||||||
isDefinitelyObject=False,
|
isDefinitelyObject=False,
|
||||||
isMember=False,
|
isMember=False,
|
||||||
|
@ -576,7 +582,7 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
|
||||||
raise TypeError("Can't handle sequence arguments yet")
|
raise TypeError("Can't handle sequence arguments yet")
|
||||||
|
|
||||||
if type.isUnion():
|
if type.isUnion():
|
||||||
declType = CGGeneric(type.name + "::" + type.name)
|
declType = CGGeneric(union_native_type(type))
|
||||||
if type.nullable():
|
if type.nullable():
|
||||||
declType = CGWrapper(declType, pre="Option<", post=" >")
|
declType = CGWrapper(declType, pre="Option<", post=" >")
|
||||||
|
|
||||||
|
@ -1075,7 +1081,7 @@ def getRetvalDeclarationForType(returnType, descriptorProvider):
|
||||||
result = CGWrapper(result, pre="Option<", post=">")
|
result = CGWrapper(result, pre="Option<", post=">")
|
||||||
return result
|
return result
|
||||||
if returnType.isUnion():
|
if returnType.isUnion():
|
||||||
result = CGGeneric('%s::%s' % (returnType.unroll().name, returnType.unroll().name))
|
result = CGGeneric(union_native_type(returnType))
|
||||||
if returnType.nullable():
|
if returnType.nullable():
|
||||||
result = CGWrapper(result, pre="Option<", post=">")
|
result = CGWrapper(result, pre="Option<", post=">")
|
||||||
return result
|
return result
|
||||||
|
@ -4537,9 +4543,8 @@ class CGBindingRoot(CGThing):
|
||||||
'dom::bindings::conversions::{FromJSValConvertible, ToJSValConvertible}',
|
'dom::bindings::conversions::{FromJSValConvertible, ToJSValConvertible}',
|
||||||
'dom::bindings::conversions::IDLInterface',
|
'dom::bindings::conversions::IDLInterface',
|
||||||
'dom::bindings::conversions::{Default, Empty}',
|
'dom::bindings::conversions::{Default, Empty}',
|
||||||
'dom::bindings::codegen::{PrototypeList, RegisterBindings}',
|
'dom::bindings::codegen::{PrototypeList, RegisterBindings, UnionTypes}',
|
||||||
'dom::bindings::codegen::Bindings::*',
|
'dom::bindings::codegen::Bindings::*',
|
||||||
'dom::bindings::codegen::UnionTypes::*',
|
|
||||||
'dom::bindings::error::{FailureUnknown, Fallible, Error, ErrorResult}',
|
'dom::bindings::error::{FailureUnknown, Fallible, Error, ErrorResult}',
|
||||||
'dom::bindings::error::throw_dom_exception',
|
'dom::bindings::error::throw_dom_exception',
|
||||||
'dom::bindings::error::throw_type_error',
|
'dom::bindings::error::throw_type_error',
|
||||||
|
@ -4751,9 +4756,7 @@ class CGNativeMember(ClassMethod):
|
||||||
return decl.define(), True, True
|
return decl.define(), True, True
|
||||||
|
|
||||||
if type.isUnion():
|
if type.isUnion():
|
||||||
if type.nullable():
|
return union_native_type(type), False, True
|
||||||
type = type.inner
|
|
||||||
return str(type) + "::" + str(type), False, True
|
|
||||||
|
|
||||||
if type.isGeckoInterface() and not type.isCallbackInterface():
|
if type.isGeckoInterface() and not type.isCallbackInterface():
|
||||||
iface = type.unroll().inner
|
iface = type.unroll().inner
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue