Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of contraction expressions.
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -67,20 +53,17 @@ from nuitka.nodes.StatementNodes import (
|
|
|
67
53
|
)
|
|
68
54
|
from nuitka.nodes.VariableAssignNodes import makeStatementAssignmentVariable
|
|
69
55
|
from nuitka.nodes.VariableRefNodes import ExpressionTempVariableRef
|
|
70
|
-
from nuitka.nodes.VariableReleaseNodes import
|
|
71
|
-
makeStatementReleaseVariable,
|
|
72
|
-
makeStatementsReleaseVariables,
|
|
73
|
-
)
|
|
56
|
+
from nuitka.nodes.VariableReleaseNodes import makeStatementReleaseVariable
|
|
74
57
|
from nuitka.nodes.YieldNodes import (
|
|
75
58
|
ExpressionYield,
|
|
76
|
-
|
|
59
|
+
ExpressionYieldFromAwaitable,
|
|
77
60
|
)
|
|
78
61
|
from nuitka.PythonVersions import python_version
|
|
79
62
|
|
|
80
63
|
from .ReformulationAssignmentStatements import buildAssignmentStatements
|
|
81
64
|
from .ReformulationBooleanExpressions import makeAndNode
|
|
82
65
|
from .ReformulationTryExceptStatements import makeTryExceptSingleHandlerNode
|
|
83
|
-
from .ReformulationTryFinallyStatements import
|
|
66
|
+
from .ReformulationTryFinallyStatements import makeTryFinallyReleaseStatement
|
|
84
67
|
from .TreeHelpers import (
|
|
85
68
|
buildNode,
|
|
86
69
|
buildNodeList,
|
|
@@ -100,7 +83,7 @@ def _makeIteratorCreation(provider, qual, for_asyncgen, source_ref):
|
|
|
100
83
|
)
|
|
101
84
|
|
|
102
85
|
if not for_asyncgen or python_version < 0x370:
|
|
103
|
-
result =
|
|
86
|
+
result = ExpressionYieldFromAwaitable(
|
|
104
87
|
expression=result, source_ref=source_ref
|
|
105
88
|
)
|
|
106
89
|
|
|
@@ -114,7 +97,7 @@ def _makeIteratorCreation(provider, qual, for_asyncgen, source_ref):
|
|
|
114
97
|
|
|
115
98
|
def _makeIteratorNext(qual, iterator_ref, source_ref):
|
|
116
99
|
if getattr(qual, "is_async", 0):
|
|
117
|
-
return
|
|
100
|
+
return ExpressionYieldFromAwaitable(
|
|
118
101
|
expression=ExpressionAsyncNext(value=iterator_ref, source_ref=source_ref),
|
|
119
102
|
source_ref=source_ref,
|
|
120
103
|
)
|
|
@@ -140,13 +123,15 @@ def _buildPython2ListContraction(provider, node, source_ref):
|
|
|
140
123
|
provider=provider, name="list_contraction", source_ref=source_ref
|
|
141
124
|
)
|
|
142
125
|
|
|
143
|
-
iter_tmp = function_body.allocateTempVariable(
|
|
126
|
+
iter_tmp = function_body.allocateTempVariable(
|
|
127
|
+
temp_scope=None, name=".0", temp_type="object"
|
|
128
|
+
)
|
|
144
129
|
|
|
145
130
|
container_tmp = function_body.allocateTempVariable(
|
|
146
|
-
temp_scope=None, name="contraction_result"
|
|
131
|
+
temp_scope=None, name="contraction_result", temp_type="object"
|
|
147
132
|
)
|
|
148
133
|
|
|
149
|
-
statements,
|
|
134
|
+
statements, release_variables = _buildContractionBodyNode(
|
|
150
135
|
provider=provider,
|
|
151
136
|
node=node,
|
|
152
137
|
emit_class=StatementListOperationAppend,
|
|
@@ -167,10 +152,10 @@ def _buildPython2ListContraction(provider, node, source_ref):
|
|
|
167
152
|
source_ref=source_ref,
|
|
168
153
|
)
|
|
169
154
|
|
|
170
|
-
statement =
|
|
155
|
+
statement = makeTryFinallyReleaseStatement(
|
|
171
156
|
provider=function_body,
|
|
172
157
|
tried=mergeStatements((statements, return_statement)),
|
|
173
|
-
|
|
158
|
+
variables=release_variables,
|
|
174
159
|
source_ref=source_ref.atInternal(),
|
|
175
160
|
)
|
|
176
161
|
|
|
@@ -216,9 +201,11 @@ def buildDictContractionNode(provider, node, source_ref):
|
|
|
216
201
|
provider=provider,
|
|
217
202
|
node=node,
|
|
218
203
|
name="<dictcontraction>",
|
|
219
|
-
emit_class=
|
|
220
|
-
|
|
221
|
-
|
|
204
|
+
emit_class=(
|
|
205
|
+
StatementDictOperationSet
|
|
206
|
+
if python_version < 0x380
|
|
207
|
+
else StatementDictOperationSetKeyValue
|
|
208
|
+
),
|
|
222
209
|
start_value={},
|
|
223
210
|
source_ref=source_ref,
|
|
224
211
|
)
|
|
@@ -233,7 +220,9 @@ def buildGeneratorExpressionNode(provider, node, source_ref):
|
|
|
233
220
|
provider=provider, name="genexpr", source_ref=source_ref
|
|
234
221
|
)
|
|
235
222
|
|
|
236
|
-
iter_tmp = function_body.allocateTempVariable(
|
|
223
|
+
iter_tmp = function_body.allocateTempVariable(
|
|
224
|
+
temp_scope=None, name=".0", temp_type="object"
|
|
225
|
+
)
|
|
237
226
|
|
|
238
227
|
parent_module = provider.getParentModule()
|
|
239
228
|
|
|
@@ -257,7 +246,7 @@ def buildGeneratorExpressionNode(provider, node, source_ref):
|
|
|
257
246
|
|
|
258
247
|
# Some of the newly allowed stuff in 3.7 fails to set the async flag.
|
|
259
248
|
if not is_async and python_version >= 0x370:
|
|
260
|
-
is_async = detectFunctionBodyKind(nodes=node.generators)[0] in (
|
|
249
|
+
is_async = detectFunctionBodyKind(nodes=node.generators + [node.elt])[0] in (
|
|
261
250
|
"Asyncgen",
|
|
262
251
|
"Coroutine",
|
|
263
252
|
)
|
|
@@ -297,7 +286,7 @@ def buildGeneratorExpressionNode(provider, node, source_ref):
|
|
|
297
286
|
),
|
|
298
287
|
source_ref=source_ref,
|
|
299
288
|
),
|
|
300
|
-
|
|
289
|
+
makeTryFinallyReleaseStatement(
|
|
301
290
|
provider=function_body,
|
|
302
291
|
tried=StatementReturn(
|
|
303
292
|
expression=maker_class(
|
|
@@ -308,15 +297,13 @@ def buildGeneratorExpressionNode(provider, node, source_ref):
|
|
|
308
297
|
),
|
|
309
298
|
source_ref=source_ref,
|
|
310
299
|
),
|
|
311
|
-
|
|
312
|
-
variable=iter_tmp, source_ref=source_ref
|
|
313
|
-
),
|
|
300
|
+
variables=(iter_tmp,),
|
|
314
301
|
source_ref=source_ref,
|
|
315
302
|
),
|
|
316
303
|
)
|
|
317
304
|
)
|
|
318
305
|
|
|
319
|
-
statements,
|
|
306
|
+
statements, release_variables = _buildContractionBodyNode(
|
|
320
307
|
provider=provider,
|
|
321
308
|
node=node,
|
|
322
309
|
emit_class=ExpressionYield,
|
|
@@ -334,10 +321,10 @@ def buildGeneratorExpressionNode(provider, node, source_ref):
|
|
|
334
321
|
statements += (StatementGeneratorReturnNone(source_ref=source_ref),)
|
|
335
322
|
|
|
336
323
|
statements = (
|
|
337
|
-
|
|
324
|
+
makeTryFinallyReleaseStatement(
|
|
338
325
|
provider=function_body,
|
|
339
326
|
tried=statements,
|
|
340
|
-
|
|
327
|
+
variables=release_variables,
|
|
341
328
|
source_ref=source_ref.atInternal(),
|
|
342
329
|
),
|
|
343
330
|
)
|
|
@@ -460,7 +447,7 @@ def _buildContractionBodyNode(
|
|
|
460
447
|
|
|
461
448
|
for count, qual in enumerate(reversed(node.generators)):
|
|
462
449
|
tmp_value_variable = function_body.allocateTempVariable(
|
|
463
|
-
temp_scope=temp_scope, name="iter_value_%d" % count
|
|
450
|
+
temp_scope=temp_scope, name="iter_value_%d" % count, temp_type="object"
|
|
464
451
|
)
|
|
465
452
|
|
|
466
453
|
tmp_variables.append(tmp_value_variable)
|
|
@@ -473,7 +460,7 @@ def _buildContractionBodyNode(
|
|
|
473
460
|
iterator_ref = makeVariableRefNode(variable=iter_tmp, source_ref=source_ref)
|
|
474
461
|
|
|
475
462
|
if for_asyncgen and python_version >= 0x370:
|
|
476
|
-
iterator_ref =
|
|
463
|
+
iterator_ref = ExpressionYieldFromAwaitable(
|
|
477
464
|
expression=iterator_ref, source_ref=source_ref
|
|
478
465
|
)
|
|
479
466
|
|
|
@@ -490,7 +477,9 @@ def _buildContractionBodyNode(
|
|
|
490
477
|
)
|
|
491
478
|
|
|
492
479
|
tmp_iter_variable = function_body.allocateTempVariable(
|
|
493
|
-
temp_scope=temp_scope,
|
|
480
|
+
temp_scope=temp_scope,
|
|
481
|
+
name="contraction_iter_%d" % count,
|
|
482
|
+
temp_type="object",
|
|
494
483
|
)
|
|
495
484
|
|
|
496
485
|
tmp_variables.append(tmp_iter_variable)
|
|
@@ -572,11 +561,7 @@ def _buildContractionBodyNode(
|
|
|
572
561
|
statements.append(current_body)
|
|
573
562
|
statements = mergeStatements(statements)
|
|
574
563
|
|
|
575
|
-
|
|
576
|
-
variables=tmp_variables, source_ref=source_ref
|
|
577
|
-
)
|
|
578
|
-
|
|
579
|
-
return statements, release_statements
|
|
564
|
+
return statements, tmp_variables
|
|
580
565
|
|
|
581
566
|
|
|
582
567
|
def _buildContractionNode(provider, node, name, emit_class, start_value, source_ref):
|
|
@@ -589,13 +574,15 @@ def _buildContractionNode(provider, node, name, emit_class, start_value, source_
|
|
|
589
574
|
provider=provider, name=intern(name[1:-1]), source_ref=source_ref
|
|
590
575
|
)
|
|
591
576
|
|
|
592
|
-
iter_tmp = function_body.allocateTempVariable(
|
|
577
|
+
iter_tmp = function_body.allocateTempVariable(
|
|
578
|
+
temp_scope=None, name=".0", temp_type="object"
|
|
579
|
+
)
|
|
593
580
|
|
|
594
581
|
container_tmp = function_body.allocateTempVariable(
|
|
595
|
-
temp_scope=None, name="contraction"
|
|
582
|
+
temp_scope=None, name="contraction", temp_type="object"
|
|
596
583
|
)
|
|
597
584
|
|
|
598
|
-
statements,
|
|
585
|
+
statements, release_variables = _buildContractionBodyNode(
|
|
599
586
|
provider=provider,
|
|
600
587
|
node=node,
|
|
601
588
|
emit_class=emit_class,
|
|
@@ -628,10 +615,10 @@ def _buildContractionNode(provider, node, name, emit_class, start_value, source_
|
|
|
628
615
|
)
|
|
629
616
|
|
|
630
617
|
statements = (
|
|
631
|
-
|
|
618
|
+
makeTryFinallyReleaseStatement(
|
|
632
619
|
provider=function_body,
|
|
633
620
|
tried=mergeStatements((statements, return_statement)),
|
|
634
|
-
|
|
621
|
+
variables=release_variables,
|
|
635
622
|
source_ref=source_ref.atInternal(),
|
|
636
623
|
),
|
|
637
624
|
)
|
|
@@ -669,3 +656,19 @@ def _buildContractionNode(provider, node, name, emit_class, start_value, source_
|
|
|
669
656
|
function_body.setChildBody(body)
|
|
670
657
|
|
|
671
658
|
return function_body
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
662
|
+
# integrates with CPython, but also works on its own.
|
|
663
|
+
#
|
|
664
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
665
|
+
# you may not use this file except in compliance with the License.
|
|
666
|
+
# You may obtain a copy of the License at
|
|
667
|
+
#
|
|
668
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
669
|
+
#
|
|
670
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
671
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
672
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
673
|
+
# See the License for the specific language governing permissions and
|
|
674
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of dictionary creations.
|
|
19
5
|
|
|
20
6
|
Dictionary creations might be directly translated to constants, or they might
|
|
@@ -61,7 +47,6 @@ from nuitka.nodes.VariableRefNodes import (
|
|
|
61
47
|
ExpressionTempVariableRef,
|
|
62
48
|
ExpressionVariableRef,
|
|
63
49
|
)
|
|
64
|
-
from nuitka.nodes.VariableReleaseNodes import makeStatementsReleaseVariables
|
|
65
50
|
from nuitka.PythonVersions import python_version
|
|
66
51
|
from nuitka.specs.ParameterSpecs import ParameterSpec
|
|
67
52
|
|
|
@@ -71,7 +56,7 @@ from .InternalModule import (
|
|
|
71
56
|
once_decorator,
|
|
72
57
|
)
|
|
73
58
|
from .ReformulationTryExceptStatements import makeTryExceptSingleHandlerNode
|
|
74
|
-
from .ReformulationTryFinallyStatements import
|
|
59
|
+
from .ReformulationTryFinallyStatements import makeTryFinallyReleaseStatement
|
|
75
60
|
from .TreeHelpers import (
|
|
76
61
|
buildNode,
|
|
77
62
|
buildNodeTuple,
|
|
@@ -85,7 +70,10 @@ def buildDictionaryNode(provider, node, source_ref):
|
|
|
85
70
|
for key in node.keys:
|
|
86
71
|
if key is None:
|
|
87
72
|
return buildDictionaryUnpacking(
|
|
88
|
-
provider=provider,
|
|
73
|
+
provider=provider,
|
|
74
|
+
keys=node.keys,
|
|
75
|
+
values=node.values,
|
|
76
|
+
source_ref=source_ref,
|
|
89
77
|
)
|
|
90
78
|
|
|
91
79
|
return makeExpressionMakeDictOrConstant(
|
|
@@ -117,9 +105,15 @@ def getDictUnpackingHelper():
|
|
|
117
105
|
|
|
118
106
|
temp_scope = None
|
|
119
107
|
|
|
120
|
-
tmp_result_variable = result.allocateTempVariable(
|
|
121
|
-
|
|
122
|
-
|
|
108
|
+
tmp_result_variable = result.allocateTempVariable(
|
|
109
|
+
temp_scope, "dict", temp_type="object"
|
|
110
|
+
)
|
|
111
|
+
tmp_iter_variable = result.allocateTempVariable(
|
|
112
|
+
temp_scope, "iter", temp_type="object"
|
|
113
|
+
)
|
|
114
|
+
tmp_item_variable = result.allocateTempVariable(
|
|
115
|
+
temp_scope, "keys", temp_type="object"
|
|
116
|
+
)
|
|
123
117
|
|
|
124
118
|
loop_body = makeStatementsSequenceFromStatements(
|
|
125
119
|
makeTryExceptSingleHandlerNode(
|
|
@@ -219,16 +213,13 @@ def getDictUnpackingHelper():
|
|
|
219
213
|
|
|
220
214
|
result.setChildBody(
|
|
221
215
|
makeStatementsSequenceFromStatement(
|
|
222
|
-
|
|
216
|
+
makeTryFinallyReleaseStatement(
|
|
223
217
|
provider=result,
|
|
224
218
|
tried=tried,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
tmp_item_variable,
|
|
230
|
-
),
|
|
231
|
-
source_ref=internal_source_ref,
|
|
219
|
+
variables=(
|
|
220
|
+
tmp_result_variable,
|
|
221
|
+
tmp_iter_variable,
|
|
222
|
+
tmp_item_variable,
|
|
232
223
|
),
|
|
233
224
|
source_ref=internal_source_ref,
|
|
234
225
|
)
|
|
@@ -274,10 +265,8 @@ def buildDictionaryUnpackingArgs(provider, keys, values, source_ref):
|
|
|
274
265
|
return tuple(result)
|
|
275
266
|
|
|
276
267
|
|
|
277
|
-
def buildDictionaryUnpacking(provider,
|
|
278
|
-
helper_args = buildDictionaryUnpackingArgs(
|
|
279
|
-
provider, node.keys, node.values, source_ref
|
|
280
|
-
)
|
|
268
|
+
def buildDictionaryUnpacking(provider, keys, values, source_ref):
|
|
269
|
+
helper_args = buildDictionaryUnpackingArgs(provider, keys, values, source_ref)
|
|
281
270
|
|
|
282
271
|
result = makeExpressionFunctionCall(
|
|
283
272
|
function=makeExpressionFunctionCreation(
|
|
@@ -296,3 +285,19 @@ def buildDictionaryUnpacking(provider, node, source_ref):
|
|
|
296
285
|
result.setCompatibleSourceReference(helper_args[-1].getCompatibleSourceReference())
|
|
297
286
|
|
|
298
287
|
return result
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
291
|
+
# integrates with CPython, but also works on its own.
|
|
292
|
+
#
|
|
293
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
294
|
+
# you may not use this file except in compliance with the License.
|
|
295
|
+
# You may obtain a copy of the License at
|
|
296
|
+
#
|
|
297
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
298
|
+
#
|
|
299
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
300
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
301
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
302
|
+
# See the License for the specific language governing permissions and
|
|
303
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of "exec" statements
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -40,7 +26,10 @@ from nuitka.nodes.VariableAssignNodes import makeStatementAssignmentVariable
|
|
|
40
26
|
from nuitka.nodes.VariableRefNodes import ExpressionTempVariableRef
|
|
41
27
|
from nuitka.nodes.VariableReleaseNodes import makeStatementsReleaseVariables
|
|
42
28
|
|
|
43
|
-
from .ReformulationTryFinallyStatements import
|
|
29
|
+
from .ReformulationTryFinallyStatements import (
|
|
30
|
+
makeTryFinallyReleaseStatement,
|
|
31
|
+
makeTryFinallyStatement,
|
|
32
|
+
)
|
|
44
33
|
from .TreeHelpers import (
|
|
45
34
|
buildNode,
|
|
46
35
|
getKind,
|
|
@@ -62,11 +51,11 @@ def wrapEvalGlobalsAndLocals(
|
|
|
62
51
|
locals_scope = provider.getLocalsScope()
|
|
63
52
|
|
|
64
53
|
globals_keeper_variable = provider.allocateTempVariable(
|
|
65
|
-
temp_scope=temp_scope, name="globals"
|
|
54
|
+
temp_scope=temp_scope, name="globals", temp_type="object"
|
|
66
55
|
)
|
|
67
56
|
|
|
68
57
|
locals_keeper_variable = provider.allocateTempVariable(
|
|
69
|
-
temp_scope=temp_scope, name="locals"
|
|
58
|
+
temp_scope=temp_scope, name="locals", temp_type="object"
|
|
70
59
|
)
|
|
71
60
|
|
|
72
61
|
if locals_node is None:
|
|
@@ -156,15 +145,17 @@ def wrapEvalGlobalsAndLocals(
|
|
|
156
145
|
return (
|
|
157
146
|
ExpressionTempVariableRef(
|
|
158
147
|
variable=globals_keeper_variable,
|
|
159
|
-
source_ref=
|
|
160
|
-
|
|
161
|
-
|
|
148
|
+
source_ref=(
|
|
149
|
+
source_ref
|
|
150
|
+
if globals_node is None
|
|
151
|
+
else globals_node.getSourceReference()
|
|
152
|
+
),
|
|
162
153
|
),
|
|
163
154
|
ExpressionTempVariableRef(
|
|
164
155
|
variable=locals_keeper_variable,
|
|
165
|
-
source_ref=
|
|
166
|
-
|
|
167
|
-
|
|
156
|
+
source_ref=(
|
|
157
|
+
source_ref if locals_node is None else locals_node.getSourceReference()
|
|
158
|
+
),
|
|
168
159
|
),
|
|
169
160
|
makeStatementsSequence(pre_statements, False, source_ref),
|
|
170
161
|
makeStatementsSequence(post_statements, False, source_ref),
|
|
@@ -223,19 +214,19 @@ exec: arg 1 must be a string, file, or code object""",
|
|
|
223
214
|
source_code = buildNode(provider, body, source_ref)
|
|
224
215
|
|
|
225
216
|
source_variable = provider.allocateTempVariable(
|
|
226
|
-
temp_scope=temp_scope, name="exec_source"
|
|
217
|
+
temp_scope=temp_scope, name="exec_source", temp_type="object"
|
|
227
218
|
)
|
|
228
219
|
|
|
229
220
|
globals_keeper_variable = provider.allocateTempVariable(
|
|
230
|
-
temp_scope=temp_scope, name="globals"
|
|
221
|
+
temp_scope=temp_scope, name="globals", temp_type="object"
|
|
231
222
|
)
|
|
232
223
|
|
|
233
224
|
locals_keeper_variable = provider.allocateTempVariable(
|
|
234
|
-
temp_scope=temp_scope, name="locals"
|
|
225
|
+
temp_scope=temp_scope, name="locals", temp_type="object"
|
|
235
226
|
)
|
|
236
227
|
|
|
237
228
|
plain_indicator_variable = provider.allocateTempVariable(
|
|
238
|
-
temp_scope=temp_scope, name="plain"
|
|
229
|
+
temp_scope=temp_scope, name="plain", temp_type="bool"
|
|
239
230
|
)
|
|
240
231
|
|
|
241
232
|
tried = (
|
|
@@ -363,17 +354,14 @@ exec: arg 1 must be a string, file, or code object""",
|
|
|
363
354
|
),
|
|
364
355
|
)
|
|
365
356
|
|
|
366
|
-
return
|
|
357
|
+
return makeTryFinallyReleaseStatement(
|
|
367
358
|
provider=provider,
|
|
368
359
|
tried=tried,
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
plain_indicator_variable,
|
|
375
|
-
),
|
|
376
|
-
source_ref=source_ref,
|
|
360
|
+
variables=(
|
|
361
|
+
source_variable,
|
|
362
|
+
globals_keeper_variable,
|
|
363
|
+
locals_keeper_variable,
|
|
364
|
+
plain_indicator_variable,
|
|
377
365
|
),
|
|
378
366
|
source_ref=source_ref,
|
|
379
367
|
)
|
|
@@ -381,3 +369,18 @@ exec: arg 1 must be a string, file, or code object""",
|
|
|
381
369
|
|
|
382
370
|
# This is here, to make sure it can register, pylint: disable=W0611
|
|
383
371
|
import nuitka.optimizations.OptimizeBuiltinCalls # isort:skip
|
|
372
|
+
|
|
373
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
374
|
+
# integrates with CPython, but also works on its own.
|
|
375
|
+
#
|
|
376
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
377
|
+
# you may not use this file except in compliance with the License.
|
|
378
|
+
# You may obtain a copy of the License at
|
|
379
|
+
#
|
|
380
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
381
|
+
#
|
|
382
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
383
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
384
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
385
|
+
# See the License for the specific language governing permissions and
|
|
386
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of for loop statements.
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -32,15 +18,13 @@ from nuitka.nodes.ComparisonNodes import ExpressionComparisonIs
|
|
|
32
18
|
from nuitka.nodes.ConditionalNodes import makeStatementConditional
|
|
33
19
|
from nuitka.nodes.ConstantRefNodes import makeConstantRefNode
|
|
34
20
|
from nuitka.nodes.LoopNodes import StatementLoop, StatementLoopBreak
|
|
35
|
-
from nuitka.nodes.StatementNodes import StatementsSequence
|
|
36
21
|
from nuitka.nodes.VariableAssignNodes import makeStatementAssignmentVariable
|
|
37
22
|
from nuitka.nodes.VariableRefNodes import ExpressionTempVariableRef
|
|
38
|
-
from nuitka.nodes.
|
|
39
|
-
from nuitka.nodes.YieldNodes import ExpressionYieldFromWaitable
|
|
23
|
+
from nuitka.nodes.YieldNodes import ExpressionYieldFromAwaitable
|
|
40
24
|
|
|
41
25
|
from .ReformulationAssignmentStatements import buildAssignmentStatements
|
|
42
26
|
from .ReformulationTryExceptStatements import makeTryExceptSingleHandlerNode
|
|
43
|
-
from .ReformulationTryFinallyStatements import
|
|
27
|
+
from .ReformulationTryFinallyStatements import makeTryFinallyReleaseStatement
|
|
44
28
|
from .TreeHelpers import (
|
|
45
29
|
buildNode,
|
|
46
30
|
buildStatementsNode,
|
|
@@ -66,10 +50,10 @@ def _buildForLoopNode(provider, node, sync, source_ref):
|
|
|
66
50
|
temp_scope = provider.allocateTempScope("for_loop")
|
|
67
51
|
|
|
68
52
|
tmp_iter_variable = provider.allocateTempVariable(
|
|
69
|
-
temp_scope=temp_scope, name="for_iterator"
|
|
53
|
+
temp_scope=temp_scope, name="for_iterator", temp_type="object"
|
|
70
54
|
)
|
|
71
55
|
tmp_value_variable = provider.allocateTempVariable(
|
|
72
|
-
temp_scope=temp_scope, name="iter_value"
|
|
56
|
+
temp_scope=temp_scope, name="iter_value", temp_type="object"
|
|
73
57
|
)
|
|
74
58
|
|
|
75
59
|
else_block = buildStatementsNode(
|
|
@@ -108,7 +92,7 @@ def _buildForLoopNode(provider, node, sync, source_ref):
|
|
|
108
92
|
source_ref=source_ref,
|
|
109
93
|
)
|
|
110
94
|
else:
|
|
111
|
-
next_node =
|
|
95
|
+
next_node = ExpressionYieldFromAwaitable(
|
|
112
96
|
expression=ExpressionAsyncNext(
|
|
113
97
|
value=ExpressionTempVariableRef(
|
|
114
98
|
variable=tmp_iter_variable, source_ref=source_ref
|
|
@@ -147,11 +131,9 @@ def _buildForLoopNode(provider, node, sync, source_ref):
|
|
|
147
131
|
statements=statements, allow_none=True, source_ref=source_ref
|
|
148
132
|
)
|
|
149
133
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
),
|
|
154
|
-
makeStatementReleaseVariable(variable=tmp_iter_variable, source_ref=source_ref),
|
|
134
|
+
cleanup_variables = (
|
|
135
|
+
tmp_value_variable,
|
|
136
|
+
tmp_iter_variable,
|
|
155
137
|
)
|
|
156
138
|
|
|
157
139
|
if else_block is not None:
|
|
@@ -170,7 +152,7 @@ def _buildForLoopNode(provider, node, sync, source_ref):
|
|
|
170
152
|
value=source, source_ref=source.getSourceReference()
|
|
171
153
|
)
|
|
172
154
|
else:
|
|
173
|
-
iter_source =
|
|
155
|
+
iter_source = ExpressionYieldFromAwaitable(
|
|
174
156
|
expression=ExpressionAsyncIter(
|
|
175
157
|
value=source, source_ref=source.getSourceReference()
|
|
176
158
|
),
|
|
@@ -182,12 +164,10 @@ def _buildForLoopNode(provider, node, sync, source_ref):
|
|
|
182
164
|
makeStatementAssignmentVariable(
|
|
183
165
|
variable=tmp_iter_variable, source=iter_source, source_ref=source_ref
|
|
184
166
|
),
|
|
185
|
-
|
|
167
|
+
makeTryFinallyReleaseStatement(
|
|
186
168
|
provider=provider,
|
|
187
169
|
tried=StatementLoop(loop_body=loop_body, source_ref=source_ref),
|
|
188
|
-
|
|
189
|
-
statements=cleanup_statements, source_ref=source_ref
|
|
190
|
-
),
|
|
170
|
+
variables=cleanup_variables,
|
|
191
171
|
source_ref=source_ref,
|
|
192
172
|
),
|
|
193
173
|
)
|
|
@@ -217,3 +197,19 @@ def buildForLoopNode(provider, node, source_ref):
|
|
|
217
197
|
|
|
218
198
|
def buildAsyncForLoopNode(provider, node, source_ref):
|
|
219
199
|
return _buildForLoopNode(provider, node, False, source_ref)
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
203
|
+
# integrates with CPython, but also works on its own.
|
|
204
|
+
#
|
|
205
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
206
|
+
# you may not use this file except in compliance with the License.
|
|
207
|
+
# You may obtain a copy of the License at
|
|
208
|
+
#
|
|
209
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
210
|
+
#
|
|
211
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
212
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
213
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
214
|
+
# See the License for the specific language governing permissions and
|
|
215
|
+
# limitations under the License.
|