Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.5.1__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.5.1.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.5.1.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/METADATA +5 -3
- Nuitka_winsvc-2.5.1.dist-info/RECORD +977 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +49 -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 +408 -0
- nuitka/MainControl.py +209 -116
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +467 -221
- nuitka/Options.py +701 -225
- nuitka/OutputDirectories.py +47 -23
- nuitka/PostProcessing.py +133 -79
- nuitka/Progress.py +73 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +107 -19
- nuitka/Serialization.py +70 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +176 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +22 -8
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +243 -141
- nuitka/build/CCompilerVersion.scons +45 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +56 -54
- nuitka/build/SconsCaching.py +105 -92
- nuitka/build/SconsCompilerSettings.py +167 -68
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +155 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +152 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +228 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +24 -24
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +28 -25
- 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 +93 -54
- 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 +35 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/debug_settings.h +60 -0
- 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 +717 -171
- 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 -22
- 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 +69 -69
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +39 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +47 -0
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +39 -0
- 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 +89 -51
- 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 +115 -54
- nuitka/build/include/nuitka/helper/iterators.h +99 -51
- 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 +20 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +23 -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_dual_add.h +34 -0
- 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 +23 -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 +20 -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 +20 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +68 -37
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +21 -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 +50 -22
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +163 -71
- nuitka/build/include/nuitka/printing.h +29 -22
- 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 +45 -32
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +30 -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/stubgen/astunparse.py +938 -0
- nuitka/build/inline_copy/stubgen/six.py +998 -0
- nuitka/build/inline_copy/stubgen/stubgen.py +307 -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 +221 -221
- nuitka/build/static_src/CompiledCellType.c +69 -44
- nuitka/build/static_src/CompiledCodeHelpers.c +276 -159
- nuitka/build/static_src/CompiledCoroutineType.c +229 -226
- nuitka/build/static_src/CompiledFrameType.c +323 -138
- nuitka/build/static_src/CompiledFunctionType.c +547 -231
- nuitka/build/static_src/CompiledGeneratorType.c +416 -290
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +593 -228
- nuitka/build/static_src/CompiledMethodType.c +91 -82
- nuitka/build/static_src/HelpersAllocator.c +352 -45
- nuitka/build/static_src/HelpersAttributes.c +30 -72
- nuitka/build/static_src/HelpersBuiltin.c +65 -46
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +40 -37
- nuitka/build/static_src/HelpersCallingGenerated.c +1061 -242
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonDualEq.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualGe.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualGt.c +121 -0
- nuitka/build/static_src/HelpersComparisonDualLe.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualLt.c +183 -0
- nuitka/build/static_src/HelpersComparisonDualNe.c +121 -0
- nuitka/build/static_src/HelpersComparisonEq.c +536 -496
- nuitka/build/static_src/HelpersComparisonEqUtils.c +22 -19
- nuitka/build/static_src/HelpersComparisonGe.c +531 -501
- nuitka/build/static_src/HelpersComparisonGt.c +530 -500
- nuitka/build/static_src/HelpersComparisonLe.c +531 -501
- nuitka/build/static_src/HelpersComparisonLt.c +530 -500
- nuitka/build/static_src/HelpersComparisonNe.c +538 -496
- nuitka/build/static_src/HelpersConsole.c +122 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +550 -521
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +232 -63
- nuitka/build/static_src/HelpersDictionariesGenerated.c +130 -127
- 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 +147 -62
- nuitka/build/static_src/HelpersFiles.c +116 -22
- 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 +61 -29
- nuitka/build/static_src/HelpersImportHard.c +74 -61
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +237 -58
- 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 +397 -152
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +102 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +55 -55
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +49 -43
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +172 -0
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +83 -83
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +25 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +129 -117
- nuitka/build/static_src/HelpersOperationBinaryMult.c +98 -82
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +55 -49
- nuitka/build/static_src/HelpersOperationBinaryPow.c +68 -68
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +51 -51
- nuitka/build/static_src/HelpersOperationBinarySub.c +309 -88
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +49 -43
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +333 -163
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +58 -58
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +64 -64
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +38 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +145 -140
- nuitka/build/static_src/HelpersOperationInplaceMult.c +89 -84
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +73 -68
- nuitka/build/static_src/HelpersOperationInplacePow.c +82 -82
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +48 -48
- nuitka/build/static_src/HelpersOperationInplaceSub.c +275 -122
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +68 -63
- nuitka/build/static_src/HelpersProfiling.c +25 -24
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +296 -283
- 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 +235 -38
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +166 -25
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +464 -280
- nuitka/build/static_src/MetaPathBasedLoader.c +381 -257
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +227 -29
- nuitka/build/static_src/OnefileBootstrap.c +281 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +21 -23
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +290 -184
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +29 -18
- nuitka/code_generation/CallCodes.py +35 -33
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +61 -28
- nuitka/code_generation/CodeHelperSelection.py +20 -18
- nuitka/code_generation/CodeHelpers.py +28 -21
- nuitka/code_generation/CodeObjectCodes.py +36 -26
- nuitka/code_generation/ComparisonCodes.py +51 -22
- nuitka/code_generation/ComparisonHelperDefinitions.py +42 -25
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +180 -42
- nuitka/code_generation/CoroutineCodes.py +21 -23
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +28 -26
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +57 -79
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +182 -104
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +45 -27
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +28 -31
- nuitka/code_generation/FunctionCodes.py +26 -27
- nuitka/code_generation/GeneratorCodes.py +25 -26
- nuitka/code_generation/GlobalConstants.py +51 -25
- nuitka/code_generation/GlobalsLocalsCodes.py +23 -21
- 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 +86 -71
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +20 -20
- 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 +71 -29
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +80 -51
- nuitka/code_generation/PackageResourceCodes.py +96 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +183 -107
- nuitka/code_generation/Reports.py +32 -22
- nuitka/code_generation/ReturnCodes.py +20 -32
- 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 +31 -41
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +119 -0
- nuitka/code_generation/VariableCodes.py +118 -55
- nuitka/code_generation/VariableDeclarations.py +28 -25
- nuitka/code_generation/YieldCodes.py +23 -21
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +29 -19
- 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 +22 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +22 -21
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +89 -43
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +20 -18
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +43 -31
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesConstants.py +143 -39
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +33 -33
- nuitka/code_generation/templates/CodeTemplatesFrames.py +36 -27
- nuitka/code_generation/templates/CodeTemplatesFunction.py +20 -19
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +21 -19
- nuitka/code_generation/templates/CodeTemplatesIterators.py +19 -53
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +278 -169
- nuitka/code_generation/templates/CodeTemplatesVariables.py +115 -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 +21 -21
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +79 -28
- 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 +74 -106
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +19 -20
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +19 -19
- 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/HelperOperationBinaryDual.c.j2 +115 -0
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +86 -0
- 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 +50 -38
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +37 -37
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +31 -31
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +35 -31
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +28 -28
- 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 +48 -48
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +27 -25
- 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 +25 -18
- nuitka/containers/OrderedSets.py +105 -5
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +33 -18
- nuitka/distutils/DistutilCommands.py +84 -33
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +21 -18
- nuitka/finalizations/FinalizeMarkups.py +31 -55
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +60 -30
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +165 -58
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +55 -33
- nuitka/freezer/ImportDetection.py +23 -17
- nuitka/freezer/IncludedDataFiles.py +142 -48
- nuitka/freezer/IncludedEntryPoints.py +104 -39
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +166 -53
- 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 +319 -98
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +142 -47
- nuitka/importing/StandardLibrary.py +96 -80
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +22 -23
- 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 +25 -21
- 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 +73 -40
- 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 +1624 -283
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +24 -25
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +22 -23
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +131 -43
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +341 -35
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +41 -28
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +84 -38
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +24 -25
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +746 -148
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +438 -448
- 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 +73 -44
- nuitka/nodes/NodeMakingHelpers.py +92 -69
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +148 -20
- nuitka/nodes/OsSysNodes.py +97 -18
- nuitka/nodes/OutlineNodes.py +24 -22
- 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 -79
- nuitka/nodes/StatementNodes.py +27 -24
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +27 -25
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +68 -18
- 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 +169 -46
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +57 -17
- nuitka/nodes/shapes/StandardShapes.py +80 -21
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +21 -18
- 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 +655 -112
- nuitka/plugins/Plugins.py +247 -61
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +374 -135
- 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 +403 -54
- nuitka/plugins/standard/KivyPlugin.py +24 -20
- nuitka/plugins/standard/MatplotlibPlugin.py +99 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +35 -39
- 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/PlaywrightPlugin.py +184 -0
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +82 -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 +102 -108
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +90 -231
- 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 +3925 -1293
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +154 -66
- nuitka/reports/CompilationReportReader.py +79 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +363 -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 +35 -21
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +74 -22
- nuitka/specs/ParameterSpecs.py +60 -45
- 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 +29 -22
- 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 +251 -80
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +248 -82
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +175 -114
- 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 +39 -30
- 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 +23 -33
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +134 -51
- nuitka/tools/watch/AutoStage.py +145 -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 +184 -182
- nuitka/tree/ComplexCallHelperFunctions.py +84 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +51 -31
- nuitka/tree/ReformulationAssignmentStatements.py +96 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +239 -116
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +41 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +59 -55
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +246 -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 +44 -24
- 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 +111 -22
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +102 -58
- nuitka/utils/FileOperations.py +357 -128
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +119 -37
- nuitka/utils/InlineCopies.py +52 -0
- nuitka/utils/InstalledPythons.py +85 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +21 -19
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/PackageResources.py +44 -0
- 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 +132 -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.5.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.5.1.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
|
|
3
|
-
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
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
|
+
|
|
18
3
|
/* WARNING, this code is GENERATED. Modify the template HelperOperationInplace.c.j2 instead! */
|
|
19
4
|
|
|
20
5
|
/* This file is included from another C file, help IDEs to still parse it on its own. */
|
|
@@ -72,6 +57,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_INT(PyObject **operand1, PyObject
|
|
|
72
57
|
goto exit_result_ok_clong;
|
|
73
58
|
}
|
|
74
59
|
}
|
|
60
|
+
|
|
75
61
|
{
|
|
76
62
|
PyObject *operand1_object = *operand1;
|
|
77
63
|
PyObject *operand2_object = operand2;
|
|
@@ -90,7 +76,7 @@ exit_result_ok_clong:
|
|
|
90
76
|
|
|
91
77
|
// That's our return value then. As we use a dedicated variable, it's
|
|
92
78
|
// OK that way.
|
|
93
|
-
*operand1 =
|
|
79
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
94
80
|
goto exit_result_ok;
|
|
95
81
|
|
|
96
82
|
exit_result_object:
|
|
@@ -141,7 +127,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
|
|
|
141
127
|
goto exit_inplace_result_object;
|
|
142
128
|
}
|
|
143
129
|
|
|
144
|
-
|
|
130
|
+
Py_DECREF_IMMORTAL(x);
|
|
145
131
|
}
|
|
146
132
|
|
|
147
133
|
{
|
|
@@ -167,7 +153,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
|
|
|
167
153
|
goto exit_inplace_result_object;
|
|
168
154
|
}
|
|
169
155
|
|
|
170
|
-
|
|
156
|
+
Py_DECREF_IMMORTAL(x);
|
|
171
157
|
}
|
|
172
158
|
|
|
173
159
|
if (slot2 != NULL) {
|
|
@@ -178,7 +164,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
|
|
|
178
164
|
goto exit_inplace_result_object;
|
|
179
165
|
}
|
|
180
166
|
|
|
181
|
-
|
|
167
|
+
Py_DECREF_IMMORTAL(x);
|
|
182
168
|
}
|
|
183
169
|
|
|
184
170
|
#if PYTHON_VERSION < 0x300
|
|
@@ -271,7 +257,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
|
|
|
271
257
|
}
|
|
272
258
|
// No sequence repeat slot sq_repeat available for this type.
|
|
273
259
|
|
|
274
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
260
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: '%s' and 'int'", type1->tp_name);
|
|
275
261
|
goto exit_inplace_exception;
|
|
276
262
|
}
|
|
277
263
|
|
|
@@ -342,6 +328,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **operand1, PyObj
|
|
|
342
328
|
goto exit_result_ok_clong;
|
|
343
329
|
}
|
|
344
330
|
}
|
|
331
|
+
|
|
345
332
|
{
|
|
346
333
|
PyObject *operand1_object = *operand1;
|
|
347
334
|
PyObject *operand2_object = operand2;
|
|
@@ -360,7 +347,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **operand1, PyObj
|
|
|
360
347
|
|
|
361
348
|
// That's our return value then. As we use a dedicated variable, it's
|
|
362
349
|
// OK that way.
|
|
363
|
-
*operand1 =
|
|
350
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
364
351
|
goto exit_result_ok;
|
|
365
352
|
|
|
366
353
|
exit_result_object:
|
|
@@ -430,7 +417,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
|
|
|
430
417
|
goto exit_inplace_result_object;
|
|
431
418
|
}
|
|
432
419
|
|
|
433
|
-
|
|
420
|
+
Py_DECREF_IMMORTAL(x);
|
|
434
421
|
slot2 = NULL;
|
|
435
422
|
}
|
|
436
423
|
}
|
|
@@ -442,7 +429,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
|
|
|
442
429
|
goto exit_inplace_result_object;
|
|
443
430
|
}
|
|
444
431
|
|
|
445
|
-
|
|
432
|
+
Py_DECREF_IMMORTAL(x);
|
|
446
433
|
}
|
|
447
434
|
|
|
448
435
|
if (slot2 != NULL) {
|
|
@@ -453,7 +440,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
|
|
|
453
440
|
goto exit_inplace_result_object;
|
|
454
441
|
}
|
|
455
442
|
|
|
456
|
-
|
|
443
|
+
Py_DECREF_IMMORTAL(x);
|
|
457
444
|
}
|
|
458
445
|
|
|
459
446
|
#if PYTHON_VERSION < 0x300
|
|
@@ -546,7 +533,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
|
|
|
546
533
|
}
|
|
547
534
|
}
|
|
548
535
|
|
|
549
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
536
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and '%s'", type2->tp_name);
|
|
550
537
|
goto exit_inplace_exception;
|
|
551
538
|
}
|
|
552
539
|
|
|
@@ -617,6 +604,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **operand1, PyObj
|
|
|
617
604
|
goto exit_result_ok_clong;
|
|
618
605
|
}
|
|
619
606
|
}
|
|
607
|
+
|
|
620
608
|
{
|
|
621
609
|
PyObject *operand1_object = *operand1;
|
|
622
610
|
PyObject *operand2_object = operand2;
|
|
@@ -635,7 +623,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **operand1, PyObj
|
|
|
635
623
|
|
|
636
624
|
// That's our return value then. As we use a dedicated variable, it's
|
|
637
625
|
// OK that way.
|
|
638
|
-
*operand1 =
|
|
626
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
639
627
|
goto exit_result_ok;
|
|
640
628
|
|
|
641
629
|
exit_result_object:
|
|
@@ -734,7 +722,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
|
|
|
734
722
|
goto exit_inplace_result_object;
|
|
735
723
|
}
|
|
736
724
|
|
|
737
|
-
|
|
725
|
+
Py_DECREF_IMMORTAL(x);
|
|
738
726
|
}
|
|
739
727
|
|
|
740
728
|
{
|
|
@@ -760,7 +748,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
|
|
|
760
748
|
goto exit_inplace_result_object;
|
|
761
749
|
}
|
|
762
750
|
|
|
763
|
-
|
|
751
|
+
Py_DECREF_IMMORTAL(x);
|
|
764
752
|
}
|
|
765
753
|
|
|
766
754
|
if (slot2 != NULL) {
|
|
@@ -771,7 +759,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
|
|
|
771
759
|
goto exit_inplace_result_object;
|
|
772
760
|
}
|
|
773
761
|
|
|
774
|
-
|
|
762
|
+
Py_DECREF_IMMORTAL(x);
|
|
775
763
|
}
|
|
776
764
|
|
|
777
765
|
#if PYTHON_VERSION < 0x300
|
|
@@ -865,9 +853,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
|
|
|
865
853
|
// No sequence repeat slot sq_repeat available for this type.
|
|
866
854
|
|
|
867
855
|
#if PYTHON_VERSION < 0x300
|
|
868
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
856
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: '%s' and 'long'", type1->tp_name);
|
|
869
857
|
#else
|
|
870
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
858
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: '%s' and 'int'", type1->tp_name);
|
|
871
859
|
#endif
|
|
872
860
|
goto exit_inplace_exception;
|
|
873
861
|
}
|
|
@@ -982,7 +970,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
|
|
|
982
970
|
goto exit_inplace_result_object;
|
|
983
971
|
}
|
|
984
972
|
|
|
985
|
-
|
|
973
|
+
Py_DECREF_IMMORTAL(x);
|
|
986
974
|
slot2 = NULL;
|
|
987
975
|
}
|
|
988
976
|
}
|
|
@@ -994,7 +982,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
|
|
|
994
982
|
goto exit_inplace_result_object;
|
|
995
983
|
}
|
|
996
984
|
|
|
997
|
-
|
|
985
|
+
Py_DECREF_IMMORTAL(x);
|
|
998
986
|
}
|
|
999
987
|
|
|
1000
988
|
if (slot2 != NULL) {
|
|
@@ -1005,7 +993,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
|
|
|
1005
993
|
goto exit_inplace_result_object;
|
|
1006
994
|
}
|
|
1007
995
|
|
|
1008
|
-
|
|
996
|
+
Py_DECREF_IMMORTAL(x);
|
|
1009
997
|
}
|
|
1010
998
|
|
|
1011
999
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1099,9 +1087,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
|
|
|
1099
1087
|
}
|
|
1100
1088
|
|
|
1101
1089
|
#if PYTHON_VERSION < 0x300
|
|
1102
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1090
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'long' and '%s'", type2->tp_name);
|
|
1103
1091
|
#else
|
|
1104
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1092
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and '%s'", type2->tp_name);
|
|
1105
1093
|
#endif
|
|
1106
1094
|
goto exit_inplace_exception;
|
|
1107
1095
|
}
|
|
@@ -1253,7 +1241,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
|
|
|
1253
1241
|
goto exit_inplace_result_object;
|
|
1254
1242
|
}
|
|
1255
1243
|
|
|
1256
|
-
|
|
1244
|
+
Py_DECREF_IMMORTAL(x);
|
|
1257
1245
|
}
|
|
1258
1246
|
|
|
1259
1247
|
{
|
|
@@ -1279,7 +1267,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
|
|
|
1279
1267
|
goto exit_inplace_result_object;
|
|
1280
1268
|
}
|
|
1281
1269
|
|
|
1282
|
-
|
|
1270
|
+
Py_DECREF_IMMORTAL(x);
|
|
1283
1271
|
}
|
|
1284
1272
|
|
|
1285
1273
|
if (slot2 != NULL) {
|
|
@@ -1290,7 +1278,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
|
|
|
1290
1278
|
goto exit_inplace_result_object;
|
|
1291
1279
|
}
|
|
1292
1280
|
|
|
1293
|
-
|
|
1281
|
+
Py_DECREF_IMMORTAL(x);
|
|
1294
1282
|
}
|
|
1295
1283
|
|
|
1296
1284
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1383,7 +1371,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
|
|
|
1383
1371
|
}
|
|
1384
1372
|
// No sequence repeat slot sq_repeat available for this type.
|
|
1385
1373
|
|
|
1386
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1374
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: '%s' and 'float'", type1->tp_name);
|
|
1387
1375
|
goto exit_inplace_exception;
|
|
1388
1376
|
}
|
|
1389
1377
|
|
|
@@ -1504,7 +1492,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
|
|
|
1504
1492
|
goto exit_inplace_result_object;
|
|
1505
1493
|
}
|
|
1506
1494
|
|
|
1507
|
-
|
|
1495
|
+
Py_DECREF_IMMORTAL(x);
|
|
1508
1496
|
slot2 = NULL;
|
|
1509
1497
|
}
|
|
1510
1498
|
}
|
|
@@ -1516,7 +1504,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
|
|
|
1516
1504
|
goto exit_inplace_result_object;
|
|
1517
1505
|
}
|
|
1518
1506
|
|
|
1519
|
-
|
|
1507
|
+
Py_DECREF_IMMORTAL(x);
|
|
1520
1508
|
}
|
|
1521
1509
|
|
|
1522
1510
|
if (slot2 != NULL) {
|
|
@@ -1527,7 +1515,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
|
|
|
1527
1515
|
goto exit_inplace_result_object;
|
|
1528
1516
|
}
|
|
1529
1517
|
|
|
1530
|
-
|
|
1518
|
+
Py_DECREF_IMMORTAL(x);
|
|
1531
1519
|
}
|
|
1532
1520
|
|
|
1533
1521
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1620,7 +1608,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
|
|
|
1620
1608
|
}
|
|
1621
1609
|
}
|
|
1622
1610
|
|
|
1623
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1611
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'float' and '%s'", type2->tp_name);
|
|
1624
1612
|
goto exit_inplace_exception;
|
|
1625
1613
|
}
|
|
1626
1614
|
|
|
@@ -1733,7 +1721,7 @@ static inline bool _INPLACE_OPERATION_MULT_FLOAT_LONG(PyObject **operand1, PyObj
|
|
|
1733
1721
|
goto exit_inplace_result_object;
|
|
1734
1722
|
}
|
|
1735
1723
|
|
|
1736
|
-
|
|
1724
|
+
Py_DECREF_IMMORTAL(x);
|
|
1737
1725
|
}
|
|
1738
1726
|
|
|
1739
1727
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -1745,9 +1733,9 @@ static inline bool _INPLACE_OPERATION_MULT_FLOAT_LONG(PyObject **operand1, PyObj
|
|
|
1745
1733
|
// No sequence repeat slot sq_repeat available for this type.
|
|
1746
1734
|
|
|
1747
1735
|
#if PYTHON_VERSION < 0x300
|
|
1748
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1736
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'float' and 'long'");
|
|
1749
1737
|
#else
|
|
1750
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1738
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'float' and 'int'");
|
|
1751
1739
|
#endif
|
|
1752
1740
|
goto exit_inplace_exception;
|
|
1753
1741
|
}
|
|
@@ -1813,7 +1801,7 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_FLOAT(PyObject **operand1, PyObj
|
|
|
1813
1801
|
goto exit_inplace_result_object;
|
|
1814
1802
|
}
|
|
1815
1803
|
|
|
1816
|
-
|
|
1804
|
+
Py_DECREF_IMMORTAL(x);
|
|
1817
1805
|
}
|
|
1818
1806
|
|
|
1819
1807
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -1825,9 +1813,9 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_FLOAT(PyObject **operand1, PyObj
|
|
|
1825
1813
|
// No sequence repeat slot sq_repeat available for this type.
|
|
1826
1814
|
|
|
1827
1815
|
#if PYTHON_VERSION < 0x300
|
|
1828
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1816
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'long' and 'float'");
|
|
1829
1817
|
#else
|
|
1830
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1818
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'float'");
|
|
1831
1819
|
#endif
|
|
1832
1820
|
goto exit_inplace_exception;
|
|
1833
1821
|
}
|
|
@@ -1888,7 +1876,7 @@ static inline bool _INPLACE_OPERATION_MULT_FLOAT_INT(PyObject **operand1, PyObje
|
|
|
1888
1876
|
goto exit_inplace_result_object;
|
|
1889
1877
|
}
|
|
1890
1878
|
|
|
1891
|
-
|
|
1879
|
+
Py_DECREF_IMMORTAL(x);
|
|
1892
1880
|
}
|
|
1893
1881
|
|
|
1894
1882
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -1899,7 +1887,7 @@ static inline bool _INPLACE_OPERATION_MULT_FLOAT_INT(PyObject **operand1, PyObje
|
|
|
1899
1887
|
}
|
|
1900
1888
|
// No sequence repeat slot sq_repeat available for this type.
|
|
1901
1889
|
|
|
1902
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1890
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'float' and 'int'");
|
|
1903
1891
|
goto exit_inplace_exception;
|
|
1904
1892
|
}
|
|
1905
1893
|
|
|
@@ -1966,7 +1954,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_FLOAT(PyObject **operand1, PyObje
|
|
|
1966
1954
|
goto exit_inplace_result_object;
|
|
1967
1955
|
}
|
|
1968
1956
|
|
|
1969
|
-
|
|
1957
|
+
Py_DECREF_IMMORTAL(x);
|
|
1970
1958
|
}
|
|
1971
1959
|
|
|
1972
1960
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -1977,7 +1965,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_FLOAT(PyObject **operand1, PyObje
|
|
|
1977
1965
|
}
|
|
1978
1966
|
// No sequence repeat slot sq_repeat available for this type.
|
|
1979
1967
|
|
|
1980
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1968
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'float'");
|
|
1981
1969
|
goto exit_inplace_exception;
|
|
1982
1970
|
}
|
|
1983
1971
|
|
|
@@ -2038,7 +2026,7 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_INT(PyObject **operand1, PyObjec
|
|
|
2038
2026
|
goto exit_inplace_result_object;
|
|
2039
2027
|
}
|
|
2040
2028
|
|
|
2041
|
-
|
|
2029
|
+
Py_DECREF_IMMORTAL(x);
|
|
2042
2030
|
}
|
|
2043
2031
|
|
|
2044
2032
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2049,7 +2037,7 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_INT(PyObject **operand1, PyObjec
|
|
|
2049
2037
|
}
|
|
2050
2038
|
// No sequence repeat slot sq_repeat available for this type.
|
|
2051
2039
|
|
|
2052
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
2040
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'long' and 'int'");
|
|
2053
2041
|
goto exit_inplace_exception;
|
|
2054
2042
|
}
|
|
2055
2043
|
|
|
@@ -2116,7 +2104,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_LONG(PyObject **operand1, PyObjec
|
|
|
2116
2104
|
goto exit_inplace_result_object;
|
|
2117
2105
|
}
|
|
2118
2106
|
|
|
2119
|
-
|
|
2107
|
+
Py_DECREF_IMMORTAL(x);
|
|
2120
2108
|
}
|
|
2121
2109
|
|
|
2122
2110
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2127,7 +2115,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_LONG(PyObject **operand1, PyObjec
|
|
|
2127
2115
|
}
|
|
2128
2116
|
// No sequence repeat slot sq_repeat available for this type.
|
|
2129
2117
|
|
|
2130
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
2118
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'long'");
|
|
2131
2119
|
goto exit_inplace_exception;
|
|
2132
2120
|
}
|
|
2133
2121
|
|
|
@@ -2198,9 +2186,10 @@ static inline bool _INPLACE_OPERATION_MULT_INT_CLONG(PyObject **operand1, long o
|
|
|
2198
2186
|
goto exit_result_ok_clong;
|
|
2199
2187
|
}
|
|
2200
2188
|
}
|
|
2189
|
+
|
|
2201
2190
|
{
|
|
2202
2191
|
PyObject *operand1_object = *operand1;
|
|
2203
|
-
PyObject *operand2_object =
|
|
2192
|
+
PyObject *operand2_object = Nuitka_PyLong_FromLong(operand2);
|
|
2204
2193
|
|
|
2205
2194
|
PyObject *r = PyLong_Type.tp_as_number->nb_multiply(operand1_object, operand2_object);
|
|
2206
2195
|
assert(r != Py_NotImplemented);
|
|
@@ -2218,7 +2207,7 @@ exit_result_ok_clong:
|
|
|
2218
2207
|
|
|
2219
2208
|
// That's our return value then. As we use a dedicated variable, it's
|
|
2220
2209
|
// OK that way.
|
|
2221
|
-
*operand1 =
|
|
2210
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
2222
2211
|
goto exit_result_ok;
|
|
2223
2212
|
|
|
2224
2213
|
exit_result_object:
|
|
@@ -2426,7 +2415,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_STR(PyObject **operand1, PyObject
|
|
|
2426
2415
|
}
|
|
2427
2416
|
}
|
|
2428
2417
|
|
|
2429
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
2418
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'str'");
|
|
2430
2419
|
goto exit_inplace_exception;
|
|
2431
2420
|
}
|
|
2432
2421
|
|
|
@@ -2587,7 +2576,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_UNICODE(PyObject **operand1, PyOb
|
|
|
2587
2576
|
}
|
|
2588
2577
|
}
|
|
2589
2578
|
|
|
2590
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
2579
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'unicode'");
|
|
2591
2580
|
goto exit_inplace_exception;
|
|
2592
2581
|
}
|
|
2593
2582
|
|
|
@@ -2748,7 +2737,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_TUPLE(PyObject **operand1, PyObje
|
|
|
2748
2737
|
}
|
|
2749
2738
|
}
|
|
2750
2739
|
|
|
2751
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
2740
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'tuple'");
|
|
2752
2741
|
goto exit_inplace_exception;
|
|
2753
2742
|
}
|
|
2754
2743
|
|
|
@@ -2909,7 +2898,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_LIST(PyObject **operand1, PyObjec
|
|
|
2909
2898
|
}
|
|
2910
2899
|
}
|
|
2911
2900
|
|
|
2912
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
2901
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'list'");
|
|
2913
2902
|
goto exit_inplace_exception;
|
|
2914
2903
|
}
|
|
2915
2904
|
|
|
@@ -3090,9 +3079,9 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_UNICODE(PyObject **operand1, PyO
|
|
|
3090
3079
|
}
|
|
3091
3080
|
|
|
3092
3081
|
#if PYTHON_VERSION < 0x300
|
|
3093
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3082
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'long' and 'unicode'");
|
|
3094
3083
|
#else
|
|
3095
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3084
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'str'");
|
|
3096
3085
|
#endif
|
|
3097
3086
|
goto exit_inplace_exception;
|
|
3098
3087
|
}
|
|
@@ -3265,7 +3254,7 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_BYTES(PyObject **operand1, PyObj
|
|
|
3265
3254
|
}
|
|
3266
3255
|
}
|
|
3267
3256
|
|
|
3268
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3257
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'bytes'");
|
|
3269
3258
|
goto exit_inplace_exception;
|
|
3270
3259
|
}
|
|
3271
3260
|
|
|
@@ -3444,9 +3433,9 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_TUPLE(PyObject **operand1, PyObj
|
|
|
3444
3433
|
}
|
|
3445
3434
|
|
|
3446
3435
|
#if PYTHON_VERSION < 0x300
|
|
3447
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3436
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'long' and 'tuple'");
|
|
3448
3437
|
#else
|
|
3449
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3438
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'tuple'");
|
|
3450
3439
|
#endif
|
|
3451
3440
|
goto exit_inplace_exception;
|
|
3452
3441
|
}
|
|
@@ -3625,9 +3614,9 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_LIST(PyObject **operand1, PyObje
|
|
|
3625
3614
|
}
|
|
3626
3615
|
|
|
3627
3616
|
#if PYTHON_VERSION < 0x300
|
|
3628
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3617
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'long' and 'list'");
|
|
3629
3618
|
#else
|
|
3630
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
3619
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: 'int' and 'list'");
|
|
3631
3620
|
#endif
|
|
3632
3621
|
goto exit_inplace_exception;
|
|
3633
3622
|
}
|
|
@@ -3695,7 +3684,7 @@ static inline bool _INPLACE_OPERATION_MULT_STR_OBJECT(PyObject **operand1, PyObj
|
|
|
3695
3684
|
goto exit_inplace_result_object;
|
|
3696
3685
|
}
|
|
3697
3686
|
|
|
3698
|
-
|
|
3687
|
+
Py_DECREF_IMMORTAL(x);
|
|
3699
3688
|
}
|
|
3700
3689
|
|
|
3701
3690
|
#if PYTHON_VERSION < 0x300
|
|
@@ -3840,7 +3829,7 @@ static inline bool _INPLACE_OPERATION_MULT_UNICODE_OBJECT(PyObject **operand1, P
|
|
|
3840
3829
|
goto exit_inplace_result_object;
|
|
3841
3830
|
}
|
|
3842
3831
|
|
|
3843
|
-
|
|
3832
|
+
Py_DECREF_IMMORTAL(x);
|
|
3844
3833
|
}
|
|
3845
3834
|
|
|
3846
3835
|
#if PYTHON_VERSION < 0x300
|
|
@@ -3985,7 +3974,7 @@ static inline bool _INPLACE_OPERATION_MULT_BYTES_OBJECT(PyObject **operand1, PyO
|
|
|
3985
3974
|
goto exit_inplace_result_object;
|
|
3986
3975
|
}
|
|
3987
3976
|
|
|
3988
|
-
|
|
3977
|
+
Py_DECREF_IMMORTAL(x);
|
|
3989
3978
|
}
|
|
3990
3979
|
|
|
3991
3980
|
#if PYTHON_VERSION < 0x300
|
|
@@ -4130,7 +4119,7 @@ static inline bool _INPLACE_OPERATION_MULT_TUPLE_OBJECT(PyObject **operand1, PyO
|
|
|
4130
4119
|
goto exit_inplace_result_object;
|
|
4131
4120
|
}
|
|
4132
4121
|
|
|
4133
|
-
|
|
4122
|
+
Py_DECREF_IMMORTAL(x);
|
|
4134
4123
|
}
|
|
4135
4124
|
|
|
4136
4125
|
#if PYTHON_VERSION < 0x300
|
|
@@ -4274,7 +4263,7 @@ static inline bool _INPLACE_OPERATION_MULT_LIST_OBJECT(PyObject **operand1, PyOb
|
|
|
4274
4263
|
goto exit_inplace_result_object;
|
|
4275
4264
|
}
|
|
4276
4265
|
|
|
4277
|
-
|
|
4266
|
+
Py_DECREF_IMMORTAL(x);
|
|
4278
4267
|
}
|
|
4279
4268
|
|
|
4280
4269
|
#if PYTHON_VERSION < 0x300
|
|
@@ -4426,6 +4415,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4426
4415
|
goto exit_result_ok_clong;
|
|
4427
4416
|
}
|
|
4428
4417
|
}
|
|
4418
|
+
|
|
4429
4419
|
{
|
|
4430
4420
|
PyObject *operand1_object = *operand1;
|
|
4431
4421
|
PyObject *operand2_object = operand2;
|
|
@@ -4444,7 +4434,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4444
4434
|
|
|
4445
4435
|
// That's our return value then. As we use a dedicated variable, it's
|
|
4446
4436
|
// OK that way.
|
|
4447
|
-
*operand1 =
|
|
4437
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
4448
4438
|
goto exit_result_ok;
|
|
4449
4439
|
|
|
4450
4440
|
exit_result_object:
|
|
@@ -4500,7 +4490,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4500
4490
|
goto exit_inplace_result_object;
|
|
4501
4491
|
}
|
|
4502
4492
|
|
|
4503
|
-
|
|
4493
|
+
Py_DECREF_IMMORTAL(x);
|
|
4504
4494
|
}
|
|
4505
4495
|
|
|
4506
4496
|
{
|
|
@@ -4529,7 +4519,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4529
4519
|
goto exit_inplace_result_object;
|
|
4530
4520
|
}
|
|
4531
4521
|
|
|
4532
|
-
|
|
4522
|
+
Py_DECREF_IMMORTAL(x);
|
|
4533
4523
|
slot2 = NULL;
|
|
4534
4524
|
}
|
|
4535
4525
|
}
|
|
@@ -4541,7 +4531,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4541
4531
|
goto exit_inplace_result_object;
|
|
4542
4532
|
}
|
|
4543
4533
|
|
|
4544
|
-
|
|
4534
|
+
Py_DECREF_IMMORTAL(x);
|
|
4545
4535
|
}
|
|
4546
4536
|
|
|
4547
4537
|
if (slot2 != NULL) {
|
|
@@ -4552,7 +4542,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4552
4542
|
goto exit_inplace_result_object;
|
|
4553
4543
|
}
|
|
4554
4544
|
|
|
4555
|
-
|
|
4545
|
+
Py_DECREF_IMMORTAL(x);
|
|
4556
4546
|
}
|
|
4557
4547
|
|
|
4558
4548
|
#if PYTHON_VERSION < 0x300
|
|
@@ -4656,7 +4646,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
|
|
|
4656
4646
|
}
|
|
4657
4647
|
}
|
|
4658
4648
|
|
|
4659
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
4649
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for *=: '%s' and '%s'", type1->tp_name,
|
|
4660
4650
|
type2->tp_name);
|
|
4661
4651
|
goto exit_inplace_exception;
|
|
4662
4652
|
}
|
|
@@ -4682,3 +4672,18 @@ exit_inplace_exception:
|
|
|
4682
4672
|
bool INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, PyObject *operand2) {
|
|
4683
4673
|
return _INPLACE_OPERATION_MULT_OBJECT_OBJECT(operand1, operand2);
|
|
4684
4674
|
}
|
|
4675
|
+
|
|
4676
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
4677
|
+
// integrates with CPython, but also works on its own.
|
|
4678
|
+
//
|
|
4679
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4680
|
+
// you may not use this file except in compliance with the License.
|
|
4681
|
+
// You may obtain a copy of the License at
|
|
4682
|
+
//
|
|
4683
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
4684
|
+
//
|
|
4685
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
4686
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
4687
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4688
|
+
// See the License for the specific language governing permissions and
|
|
4689
|
+
// limitations under the License.
|