diff options
author | bors-servo <release+servo@mozilla.com> | 2014-04-25 08:52:18 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-04-25 08:52:18 -0400 |
commit | 27798980bf7f47fed7edf9fa506af903720612a6 (patch) | |
tree | 085a15f55ecb6800760e45e7356d4e98333014f0 /src | |
parent | 0745d656a3631fe4397e8ee50600754bd7466d53 (diff) | |
parent | ee23074232801329ff63eba9e9427a809ca9b5ea (diff) | |
download | servo-27798980bf7f47fed7edf9fa506af903720612a6.tar.gz servo-27798980bf7f47fed7edf9fa506af903720612a6.zip |
auto merge of #2229 : Ms2ger/servo/getUnionAccessorSignatureType, r=jdm
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index e8b723d4d98..fd3d6a883e6 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -2804,85 +2804,6 @@ class CGConstant(CGThing): return CGIndenter(CGList(stringDecl(m) for m in self.constants)).define() -def getUnionAccessorSignatureType(type, descriptorProvider): - """ - Returns the types that are used in the getter and setter signatures for - union types - """ - if type.isArray(): - raise TypeError("Can't handle array arguments yet") - - if type.isSequence(): - nullable = type.nullable(); - if nullable: - type = type.inner.inner - else: - type = type.inner - (elementTemplate, elementDeclType, - elementHolderType, dealWithOptional) = getJSToNativeConversionTemplate( - type, descriptorProvider, isSequenceMember=True) - typeName = CGWrapper(elementDeclType, pre="Sequence< ", post=" >&") - if nullable: - typeName = CGWrapper(typeName, pre="Nullable< ", post=" >&") - - return typeName - - if type.isUnion(): - typeName = CGGeneric(type.name) - if type.nullable(): - typeName = CGWrapper(typeName, pre="Nullable< ", post=" >&") - - return typeName - - if type.isGeckoInterface(): - descriptor = descriptorProvider.getDescriptor( - type.unroll().inner.identifier.name) - typeName = CGGeneric(descriptor.nativeType) - if type.nullable(): - typeName = CGWrapper(typeName, pre="Option<", post=">") - else: - typeName = CGWrapper(typeName, pre="&'a ") - return typeName - - if type.isSpiderMonkeyInterface(): - typeName = CGGeneric(type.name) - if type.nullable(): - typeName = CGWrapper(typeName, pre="Option<", post=">") - else: - typeName = CGWrapper(typeName, pre="&") - return typeName - - if type.isString(): - return CGGeneric("const nsAString&") - - if type.isEnum(): - if type.nullable(): - raise TypeError("We don't support nullable enumerated arguments or " - "union members yet") - return CGGeneric(type.inner.identifier.name) - - if type.isCallback(): - return CGGeneric("JSObject*") - - if type.isAny(): - return CGGeneric("JS::Value") - - if type.isObject(): - typeName = CGGeneric("JSObject") - if type.nullable(): - typeName = CGWrapper(typeName, post="*") - else: - typeName = CGWrapper(typeName, post="&") - return typeName - - if not type.isPrimitive(): - raise TypeError("Need native type for argument type '%s'" % str(type)) - - typeName = CGGeneric(builtinNames[type.tag()]) - if type.nullable(): - typeName = CGWrapper(typeName, pre="Nullable< ", post=" >&") - return typeName - def getUnionTypeTemplateVars(type, descriptorProvider): # For dictionaries and sequences we need to pass None as the failureCode # for getJSToNativeConversionTemplate. |