CLinker migration from jdk17 to jdk18
    Lev Serebryakov 
    lev at serebryakov.spb.ru
       
    Tue Apr  5 14:23:29 UTC 2022
    
    
  
   I have this code, which works on JDK-17:
         h_native = CLinker.getInstance()
             .downcallHandle(
                 libLookup.lookup("somefunc").get(),
                 MethodType.methodType(
                     MemoryAddress.class,
                     int.class,
                     MemoryAddress.class,
                     MemoryAddress.class,
                     int.class,
                     int.class
                 ),
                 FunctionDescriptor.of(
                     CLinker.C_POINTER,
                     CLinker.C_INT,
                     CLinker.C_POINTER,
                     CLinker.C_POINTER,
                     CLinker.C_INT,
                     CLinker.C_INT
                 )
             );
But it doesn't work on JDK-18 and I don't see proper way to convert it. Is "CLinker.systemCLinker()" replacement for ".getInstance()"? Where are built-in types live now?
BTW. my previous experiments with panama/foreign were long ago, and then there was complex DSL to describe native data structures. Is it gone forever?
Thank you.
-- 
// Black Lion AKA Lev Serebryakov
    
    
More information about the panama-dev
mailing list