def createNamespacePackage(package_name, module_relpath):
    parts = package_name.split('.')

    source_ref = SourceCodeReference.fromFilenameAndLine(
        filename    = module_relpath,
        line        = 1,
        future_spec = FutureSpec(),
    )
    source_ref = source_ref.atInternal()

    package_package_name = '.'.join(parts[:-1]) or None
    package = CompiledPythonPackage(
        name         = parts[-1],
        package_name = package_package_name,
        source_ref   = source_ref,
    )

    if python_version >= 300:
        statement = createPython3NamespacePath(
            package_name   = package_name,
            module_relpath = module_relpath,
            source_ref     = source_ref
        )
    else:
        statement = createPathAssignment(source_ref)

    package.setBody(
        makeStatementsSequenceFromStatement(
            statement = statement
        )
    )

    completeVariableClosures(package)

    return source_ref, package
def createNamespacePackage(module_name, is_top, module_relpath):
    source_ref = SourceCodeReference.fromFilenameAndLine(
        filename=module_relpath, line=1)
    source_ref = source_ref.atInternal()

    package = CompiledPythonPackage(
        module_name=module_name,
        is_top=is_top,
        mode="compiled",
        future_spec=FutureSpec(),
        source_ref=source_ref,
    )

    if python_version >= 300:
        statement = createPython3NamespacePath(package=package,
                                               module_relpath=module_relpath,
                                               source_ref=source_ref)
    else:
        statement = createPathAssignment(package, source_ref)

    package.setBody(makeStatementsSequenceFromStatement(statement=statement))

    completeVariableClosures(package)

    return source_ref, package
def createNamespacePackage(package_name, module_relpath):
    parts = package_name.split('.')

    source_ref = SourceCodeReference.fromFilenameAndLine(
        filename=module_relpath,
        line=1,
        future_spec=FutureSpec(),
    )
    source_ref = source_ref.atInternal()

    package_package_name = '.'.join(parts[:-1]) or None
    package = CompiledPythonPackage(
        name=parts[-1],
        mode="compiled",
        package_name=package_package_name,
        source_ref=source_ref,
    )

    if python_version >= 300:
        statement = createPython3NamespacePath(package_name=package_name,
                                               module_relpath=module_relpath,
                                               source_ref=source_ref)
    else:
        statement = createPathAssignment(source_ref)

    package.setBody(makeStatementsSequenceFromStatement(statement=statement))

    completeVariableClosures(package)

    return source_ref, package
def createNamespacePackage(module_name, package_name, is_top, module_relpath):
    source_ref = SourceCodeReference.fromFilenameAndLine(
        filename=module_relpath, line=1
    )
    source_ref = source_ref.atInternal()

    package_name = package_name or None

    package = CompiledPythonPackage(
        name=module_name,
        package_name=package_name,
        is_top=is_top,
        mode="compiled",
        future_spec=FutureSpec(),
        source_ref=source_ref,
    )

    if python_version >= 300:
        statement = createPython3NamespacePath(
            package=package, module_relpath=module_relpath, source_ref=source_ref
        )
    else:
        statement = createPathAssignment(package, source_ref)

    package.setBody(makeStatementsSequenceFromStatement(statement=statement))

    completeVariableClosures(package)

    return source_ref, package
示例#5
0
 def __init__(self):
     CompiledPythonModule.__init__(
         self,
         name="__internal__",
         package_name=None,
         mode="compiled",
         source_ref=SourceCodeReference.fromFilenameAndLine(
             filename="internal", line=0, future_spec=FutureSpec()))
示例#6
0
    def __init__(self):
        PythonModule.__init__(
            self,
            name="__internal__",
            package_name=None,
            source_ref=SourceCodeReference.fromFilenameAndLine(
                filename="internal", line=0, future_spec=FutureSpec()))

        SingleCreationMixin.__init__(self)
