javonet-ruby-sdk 2.1.9 → 2.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/javonet-ruby-sdk.gemspec +11 -10
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/exception/ExceptionThrower.js +29 -8
  48. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetItemHandler.js +18 -4
  49. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetRankHandler.js +17 -1
  50. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArraySetItemHandler.js +20 -4
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/CastingHandler.js +1 -1
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetStaticFieldHandler.js +4 -5
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetTypeHandler.js +2 -2
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/LoadLibraryHandler.js +2 -2
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ReferencesCache.js +1 -1
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetStaticFieldHandler.js +3 -3
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +1 -1
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/CommandType.js +5 -1
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/exception/ExceptionThrower.js +29 -8
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetItemHandler.js +18 -4
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetRankHandler.js +17 -1
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  72. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArraySetItemHandler.js +20 -4
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/CastingHandler.js +1 -1
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetStaticFieldHandler.js +4 -5
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetTypeHandler.js +2 -2
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  80. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  81. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  82. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/LoadLibraryHandler.js +2 -2
  83. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ReferencesCache.js +1 -1
  84. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  85. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  86. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetStaticFieldHandler.js +3 -3
  87. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +1 -1
  88. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +5 -1
  89. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/exception/ExceptionThrower.js +29 -8
  90. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetItemHandler.js +18 -4
  91. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetRankHandler.js +17 -1
  92. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArraySetItemHandler.js +20 -4
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/CastingHandler.js +1 -1
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetStaticFieldHandler.js +4 -5
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetTypeHandler.js +2 -2
  100. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  101. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  102. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  103. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/LoadLibraryHandler.js +2 -2
  104. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ReferencesCache.js +1 -1
  105. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  106. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  107. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetStaticFieldHandler.js +3 -3
  108. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +1 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/CommandType.js +5 -1
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +5 -5
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  112. 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
  113. 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
  114. 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
  115. 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
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  117. 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
  118. 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
  119. 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
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  121. 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
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +88 -88
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +5 -5
  129. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  130. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Class/Load/XS/XS.bundle +0 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Clone/Clone.bundle +0 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Data/UUID/UUID.bundle +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/FFI/Platypus/Platypus.bundle +0 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Moose/Moose.bundle +0 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/PPI/XS/XS.bundle +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Package/Stash/XS/XS.bundle +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Params/Util/Util.bundle +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Scalar/Util/Numeric/Numeric.bundle +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Want/Want.bundle +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/autobox/autobox.bundle +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +2 -2
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +88 -88
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  150. 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
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +14 -2
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/Handler.py +26 -39
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +4 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core → Linux/X64/javonet/utils}/exception/ExceptionThrower.py +63 -48
  171. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core → Linux/X64/javonet/utils}/exception/JavonetException.py +0 -2
  172. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  173. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  174. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  175. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +14 -2
  176. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/Handler.py +26 -39
  181. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +4 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core → MacOs/X64/javonet/utils}/exception/ExceptionThrower.py +26 -11
  183. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core → MacOs/X64/javonet/utils}/exception/JavonetException.py +0 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +14 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  212. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  213. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/Handler.py +26 -39
  220. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  221. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  222. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  223. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  228. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  234. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +4 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  236. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  243. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core → Windows/X64/javonet/utils}/exception/ExceptionThrower.py +63 -48
  244. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/JavonetException.py +0 -2
  245. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  246. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  248. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  249. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  250. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  251. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +12 -0
  252. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  253. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  254. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  255. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  256. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +12 -0
  257. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  258. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  259. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  260. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  261. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +12 -0
  262. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_item_handler.rb +31 -4
  263. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  264. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_size_handler.rb +21 -2
  265. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_set_item_handler.rb +30 -4
  266. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +15 -5
  267. data/lib/javonet-ruby-sdk/sdk/internal/runtime_context.rb +6 -0
  268. data/lib/javonet-ruby-sdk/utils/command_type.rb +12 -0
  269. metadata +85 -56
  270. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  271. /data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  272. /data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/{core → utils}/exception/__init__.py +0 -0
  273. /data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  274. /data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/{core → utils}/exception/__init__.py +0 -0
  275. /data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  276. /data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/__init__.py +0 -0
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end
@@ -10,11 +10,38 @@ class ArrayGetItemHandler < AbstractCommandHandler
10
10
  if command.payload.length < @required_parameters_count
11
11
  raise ArgumentError.new "Array get item parameters mismatch"
12
12
  end
13
- array = command.payload[0]
14
- index = command.payload[1,]
15
- return array[index]
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_item_array(command)
16
+ elsif command.payload[0].is_a? Hash
17
+ return get_item_hash(command)
18
+ else
19
+ raise ArgumentError.new "Cannot get element from %s" % [command.payload[0]]
20
+ end
16
21
  rescue Exception => e
