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 HelperOperationBinary.c.j2 instead! */
|
|
19
4
|
|
|
20
5
|
/* This file is included from another C file, help IDEs to still parse it on its own. */
|
|
@@ -105,7 +90,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_LON
|
|
|
105
90
|
goto exit_binary_result_object;
|
|
106
91
|
}
|
|
107
92
|
|
|
108
|
-
|
|
93
|
+
Py_DECREF_IMMORTAL(x);
|
|
109
94
|
}
|
|
110
95
|
|
|
111
96
|
if (slot2 != NULL) {
|
|
@@ -116,7 +101,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_LON
|
|
|
116
101
|
goto exit_binary_result_object;
|
|
117
102
|
}
|
|
118
103
|
|
|
119
|
-
|
|
104
|
+
Py_DECREF_IMMORTAL(x);
|
|
120
105
|
}
|
|
121
106
|
|
|
122
107
|
#if PYTHON_VERSION < 0x300
|
|
@@ -294,7 +279,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_LONG_OBJEC
|
|
|
294
279
|
goto exit_binary_result_object;
|
|
295
280
|
}
|
|
296
281
|
|
|
297
|
-
|
|
282
|
+
Py_DECREF_IMMORTAL(x);
|
|
298
283
|
slot2 = NULL;
|
|
299
284
|
}
|
|
300
285
|
}
|
|
@@ -306,7 +291,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_LONG_OBJEC
|
|
|
306
291
|
goto exit_binary_result_object;
|
|
307
292
|
}
|
|
308
293
|
|
|
309
|
-
|
|
294
|
+
Py_DECREF_IMMORTAL(x);
|
|
310
295
|
}
|
|
311
296
|
|
|
312
297
|
if (slot2 != NULL) {
|
|
@@ -317,7 +302,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_LONG_OBJEC
|
|
|
317
302
|
goto exit_binary_result_object;
|
|
318
303
|
}
|
|
319
304
|
|
|
320
|
-
|
|
305
|
+
Py_DECREF_IMMORTAL(x);
|
|
321
306
|
}
|
|
322
307
|
|
|
323
308
|
#if PYTHON_VERSION < 0x300
|
|
@@ -539,7 +524,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_LO
|
|
|
539
524
|
goto exit_binary_result_object;
|
|
540
525
|
}
|
|
541
526
|
|
|
542
|
-
|
|
527
|
+
Py_DECREF_IMMORTAL(x);
|
|
543
528
|
}
|
|
544
529
|
|
|
545
530
|
if (slot2 != NULL) {
|
|
@@ -550,7 +535,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_LO
|
|
|
550
535
|
goto exit_binary_result_object;
|
|
551
536
|
}
|
|
552
537
|
|
|
553
|
-
|
|
538
|
+
Py_DECREF_IMMORTAL(x);
|
|
554
539
|
}
|
|
555
540
|
|
|
556
541
|
#if PYTHON_VERSION < 0x300
|
|
@@ -737,7 +722,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_LONG_OBJE
|
|
|
737
722
|
goto exit_binary_result_object;
|
|
738
723
|
}
|
|
739
724
|
|
|
740
|
-
|
|
725
|
+
Py_DECREF_IMMORTAL(x);
|
|
741
726
|
slot2 = NULL;
|
|
742
727
|
}
|
|
743
728
|
}
|
|
@@ -749,7 +734,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_LONG_OBJE
|
|
|
749
734
|
goto exit_binary_result_object;
|
|
750
735
|
}
|
|
751
736
|
|
|
752
|
-
|
|
737
|
+
Py_DECREF_IMMORTAL(x);
|
|
753
738
|
}
|
|
754
739
|
|
|
755
740
|
if (slot2 != NULL) {
|
|
@@ -760,7 +745,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_LONG_OBJE
|
|
|
760
745
|
goto exit_binary_result_object;
|
|
761
746
|
}
|
|
762
747
|
|
|
763
|
-
|
|
748
|
+
Py_DECREF_IMMORTAL(x);
|
|
764
749
|
}
|
|
765
750
|
|
|
766
751
|
#if PYTHON_VERSION < 0x300
|
|
@@ -950,8 +935,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_INT(PyObject *operand1, PyO
|
|
|
950
935
|
if (a == 0 || b == 0) {
|
|
951
936
|
goto exit_result_ok_left;
|
|
952
937
|
} else if (b >= LONG_BIT) {
|
|
953
|
-
PyObject *operand1_long =
|
|
954
|
-
PyObject *operand2_long =
|
|
938
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
939
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
955
940
|
|
|
956
941
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
957
942
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -965,8 +950,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_INT(PyObject *operand1, PyO
|
|
|
965
950
|
long c = a << b;
|
|
966
951
|
|
|
967
952
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
968
|
-
PyObject *operand1_long =
|
|
969
|
-
PyObject *operand2_long =
|
|
953
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
954
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
970
955
|
|
|
971
956
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
972
957
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -983,7 +968,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_INT(PyObject *operand1, PyO
|
|
|
983
968
|
}
|
|
984
969
|
|
|
985
970
|
exit_result_ok_clong:
|
|
986
|
-
result =
|
|
971
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
987
972
|
goto exit_result_ok;
|
|
988
973
|
|
|
989
974
|
exit_result_ok_left:
|
|
@@ -1048,7 +1033,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT
|
|
|
1048
1033
|
goto exit_binary_result_object;
|
|
1049
1034
|
}
|
|
1050
1035
|
|
|
1051
|
-
|
|
1036
|
+
Py_DECREF_IMMORTAL(x);
|
|
1052
1037
|
}
|
|
1053
1038
|
|
|
1054
1039
|
if (slot2 != NULL) {
|
|
@@ -1059,7 +1044,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT
|
|
|
1059
1044
|
goto exit_binary_result_object;
|
|
1060
1045
|
}
|
|
1061
1046
|
|
|
1062
|
-
|
|
1047
|
+
Py_DECREF_IMMORTAL(x);
|
|
1063
1048
|
}
|
|
1064
1049
|
|
|
1065
1050
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1188,8 +1173,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT(PyObject *operand1,
|
|
|
1188
1173
|
if (a == 0 || b == 0) {
|
|
1189
1174
|
goto exit_result_ok_left;
|
|
1190
1175
|
} else if (b >= LONG_BIT) {
|
|
1191
|
-
PyObject *operand1_long =
|
|
1192
|
-
PyObject *operand2_long =
|
|
1176
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1177
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1193
1178
|
|
|
1194
1179
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1195
1180
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1203,8 +1188,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT(PyObject *operand1,
|
|
|
1203
1188
|
long c = a << b;
|
|
1204
1189
|
|
|
1205
1190
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
1206
|
-
PyObject *operand1_long =
|
|
1207
|
-
PyObject *operand2_long =
|
|
1191
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1192
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1208
1193
|
|
|
1209
1194
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1210
1195
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1221,7 +1206,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT(PyObject *operand1,
|
|
|
1221
1206
|
}
|
|
1222
1207
|
|
|
1223
1208
|
exit_result_ok_clong:
|
|
1224
|
-
result =
|
|
1209
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
1225
1210
|
goto exit_result_ok;
|
|
1226
1211
|
|
|
1227
1212
|
exit_result_ok_left:
|
|
@@ -1290,7 +1275,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT
|
|
|
1290
1275
|
goto exit_binary_result_object;
|
|
1291
1276
|
}
|
|
1292
1277
|
|
|
1293
|
-
|
|
1278
|
+
Py_DECREF_IMMORTAL(x);
|
|
1294
1279
|
slot2 = NULL;
|
|
1295
1280
|
}
|
|
1296
1281
|
}
|
|
@@ -1302,7 +1287,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT
|
|
|
1302
1287
|
goto exit_binary_result_object;
|
|
1303
1288
|
}
|
|
1304
1289
|
|
|
1305
|
-
|
|
1290
|
+
Py_DECREF_IMMORTAL(x);
|
|
1306
1291
|
}
|
|
1307
1292
|
|
|
1308
1293
|
if (slot2 != NULL) {
|
|
@@ -1313,7 +1298,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT
|
|
|
1313
1298
|
goto exit_binary_result_object;
|
|
1314
1299
|
}
|
|
1315
1300
|
|
|
1316
|
-
|
|
1301
|
+
Py_DECREF_IMMORTAL(x);
|
|
1317
1302
|
}
|
|
1318
1303
|
|
|
1319
1304
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1442,8 +1427,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT(PyObject *operand1,
|
|
|
1442
1427
|
if (a == 0 || b == 0) {
|
|
1443
1428
|
goto exit_result_ok_left;
|
|
1444
1429
|
} else if (b >= LONG_BIT) {
|
|
1445
|
-
PyObject *operand1_long =
|
|
1446
|
-
PyObject *operand2_long =
|
|
1430
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1431
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1447
1432
|
|
|
1448
1433
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1449
1434
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1457,8 +1442,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT(PyObject *operand1,
|
|
|
1457
1442
|
long c = a << b;
|
|
1458
1443
|
|
|
1459
1444
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
1460
|
-
PyObject *operand1_long =
|
|
1461
|
-
PyObject *operand2_long =
|
|
1445
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1446
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1462
1447
|
|
|
1463
1448
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1464
1449
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1475,7 +1460,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT(PyObject *operand1,
|
|
|
1475
1460
|
}
|
|
1476
1461
|
|
|
1477
1462
|
exit_result_ok_clong:
|
|
1478
|
-
result =
|
|
1463
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
1479
1464
|
goto exit_result_ok;
|
|
1480
1465
|
|
|
1481
1466
|
exit_result_ok_left:
|
|
@@ -1546,8 +1531,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_INT_INT(PyObject *operand1, Py
|
|
|
1546
1531
|
if (a == 0 || b == 0) {
|
|
1547
1532
|
goto exit_result_ok_left;
|
|
1548
1533
|
} else if (b >= LONG_BIT) {
|
|
1549
|
-
PyObject *operand1_long =
|
|
1550
|
-
PyObject *operand2_long =
|
|
1534
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1535
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1551
1536
|
|
|
1552
1537
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1553
1538
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1561,8 +1546,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_INT_INT(PyObject *operand1, Py
|
|
|
1561
1546
|
long c = a << b;
|
|
1562
1547
|
|
|
1563
1548
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
1564
|
-
PyObject *operand1_long =
|
|
1565
|
-
PyObject *operand2_long =
|
|
1549
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1550
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1566
1551
|
|
|
1567
1552
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1568
1553
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1644,7 +1629,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_IN
|
|
|
1644
1629
|
goto exit_binary_result_object;
|
|
1645
1630
|
}
|
|
1646
1631
|
|
|
1647
|
-
|
|
1632
|
+
Py_DECREF_IMMORTAL(x);
|
|
1648
1633
|
}
|
|
1649
1634
|
|
|
1650
1635
|
if (slot2 != NULL) {
|
|
@@ -1655,7 +1640,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_IN
|
|
|
1655
1640
|
goto exit_binary_result_object;
|
|
1656
1641
|
}
|
|
1657
1642
|
|
|
1658
|
-
|
|
1643
|
+
Py_DECREF_IMMORTAL(x);
|
|
1659
1644
|
}
|
|
1660
1645
|
|
|
1661
1646
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1792,8 +1777,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_INT(PyObject *operand1,
|
|
|
1792
1777
|
if (a == 0 || b == 0) {
|
|
1793
1778
|
goto exit_result_ok_left;
|
|
1794
1779
|
} else if (b >= LONG_BIT) {
|
|
1795
|
-
PyObject *operand1_long =
|
|
1796
|
-
PyObject *operand2_long =
|
|
1780
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1781
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1797
1782
|
|
|
1798
1783
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1799
1784
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1807,8 +1792,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_INT(PyObject *operand1,
|
|
|
1807
1792
|
long c = a << b;
|
|
1808
1793
|
|
|
1809
1794
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
1810
|
-
PyObject *operand1_long =
|
|
1811
|
-
PyObject *operand2_long =
|
|
1795
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
1796
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
1812
1797
|
|
|
1813
1798
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
1814
1799
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -1894,7 +1879,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJEC
|
|
|
1894
1879
|
goto exit_binary_result_object;
|
|
1895
1880
|
}
|
|
1896
1881
|
|
|
1897
|
-
|
|
1882
|
+
Py_DECREF_IMMORTAL(x);
|
|
1898
1883
|
slot2 = NULL;
|
|
1899
1884
|
}
|
|
1900
1885
|
}
|
|
@@ -1906,7 +1891,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJEC
|
|
|
1906
1891
|
goto exit_binary_result_object;
|
|
1907
1892
|
}
|
|
1908
1893
|
|
|
1909
|
-
|
|
1894
|
+
Py_DECREF_IMMORTAL(x);
|
|
1910
1895
|
}
|
|
1911
1896
|
|
|
1912
1897
|
if (slot2 != NULL) {
|
|
@@ -1917,7 +1902,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJEC
|
|
|
1917
1902
|
goto exit_binary_result_object;
|
|
1918
1903
|
}
|
|
1919
1904
|
|
|
1920
|
-
|
|
1905
|
+
Py_DECREF_IMMORTAL(x);
|
|
1921
1906
|
}
|
|
1922
1907
|
|
|
1923
1908
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2054,8 +2039,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJECT(PyObject *operand1,
|
|
|
2054
2039
|
if (a == 0 || b == 0) {
|
|
2055
2040
|
goto exit_result_ok_left;
|
|
2056
2041
|
} else if (b >= LONG_BIT) {
|
|
2057
|
-
PyObject *operand1_long =
|
|
2058
|
-
PyObject *operand2_long =
|
|
2042
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
2043
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
2059
2044
|
|
|
2060
2045
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
2061
2046
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -2069,8 +2054,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJECT(PyObject *operand1,
|
|
|
2069
2054
|
long c = a << b;
|
|
2070
2055
|
|
|
2071
2056
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
2072
|
-
PyObject *operand1_long =
|
|
2073
|
-
PyObject *operand2_long =
|
|
2057
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
2058
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
2074
2059
|
|
|
2075
2060
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
2076
2061
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -2146,7 +2131,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_LONG_INT(PyObject *operand1, Py
|
|
|
2146
2131
|
goto exit_binary_result_object;
|
|
2147
2132
|
}
|
|
2148
2133
|
|
|
2149
|
-
|
|
2134
|
+
Py_DECREF_IMMORTAL(x);
|
|
2150
2135
|
}
|
|
2151
2136
|
|
|
2152
2137
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2201,7 +2186,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_LONG(PyObject *operand1, Py
|
|
|
2201
2186
|
goto exit_binary_result_object;
|
|
2202
2187
|
}
|
|
2203
2188
|
|
|
2204
|
-
|
|
2189
|
+
Py_DECREF_IMMORTAL(x);
|
|
2205
2190
|
}
|
|
2206
2191
|
|
|
2207
2192
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2250,7 +2235,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_LONG_INT(PyObject *operand1, P
|
|
|
2250
2235
|
goto exit_binary_result_object;
|
|
2251
2236
|
}
|
|
2252
2237
|
|
|
2253
|
-
|
|
2238
|
+
Py_DECREF_IMMORTAL(x);
|
|
2254
2239
|
}
|
|
2255
2240
|
|
|
2256
2241
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2313,7 +2298,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_INT_LONG(PyObject *operand1, P
|
|
|
2313
2298
|
goto exit_binary_result_object;
|
|
2314
2299
|
}
|
|
2315
2300
|
|
|
2316
|
-
|
|
2301
|
+
Py_DECREF_IMMORTAL(x);
|
|
2317
2302
|
}
|
|
2318
2303
|
|
|
2319
2304
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2381,8 +2366,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2381
2366
|
if (a == 0 || b == 0) {
|
|
2382
2367
|
goto exit_result_ok_left;
|
|
2383
2368
|
} else if (b >= LONG_BIT) {
|
|
2384
|
-
PyObject *operand1_long =
|
|
2385
|
-
PyObject *operand2_long =
|
|
2369
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
2370
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
2386
2371
|
|
|
2387
2372
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
2388
2373
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -2396,8 +2381,8 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2396
2381
|
long c = a << b;
|
|
2397
2382
|
|
|
2398
2383
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
2399
|
-
PyObject *operand1_long =
|
|
2400
|
-
PyObject *operand2_long =
|
|
2384
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
2385
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
2401
2386
|
|
|
2402
2387
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
2403
2388
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -2414,7 +2399,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2414
2399
|
}
|
|
2415
2400
|
|
|
2416
2401
|
exit_result_ok_clong:
|
|
2417
|
-
result =
|
|
2402
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
2418
2403
|
goto exit_result_ok;
|
|
2419
2404
|
|
|
2420
2405
|
exit_result_ok_left:
|
|
@@ -2474,7 +2459,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2474
2459
|
goto exit_binary_result_object;
|
|
2475
2460
|
}
|
|
2476
2461
|
|
|
2477
|
-
|
|
2462
|
+
Py_DECREF_IMMORTAL(x);
|
|
2478
2463
|
slot2 = NULL;
|
|
2479
2464
|
}
|
|
2480
2465
|
}
|
|
@@ -2486,7 +2471,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2486
2471
|
goto exit_binary_result_object;
|
|
2487
2472
|
}
|
|
2488
2473
|
|
|
2489
|
-
|
|
2474
|
+
Py_DECREF_IMMORTAL(x);
|
|
2490
2475
|
}
|
|
2491
2476
|
|
|
2492
2477
|
if (slot2 != NULL) {
|
|
@@ -2497,7 +2482,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2497
2482
|
goto exit_binary_result_object;
|
|
2498
2483
|
}
|
|
2499
2484
|
|
|
2500
|
-
|
|
2485
|
+
Py_DECREF_IMMORTAL(x);
|
|
2501
2486
|
}
|
|
2502
2487
|
|
|
2503
2488
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2629,8 +2614,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2629
2614
|
if (a == 0 || b == 0) {
|
|
2630
2615
|
goto exit_result_ok_left;
|
|
2631
2616
|
} else if (b >= LONG_BIT) {
|
|
2632
|
-
PyObject *operand1_long =
|
|
2633
|
-
PyObject *operand2_long =
|
|
2617
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
2618
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
2634
2619
|
|
|
2635
2620
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
2636
2621
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -2644,8 +2629,8 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2644
2629
|
long c = a << b;
|
|
2645
2630
|
|
|
2646
2631
|
if (a != Py_ARITHMETIC_RIGHT_SHIFT(long, c, b)) {
|
|
2647
|
-
PyObject *operand1_long =
|
|
2648
|
-
PyObject *operand2_long =
|
|
2632
|
+
PyObject *operand1_long = Nuitka_PyLong_FromLong(a);
|
|
2633
|
+
PyObject *operand2_long = Nuitka_PyLong_FromLong(b);
|
|
2649
2634
|
|
|
2650
2635
|
// TODO: Change this to using CLONG once we specialize that too.
|
|
2651
2636
|
PyObject *r = _BINARY_OPERATION_LSHIFT_OBJECT_LONG_LONG(operand1_long, operand2_long);
|
|
@@ -2722,7 +2707,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2722
2707
|
goto exit_binary_result_object;
|
|
2723
2708
|
}
|
|
2724
2709
|
|
|
2725
|
-
|
|
2710
|
+
Py_DECREF_IMMORTAL(x);
|
|
2726
2711
|
slot2 = NULL;
|
|
2727
2712
|
}
|
|
2728
2713
|
}
|
|
@@ -2734,7 +2719,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2734
2719
|
goto exit_binary_result_object;
|
|
2735
2720
|
}
|
|
2736
2721
|
|
|
2737
|
-
|
|
2722
|
+
Py_DECREF_IMMORTAL(x);
|
|
2738
2723
|
}
|
|
2739
2724
|
|
|
2740
2725
|
if (slot2 != NULL) {
|
|
@@ -2745,7 +2730,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2745
2730
|
goto exit_binary_result_object;
|
|
2746
2731
|
}
|
|
2747
2732
|
|
|
2748
|
-
|
|
2733
|
+
Py_DECREF_IMMORTAL(x);
|
|
2749
2734
|
}
|
|
2750
2735
|
|
|
2751
2736
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2844,3 +2829,18 @@ exit_binary_exception:
|
|
|
2844
2829
|
nuitka_bool BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operand1, PyObject *operand2) {
|
|
2845
2830
|
return _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(operand1, operand2);
|
|
2846
2831
|
}
|
|
2832
|
+
|
|
2833
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
2834
|
+
// integrates with CPython, but also works on its own.
|
|
2835
|
+
//
|
|
2836
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
2837
|
+
// you may not use this file except in compliance with the License.
|
|
2838
|
+
// You may obtain a copy of the License at
|
|
2839
|
+
//
|
|
2840
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
2841
|
+
//
|
|
2842
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
2843
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
2844
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2845
|
+
// See the License for the specific language governing permissions and
|
|
2846
|
+
// 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 HelperOperationBinary.c.j2 instead! */
|
|
19
4
|
|
|
20
5
|
/* This file is included from another C file, help IDEs to still parse it on its own. */
|
|
@@ -90,7 +75,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_LONG(PyObject *operand1
|
|
|
90
75
|
goto exit_binary_result_object;
|
|
91
76
|
}
|
|
92
77
|
|
|
93
|
-
|
|
78
|
+
Py_DECREF_IMMORTAL(x);
|
|
94
79
|
}
|
|
95
80
|
|
|
96
81
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
@@ -150,7 +135,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_LONG_OBJECT(PyObject *operand1
|
|
|
150
135
|
goto exit_binary_result_object;
|
|
151
136
|
}
|
|
152
137
|
|
|
153
|
-
|
|
138
|
+
Py_DECREF_IMMORTAL(x);
|
|
154
139
|
}
|
|
155
140
|
|
|
156
141
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
@@ -236,7 +221,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_FLOAT(PyObject *operand
|
|
|
236
221
|
goto exit_binary_result_object;
|
|
237
222
|
}
|
|
238
223
|
|
|
239
|
-
|
|
224
|
+
Py_DECREF_IMMORTAL(x);
|
|
240
225
|
}
|
|
241
226
|
|
|
242
227
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
@@ -292,7 +277,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_FLOAT_OBJECT(PyObject *operand
|
|
|
292
277
|
goto exit_binary_result_object;
|
|
293
278
|
}
|
|
294
279
|
|
|
295
|
-
|
|
280
|
+
Py_DECREF_IMMORTAL(x);
|
|
296
281
|
}
|
|
297
282
|
|
|
298
283
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
@@ -344,6 +329,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
|
|
|
344
329
|
const long b = PyInt_AS_LONG(operand2);
|
|
345
330
|
|
|
346
331
|
#error Operator @ not implemented
|
|
332
|
+
|
|
347
333
|
{
|
|
348
334
|
PyObject *operand1_object = operand1;
|
|
349
335
|
PyObject *operand2_object = operand2;
|
|
@@ -408,7 +394,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
|
|
|
408
394
|
goto exit_binary_result_object;
|
|
409
395
|
}
|
|
410
396
|
|
|
411
|
-
|
|
397
|
+
Py_DECREF_IMMORTAL(x);
|
|
412
398
|
slot2 = NULL;
|
|
413
399
|
}
|
|
414
400
|
}
|
|
@@ -420,7 +406,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
|
|
|
420
406
|
goto exit_binary_result_object;
|
|
421
407
|
}
|
|
422
408
|
|
|
423
|
-
|
|
409
|
+
Py_DECREF_IMMORTAL(x);
|
|
424
410
|
}
|
|
425
411
|
|
|
426
412
|
if (slot2 != NULL) {
|
|
@@ -431,7 +417,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
|
|
|
431
417
|
goto exit_binary_result_object;
|
|
432
418
|
}
|
|
433
419
|
|
|
434
|
-
|
|
420
|
+
Py_DECREF_IMMORTAL(x);
|
|
435
421
|
}
|
|
436
422
|
|
|
437
423
|
// Statically recognized that coercion is not possible with Python3 only operator '@'
|
|
@@ -450,3 +436,18 @@ PyObject *BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operand1, PyOb
|
|
|
450
436
|
return _BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(operand1, operand2);
|
|
451
437
|
}
|
|
452
438
|
#endif
|
|
439
|
+
|
|
440
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
441
|
+
// integrates with CPython, but also works on its own.
|
|
442
|
+
//
|
|
443
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
444
|
+
// you may not use this file except in compliance with the License.
|
|
445
|
+
// You may obtain a copy of the License at
|
|
446
|
+
//
|
|
447
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
448
|
+
//
|
|
449
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
450
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
451
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
452
|
+
// See the License for the specific language governing permissions and
|
|
453
|
+
// limitations under the License.
|