< prev index next >
src/jdk.jextract/share/classes/com/sun/tools/jextract/JType.java
Print this page
@@ -20,20 +20,14 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.tools.jextract;
-import jdk.internal.org.objectweb.asm.ClassVisitor;
import java.foreign.memory.Callback;
import java.foreign.memory.Pointer;
import java.util.Objects;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_ABSTRACT;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_INTERFACE;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_STATIC;
-
/**
* A Java Type descriptor
*/
public abstract class JType {
@@ -42,14 +36,10 @@
*
* @return The type descriptor as defined in JVMS 4.3
*/
public abstract String getDescriptor();
- public void visitInner(ClassVisitor cv) {}
-
- public String getSignature(boolean isArgument) { return getDescriptor(); }
-
public abstract String getSourceSignature(boolean isArgument);
public final static JType Void = new PrimitiveType("V", of(Void.class), "void");
public final static JType Byte = new PrimitiveType("B", of(Byte.class), "byte");
public final static JType Bool = new PrimitiveType("Z", of(Boolean.class), "boolean");
@@ -181,18 +171,10 @@
return clsName.substring(packageEnd + 1);
} else {
return clsName;
}
}
-
- @Override
- public void visitInner(ClassVisitor cv) {
- if (enclosingName != null) {
- cv.visitInnerClass(clsName, enclosingName, simpleName,
- ACC_PUBLIC | ACC_STATIC | ACC_ABSTRACT | ACC_INTERFACE);
- }
- }
}
public final static class ArrayType extends JType {
final JType elementType;
@@ -204,27 +186,10 @@
public String getDescriptor() {
return JType.of(java.foreign.memory.Array.class).getDescriptor();
}
@Override
- public void visitInner(ClassVisitor cv) {
- elementType.visitInner(cv);
- }
-
- @Override
- public String getSignature(boolean isArgument) {
- StringBuilder sb = new StringBuilder();
- sb.append("L");
- sb.append(java.foreign.memory.Array.class.getName().replace('.', '/'));
- sb.append("<");
- JType pt = elementType;
- sb.append(pt.box().getSignature(isArgument));
- sb.append(">;");
- return sb.toString();
- }
-
- @Override
public String getSourceSignature(boolean isArgument) {
StringBuilder sb = new StringBuilder();
sb.append("Array"); // java.foreign.memory.* will be imported
sb.append("<");
JType pt = elementType;
@@ -279,34 +244,10 @@
@Override
public String getSourceSignature(boolean isArgument) {
throw new UnsupportedOperationException();
}
- @Override
- public void visitInner(ClassVisitor cv) {
- returnType.visitInner(cv);
- for (JType at : args) {
- at.visitInner(cv);
- }
- }
-
- @Override
- public String getSignature(boolean isArgument) {
- StringBuilder sb = new StringBuilder();
- sb.append('(');
- // ensure sequence
- for (int i = 0; i < args.length; i++) {
- sb.append(args[i].getSignature(true));
- }
- if (isVarArgs) {
- sb.append("[Ljava/lang/Object;");
- }
- sb.append(')');
- sb.append(returnType.getSignature(false));
- return sb.toString();
- }
-
public String getNativeDescriptor() {
return layout.toString();
}
}
@@ -319,16 +260,10 @@
}
Function getFunction() {
return fn;
}
-
- @Override
- public void visitInner(ClassVisitor cv) {
- fn.visitInner(cv);
- super.visitInner(cv);
- }
}
public static class GenericType extends ClassType {
JType targ;
@@ -340,28 +275,10 @@
public JType getTypeArgument() {
return targ;
}
@Override
- public String getSignature(boolean isArgument) {
- StringBuilder sb = new StringBuilder();
- sb.append("L");
- sb.append(clsName);
- sb.append("<");
- if (targ == JType.Void && isArgument) {
- sb.append("*");
- } else {
- if (targ instanceof GenericType && isArgument) {
- sb.append("+");
- }
- sb.append(targ.box().getSignature(isArgument));
- }
- sb.append(">;");
- return sb.toString();
- }
-
- @Override
public String getSourceSignature(boolean isArgument) {
StringBuilder sb = new StringBuilder();
sb.append(super.getSourceSignature(isArgument));
sb.append("<");
if (targ == JType.Void && isArgument) {
@@ -381,13 +298,7 @@
}
public static GenericType ofCallback(JType targ) {
return new GenericType(JType.binaryName(Callback.class), targ);
}
-
- @Override
- public void visitInner(ClassVisitor cv) {
- targ.visitInner(cv);
- super.visitInner(cv);
- }
}
}
< prev index next >