Nuitka-winsvc 2.5.1__cp311-cp311-win_amd64.whl → 2.6__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-2.5.1.data → Nuitka_winsvc-2.6.data}/scripts/nuitka-run.cmd +1 -1
- {Nuitka_winsvc-2.5.1.data → Nuitka_winsvc-2.6.data}/scripts/nuitka.cmd +1 -1
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/METADATA +80 -122
- Nuitka_winsvc-2.6.dist-info/RECORD +988 -0
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/WHEEL +1 -1
- nuitka/Builtins.py +1 -1
- nuitka/BytecodeCaching.py +1 -1
- nuitka/Bytecodes.py +1 -1
- nuitka/CacheCleanup.py +1 -1
- nuitka/Constants.py +1 -1
- nuitka/Errors.py +1 -1
- nuitka/HardImportRegistry.py +1 -1
- nuitka/MainControl.py +93 -94
- nuitka/ModuleRegistry.py +1 -1
- nuitka/OptionParsing.py +90 -20
- nuitka/Options.py +160 -53
- nuitka/OutputDirectories.py +5 -3
- nuitka/PostProcessing.py +76 -27
- nuitka/Progress.py +1 -1
- nuitka/PythonFlavors.py +9 -3
- nuitka/PythonOperators.py +1 -1
- nuitka/PythonVersions.py +8 -4
- nuitka/Serialization.py +1 -1
- nuitka/SourceCodeReferences.py +1 -1
- nuitka/Tracing.py +2 -1
- nuitka/TreeXML.py +1 -1
- nuitka/Variables.py +1 -1
- nuitka/Version.py +2 -2
- nuitka/__init__.py +1 -1
- nuitka/__main__.py +4 -1
- nuitka/__past__.py +1 -1
- nuitka/build/Backend.scons +44 -66
- nuitka/build/CCompilerVersion.scons +2 -1
- nuitka/build/DataComposerInterface.py +2 -1
- nuitka/build/Offsets.scons +644 -0
- nuitka/build/Onefile.scons +5 -13
- nuitka/build/SconsCaching.py +9 -7
- nuitka/build/SconsCompilerSettings.py +54 -31
- nuitka/build/SconsHacks.py +3 -3
- nuitka/build/SconsInterface.py +86 -56
- nuitka/build/SconsProgress.py +12 -5
- nuitka/build/SconsSpawn.py +3 -3
- nuitka/build/SconsUtils.py +20 -1
- nuitka/build/__init__.py +1 -1
- nuitka/build/include/nuitka/allocator.h +3 -1
- nuitka/build/include/nuitka/builtins.h +1 -1
- nuitka/build/include/nuitka/calling.h +1 -1
- nuitka/build/include/nuitka/checkers.h +1 -1
- nuitka/build/include/nuitka/checksum_tools.h +1 -1
- nuitka/build/include/nuitka/compiled_asyncgen.h +4 -2
- nuitka/build/include/nuitka/compiled_cell.h +1 -1
- nuitka/build/include/nuitka/compiled_coroutine.h +3 -2
- nuitka/build/include/nuitka/compiled_frame.h +5 -12
- nuitka/build/include/nuitka/compiled_function.h +2 -3
- nuitka/build/include/nuitka/compiled_generator.h +3 -2
- nuitka/build/include/nuitka/compiled_method.h +1 -1
- nuitka/build/include/nuitka/constants.h +7 -1
- nuitka/build/include/nuitka/constants_blob.h +1 -1
- nuitka/build/include/nuitka/debug_settings.h +1 -1
- nuitka/build/include/nuitka/environment_variables.h +1 -1
- nuitka/build/include/nuitka/environment_variables_system.h +1 -1
- nuitka/build/include/nuitka/exception_groups.h +1 -1
- nuitka/build/include/nuitka/exceptions.h +1 -1
- nuitka/build/include/nuitka/filesystem_paths.h +4 -1
- nuitka/build/include/nuitka/freelists.h +2 -2
- nuitka/build/include/nuitka/helper/attributes.h +1 -1
- nuitka/build/include/nuitka/helper/boolean.h +1 -1
- nuitka/build/include/nuitka/helper/bytearrays.h +1 -1
- nuitka/build/include/nuitka/helper/bytes.h +1 -1
- nuitka/build/include/nuitka/helper/calling_generated.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_eq.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_ge.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_gt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_le.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_lt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_dual_ne.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_eq.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_ge.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_gt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_le.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_lt.h +1 -1
- nuitka/build/include/nuitka/helper/comparisons_ne.h +1 -1
- nuitka/build/include/nuitka/helper/complex.h +1 -1
- nuitka/build/include/nuitka/helper/dictionaries.h +11 -3
- nuitka/build/include/nuitka/helper/floats.h +1 -1
- nuitka/build/include/nuitka/helper/import_hard.h +1 -1
- nuitka/build/include/nuitka/helper/indexes.h +1 -1
- nuitka/build/include/nuitka/helper/ints.h +1 -1
- nuitka/build/include/nuitka/helper/iterators.h +1 -1
- nuitka/build/include/nuitka/helper/lists.h +1 -1
- nuitka/build/include/nuitka/helper/lists_generated.h +1 -1
- nuitka/build/include/nuitka/helper/mappings.h +1 -1
- nuitka/build/include/nuitka/helper/operations.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitand.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_bitxor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_divmod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_dual_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_floordiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_lshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_matmult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_mod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_mult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_olddiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_pow.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_rshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_sub.h +1 -1
- nuitka/build/include/nuitka/helper/operations_binary_truediv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_builtin_types.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_add.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitand.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_bitxor.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_floordiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_lshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_matmult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_mod.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_mult.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_olddiv.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_pow.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_rshift.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_sub.h +1 -1
- nuitka/build/include/nuitka/helper/operations_inplace_truediv.h +1 -1
- nuitka/build/include/nuitka/helper/raising.h +1 -1
- nuitka/build/include/nuitka/helper/rangeobjects.h +1 -1
- nuitka/build/include/nuitka/helper/richcomparisons.h +1 -1
- nuitka/build/include/nuitka/helper/sequences.h +1 -1
- nuitka/build/include/nuitka/helper/sets.h +1 -1
- nuitka/build/include/nuitka/helper/slices.h +1 -1
- nuitka/build/include/nuitka/helper/strings.h +1 -1
- nuitka/build/include/nuitka/helper/subscripts.h +1 -1
- nuitka/build/include/nuitka/helper/tuples.h +13 -1
- nuitka/build/include/nuitka/helpers.h +1 -43
- nuitka/build/include/nuitka/importing.h +1 -1
- nuitka/build/include/nuitka/jit_sources.h +1 -1
- nuitka/build/include/nuitka/prelude.h +11 -10
- nuitka/build/include/nuitka/printing.h +1 -1
- nuitka/build/include/nuitka/python_pgo.h +1 -1
- nuitka/build/include/nuitka/safe_string_ops.h +1 -1
- nuitka/build/include/nuitka/threading.h +1 -1
- nuitka/build/include/nuitka/tracing.h +1 -1
- nuitka/build/include/nuitka/type_aliases.h +1 -1
- nuitka/build/include/nuitka/unfreezing.h +1 -1
- nuitka/build/inline_copy/pefile/LICENSE.txt +21 -0
- nuitka/build/inline_copy/pefile/pefile.py +8034 -0
- nuitka/build/static_src/CompiledAsyncgenType.c +85 -71
- nuitka/build/static_src/CompiledCellType.c +2 -1
- nuitka/build/static_src/CompiledCodeHelpers.c +8 -26
- nuitka/build/static_src/CompiledCoroutineType.c +33 -35
- nuitka/build/static_src/CompiledFrameType.c +63 -5
- nuitka/build/static_src/CompiledFunctionType.c +11 -13
- nuitka/build/static_src/CompiledGeneratorType.c +64 -11
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +33 -24
- nuitka/build/static_src/CompiledMethodType.c +2 -1
- nuitka/build/static_src/GenerateHeadersMain.c +30 -0
- nuitka/build/static_src/HelpersAllocator.c +1 -1
- nuitka/build/static_src/HelpersAttributes.c +5 -2
- nuitka/build/static_src/HelpersBuiltin.c +2 -2
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +1 -1
- nuitka/build/static_src/HelpersBytes.c +1 -1
- nuitka/build/static_src/HelpersCalling.c +1 -1
- nuitka/build/static_src/HelpersCallingGenerated.c +6 -16
- nuitka/build/static_src/HelpersChecksumTools.c +1 -1
- nuitka/build/static_src/HelpersClasses.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualEq.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualGe.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualGt.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualLe.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualLt.c +1 -1
- nuitka/build/static_src/HelpersComparisonDualNe.c +1 -1
- nuitka/build/static_src/HelpersComparisonEq.c +1 -1
- nuitka/build/static_src/HelpersComparisonEqUtils.c +1 -1
- nuitka/build/static_src/HelpersComparisonGe.c +1 -1
- nuitka/build/static_src/HelpersComparisonGt.c +1 -1
- nuitka/build/static_src/HelpersComparisonLe.c +1 -1
- nuitka/build/static_src/HelpersComparisonLt.c +1 -1
- nuitka/build/static_src/HelpersComparisonNe.c +1 -1
- nuitka/build/static_src/HelpersConsole.c +1 -1
- nuitka/build/static_src/HelpersConstantsBlob.c +199 -50
- nuitka/build/static_src/HelpersDeepcopy.c +4 -1
- nuitka/build/static_src/HelpersDictionaries.c +15 -3
- nuitka/build/static_src/HelpersDictionariesGenerated.c +13 -2
- nuitka/build/static_src/HelpersDumpBacktraces.c +1 -1
- nuitka/build/static_src/HelpersEnvironmentVariables.c +1 -1
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +1 -1
- nuitka/build/static_src/HelpersExceptions.c +1 -1
- nuitka/build/static_src/HelpersFiles.c +18 -10
- nuitka/build/static_src/HelpersFilesystemPaths.c +36 -16
- nuitka/build/static_src/HelpersFloats.c +1 -1
- nuitka/build/static_src/HelpersHeapStorage.c +1 -1
- nuitka/build/static_src/HelpersImport.c +1 -1
- nuitka/build/static_src/HelpersImportHard.c +1 -1
- nuitka/build/static_src/HelpersJitSources.c +1 -1
- nuitka/build/static_src/HelpersLists.c +2 -1
- nuitka/build/static_src/HelpersListsGenerated.c +1 -1
- nuitka/build/static_src/HelpersMappings.c +1 -1
- nuitka/build/static_src/HelpersMatching.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryDualAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMod.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMult.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryPow.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +1 -1
- nuitka/build/static_src/HelpersOperationBinarySub.c +1 -1
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMod.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceMult.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +1 -1
- nuitka/build/static_src/HelpersOperationInplacePow.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceSub.c +1 -1
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +1 -1
- nuitka/build/static_src/HelpersProfiling.c +1 -1
- nuitka/build/static_src/HelpersPythonPgo.c +5 -2
- nuitka/build/static_src/HelpersRaising.c +1 -1
- nuitka/build/static_src/HelpersSafeStrings.c +1 -1
- nuitka/build/static_src/HelpersSequences.c +1 -1
- nuitka/build/static_src/HelpersSlices.c +1 -1
- nuitka/build/static_src/HelpersStrings.c +1 -1
- nuitka/build/static_src/HelpersTuples.c +2 -2
- nuitka/build/static_src/HelpersTypes.c +1 -1
- nuitka/build/static_src/InspectPatcher.c +2 -1
- nuitka/build/static_src/MainProgram.c +30 -9
- nuitka/build/static_src/MetaPathBasedLoader.c +2 -1
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +1 -1
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -4
- nuitka/build/static_src/OnefileBootstrap.c +3 -3
- nuitka/build/static_src/OnefileSplashScreen.cpp +1 -1
- nuitka/code_generation/AsyncgenCodes.py +5 -6
- nuitka/code_generation/AttributeCodes.py +1 -1
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +1 -1
- nuitka/code_generation/BranchCodes.py +1 -1
- nuitka/code_generation/BuiltinCodes.py +15 -5
- nuitka/code_generation/CallCodes.py +1 -1
- nuitka/code_generation/ClassCodes.py +1 -1
- nuitka/code_generation/CodeGeneration.py +23 -17
- nuitka/code_generation/CodeHelperSelection.py +1 -1
- nuitka/code_generation/CodeHelpers.py +1 -1
- nuitka/code_generation/CodeObjectCodes.py +19 -2
- nuitka/code_generation/ComparisonCodes.py +1 -1
- nuitka/code_generation/ComparisonHelperDefinitions.py +1 -1
- nuitka/code_generation/ConditionalCodes.py +1 -1
- nuitka/code_generation/ConstantCodes.py +1 -1
- nuitka/code_generation/Contexts.py +52 -39
- nuitka/code_generation/CoroutineCodes.py +4 -5
- nuitka/code_generation/CtypesCodes.py +1 -1
- nuitka/code_generation/DictCodes.py +1 -1
- nuitka/code_generation/Emission.py +1 -1
- nuitka/code_generation/ErrorCodes.py +1 -1
- nuitka/code_generation/EvalCodes.py +1 -1
- nuitka/code_generation/ExceptionCodes.py +1 -1
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +1 -1
- nuitka/code_generation/ExpressionCodes.py +1 -1
- nuitka/code_generation/FrameCodes.py +26 -17
- nuitka/code_generation/FunctionCodes.py +9 -15
- nuitka/code_generation/GeneratorCodes.py +9 -10
- nuitka/code_generation/GlobalConstants.py +6 -4
- nuitka/code_generation/GlobalsLocalsCodes.py +1 -1
- nuitka/code_generation/IdCodes.py +1 -1
- nuitka/code_generation/ImportCodes.py +1 -1
- nuitka/code_generation/Indentation.py +1 -1
- nuitka/code_generation/IndexCodes.py +1 -1
- nuitka/code_generation/InjectCCodes.py +1 -1
- nuitka/code_generation/IntegerCodes.py +1 -1
- nuitka/code_generation/IteratorCodes.py +1 -1
- nuitka/code_generation/JitCodes.py +1 -1
- nuitka/code_generation/LabelCodes.py +1 -1
- nuitka/code_generation/LineNumberCodes.py +1 -1
- nuitka/code_generation/ListCodes.py +1 -1
- nuitka/code_generation/LoaderCodes.py +1 -1
- nuitka/code_generation/LocalsDictCodes.py +1 -1
- nuitka/code_generation/LoopCodes.py +1 -1
- nuitka/code_generation/MatchCodes.py +1 -1
- nuitka/code_generation/ModuleCodes.py +31 -4
- nuitka/code_generation/Namify.py +4 -1
- nuitka/code_generation/NetworkxCodes.py +1 -1
- nuitka/code_generation/OperationCodes.py +1 -1
- nuitka/code_generation/PackageResourceCodes.py +4 -10
- nuitka/code_generation/PrintCodes.py +1 -1
- nuitka/code_generation/PythonAPICodes.py +1 -1
- nuitka/code_generation/RaisingCodes.py +1 -1
- nuitka/code_generation/Reports.py +1 -1
- nuitka/code_generation/ReturnCodes.py +1 -1
- nuitka/code_generation/SetCodes.py +1 -1
- nuitka/code_generation/SliceCodes.py +1 -1
- nuitka/code_generation/StringCodes.py +1 -1
- nuitka/code_generation/SubscriptCodes.py +1 -1
- nuitka/code_generation/TensorflowCodes.py +1 -1
- nuitka/code_generation/TryCodes.py +1 -1
- nuitka/code_generation/TupleCodes.py +1 -1
- nuitka/code_generation/TypeAliasCodes.py +1 -1
- nuitka/code_generation/VariableCodes.py +1 -1
- nuitka/code_generation/VariableDeclarations.py +1 -1
- nuitka/code_generation/YieldCodes.py +1 -1
- nuitka/code_generation/__init__.py +1 -1
- nuitka/code_generation/c_types/CTypeBases.py +1 -1
- nuitka/code_generation/c_types/CTypeBooleans.py +1 -1
- nuitka/code_generation/c_types/CTypeCFloats.py +1 -1
- nuitka/code_generation/c_types/CTypeCLongs.py +1 -1
- nuitka/code_generation/c_types/CTypeModuleDictVariables.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaBooleans.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaInts.py +1 -1
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +1 -1
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +1 -1
- nuitka/code_generation/c_types/CTypeVoids.py +1 -1
- nuitka/code_generation/c_types/__init__.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesConstants.py +2 -2
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesFrames.py +21 -25
- nuitka/code_generation/templates/CodeTemplatesFunction.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +3 -3
- nuitka/code_generation/templates/CodeTemplatesIterators.py +1 -1
- nuitka/code_generation/templates/CodeTemplatesLoader.py +26 -3
- nuitka/code_generation/templates/CodeTemplatesModules.py +21 -8
- nuitka/code_generation/templates/CodeTemplatesVariables.py +24 -21
- nuitka/code_generation/templates/TemplateDebugWrapper.py +1 -1
- nuitka/code_generation/templates/__init__.py +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +21 -1
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +1 -1
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +5 -2
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationBinaryDual.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonDual.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsBytes.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsCommon.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsFloat.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsInt.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsSet.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsStr.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +1 -1
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +1 -1
- nuitka/containers/Namedtuples.py +1 -1
- nuitka/containers/OrderedSetsFallback.py +1 -1
- nuitka/containers/__init__.py +1 -1
- nuitka/distutils/Build.py +1 -1
- nuitka/distutils/DistutilCommands.py +2 -2
- nuitka/distutils/__init__.py +1 -1
- nuitka/finalizations/Finalization.py +1 -1
- nuitka/finalizations/FinalizeMarkups.py +1 -1
- nuitka/finalizations/__init__.py +1 -1
- nuitka/freezer/DependsExe.py +2 -1
- nuitka/freezer/DllDependenciesCommon.py +1 -1
- nuitka/freezer/DllDependenciesMacOS.py +1 -1
- nuitka/freezer/DllDependenciesPosix.py +1 -1
- nuitka/freezer/DllDependenciesWin32.py +111 -25
- nuitka/freezer/ImportDetection.py +5 -2
- nuitka/freezer/IncludedDataFiles.py +11 -2
- nuitka/freezer/IncludedEntryPoints.py +1 -1
- nuitka/freezer/Onefile.py +14 -15
- nuitka/freezer/Standalone.py +6 -3
- nuitka/freezer/__init__.py +1 -1
- nuitka/importing/IgnoreListing.py +1 -1
- nuitka/importing/ImportCache.py +1 -1
- nuitka/importing/ImportResolving.py +1 -1
- nuitka/importing/Importing.py +4 -3
- nuitka/importing/PreloadedPackages.py +1 -1
- nuitka/importing/Recursion.py +37 -12
- nuitka/importing/StandardLibrary.py +1 -1
- nuitka/importing/__init__.py +1 -1
- nuitka/nodes/AsyncgenNodes.py +1 -1
- nuitka/nodes/AttributeLookupNodes.py +1 -1
- nuitka/nodes/AttributeNodes.py +1 -1
- nuitka/nodes/AttributeNodesGenerated.py +1 -1
- nuitka/nodes/BuiltinAllNodes.py +1 -1
- nuitka/nodes/BuiltinAnyNodes.py +1 -1
- nuitka/nodes/BuiltinComplexNodes.py +1 -1
- nuitka/nodes/BuiltinDecodingNodes.py +1 -1
- nuitka/nodes/BuiltinDecoratorNodes.py +1 -1
- nuitka/nodes/BuiltinDictNodes.py +1 -1
- nuitka/nodes/BuiltinFormatNodes.py +1 -1
- nuitka/nodes/BuiltinHashNodes.py +1 -1
- nuitka/nodes/BuiltinInputNodes.py +1 -1
- nuitka/nodes/BuiltinIntegerNodes.py +1 -1
- nuitka/nodes/BuiltinIteratorNodes.py +2 -2
- nuitka/nodes/BuiltinLenNodes.py +1 -1
- nuitka/nodes/BuiltinNextNodes.py +1 -1
- nuitka/nodes/BuiltinOpenNodes.py +1 -1
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +1 -1
- nuitka/nodes/BuiltinRangeNodes.py +1 -1
- nuitka/nodes/BuiltinRefNodes.py +1 -1
- nuitka/nodes/BuiltinSumNodes.py +1 -1
- nuitka/nodes/BuiltinTypeNodes.py +1 -1
- nuitka/nodes/BuiltinVarsNodes.py +1 -1
- nuitka/nodes/BytesNodes.py +1 -1
- nuitka/nodes/CallNodes.py +1 -1
- nuitka/nodes/Checkers.py +1 -1
- nuitka/nodes/ChildrenHavingMixins.py +227 -3
- nuitka/nodes/ClassNodes.py +1 -1
- nuitka/nodes/CodeObjectSpecs.py +4 -4
- nuitka/nodes/ComparisonNodes.py +1 -1
- nuitka/nodes/ConditionalNodes.py +1 -1
- nuitka/nodes/ConstantRefNodes.py +1 -1
- nuitka/nodes/ContainerMakingNodes.py +1 -1
- nuitka/nodes/ContainerOperationNodes.py +1 -1
- nuitka/nodes/CoroutineNodes.py +1 -1
- nuitka/nodes/CtypesNodes.py +1 -1
- nuitka/nodes/DictionaryNodes.py +2 -2
- nuitka/nodes/ExceptionNodes.py +1 -1
- nuitka/nodes/ExecEvalNodes.py +1 -1
- nuitka/nodes/ExpressionBases.py +1 -1
- nuitka/nodes/ExpressionBasesGenerated.py +1 -1
- nuitka/nodes/ExpressionShapeMixins.py +1 -1
- nuitka/nodes/FrameNodes.py +19 -7
- nuitka/nodes/FunctionAttributeNodes.py +1 -1
- nuitka/nodes/FunctionNodes.py +1 -1
- nuitka/nodes/FutureSpecs.py +34 -2
- nuitka/nodes/GeneratorNodes.py +1 -1
- nuitka/nodes/GlobalsLocalsNodes.py +1 -1
- nuitka/nodes/HardImportNodesGenerated.py +140 -56
- nuitka/nodes/ImportHardNodes.py +1 -1
- nuitka/nodes/ImportNodes.py +1 -1
- nuitka/nodes/IndicatorMixins.py +1 -1
- nuitka/nodes/InjectCNodes.py +1 -1
- nuitka/nodes/IterationHandles.py +1 -1
- nuitka/nodes/KeyValuePairNodes.py +1 -1
- nuitka/nodes/ListOperationNodes.py +1 -1
- nuitka/nodes/LocalsDictNodes.py +1 -1
- nuitka/nodes/LocalsScopes.py +1 -1
- nuitka/nodes/LoopNodes.py +1 -1
- nuitka/nodes/MatchNodes.py +1 -1
- nuitka/nodes/ModuleAttributeNodes.py +1 -1
- nuitka/nodes/ModuleNodes.py +2 -2
- nuitka/nodes/NetworkxNodes.py +1 -1
- nuitka/nodes/NodeBases.py +1 -1
- nuitka/nodes/NodeMakingHelpers.py +1 -1
- nuitka/nodes/NodeMetaClasses.py +1 -1
- nuitka/nodes/OperatorNodes.py +1 -1
- nuitka/nodes/OperatorNodesUnary.py +1 -1
- nuitka/nodes/OsSysNodes.py +1 -1
- nuitka/nodes/OutlineNodes.py +1 -1
- nuitka/nodes/PackageMetadataNodes.py +1 -1
- nuitka/nodes/PackageResourceNodes.py +42 -7
- nuitka/nodes/PrintNodes.py +1 -1
- nuitka/nodes/ReturnNodes.py +1 -1
- nuitka/nodes/SideEffectNodes.py +1 -1
- nuitka/nodes/SliceNodes.py +1 -1
- nuitka/nodes/StatementBasesGenerated.py +1 -1
- nuitka/nodes/StatementNodes.py +1 -1
- nuitka/nodes/StrNodes.py +1 -1
- nuitka/nodes/StringConcatenationNodes.py +1 -1
- nuitka/nodes/SubscriptNodes.py +1 -1
- nuitka/nodes/TensorflowNodes.py +1 -1
- nuitka/nodes/TryNodes.py +1 -1
- nuitka/nodes/TypeMatchNodes.py +1 -1
- nuitka/nodes/TypeNodes.py +1 -1
- nuitka/nodes/VariableAssignNodes.py +3 -2
- nuitka/nodes/VariableDelNodes.py +1 -1
- nuitka/nodes/VariableNameNodes.py +1 -1
- nuitka/nodes/VariableRefNodes.py +1 -1
- nuitka/nodes/VariableReleaseNodes.py +1 -1
- nuitka/nodes/YieldNodes.py +1 -1
- nuitka/nodes/__init__.py +1 -1
- nuitka/nodes/shapes/BuiltinTypeShapes.py +1 -1
- nuitka/nodes/shapes/ControlFlowDescriptions.py +1 -1
- nuitka/nodes/shapes/IteratorShapes.py +71 -0
- nuitka/nodes/shapes/ShapeMixins.py +4 -3
- nuitka/nodes/shapes/StandardShapes.py +2 -51
- nuitka/nodes/shapes/__init__.py +1 -1
- nuitka/optimizations/BytecodeDemotion.py +1 -1
- nuitka/optimizations/FunctionInlining.py +1 -1
- nuitka/optimizations/Graphs.py +1 -1
- nuitka/optimizations/Optimization.py +1 -1
- nuitka/optimizations/OptimizeBuiltinCalls.py +1 -1
- nuitka/optimizations/Tags.py +1 -1
- nuitka/optimizations/TraceCollections.py +1 -1
- nuitka/optimizations/ValueTraces.py +1 -1
- nuitka/optimizations/__init__.py +1 -1
- nuitka/pgo/PGO.py +1 -1
- nuitka/pgo/__init__.py +1 -1
- nuitka/plugins/PluginBase.py +24 -3
- nuitka/plugins/Plugins.py +67 -14
- nuitka/plugins/YamlPluginBase.py +1 -1
- nuitka/plugins/__init__.py +1 -1
- nuitka/plugins/standard/AntiBloatPlugin.py +2 -1
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +2 -1
- nuitka/plugins/standard/DataFilesPlugin.py +2 -2
- nuitka/plugins/standard/DelvewheelPlugin.py +2 -1
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +1 -1
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +1 -1
- nuitka/plugins/standard/DillPlugin.py +2 -2
- nuitka/plugins/standard/DllFilesPlugin.py +80 -14
- nuitka/plugins/standard/EnumPlugin.py +2 -2
- nuitka/plugins/standard/EventletPlugin.py +2 -1
- nuitka/plugins/standard/GeventPlugin.py +2 -1
- nuitka/plugins/standard/GiPlugin.py +2 -1
- nuitka/plugins/standard/GlfwPlugin.py +2 -1
- nuitka/plugins/standard/ImplicitImports.py +8 -6
- nuitka/plugins/standard/KivyPlugin.py +2 -1
- nuitka/plugins/standard/MatplotlibPlugin.py +3 -2
- nuitka/plugins/standard/MultiprocessingPlugin.py +2 -1
- nuitka/plugins/standard/NumpyPlugin.py +2 -1
- nuitka/plugins/standard/OptionsNannyPlugin.py +7 -6
- nuitka/plugins/standard/PbrPlugin.py +2 -2
- nuitka/plugins/standard/PkgResourcesPlugin.py +2 -1
- nuitka/plugins/standard/PlaywrightPlugin.py +10 -15
- nuitka/plugins/standard/PmwPlugin.py +2 -1
- nuitka/plugins/standard/PySidePyQtPlugin.py +12 -15
- nuitka/plugins/standard/PywebViewPlugin.py +2 -1
- nuitka/plugins/standard/SpacyPlugin.py +2 -1
- nuitka/plugins/standard/TensorflowPlugin.py +2 -1
- nuitka/plugins/standard/TkinterPlugin.py +38 -5
- nuitka/plugins/standard/TorchPlugin.py +2 -1
- nuitka/plugins/standard/TransformersPlugin.py +2 -2
- nuitka/plugins/standard/TrioPlugin.py +2 -1
- nuitka/plugins/standard/UpxPlugin.py +2 -1
- nuitka/plugins/standard/__init__.py +1 -1
- nuitka/plugins/standard/standard.nuitka-package.config.yml +173 -49
- nuitka/reports/CompilationReportReader.py +5 -1
- nuitka/reports/LicenseReport.rst.j2 +1 -1
- nuitka/reports/Reports.py +5 -1
- nuitka/reports/__init__.py +1 -1
- nuitka/specs/BuiltinBytesOperationSpecs.py +1 -1
- nuitka/specs/BuiltinDictOperationSpecs.py +1 -1
- nuitka/specs/BuiltinListOperationSpecs.py +1 -1
- nuitka/specs/BuiltinParameterSpecs.py +1 -1
- nuitka/specs/BuiltinStrOperationSpecs.py +1 -1
- nuitka/specs/BuiltinTypeOperationSpecs.py +1 -1
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +1 -1
- nuitka/specs/HardImportSpecs.py +10 -2
- nuitka/specs/ParameterSpecs.py +17 -2
- nuitka/specs/__init__.py +1 -1
- nuitka/tools/Basics.py +1 -1
- nuitka/tools/__init__.py +1 -1
- nuitka/tools/commercial/__init__.py +1 -1
- nuitka/tools/data_composer/DataComposer.py +125 -1
- nuitka/tools/data_composer/__init__.py +1 -1
- nuitka/tools/data_composer/__main__.py +1 -1
- nuitka/tools/environments/CreateEnvironment.py +1 -1
- nuitka/tools/environments/Virtualenv.py +14 -6
- nuitka/tools/environments/__init__.py +1 -1
- nuitka/tools/general/__init__.py +1 -1
- nuitka/tools/general/dll_report/__init__.py +1 -1
- nuitka/tools/general/dll_report/__main__.py +1 -1
- nuitka/tools/general/find_module/FindModuleCode.py +2 -2
- nuitka/tools/general/find_module/__init__.py +1 -1
- nuitka/tools/general/generate_header/GenerateHeader.py +73 -0
- nuitka/tools/general/generate_header/__init__.py +19 -0
- nuitka/tools/onefile_compressor/OnefileCompressor.py +1 -1
- nuitka/tools/onefile_compressor/__init__.py +1 -1
- nuitka/tools/onefile_compressor/__main__.py +1 -1
- nuitka/tools/podman/Podman.py +1 -1
- nuitka/tools/podman/__init__.py +1 -1
- nuitka/tools/podman/__main__.py +8 -4
- nuitka/tools/profiler/__init__.py +1 -1
- nuitka/tools/profiler/__main__.py +1 -1
- nuitka/tools/scanning/DisplayPackageDLLs.py +43 -20
- nuitka/tools/scanning/DisplayPackageData.py +1 -1
- nuitka/tools/scanning/__init__.py +1 -1
- nuitka/tools/specialize/CTypeDescriptions.py +1 -1
- nuitka/tools/specialize/Common.py +1 -1
- nuitka/tools/specialize/SpecializeC.py +1 -1
- nuitka/tools/specialize/SpecializePython.py +7 -3
- nuitka/tools/specialize/__init__.py +1 -1
- nuitka/tools/testing/Common.py +140 -19
- nuitka/tools/testing/Constructs.py +1 -1
- nuitka/tools/testing/OutputComparison.py +5 -4
- nuitka/tools/testing/Pythons.py +1 -1
- nuitka/tools/testing/RuntimeTracing.py +1 -1
- nuitka/tools/testing/SearchModes.py +1 -1
- nuitka/tools/testing/Valgrind.py +1 -1
- nuitka/tools/testing/__init__.py +1 -1
- nuitka/tools/testing/check_reference_counts/__init__.py +1 -1
- nuitka/tools/testing/check_reference_counts/__main__.py +6 -2
- nuitka/tools/testing/compare_with_cpython/__init__.py +1 -1
- nuitka/tools/testing/compare_with_cpython/__main__.py +51 -14
- nuitka/tools/testing/find_sxs_modules/__init__.py +1 -1
- nuitka/tools/testing/find_sxs_modules/__main__.py +1 -1
- nuitka/tools/testing/measure_construct_performance/__init__.py +1 -1
- nuitka/tools/testing/measure_construct_performance/__main__.py +1 -1
- nuitka/tools/testing/run_nuitka_tests/__init__.py +1 -1
- nuitka/tools/testing/run_nuitka_tests/__main__.py +1 -1
- nuitka/tools/watch/AutoStage.py +1 -1
- nuitka/tools/watch/Common.py +55 -0
- nuitka/tools/watch/Conda.py +125 -0
- nuitka/tools/watch/GitHub.py +1 -1
- nuitka/tools/watch/Pacman.py +73 -0
- nuitka/tools/watch/Pipenv.py +143 -0
- nuitka/tools/watch/__init__.py +1 -1
- nuitka/tools/watch/__main__.py +117 -264
- nuitka/tree/Building.py +1 -1
- nuitka/tree/ComplexCallHelperFunctions.py +1 -1
- nuitka/tree/Extractions.py +1 -1
- nuitka/tree/InternalModule.py +1 -1
- nuitka/tree/Operations.py +1 -1
- nuitka/tree/ReformulationAssertStatements.py +1 -1
- nuitka/tree/ReformulationAssignmentStatements.py +1 -1
- nuitka/tree/ReformulationBooleanExpressions.py +1 -1
- nuitka/tree/ReformulationCallExpressions.py +1 -1
- nuitka/tree/ReformulationClasses.py +1 -1
- nuitka/tree/ReformulationClasses3.py +1 -1
- nuitka/tree/ReformulationComparisonExpressions.py +1 -1
- nuitka/tree/ReformulationContractionExpressions.py +3 -1
- nuitka/tree/ReformulationDictionaryCreation.py +1 -1
- nuitka/tree/ReformulationExecStatements.py +1 -1
- nuitka/tree/ReformulationForLoopStatements.py +1 -1
- nuitka/tree/ReformulationFunctionStatements.py +1 -1
- nuitka/tree/ReformulationImportStatements.py +1 -1
- nuitka/tree/ReformulationLambdaExpressions.py +2 -1
- nuitka/tree/ReformulationMatchStatements.py +1 -1
- nuitka/tree/ReformulationMultidist.py +1 -1
- nuitka/tree/ReformulationNamespacePackages.py +1 -1
- nuitka/tree/ReformulationPrintStatements.py +1 -1
- nuitka/tree/ReformulationSequenceCreation.py +1 -1
- nuitka/tree/ReformulationSubscriptExpressions.py +1 -1
- nuitka/tree/ReformulationTryExceptStatements.py +1 -1
- nuitka/tree/ReformulationTryFinallyStatements.py +1 -1
- nuitka/tree/ReformulationWhileLoopStatements.py +1 -1
- nuitka/tree/ReformulationWithStatements.py +1 -1
- nuitka/tree/ReformulationYieldExpressions.py +1 -1
- nuitka/tree/SourceHandling.py +1 -1
- nuitka/tree/SyntaxErrors.py +1 -1
- nuitka/tree/TreeHelpers.py +24 -10
- nuitka/tree/VariableClosure.py +1 -1
- nuitka/tree/__init__.py +1 -1
- nuitka/utils/AppDirs.py +5 -2
- nuitka/utils/CStrings.py +1 -1
- nuitka/utils/CommandLineOptions.py +2 -2
- nuitka/utils/Distributions.py +177 -15
- nuitka/utils/Download.py +14 -6
- nuitka/utils/Execution.py +43 -14
- nuitka/utils/FileOperations.py +29 -5
- nuitka/utils/Hashing.py +6 -2
- nuitka/utils/Images.py +8 -2
- nuitka/utils/Importing.py +1 -1
- nuitka/utils/InlineCopies.py +1 -1
- nuitka/utils/InstalledPythons.py +1 -1
- nuitka/utils/InstanceCounters.py +1 -1
- nuitka/utils/Jinja2.py +1 -1
- nuitka/utils/Json.py +2 -2
- nuitka/utils/MacOSApp.py +4 -3
- nuitka/utils/MemoryUsage.py +1 -1
- nuitka/utils/ModuleNames.py +1 -1
- nuitka/utils/PackageResources.py +1 -1
- nuitka/utils/ReExecute.py +1 -1
- nuitka/utils/Rest.py +1 -1
- nuitka/utils/SharedLibraries.py +76 -7
- nuitka/utils/Shebang.py +1 -1
- nuitka/utils/Signing.py +11 -5
- nuitka/utils/SlotMetaClasses.py +1 -1
- nuitka/utils/StaticLibraries.py +25 -1
- nuitka/utils/ThreadedExecutor.py +1 -1
- nuitka/utils/Timing.py +1 -1
- nuitka/utils/Utils.py +1 -1
- nuitka/utils/WindowsFileUsage.py +1 -1
- nuitka/utils/WindowsResources.py +3 -1
- nuitka/utils/Yaml.py +1 -1
- nuitka/utils/__init__.py +1 -1
- Nuitka_winsvc-2.5.1.dist-info/RECORD +0 -977
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.5.1.dist-info → Nuitka_winsvc-2.6.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" CType classes for C void, this cannot represent unassigned, nor indicate exception.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Templates for the constants handling.
|
|
@@ -8,7 +8,7 @@ spell-checker: ignore structseq
|
|
|
8
8
|
|
|
9
9
|
template_constants_reading = r"""
|
|
10
10
|
#include "nuitka/prelude.h"
|
|
11
|
-
#include
|
|
11
|
+
#include <structseq.h>
|
|
12
12
|
|
|
13
13
|
#include "build_definitions.h"
|
|
14
14
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Code templates for frames of all kinds.
|
|
5
5
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
# This uses STORE_ASYNCGEN_EXCEPTION
|
|
8
|
+
# This uses STORE_GENERATOR_EXCEPTION,STORE_COROUTINE_EXCEPTION,STORE_ASYNCGEN_EXCEPTION
|
|
9
9
|
|
|
10
10
|
template_frame_guard_normal_main_block = """\
|
|
11
11
|
{% if frame_cache_identifier %}
|
|
@@ -176,47 +176,43 @@ goto %(return_exit)s;
|
|
|
176
176
|
|
|
177
177
|
|
|
178
178
|
template_frame_guard_generator_exception_handler = """\
|
|
179
|
-
|
|
179
|
+
{{frame_exception_exit}}:;
|
|
180
180
|
|
|
181
181
|
// If it's not an exit exception, consider and create a traceback for it.
|
|
182
|
-
if (!EXCEPTION_STATE_MATCH_GENERATOR(tstate,
|
|
183
|
-
PyTracebackObject *exception_tb = GET_EXCEPTION_STATE_TRACEBACK(
|
|
182
|
+
if (!EXCEPTION_STATE_MATCH_GENERATOR(tstate, &{{exception_state_name}})) {
|
|
183
|
+
PyTracebackObject *exception_tb = GET_EXCEPTION_STATE_TRACEBACK(&{{exception_state_name}});
|
|
184
184
|
if (exception_tb == NULL) {
|
|
185
|
-
exception_tb =
|
|
186
|
-
SET_EXCEPTION_STATE_TRACEBACK(
|
|
187
|
-
} else if ((
|
|
188
|
-
exception_tb = ADD_TRACEBACK(exception_tb,
|
|
189
|
-
SET_EXCEPTION_STATE_TRACEBACK(
|
|
185
|
+
exception_tb = {{tb_making}};
|
|
186
|
+
SET_EXCEPTION_STATE_TRACEBACK(&{{exception_state_name}}, exception_tb);
|
|
187
|
+
} else if (({{exception_lineno}} != 0) && (exception_tb->tb_frame != &{{frame_identifier}}->m_frame)) {
|
|
188
|
+
exception_tb = ADD_TRACEBACK(exception_tb, {{frame_identifier}}, {{exception_lineno}});
|
|
189
|
+
SET_EXCEPTION_STATE_TRACEBACK(&{{exception_state_name}}, exception_tb);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
{{attach_locals}}
|
|
193
193
|
|
|
194
194
|
// Release cached frame if used for exception.
|
|
195
|
-
if (
|
|
195
|
+
if ({{frame_identifier}} == {{frame_cache_identifier}}) {
|
|
196
196
|
#if _DEBUG_REFCOUNTS
|
|
197
197
|
count_active_frame_cache_instances -= 1;
|
|
198
198
|
count_released_frame_cache_instances += 1;
|
|
199
199
|
#endif
|
|
200
200
|
|
|
201
|
-
Py_DECREF(
|
|
202
|
-
|
|
201
|
+
Py_DECREF({{frame_cache_identifier}});
|
|
202
|
+
{{frame_cache_identifier}} = NULL;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
assertFrameObject(
|
|
205
|
+
assertFrameObject({{frame_identifier}});
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
#if PYTHON_VERSION < 0x3b0
|
|
214
|
-
Py_CLEAR(EXC_TRACEBACK_F(%(context_identifier)s));
|
|
215
|
-
#endif
|
|
216
|
-
#endif
|
|
208
|
+
{% if is_python3 %}
|
|
209
|
+
// Release exception attached to the frame
|
|
210
|
+
DROP_{{context_identifier.upper()}}_EXCEPTION({{context_identifier}});
|
|
211
|
+
|
|
212
|
+
{% endif %}
|
|
217
213
|
|
|
218
214
|
// Return the error.
|
|
219
|
-
goto
|
|
215
|
+
goto {{parent_exception_exit}};
|
|
220
216
|
"""
|
|
221
217
|
|
|
222
218
|
from . import TemplateDebugWrapper # isort:skip
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Generator function (with yield) related templates.
|
|
5
5
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
template_generator_context_maker_decl = """\
|
|
9
9
|
static PyObject *%(generator_maker_identifier)s(%(generator_creation_args)s);
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
template_generator_context_body_template = """
|
|
13
13
|
#if %(has_heap_declaration)s
|
|
14
14
|
struct %(function_identifier)s_locals {
|
|
15
15
|
%(function_local_types)s
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Templates for the loading of embedded modules.
|
|
@@ -30,7 +30,7 @@ template_metapath_loader_bytecode_module_entry = """\
|
|
|
30
30
|
template_metapath_loader_body = r"""
|
|
31
31
|
/* Code to register embedded modules for meta path based loading if any. */
|
|
32
32
|
|
|
33
|
-
#include
|
|
33
|
+
#include "nuitka/prelude.h"
|
|
34
34
|
|
|
35
35
|
/* Use a hex version of our own to compare for versions. We do not care about pre-releases */
|
|
36
36
|
#if PY_MICRO_VERSION < 16
|
|
@@ -46,7 +46,7 @@ template_metapath_loader_body = r"""
|
|
|
46
46
|
|
|
47
47
|
/* Type bool */
|
|
48
48
|
#ifndef __cplusplus
|
|
49
|
-
#include
|
|
49
|
+
#include <stdbool.h>
|
|
50
50
|
#endif
|
|
51
51
|
|
|
52
52
|
#if %(bytecode_count)d > 0
|
|
@@ -135,6 +135,29 @@ void copyFrozenModulesTo(struct _frozen *destination) {
|
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
#ifdef _NUITKA_MODULE
|
|
139
|
+
|
|
140
|
+
struct Nuitka_MetaPathBasedLoaderEntry const *getLoaderEntry(char const *name) {
|
|
141
|
+
struct Nuitka_MetaPathBasedLoaderEntry *current = meta_path_loader_entries;
|
|
142
|
+
|
|
143
|
+
while (current->name != NULL) {
|
|
144
|
+
if ((current->flags & NUITKA_TRANSLATED_FLAG) != 0) {
|
|
145
|
+
current->name = UN_TRANSLATE(current->name);
|
|
146
|
+
current->flags -= NUITKA_TRANSLATED_FLAG;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (strcmp(name, current->name) == 0) {
|
|
150
|
+
return current;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
current++;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
assert(false);
|
|
157
|
+
return NULL;
|
|
158
|
+
}
|
|
159
|
+
#endif
|
|
160
|
+
|
|
138
161
|
"""
|
|
139
162
|
|
|
140
163
|
from . import TemplateDebugWrapper # isort:skip
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Main module code templates
|
|
@@ -120,12 +120,14 @@ NUITKA_MAY_BE_UNUSED static uint32_t _Nuitka_PyDictKeys_GetVersionForCurrentStat
|
|
|
120
120
|
// Accessors to module variables.
|
|
121
121
|
%(module_variable_accessors)s
|
|
122
122
|
|
|
123
|
+
#if !defined(_NUITKA_EXPERIMENTAL_NEW_CODE_OBJECTS)
|
|
123
124
|
// The module code objects.
|
|
124
125
|
%(module_code_objects_decl)s
|
|
125
126
|
|
|
126
127
|
static void createModuleCodeObjects(void) {
|
|
127
128
|
%(module_code_objects_init)s
|
|
128
129
|
}
|
|
130
|
+
#endif
|
|
129
131
|
|
|
130
132
|
// The module function declarations.
|
|
131
133
|
%(module_functions_decl)s
|
|
@@ -340,7 +342,10 @@ PyObject *modulecode_%(module_identifier)s(PyThreadState *tstate, PyObject *modu
|
|
|
340
342
|
PRINT_STRING("%(module_identifier)s: Calling setupMetaPathBasedLoader().\n");
|
|
341
343
|
#endif
|
|
342
344
|
setupMetaPathBasedLoader(tstate);
|
|
343
|
-
#if
|
|
345
|
+
#if %(module_def_size)s >= 0
|
|
346
|
+
#ifdef _NUITKA_TRACE
|
|
347
|
+
PRINT_STRING("%(module_identifier)s: Calling updateMetaPathBasedLoaderModuleRoot().\n");
|
|
348
|
+
#endif
|
|
344
349
|
updateMetaPathBasedLoaderModuleRoot(module_full_name);
|
|
345
350
|
#endif
|
|
346
351
|
|
|
@@ -355,8 +360,9 @@ PyObject *modulecode_%(module_identifier)s(PyThreadState *tstate, PyObject *modu
|
|
|
355
360
|
NUITKA_PRINT_TRACE("%(module_identifier)s: Calling createModuleConstants().\n");
|
|
356
361
|
createModuleConstants(tstate);
|
|
357
362
|
|
|
363
|
+
#if !defined(_NUITKA_EXPERIMENTAL_NEW_CODE_OBJECTS)
|
|
358
364
|
createModuleCodeObjects();
|
|
359
|
-
|
|
365
|
+
#endif
|
|
360
366
|
init_done = true;
|
|
361
367
|
}
|
|
362
368
|
|
|
@@ -453,7 +459,8 @@ PyObject *modulecode_%(module_identifier)s(PyThreadState *tstate, PyObject *modu
|
|
|
453
459
|
UPDATE_STRING_DICT0(moduledict_%(module_identifier)s, (Nuitka_StringObject *)const_str_plain___builtins__, value);
|
|
454
460
|
}
|
|
455
461
|
|
|
456
|
-
|
|
462
|
+
PyObject *module_loader = Nuitka_Loader_New(loader_entry);
|
|
463
|
+
UPDATE_STRING_DICT0(moduledict_%(module_identifier)s, (Nuitka_StringObject *)const_str_plain___loader__, module_loader);
|
|
457
464
|
|
|
458
465
|
#if PYTHON_VERSION >= 0x300
|
|
459
466
|
// Set the "__spec__" value
|
|
@@ -481,9 +488,14 @@ PyObject *modulecode_%(module_identifier)s(PyThreadState *tstate, PyObject *modu
|
|
|
481
488
|
abort();
|
|
482
489
|
}
|
|
483
490
|
|
|
484
|
-
// Mark the execution in the "__spec__" value.
|
|
491
|
+
// Mark the execution in the "__spec__" value.
|
|
485
492
|
SET_ATTRIBUTE(tstate, spec_value, const_str_plain__initializing, Py_True);
|
|
486
493
|
|
|
494
|
+
#if defined(_NUITKA_MODULE) && %(is_top)d && %(module_def_size)s >= 0
|
|
495
|
+
// Set our loader object in the "__spec__" value.
|
|
496
|
+
SET_ATTRIBUTE(tstate, spec_value, const_str_plain_loader, module_loader);
|
|
497
|
+
#endif
|
|
498
|
+
|
|
487
499
|
UPDATE_STRING_DICT1(moduledict_%(module_identifier)s, (Nuitka_StringObject *)const_str_plain___spec__, spec_value);
|
|
488
500
|
}
|
|
489
501
|
#endif
|
|
@@ -606,11 +618,12 @@ static void onModuleFileValueRelease(void *v) {
|
|
|
606
618
|
* library export.
|
|
607
619
|
*/
|
|
608
620
|
|
|
621
|
+
extern struct Nuitka_MetaPathBasedLoaderEntry const *getLoaderEntry(char const *name);
|
|
609
622
|
|
|
610
623
|
static PyObject *%(module_dll_entry_point)s_phase2(PyObject *module) {
|
|
611
624
|
PyThreadState *tstate = PyThreadState_GET();
|
|
612
625
|
|
|
613
|
-
PyObject *result = modulecode_%(module_identifier)s(tstate, module,
|
|
626
|
+
PyObject *result = modulecode_%(module_identifier)s(tstate, module, getLoaderEntry(%(module_name_cstr)s));
|
|
614
627
|
|
|
615
628
|
#if PYTHON_VERSION < 0x300
|
|
616
629
|
// Our "__file__" value will not be respected by CPython and one
|
|
@@ -646,7 +659,7 @@ static PyObject *%(module_dll_entry_point)s_phase2(PyObject *module) {
|
|
|
646
659
|
static int %(module_dll_entry_point)s_slot(PyObject *module) {
|
|
647
660
|
PyObject *result = %(module_dll_entry_point)s_phase2(module);
|
|
648
661
|
|
|
649
|
-
if (result == NULL) {
|
|
662
|
+
if (unlikely(result == NULL)) {
|
|
650
663
|
return 1;
|
|
651
664
|
} else {
|
|
652
665
|
return 0;
|
|
@@ -691,7 +704,7 @@ NUITKA_MODULE_INIT_FUNCTION (%(module_dll_entry_point)s)(void) {
|
|
|
691
704
|
|
|
692
705
|
#if %(module_def_size)s >= 0
|
|
693
706
|
static PyModuleDef_Slot _module_slots[] = {
|
|
694
|
-
{Py_mod_exec, %(module_dll_entry_point)s_slot},
|
|
707
|
+
{Py_mod_exec, (void *)%(module_dll_entry_point)s_slot},
|
|
695
708
|
{0, NULL}
|
|
696
709
|
};
|
|
697
710
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
""" Templates for the variable handling.
|
|
@@ -313,41 +313,44 @@ static PyObject *%(accessor_function_name)s(PyThreadState *tstate) {
|
|
|
313
313
|
static Py_ssize_t cache_dk_index = 0;
|
|
314
314
|
|
|
315
315
|
PyDictKeysObject *dk = moduledict_%(module_identifier)s->ma_keys;
|
|
316
|
-
|
|
316
|
+
if (likely(DK_IS_UNICODE(dk))) {
|
|
317
317
|
|
|
318
318
|
#if PYTHON_VERSION >= 0x3c0
|
|
319
|
-
|
|
319
|
+
uint32_t current_dk_version = _Nuitka_PyDictKeys_GetVersionForCurrentState(tstate->interp, dk);
|
|
320
320
|
#else
|
|
321
|
-
|
|
321
|
+
uint32_t current_dk_version = _Nuitka_PyDictKeys_GetVersionForCurrentState(dk);
|
|
322
322
|
#endif
|
|
323
323
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
324
|
+
if (current_dk_version != dict_keys_version) {
|
|
325
|
+
dict_keys_version = current_dk_version;
|
|
326
|
+
Py_hash_t hash = ((Nuitka_StringObject *)%(var_name)s)->_base._base.hash;
|
|
327
|
+
assert(hash != -1);
|
|
328
328
|
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
cache_dk_index = Nuitka_Py_unicodekeys_lookup_unicode(dk, %(var_name)s, hash);
|
|
330
|
+
}
|
|
331
331
|
|
|
332
|
-
|
|
333
|
-
|
|
332
|
+
if (cache_dk_index >= 0) {
|
|
333
|
+
assert(dk->dk_kind != DICT_KEYS_SPLIT);
|
|
334
334
|
|
|
335
|
-
|
|
335
|
+
PyDictUnicodeEntry *entries = DK_UNICODE_ENTRIES(dk);
|
|
336
336
|
|
|
337
|
-
|
|
337
|
+
result = entries[cache_dk_index].me_value;
|
|
338
338
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
339
|
+
if (unlikely(result == NULL)) {
|
|
340
|
+
Py_hash_t hash = ((Nuitka_StringObject *)%(var_name)s)->_base._base.hash;
|
|
341
|
+
assert(hash != -1);
|
|
342
342
|
|
|
343
|
-
|
|
343
|
+
cache_dk_index = Nuitka_Py_unicodekeys_lookup_unicode(dk, %(var_name)s, hash);
|
|
344
344
|
|
|
345
|
-
|
|
346
|
-
|
|
345
|
+
if (cache_dk_index >= 0) {
|
|
346
|
+
result = entries[cache_dk_index].me_value;
|
|
347
|
+
}
|
|
347
348
|
}
|
|
349
|
+
} else {
|
|
350
|
+
result = NULL;
|
|
348
351
|
}
|
|
349
352
|
} else {
|
|
350
|
-
result =
|
|
353
|
+
result = GET_STRING_DICT_VALUE(moduledict_%(module_identifier)s, (Nuitka_StringObject *)%(var_name)s);
|
|
351
354
|
}
|
|
352
355
|
#endif
|
|
353
356
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperObjectTools.c.j2' import CHECK_OBJECTS %}
|
|
4
4
|
{% macro call_function_with_args(called, args, args_count) %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperObjectTools.c.j2' import CHECK_OBJECTS %}
|
|
4
4
|
{% if not has_dict_values %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperObjectTools.c.j2' import CHECK_OBJECTS %}
|
|
4
4
|
{% if args_count == 0 %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperObjectTools.c.j2' import CHECK_OBJECTS %}
|
|
4
4
|
{% if args_count == 1 %}
|
|
@@ -69,6 +69,13 @@ PyObject *CALL_METHODDESCR_WITH_ARGS{{args_count}}(PyThreadState *tstate, PyObje
|
|
|
69
69
|
PyObject *result;
|
|
70
70
|
|
|
71
71
|
#if PYTHON_VERSION < 0x360
|
|
72
|
+
{% if args_count == 1 %}
|
|
73
|
+
if (flags & METH_KEYWORDS) {
|
|
74
|
+
result = (*(PyCFunctionWithKeywords)method)(self, const_tuple_empty, NULL);
|
|
75
|
+
} else {
|
|
76
|
+
result = (*method)(self, const_tuple_empty);
|
|
77
|
+
}
|
|
78
|
+
{% else %}
|
|
72
79
|
PyObject *pos_args = MAKE_TUPLE(tstate, args+1, {{args_count-1}});
|
|
73
80
|
|
|
74
81
|
if (flags & METH_KEYWORDS) {
|
|
@@ -78,23 +85,36 @@ PyObject *CALL_METHODDESCR_WITH_ARGS{{args_count}}(PyThreadState *tstate, PyObje
|
|
|
78
85
|
}
|
|
79
86
|
|
|
80
87
|
Py_DECREF(pos_args);
|
|
88
|
+
{% endif %}
|
|
81
89
|
#else
|
|
82
90
|
if (flags == (METH_VARARGS|METH_KEYWORDS)) {
|
|
91
|
+
{% if args_count == 1 %}
|
|
92
|
+
result = (*(PyCFunctionWithKeywords)method)(self, const_tuple_empty, NULL);
|
|
93
|
+
{% else %}
|
|
83
94
|
PyObject *pos_args = MAKE_TUPLE(tstate, args+1, {{args_count-1}});
|
|
84
95
|
result = (*(PyCFunctionWithKeywords)method)(self, pos_args, NULL);
|
|
85
96
|
Py_DECREF(pos_args);
|
|
97
|
+
{% endif %}
|
|
86
98
|
} else if (flags == METH_FASTCALL) {
|
|
87
99
|
#if PYTHON_VERSION < 0x370
|
|
88
100
|
result = (*(_PyCFunctionFast)method)(self, (PyObject **)args+1, {{args_count-1}}, NULL);
|
|
89
101
|
#else
|
|
102
|
+
{% if args_count == 1 %}
|
|
103
|
+
result = (*(_PyCFunctionFast)method)(self, &const_tuple_empty, {{args_count}});
|
|
104
|
+
{% else %}
|
|
90
105
|
PyObject *pos_args = MAKE_TUPLE(tstate, args+1, {{args_count-1}});
|
|
91
106
|
result = (*(_PyCFunctionFast)method)(self, &pos_args, {{args_count}});
|
|
92
107
|
Py_DECREF(pos_args);
|
|
108
|
+
{% endif %}
|
|
93
109
|
#endif
|
|
94
110
|
} else {
|
|
111
|
+
{% if args_count == 1 %}
|
|
112
|
+
result = (*method)(self, const_tuple_empty);
|
|
113
|
+
{% else %}
|
|
95
114
|
PyObject *pos_args = MAKE_TUPLE(tstate, args+1, {{args_count-1}});
|
|
96
115
|
result = (*method)(self, pos_args);
|
|
97
116
|
Py_DECREF(pos_args);
|
|
117
|
+
{% endif %}
|
|
98
118
|
}
|
|
99
119
|
#endif
|
|
100
120
|
#ifndef __NUITKA_NO_ASSERT__
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
PyObject *MAKE_LIST{{args_count}}(PyThreadState *tstate, PyObject *list) {
|
|
4
4
|
CHECK_OBJECT(list);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
PyObject *MAKE_LIST{{args_count}}(PyThreadState *tstate,
|
|
4
4
|
{% for i in range(args_count) %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
PyObject *{{builtin_type.type_name.upper()}}_{{method_name.upper()}}{{api_suffix}}(PyThreadState *tstate, {{builtin_type.getVariableDecl(builtin_arg_name)}} {{formatArgumentDeclaration(arg_types, arg_names, starting=False)}}) {
|
|
4
4
|
{{builtin_type.getCheckValueCode(builtin_arg_name)}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% macro dict_copy_iteration(result, dict_value, per_key_code, per_value_code, value_ref) %}
|
|
4
4
|
CHECK_OBJECT({{dict_value}});
|
|
@@ -41,8 +41,11 @@ else
|
|
|
41
41
|
assert(result_mp != NULL);
|
|
42
42
|
{{ result }} = (PyObject *)result_mp;
|
|
43
43
|
|
|
44
|
+
#if PYTHON_VERSION < 0x3b0
|
|
44
45
|
Py_ssize_t size = DK_ENTRIES_SIZE(dict_mp->ma_keys);
|
|
45
|
-
|
|
46
|
+
#else
|
|
47
|
+
Py_ssize_t size = dict_mp->ma_keys->dk_nentries + dict_mp->ma_keys->dk_usable;
|
|
48
|
+
#endif
|
|
46
49
|
{% if per_key_code %}
|
|
47
50
|
#if PYTHON_VERSION < 0x3b0
|
|
48
51
|
for (Py_ssize_t i = 0; i < size; i++) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{{ target.getTypeDecl() }} {{module_code_name}}(void) {
|
|
4
4
|
static PyObject *module_{{module_code_name.lower()}} = NULL;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% macro declare_long_access(type_desc, operand) %}
|
|
4
4
|
{% if type_desc == long_desc %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% macro CHECK_OBJECTS(args, args_count) %}
|
|
4
4
|
{% if args_count != 0 %} CHECK_OBJECTS(args, {{args_count}}); {% endif %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperSlotsCommon.c.j2' import goto_exit %}
|
|
4
4
|
{% from 'HelperSlotsInt.c.j2' import int_slot with context %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% set props = {"exits": {}} %}
|
|
4
4
|
{% from 'HelperSlotsInt.c.j2' import int_core with context %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% macro comparison_fallback(op_code, target, left, right, type1, type2, operand1, operand2) %}
|
|
4
4
|
{# For non-identical types, or for "OBJECT_OBJECT", do the full work. #}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{left.getCheckValueCode("operand1")}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% macro compare_call(op_code, target, left, right, left_choice, right_choice, operand1, operand2) %}
|
|
4
4
|
{% if left.getDualType(left_choice) == c_long_desc and right.getDualType(right_choice) == c_digit_desc %}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{ left.getCheckValueCode("operand1") }}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{left.getCheckValueCode("operand1")}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{left.getCheckValueCode("operand1")}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
{% from 'HelperLongTools.c.j2' import declare_long_access with context %}
|
|
4
4
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{left.getCheckValueCode("operand1")}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{# Copyright
|
|
1
|
+
{# Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file #}
|
|
2
2
|
|
|
3
3
|
static {{ target.getTypeDecl() }} COMPARE_{{op_code}}_{{target.getHelperCodeName()}}_{{left.getHelperCodeName()}}_{{right.getHelperCodeName()}}({{left.getVariableDecl("operand1")}}, {{right.getVariableDecl("operand2")}}) {
|
|
4
4
|
{{left.getCheckValueCode("operand1")}}
|