Nuitka-winsvc 1.8__cp311-cp311-win_amd64.whl → 2.4.8__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- Nuitka_winsvc-1.8.data/scripts/nuitka-run.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka-run.cmd +9 -9
- Nuitka_winsvc-1.8.data/scripts/nuitka.bat → Nuitka_winsvc-2.4.8.data/scripts/nuitka.cmd +15 -15
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/METADATA +4 -3
- Nuitka_winsvc-2.4.8.dist-info/RECORD +954 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +24 -20
- nuitka/Bytecodes.py +23 -19
- nuitka/CacheCleanup.py +28 -23
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +23 -17
- nuitka/HardImportRegistry.py +400 -0
- nuitka/MainControl.py +200 -112
- nuitka/ModuleRegistry.py +83 -20
- nuitka/OptionParsing.py +368 -175
- nuitka/Options.py +632 -213
- nuitka/OutputDirectories.py +40 -21
- nuitka/PostProcessing.py +73 -50
- nuitka/Progress.py +58 -24
- nuitka/PythonFlavors.py +141 -32
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +106 -19
- nuitka/Serialization.py +68 -55
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +108 -70
- nuitka/TreeXML.py +31 -26
- nuitka/Variables.py +39 -41
- nuitka/Version.py +21 -7
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +95 -29
- nuitka/__past__.py +44 -34
- nuitka/build/Backend.scons +202 -140
- nuitka/build/CCompilerVersion.scons +39 -31
- nuitka/build/DataComposerInterface.py +20 -17
- nuitka/build/Onefile.scons +50 -54
- nuitka/build/SconsCaching.py +93 -90
- nuitka/build/SconsCompilerSettings.py +157 -69
- nuitka/build/SconsHacks.py +25 -19
- nuitka/build/SconsInterface.py +154 -54
- nuitka/build/SconsProgress.py +19 -18
- nuitka/build/SconsSpawn.py +62 -33
- nuitka/build/SconsUtils.py +147 -55
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +105 -22
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +18 -18
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -19
- nuitka/build/include/nuitka/compiled_asyncgen.h +18 -18
- nuitka/build/include/nuitka/compiled_cell.h +33 -18
- nuitka/build/include/nuitka/compiled_coroutine.h +18 -18
- nuitka/build/include/nuitka/compiled_frame.h +91 -53
- nuitka/build/include/nuitka/compiled_function.h +42 -20
- nuitka/build/include/nuitka/compiled_generator.h +24 -18
- nuitka/build/include/nuitka/compiled_method.h +17 -18
- nuitka/build/include/nuitka/constants.h +29 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +30 -0
- nuitka/build/include/nuitka/environment_variables_system.h +45 -0
- nuitka/build/include/nuitka/exception_groups.h +23 -26
- nuitka/build/include/nuitka/exceptions.h +593 -190
- nuitka/build/include/nuitka/filesystem_paths.h +26 -20
- nuitka/build/include/nuitka/freelists.h +38 -18
- nuitka/build/include/nuitka/helper/attributes.h +24 -18
- nuitka/build/include/nuitka/helper/boolean.h +17 -17
- nuitka/build/include/nuitka/helper/bytearrays.h +17 -17
- nuitka/build/include/nuitka/helper/bytes.h +14 -15
- nuitka/build/include/nuitka/helper/calling_generated.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_eq.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ge.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_gt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_le.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_lt.h +17 -17
- nuitka/build/include/nuitka/helper/comparisons_ne.h +17 -17
- nuitka/build/include/nuitka/helper/complex.h +17 -17
- nuitka/build/include/nuitka/helper/dictionaries.h +24 -22
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +25 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +32 -20
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +26 -24
- nuitka/build/include/nuitka/helper/lists_generated.h +22 -22
- nuitka/build/include/nuitka/helper/mappings.h +17 -18
- nuitka/build/include/nuitka/helper/operations.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +17 -17
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +17 -17
- nuitka/build/include/nuitka/helper/raising.h +29 -17
- nuitka/build/include/nuitka/helper/rangeobjects.h +17 -17
- nuitka/build/include/nuitka/helper/richcomparisons.h +14 -14
- nuitka/build/include/nuitka/helper/sequences.h +19 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +31 -25
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +18 -201
- nuitka/build/include/nuitka/helper/tuples.h +64 -52
- nuitka/build/include/nuitka/helpers.h +38 -20
- nuitka/build/include/nuitka/importing.h +28 -21
- nuitka/build/include/nuitka/jit_sources.h +25 -0
- nuitka/build/include/nuitka/prelude.h +128 -46
- nuitka/build/include/nuitka/printing.h +22 -17
- nuitka/build/include/nuitka/python_pgo.h +19 -18
- nuitka/build/include/nuitka/safe_string_ops.h +20 -18
- nuitka/build/include/nuitka/threading.h +32 -33
- nuitka/build/include/nuitka/tracing.h +28 -18
- nuitka/build/include/nuitka/type_aliases.h +27 -0
- nuitka/build/include/nuitka/unfreezing.h +29 -23
- nuitka/build/inline_copy/bin/scons.py +14 -0
- nuitka/build/inline_copy/lib/scons-4.3.0/SCons/Variables/ListVariable.py +6 -6
- nuitka/build/inline_copy/pkg_resources/pkg_resources/__init__.py +0 -3
- nuitka/build/inline_copy/python_hacl/LICENSE.txt +201 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.c +1430 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_MD5.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.c +463 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA1.h +66 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.c +1273 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA2.h +204 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.c +734 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Hash_SHA3.h +131 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/Hacl_Streaming_Types.h +83 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt128_Verified.h +346 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/FStar_UInt_8_16_32_64.h +107 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/fstar_uint128_struct_endianness.h +68 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/internal/target.h +293 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/lowstar_endianness.h +231 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/include/krml/types.h +14 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_MD5.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA1.h +56 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA2.h +164 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/internal/Hacl_Hash_SHA3.h +65 -0
- nuitka/build/inline_copy/python_hacl/hacl_312/python_hacl_namespaces.h +89 -0
- nuitka/build/inline_copy/tqdm/tqdm/__init__.py +2 -2
- nuitka/build/inline_copy/tqdm/tqdm/_monitor.py +4 -1
- nuitka/build/inline_copy/tqdm/tqdm/utils.py +14 -8
- nuitka/build/inline_copy/tqdm/tqdm/version.py +1 -8
- nuitka/build/inline_copy/zlib/LICENSE +22 -0
- nuitka/build/inline_copy/zlib/crc32.c +1049 -0
- nuitka/build/inline_copy/zlib/crc32.h +9446 -0
- nuitka/build/inline_copy/zlib/zconf.h +551 -0
- nuitka/build/inline_copy/zlib/zlib.h +1938 -0
- nuitka/build/inline_copy/zlib/zutil.h +275 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +176 -182
- nuitka/build/static_src/CompiledCellType.c +63 -40
- nuitka/build/static_src/CompiledCodeHelpers.c +181 -128
- nuitka/build/static_src/CompiledCoroutineType.c +196 -203
- nuitka/build/static_src/CompiledFrameType.c +287 -133
- nuitka/build/static_src/CompiledFunctionType.c +389 -95
- nuitka/build/static_src/CompiledGeneratorType.c +376 -252
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +185 -198
- nuitka/build/static_src/CompiledMethodType.c +83 -71
- nuitka/build/static_src/HelpersAllocator.c +88 -19
- nuitka/build/static_src/HelpersAttributes.c +33 -54
- nuitka/build/static_src/HelpersBuiltin.c +43 -33
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +19 -20
- nuitka/build/static_src/HelpersCalling.c +33 -30
- nuitka/build/static_src/HelpersCallingGenerated.c +1000 -181
- nuitka/build/static_src/HelpersChecksumTools.c +35 -21
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +518 -492
- nuitka/build/static_src/HelpersComparisonEqUtils.c +21 -19
- nuitka/build/static_src/HelpersComparisonGe.c +513 -497
- nuitka/build/static_src/HelpersComparisonGt.c +512 -496
- nuitka/build/static_src/HelpersComparisonLe.c +513 -497
- nuitka/build/static_src/HelpersComparisonLt.c +512 -496
- nuitka/build/static_src/HelpersComparisonNe.c +520 -492
- nuitka/build/static_src/HelpersConsole.c +96 -0
- nuitka/build/static_src/HelpersConstantsBlob.c +542 -519
- nuitka/build/static_src/HelpersDeepcopy.c +33 -33
- nuitka/build/static_src/HelpersDictionaries.c +51 -29
- nuitka/build/static_src/HelpersDictionariesGenerated.c +177 -68
- nuitka/build/static_src/HelpersDumpBacktraces.c +63 -0
- nuitka/build/static_src/HelpersEnvironmentVariables.c +65 -0
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +93 -0
- nuitka/build/static_src/HelpersExceptions.c +161 -50
- nuitka/build/static_src/HelpersFiles.c +37 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +292 -181
- nuitka/build/static_src/HelpersFloats.c +37 -31
- nuitka/build/static_src/HelpersHeapStorage.c +21 -17
- nuitka/build/static_src/HelpersImport.c +48 -20
- nuitka/build/static_src/HelpersImportHard.c +53 -17
- nuitka/build/static_src/HelpersJitSources.c +46 -0
- nuitka/build/static_src/HelpersLists.c +140 -50
- nuitka/build/static_src/HelpersListsGenerated.c +41 -41
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +137 -51
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +173 -146
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +99 -52
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +50 -50
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +20 -21
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +24 -24
- nuitka/build/static_src/HelpersOperationBinaryMod.c +107 -107
- nuitka/build/static_src/HelpersOperationBinaryMult.c +81 -75
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +33 -30
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +41 -41
- nuitka/build/static_src/HelpersOperationBinaryPow.c +44 -44
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +47 -47
- nuitka/build/static_src/HelpersOperationBinarySub.c +80 -80
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +41 -41
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +171 -153
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +24 -22
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +53 -53
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +37 -37
- nuitka/build/static_src/HelpersOperationInplaceMod.c +134 -134
- nuitka/build/static_src/HelpersOperationInplaceMult.c +78 -78
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +62 -62
- nuitka/build/static_src/HelpersOperationInplacePow.c +62 -62
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +44 -44
- nuitka/build/static_src/HelpersOperationInplaceSub.c +112 -112
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +62 -62
- nuitka/build/static_src/HelpersProfiling.c +24 -23
- nuitka/build/static_src/HelpersPythonPgo.c +22 -22
- nuitka/build/static_src/HelpersRaising.c +88 -20
- nuitka/build/static_src/HelpersSafeStrings.c +34 -22
- nuitka/build/static_src/HelpersSequences.c +18 -19
- nuitka/build/static_src/HelpersSlices.c +29 -23
- nuitka/build/static_src/HelpersStrings.c +234 -37
- nuitka/build/static_src/HelpersTuples.c +46 -34
- nuitka/build/static_src/HelpersTypes.c +68 -23
- nuitka/build/static_src/InspectPatcher.c +108 -27
- nuitka/build/static_src/MainProgram.c +359 -263
- nuitka/build/static_src/MetaPathBasedLoader.c +367 -242
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +39 -26
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +97 -22
- nuitka/build/static_src/OnefileBootstrap.c +276 -164
- nuitka/build/static_src/OnefileSplashScreen.cpp +51 -27
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +31 -27
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +24 -20
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +20 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +48 -27
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +24 -20
- nuitka/code_generation/CodeObjectCodes.py +34 -24
- nuitka/code_generation/ComparisonCodes.py +38 -20
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +82 -28
- nuitka/code_generation/Contexts.py +152 -26
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +25 -23
- nuitka/code_generation/Emission.py +21 -18
- nuitka/code_generation/ErrorCodes.py +27 -33
- nuitka/code_generation/EvalCodes.py +24 -20
- nuitka/code_generation/ExceptionCodes.py +27 -18
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +20 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +24 -20
- nuitka/code_generation/FunctionCodes.py +24 -21
- nuitka/code_generation/GeneratorCodes.py +23 -20
- nuitka/code_generation/GlobalConstants.py +43 -23
- nuitka/code_generation/GlobalsLocalsCodes.py +21 -19
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +90 -50
- nuitka/code_generation/Indentation.py +23 -22
- nuitka/code_generation/IndexCodes.py +19 -17
- nuitka/code_generation/InjectCCodes.py +14 -12
- nuitka/code_generation/IntegerCodes.py +19 -17
- nuitka/code_generation/IteratorCodes.py +19 -17
- nuitka/code_generation/JitCodes.py +44 -0
- nuitka/code_generation/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +32 -36
- nuitka/code_generation/LoaderCodes.py +22 -17
- nuitka/code_generation/LocalsDictCodes.py +56 -32
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +42 -22
- nuitka/code_generation/ModuleCodes.py +43 -25
- nuitka/code_generation/Namify.py +27 -23
- nuitka/code_generation/NetworkxCodes.py +51 -0
- nuitka/code_generation/OperationCodes.py +29 -31
- nuitka/code_generation/PackageResourceCodes.py +59 -23
- nuitka/code_generation/PrintCodes.py +19 -17
- nuitka/code_generation/PythonAPICodes.py +19 -17
- nuitka/code_generation/RaisingCodes.py +19 -17
- nuitka/code_generation/Reports.py +19 -17
- nuitka/code_generation/ReturnCodes.py +19 -17
- nuitka/code_generation/SetCodes.py +19 -17
- nuitka/code_generation/SliceCodes.py +22 -20
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +24 -30
- nuitka/code_generation/TensorflowCodes.py +54 -0
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +20 -18
- nuitka/code_generation/TypeAliasCodes.py +71 -0
- nuitka/code_generation/VariableCodes.py +26 -22
- nuitka/code_generation/VariableDeclarations.py +20 -17
- nuitka/code_generation/YieldCodes.py +22 -20
- nuitka/code_generation/__init__.py +5 -4
- nuitka/code_generation/c_types/CTypeBases.py +19 -17
- nuitka/code_generation/c_types/CTypeBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeCFloats.py +19 -17
- nuitka/code_generation/c_types/CTypeCLongs.py +19 -18
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +19 -17
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +19 -18
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +27 -25
- nuitka/code_generation/c_types/CTypeVoids.py +20 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +132 -36
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +19 -18
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +19 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -18
- nuitka/code_generation/templates/CodeTemplatesLoader.py +25 -19
- nuitka/code_generation/templates/CodeTemplatesModules.py +244 -165
- nuitka/code_generation/templates/CodeTemplatesVariables.py +42 -27
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -18
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +18 -18
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +76 -25
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +22 -22
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +19 -19
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +19 -19
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +121 -48
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +23 -23
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +35 -35
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +18 -18
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +44 -32
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +28 -28
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +24 -24
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +33 -29
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +20 -20
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +27 -27
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +26 -24
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +21 -18
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -18
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +19 -18
- nuitka/distutils/DistutilCommands.py +34 -23
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +20 -17
- nuitka/finalizations/FinalizeMarkups.py +21 -41
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +48 -28
- nuitka/freezer/DllDependenciesCommon.py +47 -20
- nuitka/freezer/DllDependenciesMacOS.py +147 -57
- nuitka/freezer/DllDependenciesPosix.py +29 -19
- nuitka/freezer/DllDependenciesWin32.py +29 -21
- nuitka/freezer/ImportDetection.py +20 -17
- nuitka/freezer/IncludedDataFiles.py +118 -47
- nuitka/freezer/IncludedEntryPoints.py +102 -38
- nuitka/freezer/Onefile.py +32 -22
- nuitka/freezer/Standalone.py +105 -50
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +24 -21
- nuitka/importing/ImportResolving.py +103 -95
- nuitka/importing/Importing.py +286 -92
- nuitka/importing/PreloadedPackages.py +21 -18
- nuitka/importing/Recursion.py +131 -47
- nuitka/importing/StandardLibrary.py +46 -28
- nuitka/importing/__init__.py +5 -4
- nuitka/nodes/AsyncgenNodes.py +19 -17
- nuitka/nodes/AttributeLookupNodes.py +19 -17
- nuitka/nodes/AttributeNodes.py +19 -17
- nuitka/nodes/AttributeNodesGenerated.py +49 -24
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +20 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +20 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +24 -20
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +52 -18
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +40 -23
- nuitka/nodes/BuiltinRangeNodes.py +21 -19
- nuitka/nodes/BuiltinRefNodes.py +68 -19
- nuitka/nodes/BuiltinSumNodes.py +20 -18
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -18
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +1250 -302
- nuitka/nodes/ClassNodes.py +49 -29
- nuitka/nodes/CodeObjectSpecs.py +29 -18
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +21 -23
- nuitka/nodes/ConstantRefNodes.py +57 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -18
- nuitka/nodes/DictionaryNodes.py +19 -18
- nuitka/nodes/ExceptionNodes.py +29 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +34 -26
- nuitka/nodes/ExpressionBasesGenerated.py +54 -32
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +81 -35
- nuitka/nodes/FutureSpecs.py +35 -20
- nuitka/nodes/GeneratorNodes.py +21 -19
- nuitka/nodes/GlobalsLocalsNodes.py +22 -17
- nuitka/nodes/HardImportNodesGenerated.py +545 -129
- nuitka/nodes/ImportHardNodes.py +46 -38
- nuitka/nodes/ImportNodes.py +436 -446
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -18
- nuitka/nodes/IterationHandles.py +55 -34
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +33 -21
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +41 -41
- nuitka/nodes/LoopNodes.py +28 -17
- nuitka/nodes/MatchNodes.py +37 -24
- nuitka/nodes/ModuleAttributeNodes.py +18 -35
- nuitka/nodes/ModuleNodes.py +90 -31
- nuitka/nodes/NetworkxNodes.py +45 -0
- nuitka/nodes/NodeBases.py +45 -43
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +45 -28
- nuitka/nodes/OperatorNodes.py +28 -26
- nuitka/nodes/OperatorNodesUnary.py +20 -17
- nuitka/nodes/OsSysNodes.py +66 -18
- nuitka/nodes/OutlineNodes.py +22 -20
- nuitka/nodes/PackageMetadataNodes.py +37 -27
- nuitka/nodes/PackageResourceNodes.py +29 -23
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +20 -18
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +20 -18
- nuitka/nodes/StatementBasesGenerated.py +125 -77
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +20 -17
- nuitka/nodes/SubscriptNodes.py +26 -24
- nuitka/nodes/TensorflowNodes.py +38 -0
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +40 -17
- nuitka/nodes/VariableAssignNodes.py +122 -64
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +63 -26
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +21 -19
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +145 -39
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +40 -17
- nuitka/nodes/shapes/StandardShapes.py +27 -20
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +22 -23
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +39 -35
- nuitka/optimizations/OptimizeBuiltinCalls.py +31 -27
- nuitka/optimizations/Tags.py +19 -18
- nuitka/optimizations/TraceCollections.py +67 -24
- nuitka/optimizations/ValueTraces.py +92 -25
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +33 -23
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +610 -109
- nuitka/plugins/Plugins.py +241 -58
- nuitka/plugins/YamlPluginBase.py +121 -0
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +357 -129
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +20 -19
- nuitka/plugins/standard/DataFilesPlugin.py +65 -29
- nuitka/plugins/standard/DelvewheelPlugin.py +32 -24
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +37 -0
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +256 -0
- nuitka/plugins/standard/DillPlugin.py +42 -134
- nuitka/plugins/standard/DllFilesPlugin.py +125 -42
- nuitka/plugins/standard/EnumPlugin.py +19 -17
- nuitka/plugins/standard/EventletPlugin.py +19 -17
- nuitka/plugins/standard/GeventPlugin.py +19 -17
- nuitka/plugins/standard/GiPlugin.py +44 -28
- nuitka/plugins/standard/GlfwPlugin.py +20 -17
- nuitka/plugins/standard/ImplicitImports.py +407 -46
- nuitka/plugins/standard/KivyPlugin.py +30 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +88 -42
- nuitka/plugins/standard/MultiprocessingPlugin.py +25 -20
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +48 -76
- nuitka/plugins/standard/PbrPlugin.py +21 -19
- nuitka/plugins/standard/PkgResourcesPlugin.py +34 -23
- nuitka/plugins/standard/PmwPlugin.py +30 -27
- nuitka/plugins/standard/PySidePyQtPlugin.py +74 -80
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/SpacyPlugin.py +136 -0
- nuitka/plugins/standard/TensorflowPlugin.py +20 -17
- nuitka/plugins/standard/TkinterPlugin.py +103 -53
- nuitka/plugins/standard/TorchPlugin.py +20 -17
- nuitka/plugins/standard/TransformersPlugin.py +94 -30
- nuitka/plugins/standard/TrioPlugin.py +18 -15
- nuitka/plugins/standard/UpxPlugin.py +21 -19
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +3449 -1299
- nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +14 -14
- nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +121 -66
- nuitka/reports/CompilationReportReader.py +67 -0
- nuitka/reports/LicenseReport.rst.j2 +21 -21
- nuitka/reports/Reports.py +352 -76
- nuitka/reports/__init__.py +5 -4
- nuitka/specs/BuiltinBytesOperationSpecs.py +18 -17
- nuitka/specs/BuiltinDictOperationSpecs.py +18 -17
- nuitka/specs/BuiltinListOperationSpecs.py +18 -17
- nuitka/specs/BuiltinParameterSpecs.py +30 -20
- nuitka/specs/BuiltinStrOperationSpecs.py +19 -18
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -18
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +67 -22
- nuitka/specs/ParameterSpecs.py +56 -41
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +20 -18
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +78 -62
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +20 -17
- nuitka/tools/environments/Virtualenv.py +60 -32
- nuitka/tools/environments/__init__.py +5 -4
- nuitka/tools/general/__init__.py +5 -4
- nuitka/tools/general/dll_report/__init__.py +5 -4
- nuitka/tools/general/dll_report/__main__.py +19 -21
- nuitka/tools/general/find_module/FindModuleCode.py +35 -22
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +213 -131
- nuitka/tools/onefile_compressor/__init__.py +5 -4
- nuitka/tools/onefile_compressor/__main__.py +18 -17
- nuitka/tools/podman/Podman.py +19 -17
- nuitka/tools/podman/__init__.py +5 -4
- nuitka/tools/podman/__main__.py +35 -19
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +47 -22
- nuitka/tools/scanning/DisplayPackageData.py +31 -19
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +93 -71
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +31 -27
- nuitka/tools/specialize/SpecializePython.py +108 -45
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +106 -52
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +54 -18
- nuitka/tools/testing/Pythons.py +19 -18
- nuitka/tools/testing/RuntimeTracing.py +20 -19
- nuitka/tools/testing/SearchModes.py +26 -20
- nuitka/tools/testing/Valgrind.py +19 -17
- nuitka/tools/testing/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__init__.py +5 -4
- nuitka/tools/testing/check_reference_counts/__main__.py +18 -18
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +36 -29
- nuitka/tools/testing/find_sxs_modules/__init__.py +5 -4
- nuitka/tools/testing/find_sxs_modules/__main__.py +17 -17
- nuitka/tools/testing/measure_construct_performance/__init__.py +5 -4
- nuitka/tools/testing/measure_construct_performance/__main__.py +22 -25
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +57 -40
- nuitka/tools/watch/AutoStage.py +144 -0
- nuitka/tools/watch/GitHub.py +113 -0
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +322 -91
- nuitka/tree/Building.py +176 -147
- nuitka/tree/ComplexCallHelperFunctions.py +80 -58
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +29 -20
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +20 -17
- nuitka/tree/ReformulationAssignmentStatements.py +92 -91
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +20 -18
- nuitka/tree/ReformulationClasses.py +45 -39
- nuitka/tree/ReformulationClasses3.py +146 -98
- nuitka/tree/ReformulationComparisonExpressions.py +29 -35
- nuitka/tree/ReformulationContractionExpressions.py +58 -55
- nuitka/tree/ReformulationDictionaryCreation.py +40 -35
- nuitka/tree/ReformulationExecStatements.py +42 -39
- nuitka/tree/ReformulationForLoopStatements.py +30 -34
- nuitka/tree/ReformulationFunctionStatements.py +58 -54
- nuitka/tree/ReformulationImportStatements.py +34 -29
- nuitka/tree/ReformulationLambdaExpressions.py +23 -24
- nuitka/tree/ReformulationMatchStatements.py +244 -92
- nuitka/tree/ReformulationMultidist.py +22 -18
- nuitka/tree/ReformulationNamespacePackages.py +55 -46
- nuitka/tree/ReformulationPrintStatements.py +23 -24
- nuitka/tree/ReformulationSequenceCreation.py +50 -49
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +34 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +39 -41
- nuitka/tree/ReformulationYieldExpressions.py +21 -19
- nuitka/tree/SourceHandling.py +76 -31
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +33 -20
- nuitka/tree/VariableClosure.py +35 -39
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +41 -20
- nuitka/utils/CStrings.py +66 -21
- nuitka/utils/CommandLineOptions.py +84 -19
- nuitka/utils/Distributions.py +445 -54
- nuitka/utils/Download.py +89 -57
- nuitka/utils/Execution.py +73 -34
- nuitka/utils/FileOperations.py +318 -74
- nuitka/utils/Hashing.py +55 -33
- nuitka/utils/Images.py +26 -19
- nuitka/utils/Importing.py +118 -24
- nuitka/utils/InstalledPythons.py +80 -75
- nuitka/utils/InstanceCounters.py +20 -17
- nuitka/utils/Jinja2.py +30 -22
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +26 -18
- nuitka/utils/MemoryUsage.py +20 -18
- nuitka/utils/ModuleNames.py +42 -26
- nuitka/utils/ReExecute.py +50 -28
- nuitka/utils/Rest.py +20 -17
- nuitka/utils/SharedLibraries.py +161 -75
- nuitka/utils/Shebang.py +20 -17
- nuitka/utils/Signing.py +63 -18
- nuitka/utils/SlotMetaClasses.py +57 -0
- nuitka/utils/StaticLibraries.py +83 -56
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +22 -20
- nuitka/utils/Utils.py +115 -25
- nuitka/utils/WindowsFileUsage.py +22 -20
- nuitka/utils/WindowsResources.py +25 -18
- nuitka/utils/Yaml.py +62 -24
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-1.8.dist-info/RECORD +0 -905
- nuitka/build/inline_copy/tqdm/tqdm/_tqdm_gui.py +0 -9
- nuitka/build/inline_copy/tqdm/tqdm/gui.py +0 -191
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-1.8.dist-info → Nuitka_winsvc-2.4.8.dist-info}/top_level.txt +0 -0
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of assignment statements.
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -67,6 +53,7 @@ from nuitka.nodes.SubscriptNodes import (
|
|
|
67
53
|
StatementAssignmentSubscript,
|
|
68
54
|
StatementDelSubscript,
|
|
69
55
|
)
|
|
56
|
+
from nuitka.nodes.TypeNodes import ExpressionTypeAlias
|
|
70
57
|
from nuitka.nodes.VariableAssignNodes import makeStatementAssignmentVariable
|
|
71
58
|
from nuitka.nodes.VariableDelNodes import makeStatementDelVariable
|
|
72
59
|
from nuitka.nodes.VariableNameNodes import (
|
|
@@ -76,20 +63,17 @@ from nuitka.nodes.VariableNameNodes import (
|
|
|
76
63
|
StatementDelVariableName,
|
|
77
64
|
)
|
|
78
65
|
from nuitka.nodes.VariableRefNodes import ExpressionTempVariableRef
|
|
79
|
-
from nuitka.
|
|
80
|
-
makeStatementReleaseVariable,
|
|
81
|
-
makeStatementsReleaseVariables,
|
|
82
|
-
)
|
|
83
|
-
from nuitka.Options import hasPythonFlagNoAnnotations, isExperimental
|
|
66
|
+
from nuitka.Options import isExperimental
|
|
84
67
|
from nuitka.PythonVersions import python_version
|
|
85
68
|
from nuitka.Tracing import general
|
|
86
69
|
|
|
87
70
|
from .ReformulationImportStatements import getFutureSpec
|
|
88
|
-
from .ReformulationTryFinallyStatements import
|
|
71
|
+
from .ReformulationTryFinallyStatements import makeTryFinallyReleaseStatement
|
|
89
72
|
from .SyntaxErrors import raiseSyntaxError
|
|
90
73
|
from .TreeHelpers import (
|
|
91
74
|
buildAnnotationNode,
|
|
92
75
|
buildNode,
|
|
76
|
+
buildNodeTuple,
|
|
93
77
|
getKind,
|
|
94
78
|
makeStatementsSequence,
|
|
95
79
|
makeStatementsSequenceFromStatement,
|
|
@@ -207,12 +191,14 @@ def buildAssignmentStatementsFromDecoded(provider, kind, detail, source, source_
|
|
|
207
191
|
temp_scope = provider.allocateTempScope("tuple_unpack")
|
|
208
192
|
|
|
209
193
|
source_iter_var = provider.allocateTempVariable(
|
|
210
|
-
temp_scope=temp_scope, name="source_iter"
|
|
194
|
+
temp_scope=temp_scope, name="source_iter", temp_type="object"
|
|
211
195
|
)
|
|
212
196
|
|
|
213
197
|
element_vars = [
|
|
214
198
|
provider.allocateTempVariable(
|
|
215
|
-
temp_scope=temp_scope,
|
|
199
|
+
temp_scope=temp_scope,
|
|
200
|
+
name="element_%d" % (element_index + 1),
|
|
201
|
+
temp_type="object",
|
|
216
202
|
)
|
|
217
203
|
for element_index in range(len(detail))
|
|
218
204
|
]
|
|
@@ -226,9 +212,11 @@ def buildAssignmentStatementsFromDecoded(provider, kind, detail, source, source_
|
|
|
226
212
|
if element[0] == "Starred":
|
|
227
213
|
if starred_index is not None:
|
|
228
214
|
raiseSyntaxError(
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
215
|
+
(
|
|
216
|
+
"two starred expressions in assignment"
|
|
217
|
+
if python_version < 0x390
|
|
218
|
+
else "multiple starred expressions in assignment"
|
|
219
|
+
),
|
|
232
220
|
source_ref.atColumnNumber(0),
|
|
233
221
|
)
|
|
234
222
|
|
|
@@ -348,14 +336,10 @@ not enough values to unpack (expected at least %d, got %%d)"""
|
|
|
348
336
|
source=iter_creation_class(value=source, source_ref=source_ref),
|
|
349
337
|
source_ref=source_ref,
|
|
350
338
|
),
|
|
351
|
-
|
|
339
|
+
makeTryFinallyReleaseStatement(
|
|
352
340
|
provider=provider,
|
|
353
341
|
tried=statements,
|
|
354
|
-
|
|
355
|
-
makeStatementReleaseVariable(
|
|
356
|
-
variable=source_iter_var, source_ref=source_ref
|
|
357
|
-
),
|
|
358
|
-
),
|
|
342
|
+
variables=(source_iter_var,),
|
|
359
343
|
source_ref=source_ref,
|
|
360
344
|
),
|
|
361
345
|
]
|
|
@@ -388,19 +372,10 @@ not enough values to unpack (expected at least %d, got %%d)"""
|
|
|
388
372
|
)
|
|
389
373
|
)
|
|
390
374
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
for element_var in element_vars:
|
|
394
|
-
final_statements.append(
|
|
395
|
-
makeStatementReleaseVariable(
|
|
396
|
-
variable=element_var, source_ref=source_ref
|
|
397
|
-
)
|
|
398
|
-
)
|
|
399
|
-
|
|
400
|
-
return makeTryFinallyStatement(
|
|
375
|
+
return makeTryFinallyReleaseStatement(
|
|
401
376
|
provider=provider,
|
|
402
377
|
tried=statements,
|
|
403
|
-
|
|
378
|
+
variables=element_vars,
|
|
404
379
|
source_ref=source_ref,
|
|
405
380
|
)
|
|
406
381
|
elif kind == "Starred":
|
|
@@ -512,6 +487,7 @@ def decodeAssignTarget(provider, node, source_ref, allow_none=False):
|
|
|
512
487
|
else:
|
|
513
488
|
assert False, slice_kind
|
|
514
489
|
elif kind in ("Tuple", "List"):
|
|
490
|
+
# That is the ast names, spell-checker: ignore elts
|
|
515
491
|
return (
|
|
516
492
|
"Tuple",
|
|
517
493
|
tuple(
|
|
@@ -562,7 +538,7 @@ def buildAssignNode(provider, node, source_ref):
|
|
|
562
538
|
temp_scope = provider.allocateTempScope("assign_unpack")
|
|
563
539
|
|
|
564
540
|
tmp_source = provider.allocateTempVariable(
|
|
565
|
-
temp_scope=temp_scope, name="assign_source"
|
|
541
|
+
temp_scope=temp_scope, name="assign_source", temp_type="object"
|
|
566
542
|
)
|
|
567
543
|
|
|
568
544
|
statements = [
|
|
@@ -583,22 +559,23 @@ def buildAssignNode(provider, node, source_ref):
|
|
|
583
559
|
)
|
|
584
560
|
)
|
|
585
561
|
|
|
586
|
-
return
|
|
562
|
+
return makeTryFinallyReleaseStatement(
|
|
587
563
|
provider=provider,
|
|
588
564
|
tried=statements,
|
|
589
|
-
|
|
590
|
-
variable=tmp_source, source_ref=source_ref
|
|
591
|
-
),
|
|
565
|
+
variables=(tmp_source,),
|
|
592
566
|
source_ref=source_ref,
|
|
593
567
|
)
|
|
594
568
|
|
|
595
569
|
|
|
596
570
|
def buildAnnAssignNode(provider, node, source_ref):
|
|
597
571
|
"""Python3.6 annotation assignment."""
|
|
598
|
-
# There are many cases to deal with here
|
|
572
|
+
# There are many cases to deal with here, pylint: disable=too-many-branches
|
|
599
573
|
|
|
600
|
-
|
|
601
|
-
|
|
574
|
+
use_annotations = getFutureSpec().shallUseAnnotations()
|
|
575
|
+
|
|
576
|
+
if use_annotations:
|
|
577
|
+
if provider.isCompiledPythonModule() or provider.isExpressionClassBodyBase():
|
|
578
|
+
provider.markAsNeedsAnnotationsDictionary()
|
|
602
579
|
|
|
603
580
|
# Evaluate the right hand side first, so it can get names provided
|
|
604
581
|
# before the left hand side exists.
|
|
@@ -635,7 +612,7 @@ def buildAnnAssignNode(provider, node, source_ref):
|
|
|
635
612
|
# Only annotations for modules and classes are really made, for functions
|
|
636
613
|
# they are ignored like comments.
|
|
637
614
|
if variable_name is not None:
|
|
638
|
-
if
|
|
615
|
+
if use_annotations and (
|
|
639
616
|
provider.isExpressionClassBodyBase() or provider.isCompiledPythonModule()
|
|
640
617
|
):
|
|
641
618
|
annotation = buildAnnotationNode(provider, node.annotation, source_ref)
|
|
@@ -798,7 +775,9 @@ def _buildInplaceAssignAttributeNode(
|
|
|
798
775
|
):
|
|
799
776
|
temp_scope = provider.allocateTempScope("inplace_assign")
|
|
800
777
|
|
|
801
|
-
tmp_variable = provider.allocateTempVariable(
|
|
778
|
+
tmp_variable = provider.allocateTempVariable(
|
|
779
|
+
temp_scope=temp_scope, name="value", temp_type="object"
|
|
780
|
+
)
|
|
802
781
|
|
|
803
782
|
# First assign the target value to a temporary variable.
|
|
804
783
|
preserve_to_tmp = makeStatementAssignmentVariable(
|
|
@@ -836,12 +815,10 @@ def _buildInplaceAssignAttributeNode(
|
|
|
836
815
|
return (
|
|
837
816
|
preserve_to_tmp,
|
|
838
817
|
# making sure the above temporary variable is deleted in any case.
|
|
839
|
-
|
|
818
|
+
makeTryFinallyReleaseStatement(
|
|
840
819
|
provider=provider,
|
|
841
820
|
tried=(inplace_to_tmp, copy_back_from_tmp),
|
|
842
|
-
|
|
843
|
-
variable=tmp_variable, source_ref=source_ref
|
|
844
|
-
),
|
|
821
|
+
variables=(tmp_variable,),
|
|
845
822
|
source_ref=source_ref,
|
|
846
823
|
),
|
|
847
824
|
)
|
|
@@ -908,13 +885,10 @@ def _buildInplaceAssignSubscriptNode(
|
|
|
908
885
|
|
|
909
886
|
return (
|
|
910
887
|
preserve_to_tmp1,
|
|
911
|
-
|
|
888
|
+
makeTryFinallyReleaseStatement(
|
|
912
889
|
provider=provider,
|
|
913
890
|
tried=statements,
|
|
914
|
-
|
|
915
|
-
variables=(tmp_variable1, tmp_variable2, tmp_variable3),
|
|
916
|
-
source_ref=source_ref,
|
|
917
|
-
),
|
|
891
|
+
variables=(tmp_variable1, tmp_variable2, tmp_variable3),
|
|
918
892
|
source_ref=source_ref,
|
|
919
893
|
),
|
|
920
894
|
)
|
|
@@ -942,9 +916,7 @@ def _buildInplaceAssignSliceNode(
|
|
|
942
916
|
variable=tmp_variable1, source=lookup_source, source_ref=source_ref
|
|
943
917
|
)
|
|
944
918
|
|
|
945
|
-
|
|
946
|
-
makeStatementReleaseVariable(variable=tmp_variable1, source_ref=source_ref)
|
|
947
|
-
]
|
|
919
|
+
release_variables = [tmp_variable1]
|
|
948
920
|
statements = []
|
|
949
921
|
|
|
950
922
|
if lower is not None:
|
|
@@ -953,9 +925,7 @@ def _buildInplaceAssignSliceNode(
|
|
|
953
925
|
variable=tmp_variable2, source=lower, source_ref=source_ref
|
|
954
926
|
)
|
|
955
927
|
)
|
|
956
|
-
|
|
957
|
-
makeStatementReleaseVariable(variable=tmp_variable2, source_ref=source_ref)
|
|
958
|
-
)
|
|
928
|
+
release_variables.append(tmp_variable2)
|
|
959
929
|
|
|
960
930
|
lower_ref1 = ExpressionTempVariableRef(
|
|
961
931
|
variable=tmp_variable2, source_ref=source_ref
|
|
@@ -974,9 +944,7 @@ def _buildInplaceAssignSliceNode(
|
|
|
974
944
|
variable=tmp_variable3, source=upper, source_ref=source_ref
|
|
975
945
|
)
|
|
976
946
|
)
|
|
977
|
-
|
|
978
|
-
makeStatementReleaseVariable(variable=tmp_variable3, source_ref=source_ref)
|
|
979
|
-
)
|
|
947
|
+
release_variables.append(tmp_variable3)
|
|
980
948
|
|
|
981
949
|
upper_ref1 = ExpressionTempVariableRef(
|
|
982
950
|
variable=tmp_variable3, source_ref=source_ref
|
|
@@ -1074,16 +1042,14 @@ def _buildInplaceAssignSliceNode(
|
|
|
1074
1042
|
),
|
|
1075
1043
|
)
|
|
1076
1044
|
|
|
1077
|
-
|
|
1078
|
-
makeStatementReleaseVariable(variable=tmp_variable4, source_ref=source_ref)
|
|
1079
|
-
)
|
|
1045
|
+
release_variables.append(tmp_variable4)
|
|
1080
1046
|
|
|
1081
1047
|
return (
|
|
1082
1048
|
copy_to_tmp,
|
|
1083
|
-
|
|
1049
|
+
makeTryFinallyReleaseStatement(
|
|
1084
1050
|
provider=provider,
|
|
1085
1051
|
tried=statements,
|
|
1086
|
-
|
|
1052
|
+
variables=release_variables,
|
|
1087
1053
|
source_ref=source_ref,
|
|
1088
1054
|
),
|
|
1089
1055
|
)
|
|
@@ -1128,16 +1094,16 @@ def buildInplaceAssignNode(provider, node, source_ref):
|
|
|
1128
1094
|
elif kind == "Subscript":
|
|
1129
1095
|
subscribed, subscript = detail
|
|
1130
1096
|
|
|
1131
|
-
temp_scope = provider.allocateTempScope("
|
|
1097
|
+
temp_scope = provider.allocateTempScope("inplace_assign_subscript")
|
|
1132
1098
|
|
|
1133
1099
|
tmp_variable1 = provider.allocateTempVariable(
|
|
1134
|
-
temp_scope=temp_scope, name="target"
|
|
1100
|
+
temp_scope=temp_scope, name="target", temp_type="object"
|
|
1135
1101
|
)
|
|
1136
1102
|
tmp_variable2 = provider.allocateTempVariable(
|
|
1137
|
-
temp_scope=temp_scope, name="subscript"
|
|
1103
|
+
temp_scope=temp_scope, name="subscript", temp_type="object"
|
|
1138
1104
|
)
|
|
1139
1105
|
tmp_variable3 = provider.allocateTempVariable(
|
|
1140
|
-
temp_scope=temp_scope, name="value"
|
|
1106
|
+
temp_scope=temp_scope, name="value", temp_type="object"
|
|
1141
1107
|
)
|
|
1142
1108
|
|
|
1143
1109
|
statements = _buildInplaceAssignSubscriptNode(
|
|
@@ -1157,24 +1123,24 @@ def buildInplaceAssignNode(provider, node, source_ref):
|
|
|
1157
1123
|
temp_scope = provider.allocateTempScope("inplace_assign_slice")
|
|
1158
1124
|
|
|
1159
1125
|
tmp_variable1 = provider.allocateTempVariable(
|
|
1160
|
-
temp_scope=temp_scope, name="target"
|
|
1126
|
+
temp_scope=temp_scope, name="target", temp_type="object"
|
|
1161
1127
|
)
|
|
1162
1128
|
if lower is not None:
|
|
1163
1129
|
tmp_variable2 = provider.allocateTempVariable(
|
|
1164
|
-
temp_scope=temp_scope, name="lower"
|
|
1130
|
+
temp_scope=temp_scope, name="lower", temp_type="object"
|
|
1165
1131
|
)
|
|
1166
1132
|
else:
|
|
1167
1133
|
tmp_variable2 = None
|
|
1168
1134
|
|
|
1169
1135
|
if upper is not None:
|
|
1170
1136
|
tmp_variable3 = provider.allocateTempVariable(
|
|
1171
|
-
temp_scope=temp_scope, name="upper"
|
|
1137
|
+
temp_scope=temp_scope, name="upper", temp_type="object"
|
|
1172
1138
|
)
|
|
1173
1139
|
else:
|
|
1174
1140
|
tmp_variable3 = None
|
|
1175
1141
|
|
|
1176
1142
|
tmp_variable4 = provider.allocateTempVariable(
|
|
1177
|
-
temp_scope=temp_scope, name="value"
|
|
1143
|
+
temp_scope=temp_scope, name="value", temp_type="object"
|
|
1178
1144
|
)
|
|
1179
1145
|
|
|
1180
1146
|
statements = _buildInplaceAssignSliceNode(
|
|
@@ -1203,7 +1169,9 @@ def buildNamedExprNode(provider, node, source_ref):
|
|
|
1203
1169
|
provider=provider, name="assignment_expr", source_ref=source_ref
|
|
1204
1170
|
)
|
|
1205
1171
|
|
|
1206
|
-
tmp_value = outline_body.allocateTempVariable(
|
|
1172
|
+
tmp_value = outline_body.allocateTempVariable(
|
|
1173
|
+
temp_scope=None, name="value", temp_type="object"
|
|
1174
|
+
)
|
|
1207
1175
|
|
|
1208
1176
|
value = buildNode(provider=provider, node=node.value, source_ref=source_ref)
|
|
1209
1177
|
|
|
@@ -1241,15 +1209,48 @@ def buildNamedExprNode(provider, node, source_ref):
|
|
|
1241
1209
|
|
|
1242
1210
|
outline_body.setChildBody(
|
|
1243
1211
|
makeStatementsSequenceFromStatement(
|
|
1244
|
-
statement=
|
|
1212
|
+
statement=makeTryFinallyReleaseStatement(
|
|
1245
1213
|
provider=provider,
|
|
1246
1214
|
tried=statements,
|
|
1247
|
-
|
|
1248
|
-
variable=tmp_value, source_ref=source_ref
|
|
1249
|
-
),
|
|
1215
|
+
variables=(tmp_value,),
|
|
1250
1216
|
source_ref=source_ref,
|
|
1251
1217
|
)
|
|
1252
1218
|
)
|
|
1253
1219
|
)
|
|
1254
1220
|
|
|
1255
1221
|
return outline_body
|
|
1222
|
+
|
|
1223
|
+
|
|
1224
|
+
def buildTypeAliasNode(provider, node, source_ref):
|
|
1225
|
+
"""Python3.12 or higher, type alias statements."""
|
|
1226
|
+
|
|
1227
|
+
assert not node.type_params, node.type_params
|
|
1228
|
+
type_alias_node = ExpressionTypeAlias(
|
|
1229
|
+
type_params=buildNodeTuple(provider, node.type_params, source_ref),
|
|
1230
|
+
compute_value=buildNode(provider, node.value, source_ref),
|
|
1231
|
+
source_ref=source_ref,
|
|
1232
|
+
)
|
|
1233
|
+
|
|
1234
|
+
# TODO: A specialized assignment statement might be in order
|
|
1235
|
+
return StatementAssignmentVariableName(
|
|
1236
|
+
provider=provider,
|
|
1237
|
+
variable_name=mangleName(node.name.id, provider),
|
|
1238
|
+
source=type_alias_node,
|
|
1239
|
+
source_ref=source_ref,
|
|
1240
|
+
)
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1244
|
+
# integrates with CPython, but also works on its own.
|
|
1245
|
+
#
|
|
1246
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1247
|
+
# you may not use this file except in compliance with the License.
|
|
1248
|
+
# You may obtain a copy of the License at
|
|
1249
|
+
#
|
|
1250
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1251
|
+
#
|
|
1252
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1253
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1254
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1255
|
+
# See the License for the specific language governing permissions and
|
|
1256
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of boolean and/or expressions.
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -93,3 +79,19 @@ def makeAndNode(values, source_ref):
|
|
|
93
79
|
)
|
|
94
80
|
|
|
95
81
|
return result
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
85
|
+
# integrates with CPython, but also works on its own.
|
|
86
|
+
#
|
|
87
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
88
|
+
# you may not use this file except in compliance with the License.
|
|
89
|
+
# You may obtain a copy of the License at
|
|
90
|
+
#
|
|
91
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
92
|
+
#
|
|
93
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
94
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
95
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
96
|
+
# See the License for the specific language governing permissions and
|
|
97
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of call expressions.
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -107,7 +93,7 @@ def buildCallNode(provider, node, source_ref):
|
|
|
107
93
|
)
|
|
108
94
|
|
|
109
95
|
tmp_called = outline_body.allocateTempVariable(
|
|
110
|
-
temp_scope=None, name="called"
|
|
96
|
+
temp_scope=None, name="called", temp_type="object"
|
|
111
97
|
)
|
|
112
98
|
|
|
113
99
|
helper_args = [
|
|
@@ -310,3 +296,19 @@ def _makeCallNode(
|
|
|
310
296
|
)
|
|
311
297
|
|
|
312
298
|
return result
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
302
|
+
# integrates with CPython, but also works on its own.
|
|
303
|
+
#
|
|
304
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
305
|
+
# you may not use this file except in compliance with the License.
|
|
306
|
+
# You may obtain a copy of the License at
|
|
307
|
+
#
|
|
308
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
309
|
+
#
|
|
310
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
311
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
312
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
313
|
+
# See the License for the specific language governing permissions and
|
|
314
|
+
# limitations under the License.
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
# Copyright
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# integrates with CPython, but also works on its own.
|
|
5
|
-
#
|
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
# you may not use this file except in compliance with the License.
|
|
8
|
-
# You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
1
|
+
# Copyright 2024, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
|
+
|
|
3
|
+
|
|
18
4
|
""" Reformulation of Python2 class statements.
|
|
19
5
|
|
|
20
6
|
Consult the Developer Manual for information. TODO: Add ability to sync
|
|
@@ -25,7 +11,7 @@ source code comments with Developer Manual sections.
|
|
|
25
11
|
from nuitka.nodes.AttributeNodes import makeExpressionAttributeLookup
|
|
26
12
|
from nuitka.nodes.BuiltinRefNodes import ExpressionBuiltinAnonymousRef
|
|
27
13
|
from nuitka.nodes.CallNodes import makeExpressionCall
|
|
28
|
-
from nuitka.nodes.ClassNodes import
|
|
14
|
+
from nuitka.nodes.ClassNodes import ExpressionClassDictBody
|
|
29
15
|
from nuitka.nodes.CodeObjectSpecs import CodeObjectSpec
|
|
30
16
|
from nuitka.nodes.ConditionalNodes import ExpressionConditional
|
|
31
17
|
from nuitka.nodes.ConstantRefNodes import makeConstantRefNode
|
|
@@ -55,14 +41,14 @@ from nuitka.nodes.VariableNameNodes import (
|
|
|
55
41
|
StatementAssignmentVariableName,
|
|
56
42
|
)
|
|
57
43
|
from nuitka.nodes.VariableRefNodes import ExpressionTempVariableRef
|
|
58
|
-
from nuitka.
|
|
59
|
-
makeStatementReleaseVariable,
|
|
60
|
-
makeStatementsReleaseVariables,
|
|
61
|
-
)
|
|
44
|
+
from nuitka.plugins.Plugins import Plugins
|
|
62
45
|
from nuitka.PythonVersions import python_version
|
|
63
46
|
|
|
64
47
|
from .ReformulationClasses3 import buildClassNode3
|
|
65
|
-
from .ReformulationTryFinallyStatements import
|
|
48
|
+
from .ReformulationTryFinallyStatements import (
|
|
49
|
+
makeTryFinallyReleaseStatement,
|
|
50
|
+
makeTryFinallyStatement,
|
|
51
|
+
)
|
|
66
52
|
from .TreeHelpers import (
|
|
67
53
|
buildFrameNode,
|
|
68
54
|
buildNodeTuple,
|
|
@@ -77,9 +63,13 @@ from .TreeHelpers import (
|
|
|
77
63
|
def buildClassNode2(provider, node, source_ref):
|
|
78
64
|
# This function is the Python2 special case with special re-formulation as
|
|
79
65
|
# according to Developer Manual, and it's very detailed, pylint: disable=too-many-locals
|
|
66
|
+
|
|
67
|
+
# First, allow plugins to modify the code if they want to.
|
|
68
|
+
Plugins.onClassBodyParsing(provider=provider, class_name=node.name, node=node)
|
|
69
|
+
|
|
80
70
|
class_statement_nodes, class_doc = extractDocFromBody(node)
|
|
81
71
|
|
|
82
|
-
function_body =
|
|
72
|
+
function_body = ExpressionClassDictBody(
|
|
83
73
|
provider=provider, name=node.name, doc=class_doc, source_ref=source_ref
|
|
84
74
|
)
|
|
85
75
|
|
|
@@ -170,17 +160,23 @@ def buildClassNode2(provider, node, source_ref):
|
|
|
170
160
|
|
|
171
161
|
temp_scope = provider.allocateTempScope("class_creation")
|
|
172
162
|
|
|
173
|
-
tmp_bases = provider.allocateTempVariable(temp_scope, "bases")
|
|
174
|
-
tmp_class_dict = provider.allocateTempVariable(
|
|
175
|
-
|
|
176
|
-
|
|
163
|
+
tmp_bases = provider.allocateTempVariable(temp_scope, "bases", temp_type="object")
|
|
164
|
+
tmp_class_dict = provider.allocateTempVariable(
|
|
165
|
+
temp_scope, "class_dict", temp_type="object"
|
|
166
|
+
)
|
|
167
|
+
tmp_metaclass = provider.allocateTempVariable(
|
|
168
|
+
temp_scope, "metaclass", temp_type="object"
|
|
169
|
+
)
|
|
170
|
+
tmp_class = provider.allocateTempVariable(temp_scope, "class", temp_type="object")
|
|
177
171
|
|
|
178
172
|
select_metaclass = ExpressionOutlineBody(
|
|
179
173
|
provider=provider, name="select_metaclass", body=None, source_ref=source_ref
|
|
180
174
|
)
|
|
181
175
|
|
|
182
176
|
if node.bases:
|
|
183
|
-
tmp_base = select_metaclass.allocateTempVariable(
|
|
177
|
+
tmp_base = select_metaclass.allocateTempVariable(
|
|
178
|
+
temp_scope=None, name="base", temp_type="object"
|
|
179
|
+
)
|
|
184
180
|
|
|
185
181
|
statements = (
|
|
186
182
|
makeStatementAssignmentVariable(
|
|
@@ -194,7 +190,7 @@ def buildClassNode2(provider, node, source_ref):
|
|
|
194
190
|
),
|
|
195
191
|
source_ref=source_ref,
|
|
196
192
|
),
|
|
197
|
-
|
|
193
|
+
makeTryFinallyReleaseStatement(
|
|
198
194
|
provider,
|
|
199
195
|
tried=StatementTry(
|
|
200
196
|
tried=makeStatementsSequenceFromStatement(
|
|
@@ -225,11 +221,8 @@ def buildClassNode2(provider, node, source_ref):
|
|
|
225
221
|
return_handler=None,
|
|
226
222
|
source_ref=source_ref,
|
|
227
223
|
),
|
|
228
|
-
|
|
229
|
-
variable=tmp_base, source_ref=source_ref
|
|
230
|
-
),
|
|
224
|
+
variables=(tmp_base,),
|
|
231
225
|
source_ref=source_ref,
|
|
232
|
-
public_exc=False,
|
|
233
226
|
),
|
|
234
227
|
)
|
|
235
228
|
else:
|
|
@@ -373,13 +366,10 @@ def buildClassNode2(provider, node, source_ref):
|
|
|
373
366
|
)
|
|
374
367
|
)
|
|
375
368
|
|
|
376
|
-
return
|
|
369
|
+
return makeTryFinallyReleaseStatement(
|
|
377
370
|
provider=function_body,
|
|
378
371
|
tried=statements,
|
|
379
|
-
|
|
380
|
-
variables=(tmp_class, tmp_bases, tmp_class_dict, tmp_metaclass),
|
|
381
|
-
source_ref=source_ref,
|
|
382
|
-
),
|
|
372
|
+
variables=(tmp_class, tmp_bases, tmp_class_dict, tmp_metaclass),
|
|
383
373
|
source_ref=source_ref,
|
|
384
374
|
)
|
|
385
375
|
|
|
@@ -399,3 +389,19 @@ def buildClassNode(provider, node, source_ref):
|
|
|
399
389
|
return buildClassNode2(provider, node, source_ref)
|
|
400
390
|
else:
|
|
401
391
|
return buildClassNode3(provider, node, source_ref)
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
395
|
+
# integrates with CPython, but also works on its own.
|
|
396
|
+
#
|
|
397
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
398
|
+
# you may not use this file except in compliance with the License.
|
|
399
|
+
# You may obtain a copy of the License at
|
|
400
|
+
#
|
|
401
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
402
|
+
#
|
|
403
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
404
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
405
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
406
|
+
# See the License for the specific language governing permissions and
|
|
407
|
+
# limitations under the License.
|