< prev index next >

test/jdk/java/nicl/GlobalVariable.java

Print this page




  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test
  26  */
  27 
  28 import java.lang.invoke.MethodHandles;
  29 import java.nicl.*;
  30 import java.nicl.types.*;
  31 import java.nicl.metadata.*;
  32 
  33 public class GlobalVariable {
  34     @NativeHeader
  35     static interface globvar {
  36         @C(file="dummy", line=1, column=1, USR="c:@F@init")
  37         @NativeType(layout="()V", ctype="dummy", size=1)
  38         @CallingConvention(value=1)
  39         public abstract void init();
  40 
  41         @C(file="dummy", line=1, column=1, USR="c:@global_boolean")
  42         @NativeType(layout="B", ctype="dummy", size=1, name="global_boolean")
  43         public abstract boolean global_boolean$get();
  44         public abstract void global_boolean$set(boolean arg);
  45         public abstract Pointer<Boolean> global_boolean$ptr();
  46 
  47         @C(file="dummy", line=1, column=1, USR="c:@global_i8")
  48         @NativeType(layout="c", ctype="dummy", size=1, name="global_i8")
  49         public abstract byte global_i8$get();
  50         public abstract void global_i8$set(byte arg);
  51         public abstract Pointer<Byte> global_i8$ptr();
  52 
  53         @C(file="dummy", line=1, column=1, USR="c:@global_i16")
  54         @NativeType(layout="s", ctype="dummy", size=2, name="global_i16")
  55         public abstract short global_i16$get();
  56         public abstract void global_i16$set(short arg);
  57         public abstract Pointer<Short> global_i16$ptr();
  58 
  59         @C(file="dummy", line=1, column=1, USR="c:@global_i32")
  60         @NativeType(layout="i", ctype="dummy", size=4, name="global_i32")
  61         public abstract int global_i32$get();
  62         public abstract void global_i32$set(int arg);
  63         public abstract Pointer<Integer> global_i32$ptr();
  64 
  65         @C(file="dummy", line=1, column=1, USR="c:@global_i64")
  66         @NativeType(layout="l", ctype="dummy", size=8, name="global_i64")
  67         public abstract long global_i64$get();
  68         public abstract void global_i64$set(long arg);
  69         public abstract Pointer<Long> global_i64$ptr();
  70 
  71         @C(file="dummy", line=1, column=1, USR="c:@global_f32")
  72         @NativeType(layout="f", ctype="dummy", size=4, name="global_f32")
  73         public abstract float global_f32$get();
  74         public abstract void global_f32$set(float arg);
  75         public abstract Pointer<Float> global_f32$ptr();
  76 
  77         @C(file="dummy", line=1, column=1, USR="c:@global_d64")
  78         @NativeType(layout="d", ctype="dummy", size=8, name="global_d64")
  79         public abstract double global_d64$get();
  80         public abstract void global_d64$set(double arg);
  81         public abstract Pointer<Double> global_d64$ptr();
  82 
  83         @NativeType(layout="[i]", ctype="dummy", size=4, isRecordType=true)
  84         @C(file="dummy", line=47, column=11, USR="C:@S@MyStruct")
  85         static interface MyStruct extends Struct<MyStruct> {
  86             @Offset(offset=0l)
  87             @C(file="dummy", line=47, column=11, USR="c:@SA@MyStruct@FI@i")
  88             @NativeType(layout="i", ctype="int", size=4l)
  89             int i$get();
  90             void i$set(int i);
  91         }
  92 
  93         @C(file="dummy", line=1, column=1, USR="c:@global_struct")
  94         @NativeType(layout="[i]", ctype="dummy", size=4, name="global_struct")
  95         public abstract MyStruct global_struct$get();
  96         public abstract void global_struct$set(MyStruct arg);
  97         public abstract Pointer<MyStruct> global_struct$ptr();
  98     }
  99 
 100     private final globvar i;
 101     {
 102         i = Libraries.bind(globvar.class, Libraries.loadLibrary(MethodHandles.lookup(), "GlobalVariable"));
 103         i.init();
 104     }
 105 
 106     public void testboolean() {
 107         // boolean
 108         assertTrue(i.global_boolean$get());
 109         assertTrue(i.global_boolean$ptr().get());
 110 
 111         i.global_boolean$set(false);
 112 
 113         assertFalse(i.global_boolean$get());
 114         assertFalse(i.global_boolean$ptr().get());




  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test
  26  */
  27 
  28 import java.lang.invoke.MethodHandles;
  29 import java.nicl.*;
  30 import java.nicl.types.*;
  31 import java.nicl.metadata.*;
  32 
  33 public class GlobalVariable {
  34     @NativeHeader
  35     static interface globvar {
  36         @NativeLocation(file="dummy", line=1, column=1, USR="c:@F@init")
  37         @NativeType(layout="()V", ctype="dummy")

  38         public abstract void init();
  39 
  40         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_boolean")
  41         @NativeType(layout="B", ctype="dummy", name="global_boolean")
  42         public abstract boolean global_boolean$get();
  43         public abstract void global_boolean$set(boolean arg);
  44         public abstract Pointer<Boolean> global_boolean$ptr();
  45 
  46         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_i8")
  47         @NativeType(layout="c", ctype="dummy", name="global_i8")
  48         public abstract byte global_i8$get();
  49         public abstract void global_i8$set(byte arg);
  50         public abstract Pointer<Byte> global_i8$ptr();
  51 
  52         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_i16")
  53         @NativeType(layout="s", ctype="dummy", name="global_i16")
  54         public abstract short global_i16$get();
  55         public abstract void global_i16$set(short arg);
  56         public abstract Pointer<Short> global_i16$ptr();
  57 
  58         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_i32")
  59         @NativeType(layout="i", ctype="dummy", name="global_i32")
  60         public abstract int global_i32$get();
  61         public abstract void global_i32$set(int arg);
  62         public abstract Pointer<Integer> global_i32$ptr();
  63 
  64         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_i64")
  65         @NativeType(layout="l", ctype="dummy", name="global_i64")
  66         public abstract long global_i64$get();
  67         public abstract void global_i64$set(long arg);
  68         public abstract Pointer<Long> global_i64$ptr();
  69 
  70         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_f32")
  71         @NativeType(layout="f", ctype="dummy", name="global_f32")
  72         public abstract float global_f32$get();
  73         public abstract void global_f32$set(float arg);
  74         public abstract Pointer<Float> global_f32$ptr();
  75 
  76         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_d64")
  77         @NativeType(layout="d", ctype="dummy", name="global_d64")
  78         public abstract double global_d64$get();
  79         public abstract void global_d64$set(double arg);
  80         public abstract Pointer<Double> global_d64$ptr();
  81 
  82         @NativeLocation(file="dummy", line=47, column=11, USR="C:@S@MyStruct")
  83         @NativeStruct("[i]")
  84         static interface MyStruct extends Struct<MyStruct> {
  85             @Offset(offset=0l)
  86             @NativeLocation(file="dummy", line=47, column=11, USR="c:@SA@MyStruct@FI@i")
  87             @NativeType(layout="i", ctype="int")
  88             int i$get();
  89             void i$set(int i);
  90         }
  91 
  92         @NativeLocation(file="dummy", line=1, column=1, USR="c:@global_struct")
  93         @NativeType(layout="[i]", ctype="dummy", name="global_struct")
  94         public abstract MyStruct global_struct$get();
  95         public abstract void global_struct$set(MyStruct arg);
  96         public abstract Pointer<MyStruct> global_struct$ptr();
  97     }
  98 
  99     private final globvar i;
 100     {
 101         i = Libraries.bind(globvar.class, Libraries.loadLibrary(MethodHandles.lookup(), "GlobalVariable"));
 102         i.init();
 103     }
 104 
 105     public void testboolean() {
 106         // boolean
 107         assertTrue(i.global_boolean$get());
 108         assertTrue(i.global_boolean$ptr().get());
 109 
 110         i.global_boolean$set(false);
 111 
 112         assertFalse(i.global_boolean$get());
 113         assertFalse(i.global_boolean$ptr().get());


< prev index next >