17
- return e
22
+ e
23
+ end
24
+ end
25
+
26
+ def get_item_array(command)
27
+ array = command.payload[0]
28
+ indexes = if command.payload[1].is_a? Array
29
+ command.payload[1]
30
+ else
31
+ command.payload[1..]
32
+ end
33
+
34
+ if array.is_a? Array
35
+ indexes.each { |i|
36
+ array = array[i]
37
+ }
38
+ array
18
39
  end
19
40
  end
41
+
42
+ def get_item_hash(command)
43
+ hash = command.payload[0]
44
+ key = command.payload[1]
45
+ hash[key]
46
+ end
20
47
  end
@@ -1,9 +1,21 @@
1
1
  require_relative 'abstract_command_handler'
2
2
 
3
3
  class ArrayGetRankHandler < AbstractCommandHandler
4
+ def initialize
5
+ @required_parameters_count = 1
6
+ end
4
7
  def process(command)
5
8
  begin
6
- raise ArgumentError.new "ArrayGetRankHandler not implemented"
9
+ if command.payload.length < @required_parameters_count
10
+ raise ArgumentError.new "Array get rank parameters mismatch"
11
+ end
12
+ array = command.payload[0]
13
+ rank = 0
14
+ while array.is_a? Array
15
+ rank = rank + 1
16
+ array = array[0]
17
+ end
18
+ return rank
7
19
  rescue Exception => e
8
20
  return e
9
21
  end
@@ -4,15 +4,34 @@ class ArrayGetSizeHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 1
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array get size parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- return array.length()
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_size_array(command)
16
+ else
17
+ return get_size(command)
18
+ end
14
19
  rescue Exception => e
15
20
  return e
16
21
  end
17
22
  end
23
+
24
+ def get_size_array(command)
25
+ array = command.payload[0]
26
+ size = 1
27
+ while array.is_a? Array
28
+ size = size * array.length
29
+ array = array[0]
30
+ end
31
+ size
32
+ end
33
+
34
+ def get_size(command)
35
+ command.payload[0].length
36
+ end
18
37
  end
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end
@@ -10,11 +10,38 @@ class ArrayGetItemHandler < AbstractCommandHandler
10
10
  if command.payload.length < @required_parameters_count
11
11
  raise ArgumentError.new "Array get item parameters mismatch"
12
12
  end
13
- array = command.payload[0]
14
- index = command.payload[1,]
15
- return array[index]
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_item_array(command)
16
+ elsif command.payload[0].is_a? Hash
17
+ return get_item_hash(command)
18
+ else
19
+ raise ArgumentError.new "Cannot get element from %s" % [command.payload[0]]
20
+ end
16
21
  rescue Exception => e
17
- return e
22
+ e
23
+ end
24
+ end
25
+
26
+ def get_item_array(command)
27
+ array = command.payload[0]
28
+ indexes = if command.payload[1].is_a? Array
29
+ command.payload[1]
30
+ else
31
+ command.payload[1..]
32
+ end
33
+
34
+ if array.is_a? Array
35
+ indexes.each { |i|
36
+ array = array[i]
37
+ }
38
+ array
18
39
  end
19
40
  end
41
+
42
+ def get_item_hash(command)
43
+ hash = command.payload[0]
44
+ key = command.payload[1]
45
+ hash[key]
46
+ end
20
47
  end
@@ -1,9 +1,21 @@
1
1
  require_relative 'abstract_command_handler'
2
2
 
3
3
  class ArrayGetRankHandler < AbstractCommandHandler
4
+ def initialize
5
+ @required_parameters_count = 1
6
+ end
4
7
  def process(command)
5
8
  begin
6
- raise ArgumentError.new "ArrayGetRankHandler not implemented"
9
+ if command.payload.length < @required_parameters_count
10
+ raise ArgumentError.new "Array get rank parameters mismatch"
11
+ end
12
+ array = command.payload[0]
13
+ rank = 0
14
+ while array.is_a? Array
15
+ rank = rank + 1
16
+ array = array[0]
17
+ end
18
+ return rank
7
19
  rescue Exception => e
8
20
  return e
9
21
  end
@@ -4,15 +4,34 @@ class ArrayGetSizeHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 1
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array get size parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- return array.length()
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_size_array(command)
16
+ else
17
+ return get_size(command)
18
+ end
14
19
  rescue Exception => e
15
20
  return e
16
21
  end
17
22
  end
23
+
24
+ def get_size_array(command)
25
+ array = command.payload[0]
26
+ size = 1
27
+ while array.is_a? Array
28
+ size = size * array.length
29
+ array = array[0]
30
+ end
31
+ size
32
+ end
33
+
34
+ def get_size(command)
35
+ command.payload[0].length
36
+ end
18
37
  end
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end
@@ -10,11 +10,38 @@ class ArrayGetItemHandler < AbstractCommandHandler
10
10
  if command.payload.length < @required_parameters_count
