< prev index next >

test/jdk/com/sun/tools/jextract/JextractToolRunner.java

Print this page




  27 import java.lang.reflect.Field;
  28 import java.lang.reflect.Method;
  29 import java.net.URL;
  30 import java.net.URLClassLoader;
  31 import java.nio.file.FileVisitResult;
  32 import java.nio.file.Files;
  33 import java.nio.file.Path;
  34 import java.nio.file.Paths;
  35 import java.nio.file.SimpleFileVisitor;
  36 import java.nio.file.attribute.BasicFileAttributes;
  37 import java.util.Objects;
  38 import java.util.spi.ToolProvider;
  39 
  40 import static org.testng.Assert.assertEquals;
  41 import static org.testng.Assert.assertNotEquals;
  42 import static org.testng.Assert.assertNotNull;
  43 import static org.testng.Assert.assertTrue;
  44 import static org.testng.Assert.fail;
  45 
  46 public class JextractToolRunner {
  47     // utilities to avoid hard-coding generated class, interface names everywhere
  48     public static String headerInterfaceName(String filename) {
  49         int ext = filename.lastIndexOf('.');
  50         return ext != -1 ? filename.substring(0, ext) : filename;
  51     }
  52 





  53     public static String staticForwarderName(String filename) {
  54         return headerInterfaceName(filename) + "_h";
  55     }
  56 
  57     // struct, enum and callback interfaces are nested types of header interface
  58     public static String structInterfaceName(String headerFileName, String structName) {
  59         return headerInterfaceName(headerFileName) + "$" + structName;
  60     }
  61 
  62     public static String enumInterfaceName(String headerFileName, String enumName) {
  63         return headerInterfaceName(headerFileName) + "$" + enumName;
  64     }
  65 
  66     public static String callbackInterfaceName(String headerFileName, String fiName) {
  67         return headerInterfaceName(headerFileName) + "$" + fiName;
  68     }
  69 
  70     public static String enumForwarderInterfaceName(String headerFileName, String enumName) {
  71         return staticForwarderName(headerFileName) + "$" + enumName;
  72     }
  73 
  74     private static final ToolProvider JEXTRACT_TOOL = ToolProvider.findFirst("jextract")




  27 import java.lang.reflect.Field;
  28 import java.lang.reflect.Method;
  29 import java.net.URL;
  30 import java.net.URLClassLoader;
  31 import java.nio.file.FileVisitResult;
  32 import java.nio.file.Files;
  33 import java.nio.file.Path;
  34 import java.nio.file.Paths;
  35 import java.nio.file.SimpleFileVisitor;
  36 import java.nio.file.attribute.BasicFileAttributes;
  37 import java.util.Objects;
  38 import java.util.spi.ToolProvider;
  39 
  40 import static org.testng.Assert.assertEquals;
  41 import static org.testng.Assert.assertNotEquals;
  42 import static org.testng.Assert.assertNotNull;
  43 import static org.testng.Assert.assertTrue;
  44 import static org.testng.Assert.fail;
  45 
  46 public class JextractToolRunner {
  47     private static String safeFileName(String filename) {

  48         int ext = filename.lastIndexOf('.');
  49         return ext != -1 ? filename.substring(0, ext) : filename;
  50     }
  51 
  52     // utilities to avoid hard-coding generated class, interface names everywhere
  53     public static String headerInterfaceName(String filename) {
  54         return safeFileName(filename) + "_h";
  55     }
  56 
  57     public static String staticForwarderName(String filename) {
  58         return safeFileName(filename) + "_lib";
  59     }
  60 
  61     // struct, enum and callback interfaces are nested types of header interface
  62     public static String structInterfaceName(String headerFileName, String structName) {
  63         return headerInterfaceName(headerFileName) + "$" + structName;
  64     }
  65 
  66     public static String enumInterfaceName(String headerFileName, String enumName) {
  67         return headerInterfaceName(headerFileName) + "$" + enumName;
  68     }
  69 
  70     public static String callbackInterfaceName(String headerFileName, String fiName) {
  71         return headerInterfaceName(headerFileName) + "$" + fiName;
  72     }
  73 
  74     public static String enumForwarderInterfaceName(String headerFileName, String enumName) {
  75         return staticForwarderName(headerFileName) + "$" + enumName;
  76     }
  77 
  78     private static final ToolProvider JEXTRACT_TOOL = ToolProvider.findFirst("jextract")


< prev index next >