List:Commits« Previous MessageNext Message »
From:Martin Zaun Date:November 4 2009 7:18pm
Subject:bzr commit into mysql-5.1-telco-6.3-ndbjtie branch (martin.zaun:3097)
View as plain text  
#At file:///Users/mz/mysql/ndb-6.3-ndbjtie/ based on revid:jorgen.austvik@stripped

 3097 Martin Zaun	2009-11-04 [merge]
      ndbjtie - merge from 6.3-ndbjtie-automake to 6.3-ndbjtie.

    modified:
      storage/ndb/ndbjtie/jtie/include/jtie_gcalls.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_lib.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_array_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_enum_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_idcache_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_object_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbybb_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbyval_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_refbyval_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_value_impl.hpp
      storage/ndb/ndbjtie/jtie/include/jtie_tconv_vwidth.hpp
      storage/ndb/ndbjtie/jtie/test/myapi/myapi.cpp
      storage/ndb/ndbjtie/jtie/test/myapi/myapi.hpp
      storage/ndb/ndbjtie/jtie/test/myapi/myapi_test.cpp
      storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_A.hpp
      storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_B.hpp
      storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_CI.hpp
      storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_D.hpp
      storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapi.hpp
      storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapiCtypes.hpp
      storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbBlob.java
      storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttr.java
      storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttrConst.java
      storage/ndb/ndbjtie/src/mysql_jtie.hpp
      storage/ndb/ndbjtie/src/ndbapi_jtie.hpp
      storage/ndb/ndbjtie/src/ndbjtie_lib.cpp
=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_gcalls.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_gcalls.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_gcalls.hpp	2009-11-04 17:28:51 +0000
@@ -375,6 +375,14 @@
 
 // ---------------------------------------------------------------------------
 
+// JNI Java class parameter declaration
+#define JCPD jclass cls
+
+// Stringified JNI Java class type
+#define SJCT "jclass"
+
+// ---------------------------------------------------------------------------
+
 // Template formal result type declaration
 #define TFRTD typename RT
 
@@ -489,9 +497,10 @@ template< TFRTD,
           CFRT & D >
 inline
 JFRT
