< prev index next >
src/jdk.jextract/share/classes/com/sun/tools/jextract/AsmCodeFactory.java
Print this page
@@ -164,14 +164,11 @@
* @param tree The Tree
* @param parentType The struct type
*/
private void addField(ClassVisitor cw, Tree tree, Type parentType) {
String fieldName = tree.name();
- if (fieldName.isEmpty()) {
- //skip anon fields
- return;
- }
+ assert !fieldName.isEmpty();
Type type = tree.type();
JType jt = owner.globalLookup(type);
assert (jt != null);
if (cw == global_cw) {
String uniqueName = fieldName + "." + jt.getDescriptor();
@@ -232,11 +229,11 @@
cw.visitField(ACC_PUBLIC | ACC_FINAL | ACC_STATIC, name, desc, null, value);
}
@Override
public Void visitStruct(StructTree structTree, JType jt) {
- String nativeName = structTree.identifier();
+ String nativeName = structTree.name();
Type type = structTree.type();
logger.fine(() -> "Create struct: " + nativeName);
String intf = Utils.toClassName(nativeName);
String name = internal_name + "$" + intf;
@@ -303,11 +300,11 @@
createAnnotationCls(enumTree);
return null;
}
private void createAnnotationCls(Tree tree) {
- String nativeName = tree.identifier();
+ String nativeName = tree.name();
logger.fine(() -> "Create annotation for: " + nativeName);
String intf = Utils.toClassName(nativeName);
String name = internal_name + "$" + intf;
@@ -343,11 +340,11 @@
String nDesc = fnif.getFunction().getNativeDescriptor();
if (tree == null) {
intf = ((JType.InnerType) fnif.type).getName();
nativeName = "anonymous function";
} else {
- nativeName = tree.identifier();
+ nativeName = tree.name();
intf = Utils.toClassName(nativeName);
}
logger.fine(() -> "Create FunctionalInterface " + intf);
final String name = internal_name + "$" + intf;
@@ -386,17 +383,10 @@
}
}
@Override
public Void visitTypedef(TypedefTree typedefTree, JType jt) {
- Type t = typedefTree.type();
- if (t.canonicalType().kind() == TypeKind.Enum &&
- t.spelling().equals(t.canonicalType().getDeclarationCursor().spelling())) {
- logger.fine("Skip redundant typedef " + t.spelling());
- return null;
- }
-
// anonymous typedef struct {} xxx will not get TypeAlias
if (jt instanceof TypeAlias) {
TypeAlias alias = (TypeAlias) jt;
if (alias.getAnnotationDescriptor() != null) {
createAnnotationCls(typedefTree);
< prev index next >