当前位置: 首页>>代码示例>>Python>>正文


Python xpidl.unaliasType函数代码示例

本文整理汇总了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))
开发者ID:michaelrhanson,项目名称:mozilla-central,代码行数:7,代码来源:dombindingsgen.py

示例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)
开发者ID:sergecodd,项目名称:FireFox-OS,代码行数:31,代码来源:codegen.py

示例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
开发者ID:sergecodd,项目名称:FireFox-OS,代码行数:19,代码来源:codegen.py

示例4: isInterfaceType

def isInterfaceType(t):
    t = xpidl.unaliasType(t)
    assert t.kind in ("builtin", "native", "interface", "forward")
    return t.kind in ("interface", "forward")
开发者ID:sergecodd,项目名称:FireFox-OS,代码行数:4,代码来源:codegen.py

示例5: isStringType

def isStringType(t):
    t = xpidl.unaliasType(t)
    return t.kind == "native" and (t.specialtype == "astring" or t.specialtype == "domstring")
开发者ID:sergecodd,项目名称:FireFox-OS,代码行数:3,代码来源:codegen.py


注:本文中的xpidl.unaliasType函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。