本文整理汇总了Python中xpidl.unaliasType函数的典型用法代码示例。如果您正苦于以下问题:Python unaliasType函数的具体用法?Python unaliasType怎么用?Python unaliasType使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了unaliasType函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: addType
def addType(types, type, map):
def getTranslatedType(type):
return map.get(type, type)
type = xpidl.unaliasType(type)
if isInterfaceType(type) or (type.kind == 'native' and type.specialtype is None):
types.add(getTranslatedType(type.name))
示例2: writeResultDecl
def writeResultDecl(f, member, varname):
type = member.realtype
if isVoidType(type):
return # nothing to declare
t = xpidl.unaliasType(type)
if t.kind == "builtin":
if not t.nativename.endswith("*"):
if type.kind == "typedef":
typeName = type.name # use it
else:
typeName = t.nativename
f.write(" %s %s;\n" % (typeName, varname))
return
elif t.kind == "native":
name = xpidl.getBuiltinOrNativeTypeName(t)
if name in ("[domstring]", "[astring]"):
f.write(" nsString %s;\n" % varname)
return
elif name == "[jsval]":
return # nothing to declare; see special case in outParamForm
elif t.kind in ("interface", "forward"):
if member.kind == "method" and member.notxpcom:
f.write(" %s *%s;\n" % (type.name, varname))
else:
f.write(" nsCOMPtr<%s> %s;\n" % (type.name, varname))
return
warn("Unable to declare result of type %s" % type.name)
f.write(" !; // TODO - Declare out parameter `%s`.\n" % varname)
示例3: outParamForm
def outParamForm(name, type):
type = xpidl.unaliasType(type)
# If we start allowing [jsval] return types here, we need to tack
# the return value onto the arguments list in the callers,
# possibly, and handle properly returning it too. See bug 604198.
assert type.kind != "native" or type.specialtype != "jsval"
if type.kind == "builtin":
return "&" + name
elif type.kind == "native":
if type.specialtype == "jsval":
return "vp"
elif type.modifier == "ref":
if isStringType(type):
return "(nsAString&)" + name
return name
else:
return "&" + name
else:
return "getter_AddRefs(%s)" % name
示例4: isInterfaceType
def isInterfaceType(t):
t = xpidl.unaliasType(t)
assert t.kind in ("builtin", "native", "interface", "forward")
return t.kind in ("interface", "forward")
示例5: isStringType
def isStringType(t):
t = xpidl.unaliasType(t)
return t.kind == "native" and (t.specialtype == "astring" or t.specialtype == "domstring")