< prev index next >
src/jdk.jextract/share/classes/com/sun/tools/jextract/tree/TreeMaker.java
Print this page
*** 82,92 ****
checkCursor(c, CursorKind.EnumDecl);
return createEnumCommon(c, fields);
}
private EnumTree createEnumCommon(Cursor c, List<FieldTree> fields) {
! Optional<Tree> def = Optional.ofNullable(c.isDefinition()? null : createTree(c.getDefinition()));
return checkCache(c, EnumTree.class, ()->new EnumTree(c, def, fields));
}
public FieldTree createField(Cursor c) {
checkCursorAny(c, CursorKind.EnumConstantDecl, CursorKind.FieldDecl);
--- 82,97 ----
checkCursor(c, CursorKind.EnumDecl);
return createEnumCommon(c, fields);
}
private EnumTree createEnumCommon(Cursor c, List<FieldTree> fields) {
! // If the current Cursor is not a definition, get the definition
! // and wrap it only if that is a valid definition.
! Optional<Tree> def = Optional.ofNullable(
! (c.isDefinition() || c.getDefinition().isInvalid())?
! null : createTree(c.getDefinition())
! );
return checkCache(c, EnumTree.class, ()->new EnumTree(c, def, fields));
}
public FieldTree createField(Cursor c) {
checkCursorAny(c, CursorKind.EnumConstantDecl, CursorKind.FieldDecl);
*** 117,127 ****
checkCursorAny(c, CursorKind.StructDecl, CursorKind.UnionDecl);
return createStructCommon(c, declarations);
}
private StructTree createStructCommon(Cursor c, List<Tree> declarations) {
! Optional<Tree> def = Optional.ofNullable(c.isDefinition()? null : createTree(c.getDefinition()));
return checkCache(c, StructTree.class, ()->new StructTree(c, def, declarations));
}
public TypedefTree createTypedef(Cursor c) {
checkCursor(c, CursorKind.TypedefDecl);
--- 122,137 ----
checkCursorAny(c, CursorKind.StructDecl, CursorKind.UnionDecl);
return createStructCommon(c, declarations);
}
private StructTree createStructCommon(Cursor c, List<Tree> declarations) {
! // If the current Cursor is not a definition, get the definition
! // and wrap it only if that is a valid definition.
! Optional<Tree> def = Optional.ofNullable(
! (c.isDefinition() || c.getDefinition().isInvalid())?
! null : createTree(c.getDefinition())
! );
return checkCache(c, StructTree.class, ()->new StructTree(c, def, declarations));
}
public TypedefTree createTypedef(Cursor c) {
checkCursor(c, CursorKind.TypedefDecl);
< prev index next >