11
11
  raise ArgumentError.new "Array get item parameters mismatch"
12
12
  end
13
- array = command.payload[0]
14
- index = command.payload[1,]
15
- return array[index]
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_item_array(command)
16
+ elsif command.payload[0].is_a? Hash
17
+ return get_item_hash(command)
18
+ else
19
+ raise ArgumentError.new "Cannot get element from %s" % [command.payload[0]]
20
+ end
16
21
  rescue Exception => e
17
- return e
22
+ e
23
+ end
24
+ end
25
+
26
+ def get_item_array(command)
27
+ array = command.payload[0]
28
+ indexes = if command.payload[1].is_a? Array
29
+ command.payload[1]
30
+ else
31
+ command.payload[1..]
32
+ end
33
+
34
+ if array.is_a? Array
35
+ indexes.each { |i|
36
+ array = array[i]
37
+ }
38
+ array
18
39
  end
19
40
  end
41
+
42
+ def get_item_hash(command)
43
+ hash = command.payload[0]
44
+ key = command.payload[1]
45
+ hash[key]
46
+ end
20
47
  end
@@ -1,9 +1,21 @@
1
1
  require_relative 'abstract_command_handler'
2
2
 
3
3
  class ArrayGetRankHandler < AbstractCommandHandler
4
+ def initialize
5
+ @required_parameters_count = 1
6
+ end
4
7
  def process(command)
5
8
  begin
6
- raise ArgumentError.new "ArrayGetRankHandler not implemented"
9
+ if command.payload.length < @required_parameters_count
10
+ raise ArgumentError.new "Array get rank parameters mismatch"
11
+ end
12
+ array = command.payload[0]
13
+ rank = 0
14
+ while array.is_a? Array
15
+ rank = rank + 1
16
+ array = array[0]
17
+ end
18
+ return rank
7
19
  rescue Exception => e
8
20
  return e
9
21
  end
@@ -4,15 +4,34 @@ class ArrayGetSizeHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 1
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array get size parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- return array.length()
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_size_array(command)
16
+ else
17
+ return get_size(command)
18
+ end
14
19
  rescue Exception => e
15
20
  return e
16
21
  end
17
22
  end
23
+
24
+ def get_size_array(command)
25
+ array = command.payload[0]
26
+ size = 1
27
+ while array.is_a? Array
28
+ size = size * array.length
29
+ array = array[0]
30
+ end
31
+ size
32
+ end
33
+
34
+ def get_size(command)
35
+ command.payload[0].length
36
+ end
18
37
  end
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,7 +27,7 @@ class InvocationContext < AbstractInvocationContext
27
27
  end
28
28
 
29
29
  def iterator
30
- if @current_command.command_type != CommandType::REFERENCE
30
+ if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM, CommandType::ARRAY_SET_ITEM].include? @current_command.command_type
31
31
  raise "Object is not iterable"
32
32
  else
33
33
  return InvocationContextIterator.new(self)
@@ -35,20 +35,20 @@ class InvocationContext < AbstractInvocationContext
35
35
  end
36
36
 
37
37
  def [](i)
38
- if @current_command.command_type != CommandType::REFERENCE
38
+ if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
39
39
  raise "Object is not iterable"
40
40
  else
41
41
  invocation_context_iterator = InvocationContextIterator.new(self)
42
- return invocation_context_iterator[i]
42
+ invocation_context_iterator[i]
43
43
  end
44
44
  end
45
45
 
46
46
  def []=(i, value)
47
- if @current_command.command_type != CommandType::REFERENCE
47
+ if not [CommandType::REFERENCE, CommandType::ARRAY_SET_ITEM, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
48
48
  raise "Object is not iterable"
49
49
  else
50
50
  invocation_context_iterator = InvocationContextIterator.new(self)
51
- return invocation_context_iterator[i] = value
51
+ invocation_context_iterator[i] = value
52
52
  end
53
53
  end
54
54
 
@@ -133,6 +133,16 @@ class InvocationContext < AbstractInvocationContext
133
133
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
134
134
  end
135
135
 
136
+ def get_enum_name(*args)
137
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_NAME, [*args])
138
+ return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
139
+ end
140
+
141
+ def get_enum_value(*args)
142
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_VALUE, [*args])
143
+ return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
144
+ end
145
+
136
146
  def retrieve_array(*args)
137
147
  local_command = Command.new(@runtime_name, CommandType::RETRIEVE_ARRAY, [*args])
138
148
  localInvCtx = InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
@@ -72,6 +72,12 @@ class RuntimeContext < AbstractRuntimeContext
72
72
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
73
73
  end
74
74
 
75
+ def get_enum_item(*args)
76
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_ITEM, [*args])
77
+ @current_command = nil
78
+ return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
79
+ end
80
+
75
81
 
76
82
  def build_command(command)
77
83
  command.payload.each_index {|i|
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end