def createNamespacePackage(package_name, module_relpath):
    parts = package_name.split(".")

    source_ref = SourceCodeReference.fromFilenameAndLine(
        module_relpath,
        1,
        FutureSpec(),
        False
    )
    source_ref = source_ref.atInternal()

    package_package_name = ".".join(parts[:-1]) or None
    package = PythonPackage(
        name         = parts[-1],
        package_name = package_package_name,
        source_ref   = source_ref,
    )

    package.setBody(
        makeStatementsSequenceFromStatement(
            statement = (
                StatementAssignmentVariable(
                    variable_ref = ExpressionTargetVariableRef(
                        variable_name = "__path__",
                        source_ref    = source_ref
                    ),
                    source       = ExpressionCallNoKeywords(
                        called = ExpressionImportName(
                            module = ExpressionImportModule(
                                module_name    = "_frozen_importlib",
                                import_list    = (),
                                level          = 0,
                                source_ref     = source_ref
                            ),
                            import_name = "_NamespacePath",
                            source_ref  = source_ref
                        ),
                        args = ExpressionConstantRef(
                            constant   = (
                                package_name,
                                [ module_relpath ],
                                None
                            ),
                            source_ref =  source_ref
                        ),
                        source_ref =  source_ref
                    ),
                    source_ref = source_ref
                )
            )
        )
    )

    completeVariableClosures( package )

    return source_ref, package
示例#8
0
 def __init__(self):
     CompiledPythonModule.__init__(
         self,
         module_name=ModuleName("__internal__"),
         is_top=False,
         mode="compiled",
         source_ref=SourceCodeReference.fromFilenameAndLine(
             filename="internal", line=0),
         future_spec=FutureSpec(),
     )
示例#9
0
def createNamespacePackage(package_name, module_relpath):
    parts = package_name.split('.')

    source_ref = SourceCodeReference.fromFilenameAndLine(
        filename    = module_relpath,
        line        = 1,
        future_spec = FutureSpec(),
    )
    source_ref = source_ref.atInternal()

    package_package_name = '.'.join(parts[:-1]) or None
    package = PythonPackage(
        name         = parts[-1],
        package_name = package_package_name,
        source_ref   = source_ref,
    )

    package.setBody(
        makeStatementsSequenceFromStatement(
            statement = (
                StatementAssignmentVariable(
                    variable_ref = ExpressionTargetVariableRef(
                        variable_name = "__path__",
                        source_ref    = source_ref
                    ),
                    source       = ExpressionCallNoKeywords(
                        called     = ExpressionImportName(
                            module      = ExpressionImportModule(
                                module_name = "_frozen_importlib",
                                import_list = (),
                                level       = 0,
                                source_ref  = source_ref
                            ),
                            import_name = "_NamespacePath",
                            source_ref  = source_ref
                        ),
                        args       = ExpressionConstantRef(
                            constant   = (
                                package_name,
                                [module_relpath],
                                None
                            ),
                            source_ref =  source_ref
                        ),
                        source_ref =  source_ref
                    ),
                    source_ref   = source_ref
                )
            )
        )
    )

    completeVariableClosures(package)

    return source_ref, package
示例#10
0
 def __init__(self):
     CompiledPythonModule.__init__(
         self,
         name="__internal__",
         package_name=None,
         is_top=False,
         mode="compiled",
         source_ref=SourceCodeReference.fromFilenameAndLine(
             filename="internal", line=0
         ),
         future_spec=FutureSpec(),
     )
示例#11
0
    def __init__(self):
        CompiledPythonModule.__init__(
            self,
            name         = "__internal__",
            package_name = None,
            source_ref   = SourceCodeReference.fromFilenameAndLine(
                filename    = "internal",
                line        = 0,
                future_spec = FutureSpec()
            )
        )

        SingleCreationMixin.__init__(self)
示例#12
0
文件: NodeBases.py 项目: vt100/Nuitka
def extractKindAndArgsFromXML(xml, source_ref):
    kind = xml.attrib["kind"]

    args = dict(xml.attrib)
    del args["kind"]

    if source_ref is None:
        source_ref = SourceCodeReference.fromFilenameAndLine(
            args["filename"], int(args["line"]))

        del args["filename"]
        del args["line"]

    else:
        source_ref = source_ref.atLineNumber(int(args["line"]))
        del args["line"]

    node_class = getNodeClassFromName(kind)

    return kind, node_class, args, source_ref