javonet-ruby-sdk 2.5.13 → 2.5.15
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPhpRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby342RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhpRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPython2RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby342RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libperl.so.5.34.0 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libpython2.7.so.1.0 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libruby.so.3.4.2 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhpRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby342RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libruby.3.4.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerl540RuntimeNativeAuxiliary.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/python27.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/x64-ucrt-ruby340.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/CommandDeserializer.js +30 -14
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/CommandSerializer.js +38 -25
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +51 -46
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/ConfigRuntimeFactory.js +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/InvocationContext.js +3 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/Javonet.js +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeContext.js +2 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeFactory.js +9 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/RuntimeName.js +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/RuntimeNameHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Runtime.pm +227 -222
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +74 -15
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Scalar/Util/Numeric/Numeric.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/autobox/autobox.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +92 -114
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ResolveInstanceHandler.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/HandlerDictionary.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/ReferencesCache.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +7 -6
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +26 -25
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +15 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +6 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +7 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +11 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +11 -8
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +9 -7
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLib.pm +5 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +6 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/StringEncodingMode.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/Type.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeFactory.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +25 -25
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ResolveInstanceHandler.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/HandlerDictionary.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/ReferencesCache.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +7 -6
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +26 -25
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +6 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +15 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +6 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +7 -4
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +11 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +11 -8
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +9 -7
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLib.pm +5 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +6 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/StringEncodingMode.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/Type.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeFactory.pm +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetTypeHandler.py +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/LoadLibraryHandler.py +14 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +1 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +28 -11
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +18 -17
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +1 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +44 -46
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeName.py +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeNameHandler.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/ExceptionSerializer.py +21 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/ExceptionThrower.py +43 -39
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/__init__.py +32 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/__init__.py +1 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +20 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/delegateCache/DelegatesCache.py +73 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/delegateCache/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/AbstractCommandHandler.py +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/AbstractHandler.py +9 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArrayGetItemHandler.py +51 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArrayGetRankHandler.py +41 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArrayGetSizeHandler.py +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArrayHandler.py +25 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ArraySetItemHandler.py +60 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/CastingHandler.py +11 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/CreateClassInstanceHandler.py +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/DestructReferenceHandler.py +25 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/EnableNamespaceHandler.py +43 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/EnableTypeHandler.py +43 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetEnumItemHandler.py +54 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetEnumNameHandler.py +44 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetEnumValueHandler.py +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetInstanceFieldHandler.py +40 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetInstanceMethodAsDelegateHandler.py +43 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetStaticFieldHandler.py +41 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetStaticMethodAsDelegateHandler.py +43 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetTypeHandler.py +115 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +152 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/HandlerDictionary.py +23 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +56 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +78 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeInstanceMethodHandler.py +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeStaticMethodHandler.py +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/LoadLibraryHandler.py +62 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/PassDelegateHandler.py +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ResolveInstanceHandler.py +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/SetInstanceFieldHandler.py +42 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/SetStaticFieldHandler.py +43 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/ValueHandler.py +27 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/__init__.py +1 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/namespaceCache/NamespaceCache.py +69 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/namespaceCache/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +237 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +56 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/TypeDeserializer.py +154 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/TypeSerializer.py +187 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +35 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/__init__.py +1 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/referenceCache/ReferencesCache.py +57 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/transmitter/Transmitter.py +59 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/transmitter/TransmitterWrapper.py +102 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/typeCache/TypeCache.py +69 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/typeCache/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/webSocketClient/WebSocketClient.py +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +170 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/CommandType.py +154 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/ConnectionType.py +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/ExceptionType.py +95 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/PythonStringBuilder.py +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/RuntimeLogger.py +50 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/RuntimeName.py +120 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/RuntimeNameHandler.py +47 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/StringEncodingMode.py +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Type.py +68 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/UtilsConst.py +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/connectionData/IConnectionData.py +45 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/connectionData/InMemoryConnectionData.py +32 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/connectionData/TcpConnectionData.py +142 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/connectionData/WsConnectionData.py +75 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/connectionData/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/exception/ExceptionSerializer.py +94 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/exception/ExceptionThrower.py +85 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/exception/JavonetException.py +31 -0
- data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/exception/__init__.py +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/get_type_handler.rb +10 -9
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb +18 -16
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +41 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +17 -19
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +72 -11
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +181 -20
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/reference_cache/references_cache.rb +14 -8
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/type_cache/type_cache.rb +14 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +6 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/get_type_handler.rb +10 -9
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb +18 -16
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +41 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +17 -19
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +72 -11
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +181 -20
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/reference_cache/references_cache.rb +14 -8
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/type_cache/type_cache.rb +14 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +6 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/get_type_handler.rb +10 -9
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb +18 -16
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +41 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +17 -19
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +72 -11
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +181 -20
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/reference_cache/references_cache.rb +14 -8
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/type_cache/type_cache.rb +14 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +6 -0
- data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
- data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +10 -9
- data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +18 -16
- data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +41 -30
- data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +17 -19
- data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +72 -11
- data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +181 -20
- data/lib/javonet-ruby-sdk/core/receiver/receiver.rb +1 -1
- data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +14 -8
- data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +14 -12
- data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +8 -0
- data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +4 -0
- data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +4 -0
- data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +2 -4
- data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +2 -5
- data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +7 -0
- data/lib/javonet-ruby-sdk/utils/runtime_name.rb +2 -0
- data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +6 -0
- metadata +103 -163
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libpython3.12.so.1.0 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +0 -33
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libperl.so.5.30.0 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libpython3.11.so.1.0 +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libpython3.11.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/python312.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/python312.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/python312.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/API.pod +0 -2127
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Authoring.pod +0 -326
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Base.pm +0 -5714
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Bundling.pod +0 -147
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Compat.pm +0 -653
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Config.pm +0 -59
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/ConfigData.pm +0 -206
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Cookbook.pm +0 -529
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Dumper.pm +0 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Notes.pm +0 -327
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/PPMMaker.pm +0 -186
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/Default.pm +0 -32
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/MacOS.pm +0 -151
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/Unix.pm +0 -72
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/VMS.pm +0 -522
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/VOS.pm +0 -33
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/Windows.pm +0 -234
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/aix.pm +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/cygwin.pm +0 -54
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/darwin.pm +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Platform/os2.pm +0 -48
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/PodParser.pm +0 -70
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build.pm +0 -1097
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Clone.pm +0 -99
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util/XS.pm +0 -42
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util.pm +0 -836
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/List/Utils.pm +0 -43
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util.pm +0 -390
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Sub/Util.pm +0 -153
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Clone/Clone.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Clone/autosplit.ix +0 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/AbstractGeneretatorHandler.py +0 -8
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/CreateInstanceGeneratorHandler.py +0 -44
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/GeneratorHandler.py +0 -65
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/GetInstanceFieldGeneratorHandler.py +0 -36
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/GetStaticFieldGeneratorHandler.py +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/GetTypeGeneratorHandler.py +0 -92
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/Handlers.py +0 -59
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/InvokeInstanceMethodGeneratorHandler.py +0 -53
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/InvokeStaticMethodGeneratorHandler.py +0 -54
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedArgumentNameHandler.py +0 -12
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedClassInstanceHandler.py +0 -12
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedClassNameHandler.py +0 -31
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedMethodNameHandler.py +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedModifierHandler.py +0 -21
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedReturnTypeHandler.py +0 -13
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/SharedTypeHandler.py +0 -57
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedBodyHandler.py +0 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.py +0 -21
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.py +0 -16
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.py +0 -22
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedGetTypeBodyHandler.py +0 -16
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.py +0 -47
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.py +0 -55
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/CommonGenerator.py +0 -23
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/PythonStringBuilder.py +0 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/SharedHandlerType.py +0 -12
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/external_lib/random/formatter.rb +0 -373
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/external_lib/securerandom.rb +0 -96
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/external_lib/singleton.rb +0 -172
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/external_lib/random/formatter.rb +0 -373
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/external_lib/securerandom.rb +0 -96
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/external_lib/singleton.rb +0 -172
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/external_lib/random/formatter.rb +0 -373
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/external_lib/securerandom.rb +0 -96
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/external_lib/singleton.rb +0 -172
- data/lib/javonet-ruby-sdk/external_lib/random/formatter.rb +0 -373
- data/lib/javonet-ruby-sdk/external_lib/securerandom.rb +0 -96
- data/lib/javonet-ruby-sdk/external_lib/singleton.rb +0 -172
- /data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/{JavonetPerlRuntimeNativeAuxiliary.dll → JavonetPerl532RuntimeNativeAuxiliary.dll} +0 -0
- /data/lib/javonet-ruby-sdk/Binaries/{Python/javonet/core/generator → Python2/javonet/core/interpreter}/__init__.py +0 -0
- /data/lib/javonet-ruby-sdk/Binaries/{Python/javonet/core/generator/handler → Python2/javonet/core/protocol}/__init__.py +0 -0
- /data/lib/javonet-ruby-sdk/Binaries/{Python/javonet/core/generator/handler/shared → Python2/javonet/core/referenceCache}/__init__.py +0 -0
- /data/lib/javonet-ruby-sdk/Binaries/{Python/javonet/core/generator/handler/shared/body → Python2/javonet/core/transmitter}/__init__.py +0 -0
- /data/lib/javonet-ruby-sdk/Binaries/{Python/javonet/core/generator/internal → Python2/javonet/core/webSocketClient}/__init__.py +0 -0
@@ -408,16 +408,14 @@ class InvocationContext {
|
|
408
408
|
} else if (typeof payloadItem === 'InvocationContext' || payloadItem instanceof InvocationContext) {
|
409
409
|
return payloadItem.get_current_command()
|
410
410
|
} else if (payloadItem instanceof Array) {
|
411
|
-
|
412
|
-
|
413
|
-
}
|
414
|
-
return new Command(this.runtimeName, CommandType.Array, payloadItem)
|
411
|
+
const copiedArray = payloadItem.map((item) => this.#encapsulatePayloadItem(item))
|
412
|
+
return new Command(this.runtimeName, CommandType.Array, copiedArray)
|
415
413
|
} else if (typeof payloadItem === 'function') {
|
416
414
|
let newArray = new Array(payloadItem.length + 1)
|
417
415
|
for (let i = 0; i < newArray.length; i++) {
|
418
416
|
newArray[i] = typeof Object
|
419
417
|
}
|
420
|
-
const args = [DelegatesCache.addDelegate(payloadItem), RuntimeName.Nodejs].push(...newArray)
|
418
|
+
const args = [DelegatesCache.addDelegate(payloadItem), RuntimeName.Nodejs].push(...newArray)
|
421
419
|
return new Command(this.#runtimeName, CommandType.PassDelegate, args)
|
422
420
|
} else {
|
423
421
|
return new Command(this.runtimeName, CommandType.Value, [payloadItem])
|
@@ -43,7 +43,7 @@ class Javonet {
|
|
43
43
|
* @returns {RuntimeFactory} A RuntimeFactory instance configured for a WebSocket connection.
|
44
44
|
* @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/websocket-channel)
|
45
45
|
*/
|
46
|
-
static
|
46
|
+
static webSocket(wsConnectionData) {
|
47
47
|
return new RuntimeFactory(wsConnectionData)
|
48
48
|
}
|
49
49
|
|
@@ -276,10 +276,8 @@ class RuntimeContext {
|
|
276
276
|
} else if (typeof payloadItem === 'InvocationContext' || payloadItem instanceof InvocationContext) {
|
277
277
|
return payloadItem.get_current_command()
|
278
278
|
} else if (payloadItem instanceof Array) {
|
279
|
-
|
280
|
-
|
281
|
-
}
|
282
|
-
return new Command(this.runtimeName, CommandType.Array, payloadItem)
|
279
|
+
const copiedArray = payloadItem.map((item) => this.#encapsulatePayloadItem(item))
|
280
|
+
return new Command(this.runtimeName, CommandType.Array, copiedArray)
|
283
281
|
} else if (typeof payloadItem === 'function') {
|
284
282
|
let newArray = new Array(payloadItem.length + 1)
|
285
283
|
for (let i = 0; i < newArray.length; i++) {
|
@@ -73,6 +73,15 @@ class RuntimeFactory {
|
|
73
73
|
nodejs() {
|
74
74
|
return RuntimeContext.getInstance(Runtime.Nodejs, this.connectionData)
|
75
75
|
}
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Creates RuntimeContext instance to interact with the Python runtime.
|
79
|
+
* @return {RuntimeContext} a RuntimeContext instance for the Python runtime
|
80
|
+
* @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/runtime-context)
|
81
|
+
*/
|
82
|
+
python27() {
|
83
|
+
return RuntimeContext.getInstance(Runtime.Python27, this.connectionData)
|
84
|
+
}
|
76
85
|
}
|
77
86
|
|
78
87
|
module.exports = RuntimeFactory
|
@@ -1,3 +1,191 @@
|
|
1
|
+
package Module::Runtime;
|
2
|
+
|
3
|
+
# Don't "use 5.006" here, because Perl 5.15.6 will load feature.pm if
|
4
|
+
# the version check is done that way.
|
5
|
+
BEGIN { require 5.006; }
|
6
|
+
# Don't "use warnings" here, to avoid dependencies. Do standardise the
|
7
|
+
# warning status by lexical override; unfortunately the only safe bitset
|
8
|
+
# to build in is the empty set, equivalent to "no warnings".
|
9
|
+
BEGIN { ${^WARNING_BITS} = ""; }
|
10
|
+
# Don't "use strict" here, to avoid dependencies.
|
11
|
+
|
12
|
+
our $VERSION = '0.018';
|
13
|
+
|
14
|
+
# Don't use Exporter here, to avoid dependencies.
|
15
|
+
our @EXPORT_OK = qw(
|
16
|
+
$module_name_rx is_module_name is_valid_module_name check_module_name
|
17
|
+
module_notional_filename require_module
|
18
|
+
use_module use_package_optimistically
|
19
|
+
$top_module_spec_rx $sub_module_spec_rx
|
20
|
+
is_module_spec is_valid_module_spec check_module_spec
|
21
|
+
compose_module_name
|
22
|
+
);
|
23
|
+
my %export_ok = map { ($_ => undef) } @EXPORT_OK;
|
24
|
+
sub import {
|
25
|
+
my $me = shift;
|
26
|
+
my $callpkg = caller;
|
27
|
+
my $errs = "";
|
28
|
+
foreach(@_) {
|
29
|
+
if(exists $export_ok{$_}) {
|
30
|
+
# We would need to do "no strict 'refs'" here
|
31
|
+
# if we had enabled strict at file scope.
|
32
|
+
if(/\A\$(.*)\z/s) {
|
33
|
+
*{$callpkg."::".$1} = \$$1;
|
34
|
+
} else {
|
35
|
+
*{$callpkg."::".$_} = \&$_;
|
36
|
+
}
|
37
|
+
} else {
|
38
|
+
$errs .= "\"$_\" is not exported by the $me module\n";
|
39
|
+
}
|
40
|
+
}
|
41
|
+
if($errs ne "") {
|
42
|
+
die sprintf "%sCan't continue after import errors at %s line %u.\n",
|
43
|
+
$errs, (caller)[1,2];
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
# Logic duplicated from Params::Classify. Duplicating it here avoids
|
48
|
+
# an extensive and potentially circular dependency graph.
|
49
|
+
sub _is_string($) {
|
50
|
+
my($arg) = @_;
|
51
|
+
return defined($arg) && ref(\$arg) eq "SCALAR";
|
52
|
+
}
|
53
|
+
|
54
|
+
our $module_name_rx = qr{[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*};
|
55
|
+
|
56
|
+
my $qual_module_spec_rx =
|
57
|
+
qr{(?:/|::)[A-Z_a-z][0-9A-Z_a-z]*(?:(?:/|::)[0-9A-Z_a-z]+)*};
|
58
|
+
|
59
|
+
my $unqual_top_module_spec_rx =
|
60
|
+
qr{[A-Z_a-z][0-9A-Z_a-z]*(?:(?:/|::)[0-9A-Z_a-z]+)*};
|
61
|
+
|
62
|
+
our $top_module_spec_rx = qr{$qual_module_spec_rx|$unqual_top_module_spec_rx};
|
63
|
+
|
64
|
+
my $unqual_sub_module_spec_rx = qr{[0-9A-Z_a-z]+(?:(?:/|::)[0-9A-Z_a-z]+)*};
|
65
|
+
|
66
|
+
our $sub_module_spec_rx = qr{$qual_module_spec_rx|$unqual_sub_module_spec_rx};
|
67
|
+
|
68
|
+
sub is_module_name($) { _is_string($_[0]) && $_[0] =~ /\A$module_name_rx\z/o }
|
69
|
+
|
70
|
+
*is_valid_module_name = \&is_module_name;
|
71
|
+
|
72
|
+
sub check_module_name($) {
|
73
|
+
unless(&is_module_name) {
|
74
|
+
die +(_is_string($_[0]) ? "`$_[0]'" : "argument").
|
75
|
+
" is not a module name\n";
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
sub module_notional_filename($) {
|
80
|
+
&check_module_name;
|
81
|
+
my($name) = @_;
|
82
|
+
$name =~ s{::}{/}g;
|
83
|
+
return $name.".pm";
|
84
|
+
}
|
85
|
+
|
86
|
+
# Don't "use constant" here, to avoid dependencies.
|
87
|
+
BEGIN {
|
88
|
+
## no critic (ValuesAndExpressions::ProhibitMismatchedOperators)
|
89
|
+
*_WORK_AROUND_HINT_LEAKAGE =
|
90
|
+
"$]" < 5.011 && !("$]" >= 5.009004 && "$]" < 5.010001)
|
91
|
+
? sub(){1} : sub(){0};
|
92
|
+
*_WORK_AROUND_BROKEN_MODULE_STATE = "$]" < 5.009 ? sub(){1} : sub(){0};
|
93
|
+
}
|
94
|
+
|
95
|
+
BEGIN {
|
96
|
+
if(_WORK_AROUND_BROKEN_MODULE_STATE) {
|
97
|
+
eval <<'END_CODE' or die $@; ## no critic (BuiltinFunctions::ProhibitStringyEval)
|
98
|
+
sub Module::Runtime::__GUARD__::DESTROY {
|
99
|
+
delete $INC{$_[0]->[0]} if @{$_[0]};
|
100
|
+
}
|
101
|
+
1;
|
102
|
+
END_CODE
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
sub require_module($) {
|
107
|
+
# Localise %^H to work around [perl #68590], where the bug exists
|
108
|
+
# and this is a satisfactory workaround. The bug consists of
|
109
|
+
# %^H state leaking into each required module, polluting the
|
110
|
+
# module's lexical state.
|
111
|
+
local %^H if _WORK_AROUND_HINT_LEAKAGE;
|
112
|
+
if(_WORK_AROUND_BROKEN_MODULE_STATE) {
|
113
|
+
my $notional_filename = &module_notional_filename;
|
114
|
+
my $guard = bless([ $notional_filename ],
|
115
|
+
"Module::Runtime::__GUARD__");
|
116
|
+
my $result = CORE::require($notional_filename);
|
117
|
+
pop @$guard;
|
118
|
+
return $result;
|
119
|
+
} else {
|
120
|
+
return scalar(CORE::require(&module_notional_filename));
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
sub use_module($;$) {
|
125
|
+
my($name, $version) = @_;
|
126
|
+
require_module($name);
|
127
|
+
$name->VERSION($version) if @_ >= 2;
|
128
|
+
return $name;
|
129
|
+
}
|
130
|
+
|
131
|
+
my $FILE = __FILE__;
|
132
|
+
sub use_package_optimistically($;$) {
|
133
|
+
my($name, $version) = @_;
|
134
|
+
my $fn = module_notional_filename($name);
|
135
|
+
eval {
|
136
|
+
local $SIG{__DIE__};
|
137
|
+
require_module($name);
|
138
|
+
1;
|
139
|
+
} or do {
|
140
|
+
die $@ if (
|
141
|
+
$@ !~ /\ACan't locate \Q$fn\E .+ at \Q$FILE\E line/s ||
|
142
|
+
$@ =~ /^Compilation\ failed\ in\ require\ at\ \Q$FILE\E\ line/xm
|
143
|
+
);
|
144
|
+
};
|
145
|
+
$name->VERSION($version) if @_ >= 2;
|
146
|
+
return $name;
|
147
|
+
}
|
148
|
+
|
149
|
+
sub is_module_spec($$) {
|
150
|
+
my($prefix, $spec) = @_;
|
151
|
+
return _is_string($spec) && (
|
152
|
+
$prefix ? $spec =~ /\A$sub_module_spec_rx\z/o
|
153
|
+
: $spec =~ /\A$top_module_spec_rx\z/o
|
154
|
+
);
|
155
|
+
}
|
156
|
+
|
157
|
+
*is_valid_module_spec = \&is_module_spec;
|
158
|
+
|
159
|
+
sub check_module_spec($$) {
|
160
|
+
unless(&is_module_spec) {
|
161
|
+
die +(_is_string($_[1]) ? "`$_[1]'" : "argument").
|
162
|
+
" is not a module specification\n";
|
163
|
+
}
|
164
|
+
}
|
165
|
+
|
166
|
+
sub compose_module_name($$) {
|
167
|
+
my($prefix, $spec) = @_;
|
168
|
+
check_module_name($prefix) if defined $prefix;
|
169
|
+
&check_module_spec;
|
170
|
+
if($spec =~ s{\A(?:/|::)}{}) {
|
171
|
+
# OK
|
172
|
+
} else {
|
173
|
+
$spec = $prefix."::".$spec if defined $prefix;
|
174
|
+
}
|
175
|
+
$spec =~ s{/}{::}g;
|
176
|
+
return $spec;
|
177
|
+
}
|
178
|
+
|
179
|
+
1;
|
180
|
+
|
181
|
+
__END__
|
182
|
+
|
183
|
+
=pod
|
184
|
+
|
185
|
+
=encoding UTF-8
|
186
|
+
|
187
|
+
=for :stopwords Andrew Main (Zefram) Main, Graham Knop
|
188
|
+
|
1
189
|
=head1 NAME
|
2
190
|
|
3
191
|
Module::Runtime - runtime module handling
|
@@ -5,8 +193,8 @@ Module::Runtime - runtime module handling
|
|
5
193
|
=head1 SYNOPSIS
|
6
194
|
|
7
195
|
use Module::Runtime qw(
|
8
|
-
|
9
|
-
|
196
|
+
$module_name_rx is_module_name check_module_name
|
197
|
+
module_notional_filename require_module);
|
10
198
|
|
11
199
|
if($module_name =~ /\A$module_name_rx\z/o) { ...
|
12
200
|
if(is_module_name($module_name)) { ...
|
@@ -21,9 +209,9 @@ Module::Runtime - runtime module handling
|
|
21
209
|
$widget = use_package_optimistically("Local::Widget")->new;
|
22
210
|
|
23
211
|
use Module::Runtime qw(
|
24
|
-
|
25
|
-
|
26
|
-
|
212
|
+
$top_module_spec_rx $sub_module_spec_rx
|
213
|
+
is_module_spec check_module_spec
|
214
|
+
compose_module_name);
|
27
215
|
|
28
216
|
if($spec =~ /\A$top_module_spec_rx\z/o) { ...
|
29
217
|
if($spec =~ /\A$sub_module_spec_rx\z/o) { ...
|
@@ -56,7 +244,7 @@ pure Perl.
|
|
56
244
|
|
57
245
|
The usable module name syntax has not changed from Perl 5.000 up to
|
58
246
|
Perl 5.19.8. The syntax is composed entirely of ASCII characters.
|
59
|
-
From Perl 5.6
|
247
|
+
From Perl 5.6 onward there has been some attempt to allow the use of
|
60
248
|
non-ASCII Unicode characters in Perl source, but it was fundamentally
|
61
249
|
broken (like the entirety of Perl 5.6's Unicode handling) and remained
|
62
250
|
pretty much entirely unusable until it got some attention in the Perl
|
@@ -104,61 +292,6 @@ Perl 5.11.2, and is fixed in Perl 5.11.3. The workaround means that
|
|
104
292
|
a module loaded via this module will always see the correct context.
|
105
293
|
Modules loaded in other ways remain vulnerable.
|
106
294
|
|
107
|
-
=cut
|
108
|
-
|
109
|
-
package Module::Runtime;
|
110
|
-
|
111
|
-
# Don't "use 5.006" here, because Perl 5.15.6 will load feature.pm if
|
112
|
-
# the version check is done that way.
|
113
|
-
BEGIN { require 5.006; }
|
114
|
-
# Don't "use warnings" here, to avoid dependencies. Do standardise the
|
115
|
-
# warning status by lexical override; unfortunately the only safe bitset
|
116
|
-
# to build in is the empty set, equivalent to "no warnings".
|
117
|
-
BEGIN { ${^WARNING_BITS} = ""; }
|
118
|
-
# Don't "use strict" here, to avoid dependencies.
|
119
|
-
|
120
|
-
our $VERSION = "0.016";
|
121
|
-
|
122
|
-
# Don't use Exporter here, to avoid dependencies.
|
123
|
-
our @EXPORT_OK = qw(
|
124
|
-
$module_name_rx is_module_name is_valid_module_name check_module_name
|
125
|
-
module_notional_filename require_module
|
126
|
-
use_module use_package_optimistically
|
127
|
-
$top_module_spec_rx $sub_module_spec_rx
|
128
|
-
is_module_spec is_valid_module_spec check_module_spec
|
129
|
-
compose_module_name
|
130
|
-
);
|
131
|
-
my %export_ok = map { ($_ => undef) } @EXPORT_OK;
|
132
|
-
sub import {
|
133
|
-
my $me = shift;
|
134
|
-
my $callpkg = caller(0);
|
135
|
-
my $errs = "";
|
136
|
-
foreach(@_) {
|
137
|
-
if(exists $export_ok{$_}) {
|
138
|
-
# We would need to do "no strict 'refs'" here
|
139
|
-
# if we had enabled strict at file scope.
|
140
|
-
if(/\A\$(.*)\z/s) {
|
141
|
-
*{$callpkg."::".$1} = \$$1;
|
142
|
-
} else {
|
143
|
-
*{$callpkg."::".$_} = \&$_;
|
144
|
-
}
|
145
|
-
} else {
|
146
|
-
$errs .= "\"$_\" is not exported by the $me module\n";
|
147
|
-
}
|
148
|
-
}
|
149
|
-
if($errs ne "") {
|
150
|
-
die "${errs}Can't continue after import errors ".
|
151
|
-
"at @{[(caller(0))[1]]} line @{[(caller(0))[2]]}.\n";
|
152
|
-
}
|
153
|
-
}
|
154
|
-
|
155
|
-
# Logic duplicated from Params::Classify. Duplicating it here avoids
|
156
|
-
# an extensive and potentially circular dependency graph.
|
157
|
-
sub _is_string($) {
|
158
|
-
my($arg) = @_;
|
159
|
-
return defined($arg) && ref(\$arg) eq "SCALAR";
|
160
|
-
}
|
161
|
-
|
162
295
|
=head1 REGULAR EXPRESSIONS
|
163
296
|
|
164
297
|
These regular expressions do not include any anchors, so to check
|
@@ -171,36 +304,18 @@ anchors yourself.
|
|
171
304
|
|
172
305
|
Matches a valid Perl module name in bareword syntax.
|
173
306
|
|
174
|
-
=cut
|
175
|
-
|
176
|
-
our $module_name_rx = qr/[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*/;
|
177
|
-
|
178
307
|
=item $top_module_spec_rx
|
179
308
|
|
180
|
-
Matches a module specification for use with
|
309
|
+
Matches a module specification for use with
|
310
|
+
L<"compose_module_name"|/compose_module_name(PREFIX, SPEC)>.
|
181
311
|
where no prefix is being used.
|
182
312
|
|
183
|
-
=cut
|
184
|
-
|
185
|
-
my $qual_module_spec_rx =
|
186
|
-
qr#(?:/|::)[A-Z_a-z][0-9A-Z_a-z]*(?:(?:/|::)[0-9A-Z_a-z]+)*#;
|
187
|
-
|
188
|
-
my $unqual_top_module_spec_rx =
|
189
|
-
qr#[A-Z_a-z][0-9A-Z_a-z]*(?:(?:/|::)[0-9A-Z_a-z]+)*#;
|
190
|
-
|
191
|
-
our $top_module_spec_rx = qr/$qual_module_spec_rx|$unqual_top_module_spec_rx/o;
|
192
|
-
|
193
313
|
=item $sub_module_spec_rx
|
194
314
|
|
195
|
-
Matches a module specification for use with
|
315
|
+
Matches a module specification for use with
|
316
|
+
L<"compose_module_name"|/compose_module_name(PREFIX, SPEC)>,
|
196
317
|
where a prefix is being used.
|
197
318
|
|
198
|
-
=cut
|
199
|
-
|
200
|
-
my $unqual_sub_module_spec_rx = qr#[0-9A-Z_a-z]+(?:(?:/|::)[0-9A-Z_a-z]+)*#;
|
201
|
-
|
202
|
-
our $sub_module_spec_rx = qr/$qual_module_spec_rx|$unqual_sub_module_spec_rx/o;
|
203
|
-
|
204
319
|
=back
|
205
320
|
|
206
321
|
=head1 FUNCTIONS
|
@@ -214,17 +329,9 @@ our $sub_module_spec_rx = qr/$qual_module_spec_rx|$unqual_sub_module_spec_rx/o;
|
|
214
329
|
Returns a truth value indicating whether I<ARG> is a plain string
|
215
330
|
satisfying Perl module name syntax as described for L</$module_name_rx>.
|
216
331
|
|
217
|
-
=cut
|
218
|
-
|
219
|
-
sub is_module_name($) { _is_string($_[0]) && $_[0] =~ /\A$module_name_rx\z/o }
|
220
|
-
|
221
332
|
=item is_valid_module_name(ARG)
|
222
333
|
|
223
|
-
Deprecated alias for L
|
224
|
-
|
225
|
-
=cut
|
226
|
-
|
227
|
-
*is_valid_module_name = \&is_module_name;
|
334
|
+
Deprecated alias for L<"is_module_name"|/is_module_name(ARG)>.
|
228
335
|
|
229
336
|
=item check_module_name(ARG)
|
230
337
|
|
@@ -232,15 +339,6 @@ Check whether I<ARG> is a plain string
|
|
232
339
|
satisfying Perl module name syntax as described for L</$module_name_rx>.
|
233
340
|
Return normally if it is, or C<die> if it is not.
|
234
341
|
|
235
|
-
=cut
|
236
|
-
|
237
|
-
sub check_module_name($) {
|
238
|
-
unless(&is_module_name) {
|
239
|
-
die +(_is_string($_[0]) ? "`$_[0]'" : "argument").
|
240
|
-
" is not a module name\n";
|
241
|
-
}
|
242
|
-
}
|
243
|
-
|
244
342
|
=item module_notional_filename(NAME)
|
245
343
|
|
246
344
|
Generates a notional relative filename for a module, which is used in
|
@@ -255,15 +353,6 @@ and a C<.pm> suffix. This kind of filename can be used as an argument to
|
|
255
353
|
C<require>, and is the key that appears in C<%INC> to identify a module,
|
256
354
|
regardless of actual local filename syntax.
|
257
355
|
|
258
|
-
=cut
|
259
|
-
|
260
|
-
sub module_notional_filename($) {
|
261
|
-
&check_module_name;
|
262
|
-
my($name) = @_;
|
263
|
-
$name =~ s!::!/!g;
|
264
|
-
return $name.".pm";
|
265
|
-
}
|
266
|
-
|
267
356
|
=item require_module(NAME)
|
268
357
|
|
269
358
|
This is essentially the bareword form of C<require>, in runtime form.
|
@@ -280,41 +369,6 @@ The return value is as for C<require>. That is, it is the value returned
|
|
280
369
|
by the module itself if the module is loaded anew, or C<1> if the module
|
281
370
|
was already loaded.
|
282
371
|
|
283
|
-
=cut
|
284
|
-
|
285
|
-
# Don't "use constant" here, to avoid dependencies.
|
286
|
-
BEGIN {
|
287
|
-
*_WORK_AROUND_HINT_LEAKAGE =
|
288
|
-
"$]" < 5.011 && !("$]" >= 5.009004 && "$]" < 5.010001)
|
289
|
-
? sub(){1} : sub(){0};
|
290
|
-
*_WORK_AROUND_BROKEN_MODULE_STATE = "$]" < 5.009 ? sub(){1} : sub(){0};
|
291
|
-
}
|
292
|
-
|
293
|
-
BEGIN { if(_WORK_AROUND_BROKEN_MODULE_STATE) { eval q{
|
294
|
-
sub Module::Runtime::__GUARD__::DESTROY {
|
295
|
-
delete $INC{$_[0]->[0]} if @{$_[0]};
|
296
|
-
}
|
297
|
-
1;
|
298
|
-
}; die $@ if $@ ne ""; } }
|
299
|
-
|
300
|
-
sub require_module($) {
|
301
|
-
# Localise %^H to work around [perl #68590], where the bug exists
|
302
|
-
# and this is a satisfactory workaround. The bug consists of
|
303
|
-
# %^H state leaking into each required module, polluting the
|
304
|
-
# module's lexical state.
|
305
|
-
local %^H if _WORK_AROUND_HINT_LEAKAGE;
|
306
|
-
if(_WORK_AROUND_BROKEN_MODULE_STATE) {
|
307
|
-
my $notional_filename = &module_notional_filename;
|
308
|
-
my $guard = bless([ $notional_filename ],
|
309
|
-
"Module::Runtime::__GUARD__");
|
310
|
-
my $result = CORE::require($notional_filename);
|
311
|
-
pop @$guard;
|
312
|
-
return $result;
|
313
|
-
} else {
|
314
|
-
return scalar(CORE::require(&module_notional_filename));
|
315
|
-
}
|
316
|
-
}
|
317
|
-
|
318
372
|
=back
|
319
373
|
|
320
374
|
=head2 Structured module use
|
@@ -334,22 +388,14 @@ ensure that the version loaded is at least the version required. This is
|
|
334
388
|
the same functionality provided by the I<VERSION> parameter of C<use>.
|
335
389
|
|
336
390
|
On success, the name of the module is returned. This is unlike
|
337
|
-
L
|
338
|
-
can be used as a class name to
|
339
|
-
the synopsis.
|
340
|
-
|
341
|
-
=cut
|
342
|
-
|
343
|
-
sub use_module($;$) {
|
344
|
-
my($name, $version) = @_;
|
345
|
-
require_module($name);
|
346
|
-
$name->VERSION($version) if @_ >= 2;
|
347
|
-
return $name;
|
348
|
-
}
|
391
|
+
L<"require_module"|/require_module(NAME)>, and is done so that the entire call
|
392
|
+
to L<"use_module"|/use_module(NAME[, VERSION])> can be used as a class name to
|
393
|
+
call a constructor, as in the example in the synopsis.
|
349
394
|
|
350
395
|
=item use_package_optimistically(NAME[, VERSION])
|
351
396
|
|
352
|
-
This is an analogue of L
|
397
|
+
This is an analogue of L<"use_module"|/use_module(NAME[, VERSION])> for
|
398
|
+
the situation where there is
|
353
399
|
uncertainty as to whether a package/class is defined in its own module
|
354
400
|
or by some other means. It attempts to arrange for the named package to
|
355
401
|
be available, either by loading a module or by doing nothing and hoping.
|
@@ -357,7 +403,7 @@ be available, either by loading a module or by doing nothing and hoping.
|
|
357
403
|
An attempt is made to load the named module (as if by the bareword form
|
358
404
|
of C<require>). If the module cannot be found then it is assumed that
|
359
405
|
the package was actually already loaded by other means, and no error
|
360
|
-
is
|
406
|
+
is signaled. That's the optimistic bit.
|
361
407
|
|
362
408
|
I<Warning:> this optional module loading is liable to cause unreliable
|
363
409
|
behaviour, including security problems. It interacts especially badly
|
@@ -381,21 +427,7 @@ If a I<VERSION> is specified, the C<VERSION> method of the loaded package is
|
|
381
427
|
called with the specified I<VERSION> as an argument. This normally serves
|
382
428
|
to ensure that the version loaded is at least the version required.
|
383
429
|
On success, the name of the package is returned. These aspects of the
|
384
|
-
function work just like L
|
385
|
-
|
386
|
-
=cut
|
387
|
-
|
388
|
-
sub use_package_optimistically($;$) {
|
389
|
-
my($name, $version) = @_;
|
390
|
-
my $fn = module_notional_filename($name);
|
391
|
-
eval { local $SIG{__DIE__}; require_module($name); };
|
392
|
-
die $@ if $@ ne "" &&
|
393
|
-
($@ !~ /\ACan't locate \Q$fn\E .+ at \Q@{[__FILE__]}\E line/s ||
|
394
|
-
$@ =~ /^Compilation\ failed\ in\ require
|
395
|
-
\ at\ \Q@{[__FILE__]}\E\ line/xm);
|
396
|
-
$name->VERSION($version) if @_ >= 2;
|
397
|
-
return $name;
|
398
|
-
}
|
430
|
+
function work just like L<"use_module"|/use_module(NAME[, VERSION])>.
|
399
431
|
|
400
432
|
=back
|
401
433
|
|
@@ -406,42 +438,22 @@ sub use_package_optimistically($;$) {
|
|
406
438
|
=item is_module_spec(PREFIX, SPEC)
|
407
439
|
|
408
440
|
Returns a truth value indicating
|
409
|
-
whether I<SPEC> is valid input for
|
441
|
+
whether I<SPEC> is valid input for
|
442
|
+
L<"compose_module_name"|/compose_module_name(PREFIX, SPEC)>.
|
410
443
|
See below for what that entails. Whether a I<PREFIX> is supplied affects
|
411
444
|
the validity of I<SPEC>, but the exact value of the prefix is unimportant,
|
412
445
|
so this function treats I<PREFIX> as a truth value.
|
413
446
|
|
414
|
-
=cut
|
415
|
-
|
416
|
-
sub is_module_spec($$) {
|
417
|
-
my($prefix, $spec) = @_;
|
418
|
-
return _is_string($spec) &&
|
419
|
-
$spec =~ ($prefix ? qr/\A$sub_module_spec_rx\z/o :
|
420
|
-
qr/\A$top_module_spec_rx\z/o);
|
421
|
-
}
|
422
|
-
|
423
447
|
=item is_valid_module_spec(PREFIX, SPEC)
|
424
448
|
|
425
|
-
Deprecated alias for L
|
426
|
-
|
427
|
-
=cut
|
428
|
-
|
429
|
-
*is_valid_module_spec = \&is_module_spec;
|
449
|
+
Deprecated alias for L<"is_module_spec"|/is_module_spec(PREFIX, SPEC)>.
|
430
450
|
|
431
451
|
=item check_module_spec(PREFIX, SPEC)
|
432
452
|
|
433
|
-
Check whether I<SPEC> is valid input for
|
453
|
+
Check whether I<SPEC> is valid input for
|
454
|
+
L<"compose_module_name"|/compose_module_name(PREFIX, SPEC)>.
|
434
455
|
Return normally if it is, or C<die> if it is not.
|
435
456
|
|
436
|
-
=cut
|
437
|
-
|
438
|
-
sub check_module_spec($$) {
|
439
|
-
unless(&is_module_spec) {
|
440
|
-
die +(_is_string($_[1]) ? "`$_[1]'" : "argument").
|
441
|
-
" is not a module specification\n";
|
442
|
-
}
|
443
|
-
}
|
444
|
-
|
445
457
|
=item compose_module_name(PREFIX, SPEC)
|
446
458
|
|
447
459
|
This function is intended to make it more convenient for a user to specify
|
@@ -461,40 +473,33 @@ name in standard form, and it is prefixed to the user-specified name.
|
|
461
473
|
The user can inhibit the prefix addition by starting I<SPEC> with a
|
462
474
|
separator (either C</> or C<::>).
|
463
475
|
|
464
|
-
=cut
|
465
|
-
|
466
|
-
sub compose_module_name($$) {
|
467
|
-
my($prefix, $spec) = @_;
|
468
|
-
check_module_name($prefix) if defined $prefix;
|
469
|
-
&check_module_spec;
|
470
|
-
if($spec =~ s#\A(?:/|::)##) {
|
471
|
-
# OK
|
472
|
-
} else {
|
473
|
-
$spec = $prefix."::".$spec if defined $prefix;
|
474
|
-
}
|
475
|
-
$spec =~ s#/#::#g;
|
476
|
-
return $spec;
|
477
|
-
}
|
478
|
-
|
479
476
|
=back
|
480
477
|
|
481
478
|
=head1 BUGS
|
482
479
|
|
483
480
|
On Perl versions 5.7.2 to 5.8.8, if C<require> is overridden by the
|
484
481
|
C<CORE::GLOBAL> mechanism, it is likely to break the heuristics used by
|
485
|
-
L
|
482
|
+
L<"use_package_optimistically"|/use_package_optimistically(NAME[, VERSION])>,
|
483
|
+
making it signal an error for a missing
|
486
484
|
module rather than assume that it was already loaded. From Perl 5.8.9
|
487
|
-
|
485
|
+
onward, and on 5.7.1 and earlier, this module can avoid being confused
|
488
486
|
by such an override. On the affected versions, a C<require> override
|
489
487
|
might be installed by L<Lexical::SealRequireHints>, if something requires
|
490
488
|
its bugfix but for some reason its XS implementation isn't available.
|
491
489
|
|
492
490
|
=head1 SEE ALSO
|
493
491
|
|
494
|
-
|
495
|
-
|
496
|
-
L<
|
497
|
-
|
492
|
+
=over 4
|
493
|
+
|
494
|
+
=item * L<Lexical::SealRequireHints>
|
495
|
+
|
496
|
+
=item * L<base>
|
497
|
+
|
498
|
+
=item * L<perlfunc/require>
|
499
|
+
|
500
|
+
=item * L<perlfunc/use>
|
501
|
+
|
502
|
+
=back
|
498
503
|
|
499
504
|
=head1 AUTHOR
|
500
505
|
|
@@ -505,11 +510,11 @@ Andrew Main (Zefram) <zefram@fysh.org>
|
|
505
510
|
Copyright (C) 2004, 2006, 2007, 2009, 2010, 2011, 2012, 2014, 2017
|
506
511
|
Andrew Main (Zefram) <zefram@fysh.org>
|
507
512
|
|
513
|
+
Copyright (C) 2025 Graham Knop <haarg@haarg.org>
|
514
|
+
|
508
515
|
=head1 LICENSE
|
509
516
|
|
510
517
|
This module is free software; you can redistribute it and/or modify it
|
511
518
|
under the same terms as Perl itself.
|
512
519
|
|
513
520
|
=cut
|
514
|
-
|
515
|
-
1;
|