def fromXML(cls, provider, source_ref, **args): if "code_flags" in args: future_spec = fromFlags(args["code_flags"]) result = cls( main_added = args["main_added"] == "True", mode = args["mode"], future_spec = future_spec, source_ref = source_ref ) from nuitka.ModuleRegistry import addRootModule addRootModule(result) function_work = [] for xml in args["functions"]: _kind, node_class, func_args, source_ref = extractKindAndArgsFromXML(xml, source_ref) if "provider" in func_args: func_args["provider"] = getOwnerFromCodeName(func_args["provider"]) else: func_args["provider"] = result if "flags" in args: func_args["flags"] = set(func_args["flags"].split(',')) if "doc" not in args: func_args["doc"] = None function = node_class.fromXML( source_ref = source_ref, **func_args ) # Could do more checks for look up of body here, but so what... function_work.append( (function, iter(iter(xml).next()).next()) ) for function, xml in function_work: function.setChild( "body", fromXML( provider = function, xml = xml, source_ref = function.getSourceReference() ) ) result.setChild( "body", fromXML( provider = result, xml = args["body"][0], source_ref = source_ref ) ) return result
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) variable = owner.getProvidedVariable(args["variable_name"]) return cls(variable=variable, source_ref=source_ref)
def fromXML(cls, provider, source_ref, **args): assert cls is StatementReleaseVariable, cls owner = getOwnerFromCodeName(args["owner"]) assert owner is not None, args["owner"] variable = owner.getProvidedVariable(args["variable_name"]) return cls(variable=variable, source_ref=source_ref)
def fromXML(cls, provider, source_ref, **args): result = cls( main_added = args["main_added"] == "True", mode = args["mode"], source_ref = source_ref ) from nuitka.ModuleRegistry import addRootModule addRootModule(result) function_work = [] for xml in args["functions"]: _kind, node_class, func_args, source_ref = extractKindAndArgsFromXML(xml, source_ref) if "provider" in func_args: func_args["provider"] = getOwnerFromCodeName(func_args["provider"]) else: func_args["provider"] = result if "flags" in args: func_args["flags"] = set(func_args["flags"].split(',')) if "doc" not in args: func_args["doc"] = None function = node_class.fromXML( source_ref = source_ref, **func_args ) # Could do more checks for look up of body here, but so what... function_work.append( (function, iter(iter(xml).next()).next()) ) for function, xml in function_work: function.setChild( "body", fromXML( provider = function, xml = xml, source_ref = function.getSourceReference() ) ) result.setChild( "body", fromXML( provider = result, xml = args["body"][0], source_ref = source_ref ) ) return result
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionTargetTempVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) variable = owner.createTempVariable(args["temp_name"]) version = int(args["version"]) variable.version_number = max(variable.version_number, version) return cls(variable=variable, version=version, source_ref=source_ref)
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionTempVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) variable = owner.getTempVariable(None, args["temp_name"]) return cls( variable = variable, source_ref = source_ref )
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionTargetVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) assert owner is not None, args["owner"] variable = owner.getProvidedVariable(args["variable_name"]) return cls(variable_name=variable.getName(), variable=variable, version=int(args["version"]), source_ref=source_ref)
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) variable = owner.getProvidedVariable(args["variable_name"]) return cls( variable_name = variable.getName(), variable = variable, source_ref = source_ref )
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionTargetTempVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) variable = owner.createTempVariable(args["temp_name"]) version = int(args["version"]) variable.version_number = max(variable.version_number, version) return cls( variable = variable, version = version, source_ref = source_ref )
def fromXML(cls, provider, source_ref, **args): assert cls is ExpressionTargetVariableRef, cls owner = getOwnerFromCodeName(args["owner"]) assert owner is not None, args["owner"] variable = owner.getProvidedVariable(args["variable_name"]) return cls( variable_name = variable.getName(), variable = variable, version = int(args["version"]), source_ref = source_ref )
def fromXML(cls, provider, source_ref, **args): assert cls is StatementAssignmentVariable, cls owner = getOwnerFromCodeName(args["owner"]) if args["is_temp"] == "True": variable = owner.createTempVariable(args["variable_name"]) else: variable = owner.getProvidedVariable(args["variable_name"]) del args["is_temp"] del args["owner"] version = variable.allocateTargetNumber() return cls(variable=variable, version=version, source_ref=source_ref, **args)
def fromXML(cls, provider, source_ref, **args): assert cls is StatementDelVariable, cls owner = getOwnerFromCodeName(args["owner"]) if args["is_temp"] == "True": variable = owner.createTempVariable(args["variable_name"]) else: variable = owner.getProvidedVariable(args["variable_name"]) del args["is_temp"] del args["owner"] version = variable.allocateTargetNumber() variable.version_number = max(variable.version_number, version) return cls(variable=variable, source_ref=source_ref, **args)