javonet-nodejs-sdk 2.5.11 → 2.5.12
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/Javonet.Clr.Utils.dll +0 -0
- package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- package/Binaries/Native/Linux/ARM64/version.txt +1 -1
- package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
- package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/version.txt +1 -1
- package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- package/Binaries/Native/MacOs/X64/version.txt +1 -1
- package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- package/Binaries/Native/Windows/ARM64/version.txt +0 -0
- package/Binaries/Native/Windows/X64/JavonetActivationService.dll +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/JavonetNodejs1816RuntimeNative.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/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X64/Utils.dll +0 -0
- package/Binaries/Native/Windows/X64/version.txt +1 -1
- package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X86/Utils.dll +0 -0
- package/Binaries/Native/Windows/X86/version.txt +1 -1
- package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Nodejs/lib/core/handler/Handler.js +6 -9
- package/Binaries/Nodejs/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +11 -15
- package/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +7 -0
- package/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +1 -1
- package/Binaries/Nodejs/lib/sdk/InvocationContext.js +7 -17
- package/Binaries/Nodejs/lib/sdk/RuntimeContext.js +27 -0
- package/Binaries/Nodejs/lib/utils/CommandType.js +1 -2
- package/Binaries/Nodejs/lib/utils/CustomError.js +8 -0
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load +8 -5
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load-dump +8 -5
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +29 -3
- 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.50/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.47/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.227/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.05/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.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/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.10/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.051/install.json +1 -1
- 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.2207/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/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.146/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/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.991/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.32/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/{YAML-PP-v0.38.1 → YAML-PP-v0.39.0}/MYMETA.json +34 -34
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.39.0/install.json +1 -0
- 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.2/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/perllocal.pod +96 -96
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load +8 -5
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump +8 -5
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +8 -5
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +8 -5
- 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.227/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/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/Safe-Isa-1.000010/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/Test-Fatal-0.017/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/{YAML-PP-v0.38.1 → YAML-PP-v0.39.0}/MYMETA.json +34 -34
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.39.0/install.json +1 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/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 +26 -26
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +29 -3
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Python/javonet/core/handler/Handler.py +2 -0
- package/Binaries/Python/javonet/core/handler/InvokeGlobalFunctionHandler.py +46 -0
- package/Binaries/Python/javonet/utils/CommandType.py +2 -1
- package/Binaries/Ruby/Linux/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/Linux/X64/utils/command_type.rb +18 -3
- package/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/MacOs/X64/utils/command_type.rb +18 -3
- package/Binaries/Ruby/Windows/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/Windows/X64/utils/command_type.rb +18 -3
- package/Binaries/version.txt +1 -1
- package/dist/Javonet.d.ts +89 -682
- package/dist/lib/core/handler/Handler.js +6 -9
- package/dist/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/dist/lib/core/interpreter/Interpreter.js +11 -15
- package/dist/lib/core/protocol/TypeSerializer.js +7 -0
- package/dist/lib/core/transmitter/TransmitterWrapper.js +1 -1
- package/dist/lib/sdk/InvocationContext.js +7 -17
- package/dist/lib/sdk/RuntimeContext.js +27 -0
- package/dist/lib/utils/CommandType.js +1 -2
- package/dist/lib/utils/CustomError.js +8 -0
- package/lib/core/handler/Handler.js +6 -9
- package/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/lib/core/transmitter/TransmitterWrapper.js +1 -1
- package/package.json +1 -1
- package/Binaries/Nodejs/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +0 -58
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/Binaries/Nodejs/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/Binaries/Nodejs/lib/core/generator/utils/StringUtils.js +0 -7
- package/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.38.1/install.json +0 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.38.1/install.json +0 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- package/dist/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/dist/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/dist/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/dist/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/dist/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/dist/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/dist/lib/core/generator/handler/Handlers.js +0 -58
- package/dist/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/dist/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/dist/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/dist/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/dist/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/dist/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/dist/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/dist/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/dist/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/dist/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/dist/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/dist/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/dist/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/dist/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/dist/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/dist/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/dist/lib/core/generator/utils/StringUtils.js +0 -7
- package/dist/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/dist/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/lib/core/generator/handler/Handlers.js +0 -58
- package/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/lib/core/generator/utils/StringUtils.js +0 -7
- package/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/lib/sdk/RuntimeContext.js +0 -36
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require_relative 'abstract_command_handler'
|
|
2
|
+
|
|
3
|
+
class InvokeGlobalFunctionHandler < AbstractCommandHandler
|
|
4
|
+
def process(command)
|
|
5
|
+
invoke_function(command)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def invoke_function(command)
|
|
9
|
+
begin
|
|
10
|
+
payload = command.payload
|
|
11
|
+
raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
|
|
12
|
+
|
|
13
|
+
# Expect the first parameter to be a string in the form "ModuleName.function_name"
|
|
14
|
+
full_method_string = payload[0]
|
|
15
|
+
unless full_method_string.is_a?(String) && full_method_string.include?(".")
|
|
16
|
+
raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
parts = full_method_string.split(".")
|
|
20
|
+
if parts.size < 2
|
|
21
|
+
raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
function_name = parts.pop
|
|
25
|
+
module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
|
|
26
|
+
|
|
27
|
+
begin
|
|
28
|
+
target = Object.const_get(module_name)
|
|
29
|
+
rescue NameError => e
|
|
30
|
+
raise NameError, "Module/Class #{module_name} not found: #{e.message}"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
args = payload[1..-1] || []
|
|
34
|
+
|
|
35
|
+
if target.respond_to?(function_name)
|
|
36
|
+
target.send(function_name, *args)
|
|
37
|
+
else
|
|
38
|
+
available_methods = target.methods.join(', ')
|
|
39
|
+
raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
|
|
40
|
+
end
|
|
41
|
+
rescue Exception => e
|
|
42
|
+
e
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
def process(command)
|
|
9
|
-
|
|
9
|
+
invoke_instance_method(command)
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def invoke_instance_method(command)
|
|
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
|
15
15
|
raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
|
|
16
16
|
end
|
|
17
|
+
|
|
18
|
+
instance = command.payload[0]
|
|
19
|
+
method_name = command.payload[1]
|
|
20
|
+
|
|
17
21
|
if command.payload.length > 2
|
|
18
22
|
arguments = command.payload[2..]
|
|
19
|
-
return
|
|
23
|
+
return instance.send(method_name, *arguments)
|
|
20
24
|
else
|
|
21
|
-
return
|
|
25
|
+
return instance.send(method_name)
|
|
22
26
|
end
|
|
23
27
|
rescue NoMethodError
|
|
24
|
-
methods =
|
|
25
|
-
message = "Method #{
|
|
28
|
+
methods = instance.methods
|
|
29
|
+
message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
|
|
26
30
|
methods.each { |method_iter| message += "#{method_iter}\n" }
|
|
27
31
|
raise Exception, message
|
|
28
32
|
rescue Exception => e
|
|
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
|
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
|
15
15
|
raise ArgumentError.new "Static method parameters mismatch"
|
|
16
16
|
end
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
type = command.payload[0]
|
|
18
19
|
method_name = command.payload[1]
|
|
19
20
|
begin
|
|
20
21
|
if command.payload.length > @required_parameters_count
|
|
21
22
|
args = command.payload[2..]
|
|
22
|
-
result =
|
|
23
|
+
result = type.send(method_name, *args)
|
|
23
24
|
else
|
|
24
|
-
result =
|
|
25
|
+
result = type.send(method_name)
|
|
25
26
|
end
|
|
26
27
|
return result
|
|
27
28
|
rescue NoMethodError
|
|
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
|
|
|
3
3
|
require_relative '../protocol/command_serializer'
|
|
4
4
|
|
|
5
5
|
class Receiver
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
def initialize
|
|
8
|
-
RuntimeLogger.print_runtime_info
|
|
8
|
+
puts RuntimeLogger.print_runtime_info
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def send_command(message_array, message_array_len)
|
|
@@ -15,4 +15,8 @@ class Receiver
|
|
|
15
15
|
def heart_beat(message_array, message_array_len)
|
|
16
16
|
[49,48]
|
|
17
17
|
end
|
|
18
|
+
|
|
19
|
+
def get_runtime_info
|
|
20
|
+
RuntimeLogger.get_runtime_info(true)
|
|
21
|
+
end
|
|
18
22
|
end
|
|
@@ -15,7 +15,7 @@ class CommandType
|
|
|
15
15
|
GET_INSTANCE_FIELD = 13
|
|
16
16
|
OPTIMIZE = 14
|
|
17
17
|
GENERATE_LIB = 15
|
|
18
|
-
|
|
18
|
+
INVOKE_GLOBAL_FUNCTION = 16
|
|
19
19
|
DESTRUCT_REFERENCE = 17
|
|
20
20
|
ARRAY_REFERENCE = 18
|
|
21
21
|
ARRAY_GET_ITEM = 19
|
|
@@ -36,6 +36,11 @@ class CommandType
|
|
|
36
36
|
ENABLE_NAMESPACE = 34
|
|
37
37
|
ENABLE_TYPE = 35
|
|
38
38
|
CREATE_NULL = 36
|
|
39
|
+
GET_STATIC_METHOD_AS_DELEGATE = 37
|
|
40
|
+
GET_INSTANCE_METHOD_AS_DELEGATE = 38
|
|
41
|
+
PASS_DELEGATE = 39
|
|
42
|
+
INVOKE_DELEGATE = 40
|
|
43
|
+
CONVERT_TYPE = 41
|
|
39
44
|
|
|
40
45
|
def self.get_name(command_number)
|
|
41
46
|
case command_number
|
|
@@ -62,7 +67,7 @@ class CommandType
|
|
|
62
67
|
when 10
|
|
63
68
|
return 'EXCEPTION'
|
|
64
69
|
when 11
|
|
65
|
-
return '
|
|
70
|
+
return 'HEARTBEAT'
|
|
66
71
|
when 12
|
|
67
72
|
return 'CAST'
|
|
68
73
|
when 13
|
|
@@ -72,7 +77,7 @@ class CommandType
|
|
|
72
77
|
when 15
|
|
73
78
|
return 'GENERATE_LIB'
|
|
74
79
|
when 16
|
|
75
|
-
return '
|
|
80
|
+
return 'INVOKE_GLOBAL_FUNCTION'
|
|
76
81
|
when 17
|
|
77
82
|
return 'DESTRUCT_REFERENCE'
|
|
78
83
|
when 18
|
|
@@ -113,6 +118,16 @@ class CommandType
|
|
|
113
118
|
return 'ENABLE_TYPE'
|
|
114
119
|
when 36
|
|
115
120
|
return 'CREATE_NULL'
|
|
121
|
+
when 37
|
|
122
|
+
return 'GET_STATIC_METHOD_AS_DELEGATE'
|
|
123
|
+
when 38
|
|
124
|
+
return 'GET_INSTANCE_METHOD_AS_DELEGATE'
|
|
125
|
+
when 39
|
|
126
|
+
return 'PASS_DELEGATE'
|
|
127
|
+
when 40
|
|
128
|
+
return 'INVOKE_DELEGATE'
|
|
129
|
+
when 41
|
|
130
|
+
return 'CONVERT_TYPE'
|
|
116
131
|
else
|
|
117
132
|
raise 'Unknown command type'
|
|
118
133
|
end
|
|
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
|
|
|
22
22
|
require_relative '../../core/handler/array_handler'
|
|
23
23
|
require_relative '../../core/handler/enable_namespace_handler'
|
|
24
24
|
require_relative '../../core/handler/enable_type_handler'
|
|
25
|
+
require_relative '../../core/handler/invoke_global_function_handler'
|
|
25
26
|
require_relative '../../core/reference_cache/references_cache'
|
|
26
27
|
require_relative '../../utils/exceptions/exception_serializer'
|
|
27
28
|
|
|
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
|
|
|
50
51
|
array_handler = ArrayHandler.new
|
|
51
52
|
enable_namespace_handler = EnableNamespaceHandler.new
|
|
52
53
|
enable_type_handler = EnableTypeHandler.new
|
|
54
|
+
invoke_global_function_handler = InvokeGlobalFunctionHandler.new
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
$handler_dict[CommandType::VALUE] = value_handler
|
|
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
|
|
|
72
74
|
$handler_dict[CommandType::ARRAY] = array_handler
|
|
73
75
|
$handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
|
|
74
76
|
$handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
|
|
77
|
+
$handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
|
|
75
78
|
end
|
|
76
79
|
|
|
77
80
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require_relative 'abstract_command_handler'
|
|
2
|
+
|
|
3
|
+
class InvokeGlobalFunctionHandler < AbstractCommandHandler
|
|
4
|
+
def process(command)
|
|
5
|
+
invoke_function(command)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def invoke_function(command)
|
|
9
|
+
begin
|
|
10
|
+
payload = command.payload
|
|
11
|
+
raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
|
|
12
|
+
|
|
13
|
+
# Expect the first parameter to be a string in the form "ModuleName.function_name"
|
|
14
|
+
full_method_string = payload[0]
|
|
15
|
+
unless full_method_string.is_a?(String) && full_method_string.include?(".")
|
|
16
|
+
raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
parts = full_method_string.split(".")
|
|
20
|
+
if parts.size < 2
|
|
21
|
+
raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
function_name = parts.pop
|
|
25
|
+
module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
|
|
26
|
+
|
|
27
|
+
begin
|
|
28
|
+
target = Object.const_get(module_name)
|
|
29
|
+
rescue NameError => e
|
|
30
|
+
raise NameError, "Module/Class #{module_name} not found: #{e.message}"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
args = payload[1..-1] || []
|
|
34
|
+
|
|
35
|
+
if target.respond_to?(function_name)
|
|
36
|
+
target.send(function_name, *args)
|
|
37
|
+
else
|
|
38
|
+
available_methods = target.methods.join(', ')
|
|
39
|
+
raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
|
|
40
|
+
end
|
|
41
|
+
rescue Exception => e
|
|
42
|
+
e
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
def process(command)
|
|
9
|
-
|
|
9
|
+
invoke_instance_method(command)
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def invoke_instance_method(command)
|
|
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
|
15
15
|
raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
|
|
16
16
|
end
|
|
17
|
+
|
|
18
|
+
instance = command.payload[0]
|
|
19
|
+
method_name = command.payload[1]
|
|
20
|
+
|
|
17
21
|
if command.payload.length > 2
|
|
18
22
|
arguments = command.payload[2..]
|
|
19
|
-
return
|
|
23
|
+
return instance.send(method_name, *arguments)
|
|
20
24
|
else
|
|
21
|
-
return
|
|
25
|
+
return instance.send(method_name)
|
|
22
26
|
end
|
|
23
27
|
rescue NoMethodError
|
|
24
|
-
methods =
|
|
25
|
-
message = "Method #{
|
|
28
|
+
methods = instance.methods
|
|
29
|
+
message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
|
|
26
30
|
methods.each { |method_iter| message += "#{method_iter}\n" }
|
|
27
31
|
raise Exception, message
|
|
28
32
|
rescue Exception => e
|
|
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
|
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
|
15
15
|
raise ArgumentError.new "Static method parameters mismatch"
|
|
16
16
|
end
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
type = command.payload[0]
|
|
18
19
|
method_name = command.payload[1]
|
|
19
20
|
begin
|
|
20
21
|
if command.payload.length > @required_parameters_count
|
|
21
22
|
args = command.payload[2..]
|
|
22
|
-
result =
|
|
23
|
+
result = type.send(method_name, *args)
|
|
23
24
|
else
|
|
24
|
-
result =
|
|
25
|
+
result = type.send(method_name)
|
|
25
26
|
end
|
|
26
27
|
return result
|
|
27
28
|
rescue NoMethodError
|
|
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
|
|
|
3
3
|
require_relative '../protocol/command_serializer'
|
|
4
4
|
|
|
5
5
|
class Receiver
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
def initialize
|
|
8
|
-
RuntimeLogger.print_runtime_info
|
|
8
|
+
puts RuntimeLogger.print_runtime_info
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def send_command(message_array, message_array_len)
|
|
@@ -15,4 +15,8 @@ class Receiver
|
|
|
15
15
|
def heart_beat(message_array, message_array_len)
|
|
16
16
|
[49,48]
|
|
17
17
|
end
|
|
18
|
+
|
|
19
|
+
def get_runtime_info
|
|
20
|
+
RuntimeLogger.get_runtime_info(true)
|
|
21
|
+
end
|
|
18
22
|
end
|
|
@@ -15,7 +15,7 @@ class CommandType
|
|
|
15
15
|
GET_INSTANCE_FIELD = 13
|
|
16
16
|
OPTIMIZE = 14
|
|
17
17
|
GENERATE_LIB = 15
|
|
18
|
-
|
|
18
|
+
INVOKE_GLOBAL_FUNCTION = 16
|
|
19
19
|
DESTRUCT_REFERENCE = 17
|
|
20
20
|
ARRAY_REFERENCE = 18
|
|
21
21
|
ARRAY_GET_ITEM = 19
|
|
@@ -36,6 +36,11 @@ class CommandType
|
|
|
36
36
|
ENABLE_NAMESPACE = 34
|
|
37
37
|
ENABLE_TYPE = 35
|
|
38
38
|
CREATE_NULL = 36
|
|
39
|
+
GET_STATIC_METHOD_AS_DELEGATE = 37
|
|
40
|
+
GET_INSTANCE_METHOD_AS_DELEGATE = 38
|
|
41
|
+
PASS_DELEGATE = 39
|
|
42
|
+
INVOKE_DELEGATE = 40
|
|
43
|
+
CONVERT_TYPE = 41
|
|
39
44
|
|
|
40
45
|
def self.get_name(command_number)
|
|
41
46
|
case command_number
|
|
@@ -62,7 +67,7 @@ class CommandType
|
|
|
62
67
|
when 10
|
|
63
68
|
return 'EXCEPTION'
|
|
64
69
|
when 11
|
|
65
|
-
return '
|
|
70
|
+
return 'HEARTBEAT'
|
|
66
71
|
when 12
|
|
67
72
|
return 'CAST'
|
|
68
73
|
when 13
|
|
@@ -72,7 +77,7 @@ class CommandType
|
|
|
72
77
|
when 15
|
|
73
78
|
return 'GENERATE_LIB'
|
|
74
79
|
when 16
|
|
75
|
-
return '
|
|
80
|
+
return 'INVOKE_GLOBAL_FUNCTION'
|
|
76
81
|
when 17
|
|
77
82
|
return 'DESTRUCT_REFERENCE'
|
|
78
83
|
when 18
|
|
@@ -113,6 +118,16 @@ class CommandType
|
|
|
113
118
|
return 'ENABLE_TYPE'
|
|
114
119
|
when 36
|
|
115
120
|
return 'CREATE_NULL'
|
|
121
|
+
when 37
|
|
122
|
+
return 'GET_STATIC_METHOD_AS_DELEGATE'
|
|
123
|
+
when 38
|
|
124
|
+
return 'GET_INSTANCE_METHOD_AS_DELEGATE'
|
|
125
|
+
when 39
|
|
126
|
+
return 'PASS_DELEGATE'
|
|
127
|
+
when 40
|
|
128
|
+
return 'INVOKE_DELEGATE'
|
|
129
|
+
when 41
|
|
130
|
+
return 'CONVERT_TYPE'
|
|
116
131
|
else
|
|
117
132
|
raise 'Unknown command type'
|
|
118
133
|
end
|
package/Binaries/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.5.
|
|
1
|
+
2.5.12
|