

def demoteCompiledModuleToBytecode(module):
    ' Demote a compiled module to uncompiled (bytecode).\n\n    '
    full_name = module.getFullName()
    filename = module.getCompileTimeFilename()
    source_code = readSourceCodeFromFilename(full_name, filename)
    source_code = Plugins.onFrozenModuleSourceCode(module_name=full_name, is_package=False, source_code=source_code)
    bytecode = compile(source_code, filename, 'exec')
    bytecode = Plugins.onFrozenModuleBytecode(module_name=full_name, is_package=False, bytecode=bytecode)
    uncompiled_module = makeUncompiledPythonModule(module_name=module.getFullName(), filename=filename, bytecode=marshal.dumps(bytecode), is_package=module.isCompiledPythonPackage(), user_provided=True, technical=False)
    replaceImportedModule(old=bytecode, new=uncompiled_module)
    replaceRootModule(old=module, new=uncompiled_module)
    assert (module.constraint_collection is not None)
    uncompiled_module.setUsedModules(module.constraint_collection.getUsedModules())

dataset/ETHPy150Open kayhayen/Nuitka/nuitka/optimizations/BytecodeDemotion.py demoteCompiledModuleToBytecode/VarMisuse@132/232 `module`->`bytecode`