test/tools/javadoc/MethodLinks.java

Wed, 27 Apr 2016 01:34:52 +0800

author
aoqi
date
Wed, 27 Apr 2016 01:34:52 +0800
changeset 0
959103a6100f
child 2525
2eb010b6cb22
permissions
-rw-r--r--

Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/
changeset: 2573:53ca196be1ae
tag: jdk8u25-b17

     1 /*
     2  * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  */
    24 /*
    25  * @test
    26  * @bug 4628281
    27  * @summary Int. links missing from return/param types when .java files passd in
    28  * @author gafter
    29  * @run main MethodLinks
    30  */
    32 import com.sun.javadoc.*;
    33 import java.util.*;
    35 public class MethodLinks extends Doclet
    36 {
    37     public static void main(String[] args) {
    38         if (com.sun.tools.javadoc.Main.
    39             execute("javadoc", "MethodLinks", MethodLinks.class.getClassLoader(),
    40                     new String[] {System.getProperty("test.src", ".") +
    41                                   java.io.File.separatorChar + "MethodLinks.java"}
    42                     ) != 0)
    43             throw new Error();
    44     }
    46     /** The parameter type and return type should link to the current
    47      *  class. */
    48     public MethodLinks SAMPLE(MethodLinks x) {
    49         return x;
    50     }
    52     public static boolean start(com.sun.javadoc.RootDoc root) {
    53         ClassDoc[] classes = root.classes();
    54         if (classes.length != 1)
    55             throw new Error("1 " + Arrays.asList(classes));
    56         ClassDoc self = classes[0];
    57         MethodDoc[] allMethods = self.methods();
    58         MethodDoc SAMPLE = null;
    59         for (int i=0; i<allMethods.length; i++)
    60             if (allMethods[i].name().equals("SAMPLE"))
    61                 SAMPLE = allMethods[i];
    62         return
    63             self == SAMPLE.parameters()[0].type().asClassDoc()
    64             &&
    65             self == SAMPLE.returnType().asClassDoc()
    66             ;
    67     }
    68 }

mercurial