diff --git a/test/codegen/src/java/com/amd/aparapi/test/CharArrayField.java b/test/codegen/src/java/com/amd/aparapi/test/CharArrayField.java
index fdf9706e0944ca33f250668b939abe12f88621e5..686a89d11d44f53570d0e247c7558819cd815056 100644
--- a/test/codegen/src/java/com/amd/aparapi/test/CharArrayField.java
+++ b/test/codegen/src/java/com/amd/aparapi/test/CharArrayField.java
@@ -1,13 +1,32 @@
 package com.amd.aparapi.test;
 
-import com.amd.aparapi.Kernel;
-
-public class CharArrayField extends Kernel{
-   @Override public void run() {
+public class CharArrayField {
+   public void run() {
       out[0] = 0;
    }
 
    char out[] = new char[1];
 }
 
-/**{Throws{ClassParseException}Throws}**/
+/**{OpenCL{
+    typedef struct This_s{
+       __global unsigned short  *out;
+       int passid;
+    }This;
+    int get_pass_id(This *this){
+       return this->passid;
+    }
+    __kernel void run(
+       __global unsigned short  *out, 
+       int passid
+    ){
+       This thisStruct;
+       This* this=&thisStruct;
+       this->out = out;
+       this->passid = passid;
+       {
+          this->out[0]  = 0;
+          return;
+       }
+    }
+}OpenCL}**/
diff --git a/test/codegen/src/java/com/amd/aparapi/test/CharAsParameter.java b/test/codegen/src/java/com/amd/aparapi/test/CharAsParameter.java
index 3c630d02d751f8d6d0f07d1bfa5c2af5038d39d4..10525c116d2bbf9ebf2d373cd047346932067630 100644
--- a/test/codegen/src/java/com/amd/aparapi/test/CharAsParameter.java
+++ b/test/codegen/src/java/com/amd/aparapi/test/CharAsParameter.java
@@ -1,21 +1,41 @@
 package com.amd.aparapi.test;
 
-import com.amd.aparapi.Kernel;
-
-public class CharAsParameter extends Kernel{
+public class CharAsParameter {
 
    public char doIt(char x) {
       return x;
    }
 
-   @Override public void run() {
+   public void run() {
       byte b = 0x1;
 
       doIt('A');
 
       doIt((char) b);
-
    }
 }
 
-/**{Throws{ClassParseException}Throws}**/
+/**{OpenCL{
+      typedef struct This_s{
+         int passid;
+      }This;
+      int get_pass_id(This *this){
+         return this->passid;
+      }
+      unsigned short com_amd_aparapi_test_CharAsParameter__doIt(This *this, unsigned short x){
+         return(x);
+      }
+      __kernel void run(
+         int passid
+      ){
+         This thisStruct;
+         This* this=&thisStruct;
+         this->passid = passid;
+         {
+            char b = 1;
+            com_amd_aparapi_test_CharAsParameter__doIt(this, 65);
+            com_amd_aparapi_test_CharAsParameter__doIt(this, (unsigned short )b);
+            return;
+         }
+      }
+}OpenCL}**/
diff --git a/test/codegen/src/java/com/amd/aparapi/test/CharType.java b/test/codegen/src/java/com/amd/aparapi/test/CharType.java
index 34417cc43193c8b50ccc8b789bdae8abaee2d701..4b170203246f6659d9d04216882deb2533134e18 100644
--- a/test/codegen/src/java/com/amd/aparapi/test/CharType.java
+++ b/test/codegen/src/java/com/amd/aparapi/test/CharType.java
@@ -2,13 +2,36 @@ package com.amd.aparapi.test;
 
 import com.amd.aparapi.Kernel;
 
-public class CharType extends Kernel{
-   @Override public void run() {
-      char c = Character.MAX_VALUE;
-      out[0] = c;
-   }
+public class CharType extends Kernel {
+  @Override
+  public void run() {
+    final char c = Character.MAX_VALUE;
+    this.out[0] = c;
+  }
 
-   int out[] = new int[1];
+  int out[] = new int[1];
 }
 
-/**{Throws{ClassParseException}Throws}**/
+/**{OpenCL{
+     typedef struct This_s{
+        __global int *out;
+        int passid;
+     }This;
+     int get_pass_id(This *this){
+        return this->passid;
+     }
+     __kernel void run(
+        __global int *out, 
+        int passid
+     ){
+        This thisStruct;
+        This* this=&thisStruct;
+        this->out = out;
+        this->passid = passid;
+        {
+           unsigned short c = 65535;
+           this->out[0]  = 65535;
+           return;
+        }
+     }
+}OpenCL}**/