< 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 >