javonet-nodejs-sdk 2.1.9 → 2.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  2. package/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  3. package/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
  4. package/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
  5. package/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
  6. package/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
  7. package/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  8. package/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  9. package/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  10. package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  11. package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  12. package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  13. package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  14. package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  15. package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  16. package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  17. package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  18. package/Binaries/Native/Linux/X64/libUtils.so +0 -0
  19. package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  20. package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  21. package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  22. package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  23. package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  24. package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  25. package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  26. package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  27. package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  28. package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  29. package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  30. package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  31. package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  32. package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  33. package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  34. package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  35. package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  36. package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  37. package/Binaries/Native/Windows/X64/Utils.dll +0 -0
  38. package/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  39. package/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  40. package/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  41. package/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  42. package/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  43. package/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  44. package/Binaries/Nodejs/Linux/X64/utils/CommandType.js +5 -1
  45. package/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +5 -1
  46. package/Binaries/Nodejs/Windows/X64/utils/CommandType.js +5 -1
  47. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  48. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
  49. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.48/install.json +1 -1
  50. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
  51. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
  52. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.46/install.json +1 -1
  53. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
  54. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
  55. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.226/install.json +1 -1
  56. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
  57. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
  58. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.04/install.json +1 -1
  59. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
  60. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
  61. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.008/install.json +1 -1
  62. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.026/install.json +1 -1
  63. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.012/install.json +1 -1
  64. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
  65. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.08/install.json +1 -1
  66. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
  67. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
  68. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
  69. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
  70. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Module-Build-Tiny-0.046 → Module-Build-Tiny-0.047}/MYMETA.json +3 -3
  71. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.047/install.json +1 -0
  72. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
  73. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
  74. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
  75. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2206/install.json +1 -1
  76. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Nice-Try-v1.3.4 → Nice-Try-v1.3.5}/MYMETA.json +3 -3
  77. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.5/install.json +1 -0
  78. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.277/install.json +1 -1
  79. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
  80. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
  81. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
  82. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
  83. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
  84. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.144/install.json +1 -1
  85. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.63/install.json +1 -1
  86. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  87. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
  88. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.990/install.json +1 -1
  89. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
  90. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
  91. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
  92. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
  93. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.31/install.json +1 -1
  94. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
  95. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
  96. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.1/install.json +1 -1
  97. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  98. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  99. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  100. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  101. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  102. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  103. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  104. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  105. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  106. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  107. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/probe/bin/dlrun +0 -0
  108. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +89 -89
  109. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  110. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  111. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  112. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  113. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  114. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  115. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Attribute-Util-1.07/install.json +1 -1
  116. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Capture-Tiny-0.48/install.json +1 -1
  117. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Class-Load-0.25/install.json +1 -1
  118. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Class-Load-XS-0.10/install.json +1 -1
  119. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Clone-0.46/install.json +1 -1
  120. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Data-Cmp-0.010/install.json +1 -1
  121. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Data-OptList-0.114/install.json +1 -1
  122. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Data-UUID-1.226/install.json +1 -1
  123. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
  124. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
  125. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Devel-StackTrace-2.04/install.json +1 -1
  126. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
  127. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Eval-Closure-0.14/install.json +1 -1
  128. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/ExtUtils-Config-0.008/install.json +1 -1
  129. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/ExtUtils-Helpers-0.026/install.json +1 -1
  130. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/ExtUtils-InstallPaths-0.012/install.json +1 -1
  131. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/FFI-CheckLib-0.31/install.json +1 -1
  132. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/FFI-Platypus-2.08/install.json +1 -1
  133. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/File-Which-1.27/install.json +1 -1
  134. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/IPC-System-Simple-1.30/install.json +1 -1
  135. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/MRO-Compat-0.15/install.json +1 -1
  136. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Build-0.4234/install.json +1 -1
  137. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/{Module-Build-Tiny-0.046 → Module-Build-Tiny-0.047}/MYMETA.json +3 -3
  138. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Build-Tiny-0.047/install.json +1 -0
  139. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Implementation-0.09/install.json +1 -1
  140. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Runtime-0.016/install.json +1 -1
  141. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
  142. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Moose-2.2206/install.json +1 -1
  143. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/{Nice-Try-v1.3.4 → Nice-Try-v1.3.5}/MYMETA.json +3 -3
  144. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Nice-Try-v1.3.5/install.json +1 -0
  145. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/PPI-1.277/install.json +1 -1
  146. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/PPI-XS-0.910/install.json +1 -1
  147. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Package-DeprecationManager-0.18/install.json +1 -1
  148. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Package-Stash-0.40/install.json +1 -1
  149. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Package-Stash-XS-0.30/install.json +1 -1
  150. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Params-Util-1.102/install.json +1 -1
  151. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Path-Tiny-0.144/install.json +1 -1
  152. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  153. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Scope-Guard-0.21/install.json +1 -1
  154. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Sub-Exporter-0.990/install.json +1 -1
  155. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
  156. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Sub-Install-0.929/install.json +1 -1
  157. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Task-Weaken-1.06/install.json +1 -1
  158. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Test-Fatal-0.017/install.json +1 -1
  159. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Try-Tiny-0.31/install.json +1 -1
  160. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Want-0.29/install.json +1 -1
  161. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/aliased-0.34/install.json +1 -1
  162. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/autobox-v3.0.1/install.json +1 -1
  163. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +87 -87
  164. package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  165. package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  166. package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  167. package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  168. package/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  169. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
  170. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
  171. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.226/install.json +1 -1
  172. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/{Nice-Try-v1.3.4 → Nice-Try-v1.3.5}/MYMETA.json +3 -3
  173. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.5/install.json +1 -0
  174. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.277/install.json +1 -1
  175. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
  176. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  177. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
  178. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.1/install.json +1 -1
  179. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  180. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  181. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  182. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  183. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  184. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +17 -17
  185. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  186. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  187. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  188. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  189. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  190. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  191. package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  192. package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  193. package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  194. package/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  195. package/Binaries/Python/Linux/X64/javonet/core/handler/Handler.py +25 -36
  196. package/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +4 -0
  197. package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  198. package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  199. package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  200. package/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  201. package/Binaries/Python/MacOs/X64/javonet/core/handler/Handler.py +25 -36
  202. package/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +4 -0
  203. package/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  204. package/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  205. package/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  206. package/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  207. package/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  208. package/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  209. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  210. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  211. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  212. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  213. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  214. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  215. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  216. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  217. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  218. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  219. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  220. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  221. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  222. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  223. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  224. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  225. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  226. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  227. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  228. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  229. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  230. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  231. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  232. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  233. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  234. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  235. package/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  236. package/Binaries/Python/Windows/X64/javonet/core/handler/Handler.py +25 -36
  237. package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  238. package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  239. package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  240. package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  241. package/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  242. package/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  243. package/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  244. package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  245. package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  246. package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  247. package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  248. package/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  249. package/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  250. package/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  251. package/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +4 -0
  252. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  253. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  254. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  255. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  256. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  257. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  258. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  259. package/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  260. package/Binaries/Ruby/Linux/X64/utils/command_type.rb +12 -0
  261. package/Binaries/Ruby/MacOs/X64/utils/command_type.rb +12 -0
  262. package/Binaries/Ruby/Windows/X64/utils/command_type.rb +12 -0
  263. package/lib/sdk/internal/InvocationContext.js +10 -0
  264. package/lib/sdk/internal/RuntimeContext.js +6 -0
  265. package/lib/utils/CommandType.js +5 -1
  266. package/package.json +1 -1
  267. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.046/install.json +0 -1
  268. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.4/install.json +0 -1
  269. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Module-Build-Tiny-0.046/install.json +0 -1
  270. package/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/.meta/Nice-Try-v1.3.4/install.json +0 -1
  271. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.4/install.json +0 -1
