Nuitka-winsvc 2.0.6__cp311-cp311-win_amd64.whl → 2.1__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of Nuitka-winsvc might be problematic. Click here for more details.
- {Nuitka_winsvc-2.0.6.data → Nuitka_winsvc-2.1.data}/scripts/nuitka-run.bat +9 -9
- {Nuitka_winsvc-2.0.6.data → Nuitka_winsvc-2.1.data}/scripts/nuitka.bat +15 -15
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/METADATA +1 -1
- Nuitka_winsvc-2.1.dist-info/RECORD +920 -0
- nuitka/Builtins.py +18 -17
- nuitka/BytecodeCaching.py +20 -19
- nuitka/Bytecodes.py +19 -17
- nuitka/CacheCleanup.py +22 -22
- nuitka/Constants.py +19 -17
- nuitka/Errors.py +19 -17
- nuitka/HardImportRegistry.py +20 -17
- nuitka/MainControl.py +31 -19
- nuitka/ModuleRegistry.py +40 -20
- nuitka/OptionParsing.py +59 -43
- nuitka/Options.py +42 -17
- nuitka/OutputDirectories.py +19 -17
- nuitka/PostProcessing.py +19 -17
- nuitka/Progress.py +19 -17
- nuitka/PythonFlavors.py +22 -18
- nuitka/PythonOperators.py +18 -17
- nuitka/PythonVersions.py +19 -17
- nuitka/Serialization.py +21 -25
- nuitka/SourceCodeReferences.py +19 -17
- nuitka/Tracing.py +33 -20
- nuitka/TreeXML.py +19 -17
- nuitka/Variables.py +19 -17
- nuitka/Version.py +2 -2
- nuitka/__init__.py +5 -4
- nuitka/__main__.py +18 -17
- nuitka/__past__.py +18 -17
- nuitka/build/Backend.scons +18 -21
- nuitka/build/CCompilerVersion.scons +17 -17
- nuitka/build/DataComposerInterface.py +19 -17
- nuitka/build/Onefile.scons +18 -21
- nuitka/build/SconsCaching.py +24 -43
- nuitka/build/SconsCompilerSettings.py +25 -29
- nuitka/build/SconsHacks.py +19 -17
- nuitka/build/SconsInterface.py +20 -25
- nuitka/build/SconsProgress.py +19 -17
- nuitka/build/SconsSpawn.py +40 -29
- nuitka/build/SconsUtils.py +85 -20
- nuitka/build/__init__.py +5 -4
- nuitka/build/include/nuitka/allocator.h +17 -17
- nuitka/build/include/nuitka/builtins.h +17 -17
- nuitka/build/include/nuitka/calling.h +17 -17
- nuitka/build/include/nuitka/checkers.h +17 -18
- nuitka/build/include/nuitka/checksum_tools.h +14 -15
- nuitka/build/include/nuitka/compiled_asyncgen.h +17 -17
- nuitka/build/include/nuitka/compiled_cell.h +17 -17
- nuitka/build/include/nuitka/compiled_coroutine.h +17 -17
- nuitka/build/include/nuitka/compiled_frame.h +17 -17
- nuitka/build/include/nuitka/compiled_function.h +17 -17
- nuitka/build/include/nuitka/compiled_generator.h +17 -17
- nuitka/build/include/nuitka/compiled_method.h +16 -17
- nuitka/build/include/nuitka/constants.h +17 -18
- nuitka/build/include/nuitka/constants_blob.h +17 -17
- nuitka/build/include/nuitka/environment_variables.h +16 -16
- nuitka/build/include/nuitka/environment_variables_system.h +17 -18
- nuitka/build/include/nuitka/exception_groups.h +17 -18
- nuitka/build/include/nuitka/exceptions.h +17 -17
- nuitka/build/include/nuitka/filesystem_paths.h +17 -18
- nuitka/build/include/nuitka/freelists.h +16 -17
- nuitka/build/include/nuitka/helper/attributes.h +17 -17
- 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 +17 -17
- nuitka/build/include/nuitka/helper/floats.h +17 -18
- nuitka/build/include/nuitka/helper/import_hard.h +17 -17
- nuitka/build/include/nuitka/helper/indexes.h +17 -18
- nuitka/build/include/nuitka/helper/ints.h +17 -18
- nuitka/build/include/nuitka/helper/iterators.h +17 -17
- nuitka/build/include/nuitka/helper/lists.h +17 -18
- nuitka/build/include/nuitka/helper/lists_generated.h +17 -17
- 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 +17 -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 +13 -13
- nuitka/build/include/nuitka/helper/sets.h +11 -12
- nuitka/build/include/nuitka/helper/slices.h +17 -17
- nuitka/build/include/nuitka/helper/strings.h +16 -17
- nuitka/build/include/nuitka/helper/subscripts.h +17 -17
- nuitka/build/include/nuitka/helper/tuples.h +17 -18
- nuitka/build/include/nuitka/helpers.h +17 -17
- nuitka/build/include/nuitka/importing.h +17 -17
- nuitka/build/include/nuitka/prelude.h +17 -17
- nuitka/build/include/nuitka/printing.h +17 -17
- nuitka/build/include/nuitka/python_pgo.h +17 -18
- nuitka/build/include/nuitka/safe_string_ops.h +17 -18
- nuitka/build/include/nuitka/threading.h +17 -17
- nuitka/build/include/nuitka/tracing.h +17 -17
- nuitka/build/include/nuitka/unfreezing.h +17 -17
- nuitka/build/static_src/CompiledAsyncgenType.c +17 -17
- nuitka/build/static_src/CompiledCellType.c +17 -18
- nuitka/build/static_src/CompiledCodeHelpers.c +17 -17
- nuitka/build/static_src/CompiledCoroutineType.c +17 -17
- nuitka/build/static_src/CompiledFrameType.c +17 -18
- nuitka/build/static_src/CompiledFunctionType.c +17 -18
- nuitka/build/static_src/CompiledGeneratorType.c +17 -18
- nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +17 -17
- nuitka/build/static_src/CompiledMethodType.c +17 -17
- nuitka/build/static_src/HelpersAllocator.c +17 -17
- nuitka/build/static_src/HelpersAttributes.c +16 -18
- nuitka/build/static_src/HelpersBuiltin.c +17 -17
- nuitka/build/static_src/HelpersBuiltinTypeMethods.c +17 -17
- nuitka/build/static_src/HelpersBytes.c +17 -18
- nuitka/build/static_src/HelpersCalling.c +17 -17
- nuitka/build/static_src/HelpersCallingGenerated.c +17 -17
- nuitka/build/static_src/HelpersChecksumTools.c +17 -18
- nuitka/build/static_src/HelpersClasses.c +17 -17
- nuitka/build/static_src/HelpersComparisonEq.c +17 -17
- nuitka/build/static_src/HelpersComparisonEqUtils.c +17 -17
- nuitka/build/static_src/HelpersComparisonGe.c +17 -17
- nuitka/build/static_src/HelpersComparisonGt.c +17 -17
- nuitka/build/static_src/HelpersComparisonLe.c +17 -17
- nuitka/build/static_src/HelpersComparisonLt.c +17 -17
- nuitka/build/static_src/HelpersComparisonNe.c +17 -17
- nuitka/build/static_src/HelpersConstantsBlob.c +17 -17
- nuitka/build/static_src/HelpersDeepcopy.c +17 -17
- nuitka/build/static_src/HelpersDictionaries.c +17 -17
- nuitka/build/static_src/HelpersDictionariesGenerated.c +16 -17
- nuitka/build/static_src/HelpersDumpBacktraces.c +17 -18
- nuitka/build/static_src/HelpersEnvironmentVariables.c +17 -17
- nuitka/build/static_src/HelpersEnvironmentVariablesSystem.c +17 -17
- nuitka/build/static_src/HelpersExceptions.c +17 -18
- nuitka/build/static_src/HelpersFiles.c +17 -17
- nuitka/build/static_src/HelpersFilesystemPaths.c +17 -17
- nuitka/build/static_src/HelpersFloats.c +17 -17
- nuitka/build/static_src/HelpersHeapStorage.c +17 -17
- nuitka/build/static_src/HelpersImport.c +17 -17
- nuitka/build/static_src/HelpersImportHard.c +17 -17
- nuitka/build/static_src/HelpersLists.c +17 -18
- nuitka/build/static_src/HelpersListsGenerated.c +17 -17
- nuitka/build/static_src/HelpersMappings.c +17 -17
- nuitka/build/static_src/HelpersMatching.c +17 -18
- nuitka/build/static_src/HelpersOperationBinaryAdd.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryBitand.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryBitor.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryBitxor.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDivmod.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryDivmodUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryInplaceAdd.c +17 -18
- nuitka/build/static_src/HelpersOperationBinaryLshift.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMatmult.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMod.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMult.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryMultUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryPow.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryPowUtils.c +12 -12
- nuitka/build/static_src/HelpersOperationBinaryRshift.c +17 -17
- nuitka/build/static_src/HelpersOperationBinarySub.c +17 -17
- nuitka/build/static_src/HelpersOperationBinaryTruediv.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceAdd.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceAddUtils.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceBitand.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceBitor.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceBitxor.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceLshift.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceMatmult.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceMod.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceMult.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +17 -17
- nuitka/build/static_src/HelpersOperationInplacePow.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceRshift.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceSub.c +17 -17
- nuitka/build/static_src/HelpersOperationInplaceTruediv.c +17 -17
- nuitka/build/static_src/HelpersProfiling.c +17 -17
- nuitka/build/static_src/HelpersPythonPgo.c +17 -17
- nuitka/build/static_src/HelpersRaising.c +17 -17
- nuitka/build/static_src/HelpersSafeStrings.c +17 -17
- nuitka/build/static_src/HelpersSequences.c +17 -18
- nuitka/build/static_src/HelpersSlices.c +17 -18
- nuitka/build/static_src/HelpersStrings.c +17 -17
- nuitka/build/static_src/HelpersTuples.c +17 -17
- nuitka/build/static_src/HelpersTypes.c +17 -18
- nuitka/build/static_src/InspectPatcher.c +17 -17
- nuitka/build/static_src/MainProgram.c +17 -17
- nuitka/build/static_src/MetaPathBasedLoader.c +18 -18
- nuitka/build/static_src/MetaPathBasedLoaderImportlibMetadataDistribution.c +17 -17
- nuitka/build/static_src/MetaPathBasedLoaderResourceReader.c +17 -18
- nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +17 -18
- nuitka/build/static_src/OnefileBootstrap.c +17 -17
- nuitka/build/static_src/OnefileSplashScreen.cpp +17 -18
- nuitka/code_generation/AsyncgenCodes.py +19 -17
- nuitka/code_generation/AttributeCodes.py +19 -17
- nuitka/code_generation/BinaryOperationHelperDefinitions.py +19 -17
- nuitka/code_generation/BranchCodes.py +19 -17
- nuitka/code_generation/BuiltinCodes.py +19 -17
- nuitka/code_generation/CallCodes.py +19 -17
- nuitka/code_generation/ClassCodes.py +19 -17
- nuitka/code_generation/CodeGeneration.py +19 -17
- nuitka/code_generation/CodeHelperSelection.py +19 -17
- nuitka/code_generation/CodeHelpers.py +19 -17
- nuitka/code_generation/CodeObjectCodes.py +19 -17
- nuitka/code_generation/ComparisonCodes.py +19 -17
- nuitka/code_generation/ComparisonHelperDefinitions.py +19 -17
- nuitka/code_generation/ConditionalCodes.py +19 -17
- nuitka/code_generation/ConstantCodes.py +19 -17
- nuitka/code_generation/Contexts.py +19 -17
- nuitka/code_generation/CoroutineCodes.py +19 -17
- nuitka/code_generation/CtypesCodes.py +19 -17
- nuitka/code_generation/DictCodes.py +19 -17
- nuitka/code_generation/Emission.py +19 -17
- nuitka/code_generation/ErrorCodes.py +19 -17
- nuitka/code_generation/EvalCodes.py +19 -17
- nuitka/code_generation/ExceptionCodes.py +19 -17
- nuitka/code_generation/ExpressionCTypeSelectionHelpers.py +19 -17
- nuitka/code_generation/ExpressionCodes.py +19 -17
- nuitka/code_generation/FrameCodes.py +19 -17
- nuitka/code_generation/FunctionCodes.py +19 -17
- nuitka/code_generation/GeneratorCodes.py +19 -17
- nuitka/code_generation/GlobalConstants.py +19 -17
- nuitka/code_generation/GlobalsLocalsCodes.py +19 -17
- nuitka/code_generation/IdCodes.py +19 -17
- nuitka/code_generation/ImportCodes.py +19 -17
- nuitka/code_generation/Indentation.py +19 -17
- 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/LabelCodes.py +19 -17
- nuitka/code_generation/LineNumberCodes.py +19 -17
- nuitka/code_generation/ListCodes.py +19 -17
- nuitka/code_generation/LoaderCodes.py +19 -17
- nuitka/code_generation/LocalsDictCodes.py +19 -17
- nuitka/code_generation/LoopCodes.py +19 -17
- nuitka/code_generation/MatchCodes.py +19 -17
- nuitka/code_generation/ModuleCodes.py +19 -17
- nuitka/code_generation/Namify.py +19 -17
- nuitka/code_generation/OperationCodes.py +21 -25
- nuitka/code_generation/PackageResourceCodes.py +19 -17
- 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 +19 -17
- nuitka/code_generation/StringCodes.py +19 -17
- nuitka/code_generation/SubscriptCodes.py +19 -17
- nuitka/code_generation/TryCodes.py +19 -17
- nuitka/code_generation/TupleCodes.py +19 -17
- nuitka/code_generation/VariableCodes.py +19 -17
- nuitka/code_generation/VariableDeclarations.py +19 -17
- nuitka/code_generation/YieldCodes.py +19 -17
- 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 -17
- 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 -17
- nuitka/code_generation/c_types/CTypeNuitkaVoids.py +19 -17
- nuitka/code_generation/c_types/CTypePyObjectPointers.py +19 -17
- nuitka/code_generation/c_types/CTypeVoids.py +19 -17
- nuitka/code_generation/c_types/__init__.py +5 -4
- nuitka/code_generation/templates/CodeTemplatesAsyncgens.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesConstants.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesCoroutines.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesExceptions.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFrames.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesGeneratorFunction.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesIterators.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesLoader.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesModules.py +18 -17
- nuitka/code_generation/templates/CodeTemplatesVariables.py +18 -17
- nuitka/code_generation/templates/TemplateDebugWrapper.py +19 -17
- nuitka/code_generation/templates/__init__.py +5 -4
- nuitka/code_generation/templates_c/CodeTemplateCallsMethodPositional.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +17 -17
- nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperBuiltinMethodOperation.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperImportHard.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperLongTools.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperObjectTools.c.j2 +6 -6
- nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +17 -17
- 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 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsLong.c.j2 +17 -17
- 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 +17 -17
- nuitka/code_generation/templates_c/HelperSlotsUnicode.c.j2 +17 -17
- nuitka/containers/Namedtuples.py +19 -17
- nuitka/containers/OrderedSetsFallback.py +19 -17
- nuitka/containers/__init__.py +5 -4
- nuitka/distutils/Build.py +18 -17
- nuitka/distutils/DistutilCommands.py +19 -17
- nuitka/distutils/__init__.py +5 -4
- nuitka/finalizations/Finalization.py +19 -17
- nuitka/finalizations/FinalizeMarkups.py +20 -21
- nuitka/finalizations/__init__.py +5 -4
- nuitka/freezer/DependsExe.py +19 -17
- nuitka/freezer/DllDependenciesCommon.py +19 -17
- nuitka/freezer/DllDependenciesMacOS.py +19 -17
- nuitka/freezer/DllDependenciesPosix.py +18 -17
- nuitka/freezer/DllDependenciesWin32.py +20 -18
- nuitka/freezer/ImportDetection.py +19 -17
- nuitka/freezer/IncludedDataFiles.py +22 -17
- nuitka/freezer/IncludedEntryPoints.py +19 -17
- nuitka/freezer/Onefile.py +19 -17
- nuitka/freezer/Standalone.py +19 -17
- nuitka/freezer/__init__.py +5 -4
- nuitka/importing/IgnoreListing.py +19 -17
- nuitka/importing/ImportCache.py +19 -17
- nuitka/importing/ImportResolving.py +19 -17
- nuitka/importing/Importing.py +20 -18
- nuitka/importing/PreloadedPackages.py +19 -17
- nuitka/importing/Recursion.py +19 -17
- nuitka/importing/StandardLibrary.py +19 -17
- 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 +18 -17
- nuitka/nodes/BuiltinAllNodes.py +19 -17
- nuitka/nodes/BuiltinAnyNodes.py +19 -17
- nuitka/nodes/BuiltinComplexNodes.py +19 -17
- nuitka/nodes/BuiltinDecodingNodes.py +19 -17
- nuitka/nodes/BuiltinDecoratorNodes.py +19 -17
- nuitka/nodes/BuiltinDictNodes.py +19 -17
- nuitka/nodes/BuiltinFormatNodes.py +19 -17
- nuitka/nodes/BuiltinHashNodes.py +19 -17
- nuitka/nodes/BuiltinInputNodes.py +19 -17
- nuitka/nodes/BuiltinIntegerNodes.py +19 -17
- nuitka/nodes/BuiltinIteratorNodes.py +19 -17
- nuitka/nodes/BuiltinLenNodes.py +19 -17
- nuitka/nodes/BuiltinNextNodes.py +19 -17
- nuitka/nodes/BuiltinOpenNodes.py +19 -17
- nuitka/nodes/BuiltinOperationNodeBasesGenerated.py +19 -17
- nuitka/nodes/BuiltinRangeNodes.py +19 -17
- nuitka/nodes/BuiltinRefNodes.py +19 -17
- nuitka/nodes/BuiltinSumNodes.py +19 -17
- nuitka/nodes/BuiltinTypeNodes.py +19 -17
- nuitka/nodes/BuiltinVarsNodes.py +19 -17
- nuitka/nodes/BytesNodes.py +19 -17
- nuitka/nodes/CallNodes.py +19 -17
- nuitka/nodes/Checkers.py +19 -17
- nuitka/nodes/ChildrenHavingMixins.py +125 -17
- nuitka/nodes/ClassNodes.py +19 -17
- nuitka/nodes/CodeObjectSpecs.py +19 -17
- nuitka/nodes/ComparisonNodes.py +19 -17
- nuitka/nodes/ConditionalNodes.py +19 -17
- nuitka/nodes/ConstantRefNodes.py +19 -17
- nuitka/nodes/ContainerMakingNodes.py +19 -17
- nuitka/nodes/ContainerOperationNodes.py +19 -17
- nuitka/nodes/CoroutineNodes.py +19 -17
- nuitka/nodes/CtypesNodes.py +19 -17
- nuitka/nodes/DictionaryNodes.py +19 -17
- nuitka/nodes/ExceptionNodes.py +19 -17
- nuitka/nodes/ExecEvalNodes.py +19 -17
- nuitka/nodes/ExpressionBases.py +19 -17
- nuitka/nodes/ExpressionBasesGenerated.py +18 -17
- nuitka/nodes/ExpressionShapeMixins.py +19 -17
- nuitka/nodes/FrameNodes.py +19 -17
- nuitka/nodes/FunctionAttributeNodes.py +19 -17
- nuitka/nodes/FunctionNodes.py +20 -18
- nuitka/nodes/FutureSpecs.py +19 -17
- nuitka/nodes/GeneratorNodes.py +19 -17
- nuitka/nodes/GlobalsLocalsNodes.py +19 -17
- nuitka/nodes/HardImportNodesGenerated.py +103 -17
- nuitka/nodes/ImportHardNodes.py +19 -17
- nuitka/nodes/ImportNodes.py +19 -17
- nuitka/nodes/IndicatorMixins.py +19 -17
- nuitka/nodes/InjectCNodes.py +19 -17
- nuitka/nodes/IterationHandles.py +19 -17
- nuitka/nodes/KeyValuePairNodes.py +19 -17
- nuitka/nodes/ListOperationNodes.py +19 -17
- nuitka/nodes/LocalsDictNodes.py +19 -17
- nuitka/nodes/LocalsScopes.py +19 -17
- nuitka/nodes/LoopNodes.py +25 -17
- nuitka/nodes/MatchNodes.py +19 -17
- nuitka/nodes/ModuleAttributeNodes.py +19 -17
- nuitka/nodes/ModuleNodes.py +27 -17
- nuitka/nodes/NodeBases.py +24 -18
- nuitka/nodes/NodeMakingHelpers.py +21 -19
- nuitka/nodes/NodeMetaClasses.py +19 -18
- nuitka/nodes/OperatorNodes.py +19 -17
- nuitka/nodes/OperatorNodesUnary.py +19 -17
- nuitka/nodes/OsSysNodes.py +34 -17
- nuitka/nodes/OutlineNodes.py +19 -17
- nuitka/nodes/PackageMetadataNodes.py +19 -17
- nuitka/nodes/PackageResourceNodes.py +19 -17
- nuitka/nodes/PrintNodes.py +19 -17
- nuitka/nodes/ReturnNodes.py +19 -17
- nuitka/nodes/SideEffectNodes.py +19 -17
- nuitka/nodes/SliceNodes.py +19 -17
- nuitka/nodes/StatementBasesGenerated.py +18 -17
- nuitka/nodes/StatementNodes.py +19 -17
- nuitka/nodes/StrNodes.py +19 -17
- nuitka/nodes/StringConcatenationNodes.py +19 -17
- nuitka/nodes/SubscriptNodes.py +19 -17
- nuitka/nodes/TryNodes.py +19 -17
- nuitka/nodes/TypeMatchNodes.py +19 -17
- nuitka/nodes/TypeNodes.py +19 -17
- nuitka/nodes/VariableAssignNodes.py +97 -59
- nuitka/nodes/VariableDelNodes.py +19 -17
- nuitka/nodes/VariableNameNodes.py +19 -17
- nuitka/nodes/VariableRefNodes.py +27 -17
- nuitka/nodes/VariableReleaseNodes.py +19 -17
- nuitka/nodes/YieldNodes.py +19 -17
- nuitka/nodes/__init__.py +5 -4
- nuitka/nodes/shapes/BuiltinTypeShapes.py +18 -17
- nuitka/nodes/shapes/ControlFlowDescriptions.py +19 -17
- nuitka/nodes/shapes/ShapeMixins.py +19 -17
- nuitka/nodes/shapes/StandardShapes.py +18 -17
- nuitka/nodes/shapes/__init__.py +5 -4
- nuitka/optimizations/BytecodeDemotion.py +19 -17
- nuitka/optimizations/FunctionInlining.py +19 -17
- nuitka/optimizations/Graphs.py +19 -17
- nuitka/optimizations/Optimization.py +19 -17
- nuitka/optimizations/OptimizeBuiltinCalls.py +19 -17
- nuitka/optimizations/Tags.py +19 -17
- nuitka/optimizations/TraceCollections.py +20 -18
- nuitka/optimizations/ValueTraces.py +40 -24
- nuitka/optimizations/__init__.py +5 -4
- nuitka/pgo/PGO.py +19 -17
- nuitka/pgo/__init__.py +5 -4
- nuitka/plugins/PluginBase.py +197 -51
- nuitka/plugins/Plugins.py +20 -18
- nuitka/plugins/__init__.py +5 -4
- nuitka/plugins/standard/AntiBloatPlugin.py +59 -31
- nuitka/plugins/standard/ConsiderPyLintAnnotationsPlugin.py +19 -17
- nuitka/plugins/standard/DataFilesPlugin.py +28 -18
- nuitka/plugins/standard/DelvewheelPlugin.py +23 -20
- nuitka/plugins/standard/DillPlugin/DillPlugin.c +17 -17
- nuitka/plugins/standard/DillPlugin/dill-postLoad.py +21 -18
- nuitka/plugins/standard/DillPlugin.py +19 -17
- nuitka/plugins/standard/DllFilesPlugin.py +52 -22
- 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 +19 -17
- nuitka/plugins/standard/GlfwPlugin.py +19 -17
- nuitka/plugins/standard/ImplicitImports.py +28 -19
- nuitka/plugins/standard/KivyPlugin.py +19 -17
- nuitka/plugins/standard/MatplotlibPlugin.py +19 -17
- nuitka/plugins/standard/MultiprocessingPlugin.py +19 -17
- nuitka/plugins/standard/NumpyPlugin.py +19 -17
- nuitka/plugins/standard/OptionsNannyPlugin.py +19 -17
- nuitka/plugins/standard/PbrPlugin.py +19 -17
- nuitka/plugins/standard/PkgResourcesPlugin.py +19 -17
- nuitka/plugins/standard/PmwPlugin.py +19 -17
- nuitka/plugins/standard/PySidePyQtPlugin.py +19 -17
- nuitka/plugins/standard/PywebViewPlugin.py +19 -17
- nuitka/plugins/standard/TensorflowPlugin.py +19 -17
- nuitka/plugins/standard/TkinterPlugin.py +19 -17
- nuitka/plugins/standard/TorchPlugin.py +19 -17
- nuitka/plugins/standard/TransformersPlugin.py +19 -17
- nuitka/plugins/standard/TrioPlugin.py +17 -15
- nuitka/plugins/standard/UpxPlugin.py +20 -18
- nuitka/plugins/standard/__init__.py +5 -4
- nuitka/plugins/standard/standard.nuitka-package.config.yml +47 -2
- nuitka/reports/CompilationReportReader.py +19 -17
- nuitka/reports/LicenseReport.rst.j2 +17 -17
- nuitka/reports/Reports.py +74 -21
- 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 +19 -17
- nuitka/specs/BuiltinStrOperationSpecs.py +18 -17
- nuitka/specs/BuiltinTypeOperationSpecs.py +18 -17
- nuitka/specs/BuiltinUnicodeOperationSpecs.py +18 -17
- nuitka/specs/HardImportSpecs.py +27 -19
- nuitka/specs/ParameterSpecs.py +19 -17
- nuitka/specs/__init__.py +5 -4
- nuitka/tools/Basics.py +19 -17
- nuitka/tools/__init__.py +5 -4
- nuitka/tools/commercial/__init__.py +7 -6
- nuitka/tools/data_composer/DataComposer.py +19 -17
- nuitka/tools/data_composer/__init__.py +5 -4
- nuitka/tools/data_composer/__main__.py +18 -17
- nuitka/tools/environments/CreateEnvironment.py +19 -17
- nuitka/tools/environments/Virtualenv.py +19 -17
- 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 +17 -17
- nuitka/tools/general/find_module/FindModuleCode.py +19 -17
- nuitka/tools/general/find_module/__init__.py +5 -4
- nuitka/tools/onefile_compressor/OnefileCompressor.py +20 -18
- 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 +18 -17
- nuitka/tools/profiler/__init__.py +5 -4
- nuitka/tools/profiler/__main__.py +18 -17
- nuitka/tools/scanning/DisplayPackageDLLs.py +19 -17
- nuitka/tools/scanning/DisplayPackageData.py +19 -17
- nuitka/tools/scanning/__init__.py +5 -4
- nuitka/tools/specialize/CTypeDescriptions.py +18 -17
- nuitka/tools/specialize/Common.py +18 -17
- nuitka/tools/specialize/SpecializeC.py +19 -17
- nuitka/tools/specialize/SpecializePython.py +20 -17
- nuitka/tools/specialize/__init__.py +5 -4
- nuitka/tools/testing/Common.py +25 -27
- nuitka/tools/testing/Constructs.py +19 -17
- nuitka/tools/testing/OutputComparison.py +19 -17
- nuitka/tools/testing/Pythons.py +19 -17
- nuitka/tools/testing/RuntimeTracing.py +18 -17
- nuitka/tools/testing/SearchModes.py +19 -17
- 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 +17 -17
- nuitka/tools/testing/compare_with_cpython/__init__.py +5 -4
- nuitka/tools/testing/compare_with_cpython/__main__.py +17 -17
- 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 +17 -17
- nuitka/tools/testing/run_nuitka_tests/__init__.py +5 -4
- nuitka/tools/testing/run_nuitka_tests/__main__.py +17 -17
- nuitka/tools/watch/GitHub.py +18 -17
- nuitka/tools/watch/__init__.py +5 -4
- nuitka/tools/watch/__main__.py +20 -19
- nuitka/tree/Building.py +19 -17
- nuitka/tree/ComplexCallHelperFunctions.py +19 -17
- nuitka/tree/Extractions.py +19 -17
- nuitka/tree/InternalModule.py +19 -17
- nuitka/tree/Operations.py +19 -17
- nuitka/tree/ReformulationAssertStatements.py +19 -17
- nuitka/tree/ReformulationAssignmentStatements.py +19 -17
- nuitka/tree/ReformulationBooleanExpressions.py +19 -17
- nuitka/tree/ReformulationCallExpressions.py +19 -17
- nuitka/tree/ReformulationClasses.py +19 -17
- nuitka/tree/ReformulationClasses3.py +19 -17
- nuitka/tree/ReformulationComparisonExpressions.py +19 -17
- nuitka/tree/ReformulationContractionExpressions.py +19 -17
- nuitka/tree/ReformulationDictionaryCreation.py +19 -17
- nuitka/tree/ReformulationExecStatements.py +18 -17
- nuitka/tree/ReformulationForLoopStatements.py +19 -17
- nuitka/tree/ReformulationFunctionStatements.py +19 -17
- nuitka/tree/ReformulationImportStatements.py +19 -17
- nuitka/tree/ReformulationLambdaExpressions.py +19 -17
- nuitka/tree/ReformulationMatchStatements.py +19 -17
- nuitka/tree/ReformulationMultidist.py +19 -17
- nuitka/tree/ReformulationNamespacePackages.py +19 -17
- nuitka/tree/ReformulationPrintStatements.py +19 -17
- nuitka/tree/ReformulationSequenceCreation.py +19 -17
- nuitka/tree/ReformulationSubscriptExpressions.py +19 -17
- nuitka/tree/ReformulationTryExceptStatements.py +19 -17
- nuitka/tree/ReformulationTryFinallyStatements.py +19 -17
- nuitka/tree/ReformulationWhileLoopStatements.py +19 -17
- nuitka/tree/ReformulationWithStatements.py +19 -17
- nuitka/tree/ReformulationYieldExpressions.py +19 -17
- nuitka/tree/SourceHandling.py +19 -17
- nuitka/tree/SyntaxErrors.py +19 -17
- nuitka/tree/TreeHelpers.py +19 -17
- nuitka/tree/VariableClosure.py +19 -17
- nuitka/tree/__init__.py +5 -4
- nuitka/utils/AppDirs.py +30 -18
- nuitka/utils/CStrings.py +19 -17
- nuitka/utils/CommandLineOptions.py +19 -17
- nuitka/utils/Distributions.py +34 -22
- nuitka/utils/Download.py +20 -18
- nuitka/utils/Execution.py +22 -18
- nuitka/utils/FileOperations.py +31 -17
- nuitka/utils/Hashing.py +19 -17
- nuitka/utils/Images.py +19 -17
- nuitka/utils/Importing.py +31 -18
- nuitka/utils/InstalledPythons.py +19 -17
- nuitka/utils/InstanceCounters.py +19 -17
- nuitka/utils/Jinja2.py +19 -17
- nuitka/utils/Json.py +19 -17
- nuitka/utils/MacOSApp.py +19 -17
- nuitka/utils/MemoryUsage.py +19 -17
- nuitka/utils/ModuleNames.py +19 -17
- nuitka/utils/ReExecute.py +19 -17
- nuitka/utils/Rest.py +19 -17
- nuitka/utils/SharedLibraries.py +19 -17
- nuitka/utils/Shebang.py +19 -17
- nuitka/utils/Signing.py +19 -17
- nuitka/utils/SlotMetaClasses.py +19 -17
- nuitka/utils/StaticLibraries.py +19 -17
- nuitka/utils/ThreadedExecutor.py +18 -17
- nuitka/utils/Timing.py +19 -17
- nuitka/utils/Utils.py +19 -17
- nuitka/utils/WindowsFileUsage.py +18 -17
- nuitka/utils/WindowsResources.py +19 -17
- nuitka/utils/Yaml.py +19 -17
- nuitka/utils/__init__.py +5 -4
- Nuitka_winsvc-2.0.6.dist-info/RECORD +0 -920
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/LICENSE.txt +0 -0
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/WHEEL +0 -0
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/entry_points.txt +0 -0
- {Nuitka_winsvc-2.0.6.dist-info → Nuitka_winsvc-2.1.dist-info}/top_level.txt +0 -0
nuitka/nodes/LoopNodes.py
CHANGED
|
@@ -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
|
""" Loop nodes.
|
|
19
5
|
|
|
20
6
|
There are for and loop nodes, but both are reduced to loops with break/continue
|
|
@@ -145,6 +131,9 @@ class StatementLoop(StatementLoopBase):
|
|
|
145
131
|
current = trace_collection.getVariableCurrentTrace(loop_variable)
|
|
146
132
|
|
|
147
133
|
if all_first_pass:
|
|
134
|
+
if current.isAssignTraceVeryTrusted():
|
|
135
|
+
continue
|
|
136
|
+
|
|
148
137
|
first_pass = True
|
|
149
138
|
|
|
150
139
|
# Remember what we started with, so we can detect changes from outside the
|
|
@@ -153,6 +142,9 @@ class StatementLoop(StatementLoopBase):
|
|
|
153
142
|
self.loop_start[loop_variable] = current
|
|
154
143
|
else:
|
|
155
144
|
if not self.loop_start[loop_variable].compareValueTrace(current):
|
|
145
|
+
if current.isAssignTraceVeryTrusted():
|
|
146
|
+
continue
|
|
147
|
+
|
|
156
148
|
first_pass = True
|
|
157
149
|
self.loop_start[loop_variable] = current
|
|
158
150
|
else:
|
|
@@ -435,3 +427,19 @@ class StatementLoopBreak(StatementBase):
|
|
|
435
427
|
@staticmethod
|
|
436
428
|
def getStatementNiceName():
|
|
437
429
|
return "loop break statement"
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
433
|
+
# integrates with CPython, but also works on its own.
|
|
434
|
+
#
|
|
435
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
436
|
+
# you may not use this file except in compliance with the License.
|
|
437
|
+
# You may obtain a copy of the License at
|
|
438
|
+
#
|
|
439
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
440
|
+
#
|
|
441
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
442
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
443
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
444
|
+
# See the License for the specific language governing permissions and
|
|
445
|
+
# limitations under the License.
|
nuitka/nodes/MatchNodes.py
CHANGED
|
@@ -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
|
""" Nodes for match statement for Python3.10+ """
|
|
19
5
|
|
|
20
6
|
from .ChildrenHavingMixins import ChildHavingExpressionMixin
|
|
@@ -45,3 +31,19 @@ class ExpressionMatchArgs(
|
|
|
45
31
|
trace_collection.onExceptionRaiseExit(BaseException)
|
|
46
32
|
|
|
47
33
|
return self, None, None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
37
|
+
# integrates with CPython, but also works on its own.
|
|
38
|
+
#
|
|
39
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
40
|
+
# you may not use this file except in compliance with the License.
|
|
41
|
+
# You may obtain a copy of the License at
|
|
42
|
+
#
|
|
43
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
44
|
+
#
|
|
45
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
46
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
47
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
48
|
+
# See the License for the specific language governing permissions and
|
|
49
|
+
# 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
|
""" Module/Package attribute nodes
|
|
19
5
|
|
|
20
6
|
The represent special values of the modules. The "__name__", "__package__",
|
|
@@ -195,3 +181,19 @@ class ExpressionNuitkaLoaderCreation(ExpressionNoSideEffectsMixin, ExpressionBas
|
|
|
195
181
|
def computeExpressionRaw(self, trace_collection):
|
|
196
182
|
# Nothing can be done here.
|
|
197
183
|
return self, None, None
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
187
|
+
# integrates with CPython, but also works on its own.
|
|
188
|
+
#
|
|
189
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
190
|
+
# you may not use this file except in compliance with the License.
|
|
191
|
+
# You may obtain a copy of the License at
|
|
192
|
+
#
|
|
193
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
194
|
+
#
|
|
195
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
196
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
197
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
198
|
+
# See the License for the specific language governing permissions and
|
|
199
|
+
# limitations under the License.
|
nuitka/nodes/ModuleNodes.py
CHANGED
|
@@ -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
|
""" Module/Package nodes
|
|
19
5
|
|
|
20
6
|
The top of the tree. Packages are also modules. Modules are what hold a program
|
|
@@ -57,6 +43,7 @@ class PythonModuleBase(NodeBase):
|
|
|
57
43
|
|
|
58
44
|
def __init__(self, module_name, reason, source_ref):
|
|
59
45
|
assert type(module_name) is ModuleName, module_name
|
|
46
|
+
assert module_name != "", source_ref
|
|
60
47
|
|
|
61
48
|
NodeBase.__init__(self, source_ref=source_ref)
|
|
62
49
|
|
|
@@ -205,6 +192,13 @@ class PythonModuleBase(NodeBase):
|
|
|
205
192
|
|
|
206
193
|
result = os.path.join(os.path.basename(current), result)
|
|
207
194
|
|
|
195
|
+
# Avoid unnecessary unicode path values
|
|
196
|
+
if str is not bytes:
|
|
197
|
+
try:
|
|
198
|
+
result = str(result)
|
|
199
|
+
except UnicodeDecodeError:
|
|
200
|
+
pass
|
|
201
|
+
|
|
208
202
|
return result
|
|
209
203
|
|
|
210
204
|
|
|
@@ -1077,3 +1071,19 @@ class PythonExtensionModule(PythonModuleBase):
|
|
|
1077
1071
|
|
|
1078
1072
|
def getParentModule(self):
|
|
1079
1073
|
return self
|
|
1074
|
+
|
|
1075
|
+
|
|
1076
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
1077
|
+
# integrates with CPython, but also works on its own.
|
|
1078
|
+
#
|
|
1079
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
1080
|
+
# you may not use this file except in compliance with the License.
|
|
1081
|
+
# You may obtain a copy of the License at
|
|
1082
|
+
#
|
|
1083
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
1084
|
+
#
|
|
1085
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
1086
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
1087
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1088
|
+
# See the License for the specific language governing permissions and
|
|
1089
|
+
# limitations under the License.
|
nuitka/nodes/NodeBases.py
CHANGED
|
@@ -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
|
""" Node base classes.
|
|
19
5
|
|
|
20
6
|
These classes provide the generic base classes available for nodes,
|
|
@@ -380,6 +366,10 @@ class NodeBase(NodeMetaClassBase):
|
|
|
380
366
|
def isExpressionMakeSequence():
|
|
381
367
|
return False
|
|
382
368
|
|
|
369
|
+
@staticmethod
|
|
370
|
+
def isExpressionVariableRefOrTempVariableRef():
|
|
371
|
+
return False
|
|
372
|
+
|
|
383
373
|
@staticmethod
|
|
384
374
|
def isNumberConstant():
|
|
385
375
|
return False
|
|
@@ -467,7 +457,7 @@ class NodeBase(NodeMetaClassBase):
|
|
|
467
457
|
return False
|
|
468
458
|
|
|
469
459
|
def needsFrame(self):
|
|
470
|
-
"""Unless we are
|
|
460
|
+
"""Unless we are told otherwise, this depends on exception raise."""
|
|
471
461
|
|
|
472
462
|
return self.mayRaiseException(BaseException)
|
|
473
463
|
|
|
@@ -852,3 +842,19 @@ def fromXML(provider, xml, source_ref=None):
|
|
|
852
842
|
except (TypeError, AttributeError):
|
|
853
843
|
Tracing.printLine(node_class, args, source_ref)
|
|
854
844
|
raise
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
848
|
+
# integrates with CPython, but also works on its own.
|
|
849
|
+
#
|
|
850
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
851
|
+
# you may not use this file except in compliance with the License.
|
|
852
|
+
# You may obtain a copy of the License at
|
|
853
|
+
#
|
|
854
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
855
|
+
#
|
|
856
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
857
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
858
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
859
|
+
# See the License for the specific language governing permissions and
|
|
860
|
+
# 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
|
""" These are just helpers to create nodes, often to replace existing nodes
|
|
19
5
|
|
|
20
6
|
These are for use in optimizations and computations, and therefore cover
|
|
@@ -43,7 +29,7 @@ def makeConstantReplacementNode(constant, node, user_provided):
|
|
|
43
29
|
|
|
44
30
|
|
|
45
31
|
def makeRaiseExceptionReplacementExpression(
|
|
46
|
-
expression, exception_type, exception_value
|
|
32
|
+
expression, exception_type, exception_value, no_warning=False
|
|
47
33
|
):
|
|
48
34
|
from .BuiltinRefNodes import ExpressionBuiltinExceptionRef
|
|
49
35
|
from .ExceptionNodes import ExpressionRaiseException
|
|
@@ -52,7 +38,7 @@ def makeRaiseExceptionReplacementExpression(
|
|
|
52
38
|
|
|
53
39
|
assert type(exception_type) is str
|
|
54
40
|
|
|
55
|
-
if Options.shallWarnImplicitRaises():
|
|
41
|
+
if not no_warning and Options.shallWarnImplicitRaises():
|
|
56
42
|
unusual_logger.warning(
|
|
57
43
|
'%s: Will always raise exception: "%s(%s)"'
|
|
58
44
|
% (
|
|
@@ -456,3 +442,19 @@ def makeRaiseImportErrorReplacementExpression(expression, module_name):
|
|
|
456
442
|
exception_type="ImportError",
|
|
457
443
|
exception_value=module_name.asString(),
|
|
458
444
|
)
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
448
|
+
# integrates with CPython, but also works on its own.
|
|
449
|
+
#
|
|
450
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
451
|
+
# you may not use this file except in compliance with the License.
|
|
452
|
+
# You may obtain a copy of the License at
|
|
453
|
+
#
|
|
454
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
455
|
+
#
|
|
456
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
457
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
458
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
459
|
+
# See the License for the specific language governing permissions and
|
|
460
|
+
# limitations under the License.
|
nuitka/nodes/NodeMetaClasses.py
CHANGED
|
@@ -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
|
""" Node meta classes.
|
|
19
5
|
|
|
20
6
|
This provides meta classes for nodes, currently only one. These do all kinds
|
|
@@ -114,7 +100,7 @@ class NodeCheckMetaClass(ABCMeta):
|
|
|
114
100
|
|
|
115
101
|
assert type(kind) is str, name
|
|
116
102
|
|
|
117
|
-
if kind in NodeCheckMetaClass.kinds and
|
|
103
|
+
if kind in NodeCheckMetaClass.kinds and "replaces" not in dictionary:
|
|
118
104
|
raise NuitkaNodeDesignError(
|
|
119
105
|
name, "Duplicate nodes for kind '%s'" % kind
|
|
120
106
|
)
|
|
@@ -151,3 +137,18 @@ class NodeCheckMetaClass(ABCMeta):
|
|
|
151
137
|
NodeMetaClassBase = NodeCheckMetaClass(
|
|
152
138
|
"NodeMetaClassBase", (object,), {"__slots__": ()}
|
|
153
139
|
)
|
|
140
|
+
|
|
141
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
142
|
+
# integrates with CPython, but also works on its own.
|
|
143
|
+
#
|
|
144
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
145
|
+
# you may not use this file except in compliance with the License.
|
|
146
|
+
# You may obtain a copy of the License at
|
|
147
|
+
#
|
|
148
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
149
|
+
#
|
|
150
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
151
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
152
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
153
|
+
# See the License for the specific language governing permissions and
|
|
154
|
+
# limitations under the License.
|
nuitka/nodes/OperatorNodes.py
CHANGED
|
@@ -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
|
""" Nodes for unary and binary operations.
|
|
19
5
|
|
|
20
6
|
No short-circuit involved, boolean 'not' is an unary operation like '-' is,
|
|
@@ -940,3 +926,19 @@ def makeExpressionOperationBinaryInplace(operator, left, right, source_ref):
|
|
|
940
926
|
node_class = _operator2binary_inplace_node_class[operator]
|
|
941
927
|
|
|
942
928
|
return node_class(left=left, right=right, source_ref=source_ref)
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
932
|
+
# integrates with CPython, but also works on its own.
|
|
933
|
+
#
|
|
934
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
935
|
+
# you may not use this file except in compliance with the License.
|
|
936
|
+
# You may obtain a copy of the License at
|
|
937
|
+
#
|
|
938
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
939
|
+
#
|
|
940
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
941
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
942
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
943
|
+
# See the License for the specific language governing permissions and
|
|
944
|
+
# 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
|
""" Nodes for unary operations.
|
|
19
5
|
|
|
20
6
|
Some of these come from built-ins, e.g. abs, some from syntax, and repr from both.
|
|
@@ -273,3 +259,19 @@ def makeExpressionOperationUnary(operator, operand, source_ref):
|
|
|
273
259
|
)
|
|
274
260
|
|
|
275
261
|
return unary_class(operand=operand, source_ref=source_ref)
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
265
|
+
# integrates with CPython, but also works on its own.
|
|
266
|
+
#
|
|
267
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
268
|
+
# you may not use this file except in compliance with the License.
|
|
269
|
+
# You may obtain a copy of the License at
|
|
270
|
+
#
|
|
271
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
272
|
+
#
|
|
273
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
274
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
275
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
276
|
+
# See the License for the specific language governing permissions and
|
|
277
|
+
# limitations under the License.
|
nuitka/nodes/OsSysNodes.py
CHANGED
|
@@ -1,26 +1,14 @@
|
|
|
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
|
""" Nodes the represent ways to access os and sys functions. """
|
|
19
5
|
|
|
20
6
|
|
|
21
7
|
import os
|
|
22
8
|
|
|
9
|
+
from .BuiltinRefNodes import ExpressionBuiltinExceptionRef
|
|
23
10
|
from .ConstantRefNodes import makeConstantRefNode
|
|
11
|
+
from .ExceptionNodes import ExpressionRaiseException
|
|
24
12
|
from .ExpressionBases import ExpressionNoSideEffectsMixin
|
|
25
13
|
from .HardImportNodesGenerated import (
|
|
26
14
|
ExpressionOsListdirCallBase,
|
|
@@ -150,3 +138,32 @@ class ExpressionOsListdirCall(ExpressionOsListdirCallBase):
|
|
|
150
138
|
trace_collection.onExceptionRaiseExit(BaseException)
|
|
151
139
|
|
|
152
140
|
return self, None, None
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
def makeExpressionSysExitCall(exit_code, source_ref):
|
|
144
|
+
if exit_code is None:
|
|
145
|
+
exit_code = makeConstantRefNode(constant=None, source_ref=source_ref)
|
|
146
|
+
|
|
147
|
+
return ExpressionRaiseException(
|
|
148
|
+
exception_type=ExpressionBuiltinExceptionRef(
|
|
149
|
+
exception_name="SystemExit", source_ref=source_ref
|
|
150
|
+
),
|
|
151
|
+
exception_value=exit_code,
|
|
152
|
+
source_ref=source_ref,
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
157
|
+
# integrates with CPython, but also works on its own.
|
|
158
|
+
#
|
|
159
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
160
|
+
# you may not use this file except in compliance with the License.
|
|
161
|
+
# You may obtain a copy of the License at
|
|
162
|
+
#
|
|
163
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
164
|
+
#
|
|
165
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
166
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
167
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
168
|
+
# See the License for the specific language governing permissions and
|
|
169
|
+
# limitations under the License.
|
nuitka/nodes/OutlineNodes.py
CHANGED
|
@@ -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
|
""" Outline nodes.
|
|
19
5
|
|
|
20
6
|
We use them for re-formulations and for in-lining of code. They are expressions
|
|
@@ -368,3 +354,19 @@ class ExpressionOutlineFunction(ExpressionOutlineFunctionBase):
|
|
|
368
354
|
|
|
369
355
|
def getChildQualname(self, function_name):
|
|
370
356
|
return self.provider.getChildQualname(function_name)
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
360
|
+
# integrates with CPython, but also works on its own.
|
|
361
|
+
#
|
|
362
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
363
|
+
# you may not use this file except in compliance with the License.
|
|
364
|
+
# You may obtain a copy of the License at
|
|
365
|
+
#
|
|
366
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
367
|
+
#
|
|
368
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
369
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
370
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
371
|
+
# See the License for the specific language governing permissions and
|
|
372
|
+
# 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
|
""" Nodes the represent ways to access metadata pkg_resources, importlib.resources etc.
|
|
19
5
|
|
|
20
6
|
"""
|
|
@@ -976,3 +962,19 @@ class ExpressionImportlibMetadataBackportEntryPointsCall(
|
|
|
976
962
|
makeSelectableGroupsValueRef = (
|
|
977
963
|
ExpressionImportlibMetadataBackportSelectableGroupsValueRef
|
|
978
964
|
)
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
# Part of "Nuitka", an optimizing Python compiler that is compatible and
|
|
968
|
+
# integrates with CPython, but also works on its own.
|
|
969
|
+
#
|
|
970
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
971
|
+
# you may not use this file except in compliance with the License.
|
|
972
|
+
# You may obtain a copy of the License at
|
|
973
|
+
#
|
|
974
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
975
|
+
#
|
|
976
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
977
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
978
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
979
|
+
# See the License for the specific language governing permissions and
|
|
980
|
+
# limitations under the License.
|