< prev index next >

test/jdk/java/foreign/OutOfBoundsTest.java

Print this page




  24 /*
  25  * @test
  26  * @run testng OutOfBoundsTest
  27  */
  28 
  29 import org.testng.annotations.Test;
  30 
  31 import java.foreign.Libraries;
  32 import java.foreign.NativeTypes;
  33 import java.foreign.Scope;
  34 import java.foreign.annotations.NativeAddressof;
  35 import java.foreign.annotations.NativeFunction;
  36 import java.foreign.annotations.NativeGetter;
  37 import java.foreign.annotations.NativeHeader;
  38 import java.foreign.annotations.NativeSetter;
  39 import java.foreign.annotations.NativeStruct;
  40 import java.foreign.memory.Pointer;
  41 import java.foreign.memory.Struct;
  42 import java.lang.invoke.MethodHandles;
  43 
  44 public class OutOfBoundsTest {xtract

  45 
  46     @NativeHeader
  47     public interface OutOfBounds {
  48         @NativeFunction("(u64:u8)v")
  49         void ptr(Pointer<Byte> ptr);
  50     }
  51 
  52     @NativeStruct("[u64(ptr):u8](ptrStruct)")
  53     public interface ptrStruct extends Struct<ptrStruct> {
  54         @NativeGetter("ptr")
  55         Pointer<Byte> ptr$get();
  56         @NativeSetter("ptr")
  57         void ptr$set(Pointer<Byte> var1);
  58         @NativeAddressof("ptr")
  59         Pointer<Pointer<Byte>> ptr$ptr();
  60     }
  61 
  62     private static final OutOfBounds lib = Libraries.bind(OutOfBounds.class, Libraries.loadLibrary(MethodHandles.lookup(), "OutOfBounds"));
  63 
  64     @Test(expectedExceptions = IndexOutOfBoundsException.class)


  24 /*
  25  * @test
  26  * @run testng OutOfBoundsTest
  27  */
  28 
  29 import org.testng.annotations.Test;
  30 
  31 import java.foreign.Libraries;
  32 import java.foreign.NativeTypes;
  33 import java.foreign.Scope;
  34 import java.foreign.annotations.NativeAddressof;
  35 import java.foreign.annotations.NativeFunction;
  36 import java.foreign.annotations.NativeGetter;
  37 import java.foreign.annotations.NativeHeader;
  38 import java.foreign.annotations.NativeSetter;
  39 import java.foreign.annotations.NativeStruct;
  40 import java.foreign.memory.Pointer;
  41 import java.foreign.memory.Struct;
  42 import java.lang.invoke.MethodHandles;
  43 
  44 public class OutOfBoundsTest {

  45 
  46     @NativeHeader
  47     public interface OutOfBounds {
  48         @NativeFunction("(u64:u8)v")
  49         void ptr(Pointer<Byte> ptr);
  50     }
  51 
  52     @NativeStruct("[u64(ptr):u8](ptrStruct)")
  53     public interface ptrStruct extends Struct<ptrStruct> {
  54         @NativeGetter("ptr")
  55         Pointer<Byte> ptr$get();
  56         @NativeSetter("ptr")
  57         void ptr$set(Pointer<Byte> var1);
  58         @NativeAddressof("ptr")
  59         Pointer<Pointer<Byte>> ptr$ptr();
  60     }
  61 
  62     private static final OutOfBounds lib = Libraries.bind(OutOfBounds.class, Libraries.loadLibrary(MethodHandles.lookup(), "OutOfBounds"));
  63 
  64     @Test(expectedExceptions = IndexOutOfBoundsException.class)
< prev index next >