@@ -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,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
 
@@ -1 +1 @@
1
- {"name":"Attribute::Util","version":"1.07","provides":{"Attribute::Util":{"file":"lib/Attribute/Util.pm","version":"1.07"},"Attribute::Method":{"version":"1.04","file":"lib/Attribute/Method.pm"},"Attribute::Memoize":{"version":"1.02","file":"lib/Attribute/Memoize.pm"},"Attribute::Abstract":{"file":"lib/Attribute/Abstract.pm","version":"1.02"},"Attribute::SigHandler":{"file":"lib/Attribute/SigHandler.pm","version":"1.02"},"Attribute::Alias":{"version":"1.02","file":"lib/Attribute/Alias.pm"}},"dist":"Attribute-Util-1.07","target":"Attribute::Abstract","pathname":"D/DA/DANKOGAI/Attribute-Util-1.07.tar.gz"}
1
+ {"pathname":"D/DA/DANKOGAI/Attribute-Util-1.07.tar.gz","dist":"Attribute-Util-1.07","target":"Attribute::Abstract","name":"Attribute::Util","version":"1.07","provides":{"Attribute::SigHandler":{"file":"lib/Attribute/SigHandler.pm","version":"1.02"},"Attribute::Method":{"version":"1.04","file":"lib/Attribute/Method.pm"},"Attribute::Memoize":{"version":"1.02","file":"lib/Attribute/Memoize.pm"},"Attribute::Abstract":{"file":"lib/Attribute/Abstract.pm","version":"1.02"},"Attribute::Util":{"version":"1.07","file":"lib/Attribute/Util.pm"},"Attribute::Alias":{"version":"1.02","file":"lib/Attribute/Alias.pm"}}}
@@ -1 +1 @@
1
- {"version":"0.48","provides":{"Capture::Tiny":{"file":"lib/Capture/Tiny.pm","version":"0.48"}},"dist":"Capture-Tiny-0.48","target":"Capture::Tiny","name":"Capture::Tiny","pathname":"D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz"}
1
+ {"provides":{"Capture::Tiny":{"version":"0.48","file":"lib/Capture/Tiny.pm"}},"name":"Capture::Tiny","version":"0.48","dist":"Capture-Tiny-0.48","target":"Capture::Tiny","pathname":"D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz"}
@@ -1 +1 @@
1
- {"name":"Class::Load","target":"Class::Load","dist":"Class-Load-0.25","provides":{"Class::Load":{"version":"0.25","file":"lib/Class/Load.pm"},"Class::Load::PP":{"version":"0.25","file":"lib/Class/Load/PP.pm"}},"version":"0.25","pathname":"E/ET/ETHER/Class-Load-0.25.tar.gz"}
1
+ {"pathname":"E/ET/ETHER/Class-Load-0.25.tar.gz","dist":"Class-Load-0.25","target":"Class::Load","version":"0.25","name":"Class::Load","provides":{"Class::Load":{"file":"lib/Class/Load.pm","version":"0.25"},"Class::Load::PP":{"version":"0.25","file":"lib/Class/Load/PP.pm"}}}
@@ -1 +1 @@
1
- {"pathname":"E/ET/ETHER/Class-Load-XS-0.10.tar.gz","target":"Class::Load::XS","provides":{"Class::Load::XS":{"file":"lib/Class/Load/XS.pm","version":"0.10"}},"dist":"Class-Load-XS-0.10","version":"0.10","name":"Class::Load::XS"}
1
+ {"dist":"Class-Load-XS-0.10","target":"Class::Load::XS","pathname":"E/ET/ETHER/Class-Load-XS-0.10.tar.gz","provides":{"Class::Load::XS":{"version":"0.10","file":"lib/Class/Load/XS.pm"}},"version":"0.10","name":"Class::Load::XS"}
@@ -1 +1 @@
1
- {"pathname":"G/GA/GARU/Clone-0.46.tar.gz","version":"0.46","target":"Clone","provides":{"Clone":{"version":"0.46","file":"Clone.pm"}},"dist":"Clone-0.46","name":"Clone"}
1
+ {"version":"0.46","name":"Clone","provides":{"Clone":{"file":"Clone.pm","version":"0.46"}},"pathname":"G/GA/GARU/Clone-0.46.tar.gz","dist":"Clone-0.46","target":"Clone"}
@@ -1 +1 @@
1
- {"pathname":"P/PE/PERLANCAR/Data-Cmp-0.010.tar.gz","version":"0.010","target":"Data::Cmp","dist":"Data-Cmp-0.010","provides":{"Data::Cmp":{"version":"0.010","file":"lib/Data/Cmp.pm"},"Data::Cmp::Numeric":{"file":"lib/Data/Cmp/Numeric.pm","version":"0.010"},"Data::Cmp::StrOrNumeric":{"file":"lib/Data/Cmp/StrOrNumeric.pm","version":"0.010"}},"name":"Data::Cmp"}
1
+ {"dist":"Data-Cmp-0.010","target":"Data::Cmp","pathname":"P/PE/PERLANCAR/Data-Cmp-0.010.tar.gz","provides":{"Data::Cmp::StrOrNumeric":{"file":"lib/Data/Cmp/StrOrNumeric.pm","version":"0.010"},"Data::Cmp::Numeric":{"version":"0.010","file":"lib/Data/Cmp/Numeric.pm"},"Data::Cmp":{"file":"lib/Data/Cmp.pm","version":"0.010"}},"name":"Data::Cmp","version":"0.010"}