< prev index next >
src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocMemberEnter.java
Print this page
rev 58344 : records implementation
*** 29,39 ****
--- 29,42 ----
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.comp.MemberEnter;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.tree.JCTree.*;
+ import com.sun.tools.javac.tree.TreeInfo;
import com.sun.tools.javac.util.Context;
+ import com.sun.tools.javac.util.List;
+ import com.sun.tools.javac.util.Names;
import static com.sun.tools.javac.code.Flags.*;
import static com.sun.tools.javac.code.Kinds.Kind.*;
/**
*** 59,68 ****
--- 62,72 ----
context.put(memberEnterKey, (Context.Factory<MemberEnter>)JavadocMemberEnter::new);
}
final ToolEnvironment toolEnv;
+
protected JavadocMemberEnter(Context context) {
super(context);
toolEnv = ToolEnvironment.instance(context);
}
*** 77,88 ****
--- 81,97 ----
// tree best to let other logic determine the TreePath.
if (env.enclClass.defs.contains(tree)) {
toolEnv.setElementToTreePath(meth, treePath);
}
// release resources
+ // handle constructors for record types specially, because of downstream checks
+ if ((env.enclClass.mods.flags & Flags.RECORD) != 0 && TreeInfo.isConstructor(tree)) {
+ tree.body.stats = List.nil();
+ } else {
tree.body = null;
}
+ }
@Override
public void visitVarDef(JCVariableDecl tree) {
if (tree.init != null) {
boolean isFinal = (tree.mods.flags & FINAL) != 0
< prev index next >