javonet-ruby-sdk 2.1.9 → 2.1.10

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