test/langtools/jdk/javadoc/doclet/testVisibleMembers/TestVisibleMembers.java
author ksrini
Tue, 24 Apr 2018 11:54:03 -0700
changeset 49879 601277b1d582
child 53097 2e82ca64b25d
permissions -rw-r--r--
8025091: VisibleMemberMap.java possible performance improvements 8198890: The standard doclet incorrectly produces wrong method signatures in certain cases. Reviewed-by: jjg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49879
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     1
/*
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     2
 * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     4
 *
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     7
 * published by the Free Software Foundation.
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     8
 *
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    13
 * accompanied this code).
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    14
 *
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    18
 *
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    21
 * questions.
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    22
 */
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    23
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    24
/*
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    25
 * @test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    26
 * @bug 8025091 8198890
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    27
 * @summary Verify the presence visible members in the case of
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    28
 *          member hiding and overridding.
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    29
 * @library /tools/lib ../lib
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    30
 * @modules jdk.javadoc/jdk.javadoc.internal.tool
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    31
 * @build JavadocTester toolbox.ToolBox builder.ClassBuilder
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    32
 * @run main TestVisibleMembers
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    33
 */
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    34
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    35
import java.nio.file.Path;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    36
import java.nio.file.Paths;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    37
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    38
import builder.AbstractBuilder;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    39
import builder.AbstractBuilder.Comment.Kind;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    40
import builder.ClassBuilder;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    41
import builder.ClassBuilder.*;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    42
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    43
import toolbox.ToolBox;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    44
import builder.ClassBuilder;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    45
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    46
public class TestVisibleMembers extends JavadocTester {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    47
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    48
    final ToolBox tb;
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    49
    public static void main(String... args) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    50
        TestVisibleMembers tester = new TestVisibleMembers();
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    51
        tester.runTests(m -> new Object[] { Paths.get(m.getName()) });
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    52
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    53
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    54
    TestVisibleMembers() {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    55
        tb = new ToolBox();
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    56
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    57
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    58
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    59
    void testChronoDiamondLeafDetail(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    60
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    61
        emitChronoDiamondLeaf(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    62
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    63
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    64
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    65
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    66
                "--override-methods=detail",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    67
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    68
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    69
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    70
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    71
        checkOrder("p/C.html", "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    72
                "boolean", "equals", "java.lang.Object", "Method equals in p.C",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    73
                "C", "with", "java.lang.Object", "obj",  "Method with in p.C",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    74
                "C", "with", "java.lang.Object", "obj", "long", "lvalue", "Method with in p.C",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    75
                "METHOD DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    76
        checkOutput("p/C.html", false, "BImpl");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    77
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    78
        checkOrder("p/E.html", "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    79
                "boolean", "equals", "java.lang.Object", "Method equals in p.E",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    80
                "C", "with", "java.lang.Object", "Method with in p.E",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    81
                "C", "with", "java.lang.Object", "obj", "long", "lvalue", "Method with in p.E",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    82
                "METHOD DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    83
        checkOutput("p/E.html", false, "EImpl");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    84
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    85
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    86
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    87
    void testChronoDiamondLeafSummary(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    88
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    89
        emitChronoDiamondLeaf(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    90
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    91
        Path outDir = base.resolve("out-member");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    92
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    93
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    94
                "--override-methods=summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    95
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    96
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    97
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    98
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
    99
        checkOrder("p/C.html", "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   100
                "boolean", "equals", "java.lang.Object", "Method equals in p.C",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   101
                "C", "with", "java.lang.Object", "obj", "Method with in p.C",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   102
                "C", "with", "java.lang.Object", "obj", "long", "lvalue", "Method with in p.C",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   103
                "METHOD DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   104
        checkOutput("p/C.html", false, "BImpl");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   105
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   106
        checkOrder("p/E.html", "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   107
                "boolean", "equals", "java.lang.Object", "Method equals in p.E",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   108
                "C", "with", "java.lang.Object", "Method with in p.E",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   109
                "C", "with", "java.lang.Object", "long", "lvalue", "Method with in p.E",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   110
                "METHOD DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   111
        checkOutput("p/E.html", false, "EImpl");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   112
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   113
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   114
    // see j.t.TemporalAdjuster
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   115
    void emitChronoDiamondLeaf(Path srcDir) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   116
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   117
        // Interface A
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   118
        MethodBuilder mbWith1 = MethodBuilder
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   119
                .parse("default Object with(Object obj) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   120
        MethodBuilder mbWith2 = MethodBuilder
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   121
                .parse("default Object with(Object obj, long lvalue) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   122
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   123
        new ClassBuilder(tb, "p.A")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   124
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   125
                .addMembers(mbWith1, mbWith2)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   126
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   127
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   128
        // Interface B
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   129
        mbWith1.setComments("{@inheritDoc}", "@param obj an object",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   130
                "@return something");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   131
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   132
        mbWith2.setComments("{@inheritDoc}", "@param obj an object",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   133
                "@param lvalue an lvalue", "@return something");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   134
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   135
        new ClassBuilder(tb, "p.B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   136
                .setModifiers( "public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   137
                .setExtends("A")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   138
                .addMembers(mbWith1, mbWith2)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   139
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   140
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   141
        // Class BImpl
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   142
        MethodBuilder mb31 = MethodBuilder.parse("C with(Object obj) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   143
        MethodBuilder mb32 = MethodBuilder.parse("C with(Object obj, Long lobj) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   144
        new ClassBuilder(tb, "p.BImpl<C extends B>")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   145
                .setModifiers( "abstract", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   146
                .addImplements("B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   147
                .addMembers(mb31, mb32)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   148
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   149
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   150
        // Class C
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   151
        new ClassBuilder(tb, "p.C")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   152
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   153
                .setExtends("BImpl")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   154
                .addMembers(mbWith1.setReturn("C")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   155
                        .setModifiers("public")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   156
                        .setComments(AbstractBuilder.Comment.Kind.AUTO))
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   157
                .addMembers(mbWith2.setReturn("C")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   158
                        .setModifiers("public")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   159
                        .setComments(AbstractBuilder.Comment.Kind.AUTO))
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   160
                .addMembers(MethodBuilder.parse("public boolean equals(Object obj) { return false;}"))
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   161
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   162
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   163
        // Class EImpl
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   164
        MethodBuilder mb41 = MethodBuilder.parse("C with(Object obj) {return null;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   165
                .setComments(Kind.NO_API_COMMENT);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   166
        MethodBuilder mb42 = MethodBuilder.parse("C with(Object obj, Long lobj) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   167
        new ClassBuilder(tb, "p.EImpl<C extends B>")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   168
                .setModifiers( "abstract", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   169
                .addImplements("B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   170
                .addMembers(mb41, mb42)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   171
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   172
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   173
        // Class E
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   174
        MethodBuilder mb51 = MethodBuilder.parse("public C with(Object obj) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   175
        MethodBuilder mb52 = MethodBuilder.parse("public C with(Object obj, long lvalue) {return null;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   176
        MethodBuilder mb53 = MethodBuilder.parse("public boolean equals(Object obj) { return false;}");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   177
        new ClassBuilder(tb, "p.E")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   178
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   179
                .setExtends("EImpl")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   180
                .addMembers(mb51, mb52, mb53)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   181
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   182
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   183
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   184
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   185
    void testNestedInterfaceDetail(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   186
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   187
        emitNestedInterface(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   188
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   189
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   190
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   191
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   192
                "--override-methods=detail",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   193
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   194
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   195
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   196
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   197
        checkOutput("p/TA.html", false, "getTA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   198
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   199
        checkOrder("p/Bar.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   200
                "doSomething()",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   201
                "getTA()");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   202
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   203
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   204
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   205
    void testNestedInterfaceSummary(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   206
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   207
        emitNestedInterface(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   208
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   209
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   210
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   211
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   212
                "--override-methods=summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   213
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   214
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   215
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   216
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   217
        checkOutput("p/TA.html", false, "getTA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   218
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   219
        checkOrder("p/Bar.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   220
                "doSomething()",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   221
                "getTA()");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   222
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   223
        checkOrder("p/Foo.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   224
                "Methods declared in",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   225
                "Bar.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   226
                "getTA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   227
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   228
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   229
    // See jx.s.TransferHandler
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   230
    void emitNestedInterface(Path srcDir) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   231
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   232
        ClassBuilder innerI = new ClassBuilder(tb, "HasTA")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   233
                .setModifiers("interface");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   234
        MethodBuilder interfaceMethod = MethodBuilder.parse("public TA getTa();")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   235
                .setComments(Kind.NO_API_COMMENT);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   236
        innerI.addMembers(interfaceMethod);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   237
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   238
        new ClassBuilder(tb, "p.TA")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   239
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   240
                .addImplements("java.io.Serializable")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   241
                .addNestedClasses(innerI)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   242
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   243
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   244
        new ClassBuilder(tb, "p.Foo")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   245
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   246
                .setExtends("Bar")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   247
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   248
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   249
        new ClassBuilder(tb, "p.Bar")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   250
                .setModifiers("public", "abstract", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   251
                .addImplements("TA.HasTA")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   252
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   253
                    MethodBuilder.parse("public void doSomething(){}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   254
                    MethodBuilder.parse("public TA getTA(){return null;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   255
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   256
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   257
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   258
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   259
    void testStreamsMissingLinksDetail(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   260
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   261
        emitStreamsMissingLinks(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   262
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   263
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   264
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   265
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   266
                "--override-methods=detail",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   267
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   268
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   269
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   270
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   271
        checkOrder("p/C.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   272
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   273
                "public", "void", "method()",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   274
                "See Also:",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   275
                "sub()",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   276
                "sub1()");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   277
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   278
        checkOrder("p/ILong.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   279
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   280
                "default", "void", "forEach", "java.util.function.Consumer",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   281
                "java.lang.Long", "action",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   282
                "Do you see me", "#forEach(java.util.function.LongConsumer)",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   283
                "forEach(LongConsumer)",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   284
                "END OF CLASS DATA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   285
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   286
        checkOrder("p/IImpl.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   287
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   288
                "Method sub in p.IImpl",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   289
                "Specified by:", "I.html", "II.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   290
                "END OF CLASS DATA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   291
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   292
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   293
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   294
    void testStreamsMissingLinksSummary(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   295
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   296
        emitStreamsMissingLinks(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   297
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   298
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   299
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   300
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   301
                "--override-methods=summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   302
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   303
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   304
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   305
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   306
        checkOrder("p/C.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   307
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   308
                "public", "void", "method()", "See Also:", "sub()", "I.sub1()",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   309
                "public", "void", "m", "Method in C. See", "I.length()"
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   310
                );
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   311
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   312
        checkOrder("p/ILong.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   313
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   314
                "default", "void", "forEach", "java.util.function.Consumer",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   315
                "java.lang.Long", "action",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   316
                "Do you see me", "QLong.html#forEach(Q)",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   317
                "QLong.forEach(LongConsumer)",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   318
                "END OF CLASS DATA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   319
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   320
        checkOrder("p/IImpl.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   321
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   322
                "Method sub in p.IImpl",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   323
                "Specified by:", "I.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   324
                "END OF CLASS DATA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   325
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   326
        checkUnique("p/IImpl.html", "Specified by:");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   327
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   328
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   329
    // see j.u.Spliterator
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   330
    void emitStreamsMissingLinks(Path srcDir) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   331
        new ClassBuilder(tb, "p.I")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   332
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   333
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   334
                        MethodBuilder.parse("public I sub();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   335
                        MethodBuilder.parse("public I sub1();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   336
                        MethodBuilder.parse("public int length();")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   337
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   338
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   339
        new ClassBuilder(tb, "p.A")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   340
                .setModifiers("abstract", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   341
                .addImplements("I")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   342
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   343
                        MethodBuilder.parse("public I sub() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   344
                        MethodBuilder.parse("public I sub1() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   345
                        MethodBuilder.parse("public int length(){return 0;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   346
                                .setComments(Kind.NO_API_COMMENT),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   347
                        MethodBuilder.parse("public void m(){}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   348
                        .setComments("Method in C. See {@link #length()}.")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   349
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   350
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   351
        new ClassBuilder(tb, "p.C")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   352
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   353
                .setExtends("A").addImplements("I")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   354
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   355
                        MethodBuilder.parse("public I sub() {return null;}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   356
                        MethodBuilder.parse("public I sub1() {return null;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   357
                                .setComments(Kind.INHERIT_DOC),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   358
                        MethodBuilder.parse(" public void method() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   359
                                .setComments("A method ", "@see #sub", "@see #sub1"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   360
                        MethodBuilder.parse("public int length(){return 1;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   361
                                .setComments(Kind.NO_API_COMMENT)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   362
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   363
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   364
        new ClassBuilder(tb, "p.II")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   365
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   366
                .setExtends("I")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   367
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   368
                        MethodBuilder.parse("default public I sub() {return null;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   369
                            .setComments(Kind.NO_API_COMMENT)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   370
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   371
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   372
        new ClassBuilder(tb, "p.IImpl")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   373
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   374
                .addImplements("II")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   375
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   376
                    MethodBuilder.parse("public I sub() {return null;}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   377
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   378
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   379
        new ClassBuilder(tb, "p.QLong<P, Q, R>")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   380
                .setModifiers("public interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   381
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   382
                        MethodBuilder.parse("default void forEach(Q action) {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   383
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   384
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   385
        new ClassBuilder(tb, "p.ILong")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   386
                .addImports("java.util.function.*")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   387
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   388
                .setExtends("QLong<Long, LongConsumer, Object>")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   389
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   390
                        MethodBuilder.parse("default void forEach(LongConsumer action) {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   391
                            .setComments(Kind.NO_API_COMMENT),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   392
                        MethodBuilder.parse("default void forEach(Consumer<Long> action) {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   393
                            .setComments("Do you see me {@link #forEach(LongConsumer)} ?")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   394
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   395
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   396
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   397
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   398
    void testVisibleMemberTableDetail(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   399
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   400
        emitVisibleMemberTable(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   401
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   402
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   403
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   404
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   405
                "--override-methods=detail",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   406
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   407
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   408
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   409
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   410
        checkOrder("p/C.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   411
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   412
                "public", "void", "m()", "Method m in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   413
                "public", "void", "n()", "Method n in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   414
                "public", "void", "o()", "Description copied from class:", ">A<", "Method o in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   415
                "public", "void", "p()", "Method p in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   416
                "END OF CLASS DATA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   417
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   418
        checkOutput("p/C.html", false,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   419
                "Overrides",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   420
                "Methods declared in class p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   421
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   422
        checkOrder("p/D.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   423
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   424
                "void", "m", "Method m in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   425
                "void", "n", "Method n in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   426
                "void", "o", "Method o in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   427
                "void", "p", "Method p in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   428
                "CONSTRUCTOR DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   429
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   430
        checkOutput("p/D.html", false,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   431
                "Description copied from class:",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   432
                "Overrides",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   433
                "Methods declared in class p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   434
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   435
        checkOrder("p/E.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   436
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   437
                "void", "m", "Method m in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   438
                "void", "n", "Method n in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   439
                "void", "o", "Method o in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   440
                "void", "p", "Method p in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   441
                "CONSTRUCTOR DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   442
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   443
        checkOutput("p/E.html", false,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   444
                "Description copied from class:",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   445
                "Overrides",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   446
                "Methods declared in class p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   447
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   448
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   449
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   450
    void testVisibleMemberTableSummary(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   451
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   452
        emitVisibleMemberTable(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   453
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   454
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   455
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   456
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   457
                "--override-methods=summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   458
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   459
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   460
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   461
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   462
        checkOrder("p/C.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   463
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   464
                "void", "m", "Method m in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   465
                "void", "n", "Method n in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   466
                "void", "o", "Method o in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   467
                "void", "p", "Method p in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   468
                "CONSTRUCTOR DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   469
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   470
        checkOrder("p/C.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   471
                "METHOD DETAIL",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   472
                "public", "void", "m()", "Method m in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   473
                "public", "void", "n()", "Method n in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   474
                "public", "void", "o()", "Description copied from class:", ">A<", "Method o in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   475
                "public", "void", "p()", "Method p in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   476
                "END OF CLASS DATA");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   477
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   478
        checkOutput("p/C.html", false,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   479
                "Overrides",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   480
                "Methods declared in class p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   481
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   482
        checkOrder("p/D.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   483
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   484
                "void", "m", "Method m in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   485
                "void", "n", "Method n in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   486
                "void", "o", "Method o in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   487
                "void", "p", "Method p in p.D",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   488
                "CONSTRUCTOR DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   489
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   490
        checkOutput("p/D.html", false,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   491
                "Description copied from class:",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   492
                "Overrides",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   493
                "Methods declared in class p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   494
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   495
        checkOrder("p/E.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   496
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   497
                "void", "m", "Method m in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   498
                "void", "n", "Method n in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   499
                "void", "o", "Method o in p.A",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   500
                "void", "p", "Method p in p.B",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   501
                "CONSTRUCTOR DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   502
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   503
        checkOutput("p/E.html", false,
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   504
                "Description copied from class:",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   505
                "Overrides",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   506
                "Methods declared in class p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   507
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   508
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   509
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   510
    // emit a matrix of method variants
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   511
    void emitVisibleMemberTable(Path srcDir) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   512
        new ClassBuilder(tb, "p.A")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   513
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   514
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   515
                        MethodBuilder.parse("public void m() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   516
                        MethodBuilder.parse("public void n() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   517
                        MethodBuilder.parse("public void o() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   518
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   519
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   520
        new ClassBuilder(tb, "p.B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   521
                .setModifiers("class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   522
                .setExtends("A")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   523
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   524
                        MethodBuilder.parse("public void m() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   525
                        MethodBuilder.parse("public void n() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   526
                                .setComments(Kind.INHERIT_DOC),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   527
                        MethodBuilder.parse("public void o() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   528
                        .setComments(Kind.NO_API_COMMENT),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   529
                        MethodBuilder.parse("public void p() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   530
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   531
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   532
        new ClassBuilder(tb, "p.C")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   533
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   534
                .setExtends("B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   535
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   536
                        MethodBuilder.parse("public void m() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   537
                                .setComments(Kind.NO_API_COMMENT),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   538
                        MethodBuilder.parse("public void n() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   539
                                .setComments(Kind.NO_API_COMMENT),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   540
                        MethodBuilder.parse("public void o() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   541
                                .setComments(Kind.NO_API_COMMENT),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   542
                        MethodBuilder.parse("public void p() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   543
                                .setComments(Kind.NO_API_COMMENT)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   544
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   545
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   546
        new ClassBuilder(tb, "p.D")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   547
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   548
                .setExtends("B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   549
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   550
                        MethodBuilder.parse("public void m() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   551
                        MethodBuilder.parse("public void n() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   552
                        MethodBuilder.parse("public void o() {}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   553
                        MethodBuilder.parse("public void p() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   554
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   555
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   556
        new ClassBuilder(tb, "p.E")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   557
                .setModifiers("public", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   558
                .setExtends("B")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   559
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   560
                        MethodBuilder.parse("public void m() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   561
                                .setComments(Kind.INHERIT_DOC),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   562
                        MethodBuilder.parse("public void n() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   563
                                .setComments(Kind.INHERIT_DOC),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   564
                        MethodBuilder.parse("public void o() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   565
                                .setComments(Kind.INHERIT_DOC),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   566
                        MethodBuilder.parse("public void p() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   567
                                .setComments(Kind.INHERIT_DOC)
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   568
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   569
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   570
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   571
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   572
    void testHiddenMembersDetail(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   573
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   574
        emitHiddenMembers(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   575
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   576
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   577
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   578
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   579
                "--override-methods=detail",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   580
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   581
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   582
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   583
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   584
        checkOrder("p/C1.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   585
                "FIELD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   586
                "Fields inherited from interface", "I1", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   587
                "Fields inherited from interface", "I2", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   588
                "Fields inherited from interface", "I3", "field",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   589
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   590
                "Methods inherited from interface", "I1", "method2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   591
                "Methods inherited from interface", "I2", "method2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   592
                "Methods inherited from interface", "I3", "method",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   593
                "CONSTRUCTOR DETAIL");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   594
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   595
        checkOrder("p/C2.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   596
                "FIELD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   597
                "int", "field", "Field field in p.C2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   598
                "Fields inherited from interface", "I1", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   599
                "Fields inherited from interface", "I2", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   600
                "METHOD SUMMARY",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   601
                "void", "method", "Method method in p.C2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   602
                "void", "method2", "Method method2 in p.C2");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   603
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   604
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   605
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   606
    @Test
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   607
    void testHiddenMembersSummary(Path base) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   608
        Path srcDir = base.resolve("src");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   609
        emitHiddenMembers(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   610
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   611
        Path outDir = base.resolve("out");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   612
        javadoc("-d", outDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   613
                "-html5",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   614
                "--override-methods=summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   615
                "-sourcepath", srcDir.toString(),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   616
                "p");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   617
        checkExit(Exit.OK);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   618
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   619
        checkOrder("p/C1.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   620
                "Field Summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   621
                "Fields declared in interface", "I1", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   622
                "Fields declared in interface", "I2", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   623
                "Fields declared in interface", "I3", "field",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   624
                "Method Summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   625
                "Methods declared in interface", "I1", "method2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   626
                "Methods declared in interface", "I2", "method2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   627
                "Methods declared in interface", "I3", "method",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   628
                "Constructor Detail");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   629
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   630
        checkOrder("p/C2.html",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   631
                "Field Summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   632
                "int", "field", "Field field in p.C2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   633
                "Fields declared in interface", "I1", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   634
                "Fields declared in interface", "I2", "field2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   635
                "Method Summary",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   636
                "void", "method", "Method method in p.C2",
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   637
                "void", "method2", "Method method2 in p.C2");
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   638
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   639
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   640
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   641
    void emitHiddenMembers(Path srcDir) throws Exception {
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   642
        new ClassBuilder(tb, "p.I1")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   643
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   644
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   645
                        FieldBuilder.parse("public static int field = 3;"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   646
                        FieldBuilder.parse("public static int field2 = 3;"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   647
                        MethodBuilder.parse("public void method();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   648
                        MethodBuilder.parse("public void method2();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   649
                        MethodBuilder.parse("public static void staticMethod() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   650
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   651
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   652
        new ClassBuilder(tb, "p.I2")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   653
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   654
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   655
                        FieldBuilder.parse("public static int field = 3;"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   656
                        FieldBuilder.parse("public static int field2 = 3;"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   657
                        MethodBuilder.parse("public void method();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   658
                        MethodBuilder.parse("public void method2();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   659
                        MethodBuilder.parse("public static void staticMethod() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   660
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   661
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   662
        new ClassBuilder(tb, "p.I3")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   663
                .setExtends("I1, I2")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   664
                .setModifiers("public", "interface")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   665
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   666
                        FieldBuilder.parse("public static int field = 3;"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   667
                        MethodBuilder.parse("public void method();"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   668
                        MethodBuilder.parse("public static void staticMethod() {}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   669
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   670
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   671
        new ClassBuilder(tb, "p.C1")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   672
                .setModifiers("public", "abstract", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   673
                .addImplements("I3")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   674
                .write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   675
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   676
        new ClassBuilder(tb, "p.C2")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   677
                .setExtends("C1")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   678
                .setModifiers("public", "abstract", "class")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   679
                .addMembers(
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   680
                        FieldBuilder.parse("public int field;"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   681
                        MethodBuilder.parse("public void method(){}"),
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   682
                        MethodBuilder.parse("public void method2(){}")
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   683
                ).write(srcDir);
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   684
    }
601277b1d582 8025091: VisibleMemberMap.java possible performance improvements
ksrini
parents:
diff changeset
   685
}