< prev index next >

src/jdk.jextract/share/classes/com/sun/tools/jextract/tree/LayoutUtils.java

Print this page

        

@@ -39,11 +39,10 @@
 import jdk.internal.clang.Cursor;
 import jdk.internal.clang.CursorKind;
 import jdk.internal.clang.SourceLocation;
 import jdk.internal.clang.Type;
 import jdk.internal.clang.TypeKind;
-import jdk.internal.foreign.memory.Types;
 
 /**
  * General Layout utility functions
  */
 public final class LayoutUtils {

@@ -122,10 +121,43 @@
         } else {
             return Function.of(getLayout(t.resultType()), t.isVariadic(), args);
         }
     }
 
+    static class Types {
+        public final static Layout BYTE = Value.ofSignedInt(8);
+        public final static Layout SHORT = Value.ofSignedInt(16);
+        public final static Layout INT = Value.ofSignedInt(32);
+        public final static Layout LONG = Value.ofSignedInt(64);
+        public final static Layout LONG_LONG = Value.ofSignedInt(64);
+        public final static Layout FLOAT = Value.ofFloatingPoint(32);
+        public final static Layout DOUBLE = Value.ofFloatingPoint(64);
+        public final static Layout LONG_DOUBLE = Value.ofFloatingPoint(128);
+        public final static Layout CHAR = Value.ofSignedInt(8);
+        public final static Layout BOOLEAN = Value.ofUnsignedInt(8);
+        public final static Layout POINTER = Address.ofVoid(64);
+        public final static Layout INT8 = Value.ofSignedInt(8);
+        public final static Layout INT16 = Value.ofSignedInt(16);
+        public final static Layout INT32 = Value.ofSignedInt(32);
+        public final static Layout INT64 = Value.ofSignedInt(64);
+        public final static Layout INT128 = Value.ofSignedInt(128);
+        public final static Layout VOID = Value.ofUnsignedInt(0);
+
+        public static class UNSIGNED {
+            public final static Layout BYTE = Value.ofUnsignedInt(8);
+            public final static Layout SHORT = Value.ofUnsignedInt(16);
+            public final static Layout INT = Value.ofUnsignedInt(32);
+            public final static Layout LONG = Value.ofUnsignedInt(64);
+            public final static Layout LONG_LONG = Value.ofUnsignedInt(64);
+            public final static Layout INT8 = Value.ofUnsignedInt(8);
+            public final static Layout INT16 = Value.ofUnsignedInt(16);
+            public final static Layout INT32 = Value.ofUnsignedInt(32);
+            public final static Layout INT64 = Value.ofUnsignedInt(64);
+            public final static Layout INT128 = Value.ofUnsignedInt(128);
+        }
+    }
+
     public static Layout getLayout(Type t) {
         switch(t.kind()) {
             case Bool:
                 return Types.BOOLEAN;
             case Int:
< prev index next >