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
|
/* These slots are still manually coded and are used by the generated code.
|
|
19
4
|
*
|
|
20
5
|
* The plan should be to generate these as well, so e.g. we can have a slot
|
|
@@ -27,7 +12,7 @@
|
|
|
27
12
|
#include "nuitka/prelude.h"
|
|
28
13
|
#endif
|
|
29
14
|
|
|
30
|
-
static PyObject *LIST_CONCAT(PyObject *operand1, PyObject *operand2) {
|
|
15
|
+
static PyObject *LIST_CONCAT(PyThreadState *tstate, PyObject *operand1, PyObject *operand2) {
|
|
31
16
|
CHECK_OBJECT(operand1);
|
|
32
17
|
assert(PyList_CheckExact(operand1));
|
|
33
18
|
CHECK_OBJECT(operand2);
|
|
@@ -35,7 +20,7 @@ static PyObject *LIST_CONCAT(PyObject *operand1, PyObject *operand2) {
|
|
|
35
20
|
|
|
36
21
|
Py_ssize_t size = Py_SIZE(operand1) + Py_SIZE(operand2);
|
|
37
22
|
|
|
38
|
-
PyListObject *result = (PyListObject *)MAKE_LIST_EMPTY(size);
|
|
23
|
+
PyListObject *result = (PyListObject *)MAKE_LIST_EMPTY(tstate, size);
|
|
39
24
|
if (unlikely(result == NULL)) {
|
|
40
25
|
return NULL;
|
|
41
26
|
}
|
|
@@ -58,26 +43,59 @@ static PyObject *LIST_CONCAT(PyObject *operand1, PyObject *operand2) {
|
|
|
58
43
|
return (PyObject *)result;
|
|
59
44
|
}
|
|
60
45
|
|
|
61
|
-
// Convert single digit to sdigit (int32_t)
|
|
62
|
-
#define MEDIUM_VALUE(x) \
|
|
63
|
-
(Py_SIZE(x) < 0 ? -(sdigit)((PyLongObject *)(x))->ob_digit[0] \
|
|
64
|
-
: (Py_SIZE(x) == 0 ? (sdigit)0 : (sdigit)((PyLongObject *)(x))->ob_digit[0]))
|
|
65
|
-
|
|
66
46
|
// Needed for offsetof
|
|
67
47
|
#include <stddef.h>
|
|
68
48
|
|
|
49
|
+
#if PYTHON_VERSION < 0x3c0
|
|
69
50
|
#define MAX_LONG_DIGITS ((PY_SSIZE_T_MAX - offsetof(PyLongObject, ob_digit)) / sizeof(digit))
|
|
70
51
|
#define Nuitka_LongGetDigitPointer(value) (&(((PyLongObject *)value)->ob_digit[0]))
|
|
71
52
|
#define Nuitka_LongGetDigitSize(value) (Py_ABS(Py_SIZE(value)))
|
|
53
|
+
#define Nuitka_LongGetSignedDigitSize(value) (Py_SIZE(value))
|
|
54
|
+
#define Nuitka_LongIsNegative(value) (Py_SIZE(value) < 0)
|
|
55
|
+
#define Nuitka_LongSetSignNegative(value) Py_SET_SIZE(value, -Py_ABS(Py_SIZE(value)))
|
|
56
|
+
#define Nuitka_LongSetSign(value, positive) Py_SET_SIZE(value, (((positive) ? 1 : -1) * Py_ABS(Py_SIZE(value))))
|
|
57
|
+
#define Nuitka_LongFlipSign(value) Py_SET_SIZE(value, -Py_SIZE(value))
|
|
58
|
+
#define Nuitka_LongSetDigitSizeAndNegative(value, count, negative) Py_SET_SIZE(value, negative ? -count : count)
|
|
59
|
+
#else
|
|
60
|
+
#define MAX_LONG_DIGITS ((PY_SSIZE_T_MAX - offsetof(PyLongObject, long_value.ob_digit)) / sizeof(digit))
|
|
61
|
+
|
|
62
|
+
#define Nuitka_LongGetDigitPointer(value) (&(((PyLongObject *)value)->long_value.ob_digit[0]))
|
|
63
|
+
#define Nuitka_LongGetDigitSize(value) (_PyLong_DigitCount((PyLongObject const *)(value)))
|
|
64
|
+
#define Nuitka_LongGetSignedDigitSize(value) (_PyLong_SignedDigitCount((PyLongObject const *)(value)))
|
|
65
|
+
#define Nuitka_LongIsNegative(value) (((PyLongObject *)value)->long_value.lv_tag & SIGN_NEGATIVE)
|
|
66
|
+
#define Nuitka_LongSetSignNegative(value) \
|
|
67
|
+
((PyLongObject *)value)->long_value.lv_tag = ((PyLongObject *)value)->long_value.lv_tag | SIGN_NEGATIVE;
|
|
68
|
+
#define Nuitka_LongSetSignPositive(value) \
|
|
69
|
+
((PyLongObject *)value)->long_value.lv_tag = ((PyLongObject *)value)->long_value.lv_tag & ~(SIGN_NEGATIVE);
|
|
70
|
+
#define Nuitka_LongSetSign(value, positive) \
|
|
71
|
+
if (positive) { \
|
|
72
|
+
Nuitka_LongSetSignPositive(value); \
|
|
73
|
+
} else { \
|
|
74
|
+
Nuitka_LongSetSignNegative(value); \
|
|
75
|
+
}
|
|
76
|
+
#define Nuitka_LongSetDigitSizeAndNegative(value, count, negative) \
|
|
77
|
+
_PyLong_SetSignAndDigitCount(value, negative ? -1 : 1, count)
|
|
78
|
+
#define Nuitka_LongFlipSign(value) _PyLong_FlipSign(value)
|
|
79
|
+
#endif
|
|
72
80
|
|
|
73
81
|
// Our version of _PyLong_New(size);
|
|
74
82
|
static PyLongObject *Nuitka_LongNew(Py_ssize_t size) {
|
|
83
|
+
// TODO: The assertion may be a bit to strong, could be <= for at least < 3.12
|
|
75
84
|
assert(size < (Py_ssize_t)MAX_LONG_DIGITS);
|
|
85
|
+
assert(size >= 0);
|
|
76
86
|
|
|
77
|
-
#if PYTHON_VERSION >=
|
|
78
|
-
|
|
87
|
+
#if PYTHON_VERSION >= 0x3c0
|
|
88
|
+
// The zero now is a single digit number.
|
|
89
|
+
Py_ssize_t ndigits = size ? size : 1;
|
|
79
90
|
|
|
80
|
-
|
|
91
|
+
PyLongObject *result =
|
|
92
|
+
(PyLongObject *)NuitkaObject_Malloc(offsetof(PyLongObject, long_value.ob_digit) + ndigits * sizeof(digit));
|
|
93
|
+
_PyLong_SetSignAndDigitCount(result, size != 0, size);
|
|
94
|
+
PyObject_INIT(result, &PyLong_Type);
|
|
95
|
+
result->long_value.ob_digit[0] = 0;
|
|
96
|
+
return result;
|
|
97
|
+
#elif PYTHON_VERSION >= 0x300
|
|
98
|
+
PyLongObject *result = (PyLongObject *)NuitkaObject_Malloc(offsetof(PyLongObject, ob_digit) + size * sizeof(digit));
|
|
81
99
|
return (PyLongObject *)PyObject_INIT_VAR(result, &PyLong_Type, size);
|
|
82
100
|
#else
|
|
83
101
|
return (PyLongObject *)PyObject_NEW_VAR(PyLongObject, &PyLong_Type, size);
|
|
@@ -85,8 +103,10 @@ static PyLongObject *Nuitka_LongNew(Py_ssize_t size) {
|
|
|
85
103
|
}
|
|
86
104
|
|
|
87
105
|
static PyObject *Nuitka_LongRealloc(PyObject *value, Py_ssize_t size) {
|
|
106
|
+
assert(size >= 0);
|
|
107
|
+
|
|
88
108
|
PyLongObject *result = Nuitka_LongNew(size);
|
|
89
|
-
|
|
109
|
+
Nuitka_LongSetDigitSizeAndNegative(result, size, false);
|
|
90
110
|
Py_DECREF(value);
|
|
91
111
|
|
|
92
112
|
return (PyObject *)result;
|
|
@@ -126,10 +146,11 @@ static PyObject *Nuitka_LongFromCLong(long ival) {
|
|
|
126
146
|
PyLongObject *result = Nuitka_LongNew(1);
|
|
127
147
|
assert(result != NULL);
|
|
128
148
|
if (negative) {
|
|
129
|
-
|
|
149
|
+
Nuitka_LongSetSignNegative(result);
|
|
130
150
|
}
|
|
131
151
|
|
|
132
|
-
|
|
152
|
+
digit *digits = Nuitka_LongGetDigitPointer(result);
|
|
153
|
+
digits[0] = (digit)abs_ival;
|
|
133
154
|
|
|
134
155
|
return (PyObject *)result;
|
|
135
156
|
}
|
|
@@ -140,11 +161,13 @@ static PyObject *Nuitka_LongFromCLong(long ival) {
|
|
|
140
161
|
PyLongObject *result = Nuitka_LongNew(2);
|
|
141
162
|
assert(result != NULL);
|
|
142
163
|
if (negative) {
|
|
143
|
-
|
|
164
|
+
Nuitka_LongSetSignNegative(result);
|
|
144
165
|
}
|
|
145
166
|
|
|
146
|
-
|
|
147
|
-
|
|
167
|
+
digit *digits = Nuitka_LongGetDigitPointer(result);
|
|
168
|
+
|
|
169
|
+
digits[0] = (digit)(abs_ival & PyLong_MASK);
|
|
170
|
+
digits[1] = (digit)(abs_ival >> PyLong_SHIFT);
|
|
148
171
|
|
|
149
172
|
return (PyObject *)result;
|
|
150
173
|
}
|
|
@@ -163,9 +186,9 @@ static PyObject *Nuitka_LongFromCLong(long ival) {
|
|
|
163
186
|
PyLongObject *result = _PyLong_New(ndigits);
|
|
164
187
|
assert(result != NULL);
|
|
165
188
|
|
|
166
|
-
|
|
189
|
+
Nuitka_LongSetDigitSizeAndNegative(result, ndigits, negative);
|
|
167
190
|
|
|
168
|
-
digit *d = result
|
|
191
|
+
digit *d = Nuitka_LongGetDigitPointer(result);
|
|
169
192
|
|
|
170
193
|
// Now copy the digits
|
|
171
194
|
t = abs_ival;
|
|
@@ -177,6 +200,9 @@ static PyObject *Nuitka_LongFromCLong(long ival) {
|
|
|
177
200
|
return (PyObject *)result;
|
|
178
201
|
}
|
|
179
202
|
|
|
203
|
+
// Our "PyLong_FromLong" replacement.
|
|
204
|
+
PyObject *Nuitka_PyLong_FromLong(long ival) { return Nuitka_LongFromCLong(ival); }
|
|
205
|
+
|
|
180
206
|
static void Nuitka_LongUpdateFromCLong(PyObject **value, long ival) {
|
|
181
207
|
assert(Py_REFCNT(*value) == 1);
|
|
182
208
|
|
|
@@ -219,18 +245,22 @@ static void Nuitka_LongUpdateFromCLong(PyObject **value, long ival) {
|
|
|
219
245
|
if (!(abs_ival >> PyLong_SHIFT)) {
|
|
220
246
|
PyLongObject *result;
|
|
221
247
|
|
|
248
|
+
#if PYTHON_VERSION < 0x3c0
|
|
222
249
|
if (unlikely(Py_SIZE(*value) == 0)) {
|
|
223
250
|
*value = Nuitka_LongRealloc(*value, 1);
|
|
224
251
|
CHECK_OBJECT(*value);
|
|
225
252
|
|
|
226
253
|
result = (PyLongObject *)*value;
|
|
227
|
-
} else
|
|
254
|
+
} else
|
|
255
|
+
#endif
|
|
256
|
+
{
|
|
228
257
|
result = (PyLongObject *)(*value);
|
|
229
258
|
}
|
|
230
259
|
|
|
231
|
-
|
|
260
|
+
Nuitka_LongSetSign(result, !negative);
|
|
232
261
|
|
|
233
|
-
|
|
262
|
+
digit *digits = Nuitka_LongGetDigitPointer(result);
|
|
263
|
+
digits[0] = (digit)abs_ival;
|
|
234
264
|
|
|
235
265
|
return;
|
|
236
266
|
}
|
|
@@ -248,10 +278,14 @@ static void Nuitka_LongUpdateFromCLong(PyObject **value, long ival) {
|
|
|
248
278
|
result = (PyLongObject *)(*value);
|
|
249
279
|
}
|
|
250
280
|
|
|
251
|
-
|
|
281
|
+
if (negative) {
|
|
282
|
+
Nuitka_LongSetSignNegative(result);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
digit *digits = Nuitka_LongGetDigitPointer(result);
|
|
252
286
|
|
|
253
|
-
|
|
254
|
-
|
|
287
|
+
digits[0] = (digit)(abs_ival & PyLong_MASK);
|
|
288
|
+
digits[1] = (digit)(abs_ival >> PyLong_SHIFT);
|
|
255
289
|
|
|
256
290
|
return;
|
|
257
291
|
}
|
|
@@ -273,9 +307,9 @@ static void Nuitka_LongUpdateFromCLong(PyObject **value, long ival) {
|
|
|
273
307
|
|
|
274
308
|
CHECK_OBJECT(*value);
|
|
275
309
|
|
|
276
|
-
|
|
310
|
+
Nuitka_LongSetDigitSizeAndNegative((PyLongObject *)*value, ndigits, negative);
|
|
277
311
|
|
|
278
|
-
digit *d = (
|
|
312
|
+
digit *d = Nuitka_LongGetDigitPointer(*value);
|
|
279
313
|
|
|
280
314
|
// Now copy the digits
|
|
281
315
|
t = abs_ival;
|
|
@@ -325,7 +359,7 @@ static PyLongObject *_Nuitka_LongAddDigits(digit const *a, Py_ssize_t size_a, di
|
|
|
325
359
|
PyLongObject *result = Nuitka_LongNew(size_a + 1);
|
|
326
360
|
CHECK_OBJECT(result);
|
|
327
361
|
|
|
328
|
-
digit *r =
|
|
362
|
+
digit *r = Nuitka_LongGetDigitPointer(result);
|
|
329
363
|
|
|
330
364
|
digit carry = 0;
|
|
331
365
|
|
|
@@ -347,7 +381,8 @@ static PyLongObject *_Nuitka_LongAddDigits(digit const *a, Py_ssize_t size_a, di
|
|
|
347
381
|
if (carry) {
|
|
348
382
|
r[i] = carry;
|
|
349
383
|
} else {
|
|
350
|
-
|
|
384
|
+
// Note: Beware, this looses the sign value.
|
|
385
|
+
Nuitka_LongSetDigitSizeAndNegative(result, Nuitka_LongGetDigitSize(result) - 1, false);
|
|
351
386
|
}
|
|
352
387
|
|
|
353
388
|
return result;
|
|
@@ -432,9 +467,9 @@ static PyObject *_Nuitka_LongAddInplaceDigits(PyObject *left, digit const *b, Py
|
|
|
432
467
|
if (carry != 0) {
|
|
433
468
|
r[i] = carry;
|
|
434
469
|
|
|
435
|
-
|
|
470
|
+
Nuitka_LongSetDigitSizeAndNegative((PyLongObject *)left, i + 1, false);
|
|
436
471
|
} else {
|
|
437
|
-
|
|
472
|
+
Nuitka_LongSetDigitSizeAndNegative((PyLongObject *)left, i, false);
|
|
438
473
|
}
|
|
439
474
|
|
|
440
475
|
// Release reference to old value
|
|
@@ -495,7 +530,7 @@ static PyLongObject *_Nuitka_LongSubDigits(digit const *a, Py_ssize_t size_a, di
|
|
|
495
530
|
PyLongObject *result = Nuitka_LongNew(size_a);
|
|
496
531
|
CHECK_OBJECT(result);
|
|
497
532
|
|
|
498
|
-
digit *r =
|
|
533
|
+
digit *r = Nuitka_LongGetDigitPointer(result);
|
|
499
534
|
|
|
500
535
|
digit borrow = 0;
|
|
501
536
|
|
|
@@ -521,12 +556,12 @@ static PyLongObject *_Nuitka_LongSubDigits(digit const *a, Py_ssize_t size_a, di
|
|
|
521
556
|
i -= 1;
|
|
522
557
|
}
|
|
523
558
|
|
|
524
|
-
|
|
559
|
+
Nuitka_LongSetDigitSizeAndNegative(result, i, sign < 0);
|
|
525
560
|
|
|
526
561
|
#if PYTHON_VERSION >= 0x300
|
|
527
562
|
// Normalize small integers.
|
|
528
563
|
if (i <= 1) {
|
|
529
|
-
|
|
564
|
+
medium_result_value_t ival = MEDIUM_VALUE(result);
|
|
530
565
|
|
|
531
566
|
if (ival >= NUITKA_STATIC_SMALLINT_VALUE_MIN && ival < NUITKA_STATIC_SMALLINT_VALUE_MAX) {
|
|
532
567
|
Py_DECREF(result);
|
|
@@ -630,7 +665,7 @@ static PyObject *_Nuitka_LongSubInplaceDigits(PyObject *left, digit const *b, Py
|
|
|
630
665
|
i -= 1;
|
|
631
666
|
}
|
|
632
667
|
|
|
633
|
-
|
|
668
|
+
Nuitka_LongSetDigitSizeAndNegative((PyLongObject *)left, i, (sign < 0));
|
|
634
669
|
|
|
635
670
|
// Release reference to old value
|
|
636
671
|
Py_DECREF(old);
|
|
@@ -638,7 +673,7 @@ static PyObject *_Nuitka_LongSubInplaceDigits(PyObject *left, digit const *b, Py
|
|
|
638
673
|
#if PYTHON_VERSION >= 0x300
|
|
639
674
|
// Normalize small integers.
|
|
640
675
|
if (i <= 1) {
|
|
641
|
-
|
|
676
|
+
medium_result_value_t ival = MEDIUM_VALUE(left);
|
|
642
677
|
|
|
643
678
|
if (ival >= NUITKA_STATIC_SMALLINT_VALUE_MIN && ival < NUITKA_STATIC_SMALLINT_VALUE_MAX) {
|
|
644
679
|
Py_DECREF(left);
|
|
@@ -651,3 +686,18 @@ static PyObject *_Nuitka_LongSubInplaceDigits(PyObject *left, digit const *b, Py
|
|
|
651
686
|
|
|
652
687
|
return left;
|
|
653
688
|
}
|
|
689
|
+
|
|
690
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
691
|
+
// integrates with CPython, but also works on its own.
|
|
692
|
+
//
|
|
693
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
694
|
+
// you may not use this file except in compliance with the License.
|
|
695
|
+
// You may obtain a copy of the License at
|
|
696
|
+
//
|
|
697
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
698
|
+
//
|
|
699
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
700
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
701
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
702
|
+
// See the License for the specific language governing permissions and
|
|
703
|
+
// 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. */
|
|
@@ -105,7 +90,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_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_BITAND_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_BITAND_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_BITAND_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_BITAND_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_BITAND_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_BITAND_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_BITAND_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_BITAND_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_BITAND_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
|
|
@@ -946,7 +931,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_INT_INT(PyObject *operand1, PyO
|
|
|
946
931
|
goto exit_result_ok_clong;
|
|
947
932
|
|
|
948
933
|
exit_result_ok_clong:
|
|
949
|
-
result =
|
|
934
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
950
935
|
goto exit_result_ok;
|
|
951
936
|
|
|
952
937
|
exit_result_ok:
|
|
@@ -996,7 +981,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_OBJECT_INT
|
|
|
996
981
|
goto exit_binary_result_object;
|
|
997
982
|
}
|
|
998
983
|
|
|
999
|
-
|
|
984
|
+
Py_DECREF_IMMORTAL(x);
|
|
1000
985
|
}
|
|
1001
986
|
|
|
1002
987
|
if (slot2 != NULL) {
|
|
@@ -1007,7 +992,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_OBJECT_INT
|
|
|
1007
992
|
goto exit_binary_result_object;
|
|
1008
993
|
}
|
|
1009
994
|
|
|
1010
|
-
|
|
995
|
+
Py_DECREF_IMMORTAL(x);
|
|
1011
996
|
}
|
|
1012
997
|
|
|
1013
998
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1132,7 +1117,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_OBJECT_INT(PyObject *operand1,
|
|
|
1132
1117
|
goto exit_result_ok_clong;
|
|
1133
1118
|
|
|
1134
1119
|
exit_result_ok_clong:
|
|
1135
|
-
result =
|
|
1120
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
1136
1121
|
goto exit_result_ok;
|
|
1137
1122
|
|
|
1138
1123
|
exit_result_ok:
|
|
@@ -1186,7 +1171,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_INT_OBJECT
|
|
|
1186
1171
|
goto exit_binary_result_object;
|
|
1187
1172
|
}
|
|
1188
1173
|
|
|
1189
|
-
|
|
1174
|
+
Py_DECREF_IMMORTAL(x);
|
|
1190
1175
|
slot2 = NULL;
|
|
1191
1176
|
}
|
|
1192
1177
|
}
|
|
@@ -1198,7 +1183,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_INT_OBJECT
|
|
|
1198
1183
|
goto exit_binary_result_object;
|
|
1199
1184
|
}
|
|
1200
1185
|
|
|
1201
|
-
|
|
1186
|
+
Py_DECREF_IMMORTAL(x);
|
|
1202
1187
|
}
|
|
1203
1188
|
|
|
1204
1189
|
if (slot2 != NULL) {
|
|
@@ -1209,7 +1194,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_INT_OBJECT
|
|
|
1209
1194
|
goto exit_binary_result_object;
|
|
1210
1195
|
}
|
|
1211
1196
|
|
|
1212
|
-
|
|
1197
|
+
Py_DECREF_IMMORTAL(x);
|
|
1213
1198
|
}
|
|
1214
1199
|
|
|
1215
1200
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1334,7 +1319,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_INT_OBJECT(PyObject *operand1,
|
|
|
1334
1319
|
goto exit_result_ok_clong;
|
|
1335
1320
|
|
|
1336
1321
|
exit_result_ok_clong:
|
|
1337
|
-
result =
|
|
1322
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
1338
1323
|
goto exit_result_ok;
|
|
1339
1324
|
|
|
1340
1325
|
exit_result_ok:
|
|
@@ -1436,7 +1421,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_BITAND_NBOOL_OBJECT_IN
|
|
|
1436
1421
|
goto exit_binary_result_object;
|
|
1437
1422
|
}
|
|
1438
1423
|
|
|
1439
|
-
|
|
1424
|
+
Py_DECREF_IMMORTAL(x);
|
|
1440
1425
|
}
|
|
1441
1426
|
|
|
1442
1427
|
if (slot2 != NULL) {
|
|
@@ -1447,7 +1432,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_BITAND_NBOOL_OBJECT_IN
|
|
|
1447
1432
|
goto exit_binary_result_object;
|
|
1448
1433
|
}
|
|
1449
1434
|
|
|
1450
|
-
|
|
1435
|
+
Py_DECREF_IMMORTAL(x);
|
|
1451
1436
|
}
|
|
1452
1437
|
|
|
1453
1438
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1634,7 +1619,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_BITAND_NBOOL_INT_OBJEC
|
|
|
1634
1619
|
goto exit_binary_result_object;
|
|
1635
1620
|
}
|
|
1636
1621
|
|
|
1637
|
-
|
|
1622
|
+
Py_DECREF_IMMORTAL(x);
|
|
1638
1623
|
slot2 = NULL;
|
|
1639
1624
|
}
|
|
1640
1625
|
}
|
|
@@ -1646,7 +1631,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_BITAND_NBOOL_INT_OBJEC
|
|
|
1646
1631
|
goto exit_binary_result_object;
|
|
1647
1632
|
}
|
|
1648
1633
|
|
|
1649
|
-
|
|
1634
|
+
Py_DECREF_IMMORTAL(x);
|
|
1650
1635
|
}
|
|
1651
1636
|
|
|
1652
1637
|
if (slot2 != NULL) {
|
|
@@ -1657,7 +1642,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_BITAND_NBOOL_INT_OBJEC
|
|
|
1657
1642
|
goto exit_binary_result_object;
|
|
1658
1643
|
}
|
|
1659
1644
|
|
|
1660
|
-
|
|
1645
|
+
Py_DECREF_IMMORTAL(x);
|
|
1661
1646
|
}
|
|
1662
1647
|
|
|
1663
1648
|
#if PYTHON_VERSION < 0x300
|
|
@@ -1838,7 +1823,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_INT_CLONG(PyObject *operand1, l
|
|
|
1838
1823
|
goto exit_result_ok_clong;
|
|
1839
1824
|
|
|
1840
1825
|
exit_result_ok_clong:
|
|
1841
|
-
result =
|
|
1826
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
1842
1827
|
goto exit_result_ok;
|
|
1843
1828
|
|
|
1844
1829
|
exit_result_ok:
|
|
@@ -1924,7 +1909,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_LONG_INT(PyObject *operand1, Py
|
|
|
1924
1909
|
goto exit_binary_result_object;
|
|
1925
1910
|
}
|
|
1926
1911
|
|
|
1927
|
-
|
|
1912
|
+
Py_DECREF_IMMORTAL(x);
|
|
1928
1913
|
}
|
|
1929
1914
|
|
|
1930
1915
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -1973,7 +1958,7 @@ static nuitka_bool _BINARY_OPERATION_BITAND_NBOOL_LONG_INT(PyObject *operand1, P
|
|
|
1973
1958
|
goto exit_binary_result_object;
|
|
1974
1959
|
}
|
|
1975
1960
|
|
|
1976
|
-
|
|
1961
|
+
Py_DECREF_IMMORTAL(x);
|
|
1977
1962
|
}
|
|
1978
1963
|
|
|
1979
1964
|
// Statically recognized that coercion is not possible with these types
|
|
@@ -2075,7 +2060,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_OBJECT_SET
|
|
|
2075
2060
|
goto exit_binary_result_object;
|
|
2076
2061
|
}
|
|
2077
2062
|
|
|
2078
|
-
|
|
2063
|
+
Py_DECREF_IMMORTAL(x);
|
|
2079
2064
|
}
|
|
2080
2065
|
|
|
2081
2066
|
if (slot2 != NULL) {
|
|
@@ -2086,7 +2071,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_OBJECT_SET
|
|
|
2086
2071
|
goto exit_binary_result_object;
|
|
2087
2072
|
}
|
|
2088
2073
|
|
|
2089
|
-
|
|
2074
|
+
Py_DECREF_IMMORTAL(x);
|
|
2090
2075
|
}
|
|
2091
2076
|
|
|
2092
2077
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2219,7 +2204,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_SET_OBJECT
|
|
|
2219
2204
|
goto exit_binary_result_object;
|
|
2220
2205
|
}
|
|
2221
2206
|
|
|
2222
|
-
|
|
2207
|
+
Py_DECREF_IMMORTAL(x);
|
|
2223
2208
|
slot2 = NULL;
|
|
2224
2209
|
}
|
|
2225
2210
|
}
|
|
@@ -2231,7 +2216,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_SET_OBJECT
|
|
|
2231
2216
|
goto exit_binary_result_object;
|
|
2232
2217
|
}
|
|
2233
2218
|
|
|
2234
|
-
|
|
2219
|
+
Py_DECREF_IMMORTAL(x);
|
|
2235
2220
|
}
|
|
2236
2221
|
|
|
2237
2222
|
if (slot2 != NULL) {
|
|
@@ -2242,7 +2227,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_BITAND_OBJECT_SET_OBJECT
|
|
|
2242
2227
|
goto exit_binary_result_object;
|
|
2243
2228
|
}
|
|
2244
2229
|
|
|
2245
|
-
|
|
2230
|
+
Py_DECREF_IMMORTAL(x);
|
|
2246
2231
|
}
|
|
2247
2232
|
|
|
2248
2233
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2373,7 +2358,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2373
2358
|
goto exit_result_ok_clong;
|
|
2374
2359
|
|
|
2375
2360
|
exit_result_ok_clong:
|
|
2376
|
-
result =
|
|
2361
|
+
result = Nuitka_PyInt_FromLong(clong_result);
|
|
2377
2362
|
goto exit_result_ok;
|
|
2378
2363
|
|
|
2379
2364
|
exit_result_ok:
|
|
@@ -2418,7 +2403,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2418
2403
|
goto exit_binary_result_object;
|
|
2419
2404
|
}
|
|
2420
2405
|
|
|
2421
|
-
|
|
2406
|
+
Py_DECREF_IMMORTAL(x);
|
|
2422
2407
|
slot2 = NULL;
|
|
2423
2408
|
}
|
|
2424
2409
|
}
|
|
@@ -2430,7 +2415,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2430
2415
|
goto exit_binary_result_object;
|
|
2431
2416
|
}
|
|
2432
2417
|
|
|
2433
|
-
|
|
2418
|
+
Py_DECREF_IMMORTAL(x);
|
|
2434
2419
|
}
|
|
2435
2420
|
|
|
2436
2421
|
if (slot2 != NULL) {
|
|
@@ -2441,7 +2426,7 @@ static PyObject *_BINARY_OPERATION_BITAND_OBJECT_OBJECT_OBJECT(PyObject *operand
|
|
|
2441
2426
|
goto exit_binary_result_object;
|
|
2442
2427
|
}
|
|
2443
2428
|
|
|
2444
|
-
|
|
2429
|
+
Py_DECREF_IMMORTAL(x);
|
|
2445
2430
|
}
|
|
2446
2431
|
|
|
2447
2432
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2614,7 +2599,7 @@ static nuitka_bool _BINARY_OPERATION_BITAND_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2614
2599
|
goto exit_binary_result_object;
|
|
2615
2600
|
}
|
|
2616
2601
|
|
|
2617
|
-
|
|
2602
|
+
Py_DECREF_IMMORTAL(x);
|
|
2618
2603
|
slot2 = NULL;
|
|
2619
2604
|
}
|
|
2620
2605
|
}
|
|
@@ -2626,7 +2611,7 @@ static nuitka_bool _BINARY_OPERATION_BITAND_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2626
2611
|
goto exit_binary_result_object;
|
|
2627
2612
|
}
|
|
2628
2613
|
|
|
2629
|
-
|
|
2614
|
+
Py_DECREF_IMMORTAL(x);
|
|
2630
2615
|
}
|
|
2631
2616
|
|
|
2632
2617
|
if (slot2 != NULL) {
|
|
@@ -2637,7 +2622,7 @@ static nuitka_bool _BINARY_OPERATION_BITAND_NBOOL_OBJECT_OBJECT(PyObject *operan
|
|
|
2637
2622
|
goto exit_binary_result_object;
|
|
2638
2623
|
}
|
|
2639
2624
|
|
|
2640
|
-
|
|
2625
|
+
Py_DECREF_IMMORTAL(x);
|
|
2641
2626
|
}
|
|
2642
2627
|
|
|
2643
2628
|
#if PYTHON_VERSION < 0x300
|
|
@@ -2736,3 +2721,18 @@ exit_binary_exception:
|
|
|
2736
2721
|
nuitka_bool BINARY_OPERATION_BITAND_NBOOL_OBJECT_OBJECT(PyObject *operand1, PyObject *operand2) {
|
|
2737
2722
|
return _BINARY_OPERATION_BITAND_NBOOL_OBJECT_OBJECT(operand1, operand2);
|
|
2738
2723
|
}
|
|
2724
|
+
|
|
2725
|
+
// Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
2726
|
+
// integrates with CPython, but also works on its own.
|
|
2727
|
+
//
|
|
2728
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
2729
|
+
// you may not use this file except in compliance with the License.
|
|
2730
|
+
// You may obtain a copy of the License at
|
|
2731
|
+
//
|
|
2732
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
2733
|
+
//
|
|
2734
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
2735
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
2736
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2737
|
+
// See the License for the specific language governing permissions and
|
|
2738
|
+
// limitations under the License.
|