-gget(JEPD)
+gget(JEPD, JCPD)
 {
-    TRACE(SJFRT " gget(" SJET ")");
+    TRACE(SJFRT " gget(" SJET ", " SJCT ")");
+    (void)cls;
     JARD;
     CARD = D;
     RESULT_CONV;
@@ -520,9 +529,10 @@ template< TFPTD(1),
           CFPT(1) & D >
 inline
 void
-gset(JEPD, JFPD(1))
+gset(JEPD, JCPD, JFPD(1))
 {
-    TRACE("void" " gset(" SJET ", " STRING(SJFPT(1)) ")");
+    TRACE("void" " gset(" SJET ", " SJCT ", " STRING(SJFPT(1)) ")");
+    (void)cls;
     SFD;
     PARAM_CONV_BEGIN(1);
     D = CAP(1);
@@ -550,17 +560,18 @@ gset(JEPD, JFOPD CPL1(JFPD))
 // ---------------------------------------------------------------------------
 
 // parameters: n = n-ary function
-#define TFD_F(n)                                           \
-    template< CTL##n(TFPTD)                                \
-              void F(CSL##n(CFPT)) >                       \
-    inline void                                            \
-    gcall(JEPD CPL##n(JFPD))                               \
-    {                                                      \
-        TRACE("void" " gcall(" SJET SCPL##n(SJFPT) ")");   \
-        SFD;                                               \
-        BSL##n(PARAM_CONV_BEGIN);                          \
-        F( CSL##n(CAP) );                                  \
-        RBSL##n(PARAM_CONV_END);                           \
+#define TFD_F(n)                                                        \
+    template< CTL##n(TFPTD)                                             \
+              void F(CSL##n(CFPT)) >                                    \
+    inline void                                                         \
+    gcall(JEPD, JCPD CPL##n(JFPD))                                      \
+    {                                                                   \
+        TRACE("void" " gcall(" SJET ", " SJCT SCPL##n(SJFPT) ")");      \
+        (void)env; (void)cls;                                           \
+        SFD;                                                            \
+        BSL##n(PARAM_CONV_BEGIN);                                       \
+        F( CSL##n(CAP) );                                               \
+        RBSL##n(PARAM_CONV_END);                                        \
     }
 
 // generate the function templates (separate lines for proper error messages)
@@ -590,21 +601,22 @@ TFD_F(19)
 // ---------------------------------------------------------------------------
 
 // parameters: n = n-ary function
-#define TFD_FR(n)                                          \
-    template< TFRTD,                                       \
-              CTL##n(TFPTD)                                \
-              CFRT F(CSL##n(CFPT)) >                       \
-    inline JFRT                                            \
-    gcall(JEPD CPL##n(JFPD))                               \
-    {                                                      \
-        TRACE(SJFRT " gcall(" SJET SCPL##n(SJFPT) ")");    \
-        JARD;                                              \
-        SFD;                                               \
-        BSL##n(PARAM_CONV_BEGIN);                          \
-        CARD = F( CSL##n(CAP) );                           \
-        RESULT_CONV;                                       \
-        RBSL##n(PARAM_CONV_END);                           \
-        return RESULT_CAST;                                \
+#define TFD_FR(n)                                                       \
+    template< TFRTD,                                                    \
+              CTL##n(TFPTD)                                             \
+              CFRT F(CSL##n(CFPT)) >                                    \
+    inline JFRT                                                         \
+    gcall(JEPD, JCPD CPL##n(JFPD))                                      \
+    {                                                                   \
+        TRACE(SJFRT " gcall(" SJET ", " SJCT SCPL##n(SJFPT) ")");       \
+        (void)cls;                                                      \
+        JARD;                                                           \
+        SFD;                                                            \
+        BSL##n(PARAM_CONV_BEGIN);                                       \
+        CARD = F( CSL##n(CAP) );                                        \
+        RESULT_CONV;                                                    \
+        RBSL##n(PARAM_CONV_END);                                        \
+        return RESULT_CAST;                                             \
     }
 
 // generate the function templates (separate lines help error messages)
@@ -633,11 +645,20 @@ TFD_FR(19)
 // Non-Static Const/Non-Const Member Function Calls, No-Return
 // ---------------------------------------------------------------------------
 
-// parameters: n = n-ary function, cm = const member function qualifier
-#define TFD_MF(n,cm)                                                    \
+// parameters: n = n-ary function
+//
+// we do not generate a separate set of templates for const members anymore:
+//   cm = empty or 'const'
+//   #define TFD_MF(n,cm)
+//          ... void (SCFOT::*F)(CSL##n(CFPT)) cm >
+// for
+// - leads to template ambiguities with const member function ptr type
+// - empty macro arguments are undefined in ISO C90 and ISO C++98
+//
+#define TFD_MF(n)                                                       \
     template< TFOT,                                                     \
               CTL##n(TFPTD)                                             \
-              void (SCFOT::*F)(CSL##n(CFPT)) cm >                       \
+              void (SCFOT::*F)(CSL##n(CFPT)) >                          \
     inline void                                                         \
     gcall(JEPD, JFOPD CPL##n(JFPD))                                     \
     {                                                                   \
@@ -650,67 +671,52 @@ TFD_FR(19)
         TARGET_CONV_END;                                                \
     }
 
-#if 0 // XXX disabled due to template ambiguities with const
-// generate the function templates (separate lines help error messages)
-TFD_MF(0,const)
-TFD_MF(1,const)
-TFD_MF(2,const)
-TFD_MF(3,const)
-TFD_MF(4,const)
-TFD_MF(5,const)
-TFD_MF(6,const)
-TFD_MF(7,const)
-TFD_MF(8,const)
-TFD_MF(9,const)
-TFD_MF(10,const)
-TFD_MF(11,const)
-TFD_MF(12,const)
-TFD_MF(13,const)
-TFD_MF(14,const)
-TFD_MF(15,const)
-TFD_MF(16,const)
-TFD_MF(17,const)
-TFD_MF(18,const)
-TFD_MF(19,const)
-#endif
-
 // generate the function templates (separate lines help error messages)
-TFD_MF(0,)
-TFD_MF(1,)
-TFD_MF(2,)
-TFD_MF(3,)
-TFD_MF(4,)
-TFD_MF(5,)
-TFD_MF(6,)
-TFD_MF(7,)
-TFD_MF(8,)
-TFD_MF(9,)
-TFD_MF(10,)
-TFD_MF(11,)
-TFD_MF(12,)
-TFD_MF(13,)
-TFD_MF(14,)
-TFD_MF(15,)
-TFD_MF(16,)
-TFD_MF(17,)
-TFD_MF(18,)
-TFD_MF(19,)
+TFD_MF(0)
+TFD_MF(1)
+TFD_MF(2)
+TFD_MF(3)
+TFD_MF(4)
+TFD_MF(5)
+TFD_MF(6)
+TFD_MF(7)
+TFD_MF(8)
+TFD_MF(9)
+TFD_MF(10)
+TFD_MF(11)
+TFD_MF(12)
+TFD_MF(13)
+TFD_MF(14)
+TFD_MF(15)
+TFD_MF(16)
+TFD_MF(17)
+TFD_MF(18)
+TFD_MF(19)
 
 // ---------------------------------------------------------------------------
 // Non-Static Const/Non-Const Member Function Calls, Return
 // ---------------------------------------------------------------------------
 
 // parameters: n = n-ary, cm = const member function qualifier
-#define TFD_MFR(n,cm)                                                   \
+//
+// we do not generate a separate set of templates for const members anymore:
+//   cm = empty or 'const'
+//   #define TFD_MFR(n,cm)
+//          ... CFRT (SCFOT::*F)(CSL##n(CFPT)) cm >
+// for
+// - leads to template ambiguities with const member function ptr type
+// - empty macro arguments are undefined in ISO C90 and ISO C++98
+//
+#define TFD_MFR(n)                                                      \
     template< TFOT,                                                     \
               TFRTD,                                                    \
               CTL##n(TFPTD)                                             \
-              CFRT (SCFOT::*F)(CSL##n(CFPT)) cm >                       \
+              CFRT (SCFOT::*F)(CSL##n(CFPT)) >                          \
     inline JFRT                                                         \
     gcall(JEPD, JFOPD CPL##n(JFPD))                                     \
     {                                                                   \
         TRACE(SJFRT " gcall(" SJET ", " SJFOT SCPL##n(SJFPT) ")");      \
-        JARD;                                              \
+        JARD;                                                           \
         SFD;                                                            \
         TARGET_CONV_BEGIN;                                              \
         BSL##n(PARAM_CONV_BEGIN);                                       \
@@ -721,51 +727,27 @@ TFD_MF(19,)
         return RESULT_CAST;                                             \
     }
 
-#if 0 // XXX disabled due to template ambiguities with const
-// generate the function templates (separate lines help error messages)
-TFD_MFR(0,const)
-TFD_MFR(1,const)
-TFD_MFR(2,const)
-TFD_MFR(3,const)
-TFD_MFR(4,const)
-TFD_MFR(5,const)
-TFD_MFR(6,const)
-TFD_MFR(7,const)
-TFD_MFR(8,const)
-TFD_MFR(9,const)
-TFD_MFR(10,const)
-TFD_MFR(11,const)
-TFD_MFR(12,const)
-TFD_MFR(13,const)
-TFD_MFR(14,const)
-TFD_MFR(15,const)
-TFD_MFR(16,const)
-TFD_MFR(17,const)
-TFD_MFR(18,const)
-TFD_MFR(19,const)
-#endif
-
 // generate the function templates (separate lines help error messages)
-TFD_MFR(0,)
-TFD_MFR(1,)
-TFD_MFR(2,)
-TFD_MFR(3,)
-TFD_MFR(4,)
-TFD_MFR(5,)
-TFD_MFR(6,)
-TFD_MFR(7,)
-TFD_MFR(8,)
-TFD_MFR(9,)
-TFD_MFR(10,)
-TFD_MFR(11,)
-TFD_MFR(12,)
-TFD_MFR(13,)
-TFD_MFR(14,)
-TFD_MFR(15,)
-TFD_MFR(16,)
-TFD_MFR(17,)
-TFD_MFR(18,)
-TFD_MFR(19,)
+TFD_MFR(0)
+TFD_MFR(1)
+TFD_MFR(2)
+TFD_MFR(3)
+TFD_MFR(4)
+TFD_MFR(5)
+TFD_MFR(6)
+TFD_MFR(7)
+TFD_MFR(8)
+TFD_MFR(9)
+TFD_MFR(10)
+TFD_MFR(11)
+TFD_MFR(12)
+TFD_MFR(13)
+TFD_MFR(14)
+TFD_MFR(15)
+TFD_MFR(16)
+TFD_MFR(17)
+TFD_MFR(18)
+TFD_MFR(19)
 
 // ---------------------------------------------------------------------------
 // Internal C++ Constructor/Destructor Wrappers
@@ -861,9 +843,10 @@ TFD_CC(19)
 template< TFPTD(1) >
 inline
 void
-gdelete(JEPD, JFPD(1))
+gdelete(JEPD, JCPD, JFPD(1))
 {
-    TRACE("void gdelete(" SJET ", " STRING(SJFPT(1)) ")");
+    TRACE("void gdelete(" SJET ", " SJCT ", " STRING(SJFPT(1)) ")");
+    (void)cls;
     SFD;
     PARAM_CONV_BEGIN(1);
     Destructor< CAPT(1) >::cdelete(CAP(1));
@@ -874,11 +857,12 @@ gdelete(JEPD, JFPD(1))
 #define TFD_C(n)                                                        \
     template< TFRTD CPL##n(TFPTD) >                                     \
     inline JFRT                                                         \
-    gcreate(JEPD CPL##n(JFPD))                                          \
+    gcreate(JEPD, JCPD CPL##n(JFPD))                                    \
     {                                                                   \
-        TRACE(SJFRT " gcreate(" SJET SCSL##n(SJFPT) ")");               \
-        return gcall< RT, CTL##n(TFPT) &Constructor##n< CFRT CPL##n(CFPT) > \
-            ::ccreate >(env CPL##n(JFP));                               \
+        TRACE(SJFRT " gcreate(" SJET ", " SJCT SCSL##n(SJFPT) ")");     \
+        return gcall< RT, CTL##n(TFPT)                                  \
+                      &Constructor##n< CFRT CPL##n(CFPT) >::ccreate     \
+                      >(env, cls CPL##n(JFP));                          \
         }
 
 // generate the function templates (separate lines help error messages)

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_lib.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_lib.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_lib.hpp	2009-11-04 17:28:51 +0000
@@ -85,6 +85,7 @@ jint
 JTie_OnLoad(JavaVM * jvm, void * reserved)
 {
     TRACE("jint JTie_OnLoad(JavaVM *, void *)");
+    (void)reserved;
 
     // beware of circular loading dependencies: do not load classes here
     // whose static initializers have a dependency upon this native library...
@@ -117,6 +118,7 @@ void
 JTie_OnUnload(JavaVM * jvm, void * reserved)
 {
     TRACE("void JTie_OnUnload(JavaVM *, void *)");
+    (void)reserved;
 
     // get the JNI environment
     JNIEnv * env;

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_array_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_array_impl.hpp	2009-10-09 04:18:35 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_array_impl.hpp	2009-11-04 17:28:51 +0000
@@ -202,7 +202,7 @@ template<> struct ArrayConv< jdoubleArra
 // Specializations for array conversions of variable-width primitive type
 // ---------------------------------------------------------------------------
 
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_SHORT_ARRAY_T *, signed short * >
 : ArrayConvImpl< JTIE_JNI_SHORT_ARRAY_T *, JTIE_JNI_SHORT_T, signed short,
                  &JNIEnv::JTIE_JNI_GET_SHORT_ARRAY_ELEMENTS,
@@ -218,7 +218,7 @@ template<> struct ArrayConv< JTIE_JNI_SH
                  &JNIEnv::JTIE_JNI_SET_SHORT_ARRAY_REGION > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_INT_ARRAY_T *, signed int * >
 : ArrayConvImpl< JTIE_JNI_INT_ARRAY_T *, JTIE_JNI_INT_T, signed int,
                  &JNIEnv::JTIE_JNI_GET_INT_ARRAY_ELEMENTS,
@@ -234,7 +234,7 @@ template<> struct ArrayConv< JTIE_JNI_LO
                  &JNIEnv::JTIE_JNI_SET_LONG_ARRAY_REGION > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_LONG_ARRAY_T *, signed long * >
 : ArrayConvImpl< JTIE_JNI_LONG_ARRAY_T *, JTIE_JNI_LONG_T, signed long,
                  &JNIEnv::JTIE_JNI_GET_LONG_ARRAY_ELEMENTS,
@@ -250,7 +250,7 @@ template<> struct ArrayConv< JTIE_JNI_LO
                  &JNIEnv::JTIE_JNI_SET_LONG_ARRAY_REGION > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_LONGLONG_ARRAY_T *, signed long long * >
 : ArrayConvImpl< JTIE_JNI_LONGLONG_ARRAY_T *, JTIE_JNI_LONGLONG_T, signed long long,
                  &JNIEnv::JTIE_JNI_GET_LONGLONG_ARRAY_ELEMENTS,
@@ -266,7 +266,7 @@ template<> struct ArrayConv< JTIE_JNI_LO
                  &JNIEnv::JTIE_JNI_SET_LONG_ARRAY_REGION > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_LONGDOUBLE_ARRAY_T *, long double * >
 : ArrayConvImpl< JTIE_JNI_LONGDOUBLE_ARRAY_T *, JTIE_JNI_LONGDOUBLE_T, long double,
                  &JNIEnv::JTIE_JNI_GET_LONGDOUBLE_ARRAY_ELEMENTS,
@@ -325,7 +325,7 @@ template<> struct ArrayConv< jdoubleArra
 // Specializations for const array conversions of variable-width primitive type
 // ---------------------------------------------------------------------------
 
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_SHORT_ARRAY_T *, const signed short * >
 : ArrayConv< JTIE_JNI_SHORT_ARRAY_T *, signed short * > {};
 
@@ -333,7 +333,7 @@ template<> struct ArrayConv< JTIE_JNI_SH
 : ArrayConv< JTIE_JNI_SHORT_ARRAY_T *, unsigned short * > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_INT_ARRAY_T *, const signed int * >
 : ArrayConv< JTIE_JNI_INT_ARRAY_T *, signed int * > {};
 
@@ -341,7 +341,7 @@ template<> struct ArrayConv< JTIE_JNI_IN
 : ArrayConv< JTIE_JNI_INT_ARRAY_T *, unsigned int * > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_LONG_ARRAY_T *, const signed long * >
 : ArrayConv< JTIE_JNI_LONG_ARRAY_T *, signed long * > {};
 
@@ -349,7 +349,7 @@ template<> struct ArrayConv< JTIE_JNI_LO
 : ArrayConv< JTIE_JNI_LONG_ARRAY_T *, unsigned long * > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_LONGLONG_ARRAY_T *, const signed long long * >
 : ArrayConv< JTIE_JNI_LONGLONG_ARRAY_T *, signed long long * > {};
 
@@ -357,7 +357,7 @@ template<> struct ArrayConv< JTIE_JNI_LO
 : ArrayConv< JTIE_JNI_LONGLONG_ARRAY_T *, unsigned long long * > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct ArrayConv< JTIE_JNI_LONGDOUBLE_ARRAY_T *, const long double * >
 : ArrayConv< JTIE_JNI_LONGDOUBLE_ARRAY_T *, long double * > {};
 #endif

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_enum_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_enum_impl.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_enum_impl.hpp	2009-11-04 17:28:51 +0000
@@ -109,6 +109,7 @@ C
 Param< J, C >::convert(cstatus & s, J j, JNIEnv * env)
 {
     TRACE("C Param.convert(cstatus &, J, JNIEnv *)");
+    (void)env;
     s = 0;
     return static_cast< C >(j);
 }
@@ -120,6 +121,7 @@ void
 Param< J, C >::release(C c, J j, JNIEnv * env)
 {
     TRACE("void Param.release(C, J, JNIEnv *)");
+    (void)c; (void)j; (void)env;
 }
 #endif // XXX HACK -- tmp support for enums
     
@@ -131,6 +133,7 @@ J
 Result< J, C >::convert(C c, JNIEnv * env)
 {
     TRACE("J Result.convert(C, JNIEnv *)");
+    (void)env;
     return c;
 }
 #endif // XXX HACK -- tmp support for enums

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_idcache_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_idcache_impl.hpp	2009-10-27 23:13:41 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_idcache_impl.hpp	2009-11-04 17:28:51 +0000
@@ -125,6 +125,7 @@ struct MemberId {
     static unsigned long nIdLookUps;
 
     static void setClass(JNIEnv * env, jclass cls) {
+        (void)env; (void)cls;
     }
 
     static jclass getClass(JNIEnv * env) {
@@ -150,6 +151,7 @@ struct MemberIdCache : MemberId< C > {
 
     static ID_t getId(JNIEnv * env, jclass cls) {
         assert (cls != NULL);
+        (void)env; (void)cls;
         return mid;
     }
 

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_object_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_object_impl.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_object_impl.hpp	2009-11-04 17:28:51 +0000
@@ -75,10 +75,10 @@ detachWrapper(jtie_Object jo, JNIEnv * e
             // exception pending
         } else {
             // convert address to a jlong via intptr_t (C99)
-            //assert (sizeof(jlong) >= sizeof(intptr_t));
             //printf("    p = %p\n", c);
-            intptr_t ip = reinterpret_cast< intptr_t >((void*)NULL);
-            jlong p = ip;
+            intptr_t ip = 0; //reinterpret_cast< intptr_t >((void*)NULL);
+            jlong p = static_cast< jlong >(ip);
+            assert(static_cast< intptr_t >(p) == ip);
 
             // set the field's value
             env->SetLongField(jo, fid, p);
@@ -125,8 +125,8 @@ struct ObjectParam< jtie_Object, C * > {
                         registerException(env, "java/lang/AssertionError", m);
                     } else {
                         // convert jlong to an address via intptr_t (C99)
-                        //assert (sizeof(jlong) <= sizeof(intptr_t));
-                        intptr_t ip = p;
+                        intptr_t ip =  static_cast< intptr_t >(p);
+                        assert(static_cast< jlong >(ip) == p);
                         c = reinterpret_cast< C * >(ip);
                         //printf("    c = %p\n", c);
 
@@ -145,6 +145,7 @@ struct ObjectParam< jtie_Object, C * > {
     release(C * c, jtie_Object j, JNIEnv * env) {
         TRACE("void ObjectParam.release(C *, jtie_Object, JNIEnv *)");
         //printf("    c = %lx\n", (unsigned long)c);
+        (void)c; (void)j; (void)env;
     };
 };
 
@@ -234,10 +235,10 @@ wrapAsJavaObject(jclass cls, jmethodID c
                 // exception pending
             } else {
                 // convert address to a jlong via intptr_t (C99)
-                //assert (sizeof(jlong) >= sizeof(intptr_t));
                 //printf("    p = %p\n", c);
                 intptr_t ip = reinterpret_cast< intptr_t >(c);
-                jlong p = ip;
+                jlong p = static_cast< jlong >(ip);
+                assert(static_cast< intptr_t >(p) == ip);
 
                 // set the field's value
                 env->SetLongField(jo, fid, p);

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbybb_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbybb_impl.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbybb_impl.hpp	2009-11-04 17:28:51 +0000
@@ -295,6 +295,7 @@ struct ByteBufferPtrParam {
     static void
     release(C * c, jtie_j_n_ByteBuffer j, JNIEnv * env) {
         TRACE("void ByteBufferPtrParam.release(C *, jtie_j_n_ByteBuffer, JNIEnv *)");
+        (void)c; (void)j; (void)env;
     }
 };
 

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbyval_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbyval_impl.hpp	2009-10-09 04:18:35 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_ptrbyval_impl.hpp	2009-11-04 17:28:51 +0000
@@ -241,102 +241,102 @@ template<> struct Result< _jdoubleArray 
 // ---------------------------------------------------------------------------
 
 // non-const pointer parameters
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct Param< JTIE_JNI_SHORT_ARRAY_T, signed short * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, signed short > {};
 template<> struct Param< JTIE_JNI_SHORT_ARRAY_T, unsigned short * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, unsigned short > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct Param< JTIE_JNI_INT_ARRAY_T, signed int * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, signed int > {};
 template<> struct Param< JTIE_JNI_INT_ARRAY_T, unsigned int * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, unsigned int > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONG_ARRAY_T, signed long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, signed long > {};
 template<> struct Param< JTIE_JNI_LONG_ARRAY_T, unsigned long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, unsigned long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONGLONG_ARRAY_T, signed long long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, signed long long > {};
 template<> struct Param< JTIE_JNI_LONGLONG_ARRAY_T, unsigned long long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, unsigned long long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONGDOUBLE_ARRAY_T, long double * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONGDOUBLE_ARRAY_T, 0 >, long double > {};
 #endif
 
 // const pointer parameters
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct Param< JTIE_JNI_SHORT_ARRAY_T, const signed short * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, const signed short > {};
 template<> struct Param< JTIE_JNI_SHORT_ARRAY_T, const unsigned short * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, const unsigned short > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct Param< JTIE_JNI_INT_ARRAY_T, const signed int * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, const signed int > {};
 template<> struct Param< JTIE_JNI_INT_ARRAY_T, const unsigned int * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, const unsigned int > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONG_ARRAY_T, const signed long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, const signed long > {};
 template<> struct Param< JTIE_JNI_LONG_ARRAY_T, const unsigned long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, const unsigned long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONGLONG_ARRAY_T, const signed long long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, const signed long long > {};
 template<> struct Param< JTIE_JNI_LONGLONG_ARRAY_T, const unsigned long long * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, const unsigned long long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONGDOUBLE_ARRAY_T, const long double * > : ArrayPtrParam< _jtie_j_BoundedArray< JTIE_JNI_LONGDOUBLE_ARRAY_T, 0 >, const long double > {};
 #endif
 
 // non-const pointer results
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct Result< JTIE_JNI_SHORT_ARRAY_T, signed short * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, signed short > {};
 template<> struct Result< JTIE_JNI_SHORT_ARRAY_T, unsigned short * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, unsigned short > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct Result< JTIE_JNI_INT_ARRAY_T, signed int * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, signed int > {};
 template<> struct Result< JTIE_JNI_INT_ARRAY_T, unsigned int * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, unsigned int > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct Result< JTIE_JNI_LONG_ARRAY_T, signed long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, signed long > {};
 template<> struct Result< JTIE_JNI_LONG_ARRAY_T, unsigned long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, unsigned long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct Result< JTIE_JNI_LONGLONG_ARRAY_T, signed long long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, signed long long > {};
 template<> struct Result< JTIE_JNI_LONGLONG_ARRAY_T, unsigned long long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, unsigned long long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct Result< JTIE_JNI_LONGDOUBLE_ARRAY_T, long double * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONGDOUBLE_ARRAY_T, 0 >, long double > {};
 #endif
 
 // const pointer results
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct Result< JTIE_JNI_SHORT_ARRAY_T, const signed short * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, const signed short > {};
 template<> struct Result< JTIE_JNI_SHORT_ARRAY_T, const unsigned short * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 0 >, const unsigned short > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct Result< JTIE_JNI_INT_ARRAY_T, const signed int * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, const signed int > {};
 template<> struct Result< JTIE_JNI_INT_ARRAY_T, const unsigned int * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 0 >, const unsigned int > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct Result< JTIE_JNI_LONG_ARRAY_T, const signed long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, const signed long > {};
 template<> struct Result< JTIE_JNI_LONG_ARRAY_T, const unsigned long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 0 >, const unsigned long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct Result< JTIE_JNI_LONGLONG_ARRAY_T, const signed long long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, const signed long long > {};
 template<> struct Result< JTIE_JNI_LONGLONG_ARRAY_T, const unsigned long long * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 0 >, const unsigned long long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct Result< JTIE_JNI_LONGDOUBLE_ARRAY_T, const long double * > : ArrayPtrResult< _jtie_j_BoundedArray< JTIE_JNI_LONGDOUBLE_ARRAY_T, 0 >, const long double > {};
 #endif
 

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_refbyval_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_refbyval_impl.hpp	2009-10-09 04:18:35 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_refbyval_impl.hpp	2009-11-04 17:28:51 +0000
@@ -228,27 +228,27 @@ template<> struct Result< JTIE_JNI_LONGD
 #endif
 
 // non-const reference parameters (map as value holders)
-#if (defined(JTIE_TSPECIALIZE_SHORT) && JTIE_TSPECIALIZE_SHORT > 0)
+#if (defined(JTIE_TSPECIALIZE_SHORT_ARRAY) && JTIE_TSPECIALIZE_SHORT_ARRAY > 0)
 template<> struct Param< JTIE_JNI_SHORT_ARRAY_T, const signed short & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 1 >, signed short > {};
 template<> struct Param< JTIE_JNI_SHORT_ARRAY_T, const unsigned short & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_SHORT_ARRAY_T, 1 >, unsigned short > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_INT) && JTIE_TSPECIALIZE_INT > 0)
+#if (defined(JTIE_TSPECIALIZE_INT_ARRAY) && JTIE_TSPECIALIZE_INT_ARRAY > 0)
 template<> struct Param< JTIE_JNI_INT_ARRAY_T, const signed int & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 1 >, signed int > {};
 template<> struct Param< JTIE_JNI_INT_ARRAY_T, const unsigned int & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_INT_ARRAY_T, 1 >, unsigned int > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONG) && JTIE_TSPECIALIZE_LONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONG_ARRAY) && JTIE_TSPECIALIZE_LONG_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONG_ARRAY_T, const signed long & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 1 >, signed long > {};
 template<> struct Param< JTIE_JNI_LONG_ARRAY_T, const unsigned long & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_LONG_ARRAY_T, 1 >, unsigned long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGLONG) && JTIE_TSPECIALIZE_LONGLONG > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGLONG_ARRAY) && JTIE_TSPECIALIZE_LONGLONG_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONGLONG_ARRAY_T, const signed long long & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 1 >, signed long long > {};
 template<> struct Param< JTIE_JNI_LONGLONG_ARRAY_T, const unsigned long long & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_LONGLONG_ARRAY_T, 1 >, unsigned long long > {};
 #endif
 
-#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
+#if (defined(JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY) && JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY > 0)
 template<> struct Param< JTIE_JNI_LONGDOUBLE_ARRAY_T, const long double & > : ArrayRefParam< _jtie_j_BoundedArray< JTIE_JNI_LONGDOUBLE_ARRAY_T, 1 >, long double > {};
 #endif
 

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_value_impl.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_value_impl.hpp	2009-10-09 04:18:35 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_value_impl.hpp	2009-11-04 17:28:51 +0000
@@ -40,13 +40,15 @@ struct ParamBasicT {
     static C
     convert(cstatus & s, J j, JNIEnv * env) {
         TRACE("C ParamBasicT.convert(cstatus &, J, JNIEnv *)");
+        (void)env;
         s = 0;
-        return j;
+        return static_cast< C >(j); // may convert to unsigned type
     }
 
     static void
     release(C c, J j, JNIEnv * env) {
         TRACE("void ParamBasicT.release(C, J, JNIEnv *)");
+        (void)c; (void)j; (void)env;
     }
 
 private:
@@ -63,7 +65,8 @@ struct ResultBasicT {
     static J
     convert(C c, JNIEnv * env) {
         TRACE("J ResultBasicT.convert(C, JNIEnv *)");
-        return c;
+        (void)env;
+        return static_cast< J >(c); // may convert to signed type
     }
 
 private:
@@ -95,6 +98,7 @@ struct Param< jboolean, bool > {
     static bool
     convert(cstatus & s, jboolean j, JNIEnv * env) {
         TRACE("bool Param.convert(cstatus &, jboolean, JNIEnv *)");
+        (void)env;
         s = 0;
         // Java v C: jboolean is unsigned 8-bit, so, beware of truncation
         return (j == JNI_TRUE);
@@ -103,6 +107,7 @@ struct Param< jboolean, bool > {
     static void
     release(bool c, jboolean j, JNIEnv * env) {
         TRACE("void Param.release(bool, jboolean, JNIEnv *)");
+        (void)c; (void)j; (void)env;
     }
 };
 
@@ -112,6 +117,7 @@ struct Result< jboolean, bool > {
     static jboolean
     convert(bool c, JNIEnv * env) {
         TRACE("jboolean Result.convert(bool, JNIEnv *)");
+        (void)env;
         // Java v C: jboolean is unsigned 8-bit, so, beware of truncation
         return (c ? JNI_TRUE : JNI_FALSE);
     }
@@ -219,9 +225,9 @@ template<> struct Result< JTIE_JNI_LONGL
 #if (defined(JTIE_TSPECIALIZE_LONGDOUBLE) && JTIE_TSPECIALIZE_LONGDOUBLE > 0)
 template <> struct is_valid_primitive_type_mapping< JTIE_JNI_LONGDOUBLE_T, long double > {};
 
-template<> struct Param< JTIE_JNI_LONGDOUBLE_T, long double > : ParamBasicT< jint, long double > {};
+template<> struct Param< JTIE_JNI_LONGDOUBLE_T, long double > : ParamBasicT< JTIE_JNI_LONGDOUBLE_T, long double > {};
 
-template<> struct Result< JTIE_JNI_LONGDOUBLE_T, long double > : ResultBasicT< jint, long double > {};
+template<> struct Result< JTIE_JNI_LONGDOUBLE_T, long double > : ResultBasicT< JTIE_JNI_LONGDOUBLE_T, long double > {};
 #endif
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/jtie/include/jtie_tconv_vwidth.hpp'
--- a/storage/ndb/ndbjtie/jtie/include/jtie_tconv_vwidth.hpp	2009-10-09 04:18:35 +0000
+++ b/storage/ndb/ndbjtie/jtie/include/jtie_tconv_vwidth.hpp	2009-11-04 17:28:51 +0000
@@ -32,24 +32,35 @@
 
 // XXX assert bits_in_byte == 8, for we don't list char-types here
 
+#define JTIE_TSPECIALIZE_SHORT 0
+#define JTIE_TSPECIALIZE_INT 0
+#define JTIE_TSPECIALIZE_LONG 1
+#define JTIE_TSPECIALIZE_LONGLONG 0
+#define JTIE_TSPECIALIZE_LONGDOUBLE 1
+
 #define JTIE_JNI_SHORT_T jshort
 #define JTIE_JNI_INT_T jint
 #define JTIE_JNI_LONG_T jint
 #define JTIE_JNI_LONGLONG_T jlong
 #define JTIE_JNI_LONGDOUBLE_T jdouble
 
+// XXX variable-width type array conversions not supported yet
+// - default implementation would only support same-width types
+// - no unit tests yet
+#if 0
+
+#define JTIE_TSPECIALIZE_SHORT_ARRAY 0
+#define JTIE_TSPECIALIZE_INT_ARRAY 0
+#define JTIE_TSPECIALIZE_LONG_ARRAY 0
+#define JTIE_TSPECIALIZE_LONGLONG_ARRAY 0
+#define JTIE_TSPECIALIZE_LONGDOUBLE_ARRAY 0
+
 #define JTIE_JNI_SHORT_ARRAY_T _jshortArray
 #define JTIE_JNI_INT_ARRAY_T _jintArray
 #define JTIE_JNI_LONG_ARRAY_T _jintArray
 #define JTIE_JNI_LONGLONG_ARRAY_T _jlongArray
 #define JTIE_JNI_LONGDOUBLE_ARRAY_T _jdoubleArray
 
-#define JTIE_TSPECIALIZE_SHORT 0
-#define JTIE_TSPECIALIZE_INT 0
-#define JTIE_TSPECIALIZE_LONG 1
-#define JTIE_TSPECIALIZE_LONGLONG 0
-#define JTIE_TSPECIALIZE_LONGDOUBLE 1
-
 #define JTIE_JNI_GET_LONG_ARRAY_ELEMENTS GetIntArrayElements
 #define JTIE_JNI_RELEASE_LONG_ARRAY_ELEMENTS ReleaseIntArrayElements
 #define JTIE_JNI_NEW_LONG_ARRAY NewIntArray
@@ -60,6 +71,8 @@
 #define JTIE_JNI_NEW_LONGDOUBLE_ARRAY NewDoubleArray
 #define JTIE_JNI_SET_LONGDOUBLE_ARRAY_REGION SetDoubleArrayRegion
 
+#endif
+
 // ---------------------------------------------------------------------------
 
 #endif // jtie_tconv_vwidth_hpp

=== modified file 'storage/ndb/ndbjtie/jtie/test/myapi/myapi.cpp'
--- a/storage/ndb/ndbjtie/jtie/test/myapi/myapi.cpp	2009-10-31 07:44:53 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myapi/myapi.cpp	2009-11-04 17:28:51 +0000
@@ -212,41 +212,49 @@ char * const s272()
 void s310(const void * p0)
 {
     TRACE("void s310(const void *)");
+    (void)p0;
 }
 
 void s312(const char * p0)
 {
     TRACE("void s312(const char *)");
+    (void)p0;
 }
 
 void s330(void * p0)
 {
     TRACE("void s330(void *)");
+    (void)p0;
 }
 
 void s332(char * p0)
 {
     TRACE("void s332(char *)");
+    (void)p0;
 }
 
 void s350(const void * const p0)
 {
     TRACE("void s350(const void * const)");
+    (void)p0;
 }
 
 void s352(const char * const p0)
 {
     TRACE("void s352(const char * const)");
+    (void)p0;
 }
 
 void s370(void * const p0)
 {
     TRACE("void s370(void * const)");
+    (void)p0;
 }
 
 void s372(char * p0)
 {
     TRACE("void s372(char * const)");
+    (void)p0;
 }
 
 // ---------------------------------------------------------------------------
@@ -2160,77 +2168,77 @@ const char * f612()
 {
     TRACE("const char * f612()");
     static char _f612 = 1;
-    return (((_f612 = -_f612) != 1) ? NULL : &_f612);
+    return (((_f612 = (char)-_f612) != 1) ? NULL : &_f612);
 }
 
 const int8_t * f613()
 {
     TRACE("const int8_t * f613()");
     static int8_t _f613 = 1;
-    return (((_f613 = -_f613) != 1) ? NULL : &_f613);
+    return (((_f613 = (int8_t)-_f613) != 1) ? NULL : &_f613);
 }
 
 const uint8_t * f614()
 {
     TRACE("const uint8_t * f614()");
     static uint8_t _f614 = 1;
-    return (((_f614 = -_f614) != 1) ? NULL : &_f614);
+    return (((_f614 = (uint8_t)-_f614) != 1) ? NULL : &_f614);
 }
 
 const int16_t * f615()
 {
     TRACE("const int16_t * f615()");
     static int16_t _f615 = 1;
-    return (((_f615 = -_f615) != 1) ? NULL : &_f615);
+    return (((_f615 = (int16_t)-_f615) != 1) ? NULL : &_f615);
 }
 
 const uint16_t * f616()
 {
     TRACE("const uint16_t * f616()");
     static uint16_t _f616 = 1;
-    return (((_f616 = -_f616) != 1) ? NULL : &_f616);
+    return (((_f616 = (uint16_t)-_f616) != 1) ? NULL : &_f616);
 }
 
 const int32_t * f617()
 {
     TRACE("const int32_t * f617()");
     static int32_t _f617 = 1;
-    return (((_f617 = -_f617) != 1) ? NULL : &_f617);
+    return (((_f617 = (int32_t)-_f617) != 1) ? NULL : &_f617);
 }
 
 const uint32_t * f618()
 {
     TRACE("const uint32_t * f618()");
     static uint32_t _f618 = 1;
-    return (((_f618 = -_f618) != 1) ? NULL : &_f618);
+    return (((_f618 = (uint32_t)-_f618) != 1) ? NULL : &_f618);
 }
 
 const int64_t * f621()
 {
     TRACE("const int64_t * f621()");
     static int64_t _f621 = 1;
-    return (((_f621 = -_f621) != 1) ? NULL : &_f621);
+    return (((_f621 = (int64_t)-_f621) != 1) ? NULL : &_f621);
 }
 
 const uint64_t * f622()
 {
     TRACE("const uint64_t * f622()");
     static uint64_t _f622 = 1;
-    return (((_f622 = -_f622) != 1) ? NULL : &_f622);
+    return (((_f622 = (uint64_t)-_f622) != 1) ? NULL : &_f622);
 }
 
 const float * f623()
 {
     TRACE("const * float f623()");
     static float _f623 = 1;
-    return (((_f623 = -_f623) != 1) ? NULL : &_f623);
+    return (((_f623 = (float)-_f623) != 1) ? NULL : &_f623);
 }
 
 const double * f624()
 {
     TRACE("const double * f624()");
     static double _f624 = 1;
-    return (((_f624 = -_f624) != 1) ? NULL : &_f624);
+    return (((_f624 = (double)-_f624) != 1) ? NULL : &_f624);
 }
 
 bool * f631()
@@ -2244,77 +2252,77 @@ char * f632()
 {
     TRACE("char * f632()");
     static char _f632 = 1;
-    return (((_f632 = -_f632) != 1) ? NULL : &_f632);
+    return (((_f632 = (char)-_f632) != 1) ? NULL : &_f632);
 }
 
 int8_t * f633()
 {
     TRACE("int8_t * f633()");
     static int8_t _f633 = 1;
-    return (((_f633 = -_f633) != 1) ? NULL : &_f633);
+    return (((_f633 = (int8_t)-_f633) != 1) ? NULL : &_f633);
 }
 
 uint8_t * f634()
 {
     TRACE("uint8_t * f634()");
     static uint8_t _f634 = 1;
-    return (((_f634 = -_f634) != 1) ? NULL : &_f634);
+    return (((_f634 = (uint8_t)-_f634) != 1) ? NULL : &_f634);
 }
 
 int16_t * f635()
 {
     TRACE("int16_t * f635()");
     static int16_t _f635 = 1;
-    return (((_f635 = -_f635) != 1) ? NULL : &_f635);
+    return (((_f635 = (int16_t)-_f635) != 1) ? NULL : &_f635);
 }
 
 uint16_t * f636()
 {
     TRACE("uint16_t * f636()");
     static uint16_t _f636 = 1;
-    return (((_f636 = -_f636) != 1) ? NULL : &_f636);
+    return (((_f636 = (uint16_t)-_f636) != 1) ? NULL : &_f636);
 }
 
 int32_t * f637()
 {
     TRACE("int32_t * f637()");
     static int32_t _f637 = 1;
-    return (((_f637 = -_f637) != 1) ? NULL : &_f637);
+    return (((_f637 = (int32_t)-_f637) != 1) ? NULL : &_f637);
 }
 
 uint32_t * f638()
 {
     TRACE("uint32_t * f638()");
     static uint32_t _f638 = 1;
-    return (((_f638 = -_f638) != 1) ? NULL : &_f638);
+    return (((_f638 = (uint32_t)-_f638) != 1) ? NULL : &_f638);
 }
 
 int64_t * f641()
 {
     TRACE("int64_t * f641()");
     static int64_t _f641 = 1;
-    return (((_f641 = -_f641) != 1) ? NULL : &_f641);
+    return (((_f641 = (int64_t)-_f641) != 1) ? NULL : &_f641);
 }
 
 uint64_t * f642()
 {
     TRACE("uint64_t * f642()");
     static uint64_t _f642 = 1;
-    return (((_f642 = -_f642) != 1) ? NULL : &_f642);
+    return (((_f642 = (uint64_t)-_f642) != 1) ? NULL : &_f642);
 }
 
 float * f643()
 {
     TRACE("float * f643()");
     static float _f643 = 1;
-    return (((_f643 = -_f643) != 1) ? NULL : &_f643);
+    return (((_f643 = (float)-_f643) != 1) ? NULL : &_f643);
 }
 
 double * f644()
 {
     TRACE("double * f644()");
     static double _f644 = 1;
-    return (((_f644 = -_f644) != 1) ? NULL : &_f644);
+    return (((_f644 = (double)-_f644) != 1) ? NULL : &_f644);
 }
 
 const bool * const f651()
@@ -2328,77 +2336,77 @@ const char * const f652()
 {
     TRACE("const char * const f652()");
     static char _f652 = 1;
-    return (((_f652 = -_f652) != 1) ? NULL : &_f652);
+    return (((_f652 = (char)-_f652) != 1) ? NULL : &_f652);
 }
 
 const int8_t * const f653()
 {
     TRACE("const int8_t * const f653()");
     static int8_t _f653 = 1;
-    return (((_f653 = -_f653) != 1) ? NULL : &_f653);
+    return (((_f653 = (int8_t)-_f653) != 1) ? NULL : &_f653);
 }
 
 const uint8_t * const f654()
 {
     TRACE("const uint8_t * const f654()");
     static uint8_t _f654 = 1;
-    return (((_f654 = -_f654) != 1) ? NULL : &_f654);
+    return (((_f654 = (uint8_t)-_f654) != 1) ? NULL : &_f654);
 }
 
 const int16_t * const f655()
 {
     TRACE("const int16_t * const f655()");
     static int16_t _f655 = 1;
-    return (((_f655 = -_f655) != 1) ? NULL : &_f655);
+    return (((_f655 = (int16_t)-_f655) != 1) ? NULL : &_f655);
 }
 
 const uint16_t * const f656()
 {
     TRACE("const uint16_t * const f656()");
     static uint16_t _f656 = 1;
-    return (((_f656 = -_f656) != 1) ? NULL : &_f656);
+    return (((_f656 = (uint16_t)-_f656) != 1) ? NULL : &_f656);
 }
 
 const int32_t * const f657()
 {
     TRACE("const int32_t * const f657()");
     static int32_t _f657 = 1;
-    return (((_f657 = -_f657) != 1) ? NULL : &_f657);
+    return (((_f657 = (int32_t)-_f657) != 1) ? NULL : &_f657);
 }
 
 const uint32_t * const f658()
 {
     TRACE("const uint32_t * const f658()");
     static uint32_t _f658 = 1;
-    return (((_f658 = -_f658) != 1) ? NULL : &_f658);
+    return (((_f658 = (uint32_t)-_f658) != 1) ? NULL : &_f658);
 }
 
 const int64_t * const f661()
 {
     TRACE("const int64_t * const f661()");
     static int64_t _f661 = 1;
-    return (((_f661 = -_f661) != 1) ? NULL : &_f661);
+    return (((_f661 = (int64_t)-_f661) != 1) ? NULL : &_f661);
 }
 
 const uint64_t * const f662()
 {
     TRACE("const uint64_t * const f662()");
     static uint64_t _f662 = 1;
-    return (((_f662 = -_f662) != 1) ? NULL : &_f662);
+    return (((_f662 = (uint64_t)-_f662) != 1) ? NULL : &_f662);
 }
 
 const float * const f663()
 {
     TRACE("const * float const f663()");
     static float _f663 = 1;
-    return (((_f663 = -_f663) != 1) ? NULL : &_f663);
+    return (((_f663 = (float)-_f663) != 1) ? NULL : &_f663);
 }
 
 const double * const f664()
 {
     TRACE("const double * const f664()");
     static double _f664 = 1;
-    return (((_f664 = -_f664) != 1) ? NULL : &_f664);
+    return (((_f664 = (double)-_f664) != 1) ? NULL : &_f664);
 }
 
 bool * const f671()
@@ -2412,77 +2420,77 @@ char * const f672()
 {
     TRACE("char * const f672()");
     static char _f672 = 1;
-    return (((_f672 = -_f672) != 1) ? NULL : &_f672);
+    return (((_f672 = (char)-_f672) != 1) ? NULL : &_f672);
 }
 
 int8_t * const f673()
 {
     TRACE("int8_t * const f673()");
     static int8_t _f673 = 1;
-    return (((_f673 = -_f673) != 1) ? NULL : &_f673);
+    return (((_f673 = (int8_t)-_f673) != 1) ? NULL : &_f673);
 }
 
 uint8_t * const f674()
 {
     TRACE("uint8_t * const f674()");
     static uint8_t _f674 = 1;
-    return (((_f674 = -_f674) != 1) ? NULL : &_f674);
+    return (((_f674 = (uint8_t)-_f674) != 1) ? NULL : &_f674);
 }
 
 int16_t * const f675()
 {
     TRACE("int16_t * const f675()");
     static int16_t _f675 = 1;
-    return (((_f675 = -_f675) != 1) ? NULL : &_f675);
+    return (((_f675 = (int16_t)-_f675) != 1) ? NULL : &_f675);
 }
 
 uint16_t * const f676()
 {
     TRACE("uint16_t * const f676()");
     static uint16_t _f676 = 1;
-    return (((_f676 = -_f676) != 1) ? NULL : &_f676);
+    return (((_f676 = (uint16_t)-_f676) != 1) ? NULL : &_f676);
 }
 
 int32_t * const f677()
 {
     TRACE("int32_t * const f677()");
     static int32_t _f677 = 1;
-    return (((_f677 = -_f677) != 1) ? NULL : &_f677);
+    return (((_f677 = (int32_t)-_f677) != 1) ? NULL : &_f677);
 }
 
 uint32_t * const f678()
 {
     TRACE("uint32_t * const f678()");
     static uint32_t _f678 = 1;
-    return (((_f678 = -_f678) != 1) ? NULL : &_f678);
+    return (((_f678 = (uint32_t)-_f678) != 1) ? NULL : &_f678);
 }
 
 int64_t * const f681()
 {
     TRACE("int64_t * const f681()");
     static int64_t _f681 = 1;
-    return (((_f681 = -_f681) != 1) ? NULL : &_f681);
+    return (((_f681 = (int64_t)-_f681) != 1) ? NULL : &_f681);
 }
 
 uint64_t * const f682()
 {
     TRACE("uint64_t * const f682()");
     static uint64_t _f682 = 1;
-    return (((_f682 = -_f682) != 1) ? NULL : &_f682);
+    return (((_f682 = (uint64_t)-_f682) != 1) ? NULL : &_f682);
 }
 
 float * const f683()
 {
     TRACE("float * const f683()");
     static float _f683 = 1;
-    return (((_f683 = -_f683) != 1) ? NULL : &_f683);
+    return (((_f683 = (float)-_f683) != 1) ? NULL : &_f683);
 }
 
 double * const f684()
 {
     TRACE("double * const f684()");
     static double _f684 = 1;
-    return (((_f684 = -_f684) != 1) ? NULL : &_f684);
+    return (((_f684 = (double)-_f684) != 1) ? NULL : &_f684);
 }
 
 // ---------------------------------------------------------------------------
@@ -2499,7 +2507,7 @@ void f712(const char * p0)
 {
     TRACE("void f712(const char *)");
     static char _f712 = 1;
-    CHECK((((_f712 = -_f712) != 1) ^ (p0 == NULL)),
+    CHECK((((_f712 = (char)-_f712) != 1) ^ (p0 == NULL)),
           "void f712(const char *)");
 }
 
@@ -2507,7 +2515,7 @@ void f713(const int8_t * p0)
 {
     TRACE("void f713(const int8_t *)");
     static int8_t _f713 = 1;
-    CHECK((((_f713 = -_f713) != 1) ^ (p0 == NULL)),
+    CHECK((((_f713 = (int8_t)-_f713) != 1) ^ (p0 == NULL)),
           "void f713(const int8_t *)");
 }
 
@@ -2515,7 +2523,7 @@ void f714(const uint8_t * p0)
 {
     TRACE("void f714(const uint8_t *)");
     static uint8_t _f714 = 1;
-    CHECK((((_f714 = -_f714) != 1) ^ (p0 == NULL)),
+    CHECK((((_f714 = (uint8_t)-_f714) != 1) ^ (p0 == NULL)),
           "void f714(const uint8_t *)");
 }
 
@@ -2523,7 +2531,7 @@ void f715(const int16_t * p0)
 {
     TRACE("void f715(const int16_t *)");
     static int16_t _f715 = 1;
-    CHECK((((_f715 = -_f715) != 1) ^ (p0 == NULL)),
+    CHECK((((_f715 = (int16_t)-_f715) != 1) ^ (p0 == NULL)),
           "void f715(const int16_t *)");
 }
 
@@ -2531,7 +2539,7 @@ void f716(const uint16_t * p0)
 {
     TRACE("void f716(const uint16_t *)");
     static uint16_t _f716 = 1;
-    CHECK((((_f716 = -_f716) != 1) ^ (p0 == NULL)),
+    CHECK((((_f716 = (uint16_t)-_f716) != 1) ^ (p0 == NULL)),
           "void f716(const uint16_t *)");
 }
 
@@ -2539,7 +2547,7 @@ void f717(const int32_t * p0)
 {
     TRACE("void f717(const int32_t *)");
     static int32_t _f717 = 1;
-    CHECK((((_f717 = -_f717) != 1) ^ (p0 == NULL)),
+    CHECK((((_f717 = (int32_t)-_f717) != 1) ^ (p0 == NULL)),
           "void f717(const int32_t *)");
 }
 
@@ -2547,7 +2555,7 @@ void f718(const uint32_t * p0)
 {
     TRACE("void f718(const uint32_t *)");
     static uint32_t _f718 = 1;
-    CHECK((((_f718 = -_f718) != 1) ^ (p0 == NULL)),
+    CHECK((((_f718 = (uint32_t)-_f718) != 1) ^ (p0 == NULL)),
           "void f718(const uint32_t *)");
 }
 
@@ -2555,7 +2563,7 @@ void f721(const int64_t * p0)
 {
     TRACE("void f721(const int64_t *)");
     static int64_t _f721 = 1;
-    CHECK((((_f721 = -_f721) != 1) ^ (p0 == NULL)),
+    CHECK((((_f721 = (int64_t)-_f721) != 1) ^ (p0 == NULL)),
           "void f721(const int64_t *)");
 }
 
@@ -2563,7 +2571,7 @@ void f722(const uint64_t * p0)
 {
     TRACE("void f722(const uint64_t *)");
     static uint64_t _f722 = 1;
-    CHECK((((_f722 = -_f722) != 1) ^ (p0 == NULL)),
+    CHECK((((_f722 = (uint64_t)-_f722) != 1) ^ (p0 == NULL)),
           "void f722(const uint64_t *)");
 }
 
@@ -2571,7 +2579,7 @@ void f723(const float * p0)
 {
     TRACE("void f723(const float *)");
     static float _f723 = 1;
-    CHECK((((_f723 = -_f723) != 1) ^ (p0 == NULL)),
+    CHECK((((_f723 = (float)-_f723) != 1) ^ (p0 == NULL)),
           "void f723(const float *)");
 }
 
@@ -2579,7 +2587,7 @@ void f724(const double * p0)
 {
     TRACE("void f724(const double *)");
     static double _f724 = 1;
-    CHECK((((_f724 = -_f724) != 1) ^ (p0 == NULL)),
+    CHECK((((_f724 = (double)-_f724) != 1) ^ (p0 == NULL)),
           "void f724(const double *)");
 }
 
@@ -2595,7 +2603,7 @@ void f732(char * p0)
 {
     TRACE("void f732(char *)");
     static char _f732 = 1;
-    CHECK((((_f732 = -_f732) != 1) ^ (p0 == NULL)),
+    CHECK((((_f732 = (char)-_f732) != 1) ^ (p0 == NULL)),
           "void f732(char *)");
 }
 
@@ -2603,7 +2611,7 @@ void f733(int8_t * p0)
 {
     TRACE("void f733(int8_t *)");
     static int8_t _f733 = 1;
-    CHECK((((_f733 = -_f733) != 1) ^ (p0 == NULL)),
+    CHECK((((_f733 = (int8_t)-_f733) != 1) ^ (p0 == NULL)),
           "void f733(int8_t *)");
 }
 
@@ -2611,7 +2619,7 @@ void f734(uint8_t * p0)
 {
     TRACE("void f734(uint8_t *)");
     static uint8_t _f734 = 1;
-    CHECK((((_f734 = -_f734) != 1) ^ (p0 == NULL)),
+    CHECK((((_f734 = (uint8_t)-_f734) != 1) ^ (p0 == NULL)),
           "void f734(uint8_t *)");
 }
 
@@ -2619,7 +2627,7 @@ void f735(int16_t * p0)
 {
     TRACE("void f735(int16_t *)");
     static int16_t _f735 = 1;
-    CHECK((((_f735 = -_f735) != 1) ^ (p0 == NULL)),
+    CHECK((((_f735 = (int16_t)-_f735) != 1) ^ (p0 == NULL)),
           "void f735(int16_t *)");
 }
 
@@ -2627,7 +2635,7 @@ void f736(uint16_t * p0)
 {
     TRACE("void f736(uint16_t *)");
     static uint16_t _f736 = 1;
-    CHECK((((_f736 = -_f736) != 1) ^ (p0 == NULL)),
+    CHECK((((_f736 = (uint16_t)-_f736) != 1) ^ (p0 == NULL)),
           "void f736(uint16_t *)");
 }
 
@@ -2635,7 +2643,7 @@ void f737(int32_t * p0)
 {
     TRACE("void f737(int32_t *)");
     static int32_t _f737 = 1;
-    CHECK((((_f737 = -_f737) != 1) ^ (p0 == NULL)),
+    CHECK((((_f737 = (int32_t)-_f737) != 1) ^ (p0 == NULL)),
           "void f737(int32_t *)");
 }
 
@@ -2643,7 +2651,7 @@ void f738(uint32_t * p0)
 {
     TRACE("void f738(uint32_t *)");
     static uint32_t _f738 = 1;
-    CHECK((((_f738 = -_f738) != 1) ^ (p0 == NULL)),
+    CHECK((((_f738 = (uint32_t)-_f738) != 1) ^ (p0 == NULL)),
           "void f738(uint32_t *)");
 }
 
@@ -2651,7 +2659,7 @@ void f741(int64_t * p0)
 {
     TRACE("void f741(int64_t *)");
     static int64_t _f741 = 1;
-    CHECK((((_f741 = -_f741) != 1) ^ (p0 == NULL)),
+    CHECK((((_f741 = (int64_t)-_f741) != 1) ^ (p0 == NULL)),
           "void f741(int64_t *)");
 }
 
@@ -2659,7 +2667,7 @@ void f742(uint64_t * p0)
 {
     TRACE("void f742(uint64_t *)");
     static uint64_t _f742 = 1;
-    CHECK((((_f742 = -_f742) != 1) ^ (p0 == NULL)),
+    CHECK((((_f742 = (uint64_t)-_f742) != 1) ^ (p0 == NULL)),
           "void f742(uint64_t *)");
 }
 
@@ -2667,7 +2675,7 @@ void f743(float * p0)
 {
     TRACE("void f743(float *)");
     static float _f743 = 1;
-    CHECK((((_f743 = -_f743) != 1) ^ (p0 == NULL)),
+    CHECK((((_f743 = (float)-_f743) != 1) ^ (p0 == NULL)),
           "void f743(float *)");
 }
 
@@ -2675,7 +2683,7 @@ void f744(double * p0)
 {
     TRACE("void f744(double *)");
     static double _f744 = 1;
-    CHECK((((_f744 = -_f744) != 1) ^ (p0 == NULL)),
+    CHECK((((_f744 = (double)-_f744) != 1) ^ (p0 == NULL)),
           "void f744(double *)");
 }
 
@@ -2691,7 +2699,7 @@ void f752(const char * const p0)
 {
     TRACE("void f752(const char * const)");
     static char _f752 = 1;
-    CHECK((((_f752 = -_f752) != 1) ^ (p0 == NULL)),
+    CHECK((((_f752 = (char)-_f752) != 1) ^ (p0 == NULL)),
           "void f752(const char * const)");
 }
 
@@ -2699,7 +2707,7 @@ void f753(const int8_t * const p0)
 {
     TRACE("void f753(const int8_t * const)");
     static int8_t _f753 = 1;
-    CHECK((((_f753 = -_f753) != 1) ^ (p0 == NULL)),
+    CHECK((((_f753 = (int8_t)-_f753) != 1) ^ (p0 == NULL)),
           "void f753(const int8_t * const)");
 }
 
@@ -2707,7 +2715,7 @@ void f754(const uint8_t * const p0)
 {
     TRACE("void f754(const uint8_t * const)");
     static uint8_t _f754 = 1;
-    CHECK((((_f754 = -_f754) != 1) ^ (p0 == NULL)),
+    CHECK((((_f754 = (uint8_t)-_f754) != 1) ^ (p0 == NULL)),
           "void f754(const uint8_t * const)");
 }
 
@@ -2715,7 +2723,7 @@ void f755(const int16_t * const p0)
 {
     TRACE("void f755(const int16_t * const)");
     static int16_t _f755 = 1;
-    CHECK((((_f755 = -_f755) != 1) ^ (p0 == NULL)),
+    CHECK((((_f755 = (int16_t)-_f755) != 1) ^ (p0 == NULL)),
           "void f755(const int16_t * const)");
 }
 
@@ -2723,7 +2731,7 @@ void f756(const uint16_t * const p0)
 {
     TRACE("void f756(const uint16_t * const)");
     static uint16_t _f756 = 1;
-    CHECK((((_f756 = -_f756) != 1) ^ (p0 == NULL)),
+    CHECK((((_f756 = (uint16_t)-_f756) != 1) ^ (p0 == NULL)),
           "void f756(const uint16_t * const)");
 }
 
@@ -2731,7 +2739,7 @@ void f757(const int32_t * const p0)
 {
     TRACE("void f757(const int32_t * const)");
     static int32_t _f757 = 1;
-    CHECK((((_f757 = -_f757) != 1) ^ (p0 == NULL)),
+    CHECK((((_f757 = (int32_t)-_f757) != 1) ^ (p0 == NULL)),
           "void f757(const int32_t * const)");
 }
 
@@ -2739,7 +2747,7 @@ void f758(const uint32_t * const p0)
 {
     TRACE("void f758(const uint32_t * const)");
     static uint32_t _f758 = 1;
-    CHECK((((_f758 = -_f758) != 1) ^ (p0 == NULL)),
+    CHECK((((_f758 = (uint32_t)-_f758) != 1) ^ (p0 == NULL)),
           "void f758(const uint32_t * const)");
 }
 
@@ -2747,7 +2755,7 @@ void f761(const int64_t * const p0)
 {
     TRACE("void f761(const int64_t * const)");
     static int64_t _f761 = 1;
-    CHECK((((_f761 = -_f761) != 1) ^ (p0 == NULL)),
+    CHECK((((_f761 = (int64_t)-_f761) != 1) ^ (p0 == NULL)),
           "void f761(const int64_t * const)");
 }
 
@@ -2755,7 +2763,7 @@ void f762(const uint64_t * const p0)
 {
     TRACE("void f762(const uint64_t * const)");
     static uint64_t _f762 = 1;
-    CHECK((((_f762 = -_f762) != 1) ^ (p0 == NULL)),
+    CHECK((((_f762 = (uint64_t)-_f762) != 1) ^ (p0 == NULL)),
           "void f762(const uint64_t * const)");
 }
 
@@ -2763,7 +2771,7 @@ void f763(const float * const p0)
 {
     TRACE("void f763(const float * const)");
     static float _f763 = 1;
-    CHECK((((_f763 = -_f763) != 1) ^ (p0 == NULL)),
+    CHECK((((_f763 = (float)-_f763) != 1) ^ (p0 == NULL)),
           "void f763(const float * const)");
 }
 
@@ -2771,7 +2779,7 @@ void f764(const double * const p0)
 {
     TRACE("void f764(const double * const)");
     static double _f764 = 1;
-    CHECK((((_f764 = -_f764) != 1) ^ (p0 == NULL)),
+    CHECK((((_f764 = (double)-_f764) != 1) ^ (p0 == NULL)),
           "void f764(const double * const)");
 }
 
@@ -2787,7 +2795,7 @@ void f772(char * const p0)
 {
     TRACE("void f772(char * const)");
     static char _f772 = 1;
-    CHECK((((_f772 = -_f772) != 1) ^ (p0 == NULL)),
+    CHECK((((_f772 = (char)-_f772) != 1) ^ (p0 == NULL)),
           "void f772(char * const)");
 }
 
@@ -2795,7 +2803,7 @@ void f773(int8_t * const p0)
 {
     TRACE("void f773(int8_t * const)");
     static int8_t _f773 = 1;
-    CHECK((((_f773 = -_f773) != 1) ^ (p0 == NULL)),
+    CHECK((((_f773 = (int8_t)-_f773) != 1) ^ (p0 == NULL)),
           "void f773(int8_t * const)");
 }
 
@@ -2803,7 +2811,7 @@ void f774(uint8_t * const p0)
 {
     TRACE("void f774(uint8_t * const)");
     static uint8_t _f774 = 1;
-    CHECK((((_f774 = -_f774) != 1) ^ (p0 == NULL)),
+    CHECK((((_f774 = (uint8_t)-_f774) != 1) ^ (p0 == NULL)),
           "void f774(uint8_t * const)");
 }
 
@@ -2811,7 +2819,7 @@ void f775(int16_t * const p0)
 {
     TRACE("void f775(int16_t * const)");
     static int16_t _f775 = 1;
-    CHECK((((_f775 = -_f775) != 1) ^ (p0 == NULL)),
+    CHECK((((_f775 = (int16_t)-_f775) != 1) ^ (p0 == NULL)),
           "void f775(int16_t * const)");
 }
 
@@ -2819,7 +2827,7 @@ void f776(uint16_t * const p0)
 {
     TRACE("void f776(uint16_t * const)");
     static uint16_t _f776 = 1;
-    CHECK((((_f776 = -_f776) != 1) ^ (p0 == NULL)),
+    CHECK((((_f776 = (uint16_t)-_f776) != 1) ^ (p0 == NULL)),
           "void f776(uint16_t * const)");
 }
 
@@ -2827,7 +2835,7 @@ void f777(int32_t * const p0)
 {
     TRACE("void f777(int32_t * const)");
     static int32_t _f777 = 1;
-    CHECK((((_f777 = -_f777) != 1) ^ (p0 == NULL)),
+    CHECK((((_f777 = (int32_t)-_f777) != 1) ^ (p0 == NULL)),
           "void f777(int32_t * const)");
 }
 
@@ -2835,7 +2843,7 @@ void f778(uint32_t * const p0)
 {
     TRACE("void f778(uint32_t * const)");
     static uint32_t _f778 = 1;
-    CHECK((((_f778 = -_f778) != 1) ^ (p0 == NULL)),
+    CHECK((((_f778 = (uint32_t)-_f778) != 1) ^ (p0 == NULL)),
           "void f778(uint32_t * const)");
 }
 
@@ -2843,7 +2851,7 @@ void f781(int64_t * const p0)
 {
     TRACE("void f781(int64_t * const)");
     static int64_t _f781 = 1;
-    CHECK((((_f781 = -_f781) != 1) ^ (p0 == NULL)),
+    CHECK((((_f781 = (int64_t)-_f781) != 1) ^ (p0 == NULL)),
           "void f781(int64_t * const)");
 }
 
@@ -2851,7 +2859,7 @@ void f782(uint64_t * const p0)
 {
     TRACE("void f782(uint64_t * const)");
     static uint64_t _f782 = 1;
-    CHECK((((_f782 = -_f782) != 1) ^ (p0 == NULL)),
+    CHECK((((_f782 = (uint64_t)-_f782) != 1) ^ (p0 == NULL)),
           "void f782(uint64_t * const)");
 }
 
@@ -2859,7 +2867,7 @@ void f783(float * const p0)
 {
     TRACE("void f783(float * const)");
     static float _f783 = 1;
-    CHECK((((_f783 = -_f783) != 1) ^ (p0 == NULL)),
+    CHECK((((_f783 = (float)-_f783) != 1) ^ (p0 == NULL)),
           "void f783(float * const)");
 }
 
@@ -2867,7 +2875,7 @@ void f784(double * const p0)
 {
     TRACE("void f784(double * const)");
     static double _f784 = 1;
-    CHECK((((_f784 = -_f784) != 1) ^ (p0 == NULL)),
+    CHECK((((_f784 = (double)-_f784) != 1) ^ (p0 == NULL)),
           "void f784(double * const)");
 }
 

=== modified file 'storage/ndb/ndbjtie/jtie/test/myapi/myapi.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myapi/myapi.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myapi/myapi.hpp	2009-11-04 17:28:51 +0000
@@ -462,6 +462,7 @@ struct B0 {
 
     B0 & operator=(const B0 & p) {
         TRACE("B0 & operator=(const B0 &)");
+        (void)p;
         ABORT_ERROR("!USE OF ASSIGNMENT OPERATOR!");
         return *this;
     }
@@ -497,7 +498,7 @@ struct B1 : public B0 {
         TRACE("B1()");
     };
 
-    B1(const B1 & b1) : d0(b1.d0), d0c(b1.d0c) {
+    B1(const B1 & b1) : B0(b1), d0(b1.d0), d0c(b1.d0c) {
         TRACE("B1(const B1 &)");
         ABORT_ERROR("!USE OF COPY CONSTRUCTOR!");
     };
@@ -507,6 +508,7 @@ struct B1 : public B0 {
 
     B1 & operator=(const B1 & p) {
         TRACE("B1 & operator=(const B1 &)");
+        (void)p;
         ABORT_ERROR("!USE OF ASSIGNMENT OPERATOR!");
         return *this;
     }
@@ -545,6 +547,7 @@ struct A {
 
     A(int i) : d0(11), d0c(-11) {
         TRACE("A(int)");
+        (void)i;
     };
 
     A(const A & a) : d0(a.d0), d0c(a.d0c) {
@@ -558,6 +561,7 @@ struct A {
 
     A & operator=(const A & p) {
         TRACE("A & operator=(const A &)");
+        (void)p;
         ABORT_ERROR("!USE OF ASSIGNMENT OPERATOR!");
         return *this;
     }
@@ -615,7 +619,7 @@ struct A {
         TRACE("void A::print(A *)");
         // in case of problems with %p
         //printf("    p0 = %lx\n", (unsigned long)p0);
-        printf("    p0 = %p\n", p0);
+        printf("    p0 = %p\n", (void*)p0);
     };
 
     // ----------------------------------------------------------------------
@@ -762,43 +766,43 @@ struct A {
 
 inline void h0() {
     TRACE("void h0()");
-};
+}
 
 inline void h1(int8_t p0) {
     TRACE("void h1(int8_t)");
     if (p0 != 1) ABORT_ERROR("wrong arg value");
-};
+}
 
 inline void h2(int8_t p0, int16_t p1) {
     TRACE("void h2(int8_t, int16_t)");
     if (p0 != 1) ABORT_ERROR("wrong arg value");
     if (p1 != 2) ABORT_ERROR("wrong arg value");
-};
+}
 
 inline void h3(int8_t p0, int16_t p1, int32_t p2) {
     TRACE("void h3(int8_t, int16_t, int32_t)");
     if (p0 != 1) ABORT_ERROR("wrong arg value");
     if (p1 != 2) ABORT_ERROR("wrong arg value");
     if (p2 != 3) ABORT_ERROR("wrong arg value");
-};
+}
 
 inline int32_t h0r() {
     TRACE("int32_t h0r()");
     return 0;
-};
+}
 
 inline int32_t h1r(int8_t p0) {
     TRACE("int32_t h1r(int8_t)");
     if (p0 != 1) ABORT_ERROR("wrong arg value");
     return p0;
-};
+}
 
 inline int32_t h2r(int8_t p0, int16_t p1) {
     TRACE("int32_t h2r(int8_t, int16_t)");
     if (p0 != 1) ABORT_ERROR("wrong arg value");
     if (p1 != 2) ABORT_ERROR("wrong arg value");
     return p0 + p1;
-};
+}
 
 inline int32_t h3r(int8_t p0, int16_t p1, int32_t p2) {
     TRACE("int32_t h3r(int8_t, int16_t, int32_t)");
@@ -806,7 +810,7 @@ inline int32_t h3r(int8_t p0, int16_t p1
     if (p1 != 2) ABORT_ERROR("wrong arg value");
     if (p2 != 3) ABORT_ERROR("wrong arg value");
     return  p0 + p1 + p2;
-};
+}
 
 // ----------------------------------------------------------------------
 // const/non-const member functions and object result/parameter types
@@ -815,19 +819,21 @@ inline int32_t h3r(int8_t p0, int16_t p1
 struct C0 {
     C0() {
         TRACE("C0()");
-    };
+    }
 
     C0(const C0 & c) {
         TRACE("C0(const C0 &)");
+        (void)c;
         ABORT_ERROR("!USE OF COPY CONSTRUCTOR!");
-    };
+    }
 
     virtual ~C0() {
         TRACE("~C0()");
-    };
+    }
 
     C0 & operator=(const C0 & p) {
         TRACE("C0 & operator=(const C0 &)");
+        (void)p;
         ABORT_ERROR("!USE OF ASSIGNMENT OPERATOR!");
         return *this;
     }
@@ -841,47 +847,47 @@ struct C0 {
     void print() const {
         TRACE("void C0::print()");
         printf("    p0 = %p\n", this);
-    };
+    }
 
     const C0 * return_C0Cp() const {
         TRACE("const C0 * C0::return_C0Cp()");
         return cc;
-    };
+    }
 
     const C0 & return_C0Cr() const {
         TRACE("const C0 & C0::return_C0Cr()");
         return *cc;
-    };
+    }
 
     void take_C0Cp(const C0 * cp) const {
         TRACE("void C0::take_C0Cp(const C0 *)");
         if (cp != C0::c && cp != C0::cc) ABORT_ERROR("cp != C0::c && cp != C0::cc");
-    };
+    }
 
     void take_C0Cr(const C0 & cp) const {
         TRACE("void C0::take_C0Cr(const C0 &)");
         if (&cp != C0::c && &cp != C0::cc) ABORT_ERROR("&cp != C0::c && &cp != C0::cc");
-    };
+    }
 
     C0 * return_C0p() {
         TRACE("C0 * C0::return_C0p()");
         return c;
-    };
+    }
 
     C0 & return_C0r() {
         TRACE("C0 & C0::return_C0r()");
         return *c;
-    };
+    }
 
     void take_C0p(C0 * cp) {
         TRACE("void C0::take_C0p(C0 *)");
         if (cp != C0::c) ABORT_ERROR("cp != C0::c");
-    };
+    }
 
     void take_C0r(C0 & cp) {
         TRACE("void C0::take_C0r(C0 &)");
         if (&cp != C0::c) ABORT_ERROR("&cp != C0::c");
-    };
+    }
 
     // ----------------------------------------------------------------------
 
@@ -913,8 +919,9 @@ struct C1 : public C0 {
         TRACE("C1()");
     };
 
-    C1(const C1 & c) {
+    C1(const C1 & c) : C0(c) {
         TRACE("C1(const C1 &)");
+        (void)c;
         ABORT_ERROR("!USE OF COPY CONSTRUCTOR!");
     };
 
@@ -924,6 +931,7 @@ struct C1 : public C0 {
 
     C1 & operator=(const C1 & p) {
         TRACE("C1 & operator=(const C1 &)");
+        (void)p;
         ABORT_ERROR("!USE OF ASSIGNMENT OPERATOR!");
         return *this;
     }

=== modified file 'storage/ndb/ndbjtie/jtie/test/myapi/myapi_test.cpp'
--- a/storage/ndb/ndbjtie/jtie/test/myapi/myapi_test.cpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myapi/myapi_test.cpp	2009-11-04 17:28:51 +0000
@@ -705,7 +705,8 @@ int
 main(int argc, const char* argv[])
 {
     cout << "--> main()" << endl;
-
+    (void)argc; (void)argv;
+    
     if (true) {
         test0();
         test1();

=== modified file 'storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_A.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_A.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_A.hpp	2009-11-04 17:28:51 +0000
@@ -46,49 +46,49 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_A_create_1r__(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_A_create_1r__(JNIEnv *, jclass)");
-    return gcreate< ttrait_myjapi_A_r >(env);
+    return gcreate< ttrait_myjapi_A_r >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_A_create_1r__I(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jobject Java_myjapi_A_create_1r__I(JNIEnv *, jclass, jint)");
-    return gcreate< ttrait_myjapi_A_r, ttrait_int32 >(env, p0);
+    return gcreate< ttrait_myjapi_A_r, ttrait_int32 >(env, cls, p0);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_A_create_1p__(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_A_create_1p__(JNIEnv *, jclass)");
-    return gcreate< ttrait_myjapi_A_p >(env);
+    return gcreate< ttrait_myjapi_A_p >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_A_create_1p__I(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jobject Java_myjapi_A_create_1p__I(JNIEnv *, jclass, jint)");
-    return gcreate< ttrait_myjapi_A_p, ttrait_int32 >(env, p0);
+    return gcreate< ttrait_myjapi_A_p, ttrait_int32 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_delete_1r(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_delete_1r(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_myjapi_A_r >(env, p0);
+    gdelete< ttrait_myjapi_A_r >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_delete_1p(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_delete_1p(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_myjapi_A_p >(env, p0);
+    gdelete< ttrait_myjapi_A_p >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_A_f0s(JNIEnv * env, jclass cls) 
 {
     TRACE("jint Java_myjapi_A_f0s(JNIEnv *, jclass)");
-    return gcall< ttrait_int32, &A::f0s >(env);
+    return gcall< ttrait_int32, &A::f0s >(env, cls);
     //return 10;
 }
 
@@ -96,7 +96,7 @@ JNIEXPORT jint JNICALL
 Java_myjapi_A_f0n(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_A_f0n(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_myjapi_A_ct, ttrait_int32, &A::f0n >(env, obj);
+    (void)cls; return gcall< ttrait_myjapi_A_ct, ttrait_int32, &A::f0n >(env, obj);
     //return 11;
 }
 
@@ -112,21 +112,21 @@ JNIEXPORT jint JNICALL
 Java_myjapi_A_d0sc(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_A_d0sc(JNIEnv *, jclass)");
-    return gget< ttrait_int32_c, A::d0sc >(env);
+    return gget< ttrait_int32_c, A::d0sc >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_A_d0s__(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_A_d0s__(JNIEnv *, jclass)");
-    return gget< ttrait_int32, A::d0s >(env);
+    return gget< ttrait_int32, A::d0s >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_d0s__I(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_A_d0s__I(JNIEnv *, jclass, jint)");
-    gset< ttrait_int32, A::d0s >(env, p0);
+    gset< ttrait_int32, A::d0s >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
@@ -184,63 +184,63 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_A_return_1ptr(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_A_return_1ptr(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_A_p, &A::return_ptr >(env);
+    return gcall< ttrait_myjapi_A_p, &A::return_ptr >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_A_return_1null_1ptr(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_A_return_1null_1ptr(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_A_p, &A::return_null_ptr >(env);
+    return gcall< ttrait_myjapi_A_p, &A::return_null_ptr >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_A_return_1ref(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_A_return_1ref(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_A_r, &A::return_ref >(env);
+    return gcall< ttrait_myjapi_A_r, &A::return_ref >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_A_return_1null_1ref(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_A_return_1null_1ref(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_A_r, &A::return_null_ref >(env);
+    return gcall< ttrait_myjapi_A_r, &A::return_null_ref >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_take_1ptr(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_take_1ptr(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_myjapi_A_p, &A::take_ptr >(env, p0);
+    gcall< ttrait_myjapi_A_p, &A::take_ptr >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_take_1null_1ptr(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_take_1null_1ptr(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_myjapi_A_p, &A::take_null_ptr >(env, p0);
+    gcall< ttrait_myjapi_A_p, &A::take_null_ptr >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_take_1ref(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_take_1ref(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_myjapi_A_r, &A::take_ref >(env, p0);
+    gcall< ttrait_myjapi_A_r, &A::take_ref >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_take_1null_1ref(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_take_1null_1ref(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_myjapi_A_r, &A::take_null_ref >(env, p0);
+    gcall< ttrait_myjapi_A_r, &A::take_null_ref >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_print(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_A_print(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_myjapi_A_p, &A::print >(env, p0);
+    gcall< ttrait_myjapi_A_p, &A::print >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -249,56 +249,56 @@ JNIEXPORT void JNICALL
 Java_myjapi_A_h0(JNIEnv * env, jclass cls)
 {
     TRACE("void Java_myjapi_A_h0(JNIEnv *, jclass)");
-    gcall< &h0 >(env);
+    gcall< &h0 >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_h1(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_A_h1(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_int8, &h1 >(env, p0);
+    gcall< ttrait_int8, &h1 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_h2(JNIEnv * env, jclass cls, jbyte p0, jshort p1)
 {
     TRACE("void Java_myjapi_A_h2(JNIEnv *, jclass, jbyte, jshort)");
-    gcall< ttrait_int8, ttrait_int16, &h2 >(env, p0, p1);
+    gcall< ttrait_int8, ttrait_int16, &h2 >(env, cls, p0, p1);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_A_h3(JNIEnv * env, jclass cls, jbyte p0, jshort p1, jint p2)
 {
     TRACE("void Java_myjapi_A_h3(JNIEnv *, jclass, jbyte, jshort, jint)");
-    gcall< ttrait_int8, ttrait_int16, ttrait_int32, &h3 >(env, p0, p1, p2);
+    gcall< ttrait_int8, ttrait_int16, ttrait_int32, &h3 >(env, cls, p0, p1, p2);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_A_h0r(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_A_h0r(JNIEnv *, jclass)");
-    return gcall< ttrait_int32, &h0r >(env);
+    return gcall< ttrait_int32, &h0r >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_A_h1r(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jint Java_myjapi_A_h1r(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_int32, ttrait_int8, &h1r >(env, p0);
+    return gcall< ttrait_int32, ttrait_int8, &h1r >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_A_h2r(JNIEnv * env, jclass cls, jbyte p0, jshort p1)
 {
     TRACE("jint Java_myjapi_A_h2r(JNIEnv *, jclass, jbyte, jshort)");
-    return gcall< ttrait_int32, ttrait_int8, ttrait_int16, &h2r >(env, p0, p1);
+    return gcall< ttrait_int32, ttrait_int8, ttrait_int16, &h2r >(env, cls, p0, p1);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_A_h3r(JNIEnv * env, jclass cls, jbyte p0, jshort p1, jint p2)
 {
     TRACE("jint Java_myjapi_A_h3r(JNIEnv *, jclass, jbyte, jshort, jint)");
-    return gcall< ttrait_int32, ttrait_int8, ttrait_int16, ttrait_int32, &h3r >(env, p0, p1, p2);
+    return gcall< ttrait_int32, ttrait_int8, ttrait_int16, ttrait_int32, &h3r >(env, cls, p0, p1, p2);
 }
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_B.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_B.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_B.hpp	2009-11-04 17:28:51 +0000
@@ -47,7 +47,7 @@ JNIEXPORT jint JNICALL
 Java_myjapi_B0_f0s(JNIEnv * env, jclass cls) 
 {
     TRACE("jint Java_myjapi_B0_f0s(JNIEnv *, jclass)");
-    return gcall< ttrait_int32, &B0::f0s >(env);
+    return gcall< ttrait_int32, &B0::f0s >(env, cls);
     //return 20;
 }
 
@@ -55,7 +55,7 @@ JNIEXPORT jint JNICALL
 Java_myjapi_B0_f0n(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_B0_f0n(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_myjapi_B0_ct, ttrait_int32, &B0::f0n >(env, obj);
+    (void)cls; return gcall< ttrait_myjapi_B0_ct, ttrait_int32, &B0::f0n >(env, obj);
     //return 21;
 }
 
@@ -71,7 +71,7 @@ JNIEXPORT jint JNICALL
 Java_myjapi_B1_f0s(JNIEnv * env, jclass cls) 
 {
     TRACE("jint Java_myjapi_B1_f0s(JNIEnv *, jclass)");
-    return gcall< ttrait_int32, &B1::f0s >(env);
+    return gcall< ttrait_int32, &B1::f0s >(env, cls);
     //return 30;
 }
 
@@ -79,7 +79,7 @@ JNIEXPORT jint JNICALL
 Java_myjapi_B1_f0n(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_B1_f0n(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_myjapi_B1_ct, ttrait_int32, &B1::f0n >(env, obj);
+    (void)cls; return gcall< ttrait_myjapi_B1_ct, ttrait_int32, &B1::f0n >(env, obj);
     //return 31;
 }
 
@@ -95,84 +95,84 @@ JNIEXPORT jint JNICALL
 Java_myjapi_B0_d0sc(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_B0_d0sc(JNIEnv *, jclass)");
-    return gget< ttrait_int32_c, B0::d0sc >(env);
+    return gget< ttrait_int32_c, B0::d0sc >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B0_d0s__(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_B0_d0s__(JNIEnv *, jclass)");
-    return gget< ttrait_int32, B0::d0s >(env);
+    return gget< ttrait_int32, B0::d0s >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_B0_d0s__I(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_B0_d0s__I(JNIEnv *, jclass, jint)");
-    gset< ttrait_int32, B0::d0s >(env, p0);
+    gset< ttrait_int32, B0::d0s >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B0_d0c(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_B0_d0c(JNIEnv *, jclass, jobject)");
-    return gget< ttrait_myjapi_B0_t, ttrait_int32_c, &B0::d0c >(env, obj);
+    (void)cls; return gget< ttrait_myjapi_B0_t, ttrait_int32_c, &B0::d0c >(env, obj);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B0_d0__Lmyjapi_B0_2(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_B0_d0__Lmyjapi_B0_2(JNIEnv *, jclass, jobject)");
-    return gget< ttrait_myjapi_B0_t, ttrait_int32, &B0::d0 >(env, obj);
+    (void)cls; return gget< ttrait_myjapi_B0_t, ttrait_int32, &B0::d0 >(env, obj);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_B0_d0__Lmyjapi_B0_2I(JNIEnv * env, jclass cls, jobject obj, jint p0)
 {
     TRACE("void Java_myjapi_B0_d0__Lmyjapi_B0_2I(JNIEnv *, jclass, jobject, jint)");
-    return gset< ttrait_myjapi_B0_t, ttrait_int32, &B0::d0 >(env, obj, p0);
+    (void)cls; return gset< ttrait_myjapi_B0_t, ttrait_int32, &B0::d0 >(env, obj, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B1_d0sc(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_B1_d0sc(JNIEnv *, jclass)");
-    return gget< ttrait_int32_c, B1::d0sc >(env);
+    return gget< ttrait_int32_c, B1::d0sc >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B1_d0s__(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_B1_d0s__(JNIEnv *, jclass)");
-    return gget< ttrait_int32, B1::d0s >(env);
+    return gget< ttrait_int32, B1::d0s >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_B1_d0s__I(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_B1_d0s__I(JNIEnv *, jclass, jint)");
-    gset< ttrait_int32, B1::d0s >(env, p0);
+    gset< ttrait_int32, B1::d0s >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B1_d0c(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_B1_d0c(JNIEnv *, jclass, jobject)");
-    return gget< ttrait_myjapi_B1_t, ttrait_int32_c, &B1::d0c >(env, obj);
+    (void)cls; return gget< ttrait_myjapi_B1_t, ttrait_int32_c, &B1::d0c >(env, obj);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_B1_d0__Lmyjapi_B1_2(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_B1_d0__Lmyjapi_B1_2(JNIEnv *, jclass, jobject)");
-    return gget< ttrait_myjapi_B1_t, ttrait_int32, &B1::d0 >(env, obj);
+    (void)cls; return gget< ttrait_myjapi_B1_t, ttrait_int32, &B1::d0 >(env, obj);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_B1_d0__Lmyjapi_B1_2I(JNIEnv * env, jclass cls, jobject obj, jint p0)
 {
     TRACE("void Java_myjapi_B1_d0__Lmyjapi_B1_2I(JNIEnv *, jclass, jobject, jint)");
-    return gset< ttrait_myjapi_B1_t, ttrait_int32, &B1::d0 >(env, obj, p0);
+    (void)cls; return gset< ttrait_myjapi_B1_t, ttrait_int32, &B1::d0 >(env, obj, p0);
 }
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_CI.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_CI.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_CI.hpp	2009-11-04 17:28:51 +0000
@@ -60,14 +60,14 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_CI_00024C0_cc(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_CI_00024C0_cc(JNIEnv *, jclass)");
-    return gget< ttrait_myjapi_CI$C0_cpc, C0::cc >(env);
+    return gget< ttrait_myjapi_CI$C0_cpc, C0::cc >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_CI_00024C0_c(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_CI_00024C0_c(JNIEnv *, jclass)");
-    return gget< ttrait_myjapi_CI$C0_pc, C0::c >(env);
+    return gget< ttrait_myjapi_CI$C0_pc, C0::c >(env, cls);
 }
 
 JNIEXPORT void JNICALL
@@ -137,28 +137,28 @@ JNIEXPORT jint JNICALL
 Java_myjapi_CI_00024C0_return_1C0E1(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_CI_00024C0_return_1C0E1(JNIEnv *, jclass)");
-    return gcall< ttrait_C0$C0E_iv, C0::return_C0E1 >(env);
+    return gcall< ttrait_C0$C0E_iv, C0::return_C0E1 >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_CI_00024C0_take_1C0E1(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_CI_00024C0_take_1C0E1(JNIEnv *, jclass, jint)");
-    gcall< ttrait_C0$C0E_iv, C0::take_C0E1 >(env, p0);
+    gcall< ttrait_C0$C0E_iv, C0::take_C0E1 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_CI_00024C0_return_1C0E1c(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_CI_00024C0_return_1C0E1c(JNIEnv *, jclass)");
-    return gcall< ttrait_C0$C0E_c_iv, C0::return_C0E1c >(env);
+    return gcall< ttrait_C0$C0E_c_iv, C0::return_C0E1c >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_CI_00024C0_take_1C0E1c(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_CI_00024C0_take_1C0E1c(JNIEnv *, jclass, jint)");
-    gcall< ttrait_C0$C0E_c_iv, C0::take_C0E1c >(env, p0);
+    gcall< ttrait_C0$C0E_c_iv, C0::take_C0E1c >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -167,14 +167,14 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_CI_00024C1_cc(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_CI_00024C1_cc(JNIEnv *, jclass)");
-    return gget< ttrait_myjapi_CI$C1_cpc, C1::cc >(env);
+    return gget< ttrait_myjapi_CI$C1_cpc, C1::cc >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_CI_00024C1_c(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_CI_00024C1_c(JNIEnv *, jclass)");
-    return gget< ttrait_myjapi_CI$C1_pc, C1::c >(env);
+    return gget< ttrait_myjapi_CI$C1_pc, C1::c >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL

=== modified file 'storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_D.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_D.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_D.hpp	2009-11-04 17:28:51 +0000
@@ -52,10 +52,10 @@ Java_myjapi_D0_f_1d0(JNIEnv * env, jobje
 }
 
 JNIEXPORT jint JNICALL
-Java_myjapi_D0_f_1nv(JNIEnv * env, jclass cls, jobject p0)
+Java_myjapi_D0_f_1nv(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_D0_f_1nv(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_myjapi_D0_t, ttrait_int32, &D0::f_nv >(env, p0);
+    (void)cls; return gcall< ttrait_myjapi_D0_t, ttrait_int32, &D0::f_nv >(env, obj);
 }
 
 JNIEXPORT jint JNICALL
@@ -69,7 +69,7 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_D0_sub(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_D0_sub(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_D1_p, &D0::sub >(env);
+    return gcall< ttrait_myjapi_D1_p, &D0::sub >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
@@ -80,10 +80,10 @@ Java_myjapi_D1_f_1d1(JNIEnv * env, jobje
 }
 
 JNIEXPORT jint JNICALL
-Java_myjapi_D1_f_1nv(JNIEnv * env, jclass cls, jobject p0)
+Java_myjapi_D1_f_1nv(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_D1_f_1nv(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_myjapi_D1_t, ttrait_int32, &D1::f_nv >(env, p0);
+    (void)cls; return gcall< ttrait_myjapi_D1_t, ttrait_int32, &D1::f_nv >(env, obj);
 }
 
 JNIEXPORT jint JNICALL
@@ -97,7 +97,7 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_D1_sub(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_D1_sub(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_D1_p, &D1::sub >(env);
+    return gcall< ttrait_myjapi_D1_p, &D1::sub >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
@@ -108,10 +108,10 @@ Java_myjapi_D2_f_1d2(JNIEnv * env, jobje
 }
 
 JNIEXPORT jint JNICALL
-Java_myjapi_D2_f_1nv(JNIEnv * env, jclass cls, jobject p0)
+Java_myjapi_D2_f_1nv(JNIEnv * env, jclass cls, jobject obj)
 {
     TRACE("jint Java_myjapi_D2_f_1nv(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_myjapi_D2_t, ttrait_int32, &D2::f_nv >(env, p0);
+    (void)cls; return gcall< ttrait_myjapi_D2_t, ttrait_int32, &D2::f_nv >(env, obj);
 }
 
 JNIEXPORT jint JNICALL
@@ -125,7 +125,7 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_D2_sub(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_D2_sub(JNIEnv *, jclass)");
-    return gcall< ttrait_myjapi_D1_p, &D2::sub >(env);
+    return gcall< ttrait_myjapi_D1_p, &D2::sub >(env, cls);
 }
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapi.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapi.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapi.hpp	2009-11-04 17:28:51 +0000
@@ -47,7 +47,7 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f0(JNIEnv * env, jclass cls)
 {
     TRACE("void Java_myjapi_MyJapi_f010(JNIEnv *, jclass)");
-    gcall< f0 >(env);
+    gcall< f0 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -56,28 +56,28 @@ JNIEXPORT jstring JNICALL
 Java_myjapi_MyJapi_s012s(JNIEnv * env, jclass cls) 
 {
     TRACE("jstring Java_myjapi_MyJapi_s012s(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_utf8cstring, s012 >(env);
+    return gcall< ttrait_utf8cstring, s012 >(env, cls);
 }
 
 JNIEXPORT jstring JNICALL
 Java_myjapi_MyJapi_s052s(JNIEnv * env, jclass cls) 
 {
     TRACE("jstring Java_myjapi_MyJapi_s052s(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_utf8cstring_c, s052 >(env);
+    return gcall< ttrait_utf8cstring_c, s052 >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s112s(JNIEnv * env, jclass cls, jstring p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s112s(JNIEnv *, jclass, jstring)");
-    gcall< ttrait_utf8cstring, s112 >(env, p0);
+    gcall< ttrait_utf8cstring, s112 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s152s(JNIEnv * env, jclass cls, jstring p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s152s(JNIEnv *, jclass, jstring)");
-    gcall< ttrait_utf8cstring_c, s152 >(env, p0);
+    gcall< ttrait_utf8cstring_c, s152 >(env, cls, p0);
 }
 
 /*
@@ -118,112 +118,112 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s010bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s010bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0cp_bb, s010 >(env);
+    return gcall< ttrait_void_0cp_bb, s010 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s012bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s012bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0cp_bb, s012 >(env);
+    return gcall< ttrait_char_0cp_bb, s012 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s030bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s030bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0p_bb, s030 >(env);
+    return gcall< ttrait_void_0p_bb, s030 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s032bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s032bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0p_bb, s032 >(env);
+    return gcall< ttrait_char_0p_bb, s032 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s050bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s050bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0cpc_bb, s050 >(env);
+    return gcall< ttrait_void_0cpc_bb, s050 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s052bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s052bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0cpc_bb, s052 >(env);
+    return gcall< ttrait_char_0cpc_bb, s052 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s070bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s070bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0pc_bb, s070 >(env);
+    return gcall< ttrait_void_0pc_bb, s070 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s072bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s072bb0(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0pc_bb, s072 >(env);
+    return gcall< ttrait_char_0pc_bb, s072 >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s110bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s110bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0cp_bb, s110 >(env, p0);
+    gcall< ttrait_void_0cp_bb, s110 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s112bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s112bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cp_bb, s112 >(env, p0);
+    gcall< ttrait_char_0cp_bb, s112 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s130bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s130bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0p_bb, s130 >(env, p0);
+    gcall< ttrait_void_0p_bb, s130 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s132bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s132bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0p_bb, s132 >(env, p0);
+    gcall< ttrait_char_0p_bb, s132 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s150bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s150bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0cpc_bb, s150 >(env, p0);
+    gcall< ttrait_void_0cpc_bb, s150 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s152bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s152bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cpc_bb, s152 >(env, p0);
+    gcall< ttrait_char_0cpc_bb, s152 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s170bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s170bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0pc_bb, s170 >(env, p0);
+    gcall< ttrait_void_0pc_bb, s170 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s172bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s172bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0pc_bb, s172 >(env, p0);
+    gcall< ttrait_char_0pc_bb, s172 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -232,112 +232,112 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s010bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s010bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_1cp_bb, s010 >(env);
+    return gcall< ttrait_void_1cp_bb, s010 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s012bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s012bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_1cp_bb, s012 >(env);
+    return gcall< ttrait_char_1cp_bb, s012 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s030bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s030bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_1p_bb, s030 >(env);
+    return gcall< ttrait_void_1p_bb, s030 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s032bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s032bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_1p_bb, s032 >(env);
+    return gcall< ttrait_char_1p_bb, s032 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s050bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s050bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_1cpc_bb, s050 >(env);
+    return gcall< ttrait_void_1cpc_bb, s050 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s052bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s052bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_1cpc_bb, s052 >(env);
+    return gcall< ttrait_char_1cpc_bb, s052 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s070bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s070bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_1pc_bb, s070 >(env);
+    return gcall< ttrait_void_1pc_bb, s070 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s072bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s072bb1(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_1pc_bb, s072 >(env);
+    return gcall< ttrait_char_1pc_bb, s072 >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s110bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s110bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_1cp_bb, s110 >(env, p0);
+    gcall< ttrait_void_1cp_bb, s110 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s112bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s112bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1cp_bb, s112 >(env, p0);
+    gcall< ttrait_char_1cp_bb, s112 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s130bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s130bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_1p_bb, s130 >(env, p0);
+    gcall< ttrait_void_1p_bb, s130 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s132bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s132bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1p_bb, s132 >(env, p0);
+    gcall< ttrait_char_1p_bb, s132 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s150bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s150bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_1cpc_bb, s150 >(env, p0);
+    gcall< ttrait_void_1cpc_bb, s150 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s152bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s152bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1cpc_bb, s152 >(env, p0);
+    gcall< ttrait_char_1cpc_bb, s152 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s170bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s170bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_1pc_bb, s170 >(env, p0);
+    gcall< ttrait_void_1pc_bb, s170 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s172bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s172bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1pc_bb, s172 >(env, p0);
+    gcall< ttrait_char_1pc_bb, s172 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -346,112 +346,112 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s210bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s210bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0cp_bb, s210 >(env);
+    return gcall< ttrait_void_0cp_bb, s210 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s212bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s212bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0cp_bb, s212 >(env);
+    return gcall< ttrait_char_0cp_bb, s212 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s230bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s230bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0p_bb, s230 >(env);
+    return gcall< ttrait_void_0p_bb, s230 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s232bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s232bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0p_bb, s232 >(env);
+    return gcall< ttrait_char_0p_bb, s232 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s250bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s250bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0cpc_bb, s250 >(env);
+    return gcall< ttrait_void_0cpc_bb, s250 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s252bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s252bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0cpc_bb, s252 >(env);
+    return gcall< ttrait_char_0cpc_bb, s252 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s270bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s270bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_void_0pc_bb, s270 >(env);
+    return gcall< ttrait_void_0pc_bb, s270 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_s272bb(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_s272bb(JNIEnv * env, jclass cls)");
-    return gcall< ttrait_char_0pc_bb, s272 >(env);
+    return gcall< ttrait_char_0pc_bb, s272 >(env, cls);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s310bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s310bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0cp_bb, s310 >(env, p0);
+    gcall< ttrait_void_0cp_bb, s310 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s312bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s312bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cp_bb, s312 >(env, p0);
+    gcall< ttrait_char_0cp_bb, s312 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s330bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s330bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0p_bb, s330 >(env, p0);
+    gcall< ttrait_void_0p_bb, s330 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s332bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s332bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0p_bb, s332 >(env, p0);
+    gcall< ttrait_char_0p_bb, s332 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s350bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s350bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0cpc_bb, s350 >(env, p0);
+    gcall< ttrait_void_0cpc_bb, s350 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s352bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s352bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cpc_bb, s352 >(env, p0);
+    gcall< ttrait_char_0cpc_bb, s352 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s370bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s370bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_void_0pc_bb, s370 >(env, p0);
+    gcall< ttrait_void_0pc_bb, s370 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_s372bb(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_s372bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0pc_bb, s372 >(env, p0);
+    gcall< ttrait_char_0pc_bb, s372 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -460,84 +460,84 @@ JNIEXPORT jboolean JNICALL
 Java_myjapi_MyJapi_f011(JNIEnv * env, jclass cls)
 {
     TRACE("jboolean Java_myjapi_MyJapi_f011(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_c, f011 >(env);
+    return gcall< ttrait_bool_c, f011 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f012(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f012(JNIEnv *, jclass)");
-    return gcall< ttrait_char_c, f012 >(env);
+    return gcall< ttrait_char_c, f012 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f013(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f013(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_c, f013 >(env);
+    return gcall< ttrait_int8_c, f013 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f014(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f014(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_c, f014 >(env);
+    return gcall< ttrait_uint8_c, f014 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f015(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f015(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_c, f015 >(env);
+    return gcall< ttrait_int16_c, f015 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f016(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f016(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_c, f016 >(env);
+    return gcall< ttrait_uint16_c, f016 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f017(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f017(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_c, f017 >(env);
+    return gcall< ttrait_int32_c, f017 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f018(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f018(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_c, f018 >(env);
+    return gcall< ttrait_uint32_c, f018 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f021(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f021(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_c, f021 >(env);
+    return gcall< ttrait_int64_c, f021 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f022(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f022(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_c, f022 >(env);
+    return gcall< ttrait_uint64_c, f022 >(env, cls);
 }
 
 JNIEXPORT jfloat JNICALL
 Java_myjapi_MyJapi_f023(JNIEnv * env, jclass cls)
 {
     TRACE("jfloat Java_myjapi_MyJapi_f023(JNIEnv *, jclass)");
-    return gcall< ttrait_float_c, f023 >(env);
+    return gcall< ttrait_float_c, f023 >(env, cls);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapi_f024(JNIEnv * env, jclass cls)
 {
     TRACE("jdouble Java_myjapi_MyJapi_f024(JNIEnv *, jclass)");
-    return gcall< ttrait_double_c, f024 >(env);
+    return gcall< ttrait_double_c, f024 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -546,84 +546,84 @@ JNIEXPORT jboolean JNICALL
 Java_myjapi_MyJapi_f031(JNIEnv * env, jclass cls)
 {
     TRACE("jboolean Java_myjapi_MyJapi_f031(JNIEnv *, jclass)");
-    return gcall< ttrait_bool, f031 >(env);
+    return gcall< ttrait_bool, f031 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f032(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f032(JNIEnv *, jclass)");
-    return gcall< ttrait_char, f032 >(env);
+    return gcall< ttrait_char, f032 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f033(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f033(JNIEnv *, jclass)");
-    return gcall< ttrait_int8, f033 >(env);
+    return gcall< ttrait_int8, f033 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f034(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f034(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8, f034 >(env);
+    return gcall< ttrait_uint8, f034 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f035(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f035(JNIEnv *, jclass)");
-    return gcall< ttrait_int16, f035 >(env);
+    return gcall< ttrait_int16, f035 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f036(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f036(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16, f036 >(env);
+    return gcall< ttrait_uint16, f036 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f037(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f037(JNIEnv *, jclass)");
-    return gcall< ttrait_int32, f037 >(env);
+    return gcall< ttrait_int32, f037 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f038(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f038(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32, f038 >(env);
+    return gcall< ttrait_uint32, f038 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f041(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f041(JNIEnv *, jclass)");
-    return gcall< ttrait_int64, f041 >(env);
+    return gcall< ttrait_int64, f041 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f042(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f042(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64, f042 >(env);
+    return gcall< ttrait_uint64, f042 >(env, cls);
 }
 
 JNIEXPORT jfloat JNICALL
 Java_myjapi_MyJapi_f043(JNIEnv * env, jclass cls)
 {
     TRACE("jfloat Java_myjapi_MyJapi_f043(JNIEnv *, jclass)");
-    return gcall< ttrait_float, f043 >(env);
+    return gcall< ttrait_float, f043 >(env, cls);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapi_f044(JNIEnv * env, jclass cls)
 {
     TRACE("jdouble Java_myjapi_MyJapi_f044(JNIEnv *, jclass)");
-    return gcall< ttrait_double, f044 >(env);
+    return gcall< ttrait_double, f044 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -632,84 +632,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f111(JNIEnv * env, jclass cls, jboolean p0)
 {
     TRACE("void Java_myjapi_MyJapi_f111(JNIEnv *, jclass, jboolean)");
-    gcall< ttrait_bool_c, f111 >(env, p0);
+    gcall< ttrait_bool_c, f111 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f112(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f112(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_char_c, f112 >(env, p0);
+    gcall< ttrait_char_c, f112 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f113(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f113(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_int8_c, f113 >(env, p0);
+    gcall< ttrait_int8_c, f113 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f114(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f114(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_uint8_c, f114 >(env, p0);
+    gcall< ttrait_uint8_c, f114 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f115(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("void Java_myjapi_MyJapi_f115(JNIEnv *, jclass, jshort)");
-    gcall< ttrait_int16_c, f115 >(env, p0);
+    gcall< ttrait_int16_c, f115 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f116(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("void Java_myjapi_MyJapi_f116(JNIEnv *, jclass, jshort)");
-    gcall< ttrait_uint16_c, f116 >(env, p0);
+    gcall< ttrait_uint16_c, f116 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f117(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_MyJapi_f117(JNIEnv *, jclass, jint)");
-    gcall< ttrait_int32_c, f117 >(env, p0);
+    gcall< ttrait_int32_c, f117 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f118(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_MyJapi_f118(JNIEnv *, jclass, jint)");
-    gcall< ttrait_uint32_c, f118 >(env, p0);
+    gcall< ttrait_uint32_c, f118 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f121(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("void Java_myjapi_MyJapi_f121(JNIEnv *, jclass, jlong)");
-    gcall< ttrait_int64_c, f121 >(env, p0);
+    gcall< ttrait_int64_c, f121 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f122(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("void Java_myjapi_MyJapi_f122(JNIEnv *, jclass, jlong)");
-    gcall< ttrait_uint64_c, f122 >(env, p0);
+    gcall< ttrait_uint64_c, f122 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f123(JNIEnv * env, jclass cls, jfloat p0)
 {
     TRACE("void Java_myjapi_MyJapi_f123(JNIEnv *, jclass, jfloat)");
-    gcall< ttrait_float_c, f123 >(env, p0);
+    gcall< ttrait_float_c, f123 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f124(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("void Java_myjapi_MyJapi_f124(JNIEnv *, jclass, jdouble)");
-    gcall< ttrait_double_c, f124 >(env, p0);
+    gcall< ttrait_double_c, f124 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -718,84 +718,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f131(JNIEnv * env, jclass cls, jboolean p0)
 {
     TRACE("void Java_myjapi_MyJapi_f131(JNIEnv *, jclass, jboolean)");
-    gcall< ttrait_bool, f131 >(env, p0);
+    gcall< ttrait_bool, f131 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f132(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f132(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_char, f132 >(env, p0);
+    gcall< ttrait_char, f132 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f133(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f133(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_int8, f133 >(env, p0);
+    gcall< ttrait_int8, f133 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f134(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f134(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_uint8, f134 >(env, p0);
+    gcall< ttrait_uint8, f134 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f135(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("void Java_myjapi_MyJapi_f135(JNIEnv *, jclass, jshort)");
-    gcall< ttrait_int16, f135 >(env, p0);
+    gcall< ttrait_int16, f135 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f136(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("void Java_myjapi_MyJapi_f136(JNIEnv *, jclass, jshort)");
-    gcall< ttrait_uint16, f136 >(env, p0);
+    gcall< ttrait_uint16, f136 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f137(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_MyJapi_f137(JNIEnv *, jclass, jint)");
-    gcall< ttrait_int32, f137 >(env, p0);
+    gcall< ttrait_int32, f137 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f138(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_MyJapi_f138(JNIEnv *, jclass, jint)");
-    gcall< ttrait_uint32, f138 >(env, p0);
+    gcall< ttrait_uint32, f138 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f141(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("void Java_myjapi_MyJapi_f141(JNIEnv *, jclass, jlong)");
-    gcall< ttrait_int64, f141 >(env, p0);
+    gcall< ttrait_int64, f141 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f142(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("void Java_myjapi_MyJapi_f142(JNIEnv *, jclass, jlong)");
-    gcall< ttrait_uint64, f142 >(env, p0);
+    gcall< ttrait_uint64, f142 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f143(JNIEnv * env, jclass cls, jfloat p0)
 {
     TRACE("void Java_myjapi_MyJapi_f143(JNIEnv *, jclass, jfloat)");
-    gcall< ttrait_float, f143 >(env, p0);
+    gcall< ttrait_float, f143 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f144(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("void Java_myjapi_MyJapi_f144(JNIEnv *, jclass, jdouble)");
-    gcall< ttrait_double, f144 >(env, p0);
+    gcall< ttrait_double, f144 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -804,84 +804,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f211bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f211bb(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_cr_bb, f211 >(env);
+    return gcall< ttrait_bool_cr_bb, f211 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f212bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f212bb(JNIEnv *, jclass)");
-    return gcall< ttrait_char_cr_bb, f212 >(env);
+    return gcall< ttrait_char_cr_bb, f212 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f213bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f213bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_cr_bb, f213 >(env);
+    return gcall< ttrait_int8_cr_bb, f213 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f214bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f214bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_cr_bb, f214 >(env);
+    return gcall< ttrait_uint8_cr_bb, f214 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f215bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f215bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_cr_bb, f215 >(env);
+    return gcall< ttrait_int16_cr_bb, f215 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f216bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f216bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_cr_bb, f216 >(env);
+    return gcall< ttrait_uint16_cr_bb, f216 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f217bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f217bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_cr_bb, f217 >(env);
+    return gcall< ttrait_int32_cr_bb, f217 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f218bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f218bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_cr_bb, f218 >(env);
+    return gcall< ttrait_uint32_cr_bb, f218 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f221bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f221bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_cr_bb, f221 >(env);
+    return gcall< ttrait_int64_cr_bb, f221 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f222bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f222bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_cr_bb, f222 >(env);
+    return gcall< ttrait_uint64_cr_bb, f222 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f223bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f223bb(JNIEnv *, jclass)");
-    return gcall< ttrait_float_cr_bb, f223 >(env);
+    return gcall< ttrait_float_cr_bb, f223 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f224bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f224bb(JNIEnv *, jclass)");
-    return gcall< ttrait_double_cr_bb, f224 >(env);
+    return gcall< ttrait_double_cr_bb, f224 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -890,84 +890,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f231bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f231bb(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_r_bb, f231 >(env);
+    return gcall< ttrait_bool_r_bb, f231 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f232bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f232bb(JNIEnv *, jclass)");
-    return gcall< ttrait_char_r_bb, f232 >(env);
+    return gcall< ttrait_char_r_bb, f232 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f233bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f233bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_r_bb, f233 >(env);
+    return gcall< ttrait_int8_r_bb, f233 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f234bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f234bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_r_bb, f234 >(env);
+    return gcall< ttrait_uint8_r_bb, f234 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f235bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f235bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_r_bb, f235 >(env);
+    return gcall< ttrait_int16_r_bb, f235 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f236bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f236bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_r_bb, f236 >(env);
+    return gcall< ttrait_uint16_r_bb, f236 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f237bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f237bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_r_bb, f237 >(env);
+    return gcall< ttrait_int32_r_bb, f237 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f238bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f238bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_r_bb, f238 >(env);
+    return gcall< ttrait_uint32_r_bb, f238 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f241bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f241bb(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_r_bb, f241 >(env);
+    return gcall< ttrait_int64_r_bb, f241 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f242bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f242bb(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_r_bb, f242 >(env);
+    return gcall< ttrait_uint64_r_bb, f242 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f243bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f243bb(JNIEnv *, jclass)");
-    return gcall< ttrait_float_r_bb, f243 >(env);
+    return gcall< ttrait_float_r_bb, f243 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f244bb(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_myjapi_MyJapi_f244bb(JNIEnv *, jclass)");
-    return gcall< ttrait_double_r_bb, f244 >(env);
+    return gcall< ttrait_double_r_bb, f244 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -976,84 +976,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f311bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f311bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_cr_bb, f311 >(env, p0);
+    gcall< ttrait_bool_cr_bb, f311 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f312bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f312bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_cr_bb, f312 >(env, p0);
+    gcall< ttrait_char_cr_bb, f312 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f313bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f313bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_cr_bb, f313 >(env, p0);
+    gcall< ttrait_int8_cr_bb, f313 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f314bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f314bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_cr_bb, f314 >(env, p0);
+    gcall< ttrait_uint8_cr_bb, f314 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f315bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f315bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_cr_bb, f315 >(env, p0);
+    gcall< ttrait_int16_cr_bb, f315 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f316bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f316bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_cr_bb, f316 >(env, p0);
+    gcall< ttrait_uint16_cr_bb, f316 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f317bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f317bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_cr_bb, f317 >(env, p0);
+    gcall< ttrait_int32_cr_bb, f317 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f318bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f318bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_cr_bb, f318 >(env, p0);
+    gcall< ttrait_uint32_cr_bb, f318 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f321bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f321bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_cr_bb, f321 >(env, p0);
+    gcall< ttrait_int64_cr_bb, f321 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f322bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f322bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_cr_bb, f322 >(env, p0);
+    gcall< ttrait_uint64_cr_bb, f322 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f323bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f323bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_cr_bb, f323 >(env, p0);
+    gcall< ttrait_float_cr_bb, f323 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f324bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f324bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_cr_bb, f324 >(env, p0);
+    gcall< ttrait_double_cr_bb, f324 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1062,84 +1062,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f331bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f331bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_r_bb, f331 >(env, p0);
+    gcall< ttrait_bool_r_bb, f331 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f332bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f332bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_r_bb, f332 >(env, p0);
+    gcall< ttrait_char_r_bb, f332 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f333bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f333bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_r_bb, f333 >(env, p0);
+    gcall< ttrait_int8_r_bb, f333 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f334bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f334bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_r_bb, f334 >(env, p0);
+    gcall< ttrait_uint8_r_bb, f334 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f335bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f335bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_r_bb, f335 >(env, p0);
+    gcall< ttrait_int16_r_bb, f335 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f336bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f336bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_r_bb, f336 >(env, p0);
+    gcall< ttrait_uint16_r_bb, f336 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f337bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f337bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_r_bb, f337 >(env, p0);
+    gcall< ttrait_int32_r_bb, f337 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f338bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f338bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_r_bb, f338 >(env, p0);
+    gcall< ttrait_uint32_r_bb, f338 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f341bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f341bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_r_bb, f341 >(env, p0);
+    gcall< ttrait_int64_r_bb, f341 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f342bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f342bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_r_bb, f342 >(env, p0);
+    gcall< ttrait_uint64_r_bb, f342 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f343bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f343bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_r_bb, f343 >(env, p0);
+    gcall< ttrait_float_r_bb, f343 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f344bb(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_myjapi_MyJapi_f344bb(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_r_bb, f344 >(env, p0);
+    gcall< ttrait_double_r_bb, f344 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1148,84 +1148,84 @@ JNIEXPORT jboolean JNICALL
 Java_myjapi_MyJapi_f211v(JNIEnv * env, jclass cls)
 {
     TRACE("jboolean Java_myjapi_MyJapi_f211v(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_cr_v, f211 >(env);
+    return gcall< ttrait_bool_cr_v, f211 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f212v(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f212v(JNIEnv *, jclass)");
-    return gcall< ttrait_char_cr_v, f212 >(env);
+    return gcall< ttrait_char_cr_v, f212 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f213v(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f213v(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_cr_v, f213 >(env);
+    return gcall< ttrait_int8_cr_v, f213 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f214v(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f214v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_cr_v, f214 >(env);
+    return gcall< ttrait_uint8_cr_v, f214 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f215v(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f215v(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_cr_v, f215 >(env);
+    return gcall< ttrait_int16_cr_v, f215 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f216v(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f216v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_cr_v, f216 >(env);
+    return gcall< ttrait_uint16_cr_v, f216 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f217v(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f217v(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_cr_v, f217 >(env);
+    return gcall< ttrait_int32_cr_v, f217 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f218v(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f218v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_cr_v, f218 >(env);
+    return gcall< ttrait_uint32_cr_v, f218 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f221v(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f221v(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_cr_v, f221 >(env);
+    return gcall< ttrait_int64_cr_v, f221 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f222v(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f222v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_cr_v, f222 >(env);
+    return gcall< ttrait_uint64_cr_v, f222 >(env, cls);
 }
 
 JNIEXPORT jfloat JNICALL
 Java_myjapi_MyJapi_f223v(JNIEnv * env, jclass cls)
 {
     TRACE("jfloat Java_myjapi_MyJapi_f223v(JNIEnv *, jclass)");
-    return gcall< ttrait_float_cr_v, f223 >(env);
+    return gcall< ttrait_float_cr_v, f223 >(env, cls);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapi_f224v(JNIEnv * env, jclass cls)
 {
     TRACE("jdouble Java_myjapi_MyJapi_f224v(JNIEnv *, jclass)");
-    return gcall< ttrait_double_cr_v, f224 >(env);
+    return gcall< ttrait_double_cr_v, f224 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -1234,84 +1234,84 @@ JNIEXPORT jboolean JNICALL
 Java_myjapi_MyJapi_f231v(JNIEnv * env, jclass cls)
 {
     TRACE("jboolean Java_myjapi_MyJapi_f231v(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_r_v, f231 >(env);
+    return gcall< ttrait_bool_r_v, f231 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f232v(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f232v(JNIEnv *, jclass)");
-    return gcall< ttrait_char_r_v, f232 >(env);
+    return gcall< ttrait_char_r_v, f232 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f233v(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f233v(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_r_v, f233 >(env);
+    return gcall< ttrait_int8_r_v, f233 >(env, cls);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapi_f234v(JNIEnv * env, jclass cls)
 {
     TRACE("jbyte Java_myjapi_MyJapi_f234v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_r_v, f234 >(env);
+    return gcall< ttrait_uint8_r_v, f234 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f235v(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f235v(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_r_v, f235 >(env);
+    return gcall< ttrait_int16_r_v, f235 >(env, cls);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapi_f236v(JNIEnv * env, jclass cls)
 {
     TRACE("jshort Java_myjapi_MyJapi_f236v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_r_v, f236 >(env);
+    return gcall< ttrait_uint16_r_v, f236 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f237v(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f237v(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_r_v, f237 >(env);
+    return gcall< ttrait_int32_r_v, f237 >(env, cls);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapi_f238v(JNIEnv * env, jclass cls)
 {
     TRACE("jint Java_myjapi_MyJapi_f238v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_r_v, f238 >(env);
+    return gcall< ttrait_uint32_r_v, f238 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f241v(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f241v(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_r_v, f241 >(env);
+    return gcall< ttrait_int64_r_v, f241 >(env, cls);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapi_f242v(JNIEnv * env, jclass cls)
 {
     TRACE("jlong Java_myjapi_MyJapi_f242v(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_r_v, f242 >(env);
+    return gcall< ttrait_uint64_r_v, f242 >(env, cls);
 }
 
 JNIEXPORT jfloat JNICALL
 Java_myjapi_MyJapi_f243v(JNIEnv * env, jclass cls)
 {
     TRACE("jfloat Java_myjapi_MyJapi_f243v(JNIEnv *, jclass)");
-    return gcall< ttrait_float_r_v, f243 >(env);
+    return gcall< ttrait_float_r_v, f243 >(env, cls);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapi_f244v(JNIEnv * env, jclass cls)
 {
     TRACE("jdouble Java_myjapi_MyJapi_f244v(JNIEnv *, jclass)");
-    return gcall< ttrait_double_r_v, f244 >(env);
+    return gcall< ttrait_double_r_v, f244 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -1320,84 +1320,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f311v(JNIEnv * env, jclass cls, jboolean p0)
 {
     TRACE("void Java_myjapi_MyJapi_f311v(JNIEnv *, jclass, jboolean)");
-    gcall< ttrait_bool_cr_v, f311 >(env, p0);
+    gcall< ttrait_bool_cr_v, f311 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f312v(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f312v(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_char_cr_v, f312 >(env, p0);
+    gcall< ttrait_char_cr_v, f312 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f313v(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f313v(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_int8_cr_v, f313 >(env, p0);
+    gcall< ttrait_int8_cr_v, f313 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f314v(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("void Java_myjapi_MyJapi_f314v(JNIEnv *, jclass, jbyte)");
-    gcall< ttrait_uint8_cr_v, f314 >(env, p0);
+    gcall< ttrait_uint8_cr_v, f314 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f315v(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("void Java_myjapi_MyJapi_f315v(JNIEnv *, jclass, jshort)");
-    gcall< ttrait_int16_cr_v, f315 >(env, p0);
+    gcall< ttrait_int16_cr_v, f315 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f316v(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("void Java_myjapi_MyJapi_f316v(JNIEnv *, jclass, jshort)");
-    gcall< ttrait_uint16_cr_v, f316 >(env, p0);
+    gcall< ttrait_uint16_cr_v, f316 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f317v(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_MyJapi_f317v(JNIEnv *, jclass, jint)");
-    gcall< ttrait_int32_cr_v, f317 >(env, p0);
+    gcall< ttrait_int32_cr_v, f317 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f318v(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("void Java_myjapi_MyJapi_f318v(JNIEnv *, jclass, jint)");
-    gcall< ttrait_uint32_cr_v, f318 >(env, p0);
+    gcall< ttrait_uint32_cr_v, f318 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f321v(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("void Java_myjapi_MyJapi_f321v(JNIEnv *, jclass, jlong)");
-    gcall< ttrait_int64_cr_v, f321 >(env, p0);
+    gcall< ttrait_int64_cr_v, f321 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f322v(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("void Java_myjapi_MyJapi_f322v(JNIEnv *, jclass, jlong)");
-    gcall< ttrait_uint64_cr_v, f322 >(env, p0);
+    gcall< ttrait_uint64_cr_v, f322 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f323v(JNIEnv * env, jclass cls, jfloat p0)
 {
     TRACE("void Java_myjapi_MyJapi_f323v(JNIEnv *, jclass, jfloat)");
-    gcall< ttrait_float_cr_v, f323 >(env, p0);
+    gcall< ttrait_float_cr_v, f323 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f324v(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("void Java_myjapi_MyJapi_f324v(JNIEnv *, jclass, jdouble)");
-    gcall< ttrait_double_cr_v, f324 >(env, p0);
+    gcall< ttrait_double_cr_v, f324 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1406,84 +1406,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f331v(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f331v(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_r_a, f331 >(env, p0);
+    gcall< ttrait_bool_r_a, f331 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f332v(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f332v(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_r_a, f332 >(env, p0);
+    gcall< ttrait_char_r_a, f332 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f333v(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f333v(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_r_a, f333 >(env, p0);
+    gcall< ttrait_int8_r_a, f333 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f334v(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f334v(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_r_a, f334 >(env, p0);
+    gcall< ttrait_uint8_r_a, f334 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f335v(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f335v(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_r_a, f335 >(env, p0);
+    gcall< ttrait_int16_r_a, f335 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f336v(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f336v(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_r_a, f336 >(env, p0);
+    gcall< ttrait_uint16_r_a, f336 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f337v(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f337v(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_r_a, f337 >(env, p0);
+    gcall< ttrait_int32_r_a, f337 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f338v(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f338v(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_r_a, f338 >(env, p0);
+    gcall< ttrait_uint32_r_a, f338 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f341v(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f341v(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_r_a, f341 >(env, p0);
+    gcall< ttrait_int64_r_a, f341 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f342v(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f342v(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_r_a, f342 >(env, p0);
+    gcall< ttrait_uint64_r_a, f342 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f343v(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f343v(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_r_a, f343 >(env, p0);
+    gcall< ttrait_float_r_a, f343 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f344v(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f344v(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_r_a, f344 >(env, p0);
+    gcall< ttrait_double_r_a, f344 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1492,84 +1492,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f411bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f411bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0cp_bb, f411 >(env);
+    return gcall< ttrait_bool_0cp_bb, f411 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f412bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f412bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0cp_bb, f412 >(env);
+    return gcall< ttrait_char_0cp_bb, f412 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f413bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f413bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0cp_bb, f413 >(env);
+    return gcall< ttrait_int8_0cp_bb, f413 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f414bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f414bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0cp_bb, f414 >(env);
+    return gcall< ttrait_uint8_0cp_bb, f414 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f415bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f415bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0cp_bb, f415 >(env);
+    return gcall< ttrait_int16_0cp_bb, f415 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f416bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f416bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0cp_bb, f416 >(env);
+    return gcall< ttrait_uint16_0cp_bb, f416 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f417bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f417bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0cp_bb, f417 >(env);
+    return gcall< ttrait_int32_0cp_bb, f417 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f418bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f418bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0cp_bb, f418 >(env);
+    return gcall< ttrait_uint32_0cp_bb, f418 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f421bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f421bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0cp_bb, f421 >(env);
+    return gcall< ttrait_int64_0cp_bb, f421 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f422bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f422bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0cp_bb, f422 >(env);
+    return gcall< ttrait_uint64_0cp_bb, f422 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f423bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f423bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0cp_bb, f423 >(env);
+    return gcall< ttrait_float_0cp_bb, f423 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f424bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f424bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0cp_bb, f424 >(env);
+    return gcall< ttrait_double_0cp_bb, f424 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -1578,84 +1578,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f431bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f431bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0p_bb, f431 >(env);
+    return gcall< ttrait_bool_0p_bb, f431 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f432bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f432bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0p_bb, f432 >(env);
+    return gcall< ttrait_char_0p_bb, f432 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f433bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f433bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0p_bb, f433 >(env);
+    return gcall< ttrait_int8_0p_bb, f433 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f434bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f434bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0p_bb, f434 >(env);
+    return gcall< ttrait_uint8_0p_bb, f434 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f435bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f435bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0p_bb, f435 >(env);
+    return gcall< ttrait_int16_0p_bb, f435 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f436bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f436bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0p_bb, f436 >(env);
+    return gcall< ttrait_uint16_0p_bb, f436 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f437bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f437bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0p_bb, f437 >(env);
+    return gcall< ttrait_int32_0p_bb, f437 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f438bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f438bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0p_bb, f438 >(env);
+    return gcall< ttrait_uint32_0p_bb, f438 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f441bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f441bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0p_bb, f441 >(env);
+    return gcall< ttrait_int64_0p_bb, f441 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f442bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f442bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0p_bb, f442 >(env);
+    return gcall< ttrait_uint64_0p_bb, f442 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f443bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f443bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0p_bb, f443 >(env);
+    return gcall< ttrait_float_0p_bb, f443 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f444bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f444bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0p_bb, f444 >(env);
+    return gcall< ttrait_double_0p_bb, f444 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -1664,84 +1664,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f451bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f451bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0cpc_bb, f451 >(env);
+    return gcall< ttrait_bool_0cpc_bb, f451 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f452bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f452bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0cpc_bb, f452 >(env);
+    return gcall< ttrait_char_0cpc_bb, f452 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f453bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f453bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0cpc_bb, f453 >(env);
+    return gcall< ttrait_int8_0cpc_bb, f453 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f454bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f454bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0cpc_bb, f454 >(env);
+    return gcall< ttrait_uint8_0cpc_bb, f454 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f455bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f455bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0cpc_bb, f455 >(env);
+    return gcall< ttrait_int16_0cpc_bb, f455 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f456bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f456bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0cpc_bb, f456 >(env);
+    return gcall< ttrait_uint16_0cpc_bb, f456 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f457bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f457bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0cpc_bb, f457 >(env);
+    return gcall< ttrait_int32_0cpc_bb, f457 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f458bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f458bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0cpc_bb, f458 >(env);
+    return gcall< ttrait_uint32_0cpc_bb, f458 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f461bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f461bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0cpc_bb, f461 >(env);
+    return gcall< ttrait_int64_0cpc_bb, f461 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f462bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f462bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0cpc_bb, f462 >(env);
+    return gcall< ttrait_uint64_0cpc_bb, f462 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f463bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f463bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0cpc_bb, f463 >(env);
+    return gcall< ttrait_float_0cpc_bb, f463 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f464bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f464bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0cpc_bb, f464 >(env);
+    return gcall< ttrait_double_0cpc_bb, f464 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -1750,84 +1750,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f471bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f471bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0pc_bb, f471 >(env);
+    return gcall< ttrait_bool_0pc_bb, f471 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f472bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f472bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0pc_bb, f472 >(env);
+    return gcall< ttrait_char_0pc_bb, f472 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f473bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f473bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0pc_bb, f473 >(env);
+    return gcall< ttrait_int8_0pc_bb, f473 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f474bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f474bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0pc_bb, f474 >(env);
+    return gcall< ttrait_uint8_0pc_bb, f474 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f475bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f475bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0pc_bb, f475 >(env);
+    return gcall< ttrait_int16_0pc_bb, f475 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f476bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f476bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0pc_bb, f476 >(env);
+    return gcall< ttrait_uint16_0pc_bb, f476 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f477bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f477bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0pc_bb, f477 >(env);
+    return gcall< ttrait_int32_0pc_bb, f477 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f478bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f478bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0pc_bb, f478 >(env);
+    return gcall< ttrait_uint32_0pc_bb, f478 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f481bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f481bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0pc_bb, f481 >(env);
+    return gcall< ttrait_int64_0pc_bb, f481 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f482bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f482bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0pc_bb, f482 >(env);
+    return gcall< ttrait_uint64_0pc_bb, f482 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f483bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f483bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0pc_bb, f483 >(env);
+    return gcall< ttrait_float_0pc_bb, f483 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f484bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f484bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0pc_bb, f484 >(env);
+    return gcall< ttrait_double_0pc_bb, f484 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -1836,84 +1836,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f511bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f511bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0cp_bb, f511 >(env, p0);
+    gcall< ttrait_bool_0cp_bb, f511 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f512bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f512bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cp_bb, f512 >(env, p0);
+    gcall< ttrait_char_0cp_bb, f512 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f513bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f513bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0cp_bb, f513 >(env, p0);
+    gcall< ttrait_int8_0cp_bb, f513 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f514bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f514bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0cp_bb, f514 >(env, p0);
+    gcall< ttrait_uint8_0cp_bb, f514 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f515bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f515bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0cp_bb, f515 >(env, p0);
+    gcall< ttrait_int16_0cp_bb, f515 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f516bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f516bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0cp_bb, f516 >(env, p0);
+    gcall< ttrait_uint16_0cp_bb, f516 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f517bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f517bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0cp_bb, f517 >(env, p0);
+    gcall< ttrait_int32_0cp_bb, f517 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f518bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f518bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0cp_bb, f518 >(env, p0);
+    gcall< ttrait_uint32_0cp_bb, f518 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f521bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f521bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0cp_bb, f521 >(env, p0);
+    gcall< ttrait_int64_0cp_bb, f521 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f522bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f522bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0cp_bb, f522 >(env, p0);
+    gcall< ttrait_uint64_0cp_bb, f522 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f523bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f523bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0cp_bb, f523 >(env, p0);
+    gcall< ttrait_float_0cp_bb, f523 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f524bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f524bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0cp_bb, f524 >(env, p0);
+    gcall< ttrait_double_0cp_bb, f524 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1922,84 +1922,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f531bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f531bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0p_bb, f531 >(env, p0);
+    gcall< ttrait_bool_0p_bb, f531 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f532bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f532bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0p_bb, f532 >(env, p0);
+    gcall< ttrait_char_0p_bb, f532 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f533bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f533bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0p_bb, f533 >(env, p0);
+    gcall< ttrait_int8_0p_bb, f533 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f534bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f534bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0p_bb, f534 >(env, p0);
+    gcall< ttrait_uint8_0p_bb, f534 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f535bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f535bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0p_bb, f535 >(env, p0);
+    gcall< ttrait_int16_0p_bb, f535 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f536bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f536bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0p_bb, f536 >(env, p0);
+    gcall< ttrait_uint16_0p_bb, f536 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f537bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f537bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0p_bb, f537 >(env, p0);
+    gcall< ttrait_int32_0p_bb, f537 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f538bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f538bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0p_bb, f538 >(env, p0);
+    gcall< ttrait_uint32_0p_bb, f538 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f541bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f541bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0p_bb, f541 >(env, p0);
+    gcall< ttrait_int64_0p_bb, f541 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f542bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f542bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0p_bb, f542 >(env, p0);
+    gcall< ttrait_uint64_0p_bb, f542 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f543bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f543bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0p_bb, f543 >(env, p0);
+    gcall< ttrait_float_0p_bb, f543 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f544bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f544bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0p_bb, f544 >(env, p0);
+    gcall< ttrait_double_0p_bb, f544 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2008,84 +2008,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f551bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f551bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0cpc_bb, f551 >(env, p0);
+    gcall< ttrait_bool_0cpc_bb, f551 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f552bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f552bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cpc_bb, f552 >(env, p0);
+    gcall< ttrait_char_0cpc_bb, f552 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f553bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f553bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0cpc_bb, f553 >(env, p0);
+    gcall< ttrait_int8_0cpc_bb, f553 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f554bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f554bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0cpc_bb, f554 >(env, p0);
+    gcall< ttrait_uint8_0cpc_bb, f554 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f555bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f555bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0cpc_bb, f555 >(env, p0);
+    gcall< ttrait_int16_0cpc_bb, f555 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f556bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f556bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0cpc_bb, f556 >(env, p0);
+    gcall< ttrait_uint16_0cpc_bb, f556 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f557bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f557bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0cpc_bb, f557 >(env, p0);
+    gcall< ttrait_int32_0cpc_bb, f557 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f558bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f558bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0cpc_bb, f558 >(env, p0);
+    gcall< ttrait_uint32_0cpc_bb, f558 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f561bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f561bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0cpc_bb, f561 >(env, p0);
+    gcall< ttrait_int64_0cpc_bb, f561 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f562bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f562bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0cpc_bb, f562 >(env, p0);
+    gcall< ttrait_uint64_0cpc_bb, f562 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f563bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f563bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0cpc_bb, f563 >(env, p0);
+    gcall< ttrait_float_0cpc_bb, f563 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f564bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f564bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0cpc_bb, f564 >(env, p0);
+    gcall< ttrait_double_0cpc_bb, f564 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2094,84 +2094,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f571bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f571bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0pc_bb, f571 >(env, p0);
+    gcall< ttrait_bool_0pc_bb, f571 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f572bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f572bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0pc_bb, f572 >(env, p0);
+    gcall< ttrait_char_0pc_bb, f572 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f573bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f573bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0pc_bb, f573 >(env, p0);
+    gcall< ttrait_int8_0pc_bb, f573 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f574bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f574bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0pc_bb, f574 >(env, p0);
+    gcall< ttrait_uint8_0pc_bb, f574 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f575bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f575bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0pc_bb, f575 >(env, p0);
+    gcall< ttrait_int16_0pc_bb, f575 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f576bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f576bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0pc_bb, f576 >(env, p0);
+    gcall< ttrait_uint16_0pc_bb, f576 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f577bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f577bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0pc_bb, f577 >(env, p0);
+    gcall< ttrait_int32_0pc_bb, f577 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f578bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f578bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0pc_bb, f578 >(env, p0);
+    gcall< ttrait_uint32_0pc_bb, f578 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f581bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f581bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0pc_bb, f581 >(env, p0);
+    gcall< ttrait_int64_0pc_bb, f581 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f582bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f582bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0pc_bb, f582 >(env, p0);
+    gcall< ttrait_uint64_0pc_bb, f582 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f583bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f583bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0pc_bb, f583 >(env, p0);
+    gcall< ttrait_float_0pc_bb, f583 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f584bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f584bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0pc_bb, f584 >(env, p0);
+    gcall< ttrait_double_0pc_bb, f584 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2180,84 +2180,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f411bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f411bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cp_bb, f411 >(env);
+    return gcall< ttrait_bool_1cp_bb, f411 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f412bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f412bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cp_bb, f412 >(env);
+    return gcall< ttrait_char_1cp_bb, f412 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f413bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f413bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cp_bb, f413 >(env);
+    return gcall< ttrait_int8_1cp_bb, f413 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f414bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f414bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cp_bb, f414 >(env);
+    return gcall< ttrait_uint8_1cp_bb, f414 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f415bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f415bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cp_bb, f415 >(env);
+    return gcall< ttrait_int16_1cp_bb, f415 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f416bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f416bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cp_bb, f416 >(env);
+    return gcall< ttrait_uint16_1cp_bb, f416 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f417bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f417bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cp_bb, f417 >(env);
+    return gcall< ttrait_int32_1cp_bb, f417 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f418bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f418bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cp_bb, f418 >(env);
+    return gcall< ttrait_uint32_1cp_bb, f418 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f421bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f421bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cp_bb, f421 >(env);
+    return gcall< ttrait_int64_1cp_bb, f421 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f422bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f422bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cp_bb, f422 >(env);
+    return gcall< ttrait_uint64_1cp_bb, f422 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f423bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f423bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cp_bb, f423 >(env);
+    return gcall< ttrait_float_1cp_bb, f423 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f424bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f424bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cp_bb, f424 >(env);
+    return gcall< ttrait_double_1cp_bb, f424 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -2266,84 +2266,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f431bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f431bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1p_bb, f431 >(env);
+    return gcall< ttrait_bool_1p_bb, f431 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f432bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f432bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1p_bb, f432 >(env);
+    return gcall< ttrait_char_1p_bb, f432 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f433bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f433bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1p_bb, f433 >(env);
+    return gcall< ttrait_int8_1p_bb, f433 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f434bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f434bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1p_bb, f434 >(env);
+    return gcall< ttrait_uint8_1p_bb, f434 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f435bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f435bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1p_bb, f435 >(env);
+    return gcall< ttrait_int16_1p_bb, f435 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f436bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f436bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1p_bb, f436 >(env);
+    return gcall< ttrait_uint16_1p_bb, f436 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f437bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f437bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1p_bb, f437 >(env);
+    return gcall< ttrait_int32_1p_bb, f437 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f438bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f438bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1p_bb, f438 >(env);
+    return gcall< ttrait_uint32_1p_bb, f438 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f441bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f441bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1p_bb, f441 >(env);
+    return gcall< ttrait_int64_1p_bb, f441 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f442bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f442bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1p_bb, f442 >(env);
+    return gcall< ttrait_uint64_1p_bb, f442 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f443bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f443bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1p_bb, f443 >(env);
+    return gcall< ttrait_float_1p_bb, f443 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f444bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f444bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1p_bb, f444 >(env);
+    return gcall< ttrait_double_1p_bb, f444 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -2352,84 +2352,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f451bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f451bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cpc_bb, f451 >(env);
+    return gcall< ttrait_bool_1cpc_bb, f451 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f452bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f452bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cpc_bb, f452 >(env);
+    return gcall< ttrait_char_1cpc_bb, f452 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f453bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f453bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cpc_bb, f453 >(env);
+    return gcall< ttrait_int8_1cpc_bb, f453 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f454bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f454bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cpc_bb, f454 >(env);
+    return gcall< ttrait_uint8_1cpc_bb, f454 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f455bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f455bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cpc_bb, f455 >(env);
+    return gcall< ttrait_int16_1cpc_bb, f455 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f456bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f456bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cpc_bb, f456 >(env);
+    return gcall< ttrait_uint16_1cpc_bb, f456 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f457bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f457bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cpc_bb, f457 >(env);
+    return gcall< ttrait_int32_1cpc_bb, f457 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f458bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f458bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cpc_bb, f458 >(env);
+    return gcall< ttrait_uint32_1cpc_bb, f458 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f461bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f461bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cpc_bb, f461 >(env);
+    return gcall< ttrait_int64_1cpc_bb, f461 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f462bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f462bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cpc_bb, f462 >(env);
+    return gcall< ttrait_uint64_1cpc_bb, f462 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f463bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f463bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cpc_bb, f463 >(env);
+    return gcall< ttrait_float_1cpc_bb, f463 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f464bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f464bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cpc_bb, f464 >(env);
+    return gcall< ttrait_double_1cpc_bb, f464 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -2438,84 +2438,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f471bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f471bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1pc_bb, f471 >(env);
+    return gcall< ttrait_bool_1pc_bb, f471 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f472bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f472bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1pc_bb, f472 >(env);
+    return gcall< ttrait_char_1pc_bb, f472 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f473bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f473bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1pc_bb, f473 >(env);
+    return gcall< ttrait_int8_1pc_bb, f473 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f474bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f474bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1pc_bb, f474 >(env);
+    return gcall< ttrait_uint8_1pc_bb, f474 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f475bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f475bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1pc_bb, f475 >(env);
+    return gcall< ttrait_int16_1pc_bb, f475 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f476bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f476bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1pc_bb, f476 >(env);
+    return gcall< ttrait_uint16_1pc_bb, f476 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f477bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f477bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1pc_bb, f477 >(env);
+    return gcall< ttrait_int32_1pc_bb, f477 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f478bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f478bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1pc_bb, f478 >(env);
+    return gcall< ttrait_uint32_1pc_bb, f478 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f481bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f481bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1pc_bb, f481 >(env);
+    return gcall< ttrait_int64_1pc_bb, f481 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f482bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f482bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1pc_bb, f482 >(env);
+    return gcall< ttrait_uint64_1pc_bb, f482 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f483bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f483bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1pc_bb, f483 >(env);
+    return gcall< ttrait_float_1pc_bb, f483 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f484bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f484bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1pc_bb, f484 >(env);
+    return gcall< ttrait_double_1pc_bb, f484 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -2524,84 +2524,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f511bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f511bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1cp_bb, f511 >(env, p0);
+    gcall< ttrait_bool_1cp_bb, f511 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f512bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f512bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1cp_bb, f512 >(env, p0);
+    gcall< ttrait_char_1cp_bb, f512 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f513bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f513bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1cp_bb, f513 >(env, p0);
+    gcall< ttrait_int8_1cp_bb, f513 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f514bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f514bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1cp_bb, f514 >(env, p0);
+    gcall< ttrait_uint8_1cp_bb, f514 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f515bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f515bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1cp_bb, f515 >(env, p0);
+    gcall< ttrait_int16_1cp_bb, f515 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f516bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f516bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1cp_bb, f516 >(env, p0);
+    gcall< ttrait_uint16_1cp_bb, f516 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f517bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f517bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1cp_bb, f517 >(env, p0);
+    gcall< ttrait_int32_1cp_bb, f517 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f518bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f518bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1cp_bb, f518 >(env, p0);
+    gcall< ttrait_uint32_1cp_bb, f518 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f521bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f521bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1cp_bb, f521 >(env, p0);
+    gcall< ttrait_int64_1cp_bb, f521 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f522bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f522bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1cp_bb, f522 >(env, p0);
+    gcall< ttrait_uint64_1cp_bb, f522 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f523bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f523bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1cp_bb, f523 >(env, p0);
+    gcall< ttrait_float_1cp_bb, f523 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f524bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f524bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1cp_bb, f524 >(env, p0);
+    gcall< ttrait_double_1cp_bb, f524 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2610,84 +2610,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f531bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f531bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1p_bb, f531 >(env, p0);
+    gcall< ttrait_bool_1p_bb, f531 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f532bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f532bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1p_bb, f532 >(env, p0);
+    gcall< ttrait_char_1p_bb, f532 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f533bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f533bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1p_bb, f533 >(env, p0);
+    gcall< ttrait_int8_1p_bb, f533 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f534bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f534bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1p_bb, f534 >(env, p0);
+    gcall< ttrait_uint8_1p_bb, f534 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f535bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f535bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1p_bb, f535 >(env, p0);
+    gcall< ttrait_int16_1p_bb, f535 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f536bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f536bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1p_bb, f536 >(env, p0);
+    gcall< ttrait_uint16_1p_bb, f536 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f537bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f537bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1p_bb, f537 >(env, p0);
+    gcall< ttrait_int32_1p_bb, f537 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f538bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f538bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1p_bb, f538 >(env, p0);
+    gcall< ttrait_uint32_1p_bb, f538 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f541bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f541bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1p_bb, f541 >(env, p0);
+    gcall< ttrait_int64_1p_bb, f541 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f542bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f542bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1p_bb, f542 >(env, p0);
+    gcall< ttrait_uint64_1p_bb, f542 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f543bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f543bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1p_bb, f543 >(env, p0);
+    gcall< ttrait_float_1p_bb, f543 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f544bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f544bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1p_bb, f544 >(env, p0);
+    gcall< ttrait_double_1p_bb, f544 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2696,84 +2696,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f551bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f551bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1cpc_bb, f551 >(env, p0);
+    gcall< ttrait_bool_1cpc_bb, f551 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f552bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f552bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1cpc_bb, f552 >(env, p0);
+    gcall< ttrait_char_1cpc_bb, f552 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f553bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f553bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1cpc_bb, f553 >(env, p0);
+    gcall< ttrait_int8_1cpc_bb, f553 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f554bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f554bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1cpc_bb, f554 >(env, p0);
+    gcall< ttrait_uint8_1cpc_bb, f554 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f555bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f555bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1cpc_bb, f555 >(env, p0);
+    gcall< ttrait_int16_1cpc_bb, f555 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f556bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f556bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1cpc_bb, f556 >(env, p0);
+    gcall< ttrait_uint16_1cpc_bb, f556 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f557bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f557bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1cpc_bb, f557 >(env, p0);
+    gcall< ttrait_int32_1cpc_bb, f557 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f558bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f558bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1cpc_bb, f558 >(env, p0);
+    gcall< ttrait_uint32_1cpc_bb, f558 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f561bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f561bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1cpc_bb, f561 >(env, p0);
+    gcall< ttrait_int64_1cpc_bb, f561 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f562bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f562bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1cpc_bb, f562 >(env, p0);
+    gcall< ttrait_uint64_1cpc_bb, f562 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f563bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f563bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1cpc_bb, f563 >(env, p0);
+    gcall< ttrait_float_1cpc_bb, f563 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f564bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f564bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1cpc_bb, f564 >(env, p0);
+    gcall< ttrait_double_1cpc_bb, f564 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2782,84 +2782,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f571bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f571bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1pc_bb, f571 >(env, p0);
+    gcall< ttrait_bool_1pc_bb, f571 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f572bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f572bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1pc_bb, f572 >(env, p0);
+    gcall< ttrait_char_1pc_bb, f572 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f573bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f573bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1pc_bb, f573 >(env, p0);
+    gcall< ttrait_int8_1pc_bb, f573 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f574bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f574bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1pc_bb, f574 >(env, p0);
+    gcall< ttrait_uint8_1pc_bb, f574 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f575bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f575bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1pc_bb, f575 >(env, p0);
+    gcall< ttrait_int16_1pc_bb, f575 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f576bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f576bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1pc_bb, f576 >(env, p0);
+    gcall< ttrait_uint16_1pc_bb, f576 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f577bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f577bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1pc_bb, f577 >(env, p0);
+    gcall< ttrait_int32_1pc_bb, f577 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f578bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f578bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1pc_bb, f578 >(env, p0);
+    gcall< ttrait_uint32_1pc_bb, f578 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f581bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f581bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1pc_bb, f581 >(env, p0);
+    gcall< ttrait_int64_1pc_bb, f581 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f582bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f582bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1pc_bb, f582 >(env, p0);
+    gcall< ttrait_uint64_1pc_bb, f582 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f583bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f583bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1pc_bb, f583 >(env, p0);
+    gcall< ttrait_float_1pc_bb, f583 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f584bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f584bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1pc_bb, f584 >(env, p0);
+    gcall< ttrait_double_1pc_bb, f584 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2868,84 +2868,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f411v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f411v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cp_a, f411 >(env);
+    return gcall< ttrait_bool_1cp_a, f411 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f412v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f412v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cp_a, f412 >(env);
+    return gcall< ttrait_char_1cp_a, f412 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f413v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f413v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cp_a, f413 >(env);
+    return gcall< ttrait_int8_1cp_a, f413 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f414v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f414v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cp_a, f414 >(env);
+    return gcall< ttrait_uint8_1cp_a, f414 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f415v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f415v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cp_a, f415 >(env);
+    return gcall< ttrait_int16_1cp_a, f415 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f416v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f416v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cp_a, f416 >(env);
+    return gcall< ttrait_uint16_1cp_a, f416 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f417v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f417v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cp_a, f417 >(env);
+    return gcall< ttrait_int32_1cp_a, f417 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f418v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f418v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cp_a, f418 >(env);
+    return gcall< ttrait_uint32_1cp_a, f418 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f421v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f421v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cp_a, f421 >(env);
+    return gcall< ttrait_int64_1cp_a, f421 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f422v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f422v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cp_a, f422 >(env);
+    return gcall< ttrait_uint64_1cp_a, f422 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f423v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f423v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cp_a, f423 >(env);
+    return gcall< ttrait_float_1cp_a, f423 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f424v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f424v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cp_a, f424 >(env);
+    return gcall< ttrait_double_1cp_a, f424 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -2954,84 +2954,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f431v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f431v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1p_a, f431 >(env);
+    return gcall< ttrait_bool_1p_a, f431 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f432v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f432v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1p_a, f432 >(env);
+    return gcall< ttrait_char_1p_a, f432 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f433v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f433v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1p_a, f433 >(env);
+    return gcall< ttrait_int8_1p_a, f433 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f434v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f434v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1p_a, f434 >(env);
+    return gcall< ttrait_uint8_1p_a, f434 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f435v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f435v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1p_a, f435 >(env);
+    return gcall< ttrait_int16_1p_a, f435 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f436v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f436v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1p_a, f436 >(env);
+    return gcall< ttrait_uint16_1p_a, f436 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f437v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f437v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1p_a, f437 >(env);
+    return gcall< ttrait_int32_1p_a, f437 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f438v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f438v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1p_a, f438 >(env);
+    return gcall< ttrait_uint32_1p_a, f438 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f441v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f441v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1p_a, f441 >(env);
+    return gcall< ttrait_int64_1p_a, f441 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f442v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f442v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1p_a, f442 >(env);
+    return gcall< ttrait_uint64_1p_a, f442 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f443v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f443v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1p_a, f443 >(env);
+    return gcall< ttrait_float_1p_a, f443 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f444v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f444v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1p_a, f444 >(env);
+    return gcall< ttrait_double_1p_a, f444 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3040,84 +3040,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f451v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f451v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cpc_a, f451 >(env);
+    return gcall< ttrait_bool_1cpc_a, f451 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f452v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f452v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cpc_a, f452 >(env);
+    return gcall< ttrait_char_1cpc_a, f452 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f453v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f453v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cpc_a, f453 >(env);
+    return gcall< ttrait_int8_1cpc_a, f453 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f454v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f454v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cpc_a, f454 >(env);
+    return gcall< ttrait_uint8_1cpc_a, f454 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f455v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f455v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cpc_a, f455 >(env);
+    return gcall< ttrait_int16_1cpc_a, f455 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f456v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f456v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cpc_a, f456 >(env);
+    return gcall< ttrait_uint16_1cpc_a, f456 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f457v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f457v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cpc_a, f457 >(env);
+    return gcall< ttrait_int32_1cpc_a, f457 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f458v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f458v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cpc_a, f458 >(env);
+    return gcall< ttrait_uint32_1cpc_a, f458 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f461v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f461v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cpc_a, f461 >(env);
+    return gcall< ttrait_int64_1cpc_a, f461 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f462v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f462v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cpc_a, f462 >(env);
+    return gcall< ttrait_uint64_1cpc_a, f462 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f463v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f463v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cpc_a, f463 >(env);
+    return gcall< ttrait_float_1cpc_a, f463 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f464v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f464v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cpc_a, f464 >(env);
+    return gcall< ttrait_double_1cpc_a, f464 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3126,84 +3126,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f471v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f471v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1pc_a, f471 >(env);
+    return gcall< ttrait_bool_1pc_a, f471 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f472v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f472v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1pc_a, f472 >(env);
+    return gcall< ttrait_char_1pc_a, f472 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f473v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f473v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1pc_a, f473 >(env);
+    return gcall< ttrait_int8_1pc_a, f473 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f474v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f474v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1pc_a, f474 >(env);
+    return gcall< ttrait_uint8_1pc_a, f474 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f475v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f475v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1pc_a, f475 >(env);
+    return gcall< ttrait_int16_1pc_a, f475 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f476v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f476v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1pc_a, f476 >(env);
+    return gcall< ttrait_uint16_1pc_a, f476 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f477v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f477v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1pc_a, f477 >(env);
+    return gcall< ttrait_int32_1pc_a, f477 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f478v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f478v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1pc_a, f478 >(env);
+    return gcall< ttrait_uint32_1pc_a, f478 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f481v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f481v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1pc_a, f481 >(env);
+    return gcall< ttrait_int64_1pc_a, f481 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f482v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f482v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1pc_a, f482 >(env);
+    return gcall< ttrait_uint64_1pc_a, f482 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f483v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f483v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1pc_a, f483 >(env);
+    return gcall< ttrait_float_1pc_a, f483 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f484v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f484v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1pc_a, f484 >(env);
+    return gcall< ttrait_double_1pc_a, f484 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3212,84 +3212,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f511v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f511v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1cp_a, f511 >(env, p0);
+    gcall< ttrait_bool_1cp_a, f511 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f512v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f512v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1cp_a, f512 >(env, p0);
+    gcall< ttrait_char_1cp_a, f512 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f513v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f513v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1cp_a, f513 >(env, p0);
+    gcall< ttrait_int8_1cp_a, f513 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f514v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f514v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1cp_a, f514 >(env, p0);
+    gcall< ttrait_uint8_1cp_a, f514 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f515v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f515v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1cp_a, f515 >(env, p0);
+    gcall< ttrait_int16_1cp_a, f515 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f516v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f516v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1cp_a, f516 >(env, p0);
+    gcall< ttrait_uint16_1cp_a, f516 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f517v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f517v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1cp_a, f517 >(env, p0);
+    gcall< ttrait_int32_1cp_a, f517 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f518v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f518v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1cp_a, f518 >(env, p0);
+    gcall< ttrait_uint32_1cp_a, f518 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f521v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f521v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1cp_a, f521 >(env, p0);
+    gcall< ttrait_int64_1cp_a, f521 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f522v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f522v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1cp_a, f522 >(env, p0);
+    gcall< ttrait_uint64_1cp_a, f522 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f523v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f523v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1cp_a, f523 >(env, p0);
+    gcall< ttrait_float_1cp_a, f523 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f524v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f524v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1cp_a, f524 >(env, p0);
+    gcall< ttrait_double_1cp_a, f524 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3298,84 +3298,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f531v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f531v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1p_a, f531 >(env, p0);
+    gcall< ttrait_bool_1p_a, f531 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f532v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f532v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1p_a, f532 >(env, p0);
+    gcall< ttrait_char_1p_a, f532 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f533v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f533v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1p_a, f533 >(env, p0);
+    gcall< ttrait_int8_1p_a, f533 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f534v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f534v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1p_a, f534 >(env, p0);
+    gcall< ttrait_uint8_1p_a, f534 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f535v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f535v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1p_a, f535 >(env, p0);
+    gcall< ttrait_int16_1p_a, f535 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f536v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f536v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1p_a, f536 >(env, p0);
+    gcall< ttrait_uint16_1p_a, f536 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f537v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f537v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1p_a, f537 >(env, p0);
+    gcall< ttrait_int32_1p_a, f537 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f538v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f538v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1p_a, f538 >(env, p0);
+    gcall< ttrait_uint32_1p_a, f538 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f541v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f541v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1p_a, f541 >(env, p0);
+    gcall< ttrait_int64_1p_a, f541 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f542v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f542v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1p_a, f542 >(env, p0);
+    gcall< ttrait_uint64_1p_a, f542 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f543v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f543v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1p_a, f543 >(env, p0);
+    gcall< ttrait_float_1p_a, f543 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f544v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f544v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1p_a, f544 >(env, p0);
+    gcall< ttrait_double_1p_a, f544 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3384,84 +3384,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f551v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f551v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1cpc_a, f551 >(env, p0);
+    gcall< ttrait_bool_1cpc_a, f551 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f552v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f552v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1cpc_a, f552 >(env, p0);
+    gcall< ttrait_char_1cpc_a, f552 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f553v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f553v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1cpc_a, f553 >(env, p0);
+    gcall< ttrait_int8_1cpc_a, f553 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f554v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f554v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1cpc_a, f554 >(env, p0);
+    gcall< ttrait_uint8_1cpc_a, f554 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f555v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f555v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1cpc_a, f555 >(env, p0);
+    gcall< ttrait_int16_1cpc_a, f555 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f556v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f556v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1cpc_a, f556 >(env, p0);
+    gcall< ttrait_uint16_1cpc_a, f556 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f557v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f557v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1cpc_a, f557 >(env, p0);
+    gcall< ttrait_int32_1cpc_a, f557 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f558v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f558v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1cpc_a, f558 >(env, p0);
+    gcall< ttrait_uint32_1cpc_a, f558 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f561v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f561v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1cpc_a, f561 >(env, p0);
+    gcall< ttrait_int64_1cpc_a, f561 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f562v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f562v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1cpc_a, f562 >(env, p0);
+    gcall< ttrait_uint64_1cpc_a, f562 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f563v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f563v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1cpc_a, f563 >(env, p0);
+    gcall< ttrait_float_1cpc_a, f563 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f564v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f564v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1cpc_a, f564 >(env, p0);
+    gcall< ttrait_double_1cpc_a, f564 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3470,84 +3470,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f571v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f571v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1pc_a, f571 >(env, p0);
+    gcall< ttrait_bool_1pc_a, f571 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f572v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f572v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1pc_a, f572 >(env, p0);
+    gcall< ttrait_char_1pc_a, f572 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f573v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f573v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1pc_a, f573 >(env, p0);
+    gcall< ttrait_int8_1pc_a, f573 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f574v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f574v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1pc_a, f574 >(env, p0);
+    gcall< ttrait_uint8_1pc_a, f574 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f575v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f575v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1pc_a, f575 >(env, p0);
+    gcall< ttrait_int16_1pc_a, f575 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f576v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f576v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1pc_a, f576 >(env, p0);
+    gcall< ttrait_uint16_1pc_a, f576 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f577v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f577v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1pc_a, f577 >(env, p0);
+    gcall< ttrait_int32_1pc_a, f577 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f578v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f578v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1pc_a, f578 >(env, p0);
+    gcall< ttrait_uint32_1pc_a, f578 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f581v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f581v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1pc_a, f581 >(env, p0);
+    gcall< ttrait_int64_1pc_a, f581 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f582v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f582v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1pc_a, f582 >(env, p0);
+    gcall< ttrait_uint64_1pc_a, f582 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f583v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f583v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1pc_a, f583 >(env, p0);
+    gcall< ttrait_float_1pc_a, f583 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f584v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f584v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1pc_a, f584 >(env, p0);
+    gcall< ttrait_double_1pc_a, f584 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3556,84 +3556,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f611bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f611bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0cp_bb, f611 >(env);
+    return gcall< ttrait_bool_0cp_bb, f611 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f612bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f612bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0cp_bb, f612 >(env);
+    return gcall< ttrait_char_0cp_bb, f612 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f613bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f613bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0cp_bb, f613 >(env);
+    return gcall< ttrait_int8_0cp_bb, f613 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f614bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f614bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0cp_bb, f614 >(env);
+    return gcall< ttrait_uint8_0cp_bb, f614 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f615bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f615bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0cp_bb, f615 >(env);
+    return gcall< ttrait_int16_0cp_bb, f615 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f616bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f616bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0cp_bb, f616 >(env);
+    return gcall< ttrait_uint16_0cp_bb, f616 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f617bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f617bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0cp_bb, f617 >(env);
+    return gcall< ttrait_int32_0cp_bb, f617 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f618bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f618bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0cp_bb, f618 >(env);
+    return gcall< ttrait_uint32_0cp_bb, f618 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f621bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f621bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0cp_bb, f621 >(env);
+    return gcall< ttrait_int64_0cp_bb, f621 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f622bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f622bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0cp_bb, f622 >(env);
+    return gcall< ttrait_uint64_0cp_bb, f622 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f623bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f623bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0cp_bb, f623 >(env);
+    return gcall< ttrait_float_0cp_bb, f623 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f624bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f624bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0cp_bb, f624 >(env);
+    return gcall< ttrait_double_0cp_bb, f624 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3642,84 +3642,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f631bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f631bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0p_bb, f631 >(env);
+    return gcall< ttrait_bool_0p_bb, f631 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f632bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f632bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0p_bb, f632 >(env);
+    return gcall< ttrait_char_0p_bb, f632 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f633bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f633bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0p_bb, f633 >(env);
+    return gcall< ttrait_int8_0p_bb, f633 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f634bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f634bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0p_bb, f634 >(env);
+    return gcall< ttrait_uint8_0p_bb, f634 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f635bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f635bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0p_bb, f635 >(env);
+    return gcall< ttrait_int16_0p_bb, f635 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f636bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f636bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0p_bb, f636 >(env);
+    return gcall< ttrait_uint16_0p_bb, f636 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f637bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f637bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0p_bb, f637 >(env);
+    return gcall< ttrait_int32_0p_bb, f637 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f638bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f638bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0p_bb, f638 >(env);
+    return gcall< ttrait_uint32_0p_bb, f638 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f641bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f641bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0p_bb, f641 >(env);
+    return gcall< ttrait_int64_0p_bb, f641 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f642bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f642bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0p_bb, f642 >(env);
+    return gcall< ttrait_uint64_0p_bb, f642 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f643bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f643bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0p_bb, f643 >(env);
+    return gcall< ttrait_float_0p_bb, f643 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f644bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f644bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0p_bb, f644 >(env);
+    return gcall< ttrait_double_0p_bb, f644 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3728,84 +3728,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f651bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f651bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0cpc_bb, f651 >(env);
+    return gcall< ttrait_bool_0cpc_bb, f651 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f652bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f652bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0cpc_bb, f652 >(env);
+    return gcall< ttrait_char_0cpc_bb, f652 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f653bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f653bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0cpc_bb, f653 >(env);
+    return gcall< ttrait_int8_0cpc_bb, f653 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f654bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f654bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0cpc_bb, f654 >(env);
+    return gcall< ttrait_uint8_0cpc_bb, f654 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f655bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f655bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0cpc_bb, f655 >(env);
+    return gcall< ttrait_int16_0cpc_bb, f655 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f656bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f656bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0cpc_bb, f656 >(env);
+    return gcall< ttrait_uint16_0cpc_bb, f656 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f657bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f657bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0cpc_bb, f657 >(env);
+    return gcall< ttrait_int32_0cpc_bb, f657 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f658bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f658bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0cpc_bb, f658 >(env);
+    return gcall< ttrait_uint32_0cpc_bb, f658 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f661bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f661bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0cpc_bb, f661 >(env);
+    return gcall< ttrait_int64_0cpc_bb, f661 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f662bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f662bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0cpc_bb, f662 >(env);
+    return gcall< ttrait_uint64_0cpc_bb, f662 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f663bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f663bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0cpc_bb, f663 >(env);
+    return gcall< ttrait_float_0cpc_bb, f663 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f664bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f664bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0cpc_bb, f664 >(env);
+    return gcall< ttrait_double_0cpc_bb, f664 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3814,84 +3814,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f671bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f671bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0pc_bb, f671 >(env);
+    return gcall< ttrait_bool_0pc_bb, f671 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f672bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f672bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0pc_bb, f672 >(env);
+    return gcall< ttrait_char_0pc_bb, f672 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f673bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f673bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0pc_bb, f673 >(env);
+    return gcall< ttrait_int8_0pc_bb, f673 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f674bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f674bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0pc_bb, f674 >(env);
+    return gcall< ttrait_uint8_0pc_bb, f674 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f675bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f675bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0pc_bb, f675 >(env);
+    return gcall< ttrait_int16_0pc_bb, f675 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f676bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f676bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0pc_bb, f676 >(env);
+    return gcall< ttrait_uint16_0pc_bb, f676 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f677bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f677bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0pc_bb, f677 >(env);
+    return gcall< ttrait_int32_0pc_bb, f677 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f678bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f678bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0pc_bb, f678 >(env);
+    return gcall< ttrait_uint32_0pc_bb, f678 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f681bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f681bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0pc_bb, f681 >(env);
+    return gcall< ttrait_int64_0pc_bb, f681 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f682bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f682bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0pc_bb, f682 >(env);
+    return gcall< ttrait_uint64_0pc_bb, f682 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f683bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f683bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0pc_bb, f683 >(env);
+    return gcall< ttrait_float_0pc_bb, f683 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f684bb0(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f684bb0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0pc_bb, f684 >(env);
+    return gcall< ttrait_double_0pc_bb, f684 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -3900,84 +3900,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f711bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f711bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0cp_bb, f711 >(env, p0);
+    gcall< ttrait_bool_0cp_bb, f711 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f712bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f712bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cp_bb, f712 >(env, p0);
+    gcall< ttrait_char_0cp_bb, f712 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f713bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f713bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0cp_bb, f713 >(env, p0);
+    gcall< ttrait_int8_0cp_bb, f713 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f714bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f714bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0cp_bb, f714 >(env, p0);
+    gcall< ttrait_uint8_0cp_bb, f714 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f715bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f715bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0cp_bb, f715 >(env, p0);
+    gcall< ttrait_int16_0cp_bb, f715 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f716bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f716bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0cp_bb, f716 >(env, p0);
+    gcall< ttrait_uint16_0cp_bb, f716 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f717bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f717bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0cp_bb, f717 >(env, p0);
+    gcall< ttrait_int32_0cp_bb, f717 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f718bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f718bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0cp_bb, f718 >(env, p0);
+    gcall< ttrait_uint32_0cp_bb, f718 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f721bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f721bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0cp_bb, f721 >(env, p0);
+    gcall< ttrait_int64_0cp_bb, f721 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f722bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f722bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0cp_bb, f722 >(env, p0);
+    gcall< ttrait_uint64_0cp_bb, f722 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f723bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f723bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0cp_bb, f723 >(env, p0);
+    gcall< ttrait_float_0cp_bb, f723 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f724bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f724bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0cp_bb, f724 >(env, p0);
+    gcall< ttrait_double_0cp_bb, f724 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3986,84 +3986,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f731bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f731bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0p_bb, f731 >(env, p0);
+    gcall< ttrait_bool_0p_bb, f731 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f732bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f732bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0p_bb, f732 >(env, p0);
+    gcall< ttrait_char_0p_bb, f732 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f733bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f733bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0p_bb, f733 >(env, p0);
+    gcall< ttrait_int8_0p_bb, f733 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f734bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f734bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0p_bb, f734 >(env, p0);
+    gcall< ttrait_uint8_0p_bb, f734 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f735bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f735bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0p_bb, f735 >(env, p0);
+    gcall< ttrait_int16_0p_bb, f735 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f736bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f736bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0p_bb, f736 >(env, p0);
+    gcall< ttrait_uint16_0p_bb, f736 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f737bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f737bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0p_bb, f737 >(env, p0);
+    gcall< ttrait_int32_0p_bb, f737 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f738bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f738bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0p_bb, f738 >(env, p0);
+    gcall< ttrait_uint32_0p_bb, f738 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f741bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f741bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0p_bb, f741 >(env, p0);
+    gcall< ttrait_int64_0p_bb, f741 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f742bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f742bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0p_bb, f742 >(env, p0);
+    gcall< ttrait_uint64_0p_bb, f742 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f743bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f743bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0p_bb, f743 >(env, p0);
+    gcall< ttrait_float_0p_bb, f743 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f744bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f744bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0p_bb, f744 >(env, p0);
+    gcall< ttrait_double_0p_bb, f744 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4072,84 +4072,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f751bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f751bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0cpc_bb, f751 >(env, p0);
+    gcall< ttrait_bool_0cpc_bb, f751 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f752bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f752bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0cpc_bb, f752 >(env, p0);
+    gcall< ttrait_char_0cpc_bb, f752 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f753bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f753bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0cpc_bb, f753 >(env, p0);
+    gcall< ttrait_int8_0cpc_bb, f753 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f754bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f754bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0cpc_bb, f754 >(env, p0);
+    gcall< ttrait_uint8_0cpc_bb, f754 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f755bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f755bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0cpc_bb, f755 >(env, p0);
+    gcall< ttrait_int16_0cpc_bb, f755 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f756bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f756bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0cpc_bb, f756 >(env, p0);
+    gcall< ttrait_uint16_0cpc_bb, f756 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f757bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f757bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0cpc_bb, f757 >(env, p0);
+    gcall< ttrait_int32_0cpc_bb, f757 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f758bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f758bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0cpc_bb, f758 >(env, p0);
+    gcall< ttrait_uint32_0cpc_bb, f758 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f761bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f761bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0cpc_bb, f761 >(env, p0);
+    gcall< ttrait_int64_0cpc_bb, f761 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f762bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f762bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0cpc_bb, f762 >(env, p0);
+    gcall< ttrait_uint64_0cpc_bb, f762 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f763bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f763bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0cpc_bb, f763 >(env, p0);
+    gcall< ttrait_float_0cpc_bb, f763 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f764bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f764bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0cpc_bb, f764 >(env, p0);
+    gcall< ttrait_double_0cpc_bb, f764 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4158,84 +4158,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f771bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f771bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_0pc_bb, f771 >(env, p0);
+    gcall< ttrait_bool_0pc_bb, f771 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f772bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f772bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_0pc_bb, f772 >(env, p0);
+    gcall< ttrait_char_0pc_bb, f772 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f773bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f773bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_0pc_bb, f773 >(env, p0);
+    gcall< ttrait_int8_0pc_bb, f773 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f774bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f774bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_0pc_bb, f774 >(env, p0);
+    gcall< ttrait_uint8_0pc_bb, f774 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f775bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f775bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_0pc_bb, f775 >(env, p0);
+    gcall< ttrait_int16_0pc_bb, f775 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f776bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f776bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_0pc_bb, f776 >(env, p0);
+    gcall< ttrait_uint16_0pc_bb, f776 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f777bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f777bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_0pc_bb, f777 >(env, p0);
+    gcall< ttrait_int32_0pc_bb, f777 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f778bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f778bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_0pc_bb, f778 >(env, p0);
+    gcall< ttrait_uint32_0pc_bb, f778 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f781bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f781bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_0pc_bb, f781 >(env, p0);
+    gcall< ttrait_int64_0pc_bb, f781 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f782bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f782bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_0pc_bb, f782 >(env, p0);
+    gcall< ttrait_uint64_0pc_bb, f782 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f783bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f783bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_0pc_bb, f783 >(env, p0);
+    gcall< ttrait_float_0pc_bb, f783 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f784bb0(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f784bb0(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_0pc_bb, f784 >(env, p0);
+    gcall< ttrait_double_0pc_bb, f784 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4244,84 +4244,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f611bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f611bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cp_bb, f611 >(env);
+    return gcall< ttrait_bool_1cp_bb, f611 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f612bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f612bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cp_bb, f612 >(env);
+    return gcall< ttrait_char_1cp_bb, f612 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f613bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f613bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cp_bb, f613 >(env);
+    return gcall< ttrait_int8_1cp_bb, f613 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f614bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f614bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cp_bb, f614 >(env);
+    return gcall< ttrait_uint8_1cp_bb, f614 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f615bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f615bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cp_bb, f615 >(env);
+    return gcall< ttrait_int16_1cp_bb, f615 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f616bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f616bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cp_bb, f616 >(env);
+    return gcall< ttrait_uint16_1cp_bb, f616 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f617bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f617bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cp_bb, f617 >(env);
+    return gcall< ttrait_int32_1cp_bb, f617 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f618bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f618bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cp_bb, f618 >(env);
+    return gcall< ttrait_uint32_1cp_bb, f618 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f621bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f621bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cp_bb, f621 >(env);
+    return gcall< ttrait_int64_1cp_bb, f621 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f622bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f622bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cp_bb, f622 >(env);
+    return gcall< ttrait_uint64_1cp_bb, f622 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f623bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f623bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cp_bb, f623 >(env);
+    return gcall< ttrait_float_1cp_bb, f623 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f624bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f624bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cp_bb, f624 >(env);
+    return gcall< ttrait_double_1cp_bb, f624 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -4330,84 +4330,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f631bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f631bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1p_bb, f631 >(env);
+    return gcall< ttrait_bool_1p_bb, f631 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f632bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f632bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1p_bb, f632 >(env);
+    return gcall< ttrait_char_1p_bb, f632 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f633bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f633bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1p_bb, f633 >(env);
+    return gcall< ttrait_int8_1p_bb, f633 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f634bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f634bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1p_bb, f634 >(env);
+    return gcall< ttrait_uint8_1p_bb, f634 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f635bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f635bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1p_bb, f635 >(env);
+    return gcall< ttrait_int16_1p_bb, f635 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f636bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f636bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1p_bb, f636 >(env);
+    return gcall< ttrait_uint16_1p_bb, f636 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f637bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f637bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1p_bb, f637 >(env);
+    return gcall< ttrait_int32_1p_bb, f637 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f638bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f638bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1p_bb, f638 >(env);
+    return gcall< ttrait_uint32_1p_bb, f638 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f641bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f641bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1p_bb, f641 >(env);
+    return gcall< ttrait_int64_1p_bb, f641 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f642bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f642bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1p_bb, f642 >(env);
+    return gcall< ttrait_uint64_1p_bb, f642 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f643bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f643bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1p_bb, f643 >(env);
+    return gcall< ttrait_float_1p_bb, f643 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f644bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f644bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1p_bb, f644 >(env);
+    return gcall< ttrait_double_1p_bb, f644 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -4416,84 +4416,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f651bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f651bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cpc_bb, f651 >(env);
+    return gcall< ttrait_bool_1cpc_bb, f651 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f652bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f652bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cpc_bb, f652 >(env);
+    return gcall< ttrait_char_1cpc_bb, f652 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f653bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f653bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cpc_bb, f653 >(env);
+    return gcall< ttrait_int8_1cpc_bb, f653 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f654bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f654bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cpc_bb, f654 >(env);
+    return gcall< ttrait_uint8_1cpc_bb, f654 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f655bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f655bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cpc_bb, f655 >(env);
+    return gcall< ttrait_int16_1cpc_bb, f655 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f656bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f656bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cpc_bb, f656 >(env);
+    return gcall< ttrait_uint16_1cpc_bb, f656 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f657bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f657bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cpc_bb, f657 >(env);
+    return gcall< ttrait_int32_1cpc_bb, f657 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f658bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f658bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cpc_bb, f658 >(env);
+    return gcall< ttrait_uint32_1cpc_bb, f658 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f661bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f661bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cpc_bb, f661 >(env);
+    return gcall< ttrait_int64_1cpc_bb, f661 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f662bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f662bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cpc_bb, f662 >(env);
+    return gcall< ttrait_uint64_1cpc_bb, f662 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f663bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f663bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cpc_bb, f663 >(env);
+    return gcall< ttrait_float_1cpc_bb, f663 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f664bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f664bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cpc_bb, f664 >(env);
+    return gcall< ttrait_double_1cpc_bb, f664 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -4502,84 +4502,84 @@ JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f671bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f671bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1pc_bb, f671 >(env);
+    return gcall< ttrait_bool_1pc_bb, f671 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f672bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f672bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1pc_bb, f672 >(env);
+    return gcall< ttrait_char_1pc_bb, f672 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f673bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f673bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1pc_bb, f673 >(env);
+    return gcall< ttrait_int8_1pc_bb, f673 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f674bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f674bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1pc_bb, f674 >(env);
+    return gcall< ttrait_uint8_1pc_bb, f674 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f675bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f675bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1pc_bb, f675 >(env);
+    return gcall< ttrait_int16_1pc_bb, f675 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f676bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f676bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1pc_bb, f676 >(env);
+    return gcall< ttrait_uint16_1pc_bb, f676 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f677bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f677bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1pc_bb, f677 >(env);
+    return gcall< ttrait_int32_1pc_bb, f677 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f678bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f678bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1pc_bb, f678 >(env);
+    return gcall< ttrait_uint32_1pc_bb, f678 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f681bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f681bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1pc_bb, f681 >(env);
+    return gcall< ttrait_int64_1pc_bb, f681 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f682bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f682bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1pc_bb, f682 >(env);
+    return gcall< ttrait_uint64_1pc_bb, f682 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f683bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f683bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1pc_bb, f683 >(env);
+    return gcall< ttrait_float_1pc_bb, f683 >(env, cls);
 }
 
 JNIEXPORT jobject JNICALL
 Java_myjapi_MyJapi_f684bb1(JNIEnv * env, jclass cls) 
 {
     TRACE("jobject Java_myjapi_MyJapi_f684bb1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1pc_bb, f684 >(env);
+    return gcall< ttrait_double_1pc_bb, f684 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -4588,84 +4588,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f711bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f711bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1cp_bb, f711 >(env, p0);
+    gcall< ttrait_bool_1cp_bb, f711 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f712bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f712bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1cp_bb, f712 >(env, p0);
+    gcall< ttrait_char_1cp_bb, f712 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f713bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f713bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1cp_bb, f713 >(env, p0);
+    gcall< ttrait_int8_1cp_bb, f713 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f714bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f714bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1cp_bb, f714 >(env, p0);
+    gcall< ttrait_uint8_1cp_bb, f714 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f715bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f715bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1cp_bb, f715 >(env, p0);
+    gcall< ttrait_int16_1cp_bb, f715 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f716bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f716bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1cp_bb, f716 >(env, p0);
+    gcall< ttrait_uint16_1cp_bb, f716 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f717bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f717bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1cp_bb, f717 >(env, p0);
+    gcall< ttrait_int32_1cp_bb, f717 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f718bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f718bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1cp_bb, f718 >(env, p0);
+    gcall< ttrait_uint32_1cp_bb, f718 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f721bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f721bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1cp_bb, f721 >(env, p0);
+    gcall< ttrait_int64_1cp_bb, f721 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f722bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f722bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1cp_bb, f722 >(env, p0);
+    gcall< ttrait_uint64_1cp_bb, f722 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f723bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f723bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1cp_bb, f723 >(env, p0);
+    gcall< ttrait_float_1cp_bb, f723 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f724bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f724bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1cp_bb, f724 >(env, p0);
+    gcall< ttrait_double_1cp_bb, f724 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4674,84 +4674,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f731bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f731bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1p_bb, f731 >(env, p0);
+    gcall< ttrait_bool_1p_bb, f731 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f732bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f732bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1p_bb, f732 >(env, p0);
+    gcall< ttrait_char_1p_bb, f732 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f733bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f733bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1p_bb, f733 >(env, p0);
+    gcall< ttrait_int8_1p_bb, f733 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f734bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f734bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1p_bb, f734 >(env, p0);
+    gcall< ttrait_uint8_1p_bb, f734 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f735bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f735bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1p_bb, f735 >(env, p0);
+    gcall< ttrait_int16_1p_bb, f735 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f736bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f736bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1p_bb, f736 >(env, p0);
+    gcall< ttrait_uint16_1p_bb, f736 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f737bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f737bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1p_bb, f737 >(env, p0);
+    gcall< ttrait_int32_1p_bb, f737 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f738bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f738bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1p_bb, f738 >(env, p0);
+    gcall< ttrait_uint32_1p_bb, f738 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f741bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f741bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1p_bb, f741 >(env, p0);
+    gcall< ttrait_int64_1p_bb, f741 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f742bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f742bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1p_bb, f742 >(env, p0);
+    gcall< ttrait_uint64_1p_bb, f742 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f743bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f743bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1p_bb, f743 >(env, p0);
+    gcall< ttrait_float_1p_bb, f743 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f744bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f744bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1p_bb, f744 >(env, p0);
+    gcall< ttrait_double_1p_bb, f744 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4760,84 +4760,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f751bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f751bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1cpc_bb, f751 >(env, p0);
+    gcall< ttrait_bool_1cpc_bb, f751 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f752bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f752bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1cpc_bb, f752 >(env, p0);
+    gcall< ttrait_char_1cpc_bb, f752 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f753bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f753bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1cpc_bb, f753 >(env, p0);
+    gcall< ttrait_int8_1cpc_bb, f753 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f754bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f754bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1cpc_bb, f754 >(env, p0);
+    gcall< ttrait_uint8_1cpc_bb, f754 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f755bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f755bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1cpc_bb, f755 >(env, p0);
+    gcall< ttrait_int16_1cpc_bb, f755 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f756bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f756bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1cpc_bb, f756 >(env, p0);
+    gcall< ttrait_uint16_1cpc_bb, f756 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f757bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f757bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1cpc_bb, f757 >(env, p0);
+    gcall< ttrait_int32_1cpc_bb, f757 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f758bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f758bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1cpc_bb, f758 >(env, p0);
+    gcall< ttrait_uint32_1cpc_bb, f758 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f761bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f761bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1cpc_bb, f761 >(env, p0);
+    gcall< ttrait_int64_1cpc_bb, f761 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f762bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f762bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1cpc_bb, f762 >(env, p0);
+    gcall< ttrait_uint64_1cpc_bb, f762 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f763bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f763bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1cpc_bb, f763 >(env, p0);
+    gcall< ttrait_float_1cpc_bb, f763 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f764bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f764bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1cpc_bb, f764 >(env, p0);
+    gcall< ttrait_double_1cpc_bb, f764 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4846,84 +4846,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f771bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f771bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_bool_1pc_bb, f771 >(env, p0);
+    gcall< ttrait_bool_1pc_bb, f771 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f772bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f772bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_char_1pc_bb, f772 >(env, p0);
+    gcall< ttrait_char_1pc_bb, f772 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f773bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f773bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int8_1pc_bb, f773 >(env, p0);
+    gcall< ttrait_int8_1pc_bb, f773 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f774bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f774bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint8_1pc_bb, f774 >(env, p0);
+    gcall< ttrait_uint8_1pc_bb, f774 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f775bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f775bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int16_1pc_bb, f775 >(env, p0);
+    gcall< ttrait_int16_1pc_bb, f775 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f776bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f776bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint16_1pc_bb, f776 >(env, p0);
+    gcall< ttrait_uint16_1pc_bb, f776 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f777bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f777bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int32_1pc_bb, f777 >(env, p0);
+    gcall< ttrait_int32_1pc_bb, f777 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f778bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f778bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint32_1pc_bb, f778 >(env, p0);
+    gcall< ttrait_uint32_1pc_bb, f778 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f781bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f781bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_int64_1pc_bb, f781 >(env, p0);
+    gcall< ttrait_int64_1pc_bb, f781 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f782bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f782bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_uint64_1pc_bb, f782 >(env, p0);
+    gcall< ttrait_uint64_1pc_bb, f782 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f783bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f783bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_float_1pc_bb, f783 >(env, p0);
+    gcall< ttrait_float_1pc_bb, f783 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f784bb1(JNIEnv * env, jclass cls, jobject p0) 
 {
     TRACE("void Java_myjapi_MyJapi_f784bb1(JNIEnv *, jclass, jobject)");
-    gcall< ttrait_double_1pc_bb, f784 >(env, p0);
+    gcall< ttrait_double_1pc_bb, f784 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -4932,84 +4932,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f611v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f611v0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0cp_a, f611 >(env);
+    return gcall< ttrait_bool_0cp_a, f611 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f612v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f612v0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0cp_a, f612 >(env);
+    return gcall< ttrait_char_0cp_a, f612 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f613v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f613v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0cp_a, f613 >(env);
+    return gcall< ttrait_int8_0cp_a, f613 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f614v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f614v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0cp_a, f614 >(env);
+    return gcall< ttrait_uint8_0cp_a, f614 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f615v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f615v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0cp_a, f615 >(env);
+    return gcall< ttrait_int16_0cp_a, f615 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f616v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f616v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0cp_a, f616 >(env);
+    return gcall< ttrait_uint16_0cp_a, f616 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f617v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f617v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0cp_a, f617 >(env);
+    return gcall< ttrait_int32_0cp_a, f617 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f618v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f618v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0cp_a, f618 >(env);
+    return gcall< ttrait_uint32_0cp_a, f618 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f621v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f621v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0cp_a, f621 >(env);
+    return gcall< ttrait_int64_0cp_a, f621 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f622v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f622v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0cp_a, f622 >(env);
+    return gcall< ttrait_uint64_0cp_a, f622 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f623v0(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f623v0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0cp_a, f623 >(env);
+    return gcall< ttrait_float_0cp_a, f623 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f624v0(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f624v0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0cp_a, f624 >(env);
+    return gcall< ttrait_double_0cp_a, f624 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5018,84 +5018,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f631v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f631v0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0p_a, f631 >(env);
+    return gcall< ttrait_bool_0p_a, f631 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f632v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f632v0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0p_a, f632 >(env);
+    return gcall< ttrait_char_0p_a, f632 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f633v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f633v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0p_a, f633 >(env);
+    return gcall< ttrait_int8_0p_a, f633 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f634v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f634v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0p_a, f634 >(env);
+    return gcall< ttrait_uint8_0p_a, f634 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f635v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f635v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0p_a, f635 >(env);
+    return gcall< ttrait_int16_0p_a, f635 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f636v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f636v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0p_a, f636 >(env);
+    return gcall< ttrait_uint16_0p_a, f636 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f637v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f637v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0p_a, f637 >(env);
+    return gcall< ttrait_int32_0p_a, f637 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f638v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f638v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0p_a, f638 >(env);
+    return gcall< ttrait_uint32_0p_a, f638 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f641v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f641v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0p_a, f641 >(env);
+    return gcall< ttrait_int64_0p_a, f641 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f642v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f642v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0p_a, f642 >(env);
+    return gcall< ttrait_uint64_0p_a, f642 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f643v0(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f643v0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0p_a, f643 >(env);
+    return gcall< ttrait_float_0p_a, f643 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f644v0(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f644v0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0p_a, f644 >(env);
+    return gcall< ttrait_double_0p_a, f644 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5104,84 +5104,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f651v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f651v0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0cpc_a, f651 >(env);
+    return gcall< ttrait_bool_0cpc_a, f651 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f652v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f652v0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0cpc_a, f652 >(env);
+    return gcall< ttrait_char_0cpc_a, f652 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f653v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f653v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0cpc_a, f653 >(env);
+    return gcall< ttrait_int8_0cpc_a, f653 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f654v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f654v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0cpc_a, f654 >(env);
+    return gcall< ttrait_uint8_0cpc_a, f654 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f655v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f655v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0cpc_a, f655 >(env);
+    return gcall< ttrait_int16_0cpc_a, f655 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f656v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f656v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0cpc_a, f656 >(env);
+    return gcall< ttrait_uint16_0cpc_a, f656 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f657v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f657v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0cpc_a, f657 >(env);
+    return gcall< ttrait_int32_0cpc_a, f657 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f658v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f658v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0cpc_a, f658 >(env);
+    return gcall< ttrait_uint32_0cpc_a, f658 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f661v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f661v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0cpc_a, f661 >(env);
+    return gcall< ttrait_int64_0cpc_a, f661 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f662v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f662v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0cpc_a, f662 >(env);
+    return gcall< ttrait_uint64_0cpc_a, f662 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f663v0(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f663v0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0cpc_a, f663 >(env);
+    return gcall< ttrait_float_0cpc_a, f663 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f664v0(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f664v0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0cpc_a, f664 >(env);
+    return gcall< ttrait_double_0cpc_a, f664 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5190,84 +5190,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f671v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f671v0(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_0pc_a, f671 >(env);
+    return gcall< ttrait_bool_0pc_a, f671 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f672v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f672v0(JNIEnv *, jclass)");
-    return gcall< ttrait_char_0pc_a, f672 >(env);
+    return gcall< ttrait_char_0pc_a, f672 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f673v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f673v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_0pc_a, f673 >(env);
+    return gcall< ttrait_int8_0pc_a, f673 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f674v0(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f674v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_0pc_a, f674 >(env);
+    return gcall< ttrait_uint8_0pc_a, f674 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f675v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f675v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_0pc_a, f675 >(env);
+    return gcall< ttrait_int16_0pc_a, f675 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f676v0(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f676v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_0pc_a, f676 >(env);
+    return gcall< ttrait_uint16_0pc_a, f676 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f677v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f677v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_0pc_a, f677 >(env);
+    return gcall< ttrait_int32_0pc_a, f677 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f678v0(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f678v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_0pc_a, f678 >(env);
+    return gcall< ttrait_uint32_0pc_a, f678 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f681v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f681v0(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_0pc_a, f681 >(env);
+    return gcall< ttrait_int64_0pc_a, f681 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f682v0(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f682v0(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_0pc_a, f682 >(env);
+    return gcall< ttrait_uint64_0pc_a, f682 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f683v0(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f683v0(JNIEnv *, jclass)");
-    return gcall< ttrait_float_0pc_a, f683 >(env);
+    return gcall< ttrait_float_0pc_a, f683 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f684v0(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f684v0(JNIEnv *, jclass)");
-    return gcall< ttrait_double_0pc_a, f684 >(env);
+    return gcall< ttrait_double_0pc_a, f684 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5276,84 +5276,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f711v0(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f711v0(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_0cp_a, f711 >(env, p0);
+    gcall< ttrait_bool_0cp_a, f711 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f712v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f712v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_0cp_a, f712 >(env, p0);
+    gcall< ttrait_char_0cp_a, f712 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f713v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f713v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_0cp_a, f713 >(env, p0);
+    gcall< ttrait_int8_0cp_a, f713 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f714v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f714v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_0cp_a, f714 >(env, p0);
+    gcall< ttrait_uint8_0cp_a, f714 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f715v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f715v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_0cp_a, f715 >(env, p0);
+    gcall< ttrait_int16_0cp_a, f715 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f716v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f716v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_0cp_a, f716 >(env, p0);
+    gcall< ttrait_uint16_0cp_a, f716 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f717v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f717v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_0cp_a, f717 >(env, p0);
+    gcall< ttrait_int32_0cp_a, f717 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f718v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f718v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_0cp_a, f718 >(env, p0);
+    gcall< ttrait_uint32_0cp_a, f718 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f721v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f721v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_0cp_a, f721 >(env, p0);
+    gcall< ttrait_int64_0cp_a, f721 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f722v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f722v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_0cp_a, f722 >(env, p0);
+    gcall< ttrait_uint64_0cp_a, f722 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f723v0(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f723v0(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_0cp_a, f723 >(env, p0);
+    gcall< ttrait_float_0cp_a, f723 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f724v0(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f724v0(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_0cp_a, f724 >(env, p0);
+    gcall< ttrait_double_0cp_a, f724 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -5362,84 +5362,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f731v0(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f731v0(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_0p_a, f731 >(env, p0);
+    gcall< ttrait_bool_0p_a, f731 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f732v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f732v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_0p_a, f732 >(env, p0);
+    gcall< ttrait_char_0p_a, f732 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f733v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f733v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_0p_a, f733 >(env, p0);
+    gcall< ttrait_int8_0p_a, f733 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f734v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f734v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_0p_a, f734 >(env, p0);
+    gcall< ttrait_uint8_0p_a, f734 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f735v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f735v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_0p_a, f735 >(env, p0);
+    gcall< ttrait_int16_0p_a, f735 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f736v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f736v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_0p_a, f736 >(env, p0);
+    gcall< ttrait_uint16_0p_a, f736 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f737v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f737v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_0p_a, f737 >(env, p0);
+    gcall< ttrait_int32_0p_a, f737 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f738v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f738v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_0p_a, f738 >(env, p0);
+    gcall< ttrait_uint32_0p_a, f738 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f741v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f741v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_0p_a, f741 >(env, p0);
+    gcall< ttrait_int64_0p_a, f741 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f742v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f742v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_0p_a, f742 >(env, p0);
+    gcall< ttrait_uint64_0p_a, f742 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f743v0(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f743v0(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_0p_a, f743 >(env, p0);
+    gcall< ttrait_float_0p_a, f743 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f744v0(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f744v0(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_0p_a, f744 >(env, p0);
+    gcall< ttrait_double_0p_a, f744 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -5448,84 +5448,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f751v0(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f751v0(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_0cpc_a, f751 >(env, p0);
+    gcall< ttrait_bool_0cpc_a, f751 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f752v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f752v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_0cpc_a, f752 >(env, p0);
+    gcall< ttrait_char_0cpc_a, f752 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f753v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f753v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_0cpc_a, f753 >(env, p0);
+    gcall< ttrait_int8_0cpc_a, f753 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f754v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f754v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_0cpc_a, f754 >(env, p0);
+    gcall< ttrait_uint8_0cpc_a, f754 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f755v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f755v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_0cpc_a, f755 >(env, p0);
+    gcall< ttrait_int16_0cpc_a, f755 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f756v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f756v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_0cpc_a, f756 >(env, p0);
+    gcall< ttrait_uint16_0cpc_a, f756 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f757v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f757v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_0cpc_a, f757 >(env, p0);
+    gcall< ttrait_int32_0cpc_a, f757 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f758v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f758v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_0cpc_a, f758 >(env, p0);
+    gcall< ttrait_uint32_0cpc_a, f758 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f761v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f761v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_0cpc_a, f761 >(env, p0);
+    gcall< ttrait_int64_0cpc_a, f761 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f762v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f762v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_0cpc_a, f762 >(env, p0);
+    gcall< ttrait_uint64_0cpc_a, f762 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f763v0(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f763v0(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_0cpc_a, f763 >(env, p0);
+    gcall< ttrait_float_0cpc_a, f763 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f764v0(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f764v0(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_0cpc_a, f764 >(env, p0);
+    gcall< ttrait_double_0cpc_a, f764 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -5534,84 +5534,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f771v0(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f771v0(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_0pc_a, f771 >(env, p0);
+    gcall< ttrait_bool_0pc_a, f771 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f772v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f772v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_0pc_a, f772 >(env, p0);
+    gcall< ttrait_char_0pc_a, f772 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f773v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f773v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_0pc_a, f773 >(env, p0);
+    gcall< ttrait_int8_0pc_a, f773 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f774v0(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f774v0(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_0pc_a, f774 >(env, p0);
+    gcall< ttrait_uint8_0pc_a, f774 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f775v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f775v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_0pc_a, f775 >(env, p0);
+    gcall< ttrait_int16_0pc_a, f775 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f776v0(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f776v0(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_0pc_a, f776 >(env, p0);
+    gcall< ttrait_uint16_0pc_a, f776 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f777v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f777v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_0pc_a, f777 >(env, p0);
+    gcall< ttrait_int32_0pc_a, f777 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f778v0(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f778v0(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_0pc_a, f778 >(env, p0);
+    gcall< ttrait_uint32_0pc_a, f778 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f781v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f781v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_0pc_a, f781 >(env, p0);
+    gcall< ttrait_int64_0pc_a, f781 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f782v0(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f782v0(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_0pc_a, f782 >(env, p0);
+    gcall< ttrait_uint64_0pc_a, f782 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f783v0(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f783v0(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_0pc_a, f783 >(env, p0);
+    gcall< ttrait_float_0pc_a, f783 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f784v0(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f784v0(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_0pc_a, f784 >(env, p0);
+    gcall< ttrait_double_0pc_a, f784 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -5620,84 +5620,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f611v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f611v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cp_a, f611 >(env);
+    return gcall< ttrait_bool_1cp_a, f611 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f612v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f612v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cp_a, f612 >(env);
+    return gcall< ttrait_char_1cp_a, f612 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f613v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f613v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cp_a, f613 >(env);
+    return gcall< ttrait_int8_1cp_a, f613 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f614v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f614v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cp_a, f614 >(env);
+    return gcall< ttrait_uint8_1cp_a, f614 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f615v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f615v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cp_a, f615 >(env);
+    return gcall< ttrait_int16_1cp_a, f615 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f616v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f616v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cp_a, f616 >(env);
+    return gcall< ttrait_uint16_1cp_a, f616 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f617v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f617v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cp_a, f617 >(env);
+    return gcall< ttrait_int32_1cp_a, f617 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f618v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f618v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cp_a, f618 >(env);
+    return gcall< ttrait_uint32_1cp_a, f618 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f621v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f621v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cp_a, f621 >(env);
+    return gcall< ttrait_int64_1cp_a, f621 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f622v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f622v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cp_a, f622 >(env);
+    return gcall< ttrait_uint64_1cp_a, f622 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f623v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f623v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cp_a, f623 >(env);
+    return gcall< ttrait_float_1cp_a, f623 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f624v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f624v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cp_a, f624 >(env);
+    return gcall< ttrait_double_1cp_a, f624 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5706,84 +5706,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f631v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f631v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1p_a, f631 >(env);
+    return gcall< ttrait_bool_1p_a, f631 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f632v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f632v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1p_a, f632 >(env);
+    return gcall< ttrait_char_1p_a, f632 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f633v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f633v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1p_a, f633 >(env);
+    return gcall< ttrait_int8_1p_a, f633 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f634v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f634v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1p_a, f634 >(env);
+    return gcall< ttrait_uint8_1p_a, f634 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f635v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f635v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1p_a, f635 >(env);
+    return gcall< ttrait_int16_1p_a, f635 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f636v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f636v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1p_a, f636 >(env);
+    return gcall< ttrait_uint16_1p_a, f636 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f637v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f637v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1p_a, f637 >(env);
+    return gcall< ttrait_int32_1p_a, f637 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f638v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f638v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1p_a, f638 >(env);
+    return gcall< ttrait_uint32_1p_a, f638 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f641v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f641v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1p_a, f641 >(env);
+    return gcall< ttrait_int64_1p_a, f641 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f642v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f642v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1p_a, f642 >(env);
+    return gcall< ttrait_uint64_1p_a, f642 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f643v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f643v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1p_a, f643 >(env);
+    return gcall< ttrait_float_1p_a, f643 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f644v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f644v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1p_a, f644 >(env);
+    return gcall< ttrait_double_1p_a, f644 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5792,84 +5792,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f651v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f651v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1cpc_a, f651 >(env);
+    return gcall< ttrait_bool_1cpc_a, f651 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f652v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f652v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1cpc_a, f652 >(env);
+    return gcall< ttrait_char_1cpc_a, f652 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f653v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f653v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1cpc_a, f653 >(env);
+    return gcall< ttrait_int8_1cpc_a, f653 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f654v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f654v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1cpc_a, f654 >(env);
+    return gcall< ttrait_uint8_1cpc_a, f654 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f655v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f655v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1cpc_a, f655 >(env);
+    return gcall< ttrait_int16_1cpc_a, f655 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f656v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f656v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1cpc_a, f656 >(env);
+    return gcall< ttrait_uint16_1cpc_a, f656 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f657v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f657v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1cpc_a, f657 >(env);
+    return gcall< ttrait_int32_1cpc_a, f657 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f658v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f658v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1cpc_a, f658 >(env);
+    return gcall< ttrait_uint32_1cpc_a, f658 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f661v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f661v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1cpc_a, f661 >(env);
+    return gcall< ttrait_int64_1cpc_a, f661 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f662v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f662v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1cpc_a, f662 >(env);
+    return gcall< ttrait_uint64_1cpc_a, f662 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f663v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f663v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1cpc_a, f663 >(env);
+    return gcall< ttrait_float_1cpc_a, f663 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f664v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f664v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1cpc_a, f664 >(env);
+    return gcall< ttrait_double_1cpc_a, f664 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5878,84 +5878,84 @@ JNIEXPORT jbooleanArray JNICALL
 Java_myjapi_MyJapi_f671v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbooleanArray Java_myjapi_MyJapi_f671v1(JNIEnv *, jclass)");
-    return gcall< ttrait_bool_1pc_a, f671 >(env);
+    return gcall< ttrait_bool_1pc_a, f671 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f672v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f672v1(JNIEnv *, jclass)");
-    return gcall< ttrait_char_1pc_a, f672 >(env);
+    return gcall< ttrait_char_1pc_a, f672 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f673v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f673v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int8_1pc_a, f673 >(env);
+    return gcall< ttrait_int8_1pc_a, f673 >(env, cls);
 }
 
 JNIEXPORT jbyteArray JNICALL
 Java_myjapi_MyJapi_f674v1(JNIEnv * env, jclass cls)
 {
     TRACE("jbyteArray Java_myjapi_MyJapi_f674v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint8_1pc_a, f674 >(env);
+    return gcall< ttrait_uint8_1pc_a, f674 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f675v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f675v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int16_1pc_a, f675 >(env);
+    return gcall< ttrait_int16_1pc_a, f675 >(env, cls);
 }
 
 JNIEXPORT jshortArray JNICALL
 Java_myjapi_MyJapi_f676v1(JNIEnv * env, jclass cls)
 {
     TRACE("jshortArray Java_myjapi_MyJapi_f676v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint16_1pc_a, f676 >(env);
+    return gcall< ttrait_uint16_1pc_a, f676 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f677v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f677v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int32_1pc_a, f677 >(env);
+    return gcall< ttrait_int32_1pc_a, f677 >(env, cls);
 }
 
 JNIEXPORT jintArray JNICALL
 Java_myjapi_MyJapi_f678v1(JNIEnv * env, jclass cls)
 {
     TRACE("jintArray Java_myjapi_MyJapi_f678v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint32_1pc_a, f678 >(env);
+    return gcall< ttrait_uint32_1pc_a, f678 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f681v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f681v1(JNIEnv *, jclass)");
-    return gcall< ttrait_int64_1pc_a, f681 >(env);
+    return gcall< ttrait_int64_1pc_a, f681 >(env, cls);
 }
 
 JNIEXPORT jlongArray JNICALL
 Java_myjapi_MyJapi_f682v1(JNIEnv * env, jclass cls)
 {
     TRACE("jlongArray Java_myjapi_MyJapi_f682v1(JNIEnv *, jclass)");
-    return gcall< ttrait_uint64_1pc_a, f682 >(env);
+    return gcall< ttrait_uint64_1pc_a, f682 >(env, cls);
 }
 
 JNIEXPORT jfloatArray JNICALL
 Java_myjapi_MyJapi_f683v1(JNIEnv * env, jclass cls)
 {
     TRACE("jfloatArray Java_myjapi_MyJapi_f683v1(JNIEnv *, jclass)");
-    return gcall< ttrait_float_1pc_a, f683 >(env);
+    return gcall< ttrait_float_1pc_a, f683 >(env, cls);
 }
 
 JNIEXPORT jdoubleArray JNICALL
 Java_myjapi_MyJapi_f684v1(JNIEnv * env, jclass cls)
 {
     TRACE("jdoubleArray Java_myjapi_MyJapi_f684v1(JNIEnv *, jclass)");
-    return gcall< ttrait_double_1pc_a, f684 >(env);
+    return gcall< ttrait_double_1pc_a, f684 >(env, cls);
 }
 
 // ---------------------------------------------------------------------------
@@ -5964,84 +5964,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f711v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f711v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1cp_a, f711 >(env, p0);
+    gcall< ttrait_bool_1cp_a, f711 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f712v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f712v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1cp_a, f712 >(env, p0);
+    gcall< ttrait_char_1cp_a, f712 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f713v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f713v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1cp_a, f713 >(env, p0);
+    gcall< ttrait_int8_1cp_a, f713 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f714v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f714v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1cp_a, f714 >(env, p0);
+    gcall< ttrait_uint8_1cp_a, f714 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f715v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f715v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1cp_a, f715 >(env, p0);
+    gcall< ttrait_int16_1cp_a, f715 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f716v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f716v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1cp_a, f716 >(env, p0);
+    gcall< ttrait_uint16_1cp_a, f716 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f717v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f717v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1cp_a, f717 >(env, p0);
+    gcall< ttrait_int32_1cp_a, f717 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f718v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f718v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1cp_a, f718 >(env, p0);
+    gcall< ttrait_uint32_1cp_a, f718 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f721v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f721v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1cp_a, f721 >(env, p0);
+    gcall< ttrait_int64_1cp_a, f721 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f722v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f722v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1cp_a, f722 >(env, p0);
+    gcall< ttrait_uint64_1cp_a, f722 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f723v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f723v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1cp_a, f723 >(env, p0);
+    gcall< ttrait_float_1cp_a, f723 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f724v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f724v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1cp_a, f724 >(env, p0);
+    gcall< ttrait_double_1cp_a, f724 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6050,84 +6050,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f731v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f731v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1p_a, f731 >(env, p0);
+    gcall< ttrait_bool_1p_a, f731 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f732v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f732v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1p_a, f732 >(env, p0);
+    gcall< ttrait_char_1p_a, f732 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f733v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f733v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1p_a, f733 >(env, p0);
+    gcall< ttrait_int8_1p_a, f733 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f734v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f734v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1p_a, f734 >(env, p0);
+    gcall< ttrait_uint8_1p_a, f734 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f735v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f735v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1p_a, f735 >(env, p0);
+    gcall< ttrait_int16_1p_a, f735 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f736v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f736v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1p_a, f736 >(env, p0);
+    gcall< ttrait_uint16_1p_a, f736 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f737v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f737v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1p_a, f737 >(env, p0);
+    gcall< ttrait_int32_1p_a, f737 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f738v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f738v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1p_a, f738 >(env, p0);
+    gcall< ttrait_uint32_1p_a, f738 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f741v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f741v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1p_a, f741 >(env, p0);
+    gcall< ttrait_int64_1p_a, f741 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f742v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f742v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1p_a, f742 >(env, p0);
+    gcall< ttrait_uint64_1p_a, f742 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f743v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f743v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1p_a, f743 >(env, p0);
+    gcall< ttrait_float_1p_a, f743 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f744v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f744v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1p_a, f744 >(env, p0);
+    gcall< ttrait_double_1p_a, f744 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6136,84 +6136,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f751v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f751v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1cpc_a, f751 >(env, p0);
+    gcall< ttrait_bool_1cpc_a, f751 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f752v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f752v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1cpc_a, f752 >(env, p0);
+    gcall< ttrait_char_1cpc_a, f752 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f753v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f753v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1cpc_a, f753 >(env, p0);
+    gcall< ttrait_int8_1cpc_a, f753 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f754v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f754v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1cpc_a, f754 >(env, p0);
+    gcall< ttrait_uint8_1cpc_a, f754 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f755v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f755v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1cpc_a, f755 >(env, p0);
+    gcall< ttrait_int16_1cpc_a, f755 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f756v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f756v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1cpc_a, f756 >(env, p0);
+    gcall< ttrait_uint16_1cpc_a, f756 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f757v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f757v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1cpc_a, f757 >(env, p0);
+    gcall< ttrait_int32_1cpc_a, f757 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f758v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f758v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1cpc_a, f758 >(env, p0);
+    gcall< ttrait_uint32_1cpc_a, f758 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f761v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f761v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1cpc_a, f761 >(env, p0);
+    gcall< ttrait_int64_1cpc_a, f761 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f762v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f762v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1cpc_a, f762 >(env, p0);
+    gcall< ttrait_uint64_1cpc_a, f762 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f763v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f763v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1cpc_a, f763 >(env, p0);
+    gcall< ttrait_float_1cpc_a, f763 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f764v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f764v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1cpc_a, f764 >(env, p0);
+    gcall< ttrait_double_1cpc_a, f764 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6222,84 +6222,84 @@ JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f771v1(JNIEnv * env, jclass cls, jbooleanArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f771v1(JNIEnv *, jclass, jbooleanArray)");
-    gcall< ttrait_bool_1pc_a, f771 >(env, p0);
+    gcall< ttrait_bool_1pc_a, f771 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f772v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f772v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_char_1pc_a, f772 >(env, p0);
+    gcall< ttrait_char_1pc_a, f772 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f773v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f773v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_int8_1pc_a, f773 >(env, p0);
+    gcall< ttrait_int8_1pc_a, f773 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f774v1(JNIEnv * env, jclass cls, jbyteArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f774v1(JNIEnv *, jclass, jbyteArray)");
-    gcall< ttrait_uint8_1pc_a, f774 >(env, p0);
+    gcall< ttrait_uint8_1pc_a, f774 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f775v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f775v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_int16_1pc_a, f775 >(env, p0);
+    gcall< ttrait_int16_1pc_a, f775 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f776v1(JNIEnv * env, jclass cls, jshortArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f776v1(JNIEnv *, jclass, jshortArray)");
-    gcall< ttrait_uint16_1pc_a, f776 >(env, p0);
+    gcall< ttrait_uint16_1pc_a, f776 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f777v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f777v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_int32_1pc_a, f777 >(env, p0);
+    gcall< ttrait_int32_1pc_a, f777 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f778v1(JNIEnv * env, jclass cls, jintArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f778v1(JNIEnv *, jclass, jintArray)");
-    gcall< ttrait_uint32_1pc_a, f778 >(env, p0);
+    gcall< ttrait_uint32_1pc_a, f778 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f781v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f781v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_int64_1pc_a, f781 >(env, p0);
+    gcall< ttrait_int64_1pc_a, f781 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f782v1(JNIEnv * env, jclass cls, jlongArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f782v1(JNIEnv *, jclass, jlongArray)");
-    gcall< ttrait_uint64_1pc_a, f782 >(env, p0);
+    gcall< ttrait_uint64_1pc_a, f782 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f783v1(JNIEnv * env, jclass cls, jfloatArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f783v1(JNIEnv *, jclass, jfloatArray)");
-    gcall< ttrait_float_1pc_a, f783 >(env, p0);
+    gcall< ttrait_float_1pc_a, f783 >(env, cls, p0);
 }
 
 JNIEXPORT void JNICALL
 Java_myjapi_MyJapi_f784v1(JNIEnv * env, jclass cls, jdoubleArray p0)
 {
     TRACE("void Java_myjapi_MyJapi_f784v1(JNIEnv *, jclass, jdoubleArray)");
-    gcall< ttrait_double_1pc_a, f784 >(env, p0);
+    gcall< ttrait_double_1pc_a, f784 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapiCtypes.hpp'
--- a/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapiCtypes.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/jtie/test/myjapi/myjapi_MyJapiCtypes.hpp	2009-11-04 17:28:51 +0000
@@ -47,105 +47,105 @@ JNIEXPORT jboolean JNICALL
 Java_myjapi_MyJapiCtypes_f11(JNIEnv * env, jclass cls, jboolean p0)
 {
     TRACE("jboolean Java_myjapi_MyJapiCtypes_f11(JNIEnv *, jclass, jboolean)");
-    return gcall< ttrait_bool_c, ttrait_bool_c, f11 >(env, p0);
+    return gcall< ttrait_bool_c, ttrait_bool_c, f11 >(env, cls, p0);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapiCtypes_f12(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jbyte Java_myjapi_MyJapiCtypes_f12(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_char_c, ttrait_char_c, f12 >(env, p0);
+    return gcall< ttrait_char_c, ttrait_char_c, f12 >(env, cls, p0);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapiCtypes_f13(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jbyte Java_myjapi_MyJapiCtypes_f13(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_int8_c, ttrait_int8_c, f13 >(env, p0);
+    return gcall< ttrait_int8_c, ttrait_int8_c, f13 >(env, cls, p0);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapiCtypes_f14(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jbyte Java_myjapi_MyJapiCtypes_f14(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_uint8_c, ttrait_uint8_c, f14 >(env, p0);
+    return gcall< ttrait_uint8_c, ttrait_uint8_c, f14 >(env, cls, p0);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapiCtypes_f15(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("jshort Java_myjapi_MyJapiCtypes_f15(JNIEnv *, jclass, jshort)");
-    return gcall< ttrait_int16_c, ttrait_int16_c, f15 >(env, p0);
+    return gcall< ttrait_int16_c, ttrait_int16_c, f15 >(env, cls, p0);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapiCtypes_f16(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("jshort Java_myjapi_MyJapiCtypes_f16(JNIEnv *, jclass, jshort)");
-    return gcall< ttrait_uint16_c, ttrait_uint16_c, f16 >(env, p0);
+    return gcall< ttrait_uint16_c, ttrait_uint16_c, f16 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f17(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f17(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_int32_c, ttrait_int32_c, f17 >(env, p0);
+    return gcall< ttrait_int32_c, ttrait_int32_c, f17 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f18(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f18(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_uint32_c, ttrait_uint32_c, f18 >(env, p0);
+    return gcall< ttrait_uint32_c, ttrait_uint32_c, f18 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f19(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f19(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_long_c, ttrait_long_c, f19 >(env, p0);
+    return gcall< ttrait_long_c, ttrait_long_c, f19 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f20(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f20(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_ulong_c, ttrait_ulong_c, f20 >(env, p0);
+    return gcall< ttrait_ulong_c, ttrait_ulong_c, f20 >(env, cls, p0);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapiCtypes_f21(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("jlong Java_myjapi_MyJapiCtypes_f21(JNIEnv *, jclass, jlong)");
-    return gcall< ttrait_int64_c, ttrait_int64_c, f21 >(env, p0);
+    return gcall< ttrait_int64_c, ttrait_int64_c, f21 >(env, cls, p0);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapiCtypes_f22(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("jlong Java_myjapi_MyJapiCtypes_f22(JNIEnv *, jclass, jlong)");
-    return gcall< ttrait_uint64_c, ttrait_uint64_c, f22 >(env, p0);
+    return gcall< ttrait_uint64_c, ttrait_uint64_c, f22 >(env, cls, p0);
 }
 
 JNIEXPORT jfloat JNICALL
 Java_myjapi_MyJapiCtypes_f23(JNIEnv * env, jclass cls, jfloat p0)
 {
     TRACE("jfloat Java_myjapi_MyJapiCtypes_f23(JNIEnv *, jclass, jfloat)");
-    return gcall< ttrait_float_c, ttrait_float_c, f23 >(env, p0);
+    return gcall< ttrait_float_c, ttrait_float_c, f23 >(env, cls, p0);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapiCtypes_f24(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("jdouble Java_myjapi_MyJapiCtypes_f24(JNIEnv *, jclass, jdouble)");
-    return gcall< ttrait_double_c, ttrait_double_c, f24 >(env, p0);
+    return gcall< ttrait_double_c, ttrait_double_c, f24 >(env, cls, p0);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapiCtypes_f25(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("jdouble Java_myjapi_MyJapiCtypes_f25(JNIEnv *, jclass, jdouble)");
-    return gcall< ttrait_longdouble_c, ttrait_longdouble_c, f25 >(env, p0);
+    return gcall< ttrait_longdouble_c, ttrait_longdouble_c, f25 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -154,105 +154,105 @@ JNIEXPORT jboolean JNICALL
 Java_myjapi_MyJapiCtypes_f31(JNIEnv * env, jclass cls, jboolean p0)
 {
     TRACE("jboolean Java_myjapi_MyJapiCtypes_f31(JNIEnv *, jclass, jboolean)");
-    return gcall< ttrait_bool, ttrait_bool, f31 >(env, p0);
+    return gcall< ttrait_bool, ttrait_bool, f31 >(env, cls, p0);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapiCtypes_f32(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jbyte Java_myjapi_MyJapiCtypes_f32(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_char, ttrait_char, f32 >(env, p0);
+    return gcall< ttrait_char, ttrait_char, f32 >(env, cls, p0);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapiCtypes_f33(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jbyte Java_myjapi_MyJapiCtypes_f33(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_int8, ttrait_int8, f33 >(env, p0);
+    return gcall< ttrait_int8, ttrait_int8, f33 >(env, cls, p0);
 }
 
 JNIEXPORT jbyte JNICALL
 Java_myjapi_MyJapiCtypes_f34(JNIEnv * env, jclass cls, jbyte p0)
 {
     TRACE("jbyte Java_myjapi_MyJapiCtypes_f34(JNIEnv *, jclass, jbyte)");
-    return gcall< ttrait_uint8, ttrait_uint8, f34 >(env, p0);
+    return gcall< ttrait_uint8, ttrait_uint8, f34 >(env, cls, p0);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapiCtypes_f35(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("jshort Java_myjapi_MyJapiCtypes_f35(JNIEnv *, jclass, jshort)");
-    return gcall< ttrait_int16, ttrait_int16, f35 >(env, p0);
+    return gcall< ttrait_int16, ttrait_int16, f35 >(env, cls, p0);
 }
 
 JNIEXPORT jshort JNICALL
 Java_myjapi_MyJapiCtypes_f36(JNIEnv * env, jclass cls, jshort p0)
 {
     TRACE("jshort Java_myjapi_MyJapiCtypes_f36(JNIEnv *, jclass, jshort)");
-    return gcall< ttrait_uint16, ttrait_uint16, f36 >(env, p0);
+    return gcall< ttrait_uint16, ttrait_uint16, f36 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f37(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f37(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_int32, ttrait_int32, f37 >(env, p0);
+    return gcall< ttrait_int32, ttrait_int32, f37 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f38(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f38(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_uint32, ttrait_uint32, f38 >(env, p0);
+    return gcall< ttrait_uint32, ttrait_uint32, f38 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f39(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f39(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_long, ttrait_long, f39 >(env, p0);
+    return gcall< ttrait_long, ttrait_long, f39 >(env, cls, p0);
 }
 
 JNIEXPORT jint JNICALL
 Java_myjapi_MyJapiCtypes_f40(JNIEnv * env, jclass cls, jint p0)
 {
     TRACE("jint Java_myjapi_MyJapiCtypes_f40(JNIEnv *, jclass, jint)");
-    return gcall< ttrait_ulong, ttrait_ulong, f40 >(env, p0);
+    return gcall< ttrait_ulong, ttrait_ulong, f40 >(env, cls, p0);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapiCtypes_f41(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("jlong Java_myjapi_MyJapiCtypes_f41(JNIEnv *, jclass, jlong)");
-    return gcall< ttrait_int64, ttrait_int64, f41 >(env, p0);
+    return gcall< ttrait_int64, ttrait_int64, f41 >(env, cls, p0);
 }
 
 JNIEXPORT jlong JNICALL
 Java_myjapi_MyJapiCtypes_f42(JNIEnv * env, jclass cls, jlong p0)
 {
     TRACE("jlong Java_myjapi_MyJapiCtypes_f42(JNIEnv *, jclass, jlong)");
-    return gcall< ttrait_uint64, ttrait_uint64, f42 >(env, p0);
+    return gcall< ttrait_uint64, ttrait_uint64, f42 >(env, cls, p0);
 }
 
 JNIEXPORT jfloat JNICALL
 Java_myjapi_MyJapiCtypes_f43(JNIEnv * env, jclass cls, jfloat p0)
 {
     TRACE("jfloat Java_myjapi_MyJapiCtypes_f43(JNIEnv *, jclass, jfloat)");
-    return gcall< ttrait_float, ttrait_float, f43 >(env, p0);
+    return gcall< ttrait_float, ttrait_float, f43 >(env, cls, p0);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapiCtypes_f44(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("jdouble Java_myjapi_MyJapiCtypes_f44(JNIEnv *, jclass, jdouble)");
-    return gcall< ttrait_double, ttrait_double, f44 >(env, p0);
+    return gcall< ttrait_double, ttrait_double, f44 >(env, cls, p0);
 }
 
 JNIEXPORT jdouble JNICALL
 Java_myjapi_MyJapiCtypes_f45(JNIEnv * env, jclass cls, jdouble p0)
 {
     TRACE("jdouble Java_myjapi_MyJapiCtypes_f45(JNIEnv * env, jclass cls, jdouble)");
-    return gcall< ttrait_longdouble, ttrait_longdouble, f45 >(env, p0);
+    return gcall< ttrait_longdouble, ttrait_longdouble, f45 >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbBlob.java'
--- a/storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbBlob.java	2009-09-18 20:40:07 +0000
+++ b/storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbBlob.java	2009-11-04 17:28:51 +0000
@@ -38,12 +38,12 @@ public class NdbBlob extends Wrapper imp
             Invalid = 9;
     }
     public final native int/*_State_*/ getState();
-    public final native void getVersion(int[]/*_int &_*/ version);
+    // MMM! support variable-width type non-const references or check if needed: public final native void getVersion(int[]/*_int &_*/ version);
     public final native int getValue(ByteBuffer/*_void *_*/ data, int/*_Uint32_*/ bytes);
     public final native int setValue(ByteBuffer/*_const void *_*/ data, int/*_Uint32_*/ bytes);
     // MMM no need to map: public final native typedef int ActiveHook(NdbBlob/*_NdbBlob *_*/ me, ByteBuffer/*_void *_*/ arg);
     // MMM no need to map: public final native int setActiveHook(ActiveHook/*_ActiveHook *_*/ activeHook, ByteBuffer/*_void *_*/ arg);
-    public final native int getNull(int[]/*_int &_*/ isNull);
+    // MMM! support variable-width type non-const references or check if needed: public final native int getNull(int[]/*_int &_*/ isNull);
     public final native int setNull();
     public final native int getLength(long[]/*_Uint64 &_*/ length);
     public final native int truncate(long/*_Uint64_*/ length /*_= 0_*/);

=== modified file 'storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttr.java'
--- a/storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttr.java	2009-09-18 20:40:07 +0000
+++ b/storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttr.java	2009-11-04 17:28:51 +0000
@@ -35,7 +35,7 @@ public class NdbRecAttr extends Wrapper 
     public final native int/*_Int32_*/ int32_value() /*_const_*/;
     public final native int/*_Int32_*/ medium_value() /*_const_*/;
     public final native short short_value() /*_const_*/;
-    public final native char char_value() /*_const_*/;
+    public final native byte char_value() /*_const_*/;
     public final native byte/*_Int8_*/ int8_value() /*_const_*/;
     public final native long/*_Uint64_*/ u_64_value() /*_const_*/;
     public final native int/*_Uint32_*/ u_32_value() /*_const_*/;

=== modified file 'storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttrConst.java'
--- a/storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttrConst.java	2009-09-18 20:40:07 +0000
+++ b/storage/ndb/ndbjtie/src/com/mysql/ndbjtie/ndbapi/NdbRecAttrConst.java	2009-11-04 17:28:51 +0000
@@ -35,7 +35,7 @@ public interface NdbRecAttrConst
     int/*_Int32_*/ int32_value() /*_const_*/;
     int/*_Int32_*/ medium_value() /*_const_*/;
     short short_value() /*_const_*/;
-    char char_value() /*_const_*/;
+    byte char_value() /*_const_*/;
     byte/*_Int8_*/ int8_value() /*_const_*/;
     long/*_Uint64_*/ u_64_value() /*_const_*/;
     int/*_Uint32_*/ u_32_value() /*_const_*/;

=== modified file 'storage/ndb/ndbjtie/src/mysql_jtie.hpp'
--- a/storage/ndb/ndbjtie/src/mysql_jtie.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/src/mysql_jtie.hpp	2009-11-04 17:28:51 +0000
@@ -74,7 +74,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_mysql_Utils_decimal_1str2bin(JNIEnv * env, jclass cls, jobject p0, jint p1, jint p2, jint p3, jobject p4, jint p5) 
 {
     TRACE("jint Java_com_mysql_ndbjtie_mysql_Utils_decimal_1str2bin(JNIEnv *, jclass, jobject, jint, jint, jint, jobject, jint)");
-    return gcall< ttrait_int, ttrait_char_0cp_bb, ttrait_int, ttrait_int, ttrait_int, ttrait_void_0p_bb, ttrait_int, &::decimal_str2bin >(env, p0, p1, p2, p3, p4, p5);
+    return gcall< ttrait_int, ttrait_char_0cp_bb, ttrait_int, ttrait_int, ttrait_int, ttrait_void_0p_bb, ttrait_int, &::decimal_str2bin >(env, cls, p0, p1, p2, p3, p4, p5);
 }
     
 /*
@@ -86,7 +86,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_mysql_Utils_decimal_1bin2str(JNIEnv * env, jclass cls, jobject p0, jint p1, jint p2, jint p3, jobject p4, jint p5) 
 {
     TRACE("jint Java_com_mysql_ndbjtie_mysql_Utils_decimal_1bin2str(JNIEnv *, jclass, jobject, jint, jint, jint, jobject, jint)");
-    return gcall< ttrait_int, ttrait_void_0cp_bb, ttrait_int, ttrait_int, ttrait_int, ttrait_char_0p_bb, ttrait_int, &::decimal_bin2str >(env, p0, p1, p2, p3, p4, p5);
+    return gcall< ttrait_int, ttrait_void_0cp_bb, ttrait_int, ttrait_int, ttrait_int, ttrait_char_0p_bb, ttrait_int, &::decimal_bin2str >(env, cls, p0, p1, p2, p3, p4, p5);
 }
 
 // ---------------------------------------------------------------------------

=== modified file 'storage/ndb/ndbjtie/src/ndbapi_jtie.hpp'
--- a/storage/ndb/ndbjtie/src/ndbapi_jtie.hpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/src/ndbapi_jtie.hpp	2009-11-04 17:28:51 +0000
@@ -209,7 +209,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NDBAPI_create_1instance(JNIEnv * env, jclass cls, jobject p0, jint p1, jint p2, jint p3)
 {
     TRACE("jboolean Java_com_mysql_ndbjtie_ndbapi_NDBAPI_create_1instance(JNIEnv *, jclass, jobject, jint, jint, jint)");
-    return gcall< ttrait_bool, ttrait_c_m_n_n_Ndb_cluster_connection_p, ttrait_uint32, ttrait_uint32, ttrait_uint32, &::create_instance >(env, p0, p1, p2, p3);
+    return gcall< ttrait_bool, ttrait_c_m_n_n_Ndb_cluster_connection_p, ttrait_uint32, ttrait_uint32, ttrait_uint32, &::create_instance >(env, cls, p0, p1, p2, p3);
 }
 
 /*
@@ -221,7 +221,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NDBAPI_drop_1instance(JNIEnv * env, jclass cls)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NDBAPI_drop_1instance(JNIEnv *, jclass)");
-    gcall< &::drop_instance >(env);
+    gcall< &::drop_instance >(env, cls);
 }
 
 /*
@@ -233,7 +233,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NDBAPI_get_1ndb_1object(JNIEnv * env, jclass cls, jintArray p0, jstring p1, jstring p2)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NDBAPI_get_1ndb_1object(JNIEnv *, jclass, jintArray, jstring, jstring)");
-    return gcall< ttrait_c_m_n_n_Ndb_p, ttrait_uint32_r_a, ttrait_utf8cstring, ttrait_utf8cstring, &::get_ndb_object >(env, p0, p1, p2);
+    return gcall< ttrait_c_m_n_n_Ndb_p, ttrait_uint32_r_a, ttrait_utf8cstring, ttrait_utf8cstring, &::get_ndb_object >(env, cls, p0, p1, p2);
 }
 
 /*
@@ -245,7 +245,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NDBAPI_return_1ndb_1object(JNIEnv * env, jclass cls, jobject p0, jint p1)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NDBAPI_return_1ndb_1object(JNIEnv *, jclass, jobject, jint)");
-    gcall< ttrait_c_m_n_n_Ndb_p, ttrait_uint32, &::return_ndb_object >(env, p0, p1);
+    gcall< ttrait_c_m_n_n_Ndb_p, ttrait_uint32, &::return_ndb_object >(env, cls, p0, p1);
 }
 
 // ---------------------------------------------------------------------------
@@ -309,7 +309,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_create(JNIEnv * env, jclass cls, jobject p0, jstring p1, jstring p2)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_Ndb_create(JNIEnv *, jclass, jobject, jstring, jstring)");
-    return gcreate< ttrait_c_m_n_n_Ndb_r, ttrait_c_m_n_n_Ndb_cluster_connection_p, ttrait_utf8cstring, ttrait_utf8cstring >(env, p0, p1, p2);
+    return gcreate< ttrait_c_m_n_n_Ndb_r, ttrait_c_m_n_n_Ndb_cluster_connection_p, ttrait_utf8cstring, ttrait_utf8cstring >(env, cls, p0, p1, p2);
 }
 
 /*
@@ -321,7 +321,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_Ndb_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_Ndb_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_Ndb_r >(env, cls, p0);
 }
 
 /*
@@ -492,7 +492,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_computeHash(JNIEnv * env, jclass cls, jintArray p0, jobject p1, jobjectArray p2, jobject p3, jint p4)
 {
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_Ndb_computeHash(JNIEnv *, jclass, jintArray, jobject, jobjectArray, jobject, jint)");
-    return gcall< ttrait_int, ttrait_uint32_0p_a, ttrait_c_m_n_n_NdbDictionary$Table_cp, ttrait_c_m_n_n_Ndb$Key_part_ptr_ca, ttrait_void_1p_bb, ttrait_uint32, &Ndb::computeHash >(env, p0, p1, p2, p3, p4); // MMM! not supported yet: array of objects Key_part_ptr[]
+    return gcall< ttrait_int, ttrait_uint32_0p_a, ttrait_c_m_n_n_NdbDictionary$Table_cp, ttrait_c_m_n_n_Ndb$Key_part_ptr_ca, ttrait_void_1p_bb, ttrait_uint32, &Ndb::computeHash >(env, cls, p0, p1, p2, p3, p4); // MMM! not supported yet: array of objects Key_part_ptr[]
 }
 #endif // MMM! not supported yet: array of objects Key_part_ptr[]
 
@@ -560,6 +560,7 @@ Java_com_mysql_ndbjtie_ndbapi_NdbBlob_ge
     return gcall< ttrait_c_m_n_n_NdbBlob_t, ttrait_c_m_n_n_NdbBlob$State_iv/*_enum_*/, &NdbBlob::getState >(env, obj);
 }
 
+#if 0 // MMM! support variable-width type non-const references
 /*
  * Class:     com_mysql_ndbjtie_ndbapi_NdbBlob
  * Method:    getVersion
@@ -571,6 +572,7 @@ Java_com_mysql_ndbjtie_ndbapi_NdbBlob_ge
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbBlob_getVersion(JNIEnv *, jobject, jintArray)");
     gcall< ttrait_c_m_n_n_NdbBlob_t, ttrait_int_r_a, &NdbBlob::getVersion >(env, obj, p0);
 }
+#endif // MMM! support variable-width type non-const references
 
 /*
  * Class:     com_mysql_ndbjtie_ndbapi_NdbBlob
@@ -596,6 +598,7 @@ Java_com_mysql_ndbjtie_ndbapi_NdbBlob_se
     return gcall< ttrait_c_m_n_n_NdbBlob_t, ttrait_int, ttrait_void_1cp_bb, ttrait_uint32, &NdbBlob::setValue >(env, obj, p0, p1);
 }
 
+#if 0 // MMM! support variable-width type non-const references
 /*
  * Class:     com_mysql_ndbjtie_ndbapi_NdbBlob
  * Method:    getNull
@@ -607,6 +610,7 @@ Java_com_mysql_ndbjtie_ndbapi_NdbBlob_ge
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_NdbBlob_getNull(JNIEnv *, jobject, jintArray)");
     return gcall< ttrait_c_m_n_n_NdbBlob_t, ttrait_int, ttrait_int_r_a, &NdbBlob::getNull >(env, obj, p0);
 }
+#endif // MMM! support variable-width type non-const references
 
 /*
  * Class:     com_mysql_ndbjtie_ndbapi_NdbBlob
@@ -713,7 +717,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbBlob_getBlobTableName(JNIEnv * env, jclass cls, jobject p0, jobject p1, jstring p2, jstring p3)
 {
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_NdbBlob_getBlobTableName(JNIEnv *, jclass, jobject, jobject, jstring, jstring)");
-    return gcall< ttrait_int, ttrait_char_1p_bb, ttrait_c_m_n_n_Ndb_p, ttrait_utf8cstring, ttrait_utf8cstring, &NdbBlob::getBlobTableName >(env, p0, p1, p2, p3);
+    return gcall< ttrait_int, ttrait_char_1p_bb, ttrait_c_m_n_n_Ndb_p, ttrait_utf8cstring, ttrait_utf8cstring, &NdbBlob::getBlobTableName >(env, cls, p0, p1, p2, p3);
 }
 
 /*
@@ -725,7 +729,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbBlob_getBlobEventName(JNIEnv * env, jclass cls, jobject p0, jobject p1, jstring p2, jstring p3)
 {
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_NdbBlob_getBlobEventName(JNIEnv *, jclass, jobject, jobject, jstring, jstring)");
-    return gcall< ttrait_int, ttrait_char_1p_bb, ttrait_c_m_n_n_Ndb_p, ttrait_utf8cstring, ttrait_utf8cstring, &NdbBlob::getBlobEventName >(env, p0, p1, p2, p3);
+    return gcall< ttrait_int, ttrait_char_1p_bb, ttrait_c_m_n_n_Ndb_p, ttrait_utf8cstring, ttrait_utf8cstring, &NdbBlob::getBlobEventName >(env, cls, p0, p1, p2, p3);
 }
 
 /*
@@ -765,7 +769,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary_r >(env, cls);
 }
 
 /*
@@ -777,7 +781,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary_r >(env, cls, p0);
 }
 
 /*
@@ -789,7 +793,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordType(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordType(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_c_m_n_n_NdbDictionary$RecordType_iv/*_enum_*/, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordType >(env, p0);
+    return gcall< ttrait_c_m_n_n_NdbDictionary$RecordType_iv/*_enum_*/, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordType >(env, cls, p0);
 }
 
 /*
@@ -801,7 +805,7 @@ JNIEXPORT jstring JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordTableName(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jstring Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordTableName(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_utf8cstring, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordTableName >(env, p0);
+    return gcall< ttrait_utf8cstring, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordTableName >(env, cls, p0);
 }
 
 /*
@@ -813,7 +817,7 @@ JNIEXPORT jstring JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordIndexName(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jstring Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordIndexName(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_utf8cstring, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordIndexName >(env, p0);
+    return gcall< ttrait_utf8cstring, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordIndexName >(env, cls, p0);
 }
 
 /*
@@ -825,7 +829,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getFirstAttrId(JNIEnv * env, jclass cls, jobject p0, jintArray p1)
 {
     TRACE("jboolean Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getFirstAttrId(JNIEnv *, jclass, jobject, jintArray)");
-    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32_r_a, &NdbDictionary::getFirstAttrId >(env, p0, p1);
+    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32_r_a, &NdbDictionary::getFirstAttrId >(env, cls, p0, p1);
 }
 
 /*
@@ -837,7 +841,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getNextAttrId(JNIEnv * env, jclass cls, jobject p0, jintArray p1)
 {
     TRACE("jboolean Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getNextAttrId(JNIEnv *, jclass, jobject, jintArray)");
-    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32_r_a, &NdbDictionary::getNextAttrId >(env, p0, p1);
+    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32_r_a, &NdbDictionary::getNextAttrId >(env, cls, p0, p1);
 }
 
 /*
@@ -849,7 +853,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getOffset(JNIEnv * env, jclass cls, jobject p0, jint p1, jintArray p2)
 {
     TRACE("jboolean Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getOffset(JNIEnv *, jclass, jobject, jint, jintArray)");
-    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32, ttrait_uint32_r_a, &NdbDictionary::getOffset >(env, p0, p1, p2);
+    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32, ttrait_uint32_r_a, &NdbDictionary::getOffset >(env, cls, p0, p1, p2);
 }
 
 /*
@@ -861,7 +865,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getNullBitOffset(JNIEnv * env, jclass cls, jobject p0, jint p1, jintArray p2, jintArray p3)
 {
     TRACE("jboolean Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getNullBitOffset(JNIEnv *, jclass, jobject, jint, jintArray, jintArray)");
-    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32, ttrait_uint32_r_a, ttrait_uint32_r_a, &NdbDictionary::getNullBitOffset >(env, p0, p1, p2, p3);
+    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_uint32, ttrait_uint32_r_a, ttrait_uint32_r_a, &NdbDictionary::getNullBitOffset >(env, cls, p0, p1, p2, p3);
 }
 
 /*
@@ -873,7 +877,7 @@ JNIEXPORT jstring JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getValuePtr(JNIEnv * env, jclass cls, jobject p0, jstring p1, jint p2)
 {
     TRACE("jstring Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getValuePtr(JNIEnv *, jclass, jobject, jstring, jint)");
-    return gcall< ttrait_utf8cstring, ttrait_c_m_n_n_NdbRecord_cp, ttrait_utf8cstring, ttrait_uint32, &NdbDictionary::getValuePtr >(env, p0, p1, p2);
+    return gcall< ttrait_utf8cstring, ttrait_c_m_n_n_NdbRecord_cp, ttrait_utf8cstring, ttrait_uint32, &NdbDictionary::getValuePtr >(env, cls, p0, p1, p2);
 }
 
 /*
@@ -885,7 +889,7 @@ JNIEXPORT jboolean JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_isNull(JNIEnv * env, jclass cls, jobject p0, jstring p1, jint p2)
 {
     TRACE("jboolean Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_isNull(JNIEnv *, jclass, jobject, jstring, jint)");
-    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_utf8cstring, ttrait_uint32, &NdbDictionary::isNull >(env, p0, p1, p2);
+    return gcall< ttrait_bool, ttrait_c_m_n_n_NdbRecord_cp, ttrait_utf8cstring, ttrait_uint32, &NdbDictionary::isNull >(env, cls, p0, p1, p2);
 }
 
 /*
@@ -897,7 +901,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_setNull(JNIEnv * env, jclass cls, jobject p0, jobject p1, jint p2, jboolean p3)
 {
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_setNull(JNIEnv *, jclass, jobject, jobject, jint, jboolean)");
-    return gcall< ttrait_int, ttrait_c_m_n_n_NdbRecord_cp, ttrait_char_1p_bb, ttrait_uint32, ttrait_bool, &NdbDictionary::setNull >(env, p0, p1, p2, p3);
+    return gcall< ttrait_int, ttrait_c_m_n_n_NdbRecord_cp, ttrait_char_1p_bb, ttrait_uint32, ttrait_bool, &NdbDictionary::setNull >(env, cls, p0, p1, p2, p3);
 }
 
 /*
@@ -909,7 +913,7 @@ JNIEXPORT jint JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordRowLength(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jint Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_getRecordRowLength(JNIEnv *, jclass, jobject)");
-    return gcall< ttrait_uint32, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordRowLength >(env, p0);
+    return gcall< ttrait_uint32, ttrait_c_m_n_n_NdbRecord_cp, &NdbDictionary::getRecordRowLength >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1021,7 +1025,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024AutoGrowSpecification_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024AutoGrowSpecification_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$AutoGrowSpecification_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$AutoGrowSpecification_r >(env, cls);
 }
 
 /*
@@ -1033,7 +1037,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024AutoGrowSpecification_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024AutoGrowSpecification_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$AutoGrowSpecification_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$AutoGrowSpecification_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -1265,7 +1269,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Column_create__Ljava_lang_String_2(JNIEnv * env, jclass cls, jstring p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Column_create__Ljava_lang_String_2(JNIEnv *, jclass, jstring)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Column_r, ttrait_utf8cstring >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Column_r, ttrait_utf8cstring >(env, cls, p0);
 }
 
 /*
@@ -1277,7 +1281,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Column_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_ColumnConst_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Column_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_ColumnConst_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Column_r, ttrait_c_m_n_n_NdbDictionary$Column_cr >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Column_r, ttrait_c_m_n_n_NdbDictionary$Column_cr >(env, cls, p0);
 }
 
 /*
@@ -1289,7 +1293,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Column_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Column_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Column_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Column_r >(env, cls, p0);
 }
 
 /*
@@ -1569,7 +1573,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Datafile_create__(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Datafile_create__(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Datafile_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Datafile_r >(env, cls);
 }
 
 /*
@@ -1581,7 +1585,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Datafile_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_DatafileConst_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Datafile_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_DatafileConst_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Datafile_r, ttrait_c_m_n_n_NdbDictionary$Datafile_cr >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Datafile_r, ttrait_c_m_n_n_NdbDictionary$Datafile_cr >(env, cls, p0);
 }
 
 /*
@@ -1593,7 +1597,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Datafile_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Datafile_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Datafile_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Datafile_r >(env, cls, p0);
 }
 
 /*
@@ -2075,7 +2079,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024List_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024List_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$List_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$List_r >(env, cls);
 }
 
 /*
@@ -2087,7 +2091,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024List_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024List_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$List_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$List_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2307,7 +2311,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024ListConst_00024Element_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024ListConst_00024Element_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$ListConst$Element_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$ListConst$Element_r >(env, cls);
 }
 
 /*
@@ -2319,7 +2323,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024ListConst_00024Element_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024DictionaryConst_00024ListConst_00024Element_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$ListConst$Element_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$DictionaryConst$ListConst$Element_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -2467,7 +2471,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Event_create__Ljava_lang_String_2(JNIEnv * env, jclass cls, jstring p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Event_create__Ljava_lang_String_2(JNIEnv *, jclass, jstring)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Event_r, ttrait_utf8cstring >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Event_r, ttrait_utf8cstring >(env, cls, p0);
 }
 
 /*
@@ -2479,7 +2483,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Event_create__Ljava_lang_String_2Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_00024TableConst_2(JNIEnv * env, jclass cls, jstring p0, jobject p1)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Event_create__Ljava_lang_String_2Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_00024TableConst_2(JNIEnv *, jclass, jstring, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Event_r, ttrait_utf8cstring, ttrait_c_m_n_n_NdbDictionary$Table_cr >(env, p0, p1);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Event_r, ttrait_utf8cstring, ttrait_c_m_n_n_NdbDictionary$Table_cr >(env, cls, p0, p1);
 }
 
 /*
@@ -2491,7 +2495,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Event_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Event_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Event_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Event_r >(env, cls, p0);
 }
 
 /*
@@ -2749,7 +2753,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Index_create(JNIEnv * env, jclass cls, jstring p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Index_create(JNIEnv *, jclass, jstring)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Index_r, ttrait_utf8cstring >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Index_r, ttrait_utf8cstring >(env, cls, p0);
 }
 
 /*
@@ -2761,7 +2765,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Index_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Index_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Index_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Index_r >(env, cls, p0);
 }
 
 /*
@@ -2947,7 +2951,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024LogfileGroup_create__(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024LogfileGroup_create__(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$LogfileGroup_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$LogfileGroup_r >(env, cls);
 }
 
 /*
@@ -2959,7 +2963,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024LogfileGroup_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_LogfileGroupConst_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024LogfileGroup_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_LogfileGroupConst_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$LogfileGroup_r, ttrait_c_m_n_n_NdbDictionary$LogfileGroup_cr >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$LogfileGroup_r, ttrait_c_m_n_n_NdbDictionary$LogfileGroup_cr >(env, cls, p0);
 }
 
 /*
@@ -2971,7 +2975,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024LogfileGroup_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024LogfileGroup_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$LogfileGroup_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$LogfileGroup_r >(env, cls, p0);
 }
 
 /*
@@ -3023,7 +3027,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Object_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Object_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Object_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Object_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3075,7 +3079,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024ObjectId_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024ObjectId_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$ObjectId_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$ObjectId_r >(env, cls);
 }
 
 /*
@@ -3087,7 +3091,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024ObjectId_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024ObjectId_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$ObjectId_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$ObjectId_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3103,7 +3107,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeIndexHandle_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeIndexHandle_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$OptimizeIndexHandle_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$OptimizeIndexHandle_r >(env, cls);
 }
 
 /*
@@ -3115,7 +3119,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeIndexHandle_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeIndexHandle_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$OptimizeIndexHandle_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$OptimizeIndexHandle_r >(env, cls, p0);
 }
 
 /*
@@ -3155,7 +3159,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeTableHandle_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeTableHandle_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$OptimizeTableHandle_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$OptimizeTableHandle_r >(env, cls);
 }
 
 /*
@@ -3167,7 +3171,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeTableHandle_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024OptimizeTableHandle_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$OptimizeTableHandle_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$OptimizeTableHandle_r >(env, cls, p0);
 }
 
 /*
@@ -3303,7 +3307,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024RecordSpecification_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024RecordSpecification_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$RecordSpecification_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$RecordSpecification_r >(env, cls);
 }
 
 /*
@@ -3315,7 +3319,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024RecordSpecification_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024RecordSpecification_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$RecordSpecification_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$RecordSpecification_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -3787,7 +3791,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Table_create__Ljava_lang_String_2(JNIEnv * env, jclass cls, jstring p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Table_create__Ljava_lang_String_2(JNIEnv *, jclass, jstring)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Table_r, ttrait_utf8cstring >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Table_r, ttrait_utf8cstring >(env, cls, p0);
 }
 
 /*
@@ -3799,7 +3803,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Table_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_00024TableConst_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Table_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_00024TableConst_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Table_r, ttrait_c_m_n_n_NdbDictionary$Table_cr >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Table_r, ttrait_c_m_n_n_NdbDictionary$Table_cr >(env, cls, p0);
 }
 
 /*
@@ -3811,7 +3815,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Table_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Table_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Table_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Table_r >(env, cls, p0);
 }
 
 /*
@@ -4247,7 +4251,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Tablespace_create__(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Tablespace_create__(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Tablespace_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Tablespace_r >(env, cls);
 }
 
 /*
@@ -4259,7 +4263,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Tablespace_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_TablespaceConst_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Tablespace_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_TablespaceConst_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Tablespace_r, ttrait_c_m_n_n_NdbDictionary$Tablespace_cr >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Tablespace_r, ttrait_c_m_n_n_NdbDictionary$Tablespace_cr >(env, cls, p0);
 }
 
 /*
@@ -4271,7 +4275,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Tablespace_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Tablespace_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Tablespace_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Tablespace_r >(env, cls, p0);
 }
 
 /*
@@ -4431,7 +4435,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Undofile_create__(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Undofile_create__(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Undofile_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Undofile_r >(env, cls);
 }
 
 /*
@@ -4443,7 +4447,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Undofile_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_UndofileConst_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Undofile_create__Lcom_mysql_ndbjtie_ndbapi_NdbDictionary_UndofileConst_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbDictionary$Undofile_r, ttrait_c_m_n_n_NdbDictionary$Undofile_cr >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbDictionary$Undofile_r, ttrait_c_m_n_n_NdbDictionary$Undofile_cr >(env, cls, p0);
 }
 
 /*
@@ -4455,7 +4459,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Undofile_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbDictionary_00024Undofile_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbDictionary$Undofile_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbDictionary$Undofile_r >(env, cls, p0);
 }
 
 /*
@@ -5195,7 +5199,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbIndexScanOperation_00024IndexBound_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbIndexScanOperation_00024IndexBound_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbIndexScanOperation$IndexBound_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbIndexScanOperation$IndexBound_r >(env, cls);
 }
 
 /*
@@ -5207,7 +5211,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbIndexScanOperation_00024IndexBound_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbIndexScanOperation_00024IndexBound_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbIndexScanOperation$IndexBound_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbIndexScanOperation$IndexBound_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -5259,7 +5263,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbInterpretedCode_create(JNIEnv * env, jclass cls, jobject p0, jintArray p1, jint p2)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbInterpretedCode_create(JNIEnv *, jclass, jobject, jintArray, jint)");
-    return gcreate< ttrait_c_m_n_n_NdbInterpretedCode_r, ttrait_c_m_n_n_NdbDictionary$Table_cp, ttrait_uint32_0p_a, ttrait_uint32 >(env, p0, p1, p2);
+    return gcreate< ttrait_c_m_n_n_NdbInterpretedCode_r, ttrait_c_m_n_n_NdbDictionary$Table_cp, ttrait_uint32_0p_a, ttrait_uint32 >(env, cls, p0, p1, p2);
 }
 
 /*
@@ -5271,7 +5275,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbInterpretedCode_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbInterpretedCode_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbInterpretedCode_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbInterpretedCode_r >(env, cls, p0);
 }
 
 /*
@@ -6288,7 +6292,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024GetValueSpec_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024GetValueSpec_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbOperation$GetValueSpec_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbOperation$GetValueSpec_r >(env, cls);
 }
 
 /*
@@ -6300,7 +6304,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024GetValueSpec_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024GetValueSpec_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbOperation$GetValueSpec_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbOperation$GetValueSpec_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6484,7 +6488,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024OperationOptions_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024OperationOptions_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbOperation$OperationOptions_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbOperation$OperationOptions_r >(env, cls);
 }
 
 /*
@@ -6496,7 +6500,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024OperationOptions_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024OperationOptions_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbOperation$OperationOptions_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbOperation$OperationOptions_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6536,7 +6540,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024SetValueSpec_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024SetValueSpec_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbOperation$SetValueSpec_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbOperation$SetValueSpec_r >(env, cls);
 }
 
 /*
@@ -6548,7 +6552,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024SetValueSpec_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbOperation_00024SetValueSpec_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbOperation$SetValueSpec_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbOperation$SetValueSpec_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6654,9 +6658,9 @@ Java_com_mysql_ndbjtie_ndbapi_NdbRecAttr
 /*
  * Class:     com_mysql_ndbjtie_ndbapi_NdbRecAttr
  * Method:    char_value
- * Signature: ()C
+ * Signature: ()B
  */
-JNIEXPORT jchar JNICALL
+JNIEXPORT jbyte JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbRecAttr_char_1value(JNIEnv * env, jobject obj)
 {
     TRACE("jchar Java_com_mysql_ndbjtie_ndbapi_NdbRecAttr_char_1value(JNIEnv *, jobject)");
@@ -6780,7 +6784,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbRecAttr_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbRecAttr_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbRecAttr_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbRecAttr_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -6832,7 +6836,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbScanFilter_create__Lcom_mysql_ndbjtie_ndbapi_NdbInterpretedCode_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbScanFilter_create__Lcom_mysql_ndbjtie_ndbapi_NdbInterpretedCode_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbScanFilter_r, ttrait_c_m_n_n_NdbInterpretedCode_p >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbScanFilter_r, ttrait_c_m_n_n_NdbInterpretedCode_p >(env, cls, p0);
 }
 
 /*
@@ -6844,7 +6848,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbScanFilter_create__Lcom_mysql_ndbjtie_ndbapi_NdbOperation_2(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbScanFilter_create__Lcom_mysql_ndbjtie_ndbapi_NdbOperation_2(JNIEnv *, jclass, jobject)");
-    return gcreate< ttrait_c_m_n_n_NdbScanFilter_r, ttrait_c_m_n_n_NdbOperation_p >(env, p0);
+    return gcreate< ttrait_c_m_n_n_NdbScanFilter_r, ttrait_c_m_n_n_NdbOperation_p >(env, cls, p0);
 }
 
 /*
@@ -6856,7 +6860,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbScanFilter_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbScanFilter_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbScanFilter_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbScanFilter_r >(env, cls, p0);
 }
 
 /*
@@ -7434,7 +7438,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbScanOperation_00024ScanOptions_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_NdbScanOperation_00024ScanOptions_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_NdbScanOperation$ScanOptions_r >(env);
+    return gcreate< ttrait_c_m_n_n_NdbScanOperation$ScanOptions_r >(env, cls);
 }
 
 /*
@@ -7446,7 +7450,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_NdbScanOperation_00024ScanOptions_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_NdbScanOperation_00024ScanOptions_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_NdbScanOperation$ScanOptions_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_NdbScanOperation$ScanOptions_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -7796,7 +7800,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_00024Key_1part_1ptr_create(JNIEnv * env, jclass cls)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_Ndb_00024Key_1part_1ptr_create(JNIEnv *, jclass)");
-    return gcreate< ttrait_c_m_n_n_Ndb$Key_part_ptr_r >(env);
+    return gcreate< ttrait_c_m_n_n_Ndb$Key_part_ptr_r >(env, cls);
 }
 
 /*
@@ -7808,7 +7812,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_00024Key_1part_1ptr_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_Ndb_00024Key_1part_1ptr_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_Ndb$Key_part_ptr_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_Ndb$Key_part_ptr_r >(env, cls, p0);
 }
 
 // ---------------------------------------------------------------------------
@@ -7848,7 +7852,7 @@ JNIEXPORT jobject JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_1cluster_1connection_create(JNIEnv * env, jclass cls, jstring p0)
 {
     TRACE("jobject Java_com_mysql_ndbjtie_ndbapi_Ndb_1cluster_1connection_create(JNIEnv *, jclass, jstring)");
-    return gcreate< ttrait_c_m_n_n_Ndb_cluster_connection_r, ttrait_utf8cstring >(env, p0);
+    return gcreate< ttrait_c_m_n_n_Ndb_cluster_connection_r, ttrait_utf8cstring >(env, cls, p0);
 }
 
 /*
@@ -7860,7 +7864,7 @@ JNIEXPORT void JNICALL
 Java_com_mysql_ndbjtie_ndbapi_Ndb_1cluster_1connection_delete(JNIEnv * env, jclass cls, jobject p0)
 {
     TRACE("void Java_com_mysql_ndbjtie_ndbapi_Ndb_1cluster_1connection_delete(JNIEnv *, jclass, jobject)");
-    gdelete< ttrait_c_m_n_n_Ndb_cluster_connection_r >(env, p0);
+    gdelete< ttrait_c_m_n_n_Ndb_cluster_connection_r >(env, cls, p0);
 }
 
 /*

=== modified file 'storage/ndb/ndbjtie/src/ndbjtie_lib.cpp'
--- a/storage/ndb/ndbjtie/src/ndbjtie_lib.cpp	2009-10-27 06:56:52 +0000
+++ b/storage/ndb/ndbjtie/src/ndbjtie_lib.cpp	2009-11-04 17:28:51 +0000
@@ -36,81 +36,81 @@
 // ---------------------------------------------------------------------------
 
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_Ndb,
-                                    "com/mysql/ndbjtie/ndbapi/Ndb");
+                                    "com/mysql/ndbjtie/ndbapi/Ndb")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbBlob,
-                                    "com/mysql/ndbjtie/ndbapi/NdbBlob");
+                                    "com/mysql/ndbjtie/ndbapi/NdbBlob")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$AutoGrowSpecification,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$AutoGrowSpecification");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$AutoGrowSpecification")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Column,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Column");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Column")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Datafile,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Datafile");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Datafile")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Dictionary,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Dictionary");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Dictionary")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$DictionaryConst$List,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$DictionaryConst$List");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$DictionaryConst$List")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$DictionaryConst$ListConst$Element,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$DictionaryConst$ListConst$Element");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$DictionaryConst$ListConst$Element")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Event,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Event");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Event")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Index,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Index");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Index")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$LogfileGroup,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$LogfileGroup");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$LogfileGroup")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Object,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Object");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Object")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$ObjectId,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$ObjectId");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$ObjectId")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$OptimizeIndexHandle,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$OptimizeIndexHandle");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$OptimizeIndexHandle")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$OptimizeTableHandle,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$OptimizeTableHandle");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$OptimizeTableHandle")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$RecordSpecification,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$RecordSpecification");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$RecordSpecification")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Table,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Table");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Table")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Tablespace,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Tablespace");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Tablespace")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbDictionary$Undofile,
-                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Undofile");
+                                    "com/mysql/ndbjtie/ndbapi/NdbDictionary$Undofile")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbError,
-                                    "com/mysql/ndbjtie/ndbapi/NdbError");
+                                    "com/mysql/ndbjtie/ndbapi/NdbError")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbEventOperation,
-                                    "com/mysql/ndbjtie/ndbapi/NdbEventOperation");
+                                    "com/mysql/ndbjtie/ndbapi/NdbEventOperation")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbIndexOperation,
-                                    "com/mysql/ndbjtie/ndbapi/NdbIndexOperation");
+                                    "com/mysql/ndbjtie/ndbapi/NdbIndexOperation")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbIndexScanOperation,
-                                    "com/mysql/ndbjtie/ndbapi/NdbIndexScanOperation");
+                                    "com/mysql/ndbjtie/ndbapi/NdbIndexScanOperation")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbIndexScanOperation$IndexBound,
-                                    "com/mysql/ndbjtie/ndbapi/NdbIndexScanOperation$IndexBound");
+                                    "com/mysql/ndbjtie/ndbapi/NdbIndexScanOperation$IndexBound")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbInterpretedCode,
-                                    "com/mysql/ndbjtie/ndbapi/NdbInterpretedCode");
+                                    "com/mysql/ndbjtie/ndbapi/NdbInterpretedCode")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbOperation,
-                                    "com/mysql/ndbjtie/ndbapi/NdbOperation");
+                                    "com/mysql/ndbjtie/ndbapi/NdbOperation")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbOperation$GetValueSpec,
-                                    "com/mysql/ndbjtie/ndbapi/NdbOperation$GetValueSpec");
+                                    "com/mysql/ndbjtie/ndbapi/NdbOperation$GetValueSpec")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbOperation$OperationOptions,
-                                    "com/mysql/ndbjtie/ndbapi/NdbOperation$OperationOptions");
+                                    "com/mysql/ndbjtie/ndbapi/NdbOperation$OperationOptions")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbOperation$SetValueSpec,
-                                    "com/mysql/ndbjtie/ndbapi/NdbOperation$SetValueSpec");
+                                    "com/mysql/ndbjtie/ndbapi/NdbOperation$SetValueSpec")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbRecAttr,
-                                    "com/mysql/ndbjtie/ndbapi/NdbRecAttr");
+                                    "com/mysql/ndbjtie/ndbapi/NdbRecAttr")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbRecord,
-                                    "com/mysql/ndbjtie/ndbapi/NdbRecord");
+                                    "com/mysql/ndbjtie/ndbapi/NdbRecord")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbScanFilter,
-                                    "com/mysql/ndbjtie/ndbapi/NdbScanFilter");
+                                    "com/mysql/ndbjtie/ndbapi/NdbScanFilter")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbScanOperation,
-                                    "com/mysql/ndbjtie/ndbapi/NdbScanOperation");
+                                    "com/mysql/ndbjtie/ndbapi/NdbScanOperation")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbScanOperation$ScanOptions,
-                                    "com/mysql/ndbjtie/ndbapi/NdbScanOperation$ScanOptions");
+                                    "com/mysql/ndbjtie/ndbapi/NdbScanOperation$ScanOptions")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_NdbTransaction,
-                                    "com/mysql/ndbjtie/ndbapi/NdbTransaction");
+                                    "com/mysql/ndbjtie/ndbapi/NdbTransaction")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_Ndb$Key_part_ptr,
-                                    "com/mysql/ndbjtie/ndbapi/Ndb$Key_part_ptr");
+                                    "com/mysql/ndbjtie/ndbapi/Ndb$Key_part_ptr")
 JTIE_INSTANTIATE_CLASS_MAPPING_INFO(c_m_n_n_Ndb_cluster_connection,
-                                    "com/mysql/ndbjtie/ndbapi/Ndb_cluster_connection");
+                                    "com/mysql/ndbjtie/ndbapi/Ndb_cluster_connection")
 
 // ---------------------------------------------------------------------------
 


Attachment: [text/bzr-bundle] bzr/martin.zaun@sun.com-20091104181840-4dn1dhrcv4egn0ez.bundle
Thread
bzr commit into mysql-5.1-telco-6.3-ndbjtie branch (martin.zaun:3097)Martin Zaun4 Nov