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
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
""" Nodes that represent tensorflow functions
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from nuitka.HardImportRegistry import addModuleDynamicHard
|
|
9
|
+
|
|
10
|
+
from .HardImportNodesGenerated import ExpressionTensorflowFunctionCallBase
|
|
11
|
+
|
|
12
|
+
addModuleDynamicHard(module_name="tensorflow")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ExpressionTensorflowFunctionCall(ExpressionTensorflowFunctionCallBase):
|
|
16
|
+
kind = "EXPRESSION_TENSORFLOW_FUNCTION_CALL"
|
|
17
|
+
|
|
18
|
+
def replaceWithCompileTimeValue(self, trace_collection):
|
|
19
|
+
# TODO: The node generation should allow for this to not be necessary
|
|
20
|
+
trace_collection.onExceptionRaiseExit(BaseException)
|
|
21
|
+
|
|
22
|
+
return self, None, None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
26
|
+
# integrates with CPython, but also works on its own.
|
|
27
|
+
#
|
|
28
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
29
|
+
# you may not use this file except in compliance with the License.
|
|
30
|
+
# You may obtain a copy of the License at
|
|
31
|
+
#
|
|
32
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
33
|
+
#
|
|
34
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
35
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
36
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
37
|
+
# See the License for the specific language governing permissions and
|
|
38
|
+
# limitations under the License.
|
nuitka/nodes/TryNodes.py
CHANGED
|
@@ -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
|
""" Nodes for try/except/finally handling.
|
|
19
5
|
|
|
20
6
|
This is the unified low level solution to trying a block, and executing code
|
|
@@ -515,3 +501,19 @@ class StatementTry(StatementTryBase):
|
|
|
515
501
|
@staticmethod
|
|
516
502
|
def getStatementNiceName():
|
|
517
503
|
return "tried block statement"
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
507
|
+
# integrates with CPython, but also works on its own.
|
|
508
|
+
#
|
|
509
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
510
|
+
# you may not use this file except in compliance with the License.
|
|
511
|
+
# You may obtain a copy of the License at
|
|
512
|
+
#
|
|
513
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
514
|
+
#
|
|
515
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
516
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
517
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
518
|
+
# See the License for the specific language governing permissions and
|
|
519
|
+
# limitations under the License.
|
nuitka/nodes/TypeMatchNodes.py
CHANGED
|
@@ -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
|
"""Dedicated nodes used for the 3.10 matching
|
|
19
5
|
|
|
20
6
|
Not usable with older Python as it depends on type flags not present.
|
|
@@ -61,3 +47,19 @@ class ExpressionMatchTypeCheckMapping(ExpressionMatchTypeCheckBase):
|
|
|
61
47
|
# shape, this could evaluate to statically True/False and then will allow
|
|
62
48
|
# optimization into match branches.
|
|
63
49
|
return self, None, None
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
53
|
+
# integrates with CPython, but also works on its own.
|
|
54
|
+
#
|
|
55
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
56
|
+
# you may not use this file except in compliance with the License.
|
|
57
|
+
# You may obtain a copy of the License at
|
|
58
|
+
#
|
|
59
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
60
|
+
#
|
|
61
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
62
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
63
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
64
|
+
# See the License for the specific language governing permissions and
|
|
65
|
+
# limitations under the License.
|
nuitka/nodes/TypeNodes.py
CHANGED
|
@@ -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
|
""" The type nodes.
|
|
19
5
|
|
|
20
6
|
These ones deal with types and they are great for optimization. We need to know
|
|
@@ -37,6 +23,7 @@ from .ChildrenHavingMixins import (
|
|
|
37
23
|
ChildrenExpressionBuiltinSuper0Mixin,
|
|
38
24
|
ChildrenExpressionBuiltinSuper1Mixin,
|
|
39
25
|
ChildrenExpressionBuiltinSuper2Mixin,
|
|
26
|
+
ChildrenExpressionTypeAliasMixin,
|
|
40
27
|
ChildrenHavingInstanceClassesMixin,
|
|
41
28
|
)
|
|
42
29
|
from .ExpressionBases import ExpressionBase, ExpressionBuiltinSingleArgBase
|
|
@@ -338,3 +325,39 @@ class ExpressionSubtypeCheck(
|
|
|
338
325
|
# TODO: This needs to check the MRO and can assume the type nature, since it's only coming
|
|
339
326
|
# from re-formulations that guarantee that.
|
|
340
327
|
return self, None, None
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
class ExpressionTypeAlias(ChildrenExpressionTypeAliasMixin, ExpressionBase):
|
|
331
|
+
kind = "EXPRESSION_TYPE_ALIAS"
|
|
332
|
+
|
|
333
|
+
named_children = ("type_params|tuple", "compute_value")
|
|
334
|
+
|
|
335
|
+
def __init__(self, type_params, compute_value, source_ref):
|
|
336
|
+
ChildrenExpressionTypeAliasMixin.__init__(
|
|
337
|
+
self, type_params=type_params, compute_value=compute_value
|
|
338
|
+
)
|
|
339
|
+
|
|
340
|
+
ExpressionBase.__init__(self, source_ref)
|
|
341
|
+
|
|
342
|
+
def computeExpression(self, trace_collection):
|
|
343
|
+
return self, None, None
|
|
344
|
+
|
|
345
|
+
@staticmethod
|
|
346
|
+
def mayRaiseExceptionOperation():
|
|
347
|
+
return False
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
351
|
+
# integrates with CPython, but also works on its own.
|
|
352
|
+
#
|
|
353
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
354
|
+
# you may not use this file except in compliance with the License.
|
|
355
|
+
# You may obtain a copy of the License at
|
|
356
|
+
#
|
|
357
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
358
|
+
#
|
|
359
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
360
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
361
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
362
|
+
# See the License for the specific language governing permissions and
|
|
363
|
+
# 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
|
""" Assignment related nodes.
|
|
19
5
|
|
|
20
6
|
The most simple assignment statement ``a = b`` is what we have here. All others
|
|
@@ -179,19 +165,7 @@ class StatementAssignmentVariableMixin(object):
|
|
|
179
165
|
# is such a code for the type shape.
|
|
180
166
|
return True
|
|
181
167
|
|
|
182
|
-
def
|
|
183
|
-
self.variable_trace.assign_node = result
|
|
184
|
-
result.variable_trace = self.variable_trace
|
|
185
|
-
self.variable_trace = None
|
|
186
|
-
|
|
187
|
-
def _considerSpecialization(self, old_source):
|
|
188
|
-
# Specialize if possible, might have become that way only recently.
|
|
189
|
-
# return driven, pylint: disable=too-many-return-statements
|
|
190
|
-
source = self.subnode_source
|
|
191
|
-
|
|
192
|
-
if source is old_source:
|
|
193
|
-
return self, None, None
|
|
194
|
-
|
|
168
|
+
def _considerSpecialization(self, old_source, source):
|
|
195
169
|
if source.isCompileTimeConstant():
|
|
196
170
|
result = makeStatementAssignmentVariableConstant(
|
|
197
171
|
source=source,
|
|
@@ -201,8 +175,6 @@ class StatementAssignmentVariableMixin(object):
|
|
|
201
175
|
source_ref=self.source_ref,
|
|
202
176
|
)
|
|
203
177
|
|
|
204
|
-
self._transferState(result)
|
|
205
|
-
|
|
206
178
|
return (
|
|
207
179
|
result,
|
|
208
180
|
"new_statements",
|
|
@@ -218,8 +190,6 @@ class StatementAssignmentVariableMixin(object):
|
|
|
218
190
|
source_ref=self.source_ref,
|
|
219
191
|
)
|
|
220
192
|
|
|
221
|
-
self._transferState(result)
|
|
222
|
-
|
|
223
193
|
return (
|
|
224
194
|
result,
|
|
225
195
|
"new_statements",
|
|
@@ -234,8 +204,6 @@ class StatementAssignmentVariableMixin(object):
|
|
|
234
204
|
source_ref=self.source_ref,
|
|
235
205
|
)
|
|
236
206
|
|
|
237
|
-
self._transferState(result)
|
|
238
|
-
|
|
239
207
|
return (
|
|
240
208
|
result,
|
|
241
209
|
"new_statements",
|
|
@@ -250,8 +218,6 @@ class StatementAssignmentVariableMixin(object):
|
|
|
250
218
|
source_ref=self.source_ref,
|
|
251
219
|
)
|
|
252
220
|
|
|
253
|
-
self._transferState(result)
|
|
254
|
-
|
|
255
221
|
return (
|
|
256
222
|
result,
|
|
257
223
|
"new_statements",
|
|
@@ -266,8 +232,6 @@ class StatementAssignmentVariableMixin(object):
|
|
|
266
232
|
source_ref=self.source_ref,
|
|
267
233
|
)
|
|
268
234
|
|
|
269
|
-
self._transferState(result)
|
|
270
|
-
|
|
271
235
|
return (
|
|
272
236
|
result,
|
|
273
237
|
"new_statements",
|
|
@@ -284,6 +248,10 @@ class StatementAssignmentVariableMixin(object):
|
|
|
284
248
|
def hasVeryTrustedValue(self):
|
|
285
249
|
"""Does this assignment node have a very trusted value."""
|
|
286
250
|
|
|
251
|
+
@abstractmethod
|
|
252
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
253
|
+
"""Set the value trace for the assignment form."""
|
|
254
|
+
|
|
287
255
|
|
|
288
256
|
class StatementAssignmentVariableGeneric(
|
|
289
257
|
StatementAssignmentVariableMixin, StatementAssignmentVariableGenericBase
|
|
@@ -403,17 +371,26 @@ Removed assignment of %s from itself which is known to be defined."""
|
|
|
403
371
|
% variable.getDescription(),
|
|
404
372
|
)
|
|
405
373
|
|
|
374
|
+
if source is old_source:
|
|
375
|
+
result = self, None, None
|
|
376
|
+
else:
|
|
377
|
+
result = self._considerSpecialization(old_source, source)
|
|
378
|
+
result[0].parent = self.parent
|
|
379
|
+
|
|
380
|
+
result[0].computeStatementAssignmentTraceUpdate(trace_collection, source)
|
|
381
|
+
|
|
382
|
+
return result
|
|
383
|
+
|
|
384
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
406
385
|
# Set-up the trace to the trace collection, so future references will
|
|
407
386
|
# find this assignment.
|
|
408
387
|
self.variable_trace = trace_collection.onVariableSet(
|
|
409
|
-
variable=variable, version=self.variable_version, assign_node=self
|
|
388
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
410
389
|
)
|
|
411
390
|
|
|
412
391
|
# TODO: Determine from future use of assigned variable, if this is needed at all.
|
|
413
392
|
trace_collection.removeKnowledge(source)
|
|
414
393
|
|
|
415
|
-
return self._considerSpecialization(old_source)
|
|
416
|
-
|
|
417
394
|
def hasVeryTrustedValue(self):
|
|
418
395
|
"""Does this assignment node have a very trusted value."""
|
|
419
396
|
return self.subnode_source.hasVeryTrustedValue()
|
|
@@ -486,7 +463,7 @@ class StatementAssignmentVariableIterator(
|
|
|
486
463
|
self.temp_scope = provider.allocateTempScope("iterator_access")
|
|
487
464
|
|
|
488
465
|
self.tmp_iterated_variable = provider.allocateTempVariable(
|
|
489
|
-
temp_scope=self.temp_scope, name="iterated_value"
|
|
466
|
+
temp_scope=self.temp_scope, name="iterated_value", temp_type="object"
|
|
490
467
|
)
|
|
491
468
|
|
|
492
469
|
reference_iterated = ExpressionTempVariableRef(
|
|
@@ -499,18 +476,16 @@ class StatementAssignmentVariableIterator(
|
|
|
499
476
|
assign_iterated = makeStatementAssignmentVariable(
|
|
500
477
|
source=iterated_value,
|
|
501
478
|
variable=self.tmp_iterated_variable,
|
|
502
|
-
variable_version=None,
|
|
503
479
|
source_ref=iterated_value.source_ref,
|
|
504
480
|
)
|
|
505
481
|
|
|
506
482
|
self.tmp_iteration_count_variable = provider.allocateTempVariable(
|
|
507
|
-
temp_scope=self.temp_scope, name="iteration_count"
|
|
483
|
+
temp_scope=self.temp_scope, name="iteration_count", temp_type="object"
|
|
508
484
|
)
|
|
509
485
|
|
|
510
486
|
assign_iteration_count = makeStatementAssignmentVariable(
|
|
511
487
|
source=makeConstantRefNode(constant=0, source_ref=self.source_ref),
|
|
512
488
|
variable=self.tmp_iteration_count_variable,
|
|
513
|
-
variable_version=None,
|
|
514
489
|
source_ref=iterated_value.source_ref,
|
|
515
490
|
)
|
|
516
491
|
|
|
@@ -530,7 +505,7 @@ class StatementAssignmentVariableIterator(
|
|
|
530
505
|
|
|
531
506
|
# For use when the "next" is replaced.
|
|
532
507
|
self.tmp_iteration_next_variable = provider.allocateTempVariable(
|
|
533
|
-
temp_scope=self.temp_scope, name="next_value"
|
|
508
|
+
temp_scope=self.temp_scope, name="next_value", temp_type="object"
|
|
534
509
|
)
|
|
535
510
|
|
|
536
511
|
result = makeStatementsSequenceReplacementNode(
|
|
@@ -595,12 +570,18 @@ Assignment raises exception in assigned value, removed assignment.""",
|
|
|
595
570
|
|
|
596
571
|
# Set-up the trace to the trace collection, so future references will
|
|
597
572
|
# find this assignment.
|
|
573
|
+
# Note: Keep this aligned with computeStatementAssignmentTraceUpdate
|
|
598
574
|
self.variable_trace = trace_collection.onVariableSet(
|
|
599
575
|
variable=variable, version=self.variable_version, assign_node=self
|
|
600
576
|
)
|
|
601
577
|
|
|
602
578
|
return self, None, None
|
|
603
579
|
|
|
580
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
581
|
+
self.variable_trace = trace_collection.onVariableSet(
|
|
582
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
583
|
+
)
|
|
584
|
+
|
|
604
585
|
@staticmethod
|
|
605
586
|
def hasVeryTrustedValue():
|
|
606
587
|
"""Does this assignment node have a very trusted value."""
|
|
@@ -643,6 +624,7 @@ class StatementAssignmentVariableConstantMutable(
|
|
|
643
624
|
|
|
644
625
|
# Set-up the trace to the trace collection, so future references will
|
|
645
626
|
# find this assignment.
|
|
627
|
+
# Note: Keep this aligned with computeStatementAssignmentTraceUpdate
|
|
646
628
|
self.variable_trace = trace_collection.onVariableSet(
|
|
647
629
|
variable=variable, version=self.variable_version, assign_node=self
|
|
648
630
|
)
|
|
@@ -683,6 +665,11 @@ class StatementAssignmentVariableConstantMutable(
|
|
|
683
665
|
|
|
684
666
|
return self, None, None
|
|
685
667
|
|
|
668
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
669
|
+
self.variable_trace = trace_collection.onVariableSet(
|
|
670
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
671
|
+
)
|
|
672
|
+
|
|
686
673
|
@staticmethod
|
|
687
674
|
def hasVeryTrustedValue():
|
|
688
675
|
"""Does this assignment node have a very trusted value."""
|
|
@@ -786,12 +773,18 @@ class StatementAssignmentVariableConstantImmutable(
|
|
|
786
773
|
% self.getVariableName(),
|
|
787
774
|
)
|
|
788
775
|
|
|
776
|
+
# Note: Keep this aligned with computeStatementAssignmentTraceUpdate
|
|
789
777
|
self.variable_trace = trace_collection.onVariableSetToUnescapableValue(
|
|
790
778
|
variable=variable, version=self.variable_version, assign_node=self
|
|
791
779
|
)
|
|
792
780
|
|
|
793
781
|
return self, None, None
|
|
794
782
|
|
|
783
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
784
|
+
self.variable_trace = trace_collection.onVariableSetToUnescapableValue(
|
|
785
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
786
|
+
)
|
|
787
|
+
|
|
795
788
|
@staticmethod
|
|
796
789
|
def hasVeryTrustedValue():
|
|
797
790
|
"""Does this assignment node have a very trusted value."""
|
|
@@ -805,7 +798,7 @@ class StatementAssignmentVariableConstantMutableTrusted(
|
|
|
805
798
|
|
|
806
799
|
@staticmethod
|
|
807
800
|
def hasVeryTrustedValue():
|
|
808
|
-
return
|
|
801
|
+
return False
|
|
809
802
|
|
|
810
803
|
|
|
811
804
|
class StatementAssignmentVariableConstantImmutableTrusted(
|
|
@@ -869,12 +862,18 @@ class StatementAssignmentVariableHardValue(
|
|
|
869
862
|
Assignment raises exception in assigned value, removed assignment.""",
|
|
870
863
|
)
|
|
871
864
|
|
|
865
|
+
# Note: Keep this aligned with computeStatementAssignmentTraceUpdate
|
|
872
866
|
self.variable_trace = trace_collection.onVariableSetToVeryTrustedValue(
|
|
873
867
|
variable=variable, version=self.variable_version, assign_node=self
|
|
874
868
|
)
|
|
875
869
|
|
|
876
870
|
return self, None, None
|
|
877
871
|
|
|
872
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
873
|
+
self.variable_trace = trace_collection.onVariableSetToVeryTrustedValue(
|
|
874
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
875
|
+
)
|
|
876
|
+
|
|
878
877
|
@staticmethod
|
|
879
878
|
def hasVeryTrustedValue():
|
|
880
879
|
"""Does this assignment node have a very trusted value."""
|
|
@@ -915,6 +914,11 @@ class StatementAssignmentVariableFromVariable(
|
|
|
915
914
|
old_source = self.subnode_source
|
|
916
915
|
variable = self.variable
|
|
917
916
|
|
|
917
|
+
# Assigning from and to the same variable, can be optimized away
|
|
918
|
+
# immediately, there is no point in doing it. Exceptions are of course
|
|
919
|
+
# module variables that collide with built-in names. TODO: In
|
|
920
|
+
# specialization this could be considered right away as its own node
|
|
921
|
+
# type, waiting for it to compute like this.
|
|
918
922
|
if not variable.isModuleVariable() and old_source.getVariable() is variable:
|
|
919
923
|
# A variable access that has a side effect, must be preserved,
|
|
920
924
|
# so it can e.g. raise an exception, otherwise we can be fully
|
|
@@ -924,8 +928,10 @@ class StatementAssignmentVariableFromVariable(
|
|
|
924
928
|
expression=old_source, node=self
|
|
925
929
|
)
|
|
926
930
|
|
|
931
|
+
result = trace_collection.onStatement(result)
|
|
932
|
+
|
|
927
933
|
return (
|
|
928
|
-
result
|
|
934
|
+
result,
|
|
929
935
|
"new_statements",
|
|
930
936
|
"""\
|
|
931
937
|
Lowered assignment of %s from itself to mere access of it."""
|
|
@@ -943,20 +949,47 @@ Removed assignment of %s from itself which is known to be defined."""
|
|
|
943
949
|
# Let assignment source may re-compute first.
|
|
944
950
|
source = trace_collection.onExpression(self.subnode_source)
|
|
945
951
|
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
952
|
+
if source is old_source:
|
|
953
|
+
result = self, None, None
|
|
954
|
+
else:
|
|
955
|
+
if source.willRaiseAnyException():
|
|
956
|
+
result = makeStatementExpressionOnlyReplacementNode(
|
|
957
|
+
expression=source, node=self
|
|
958
|
+
)
|
|
949
959
|
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
960
|
+
return (
|
|
961
|
+
result,
|
|
962
|
+
"new_raise",
|
|
963
|
+
"""\
|
|
964
|
+
Assignment raises exception in assigned variable access, removed assignment.""",
|
|
965
|
+
)
|
|
955
966
|
|
|
956
|
-
|
|
957
|
-
|
|
967
|
+
result = self._considerSpecialization(old_source, source)
|
|
968
|
+
result[0].parent = self.parent
|
|
958
969
|
|
|
959
|
-
|
|
970
|
+
result[0].computeStatementAssignmentTraceUpdate(trace_collection, source)
|
|
971
|
+
|
|
972
|
+
return result
|
|
973
|
+
|
|
974
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
975
|
+
if source.isExpressionVariableRef():
|
|
976
|
+
self.variable_trace = trace_collection.onVariableSetAliasing(
|
|
977
|
+
variable=self.variable,
|
|
978
|
+
version=self.variable_version,
|
|
979
|
+
assign_node=self,
|
|
980
|
+
source=source,
|
|
981
|
+
)
|
|
982
|
+
else:
|
|
983
|
+
# Set-up the trace to the trace collection, so future references will
|
|
984
|
+
# find this assignment. TODO: We should for non-variables make sure we do
|
|
985
|
+
# always specialize, since this is no longer a variable once it was
|
|
986
|
+
# resolved.
|
|
987
|
+
self.variable_trace = trace_collection.onVariableSet(
|
|
988
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
989
|
+
)
|
|
990
|
+
|
|
991
|
+
# TODO: Determine from future use of assigned variable, if this is needed at all.
|
|
992
|
+
trace_collection.removeKnowledge(source)
|
|
960
993
|
|
|
961
994
|
@staticmethod
|
|
962
995
|
def hasVeryTrustedValue():
|
|
@@ -1013,17 +1046,26 @@ Removed assignment of %s from itself which is known to be defined."""
|
|
|
1013
1046
|
# Let assignment source may re-compute first.
|
|
1014
1047
|
source = trace_collection.onExpression(self.subnode_source)
|
|
1015
1048
|
|
|
1049
|
+
if source is old_source:
|
|
1050
|
+
result = self, None, None
|
|
1051
|
+
else:
|
|
1052
|
+
result = self._considerSpecialization(old_source, source)
|
|
1053
|
+
result[0].parent = self.parent
|
|
1054
|
+
|
|
1055
|
+
result[0].computeStatementAssignmentTraceUpdate(trace_collection, source)
|
|
1056
|
+
|
|
1057
|
+
return result
|
|
1058
|
+
|
|
1059
|
+
def computeStatementAssignmentTraceUpdate(self, trace_collection, source):
|
|
1016
1060
|
# Set-up the trace to the trace collection, so future references will
|
|
1017
1061
|
# find this assignment.
|
|
1018
1062
|
self.variable_trace = trace_collection.onVariableSet(
|
|
1019
|
-
variable=variable, version=self.variable_version, assign_node=self
|
|
1063
|
+
variable=self.variable, version=self.variable_version, assign_node=self
|
|
1020
1064
|
)
|
|
1021
1065
|
|
|
1022
1066
|
# TODO: Determine from future use of assigned variable, if this is needed at all.
|
|
1023
1067
|
trace_collection.removeKnowledge(source)
|
|
1024
1068
|
|
|
1025
|
-
return self._considerSpecialization(old_source)
|
|
1026
|
-
|
|
1027
1069
|
@staticmethod
|
|
1028
1070
|
def hasVeryTrustedValue():
|
|
1029
1071
|
"""Does this assignment node have a very trusted value."""
|
|
@@ -1116,3 +1158,19 @@ def makeStatementAssignmentVariable(
|
|
|
1116
1158
|
variable_version=variable_version,
|
|
1117
1159
|
source_ref=source_ref,
|
|
1118
1160
|
)
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1164
|
+
# integrates with CPython, but also works on its own.
|
|
1165
|
+
#
|
|
1166
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1167
|
+
# you may not use this file except in compliance with the License.
|
|
1168
|
+
# You may obtain a copy of the License at
|
|
1169
|
+
#
|
|
1170
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1171
|
+
#
|
|
1172
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1173
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1174
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1175
|
+
# See the License for the specific language governing permissions and
|
|
1176
|
+
# limitations under the License.
|
nuitka/nodes/VariableDelNodes.py
CHANGED
|
@@ -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
|
""" Nodes for variable deletion
|
|
19
5
|
|
|
20
6
|
These refer to resolved variable objects.
|
|
@@ -316,3 +302,19 @@ def makeStatementDelVariable(variable, tolerant, source_ref, version=None):
|
|
|
316
302
|
return StatementDelVariableIntolerant(
|
|
317
303
|
variable=variable, version=version, source_ref=source_ref
|
|
318
304
|
)
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
308
|
+
# integrates with CPython, but also works on its own.
|
|
309
|
+
#
|
|
310
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
311
|
+
# you may not use this file except in compliance with the License.
|
|
312
|
+
# You may obtain a copy of the License at
|
|
313
|
+
#
|
|
314
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
315
|
+
#
|
|
316
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
317
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
318
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
319
|
+
# See the License for the specific language governing permissions and
|
|
320
|
+
# 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
|
""" Nodes for named variable reference, assignment, and deletion
|
|
19
5
|
|
|
20
6
|
x = ...
|
|
@@ -149,3 +135,19 @@ class ExpressionVariableLocalNameRef(ExpressionVariableNameRef):
|
|
|
149
135
|
@staticmethod
|
|
150
136
|
def needsFallback():
|
|
151
137
|
return False
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
141
|
+
# integrates with CPython, but also works on its own.
|
|
142
|
+
#
|
|
143
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
144
|
+
# you may not use this file except in compliance with the License.
|
|
145
|
+
# You may obtain a copy of the License at
|
|
146
|
+
#
|
|
147
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
148
|
+
#
|
|
149
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
150
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
151
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
152
|
+
# See the License for the specific language governing permissions and
|
|
153
|
+
# limitations under the License.
|