< prev index next >

src/jdk.jextract/share/classes/com/sun/tools/jextract/EmptyNameHandler.java

Print this page

        

*** 35,58 **** import com.sun.tools.jextract.tree.HeaderTree; import com.sun.tools.jextract.tree.SimpleTreeVisitor; import com.sun.tools.jextract.tree.StructTree; import com.sun.tools.jextract.tree.Tree; import com.sun.tools.jextract.tree.TreeMaker; import com.sun.tools.jextract.tree.TreePrinter; import jdk.internal.clang.Cursor; /** * This tree visitor handles the tree empty names encountered in the tree * so that subsequent passes need not check tree.name() for empty string. * * 1. Names are generated & set for anonymous structs & unions. * 2. Anonymous (bit) FieldTree instances are removed. */ ! final class EmptyNameHandler extends SimpleTreeVisitor<Tree, Void> { private final TreeMaker treeMaker = new TreeMaker(); ! HeaderTree transform(HeaderTree ht) { return (HeaderTree)ht.accept(this, null); } // generate unique name for an empty name private String generateName(Tree tree) { --- 35,61 ---- import com.sun.tools.jextract.tree.HeaderTree; import com.sun.tools.jextract.tree.SimpleTreeVisitor; import com.sun.tools.jextract.tree.StructTree; import com.sun.tools.jextract.tree.Tree; import com.sun.tools.jextract.tree.TreeMaker; + import com.sun.tools.jextract.tree.TreePhase; import com.sun.tools.jextract.tree.TreePrinter; import jdk.internal.clang.Cursor; /** * This tree visitor handles the tree empty names encountered in the tree * so that subsequent passes need not check tree.name() for empty string. * * 1. Names are generated & set for anonymous structs & unions. * 2. Anonymous (bit) FieldTree instances are removed. */ ! final class EmptyNameHandler extends SimpleTreeVisitor<Tree, Void> ! implements TreePhase { private final TreeMaker treeMaker = new TreeMaker(); ! @Override ! public HeaderTree transform(HeaderTree ht) { return (HeaderTree)ht.accept(this, null); } // generate unique name for an empty name private String generateName(Tree tree) {
< prev index next >