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. */
|
|
@@ -95,7 +80,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_LONG(PyObject
|
|
|
95
80
|
goto exit_inplace_result_object;
|
|
96
81
|
}
|
|
97
82
|
|
|
98
|
-
|
|
83
|
+
Py_DECREF_IMMORTAL(x);
|
|
99
84
|
}
|
|
100
85
|
|
|
101
86
|
{
|
|
@@ -121,7 +106,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_LONG(PyObject
|
|
|
121
106
|
goto exit_inplace_result_object;
|
|
122
107
|
}
|
|
123
108
|
|
|
124
|
-
|
|
109
|
+
Py_DECREF_IMMORTAL(x);
|
|
125
110
|
}
|
|
126
111
|
|
|
127
112
|
if (slot2 != NULL) {
|
|
@@ -132,7 +117,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_LONG(PyObject
|
|
|
132
117
|
goto exit_inplace_result_object;
|
|
133
118
|
}
|
|
134
119
|
|
|
135
|
-
|
|
120
|
+
Py_DECREF_IMMORTAL(x);
|
|
136
121
|
}
|
|
137
122
|
|
|
138
123
|
#if PYTHON_VERSION < 0x300
|
|
@@ -210,9 +195,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_LONG(PyObject
|
|
|
210
195
|
#endif
|
|
211
196
|
|
|
212
197
|
#if PYTHON_VERSION < 0x300
|
|
213
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
198
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: '%s' and 'long'", type1->tp_name);
|
|
214
199
|
#else
|
|
215
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
200
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: '%s' and 'int'", type1->tp_name);
|
|
216
201
|
#endif
|
|
217
202
|
goto exit_inplace_exception;
|
|
218
203
|
}
|
|
@@ -327,7 +312,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_LONG_OBJECT(PyObject
|
|
|
327
312
|
goto exit_inplace_result_object;
|
|
328
313
|
}
|
|
329
314
|
|
|
330
|
-
|
|
315
|
+
Py_DECREF_IMMORTAL(x);
|
|
331
316
|
slot2 = NULL;
|
|
332
317
|
}
|
|
333
318
|
}
|
|
@@ -339,7 +324,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_LONG_OBJECT(PyObject
|
|
|
339
324
|
goto exit_inplace_result_object;
|
|
340
325
|
}
|
|
341
326
|
|
|
342
|
-
|
|
327
|
+
Py_DECREF_IMMORTAL(x);
|
|
343
328
|
}
|
|
344
329
|
|
|
345
330
|
if (slot2 != NULL) {
|
|
@@ -350,7 +335,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_LONG_OBJECT(PyObject
|
|
|
350
335
|
goto exit_inplace_result_object;
|
|
351
336
|
}
|
|
352
337
|
|
|
353
|
-
|
|
338
|
+
Py_DECREF_IMMORTAL(x);
|
|
354
339
|
}
|
|
355
340
|
|
|
356
341
|
#if PYTHON_VERSION < 0x300
|
|
@@ -428,9 +413,9 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_LONG_OBJECT(PyObject
|
|
|
428
413
|
#endif
|
|
429
414
|
|
|
430
415
|
#if PYTHON_VERSION < 0x300
|
|
431
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
416
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'long' and '%s'", type2->tp_name);
|
|
432
417
|
#else
|
|
433
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
418
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'int' and '%s'", type2->tp_name);
|
|
434
419
|
#endif
|
|
435
420
|
goto exit_inplace_exception;
|
|
436
421
|
}
|
|
@@ -545,8 +530,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_INT(PyObject **operand1, PyObje
|
|
|
545
530
|
if (a == 0 || b == 0) {
|
|
546
531
|
goto exit_result_ok_left;
|
|
547
532
|
} else if (b >= LONG_BIT) {
|
|
548
|
-
PyObject *operand1_long =
|
|
549
|
-
PyObject *operand2_long =
|
|
533
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
534
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
550
535
|
|
|
551
536
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
552
537
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -560,8 +545,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_INT(PyObject **operand1, PyObje
|
|
|
560
545
|
long c = a << b;
|
|
561
546
|
|
|
562
547
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
563
|
-
PyObject *operand1_long =
|
|
564
|
-
PyObject *operand2_long =
|
|
548
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
549
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
565
550
|
|
|
566
551
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
567
552
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -584,7 +569,7 @@ exit_result_ok_clong:
|
|
|
584
569
|
|
|
585
570
|
// That's our return value then. As we use a dedicated variable, it's
|
|
586
571
|
// OK that way.
|
|
587
|
-
*operand1 =
|
|
572
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
588
573
|
goto exit_result_ok;
|
|
589
574
|
|
|
590
575
|
exit_result_ok_left:
|
|
@@ -638,7 +623,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject *
|
|
|
638
623
|
goto exit_inplace_result_object;
|
|
639
624
|
}
|
|
640
625
|
|
|
641
|
-
|
|
626
|
+
Py_DECREF_IMMORTAL(x);
|
|
642
627
|
}
|
|
643
628
|
|
|
644
629
|
{
|
|
@@ -664,7 +649,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject *
|
|
|
664
649
|
goto exit_inplace_result_object;
|
|
665
650
|
}
|
|
666
651
|
|
|
667
|
-
|
|
652
|
+
Py_DECREF_IMMORTAL(x);
|
|
668
653
|
}
|
|
669
654
|
|
|
670
655
|
if (slot2 != NULL) {
|
|
@@ -675,7 +660,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject *
|
|
|
675
660
|
goto exit_inplace_result_object;
|
|
676
661
|
}
|
|
677
662
|
|
|
678
|
-
|
|
663
|
+
Py_DECREF_IMMORTAL(x);
|
|
679
664
|
}
|
|
680
665
|
|
|
681
666
|
#if PYTHON_VERSION < 0x300
|
|
@@ -752,7 +737,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject *
|
|
|
752
737
|
}
|
|
753
738
|
#endif
|
|
754
739
|
|
|
755
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
740
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: '%s' and 'int'", type1->tp_name);
|
|
756
741
|
goto exit_inplace_exception;
|
|
757
742
|
}
|
|
758
743
|
|
|
@@ -816,8 +801,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject **operand1, PyO
|
|
|
816
801
|
if (a == 0 || b == 0) {
|
|
817
802
|
goto exit_result_ok_left;
|
|
818
803
|
} else if (b >= LONG_BIT) {
|
|
819
|
-
PyObject *operand1_long =
|
|
820
|
-
PyObject *operand2_long =
|
|
804
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
805
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
821
806
|
|
|
822
807
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
823
808
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -831,8 +816,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject **operand1, PyO
|
|
|
831
816
|
long c = a << b;
|
|
832
817
|
|
|
833
818
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
834
|
-
PyObject *operand1_long =
|
|
835
|
-
PyObject *operand2_long =
|
|
819
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
820
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
836
821
|
|
|
837
822
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
838
823
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -855,7 +840,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_INT(PyObject **operand1, PyO
|
|
|
855
840
|
|
|
856
841
|
// That's our return value then. As we use a dedicated variable, it's
|
|
857
842
|
// OK that way.
|
|
858
|
-
*operand1 =
|
|
843
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
859
844
|
goto exit_result_ok;
|
|
860
845
|
|
|
861
846
|
exit_result_ok_left:
|
|
@@ -928,7 +913,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject *
|
|
|
928
913
|
goto exit_inplace_result_object;
|
|
929
914
|
}
|
|
930
915
|
|
|
931
|
-
|
|
916
|
+
Py_DECREF_IMMORTAL(x);
|
|
932
917
|
slot2 = NULL;
|
|
933
918
|
}
|
|
934
919
|
}
|
|
@@ -940,7 +925,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject *
|
|
|
940
925
|
goto exit_inplace_result_object;
|
|
941
926
|
}
|
|
942
927
|
|
|
943
|
-
|
|
928
|
+
Py_DECREF_IMMORTAL(x);
|
|
944
929
|
}
|
|
945
930
|
|
|
946
931
|
if (slot2 != NULL) {
|
|
@@ -951,7 +936,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject *
|
|
|
951
936
|
goto exit_inplace_result_object;
|
|
952
937
|
}
|
|
953
938
|
|
|
954
|
-
|
|
939
|
+
Py_DECREF_IMMORTAL(x);
|
|
955
940
|
}
|
|
956
941
|
|
|
957
942
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1028,7 +1013,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject *
|
|
|
1028
1013
|
}
|
|
1029
1014
|
#endif
|
|
1030
1015
|
|
|
1031
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1016
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'int' and '%s'", type2->tp_name);
|
|
1032
1017
|
goto exit_inplace_exception;
|
|
1033
1018
|
}
|
|
1034
1019
|
|
|
@@ -1092,8 +1077,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject **operand1, PyO
|
|
|
1092
1077
|
if (a == 0 || b == 0) {
|
|
1093
1078
|
goto exit_result_ok_left;
|
|
1094
1079
|
} else if (b >= LONG_BIT) {
|
|
1095
|
-
PyObject *operand1_long =
|
|
1096
|
-
PyObject *operand2_long =
|
|
1080
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1081
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1097
1082
|
|
|
1098
1083
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1099
1084
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1107,8 +1092,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject **operand1, PyO
|
|
|
1107
1092
|
long c = a << b;
|
|
1108
1093
|
|
|
1109
1094
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
1110
|
-
PyObject *operand1_long =
|
|
1111
|
-
PyObject *operand2_long =
|
|
1095
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1096
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1112
1097
|
|
|
1113
1098
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1114
1099
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1131,7 +1116,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_OBJECT(PyObject **operand1, PyO
|
|
|
1131
1116
|
|
|
1132
1117
|
// That's our return value then. As we use a dedicated variable, it's
|
|
1133
1118
|
// OK that way.
|
|
1134
|
-
*operand1 =
|
|
1119
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
1135
1120
|
goto exit_result_ok;
|
|
1136
1121
|
|
|
1137
1122
|
exit_result_ok_left:
|
|
@@ -1196,12 +1181,12 @@ static inline bool _INPLACE_OPERATION_LSHIFT_LONG_INT(PyObject **operand1, PyObj
|
|
|
1196
1181
|
goto exit_inplace_result_object;
|
|
1197
1182
|
}
|
|
1198
1183
|
|
|
1199
|
-
|
|
1184
|
+
Py_DECREF_IMMORTAL(x);
|
|
1200
1185
|
}
|
|
1201
1186
|
|
|
1202
1187
|
// Statically recognized that coercion is not possible with these types
|
|
1203
1188
|
|
|
1204
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1189
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'long' and 'int'");
|
|
1205
1190
|
goto exit_inplace_exception;
|
|
1206
1191
|
}
|
|
1207
1192
|
|
|
@@ -1268,12 +1253,12 @@ static inline bool _INPLACE_OPERATION_LSHIFT_INT_LONG(PyObject **operand1, PyObj
|
|
|
1268
1253
|
goto exit_inplace_result_object;
|
|
1269
1254
|
}
|
|
1270
1255
|
|
|
1271
|
-
|
|
1256
|
+
Py_DECREF_IMMORTAL(x);
|
|
1272
1257
|
}
|
|
1273
1258
|
|
|
1274
1259
|
// Statically recognized that coercion is not possible with these types
|
|
1275
1260
|
|
|
1276
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1261
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: 'int' and 'long'");
|
|
1277
1262
|
goto exit_inplace_exception;
|
|
1278
1263
|
}
|
|
1279
1264
|
|
|
@@ -1341,8 +1326,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1341
1326
|
if (a == 0 || b == 0) {
|
|
1342
1327
|
goto exit_result_ok_left;
|
|
1343
1328
|
} else if (b >= LONG_BIT) {
|
|
1344
|
-
PyObject *operand1_long =
|
|
1345
|
-
PyObject *operand2_long =
|
|
1329
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1330
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1346
1331
|
|
|
1347
1332
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1348
1333
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1356,8 +1341,8 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1356
1341
|
long c = a << b;
|
|
1357
1342
|
|
|
1358
1343
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
1359
|
-
PyObject *operand1_long =
|
|
1360
|
-
PyObject *operand2_long =
|
|
1344
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1345
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1361
1346
|
|
|
1362
1347
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1363
1348
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1380,7 +1365,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1380
1365
|
|
|
1381
1366
|
// That's our return value then. As we use a dedicated variable, it's
|
|
1382
1367
|
// OK that way.
|
|
1383
|
-
*operand1 =
|
|
1368
|
+
*operand1 = Nuitka_PyInt_FromLong(clong_result);
|
|
1384
1369
|
goto exit_result_ok;
|
|
1385
1370
|
|
|
1386
1371
|
exit_result_ok_left:
|
|
@@ -1436,7 +1421,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1436
1421
|
goto exit_inplace_result_object;
|
|
1437
1422
|
}
|
|
1438
1423
|
|
|
1439
|
-
|
|
1424
|
+
Py_DECREF_IMMORTAL(x);
|
|
1440
1425
|
}
|
|
1441
1426
|
|
|
1442
1427
|
{
|
|
@@ -1465,7 +1450,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1465
1450
|
goto exit_inplace_result_object;
|
|
1466
1451
|
}
|
|
1467
1452
|
|
|
1468
|
-
|
|
1453
|
+
Py_DECREF_IMMORTAL(x);
|
|
1469
1454
|
slot2 = NULL;
|
|
1470
1455
|
}
|
|
1471
1456
|
}
|
|
@@ -1477,7 +1462,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1477
1462
|
goto exit_inplace_result_object;
|
|
1478
1463
|
}
|
|
1479
1464
|
|
|
1480
|
-
|
|
1465
|
+
Py_DECREF_IMMORTAL(x);
|
|
1481
1466
|
}
|
|
1482
1467
|
|
|
1483
1468
|
if (slot2 != NULL) {
|
|
@@ -1488,7 +1473,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1488
1473
|
goto exit_inplace_result_object;
|
|
1489
1474
|
}
|
|
1490
1475
|
|
|
1491
|
-
|
|
1476
|
+
Py_DECREF_IMMORTAL(x);
|
|
1492
1477
|
}
|
|
1493
1478
|
|
|
1494
1479
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1566,7 +1551,7 @@ static inline bool _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
1566
1551
|
}
|
|
1567
1552
|
#endif
|
|
1568
1553
|
|
|
1569
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
1554
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for <<=: '%s' and '%s'", type1->tp_name,
|
|
1570
1555
|
type2->tp_name);
|
|
1571
1556
|
goto exit_inplace_exception;
|
|
1572
1557
|
}
|
|
@@ -1592,3 +1577,18 @@ exit_inplace_exception:
|
|
|
1592
1577
|
bool INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(PyObject **operand1, PyObject *operand2) {
|
|
1593
1578
|
return _INPLACE_OPERATION_LSHIFT_OBJECT_OBJECT(operand1, operand2);
|
|
1594
1579
|
}
|
|
1580
|
+
|
|
1581
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1582
|
+
// integrates with CPython, but also works on its own.
|
|
1583
|
+
//
|
|
1584
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
1585
|
+
// you may not use this file except in compliance with the License.
|
|
1586
|
+
// You may obtain a copy of the License at
|
|
1587
|
+
//
|
|
1588
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
1589
|
+
//
|
|
1590
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
1591
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
1592
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1593
|
+
// See the License for the specific language governing permissions and
|
|
1594
|
+
// limitations under the License.
|
|
@@ -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. */
|
|
@@ -51,9 +36,9 @@ static inline bool _INPLACE_OPERATION_MATMULT_LONG_LONG(PyObject **operand1, PyO
|
|
|
51
36
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
52
37
|
|
|
53
38
|
#if PYTHON_VERSION < 0x300
|
|
54
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
39
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'long' and 'long'");
|
|
55
40
|
#else
|
|
56
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
41
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'int' and 'int'");
|
|
57
42
|
#endif
|
|
58
43
|
goto exit_inplace_exception;
|
|
59
44
|
}
|
|
@@ -100,7 +85,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_LONG(PyObject **operand1, P
|
|
|
100
85
|
goto exit_inplace_result_object;
|
|
101
86
|
}
|
|
102
87
|
|
|
103
|
-
|
|
88
|
+
Py_DECREF_IMMORTAL(x);
|
|
104
89
|
}
|
|
105
90
|
|
|
106
91
|
{
|
|
@@ -116,15 +101,15 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_LONG(PyObject **operand1, P
|
|
|
116
101
|
goto exit_inplace_result_object;
|
|
117
102
|
}
|
|
118
103
|
|
|
119
|
-
|
|
104
|
+
Py_DECREF_IMMORTAL(x);
|
|
120
105
|
}
|
|
121
106
|
|
|
122
107
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
123
108
|
|
|
124
109
|
#if PYTHON_VERSION < 0x300
|
|
125
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
110
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and 'long'", type1->tp_name);
|
|
126
111
|
#else
|
|
127
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
112
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and 'int'", type1->tp_name);
|
|
128
113
|
#endif
|
|
129
114
|
goto exit_inplace_exception;
|
|
130
115
|
}
|
|
@@ -194,15 +179,15 @@ static inline bool _INPLACE_OPERATION_MATMULT_LONG_OBJECT(PyObject **operand1, P
|
|
|
194
179
|
goto exit_inplace_result_object;
|
|
195
180
|
}
|
|
196
181
|
|
|
197
|
-
|
|
182
|
+
Py_DECREF_IMMORTAL(x);
|
|
198
183
|
}
|
|
199
184
|
|
|
200
185
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
201
186
|
|
|
202
187
|
#if PYTHON_VERSION < 0x300
|
|
203
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
188
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'long' and '%s'", type2->tp_name);
|
|
204
189
|
#else
|
|
205
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
190
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'int' and '%s'", type2->tp_name);
|
|
206
191
|
#endif
|
|
207
192
|
goto exit_inplace_exception;
|
|
208
193
|
}
|
|
@@ -256,7 +241,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_FLOAT_FLOAT(PyObject **operand1, P
|
|
|
256
241
|
|
|
257
242
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
258
243
|
|
|
259
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
244
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'float' and 'float'");
|
|
260
245
|
goto exit_inplace_exception;
|
|
261
246
|
}
|
|
262
247
|
|
|
@@ -302,7 +287,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_FLOAT(PyObject **operand1,
|
|
|
302
287
|
goto exit_inplace_result_object;
|
|
303
288
|
}
|
|
304
289
|
|
|
305
|
-
|
|
290
|
+
Py_DECREF_IMMORTAL(x);
|
|
306
291
|
}
|
|
307
292
|
|
|
308
293
|
{
|
|
@@ -318,12 +303,12 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_FLOAT(PyObject **operand1,
|
|
|
318
303
|
goto exit_inplace_result_object;
|
|
319
304
|
}
|
|
320
305
|
|
|
321
|
-
|
|
306
|
+
Py_DECREF_IMMORTAL(x);
|
|
322
307
|
}
|
|
323
308
|
|
|
324
309
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
325
310
|
|
|
326
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
311
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and 'float'", type1->tp_name);
|
|
327
312
|
goto exit_inplace_exception;
|
|
328
313
|
}
|
|
329
314
|
|
|
@@ -392,12 +377,12 @@ static inline bool _INPLACE_OPERATION_MATMULT_FLOAT_OBJECT(PyObject **operand1,
|
|
|
392
377
|
goto exit_inplace_result_object;
|
|
393
378
|
}
|
|
394
379
|
|
|
395
|
-
|
|
380
|
+
Py_DECREF_IMMORTAL(x);
|
|
396
381
|
}
|
|
397
382
|
|
|
398
383
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
399
384
|
|
|
400
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
385
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: 'float' and '%s'", type2->tp_name);
|
|
401
386
|
goto exit_inplace_exception;
|
|
402
387
|
}
|
|
403
388
|
|
|
@@ -457,6 +442,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
457
442
|
const long b = PyInt_AS_LONG(operand2);
|
|
458
443
|
|
|
459
444
|
#error Operator @ not implemented
|
|
445
|
+
|
|
460
446
|
{
|
|
461
447
|
PyObject *operand1_object = *operand1;
|
|
462
448
|
PyObject *operand2_object = operand2;
|
|
@@ -514,7 +500,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
514
500
|
goto exit_inplace_result_object;
|
|
515
501
|
}
|
|
516
502
|
|
|
517
|
-
|
|
503
|
+
Py_DECREF_IMMORTAL(x);
|
|
518
504
|
}
|
|
519
505
|
|
|
520
506
|
{
|
|
@@ -545,7 +531,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
545
531
|
goto exit_inplace_result_object;
|
|
546
532
|
}
|
|
547
533
|
|
|
548
|
-
|
|
534
|
+
Py_DECREF_IMMORTAL(x);
|
|
549
535
|
slot2 = NULL;
|
|
550
536
|
}
|
|
551
537
|
}
|
|
@@ -557,7 +543,7 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
557
543
|
goto exit_inplace_result_object;
|
|
558
544
|
}
|
|
559
545
|
|
|
560
|
-
|
|
546
|
+
Py_DECREF_IMMORTAL(x);
|
|
561
547
|
}
|
|
562
548
|
|
|
563
549
|
if (slot2 != NULL) {
|
|
@@ -568,12 +554,12 @@ static inline bool _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1,
|
|
|
568
554
|
goto exit_inplace_result_object;
|
|
569
555
|
}
|
|
570
556
|
|
|
571
|
-
|
|
557
|
+
Py_DECREF_IMMORTAL(x);
|
|
572
558
|
}
|
|
573
559
|
|
|
574
560
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
575
561
|
|
|
576
|
-
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for
|
|
562
|
+
PyErr_Format(PyExc_TypeError, "unsupported operand type(s) for @=: '%s' and '%s'", type1->tp_name,
|
|
577
563
|
type2->tp_name);
|
|
578
564
|
goto exit_inplace_exception;
|
|
579
565
|
}
|
|
@@ -600,3 +586,18 @@ bool INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(PyObject **operand1, PyObject *oper
|
|
|
600
586
|
return _INPLACE_OPERATION_MATMULT_OBJECT_OBJECT(operand1, operand2);
|
|
601
587
|
}
|
|
602
588
|
#endif
|
|
589
|
+
|
|
590
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
591
|
+
// integrates with CPython, but also works on its own.
|
|
592
|
+
//
|
|
593
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
594
|
+
// you may not use this file except in compliance with the License.
|
|
595
|
+
// You may obtain a copy of the License at
|
|
596
|
+
//
|
|
597
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
598
|
+
//
|
|
599
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
600
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
601
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
602
|
+
// See the License for the specific language governing permissions and
|
|
603
|
+
// limitations under the License.
|