Import sequence inner types if it appears in dictionary members

This commit is contained in:
Keith Yeung 2017-11-06 22:52:40 -08:00
parent 4decea188f
commit fe73122416
3 changed files with 11 additions and 2 deletions

View file

@ -4,7 +4,7 @@
import os
from WebIDL import IDLExternalInterface, IDLWrapperType, WebIDLError
from WebIDL import IDLExternalInterface, IDLSequenceType, IDLWrapperType, WebIDLError
class Configuration:
@ -457,7 +457,7 @@ def getTypesFromDictionary(dictionary):
types = []
curDict = dictionary
while curDict:
types.extend([m.type for m in curDict.members])
types.extend([getUnwrappedType(m.type) for m in curDict.members])
curDict = curDict.parent
return types
@ -473,6 +473,12 @@ def getTypesFromCallback(callback):
return types
def getUnwrappedType(type):
if isinstance(type, IDLSequenceType):
return type.inner
return type
def iteratorNativeType(descriptor, infer=False):
assert descriptor.interface.isIterable()
iterableDecl = descriptor.interface.maplikeOrSetlikeOrIterable