javonet-nodejs-sdk 2.1.9 → 2.1.10
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.
- package/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
- package/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
- package/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
- package/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
- package/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
- package/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
- package/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libUtils.so +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/Utils.dll +0 -0
- package/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Nodejs/Linux/X64/utils/CommandType.js +5 -1
- package/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +5 -1
- package/Binaries/Nodejs/Windows/X64/utils/CommandType.js +5 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +235 -47
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.48/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.46/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.226/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.04/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.008/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.026/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.012/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.08/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Module-Build-Tiny-0.046 → Module-Build-Tiny-0.047}/MYMETA.json +3 -3
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.047/install.json +1 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2206/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Nice-Try-v1.3.4 → Nice-Try-v1.3.5}/MYMETA.json +3 -3
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.5/install.json +1 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.277/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.144/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.63/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.990/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.31/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.1/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/probe/bin/dlrun +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +89 -89
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +235 -47
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Capture-Tiny-0.48/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Class-Load-0.25/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Class-Load-XS-0.10/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Clone-0.46/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Data-OptList-0.114/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Data-UUID-1.226/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Devel-StackTrace-2.04/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Eval-Closure-0.14/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/ExtUtils-Config-0.008/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/ExtUtils-Helpers-0.026/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/ExtUtils-InstallPaths-0.012/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/FFI-CheckLib-0.31/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/FFI-Platypus-2.08/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/File-Which-1.27/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/IPC-System-Simple-1.30/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/MRO-Compat-0.15/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Build-0.4234/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/{Module-Build-Tiny-0.046 → Module-Build-Tiny-0.047}/MYMETA.json +3 -3
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Build-Tiny-0.047/install.json +1 -0
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Implementation-0.09/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Runtime-0.016/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Moose-2.2206/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/{Nice-Try-v1.3.4 → Nice-Try-v1.3.5}/MYMETA.json +3 -3
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Nice-Try-v1.3.5/install.json +1 -0
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/PPI-1.277/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Package-DeprecationManager-0.18/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Package-Stash-0.40/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Package-Stash-XS-0.30/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Params-Util-1.102/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Path-Tiny-0.144/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Scope-Guard-0.21/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Sub-Exporter-0.990/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Sub-Install-0.929/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Task-Weaken-1.06/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Try-Tiny-0.31/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/aliased-0.34/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/autobox-v3.0.1/install.json +1 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +87 -87
- package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
- package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
- package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
- package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
- package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.226/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/{Nice-Try-v1.3.4 → Nice-Try-v1.3.5}/MYMETA.json +3 -3
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.5/install.json +1 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.277/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.1/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +17 -17
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +235 -47
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
- package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
- package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
- package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
- package/Binaries/Python/Linux/X64/javonet/core/handler/Handler.py +25 -36
- package/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +4 -0
- package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
- package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
- package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
- package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
- package/Binaries/Python/MacOs/X64/javonet/core/handler/Handler.py +25 -36
- package/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +4 -0
- package/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/Handler.py +25 -36
- package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +4 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
- package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- package/Binaries/Ruby/Linux/X64/utils/command_type.rb +12 -0
- package/Binaries/Ruby/MacOs/X64/utils/command_type.rb +12 -0
- package/Binaries/Ruby/Windows/X64/utils/command_type.rb +12 -0
- package/lib/sdk/internal/InvocationContext.js +10 -0
- package/lib/sdk/internal/RuntimeContext.js +6 -0
- package/lib/utils/CommandType.js +5 -1
- package/package.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.046/install.json +0 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.4/install.json +0 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Build-Tiny-0.046/install.json +0 -1
- package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Nice-Try-v1.3.4/install.json +0 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.4/install.json +0 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
##----------------------------------------------------------------------------
|
|
2
2
|
## A real Try Catch Block Implementation Using Perl Filter - ~/lib/Nice/Try.pm
|
|
3
|
-
## Version v1.3.
|
|
3
|
+
## Version v1.3.5
|
|
4
4
|
## Copyright(c) 2023 DEGUEST Pte. Ltd.
|
|
5
5
|
## Author: Jacques Deguest <jack@deguest.jp>
|
|
6
6
|
## Created 2020/05/17
|
|
7
|
-
## Modified 2023/
|
|
7
|
+
## Modified 2023/09/29
|
|
8
8
|
## All rights reserved
|
|
9
9
|
##
|
|
10
10
|
## This program is free software; you can redistribute it and/or modify it
|
|
@@ -23,12 +23,12 @@ BEGIN
|
|
|
23
23
|
);
|
|
24
24
|
# XXX Only for debugging
|
|
25
25
|
# use Devel::Confess;
|
|
26
|
-
use PPI;
|
|
26
|
+
use PPI 1.277;
|
|
27
27
|
use Filter::Util::Call;
|
|
28
28
|
use Scalar::Util ();
|
|
29
29
|
use List::Util ();
|
|
30
30
|
use Want ();
|
|
31
|
-
our $VERSION = 'v1.3.
|
|
31
|
+
our $VERSION = 'v1.3.5';
|
|
32
32
|
our $ERROR;
|
|
33
33
|
our( $CATCH, $DIED, $EXCEPTION, $FINALLY, $HAS_CATCH, @RETVAL, $SENTINEL, $TRY, $WANTARRAY );
|
|
34
34
|
}
|
|
@@ -113,11 +113,6 @@ sub filter
|
|
|
113
113
|
return( $status );
|
|
114
114
|
}
|
|
115
115
|
$line++;
|
|
116
|
-
# if( /^__(?:DATA|END)__/ )
|
|
117
|
-
# {
|
|
118
|
-
# $last_line = $_;
|
|
119
|
-
# last;
|
|
120
|
-
# }
|
|
121
116
|
$code .= $_;
|
|
122
117
|
$_ = '';
|
|
123
118
|
}
|
|
@@ -128,25 +123,34 @@ sub filter
|
|
|
128
123
|
# 2021-06-05 (Jacques): fixes the issue No. 3 <https://gitlab.com/jackdeguest/Nice-Try/issues/3>
|
|
129
124
|
# Make sure there is at least a space at the beginning
|
|
130
125
|
$code = ' ' . $code;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
$
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
126
|
+
if( index( $code, 'try' ) != -1 )
|
|
127
|
+
{
|
|
128
|
+
$self->_message( 4, "Processing $line lines of code." ) if( $self->{debug} >= 4 );
|
|
129
|
+
my $doc = PPI::Document->new( \$code, readonly => 1 ) || die( "Unable to parse: ", PPI::Document->errstr, "\n$code\n" );
|
|
130
|
+
# Remove pod
|
|
131
|
+
# $doc->prune('PPI::Token::Pod');
|
|
132
|
+
$self->_browse( $doc ) if( $self->{debug_dump} );
|
|
133
|
+
if( $doc = $self->_parse( $doc ) )
|
|
134
|
+
{
|
|
135
|
+
$_ = $doc->serialize;
|
|
136
|
+
# $doc->save( "./dev/debug-parsed.pl" );
|
|
137
|
+
# $status = 1;
|
|
138
|
+
}
|
|
139
|
+
# Rollback
|
|
140
|
+
else
|
|
141
|
+
{
|
|
142
|
+
# $self->_message( 5, "Nothing found, restoring code to '$code'" );
|
|
143
|
+
$_ = $code;
|
|
144
|
+
# $status = -1;
|
|
145
|
+
# filter_del();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
143
148
|
else
|
|
144
149
|
{
|
|
145
|
-
|
|
150
|
+
$self->_message( 4, "There does not seem to be any try block in this code, so skipping." );
|
|
146
151
|
$_ = $code;
|
|
147
|
-
# $status = -1;
|
|
148
|
-
# filter_del();
|
|
149
152
|
}
|
|
153
|
+
|
|
150
154
|
if( CORE::length( $last_line ) )
|
|
151
155
|
{
|
|
152
156
|
$_ .= $last_line;
|
|
@@ -668,11 +672,13 @@ sub _parse
|
|
|
668
672
|
|
|
669
673
|
my $has_catch_clause = scalar( @$catch_def ) > 0 ? 1 : 0;
|
|
670
674
|
|
|
675
|
+
# NOTE: processing finally block
|
|
671
676
|
# Prepare the finally block, if any, and add it below at the appropriate place
|
|
672
677
|
my $fin_block = '';
|
|
673
678
|
if( scalar( @$fin_block_ref ) )
|
|
674
679
|
{
|
|
675
680
|
my $fin_def = $fin_block_ref->[0];
|
|
681
|
+
$self->_process_sub_token( $fin_def->{block} );
|
|
676
682
|
$self->_process_caller( finally => $fin_def->{block} );
|
|
677
683
|
## my $finally_block = $fin_def->{block}->content;
|
|
678
684
|
my $finally_block = $self->_serialize( $fin_def->{block} );
|
|
@@ -700,6 +706,7 @@ EOT
|
|
|
700
706
|
}
|
|
701
707
|
}
|
|
702
708
|
|
|
709
|
+
# NOTE: processing try blocks
|
|
703
710
|
# Found any try block at all?
|
|
704
711
|
if( scalar( @$try_block_ref ) )
|
|
705
712
|
{
|
|
@@ -722,6 +729,8 @@ EOT
|
|
|
722
729
|
}
|
|
723
730
|
|
|
724
731
|
$self->_process_loop_breaks( $try_def->{block} );
|
|
732
|
+
# NOTE: process, in try block, __SUB__ which reference current sub since perl v5.16
|
|
733
|
+
$self->_process_sub_token( $try_def->{block} );
|
|
725
734
|
$self->_process_caller( try => $try_def->{block} );
|
|
726
735
|
|
|
727
736
|
## my $try_block = $try_def->{block}->content;
|
|
@@ -785,6 +794,15 @@ EOT
|
|
|
785
794
|
CORE::local \$\@;
|
|
786
795
|
CORE::eval
|
|
787
796
|
{
|
|
797
|
+
EOT
|
|
798
|
+
if( $] >= 5.036000 )
|
|
799
|
+
{
|
|
800
|
+
$try_sub .= <<EOT;
|
|
801
|
+
no warnings 'experimental::args_array_with_signatures';
|
|
802
|
+
EOT
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
$try_sub .= <<EOT;
|
|
788
806
|
if( CORE::defined( \$Nice::Try::WANT ) && CORE::length( \$Nice::Try::WANT ) )
|
|
789
807
|
{
|
|
790
808
|
if( \$Nice::Try::WANT eq 'OBJECT' )
|
|
@@ -889,12 +907,19 @@ EOT
|
|
|
889
907
|
next;
|
|
890
908
|
}
|
|
891
909
|
|
|
910
|
+
# NOTE: processing catch block
|
|
892
911
|
my $if_start = <<EOT;
|
|
893
912
|
if( \$Nice::Try::DIED )
|
|
894
913
|
{
|
|
895
914
|
if( \$Nice::Try::HAS_CATCH )
|
|
896
915
|
{
|
|
897
916
|
EOT
|
|
917
|
+
if( $] >= 5.036000 )
|
|
918
|
+
{
|
|
919
|
+
$if_start .= <<EOT;
|
|
920
|
+
no warnings 'experimental::args_array_with_signatures';
|
|
921
|
+
EOT
|
|
922
|
+
}
|
|
898
923
|
$if_start =~ s/\n/ /gs unless( $self->{debug_code} );
|
|
899
924
|
push( @$catch_repl, $if_start );
|
|
900
925
|
if( scalar( @$catch_def ) )
|
|
@@ -912,6 +937,8 @@ EOT
|
|
|
912
937
|
{
|
|
913
938
|
$cdef->{block} = $emb;
|
|
914
939
|
}
|
|
940
|
+
# NOTE: process, in catch block, __SUB__ which reference current sub since perl v5.16
|
|
941
|
+
$self->_process_sub_token( $cdef->{block} );
|
|
915
942
|
|
|
916
943
|
if( $cdef->{var} )
|
|
917
944
|
{
|
|
@@ -981,6 +1008,7 @@ EOT
|
|
|
981
1008
|
# $self->_message( 3, "\$i = $i, \$total_catch = $total_catch and cond = '$cond'" );
|
|
982
1009
|
# my $block = $cdef->{block}->content;
|
|
983
1010
|
$self->_process_loop_breaks( $cdef->{block} );
|
|
1011
|
+
$self->_process_sub_token( $cdef->{block} );
|
|
984
1012
|
$self->_process_caller( catch => $cdef->{block} );
|
|
985
1013
|
my $block = $self->_serialize( $cdef->{block} );
|
|
986
1014
|
$block =~ s/^\{[[:blank:]]*|[[:blank:]]*\}$//gs;
|
|
@@ -1228,6 +1256,15 @@ if( ( CORE::defined( \$Nice::Try::WANTARRAY ) || ( defined( \$Nice::Try::BREAK )
|
|
|
1228
1256
|
( Scalar::Util::blessed( \$Nice::Try::RETVAL[0] ) && !\$Nice::Try::RETVAL[0]->isa( 'Nice::Try::SENTINEL' ) )
|
|
1229
1257
|
) )
|
|
1230
1258
|
{
|
|
1259
|
+
EOT
|
|
1260
|
+
if( CORE::scalar( CORE::keys( %warnings:: ) ) &&
|
|
1261
|
+
CORE::exists( $warnings::Bits{args_array_with_signatures} ) )
|
|
1262
|
+
{
|
|
1263
|
+
$last_return_block .= <<EOT;
|
|
1264
|
+
no warnings 'experimental::args_array_with_signatures';
|
|
1265
|
+
EOT
|
|
1266
|
+
}
|
|
1267
|
+
$last_return_block .= <<EOT;
|
|
1231
1268
|
if( !CORE::defined( \$Nice::Try::BREAK ) || \$Nice::Try::BREAK eq 'return' )
|
|
1232
1269
|
{
|
|
1233
1270
|
if( CORE::defined( \$Nice::Try::WANT ) && CORE::length( \$Nice::Try::WANT ) )
|
|
@@ -1399,7 +1436,18 @@ sub _process_loop_breaks
|
|
|
1399
1436
|
my $elem = shift( @_ ) || return( '' );
|
|
1400
1437
|
no warnings 'uninitialized';
|
|
1401
1438
|
return( $elem ) if( !$elem->children );
|
|
1402
|
-
|
|
1439
|
+
my $ct = "$elem";
|
|
1440
|
+
# There is nothing to do
|
|
1441
|
+
if( index( $ct, 'last' ) == -1 &&
|
|
1442
|
+
index( $ct, 'next' ) == -1 &&
|
|
1443
|
+
index( $ct, 'redo' ) == -1 &&
|
|
1444
|
+
index( $ct, 'goto' ) == -1 &&
|
|
1445
|
+
index( $ct, 'return' ) == -1 )
|
|
1446
|
+
{
|
|
1447
|
+
$self->_message( 4, "There is nothing to be done. Key words last, next, redo or goto are not found." );
|
|
1448
|
+
return( '' );
|
|
1449
|
+
}
|
|
1450
|
+
$self->_message( 5, "Checking loop breaks in ", scalar( $elem->elements ), " elements for '$elem'" ) if( $self->{debug} >= 5 );
|
|
1403
1451
|
foreach my $e ( $elem->elements )
|
|
1404
1452
|
{
|
|
1405
1453
|
my $content = $e->content // '';
|
|
@@ -1497,6 +1545,141 @@ sub _process_loop_breaks
|
|
|
1497
1545
|
return( $elem );
|
|
1498
1546
|
}
|
|
1499
1547
|
|
|
1548
|
+
sub _process_sub_token
|
|
1549
|
+
{
|
|
1550
|
+
my $self = shift( @_ );
|
|
1551
|
+
my $elem = shift( @_ ) || return( '' );
|
|
1552
|
+
# token __SUB__ is only available since perl v5.16
|
|
1553
|
+
return( '' ) unless( $] >= 5.016000 );
|
|
1554
|
+
if( index( "$elem", '__SUB__' ) == -1 )
|
|
1555
|
+
{
|
|
1556
|
+
$self->_message( 5, "No __SUB__ token found in ", scalar( $elem->elements ), " elements for '$elem'" ) if( $self->{debug} >= 5 );
|
|
1557
|
+
return( '' );
|
|
1558
|
+
}
|
|
1559
|
+
no warnings 'uninitialized';
|
|
1560
|
+
return( $elem ) if( !$elem->children );
|
|
1561
|
+
$self->_message( 5, "Checking __SUB__ token in ", scalar( $elem->elements ), " elements for '$elem'" ) if( $self->{debug} >= 5 );
|
|
1562
|
+
# Look for parent, and if we can find a sub, or an anonymous sub
|
|
1563
|
+
# my $sub = sub{} -> PPI::Token::Word 'sub', PPI::Structure::Block '{'
|
|
1564
|
+
# sub mysub {} -> PPI::Statement::Sub -> PPI::Token::Word 'sub', PPI::Token::Word 'mysub', PPI::Structure::Block '{'
|
|
1565
|
+
my $find_closest_sub;
|
|
1566
|
+
$find_closest_sub = sub
|
|
1567
|
+
{
|
|
1568
|
+
my $e = shift( @_ );
|
|
1569
|
+
return if( !defined( $e ) );
|
|
1570
|
+
my $parent = $e->parent;
|
|
1571
|
+
return if( !$parent );
|
|
1572
|
+
# Keep going up until we find a block
|
|
1573
|
+
while( $parent )
|
|
1574
|
+
{
|
|
1575
|
+
$self->_message( 5, "Checking parent element of class ", $parent->class, " and value $parent" ) if( $self->{debug} >= 5 );
|
|
1576
|
+
if( $parent->class eq 'PPI::Structure::Block' )
|
|
1577
|
+
{
|
|
1578
|
+
my $sub_name;
|
|
1579
|
+
my $prev = $parent->sprevious_sibling;
|
|
1580
|
+
while( $prev )
|
|
1581
|
+
{
|
|
1582
|
+
if( $prev->content eq 'sub' )
|
|
1583
|
+
{
|
|
1584
|
+
return({ element => $parent, name => $sub_name });
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
if( $prev->class eq 'PPI::Token::Word' )
|
|
1588
|
+
{
|
|
1589
|
+
if( CORE::defined( $sub_name ) )
|
|
1590
|
+
{
|
|
1591
|
+
warn( "Found some redefinition of a subroutine's name at line ", $prev->line_number, " for subroutine '${sub_name}'\n" ) if( warnings::enabled() );
|
|
1592
|
+
}
|
|
1593
|
+
$sub_name = $prev->content;
|
|
1594
|
+
}
|
|
1595
|
+
$prev = $prev->sprevious_sibling;
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
$parent = $parent->parent;
|
|
1599
|
+
}
|
|
1600
|
+
return;
|
|
1601
|
+
};
|
|
1602
|
+
my $def = $find_closest_sub->( $elem );
|
|
1603
|
+
if( $def )
|
|
1604
|
+
{
|
|
1605
|
+
my $block = $def->{element};
|
|
1606
|
+
$self->_message( 5, "Found a sub block at line ", $block->line_number, " of class ", $block->class, " with name '", ( $def->{name} // 'anonymous' ), "'" ) if( $self->{debug} >= 5 );
|
|
1607
|
+
my $sub_token_code = <<'PERL';
|
|
1608
|
+
CORE::local $Nice::Try::SUB_TOKEN;
|
|
1609
|
+
{
|
|
1610
|
+
use feature 'current_sub';
|
|
1611
|
+
no warnings 'experimental';
|
|
1612
|
+
$Nice::Try::SUB_TOKEN = __SUB__;
|
|
1613
|
+
}
|
|
1614
|
+
PERL
|
|
1615
|
+
$sub_token_code =~ s/\n//gs;
|
|
1616
|
+
# $sub_token_code .= $block;
|
|
1617
|
+
my $sub_token_doc = PPI::Document->new( \$sub_token_code, readonly => 1 );
|
|
1618
|
+
my @new_elems = $sub_token_doc->elements;
|
|
1619
|
+
# my $new_elem = $sub_token_doc;
|
|
1620
|
+
# $self->_browse( $new_elem );
|
|
1621
|
+
# $new_elem->remove;
|
|
1622
|
+
$_->remove for( @new_elems );
|
|
1623
|
+
$self->_message( 5, "New elements is object '", sub{ join( ', ', map( overload::StrVal( $_ ), @new_elems ) ) }, "' -> $_" ) if( $self->{debug} >= 5 );
|
|
1624
|
+
# $block->replace( $new_elem );
|
|
1625
|
+
# $self->_message( 5, "New element is a PPI::Element ? -> ", ( $new_elem->isa( 'PPI::Element' ) ? 'yes' : 'no' ) );
|
|
1626
|
+
# Not yet implemented as of 2021-05-11 dixit PPI, so we use a hack to make it available anyhow
|
|
1627
|
+
my $rv;
|
|
1628
|
+
my @children = $block->children;
|
|
1629
|
+
if( scalar( @children ) )
|
|
1630
|
+
{
|
|
1631
|
+
my $last = $children[0];
|
|
1632
|
+
for( reverse( @new_elems ) )
|
|
1633
|
+
{
|
|
1634
|
+
$rv = $last->__insert_before( $_ );
|
|
1635
|
+
$self->_message( 5, "Element successfully inserted? ", ( defined( $rv ) ? ( $rv ? 'yes' : 'no' ) : 'no. element provided was not an PPI::Element.' ) ) if( $self->{debug} >= 5 );
|
|
1636
|
+
$last = $_;
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
else
|
|
1640
|
+
{
|
|
1641
|
+
for( @new_elems )
|
|
1642
|
+
{
|
|
1643
|
+
$rv = $block->add_element( $_ );
|
|
1644
|
+
$self->_message( 5, "Element successfully inserted? ", ( defined( $rv ) ? ( ref( $rv ) eq 'PPI::Element' ? 'ok' : 'returned value is not an PPI::Element (' . ref( $rv ) . ')' ) : 'no' ) ) if( $self->{debug} >= 5 );
|
|
1645
|
+
}
|
|
1646
|
+
}
|
|
1647
|
+
$self->_message( 5, "Updated block now is '$block' for class '", $block->class, "'." ) if( $self->{debug} >= 5 );
|
|
1648
|
+
}
|
|
1649
|
+
else
|
|
1650
|
+
{
|
|
1651
|
+
$self->_message( 5, "No subroutine found! This is a try-catch block outside of a subroutine." ) if( $self->{debug} >= 5 );
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
my $crawl;
|
|
1655
|
+
$crawl = sub
|
|
1656
|
+
{
|
|
1657
|
+
my $this = shift( @_ );
|
|
1658
|
+
foreach my $e ( $this->elements )
|
|
1659
|
+
{
|
|
1660
|
+
$self->_message( 5, "Checking element ", overload::StrVal( $e ), " of class ", $e->class, " for token __SUB__" ) if( $self->{debug} >= 5 );
|
|
1661
|
+
if( $e->content eq '__SUB__' )
|
|
1662
|
+
{
|
|
1663
|
+
$self->_message( 5, "Found token __SUB__" ) if( $self->{debug} >= 5 );
|
|
1664
|
+
my $new_ct = '$Nice::Try::SUB_TOKEN';
|
|
1665
|
+
my $new_ct_doc = PPI::Document->new( \$new_ct, readonly => 1 );
|
|
1666
|
+
my $new_token = $new_ct_doc->first_element;
|
|
1667
|
+
$new_token->remove;
|
|
1668
|
+
$e->replace( $new_token );
|
|
1669
|
+
}
|
|
1670
|
+
elsif( $e->can( 'elements' ) &&
|
|
1671
|
+
scalar( $e->elements ) &&
|
|
1672
|
+
index( "$e", '__SUB__' ) != -1 )
|
|
1673
|
+
{
|
|
1674
|
+
$crawl->( $e );
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
};
|
|
1678
|
+
$crawl->( $elem );
|
|
1679
|
+
$self->_message( 5, "After processing __SUB__ tokens, try-catch block is now:\n$elem" ) if( $self->{debug} >= 5 );
|
|
1680
|
+
return( $elem );
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1500
1683
|
## Taken from PPI::Document
|
|
1501
1684
|
sub _serialize
|
|
1502
1685
|
{
|
|
@@ -1713,7 +1896,7 @@ sub _serialize
|
|
|
1713
1896
|
|
|
1714
1897
|
1;
|
|
1715
1898
|
|
|
1716
|
-
#
|
|
1899
|
+
# NOTE POD
|
|
1717
1900
|
__END__
|
|
1718
1901
|
|
|
1719
1902
|
=encoding utf-8
|
|
@@ -1857,7 +2040,7 @@ And you also have granular power in the catch block to filter which exception to
|
|
|
1857
2040
|
|
|
1858
2041
|
=head1 VERSION
|
|
1859
2042
|
|
|
1860
|
-
v1.3.
|
|
2043
|
+
v1.3.5
|
|
1861
2044
|
|
|
1862
2045
|
=head1 DESCRIPTION
|
|
1863
2046
|
|
|
@@ -2164,7 +2347,7 @@ In group 3, L<TryCatch> was working wonderfully, but was relying on L<Devel::Dec
|
|
|
2164
2347
|
|
|
2165
2348
|
L<TryCatch> does not support any C<finally> block.
|
|
2166
2349
|
|
|
2167
|
-
In group 4, there is L<Syntax::Keyword::Try>, which is a great alternative if you do not care about exception class filter (it supports variable assignment since 2020-08-01 with version 0.18).
|
|
2350
|
+
In group 4, there is L<Syntax::Keyword::Try>, which is a great alternative if you do not care about exception class filter (it supports class exception since 2020-07-21 with version 0.15 and variable assignment since 2020-08-01 with version 0.18).
|
|
2168
2351
|
|
|
2169
2352
|
Although, the following script would not work under L<Syntax::Keyword::Try> :
|
|
2170
2353
|
|
|
@@ -2209,7 +2392,7 @@ Since L<perl version 5.33.7|https://perldoc.perl.org/blead/perlsyn#Try-Catch-Exc
|
|
|
2209
2392
|
|
|
2210
2393
|
use feature 'try'; # will emit a warning this is experimental
|
|
2211
2394
|
|
|
2212
|
-
This new feature supports try-catch block and variable assignment, but no exception class, nor support for C<finally> block, so you can do:
|
|
2395
|
+
This new feature supports try-catch block and variable assignment, but no exception class, nor support for C<finally> block until version L<perl 5.36 released on 2022-05-28|https://perldoc.perl.org/5.36.0/perldelta> of perl, so you can do:
|
|
2213
2396
|
|
|
2214
2397
|
try
|
|
2215
2398
|
{
|
|
@@ -2232,17 +2415,19 @@ But B<you cannot do>:
|
|
|
2232
2415
|
{
|
|
2233
2416
|
return( $self->error( "Something went awry with MyException: $oh_well" ) );
|
|
2234
2417
|
}
|
|
2235
|
-
#
|
|
2418
|
+
# Support for 'finally' has been implemented in perl 5.36 released on 2022-05-28
|
|
2236
2419
|
finally
|
|
2237
2420
|
{
|
|
2238
2421
|
# do some cleanup here
|
|
2239
2422
|
}
|
|
2240
2423
|
|
|
2424
|
+
An update as of 2022-05-28, L<perl-v5.36|https://perldoc.perl.org/5.36.0/perldelta#try/catch-can-now-have-a-finally-block-(experimental)> now supports the experimental C<finally> block.
|
|
2425
|
+
|
|
2241
2426
|
Also, the C<use feature 'try'> expression must be in the relevant block where you use C<try-catch>. You cannot just put it in your C<BEGIN> block at the beginning of your script. If you have 3 subroutines using C<try-catch>, you need to put C<use feature 'try'> in each of them. See L<perl documentation on lexical effect|https://perldoc.perl.org/feature#Lexical-effect> for more explanation on this.
|
|
2242
2427
|
|
|
2243
2428
|
It is probably a matter of time until this is fully implemented in perl as a regular non-experimental feature.
|
|
2244
2429
|
|
|
2245
|
-
See more information about perl's featured implementation of try-catch in L<perlsyn|https://perldoc.perl.org/
|
|
2430
|
+
See more information about perl's featured implementation of try-catch in L<perlsyn|https://perldoc.perl.org/perlsyn#Try-Catch-Exception-Handling>
|
|
2246
2431
|
|
|
2247
2432
|
So, L<Nice::Try> is quite unique and fills the missing features, and since it uses XS modules for a one-time filtering, it is quite fast.
|
|
2248
2433
|
|
|
@@ -2617,7 +2802,7 @@ The use of L<Want> is also automatically disabled when running under a package t
|
|
|
2617
2802
|
|
|
2618
2803
|
=head1 LIMITATIONS
|
|
2619
2804
|
|
|
2620
|
-
|
|
2805
|
+
Before version C<v1.3.5>, there was a limitation on using signature on a subroutine, but since version C<v1.3.5>, it has been fixed and there is no more any limitation. Thus the following works nicely too.
|
|
2621
2806
|
|
|
2622
2807
|
use strict;
|
|
2623
2808
|
use warnings;
|
|
@@ -2638,27 +2823,30 @@ Currently, the only known limitation is when one use experimental subroutine att
|
|
|
2638
2823
|
|
|
2639
2824
|
__END__
|
|
2640
2825
|
|
|
2641
|
-
|
|
2826
|
+
=head1 PERFORMANCE
|
|
2642
2827
|
|
|
2643
|
-
|
|
2644
|
-
use warnings;
|
|
2645
|
-
use experimental 'signatures';
|
|
2646
|
-
use Nice::Try;
|
|
2828
|
+
C<Nice::Try> is quite fast, but as with any class implementing a C<try-catch> block, it is of course a bit slower than the natural C<eval> block.
|
|
2647
2829
|
|
|
2648
|
-
|
|
2830
|
+
Because C<Nice::Try> relies on L<PPI> for parsing the perl code, if your code is very long, there will be an execution time penalty.
|
|
2649
2831
|
|
|
2650
|
-
|
|
2832
|
+
If you use framework such as L<mod_perl2>, then it will only affect the first time the code is run, since afterward, the code will be loaded in memory.
|
|
2651
2833
|
|
|
2652
|
-
|
|
2653
|
-
my $k = sub {}; # <-- Now it works normally
|
|
2654
|
-
print( "worked\n" );
|
|
2655
|
-
}
|
|
2656
|
-
catch($e) {
|
|
2657
|
-
warn "caught: $e";
|
|
2658
|
-
}
|
|
2834
|
+
Still, if you use perl version C<v5.34> or higher, and have simple need of C<try-catch>, then simply use instead perl experimental implementation, such as:
|
|
2659
2835
|
|
|
2660
|
-
|
|
2836
|
+
use v5.34;
|
|
2837
|
+
use strict;
|
|
2838
|
+
use warnings;
|
|
2839
|
+
use feature 'try';
|
|
2840
|
+
no warnings 'experimental';
|
|
2661
2841
|
|
|
2842
|
+
try
|
|
2843
|
+
{
|
|
2844
|
+
# do something
|
|
2845
|
+
}
|
|
2846
|
+
catch( $e )
|
|
2847
|
+
{
|
|
2848
|
+
# catch fatal error here
|
|
2849
|
+
}
|
|
2662
2850
|
|
|
2663
2851
|
=head1 DEBUGGING
|
|
2664
2852
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Attribute::Util","version":"1.07","provides":{"Attribute::
|
|
1
|
+
{"pathname":"D/DA/DANKOGAI/Attribute-Util-1.07.tar.gz","dist":"Attribute-Util-1.07","target":"Attribute::Abstract","name":"Attribute::Util","version":"1.07","provides":{"Attribute::SigHandler":{"file":"lib/Attribute/SigHandler.pm","version":"1.02"},"Attribute::Method":{"version":"1.04","file":"lib/Attribute/Method.pm"},"Attribute::Memoize":{"version":"1.02","file":"lib/Attribute/Memoize.pm"},"Attribute::Abstract":{"file":"lib/Attribute/Abstract.pm","version":"1.02"},"Attribute::Util":{"version":"1.07","file":"lib/Attribute/Util.pm"},"Attribute::Alias":{"version":"1.02","file":"lib/Attribute/Alias.pm"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"provides":{"Capture::Tiny":{"version":"0.48","file":"lib/Capture/Tiny.pm"}},"name":"Capture::Tiny","version":"0.48","dist":"Capture-Tiny-0.48","target":"Capture::Tiny","pathname":"D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"pathname":"E/ET/ETHER/Class-Load-0.25.tar.gz","dist":"Class-Load-0.25","target":"Class::Load","version":"0.25","name":"Class::Load","provides":{"Class::Load":{"file":"lib/Class/Load.pm","version":"0.25"},"Class::Load::PP":{"version":"0.25","file":"lib/Class/Load/PP.pm"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"dist":"Class-Load-XS-0.10","target":"Class::Load::XS","pathname":"E/ET/ETHER/Class-Load-XS-0.10.tar.gz","provides":{"Class::Load::XS":{"version":"0.10","file":"lib/Class/Load/XS.pm"}},"version":"0.10","name":"Class::Load::XS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":"0.46","name":"Clone","provides":{"Clone":{"file":"Clone.pm","version":"0.46"}},"pathname":"G/GA/GARU/Clone-0.46.tar.gz","dist":"Clone-0.46","target":"Clone"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"dist":"Data-Cmp-0.010","target":"Data::Cmp","pathname":"P/PE/PERLANCAR/Data-Cmp-0.010.tar.gz","provides":{"Data::Cmp::StrOrNumeric":{"file":"lib/Data/Cmp/StrOrNumeric.pm","version":"0.010"},"Data::Cmp::Numeric":{"version":"0.010","file":"lib/Data/Cmp/Numeric.pm"},"Data::Cmp":{"file":"lib/Data/Cmp.pm","version":"0.010"}},"name":"Data::Cmp","version":"0.010"}
|